How computers learn to recognize objects instantly | Joseph Redmon

1,109,898 views ・ 2017-08-18

TED


Dubbelklik op de Engelse ondertitels hieronder om de video af te spelen.

Vertaald door: Anne van Gulick Nagekeken door: Rik Delaet
00:12
Ten years ago,
0
12645
1151
Tien jaar geleden dachten 'computer vision'-onderzoekers
00:13
computer vision researchers thought that getting a computer
1
13820
2776
dat een computer het verschil leren tussen een kat en een hond
00:16
to tell the difference between a cat and a dog
2
16620
2696
00:19
would be almost impossible,
3
19340
1976
bijna onmogelijk zou zijn,
00:21
even with the significant advance in the state of artificial intelligence.
4
21340
3696
al maakte kunstmatige intelligentie nog zulke grote vorderingen.
00:25
Now we can do it at a level greater than 99 percent accuracy.
5
25060
3560
Nu kan het met een nauwkeurigheid van meer dan 99%.
00:29
This is called image classification --
6
29500
1856
Dit heet beeldclassificatie.
00:31
give it an image, put a label to that image --
7
31380
3096
Je geeft de computer een afbeelding en hij labelt die.
00:34
and computers know thousands of other categories as well.
8
34500
3040
Computers kennen nog duizenden andere categorieën.
00:38
I'm a graduate student at the University of Washington,
9
38500
2896
Ik ben student aan de Universiteit van Washington.
00:41
and I work on a project called Darknet,
10
41420
1896
Ik werk aan het project Darknet, een neuraal netwerk
00:43
which is a neural network framework
11
43340
1696
00:45
for training and testing computer vision models.
12
45060
2816
voor het trainen en testen van computer vision-modellen.
00:47
So let's just see what Darknet thinks
13
47900
2976
Wat zou Darknet van deze afbeelding vinden?
00:50
of this image that we have.
14
50900
1760
00:54
When we run our classifier
15
54340
2336
Als we de 'classifier' op deze afbeelding toepassen,
00:56
on this image,
16
56700
1216
00:57
we see we don't just get a prediction of dog or cat,
17
57940
2456
herkent hij niet alleen het dier, maar zelfs het ras.
01:00
we actually get specific breed predictions.
18
60420
2336
01:02
That's the level of granularity we have now.
19
62780
2176
Zo verfijnd is de classificatie.
01:04
And it's correct.
20
64980
1616
Mijn hond is inderdaad een malamute.
01:06
My dog is in fact a malamute.
21
66620
1840
01:08
So we've made amazing strides in image classification,
22
68860
4336
Er is veel vooruitgang geboekt bij beeldclassificatie.
01:13
but what happens when we run our classifier
23
73220
2000
Wat gebeurt er als we de classifier op zo'n afbeelding toepassen?
01:15
on an image that looks like this?
24
75244
1960
01:18
Well ...
25
78900
1200
01:24
We see that the classifier comes back with a pretty similar prediction.
26
84460
3896
De classifier geeft bijna dezelfde voorspelling.
01:28
And it's correct, there is a malamute in the image,
27
88380
3096
Er is inderdaad een malamute te zien.
01:31
but just given this label, we don't actually know that much
28
91500
3696
Maar dat label vertelt ons niet wat er gebeurt in de afbeelding.
01:35
about what's going on in the image.
29
95220
1667
01:36
We need something more powerful.
30
96911
1560
We hebben iets krachtigers nodig.
01:39
I work on a problem called object detection,
31
99060
2616
Ik werk aan het probleem van objectdetectie.
01:41
where we look at an image and try to find all of the objects,
32
101700
2936
Daarbij proberen we alle objecten op een afbeelding te vinden.
01:44
put bounding boxes around them
33
104660
1456
We plaatsen er een blok omheen en labelen de objecten.
01:46
and say what those objects are.
34
106140
1520
01:48
So here's what happens when we run a detector on this image.
35
108220
3280
Dit is wat er gebeurt als we een detector op deze afbeelding toepassen.
01:53
Now, with this kind of result,
36
113060
2256
Met zo'n resultaat kunnen we meer doen met onze computer vision-algoritmen.
01:55
we can do a lot more with our computer vision algorithms.
37
115340
2696
01:58
We see that it knows that there's a cat and a dog.
38
118060
2976
Hij weet dat er een kat en een hond zijn.
02:01
It knows their relative locations,
39
121060
2256
Hij weet waar ze zijn en hoe groot ze zijn.
02:03
their size.
40
123340
1216
02:04
It may even know some extra information.
41
124580
1936
Hij ziet ook extra informatie, zoals het boek op de achtergrond.
02:06
There's a book sitting in the background.
42
126540
1960
02:09
And if you want to build a system on top of computer vision,
43
129100
3256
Als je een systeem wilt bouwen op basis van computer vision,
02:12
say a self-driving vehicle or a robotic system,
44
132380
3456
zoals een zelfrijdend voertuig of een robotsysteem,
02:15
this is the kind of information that you want.
45
135860
2456
dan wil je zulke informatie.
02:18
You want something so that you can interact with the physical world.
46
138340
3239
Je wilt contact maken met de fysieke wereld.
02:22
Now, when I started working on object detection,
47
142579
2257
Toen ik begon met werken aan objectdetectie,
02:24
it took 20 seconds to process a single image.
48
144860
3296
duurde het verwerken van één afbeelding 20 seconden.
02:28
And to get a feel for why speed is so important in this domain,
49
148180
3880
Ik zal laten zien waarom snelheid zo belangrijk is op dit gebied.
02:32
here's an example of an object detector
50
152940
2536
Hier is een objectdetector die er twee seconden over doet
02:35
that takes two seconds to process an image.
51
155500
2416
om een afbeelding te verwerken.
02:37
So this is 10 times faster
52
157940
2616
Dat is tien keer sneller dan de detector die er 20 seconden over deed.
02:40
than the 20-seconds-per-image detector,
53
160580
3536
02:44
and you can see that by the time it makes predictions,
54
164140
2656
Zodra de voorspellingen zijn gemaakt is de situatie al veranderd.
02:46
the entire state of the world has changed,
55
166820
2040
02:49
and this wouldn't be very useful
56
169700
2416
Dat is niet erg nuttig voor een toepassing.
02:52
for an application.
57
172140
1416
02:53
If we speed this up by another factor of 10,
58
173580
2496
We versnellen dit nog eens tien keer.
02:56
this is a detector running at five frames per second.
59
176100
2816
Dit is een detector die vijf beelden per seconden verwerkt.
02:58
This is a lot better,
60
178940
1536
Dat is een stuk beter.
03:00
but for example,
61
180500
1976
Maar niet als er veel beweging is.
03:02
if there's any significant movement,
62
182500
2296
03:04
I wouldn't want a system like this driving my car.
63
184820
2560
Ik zou niet willen dat zo'n systeem mijn auto bestuurt.
03:08
This is our detection system running in real time on my laptop.
64
188940
3240
Dit is ons detectiesysteem dat in realtime op mijn laptop draait.
03:12
So it smoothly tracks me as I move around the frame,
65
192820
3136
Hij volgt me terwijl ik rondloop.
03:15
and it's robust to a wide variety of changes in size,
66
195980
3720
Hij verwerkt veranderingen in grootte en houding.
03:21
pose,
67
201260
1200
03:23
forward, backward.
68
203100
1856
Naar voren, naar achteren.
03:24
This is great.
69
204980
1216
Dit is wat we nodig hebben
03:26
This is what we really need
70
206220
1736
03:27
if we're going to build systems on top of computer vision.
71
207980
2896
voor een systeem op basis van computer vision.
03:30
(Applause)
72
210900
4000
03:36
So in just a few years,
73
216100
2176
In slechts een paar jaar
03:38
we've gone from 20 seconds per image
74
218300
2656
zijn we van 20 seconden per beeld
03:40
to 20 milliseconds per image, a thousand times faster.
75
220980
3536
naar 20 milliseconden per beeld gegaan.
03:44
How did we get there?
76
224540
1416
Hoe hebben we dat gedaan?
03:45
Well, in the past, object detection systems
77
225980
3016
Vroeger deelden detectiesystemen zo'n afbeelding op in een aantal gebieden.
03:49
would take an image like this
78
229020
1936
03:50
and split it into a bunch of regions
79
230980
2456
03:53
and then run a classifier on each of these regions,
80
233460
3256
Een classifier werd toegepast op elk gebied.
03:56
and high scores for that classifier
81
236740
2536
Als de classifier hoog scoorde, was dat een detectie.
03:59
would be considered detections in the image.
82
239300
3136
04:02
But this involved running a classifier thousands of times over an image,
83
242460
4056
De classifier werd dus duizenden keren toegepast.
04:06
thousands of neural network evaluations to produce detection.
84
246540
2920
Duizenden evaluaties van het netwerk om een detectie te doen.
04:11
Instead, we trained a single network to do all of detection for us.
85
251060
4536
Wij hebben één netwerk getraind om alle detecties uit te voeren.
04:15
It produces all of the bounding boxes and class probabilities simultaneously.
86
255620
4280
Hij produceert alle grensvlakken en voorspellingen tegelijkertijd.
04:20
With our system, instead of looking at an image thousands of times
87
260500
3496
Met ons systeem kijken we niet duizend keer naar een afbeelding
04:24
to produce detection,
88
264020
1456
maar slechts één keer, 'you only look once'.
04:25
you only look once,
89
265500
1256
04:26
and that's why we call it the YOLO method of object detection.
90
266780
2920
Daarom noemen we het de YOLO-methode.
04:31
So with this speed, we're not just limited to images;
91
271180
3976
Met deze snelheid zijn we niet beperkt tot afbeeldingen.
04:35
we can process video in real time.
92
275180
2416
We kunnen video's in realtime verwerken.
04:37
And now, instead of just seeing that cat and dog,
93
277620
3096
We zien niet alleen de kat en de hond.
04:40
we can see them move around and interact with each other.
94
280740
2960
We zien ze rondbewegen en op elkaar reageren.
04:46
This is a detector that we trained
95
286380
2056
Deze detector hebben we getraind met 80 verschillende categorieën
04:48
on 80 different classes
96
288460
4376
04:52
in Microsoft's COCO dataset.
97
292860
3256
in de COCO-dataset van Microsoft.
04:56
It has all sorts of things like spoon and fork, bowl,
98
296140
3336
Die bevat allerlei gewone objecten zoals lepels, vorken en kommen.
04:59
common objects like that.
99
299500
1800
05:02
It has a variety of more exotic things:
100
302180
3096
Hij heeft ook exotischere dingen, zoals auto's, zebra's en giraffes.
05:05
animals, cars, zebras, giraffes.
101
305300
3256
05:08
And now we're going to do something fun.
102
308580
1936
Nu gaan we iets leuks doen.
05:10
We're just going to go out into the audience
103
310540
2096
We gaan kijken wat we in het publiek kunnen detecteren.
05:12
and see what kind of things we can detect.
104
312660
2016
05:14
Does anyone want a stuffed animal?
105
314700
1620
Wil iemand een knuffelbeest?
05:17
There are some teddy bears out there.
106
317820
1762
Hier zijn wat teddyberen.
05:21
And we can turn down our threshold for detection a little bit,
107
321860
4536
Ik verlaag de detectiegevoeligheid zodat hij meer mensen detecteert.
05:26
so we can find more of you guys out in the audience.
108
326420
3400
05:31
Let's see if we can get these stop signs.
109
331380
2336
Kijken of hij deze stopborden vindt.
05:33
We find some backpacks.
110
333740
1880
Hij vindt wat rugzakken.
05:37
Let's just zoom in a little bit.
111
337700
1840
Even inzoomen.
05:42
And this is great.
112
342140
1256
De computer verwerkt alles in realtime.
05:43
And all of the processing is happening in real time
113
343420
3176
05:46
on the laptop.
114
346620
1200
05:48
And it's important to remember
115
348900
1456
Dit is een algemeen detectiesysteem.
05:50
that this is a general purpose object detection system,
116
350380
3216
05:53
so we can train this for any image domain.
117
353620
5000
We kunnen hem trainen voor elk soort beeld.
06:00
The same code that we use
118
360140
2536
Dezelfde code die we gebruiken
06:02
to find stop signs or pedestrians,
119
362700
2456
voor het vinden van stopborden, voetgangers en fietsers
06:05
bicycles in a self-driving vehicle,
120
365180
1976
in een zelfrijdend voertuig,
06:07
can be used to find cancer cells
121
367180
2856
kan ook gebruikt worden om kankercellen te vinden
06:10
in a tissue biopsy.
122
370060
3016
in een weefselbiopsie.
06:13
And there are researchers around the globe already using this technology
123
373100
4040
Onderzoekers over de hele wereld gebruiken deze technologie al
06:18
for advances in things like medicine, robotics.
124
378060
3416
voor de vooruitgang in de geneeskunde en robotica.
06:21
This morning, I read a paper
125
381500
1376
Vanochtend las ik in de krant over een census van de dieren
06:22
where they were taking a census of animals in Nairobi National Park
126
382900
4576
in het nationaal park van Nairobi.
06:27
with YOLO as part of this detection system.
127
387500
3136
Ze gebruikten YOLO bij het detectiesysteem.
06:30
And that's because Darknet is open source
128
390660
3096
Dat kan omdat Darknet opensource is.
06:33
and in the public domain, free for anyone to use.
129
393780
2520
Iedereen kan het gratis gebruiken.
06:37
(Applause)
130
397420
5696
06:43
But we wanted to make detection even more accessible and usable,
131
403140
4936
Wij wilden detectie nog toegankelijker maken.
06:48
so through a combination of model optimization,
132
408100
4056
Met optimalisatie van het model
06:52
network binarization and approximation,
133
412180
2296
en binarisatie en approximatie van het netwerk
06:54
we actually have object detection running on a phone.
134
414500
3920
konden we objectdetectie uitvoeren via een telefoon.
07:04
(Applause)
135
424620
5320
07:10
And I'm really excited because now we have a pretty powerful solution
136
430780
5056
Ik ben er enthousiast over
want nu hebben we een krachtige oplossing voor dit computer vision-probleem.
07:15
to this low-level computer vision problem,
137
435860
2296
07:18
and anyone can take it and build something with it.
138
438180
3856
Iedereen kan er iets mee maken.
07:22
So now the rest is up to all of you
139
442060
3176
De rest is aan iedereen met toegang tot deze software.
07:25
and people around the world with access to this software,
140
445260
2936
07:28
and I can't wait to see what people will build with this technology.
141
448220
3656
Ik kan niet wachten om te zien wat men met deze technologie maakt.
07:31
Thank you.
142
451900
1216
Bedankt.
07:33
(Applause)
143
453140
3440
Over deze website

Deze site laat u kennismaken met YouTube-video's die nuttig zijn om Engels te leren. U ziet Engelse lessen gegeven door topdocenten uit de hele wereld. Dubbelklik op de Engelse ondertitels op elke videopagina om de video af te spelen. De ondertitels scrollen synchroon met het afspelen van de video. Heeft u opmerkingen of verzoeken, neem dan contact met ons op via dit contactformulier.

https://forms.gle/WvT1wiN1qDtmnspy7