How computers learn to recognize objects instantly | Joseph Redmon

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

TED


Norėdami paleisti vaizdo įrašą, dukart spustelėkite žemiau esančius angliškus subtitrus.

Translator: Adele Mikoliunaite Reviewer: Sigita Šimkutė-Macanko
00:12
Ten years ago,
0
12645
1151
Prieš dešimt metų
00:13
computer vision researchers thought that getting a computer
1
13820
2776
mokslininkai, tiriantys kompiuterinę regą, manė,
kad išmokyti kompiuterį atskirti katę nuo šuns
00:16
to tell the difference between a cat and a dog
2
16620
2696
00:19
would be almost impossible,
3
19340
1976
tikriausiai niekuomet nebus įmanoma,
00:21
even with the significant advance in the state of artificial intelligence.
4
21340
3696
netgi gerokai pažengus dirbtinio intelekto srityje.
00:25
Now we can do it at a level greater than 99 percent accuracy.
5
25060
3560
Šiandien galime tai atlikti daugiau nei 99-ių procentų tikslumu.
00:29
This is called image classification --
6
29500
1856
Tai vadinama vaizdų klasifikavimu –
00:31
give it an image, put a label to that image --
7
31380
3096
imame vaizdą, priskiriame jam etiketę –
00:34
and computers know thousands of other categories as well.
8
34500
3040
ir taip kompiuteriai išmoksta tūkstančius kategorijų.
00:38
I'm a graduate student at the University of Washington,
9
38500
2896
Esu magistrantas Vašingtono Universitete
ir dirbu prie projekto pavadinimu „Darknet“ (angl. „tamsusis tinklas“).
00:41
and I work on a project called Darknet,
10
41420
1896
00:43
which is a neural network framework
11
43340
1696
Tai – neuroninio tinklo sistema,
00:45
for training and testing computer vision models.
12
45060
2816
skirta mokyti ir testuoti kompiuterinės regos modelius.
00:47
So let's just see what Darknet thinks
13
47900
2976
Pažiūrėkime ką „Darknet“ mano
00:50
of this image that we have.
14
50900
1760
apie šį mūsų turimą atvaizdą.
00:54
When we run our classifier
15
54340
2336
Kai paleidžiame klasifikatorių
00:56
on this image,
16
56700
1216
pateikę jam šį atvaizdą,
00:57
we see we don't just get a prediction of dog or cat,
17
57940
2456
atgal gauname ne tik spėjimus apie aptiktas kates ir šunis,
01:00
we actually get specific breed predictions.
18
60420
2336
bet ir specifines jų veisles.
01:02
That's the level of granularity we have now.
19
62780
2176
Toks šiandieninis mūsų pasiektas išsamumo lygis.
01:04
And it's correct.
20
64980
1616
Ir tai – tiesa,
01:06
My dog is in fact a malamute.
21
66620
1840
mano šuo iš tiesų yra malamutas.
01:08
So we've made amazing strides in image classification,
22
68860
4336
Pasiekiemė įspūdingus tolius vaizdų klasifikacijoje,
tačiau kas nutinka,kai paleidžiame klasifikatorių
01:13
but what happens when we run our classifier
23
73220
2000
01:15
on an image that looks like this?
24
75244
1960
pateikę atvaizdą, kuris atrodo taip?
01:18
Well ...
25
78900
1200
Na...
01:24
We see that the classifier comes back with a pretty similar prediction.
26
84460
3896
Klasifikatorius grąžina panašius spėjimus.
01:28
And it's correct, there is a malamute in the image,
27
88380
3096
Ir jis teisus – atvaizde yra malamutas,
01:31
but just given this label, we don't actually know that much
28
91500
3696
tačiau vien tik tokia etiketė nesuteikia jokios informacijos
01:35
about what's going on in the image.
29
95220
1667
apie tai, kas vyksta šiame atvaizde.
01:36
We need something more powerful.
30
96911
1560
Mums reikia kažko galingesnio.
Aš dirbu prie problemos, vadinamos objektų aptikimu.
01:39
I work on a problem called object detection,
31
99060
2616
01:41
where we look at an image and try to find all of the objects,
32
101700
2936
Tai reiškia, kad žiūrėdami į atvaizdą
siekiame aptikti visus jame esančius objektus,
01:44
put bounding boxes around them
33
104660
1456
apibrėžti jų ribas
01:46
and say what those objects are.
34
106140
1520
ir juos įvardinti.
01:48
So here's what happens when we run a detector on this image.
35
108220
3280
Štai kas nutinka, kai paleidžiame detektorių, pateikę jam šį atvaizdą.
01:53
Now, with this kind of result,
36
113060
2256
Gavę tokį rezultatą,
galime atlikti kur kas daugiau su mūsų kompiuterinės regos algoritmais.
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
Programa žino, jog atvaizde yra katė ir šuo.
02:01
It knows their relative locations,
39
121060
2256
Žino jų santykines vietas
02:03
their size.
40
123340
1216
ir jų dydį.
02:04
It may even know some extra information.
41
124580
1936
Galbūt žino ir dar daugiau.
02:06
There's a book sitting in the background.
42
126540
1960
Antrame vaizdo plane guli knyga.
02:09
And if you want to build a system on top of computer vision,
43
129100
3256
Jeigu norite sukurti sistemą, pagrįstą kompiuterine rega,
02:12
say a self-driving vehicle or a robotic system,
44
132380
3456
pavyzdžiui, savaeigę transporto priemonę ar robotą,
02:15
this is the kind of information that you want.
45
135860
2456
tai yra būtent tokio pobūdžio informacija, kurios jums reikia.
02:18
You want something so that you can interact with the physical world.
46
138340
3239
Jums reikia kažko, suteikiančio galimybę bendrauti su fiziniu pasauliu.
02:22
Now, when I started working on object detection,
47
142579
2257
Kai pradėjau dirbti prie objektų aptikimo,
02:24
it took 20 seconds to process a single image.
48
144860
3296
vieno atvaizdo apdorojimas užtrukdavo 20 sekundžių.
02:28
And to get a feel for why speed is so important in this domain,
49
148180
3880
Kad suprastumėte, kodėl šioje srityje greitis yra toks svarbus,
02:32
here's an example of an object detector
50
152940
2536
štai – detektoriaus pavyzdys,
02:35
that takes two seconds to process an image.
51
155500
2416
kuriame vienas atvaizdas apdorojamas per dvi sekundes.
02:37
So this is 10 times faster
52
157940
2616
Taigi, 10 kartų greičiau,
02:40
than the 20-seconds-per-image detector,
53
160580
3536
nei ankstesnis detektorius.
Galite matyti, kad kol sistema galiausiai atlieka spėjimą,
02:44
and you can see that by the time it makes predictions,
54
164140
2656
02:46
the entire state of the world has changed,
55
166820
2040
pasaulis aplink spėja pasikeisti.
02:49
and this wouldn't be very useful
56
169700
2416
Taigi, tai nebūtų labai naudinga
02:52
for an application.
57
172140
1416
realiam pritaikymui.
02:53
If we speed this up by another factor of 10,
58
173580
2496
Jeigu pagreitintume procesą dar 10-čia kartų,
02:56
this is a detector running at five frames per second.
59
176100
2816
tai – detektorius, apdorojantis penkis vaizdus per sekundę.
02:58
This is a lot better,
60
178940
1536
Kur kas geriau,
03:00
but for example,
61
180500
1976
tačiau,
03:02
if there's any significant movement,
62
182500
2296
situacijoje, kurioje vaizdas greitai keičiasi,
03:04
I wouldn't want a system like this driving my car.
63
184820
2560
aš nenorėčiau, kad tokia sistema vairuotų mano automobilį.
03:08
This is our detection system running in real time on my laptop.
64
188940
3240
Čia – mūsų objektų aptikimo sistema, veikianti esamu laiku, mano kompiuteryje.
03:12
So it smoothly tracks me as I move around the frame,
65
192820
3136
Ji sklandžiai seka mane kai judu
03:15
and it's robust to a wide variety of changes in size,
66
195980
3720
ir sparčiai prisitaiko prie staigių pokyčių, tokių kaip dydis,
03:21
pose,
67
201260
1200
poza,
03:23
forward, backward.
68
203100
1856
judesiai pirmyn, atgal.
03:24
This is great.
69
204980
1216
Tai – puiku.
03:26
This is what we really need
70
206220
1736
Štai ko mums iš tiesų reikia,
03:27
if we're going to build systems on top of computer vision.
71
207980
2896
ketinant kurti sistemas, pagrįstas kompiuterine rega.
03:30
(Applause)
72
210900
4000
(Plojimai.)
03:36
So in just a few years,
73
216100
2176
Taigi, tik per keletą metų
03:38
we've gone from 20 seconds per image
74
218300
2656
nuo 20 sekundžių vienam atvaizdui
perėjome iki 20 milisekundžių vienam atvaizdui.
03:40
to 20 milliseconds per image, a thousand times faster.
75
220980
3536
Tai – tūkstantį kartų greičiau.
03:44
How did we get there?
76
224540
1416
Kaip tai padarėme?
03:45
Well, in the past, object detection systems
77
225980
3016
Praeityje objektų aptikimo sistemos
03:49
would take an image like this
78
229020
1936
pirmiausia padalindavo vaizdinį
03:50
and split it into a bunch of regions
79
230980
2456
į daugybę regionių,
03:53
and then run a classifier on each of these regions,
80
233460
3256
o tuomet klasifikatorius apdorodavo kiekvieną jų.
03:56
and high scores for that classifier
81
236740
2536
Aukšti klasifikatoriaus balai
03:59
would be considered detections in the image.
82
239300
3136
reikšdavo objektų aptikimą atvaizde.
04:02
But this involved running a classifier thousands of times over an image,
83
242460
4056
Klasikifatorius būdavo paleidžiamas tūkstantį kartų kiekvienam vaizdui,
04:06
thousands of neural network evaluations to produce detection.
84
246540
2920
reikėdavo tūkstančių neuroninių tinklų analizių vienam objektui aptikti.
04:11
Instead, we trained a single network to do all of detection for us.
85
251060
4536
Vietoj to, mes išmokėme vieną neuroninį tinklą aptikti visus objektus.
04:15
It produces all of the bounding boxes and class probabilities simultaneously.
86
255620
4280
Jis tuo pat metu apibrėžia objektus ir suskaičiuoja jų tikimybes.
04:20
With our system, instead of looking at an image thousands of times
87
260500
3496
Su mūsų sistema nereikia žiūrėti į tą patį atvaizdą tūkstantį kartų,
kad aptiktume objektą.
04:24
to produce detection,
88
264020
1456
04:25
you only look once,
89
265500
1256
Užtenka pažiūrėti tik kartą,
04:26
and that's why we call it the YOLO method of object detection.
90
266780
2920
todėl taip ir vadiname savo objektų aptikimo metodą:
YOLO (You only look once – angl. „tu tik pažiūri kartą“).
04:31
So with this speed, we're not just limited to images;
91
271180
3976
Tokiu greičiu galime apdoroti ne tik nuotraukas,
04:35
we can process video in real time.
92
275180
2416
bet ir vaizdo įrašus realiu laiku.
04:37
And now, instead of just seeing that cat and dog,
93
277620
3096
Galime ne tik matyti šunis ir kates,
04:40
we can see them move around and interact with each other.
94
280740
2960
bet ir sekti juos judant ir sąveikaujant vienas su kitu.
04:46
This is a detector that we trained
95
286380
2056
Tai – detektorius, kurį išmokėme 80 skirtingų klasių,
04:48
on 80 different classes
96
288460
4376
04:52
in Microsoft's COCO dataset.
97
292860
3256
esančių „Microsoft“ „COCO“ duomenų bazėje.
04:56
It has all sorts of things like spoon and fork, bowl,
98
296140
3336
Šioje bazėje pilna įvairių objektų, pavyzdžiui, šaukštų, šakučių, lėkščių
04:59
common objects like that.
99
299500
1800
it kitų paprastų daiktų.
05:02
It has a variety of more exotic things:
100
302180
3096
Yra ir egzotiškesnių objektų:
05:05
animals, cars, zebras, giraffes.
101
305300
3256
gyvūnų, automobilių, zebrų, žirafų.
05:08
And now we're going to do something fun.
102
308580
1936
O dabar pademonstruosime šį tą smagaus.
05:10
We're just going to go out into the audience
103
310540
2096
Nukreipsime detektorių į publiką
05:12
and see what kind of things we can detect.
104
312660
2016
ir pažiūrėsime kokius daiktus galime joje aptikti.
05:14
Does anyone want a stuffed animal?
105
314700
1620
Ar kas nors nori pliušinio žaislo?
05:17
There are some teddy bears out there.
106
317820
1762
Ten kažkur mėtosi keletas pliušinių meškinų.
05:21
And we can turn down our threshold for detection a little bit,
107
321860
4536
Šiek tiek sumažinsime aptikimo slenkstį,
05:26
so we can find more of you guys out in the audience.
108
326420
3400
kad aptiktume daugiau jūsų.
05:31
Let's see if we can get these stop signs.
109
331380
2336
Pažiūrėkime, ar galime aptikti šiuos „Stop“ ženklus.
05:33
We find some backpacks.
110
333740
1880
Randame keletą kuprinių.
05:37
Let's just zoom in a little bit.
111
337700
1840
Šiek tiek priartinkime vaizdą.
05:42
And this is great.
112
342140
1256
Tai – puiku.
05:43
And all of the processing is happening in real time
113
343420
3176
Visas apdorojimas vyksta realiu laiku
05:46
on the laptop.
114
346620
1200
mano nešiojamame kompiuteryje.
05:48
And it's important to remember
115
348900
1456
Svarbu atminti,
05:50
that this is a general purpose object detection system,
116
350380
3216
kad tai – bendro naudojimo objektų aptikimo sistema,
05:53
so we can train this for any image domain.
117
353620
5000
kurią galima išmokyti visokiausių vaizdų.
06:00
The same code that we use
118
360140
2536
Tas pats kodas, kurį naudojame
06:02
to find stop signs or pedestrians,
119
362700
2456
surasti „Stop“ ženklus ar pėsčiuosius,
06:05
bicycles in a self-driving vehicle,
120
365180
1976
dviračius ar savieiges transporto priemones,
06:07
can be used to find cancer cells
121
367180
2856
gali būti naudojamas aptikti vėžines ląsteles audinio biopsijoje.
06:10
in a tissue biopsy.
122
370060
3016
06:13
And there are researchers around the globe already using this technology
123
373100
4040
Daugybė mokslininkų visame pasaulyje jau naudojasi šia technologija,
siekdami pasistūmėti tokiose srityse kaip medicina ar robotų technika.
06:18
for advances in things like medicine, robotics.
124
378060
3416
06:21
This morning, I read a paper
125
381500
1376
Šįryt laikraštyje perskaičiau
06:22
where they were taking a census of animals in Nairobi National Park
126
382900
4576
apie tai, kad gyvūnai Nairobio nacionaliniame parke buvo surašyti
06:27
with YOLO as part of this detection system.
127
387500
3136
naudojant YOLO kaip vieną iš sistemos dalių.
06:30
And that's because Darknet is open source
128
390660
3096
Nes „Darknet“ yra atviro kodo sistema,
06:33
and in the public domain, free for anyone to use.
129
393780
2520
patalpinta viešajame domene – naudotis ja gali visi ir už dyką.
06:37
(Applause)
130
397420
5696
(Plojimai.)
06:43
But we wanted to make detection even more accessible and usable,
131
403140
4936
Tačiau norėjome dar labiau padidinti objektų aptikimo prieinamumą ir naudą,
06:48
so through a combination of model optimization,
132
408100
4056
taigi sujungę modelių optimizaciją,
06:52
network binarization and approximation,
133
412180
2296
tinklo binarizavimą ir derinimą
06:54
we actually have object detection running on a phone.
134
414500
3920
dabar turime objektų aptikimo modelį, veikiantį mobiliajame telefone.
07:04
(Applause)
135
424620
5320
(Plojimai.)
07:10
And I'm really excited because now we have a pretty powerful solution
136
430780
5056
Aš labai džiaugiuosi, nes dabar turime ganėtinai galingą sprendimą
07:15
to this low-level computer vision problem,
137
435860
2296
šiai žemo lygio kompiuterinės regos problemai,
07:18
and anyone can take it and build something with it.
138
438180
3856
ir kiekvienas norintis gali pasiekti šią sistemą ir kažką su ja sukurti.
07:22
So now the rest is up to all of you
139
442060
3176
Tad likusi dalis priklauso nuo visų jūsų
ir žmonių visame pasaulyje, turinčių priėjimą prie šios programinės įrangos,
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
ir aš nekantrauju pamatyti, ką žmonės sukurs, naudodamiesi šia technologija.
07:31
Thank you.
142
451900
1216
Ačiū.
07:33
(Applause)
143
453140
3440
(Plojimai.)
Apie šią svetainę

Šioje svetainėje rasite "YouTube" vaizdo įrašų, naudingų mokantis anglų kalbos. Pamatysite anglų kalbos pamokas, kurias veda aukščiausio lygio mokytojai iš viso pasaulio. Dukart spustelėkite angliškus subtitrus, rodomus kiekvieno vaizdo įrašo puslapyje, kad iš ten paleistumėte vaizdo įrašą. Subtitrai slenka sinchroniškai su vaizdo įrašo atkūrimu. Jei turite pastabų ar pageidavimų, susisiekite su mumis naudodami šią kontaktinę formą.

https://forms.gle/WvT1wiN1qDtmnspy7