ABOUT THE SPEAKER
Joseph Redmon - Computer scientist
Joseph Redmon works on the YOLO algorithm, which combines the simple face detection of your phone camera with a cloud-based AI -- in real time.

Why you should listen

Computer scientist Joseph Redmon is working on the YOLO (You Only Look Once) algorithm, which has a simple goal: to deliver image recognition and object detection at a speed that would seem science-fictional only a few years ago. The algorithm looks like the simple face detection of a camera app but with the level complexity of systems like Google's Deep Mind Cloud Vision, using Convolutional Deep Neural Networks to crunch object detection in realtime. It's the kind of technology that will be embedded on all smartphones in the next few years.

Redmon is also internet-famous for his resume.

More profile about the speaker
Joseph Redmon | Speaker | TED.com
TED2017

Joseph Redmon: How computers learn to recognize objects instantly

Joseph Redmon: Jak komputer uczy się błyskawicznie rozpoznawać obiekty

Filmed:
2,471,805 views

Dziesięć lat temu badacze sądzili, że właściwie nie da się nauczyć komputera rozróżniania kota od psa. Dzisiaj systemy rozpoznawania obrazów robią to z dokładnością większą niż 99 procent. Jak? Joseph Redmon pracuje nad systemem YOLO (You Only Look Once), open source'ową metodą wykrywania obiektów, która potrafi identyfikować obiekty na obrazach i plikach wideo, od zebr po znaki stopu, z prędkością błyskawicy. Podczas niesamowitej demonstracji na żywo Redmon prezentuje zastosowanie tej przełomowej technologii do celów takich jak samoprowadzące się auta, robotyka, czy nawet wykrywanie raka.
- Computer scientist
Joseph Redmon works on the YOLO algorithm, which combines the simple face detection of your phone camera with a cloud-based AI -- in real time. Full bio

Double-click the English transcript below to play the video.

Dziesięć lat temu
00:12
TenDziesięć yearslat agotemu,
0
825
1151
badacze rozpoznawania obrazów
sądzili, że nauczenie komputera
00:14
computerkomputer visionwizja researchersnaukowcy
thought that gettinguzyskiwanie a computerkomputer
1
2000
2776
00:16
to tell the differenceróżnica
betweenpomiędzy a catkot and a dogpies
2
4800
2696
rozróżniania kota od psa
00:19
would be almostprawie impossibleniemożliwy,
3
7520
1976
jest prawie niemożliwe
00:21
even with the significantznaczący advancepostęp
in the statestan of artificialsztuczny intelligenceinteligencja.
4
9520
3696
nawet przy sporym postępie
rozwoju sztucznej inteligencji.
00:25
Now we can do it at a levelpoziom
greaterwiększy than 99 percentprocent accuracyprecyzja.
5
13240
3560
Teraz jest to możliwe
z dokładnością większą niż 99%.
00:29
This is callednazywa imageobraz classificationKlasyfikacja --
6
17680
1856
Nazywamy to klasyfikacją obrazu:
00:31
give it an imageobraz,
put a labeletykieta to that imageobraz --
7
19560
3096
dostarcz obraz,
przypisz do niego etykietę...
00:34
and computerskomputery know
thousandstysiące of other categorieskategorie as well.
8
22680
3040
komputery znają teraz
tysiące innych kategorii.
00:38
I'm a graduateukończyć studentstudent
at the UniversityUniwersytet of WashingtonWaszyngton,
9
26680
2896
Jestem doktorantem
na Uniwersytecie Waszyngtońskim
00:41
and I work on a projectprojekt callednazywa DarknetDarknet,
10
29600
1896
i pracuję nad projektem "Darknet",
który jest frameworkiem
sieci neuronowej
00:43
whichktóry is a neuralnerwowy networksieć frameworkstruktura
11
31520
1696
00:45
for trainingtrening and testingtestowanie
computerkomputer visionwizja modelsmodele.
12
33240
2816
do ćwiczenia i testowana
modeli rozpoznawania obrazów.
00:48
So let's just see what DarknetDarknet thinksmyśli
13
36080
2976
Sprawdźmy więc, co "Darknet" sądzi
00:51
of this imageobraz that we have.
14
39080
1760
o tym obrazie.
00:54
When we runbiegać our classifierklasyfikatora
15
42520
2336
Wprowadzenie tego obrazu do klasyfikatora
00:56
on this imageobraz,
16
44880
1216
00:58
we see we don't just get
a predictionPrognoza of dogpies or catkot,
17
46120
2456
nie tylko da nam prognozę,
czy to pies czy kot,
01:00
we actuallytak właściwie get
specifickonkretny breedrasa predictionsprognozy.
18
48600
2336
ale nawet prognozę konkretnej rasy.
Taki poziom szczegółowości
jest teraz dostępny.
01:02
That's the levelpoziom
of granularityziarnistość we have now.
19
50960
2176
01:05
And it's correctpoprawny.
20
53160
1616
I jest to poprawne rozpoznanie.
01:06
My dogpies is in factfakt a malamuteMalamute.
21
54800
1840
Mój pies to naprawdę malamut.
01:09
So we'vemamy madezrobiony amazingniesamowity strideskrokami
in imageobraz classificationKlasyfikacja,
22
57040
4336
Dokonaliśmy niesamowitego postępu
w klasyfikacji obrazów,
01:13
but what happensdzieje się
when we runbiegać our classifierklasyfikatora
23
61400
2000
ale co się stanie,
jeśli wprowadzimy taki obraz?
01:15
on an imageobraz that lookswygląda like this?
24
63424
1960
01:19
Well ...
25
67080
1200
01:24
We see that the classifierklasyfikatora comespochodzi back
with a prettyładny similarpodobny predictionPrognoza.
26
72640
3896
Klasyfikator zwraca podobną prognozę
01:28
And it's correctpoprawny,
there is a malamuteMalamute in the imageobraz,
27
76560
3096
i jest poprawna - na zdjęciu jest malamut,
01:31
but just givendany this labeletykieta,
we don't actuallytak właściwie know that much
28
79680
3696
ale na podstawie samej etykiety
nie można dowiedzieć się wiele
na temat tego,
co dzieje się na zdjęciu.
01:35
about what's going on in the imageobraz.
29
83400
1667
01:37
We need something more powerfulpotężny.
30
85091
1560
Do tego potrzeba
czegoś bardziej zaawansowanego.
01:39
I work on a problemproblem
callednazywa objectobiekt detectionwykrycie,
31
87240
2616
Pracuję nad wykrywaniem obiektów.
01:41
where we look at an imageobraz
and try to find all of the objectsobiekty,
32
89880
2936
Patrzymy na obraz i próbujemy
znaleźć wszystkie obiekty,
01:44
put boundingobwiedni boxespudła around them
33
92840
1456
wpisujemy je w bryły brzegowe
01:46
and say what those objectsobiekty are.
34
94320
1520
i je nazywamy.
01:48
So here'soto jest what happensdzieje się
when we runbiegać a detectorczujki on this imageobraz.
35
96400
3280
Oto co się dzieje, kiedy wprowadzimy
ten obraz do detektora.
01:53
Now, with this kinduprzejmy of resultwynik,
36
101240
2256
Z tego rodzaju rezultatem
możemy zrobić znacznie więcej,
stosując nasze algorytmy.
01:55
we can do a lot more
with our computerkomputer visionwizja algorithmsalgorytmy.
37
103520
2696
01:58
We see that it knowswie
that there's a catkot and a dogpies.
38
106240
2976
Komputer wie,
że na zdjęciu jest kot i pies.
02:01
It knowswie theirich relativekrewny locationslokalizacje,
39
109240
2256
Zna ich względne położenie,
02:03
theirich sizerozmiar.
40
111520
1216
ich wielkość.
02:04
It maymoże even know some extradodatkowy informationInformacja.
41
112760
1936
Może też uzyskać dodatkowe informacje:
02:06
There's a bookksiążka sittingposiedzenie in the backgroundtło.
42
114720
1960
w tle leży książka.
02:09
And if you want to buildbudować a systemsystem
on topTop of computerkomputer visionwizja,
43
117280
3256
Żeby zbudować system
na rozpoznawaniu obrazu,
02:12
say a self-drivingSelf-jazdy vehiclepojazd
or a roboticzrobotyzowany systemsystem,
44
120560
3456
powiedzmy samoprowadzący się pojazd
lub manipulator robotyczny,
02:16
this is the kinduprzejmy
of informationInformacja that you want.
45
124040
2456
potrzeba właśnie tego typu informacji.
02:18
You want something so that
you can interactoddziaływać with the physicalfizyczny worldświat.
46
126520
3239
Potrzeba czegoś do interakcji
ze światem fizycznym.
Kiedy zacząłem pracować
nad wykrywaniem obiektów,
02:22
Now, when I startedRozpoczęty workingpracujący
on objectobiekt detectionwykrycie,
47
130759
2257
02:25
it tookwziął 20 secondstowary drugiej jakości
to processproces a singlepojedynczy imageobraz.
48
133040
3296
przetworzenie jednego obrazu
zajmowało 20 sekund.
02:28
And to get a feel for why
speedprędkość is so importantważny in this domaindomena,
49
136360
3880
Aby lepiej odczuć dlaczego prędkość
jest tak ważna w tej dziedzinie,
02:33
here'soto jest an exampleprzykład of an objectobiekt detectorczujki
50
141120
2536
pokażę przykład detektora obiektów,
02:35
that takes two secondstowary drugiej jakości
to processproces an imageobraz.
51
143680
2416
który przetwarza obraz w 2 sekundy.
02:38
So this is 10 timesczasy fasterszybciej
52
146120
2616
To 10 razy szybciej
02:40
than the 20-seconds-per-image-sekundy-za-obraz detectorczujki,
53
148760
3536
niż ten przetwarzający obraz w 20 sekund,
02:44
and you can see that by the time
it makesczyni predictionsprognozy,
54
152320
2656
a i tak można zaobserwować,
że zanim dokonał prognozy,
02:47
the entireCały statestan of the worldświat has changedzmienione,
55
155000
2040
zmieniła się cała sytuacja,
02:49
and this wouldn'tnie be very usefulprzydatny
56
157880
2416
a to nie byłoby zbyt użyteczne
w zastosowaniu.
02:52
for an applicationpodanie.
57
160320
1416
02:53
If we speedprędkość this up
by anotherinne factorczynnik of 10,
58
161760
2496
Jeśli dziesięciokrotnie
przyspieszymy ten proces,
02:56
this is a detectorczujki runningbieganie
at fivepięć framesramki perza seconddruga.
59
164280
2816
tak wygląda detektor
przy pięciu klatkach an sekundę.
02:59
This is a lot better,
60
167120
1536
Wygląda to dużo lepiej,
03:00
but for exampleprzykład,
61
168680
1976
ale na przykład
03:02
if there's any significantznaczący movementruch,
62
170680
2296
w przypadku znacznego ruchu
03:05
I wouldn'tnie want a systemsystem
like this drivingnapędowy my carsamochód.
63
173000
2560
nie chciałbym, żeby taki system
prowadził mój samochód.
03:09
This is our detectionwykrycie systemsystem
runningbieganie in realreal time on my laptopkomputer przenośny.
64
177120
3240
Tak wygląda nasz system
działający w czasie rzeczywistym
na moim laptopie.
03:13
So it smoothlypłynnie tracksutwory me
as I moveruszaj się around the framerama,
65
181000
3136
Płynnie śledzi mnie
w trakcie poruszania się w ramie
03:16
and it's robustkrzepki to a wideszeroki varietyróżnorodność
of changeszmiany in sizerozmiar,
66
184160
3720
i jest odporny na dużą
różnorodność zmian wielkości,
03:21
posepoza,
67
189440
1200
pozy,
03:23
forwardNaprzód, backwarddo tyłu.
68
191280
1856
rotacji poziomej.
03:25
This is great.
69
193160
1216
O to chodziło.
03:26
This is what we really need
70
194400
1736
Tego właśnie potrzeba,
03:28
if we're going to buildbudować systemssystemy
on topTop of computerkomputer visionwizja.
71
196160
2896
żeby budować systemy
na rozpoznawaniu obrazu.
03:31
(ApplauseAplauz)
72
199080
4000
(Brawa)
03:36
So in just a fewkilka yearslat,
73
204280
2176
Zaledwie w kilka lat
03:38
we'vemamy goneodszedł from 20 secondstowary drugiej jakości perza imageobraz
74
206480
2656
przeszliśmy od 20 sekund na obraz
03:41
to 20 millisecondsmilisekund perza imageobraz,
a thousandtysiąc timesczasy fasterszybciej.
75
209160
3536
do 20 milisekund na obraz
- tysiąc razy szybciej.
03:44
How did we get there?
76
212720
1416
Jak to się stało?
03:46
Well, in the pastprzeszłość,
objectobiekt detectionwykrycie systemssystemy
77
214160
3016
W przeszłości systemy wykrywania obiektów
03:49
would take an imageobraz like this
78
217200
1936
rozbiłyby ten obraz
03:51
and splitrozdzielać it into a bunchwiązka of regionsregiony
79
219160
2456
na mnóstwo obszarów
03:53
and then runbiegać a classifierklasyfikatora
on eachkażdy of these regionsregiony,
80
221640
3256
i wprowadziłyby każdy z nich
do klasyfikatora,
03:56
and highwysoki scoreswyniki for that classifierklasyfikatora
81
224920
2536
a wysokie rezultaty klasyfikatora
03:59
would be considereduważane
detectionswykrywania in the imageobraz.
82
227480
3136
byłyby uważane za wykrycie obiektów.
04:02
But this involvedzaangażowany runningbieganie a classifierklasyfikatora
thousandstysiące of timesczasy over an imageobraz,
83
230640
4056
Ale to wymagało wprowadzenia obrazu
do klasyfikatora tysiące razy,
04:06
thousandstysiące of neuralnerwowy networksieć evaluationsocen
to produceprodukować detectionwykrycie.
84
234720
2920
tysięcy ewaluacji sieci neuronowych,
aby otrzymać wykrycie.
04:11
InsteadZamiast tego, we trainedprzeszkolony a singlepojedynczy networksieć
to do all of detectionwykrycie for us.
85
239240
4536
Zamiast tego nauczyliśmy pojedynczą sieć
całkowitego wykrywania.
04:15
It producesprodukuje all of the boundingobwiedni boxespudła
and classklasa probabilitiesprawdopodobieństwa simultaneouslyrównocześnie.
86
243800
4280
Tworzy ona wszystkie bryły brzegowe
i prawdopodobieństwa klasowe jednocześnie.
04:20
With our systemsystem, insteadzamiast of looking
at an imageobraz thousandstysiące of timesczasy
87
248680
3496
Nasz system, zamiast tysiąc razy
analizować obraz
04:24
to produceprodukować detectionwykrycie,
88
252200
1456
do jednego wykrycia,
04:25
you only look oncepewnego razu,
89
253680
1256
analizuje go tylko raz
04:26
and that's why we call it
the YOLOYOLO methodmetoda of objectobiekt detectionwykrycie.
90
254960
2920
i dlatego nazywamy to
metodą wykrywania obrazów YOLO.
04:31
So with this speedprędkość,
we're not just limitedograniczony to imagesobrazy;
91
259360
3976
Z tą prędkością nie musimy
ograniczać się jedynie do obrazów.
04:35
we can processproces videowideo in realreal time.
92
263360
2416
Możemy przetwarzać wideo
w czasie rzeczywistym.
04:37
And now, insteadzamiast of just seeingwidzenie
that catkot and dogpies,
93
265800
3096
Teraz zamiast kota i psa
04:40
we can see them moveruszaj się around
and interactoddziaływać with eachkażdy other.
94
268920
2960
można też obserwować
ich ruch i interakcję.
04:46
This is a detectorczujki that we trainedprzeszkolony
95
274560
2056
Trenowaliśmy ten detektor
04:48
on 80 differentróżne classesklasy
96
276640
4376
na osiemdziesięciu różnych klasach
04:53
in Microsoft'sFirmy Microsoft COCOCOCO datasetzestawu danych.
97
281040
3256
w zbiorze danych Microsoft COCO.
04:56
It has all sortssortuje of things
like spoonłyżka and forkwidelec, bowlmiska,
98
284320
3336
Zawiera on różnorodne rzeczy,
na przykład łyżkę i widelec, miskę
04:59
commonpospolity objectsobiekty like that.
99
287680
1800
i podobne przedmioty codziennego użytku.
05:02
It has a varietyróżnorodność of more exoticegzotyczne things:
100
290360
3096
Zawiera również
bardziej egzotyczne obrazy:
05:05
animalszwierzęta, carssamochody, zebraszebry, giraffesżyrafy.
101
293480
3256
zwierzęta, samochody, zebry, żyrafy.
05:08
And now we're going to do something funzabawa.
102
296760
1936
Teraz zrobimy coś dla zabawy.
05:10
We're just going to go
out into the audiencepubliczność
103
298720
2096
Skierujemy detektor na publiczność
05:12
and see what kinduprzejmy of things we can detectwykryć.
104
300840
2016
i zobaczymy, co się da wykryć.
05:14
Does anyonektokolwiek want a stuffednadziewany animalzwierzę?
105
302880
1620
Czy ktoś chce pluszaka?
05:18
There are some teddyTeddy bearsniedźwiedzie out there.
106
306000
1762
Mam tu kilka misiów.
05:22
And we can turnskręcać down
our thresholdpróg for detectionwykrycie a little bitkawałek,
107
310040
4536
Możemy trochę obniżyć
nasz próg wykrywalności,
05:26
so we can find more of you guys
out in the audiencepubliczność.
108
314600
3400
aby znaleźć więcej osób na widowni.
Zobaczmy, czy uda nam się
rozpoznać te znaki stopu.
05:31
Let's see if we can get these stop signsznaki.
109
319560
2336
05:33
We find some backpacksPlecaki.
110
321920
1880
Widzimy kilka plecaków.
05:37
Let's just zoomPowiększenie in a little bitkawałek.
111
325880
1840
Zróbmy niewielkie zbliżenie.
05:42
And this is great.
112
330320
1256
Świetnie.
05:43
And all of the processingprzetwarzanie
is happeningwydarzenie in realreal time
113
331600
3176
Całe przetwarzanie ma miejsce
w czasie rzeczywistym
05:46
on the laptopkomputer przenośny.
114
334800
1200
na laptopie.
05:49
And it's importantważny to rememberZapamiętaj
115
337080
1456
Należy pamiętać,
05:50
that this is a generalgenerał purposecel, powód
objectobiekt detectionwykrycie systemsystem,
116
338560
3216
że jest to system wykrywania
obiektów do użytku ogólnego,
05:53
so we can trainpociąg this for any imageobraz domaindomena.
117
341800
5000
więc możemy go wytrenować
dla dowolnej kategorii obrazów.
06:00
The samepodobnie codekod that we use
118
348320
2536
Ten sam kod, którego używamy
06:02
to find stop signsznaki or pedestrianspieszych,
119
350880
2456
do znalezienia znaków stopu, pieszych,
06:05
bicyclesrowery in a self-drivingSelf-jazdy vehiclepojazd,
120
353360
1976
lub rowerów w autonomicznym pojeździe
06:07
can be used to find cancernowotwór cellskomórki
121
355360
2856
można wykorzystać
do znalezienia komórek rakowych
06:10
in a tissuetkanka biopsyBiopsja.
122
358240
3016
w biopsji tkanki.
06:13
And there are researchersnaukowcy around the globeglob
alreadyjuż usingza pomocą this technologytechnologia
123
361280
4040
Badacze na całym świece
używają już tej technologii
06:18
for advanceszaliczki in things
like medicinelekarstwo, roboticsRobotyka.
124
366240
3416
do rozwoju w dziedzinach
takich jak medycyna, czy robotyka.
06:21
This morningranek, I readczytać a paperpapier
125
369680
1376
Dziś rano czytałem pracę
06:23
where they were takingnabierający a censusspis ludności
of animalszwierzęta in NairobiNairobi NationalKrajowe ParkPark
126
371080
4576
omawiającą zliczanie zwierząt
w Parku Narodowym Nairobi
przy wykorzystaniu YOLO jako
części systemu wykrywania obiektów.
06:27
with YOLOYOLO as partczęść
of this detectionwykrycie systemsystem.
127
375680
3136
06:30
And that's because DarknetDarknet is openotwarty sourceźródło
128
378840
3096
Jest to możliwe ponieważ "Darknet"
jest programem open source,
06:33
and in the publicpubliczny domaindomena,
freewolny for anyonektokolwiek to use.
129
381960
2520
będącym własnością publiczną
do wolnego użytku.
06:37
(ApplauseAplauz)
130
385600
5696
(Brawa)
06:43
But we wanted to make detectionwykrycie
even more accessibledostępny and usableużytkowej,
131
391320
4936
Chcieliśmy jednak, żeby wykrywanie
było bardziej przystępne i przydatne,
06:48
so throughprzez a combinationpołączenie
of modelModel optimizationOptymalizacja,
132
396280
4056
więc poprzez połączenie
optymalizacji modelu,
06:52
networksieć binarizationbinaryzacja and approximationzbliżenia,
133
400360
2296
binaryzacji i aproksymacji sieci
06:54
we actuallytak właściwie have objectobiekt detectionwykrycie
runningbieganie on a phonetelefon.
134
402680
3920
otrzymaliśmy wykrywanie obiektów
działające na telefonie.
07:04
(ApplauseAplauz)
135
412800
5320
(Brawa)
07:10
And I'm really excitedpodekscytowany because
now we have a prettyładny powerfulpotężny solutionrozwiązanie
136
418960
5056
Jestem bardzo podekscytowany,
bo mamy potężne rozwiązanie problemu
rozpoznawania obrazów
na komputerach o niskiej wydajności
07:16
to this low-levelniskiego poziomu computerkomputer visionwizja problemproblem,
137
424040
2296
07:18
and anyonektokolwiek can take it
and buildbudować something with it.
138
426360
3856
i każdy może je wykorzystać
i stworzyć coś przy jego użyciu.
07:22
So now the restodpoczynek is up to all of you
139
430240
3176
Reszta zależy od was
07:25
and people around the worldświat
with accessdostęp to this softwareoprogramowanie,
140
433440
2936
i ludzi na całym świecie
z dostępem do tego oprogramowania.
07:28
and I can't wait to see what people
will buildbudować with this technologytechnologia.
141
436400
3656
Nie mogę się doczekać tego,
co ludzie stworzą
przy użyciu tej technologii.
07:32
Thank you.
142
440080
1216
Dziękuję.
07:33
(ApplauseAplauz)
143
441320
3440
(Brawa)
Translated by Agnieszka Kmieć
Reviewed by Rysia Wand

▲Back to top

ABOUT THE SPEAKER
Joseph Redmon - Computer scientist
Joseph Redmon works on the YOLO algorithm, which combines the simple face detection of your phone camera with a cloud-based AI -- in real time.

Why you should listen

Computer scientist Joseph Redmon is working on the YOLO (You Only Look Once) algorithm, which has a simple goal: to deliver image recognition and object detection at a speed that would seem science-fictional only a few years ago. The algorithm looks like the simple face detection of a camera app but with the level complexity of systems like Google's Deep Mind Cloud Vision, using Convolutional Deep Neural Networks to crunch object detection in realtime. It's the kind of technology that will be embedded on all smartphones in the next few years.

Redmon is also internet-famous for his resume.

More profile about the speaker
Joseph Redmon | Speaker | TED.com