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

Джозеф Редмон: Як комп'ютер вчиться миттєво визначати об'єкти

Filmed:
2,471,805 views

Десять років тому дослідники вважали, що змусити комп'ютер визначити різницю мід кішкою та собакою буде майже неможливо. Сьогодні системи комп'ютерного зору роблять це з точністю понад 99 відсотків. Як? Джозеф Редмон працює над системою із відкритим доступом до коду YOLO ("You Only Look Once" - "Ви Дивитеся Тільки Один раз"). Цей метод розпізнавання вміє визначити об'єкти на зображеннях та відео — від зебр до знаків "стоп" — з блискавичною швидкістю. У вражаючому живому демо Редмон показує, який важливий шаг зроблено для побудови машин на автопілоті, робототехніки і навіть визначення ракових клітин.
- 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.

00:12
TenДесять yearsроків agoтому назад,
0
825
1151
Десять років тому
00:14
computerкомп'ютер visionбачення researchersдослідники
thought that gettingотримувати a computerкомп'ютер
1
2000
2776
дослідники комп'ютерного зору
вважали, що навчити комп'ютер
00:16
to tell the differenceрізниця
betweenміж a catкот and a dogпес
2
4800
2696
визначити різницю
між котом і собакою —
00:19
would be almostмайже impossibleнеможливо,
3
7520
1976
майже неможливо,
00:21
even with the significantзначний advanceзаздалегідь
in the stateдержава of artificialштучний intelligenceрозвідка.
4
9520
3696
навіть зі значним розвитком
в галузі штучного інтелекту.
00:25
Now we can do it at a levelрівень
greaterбільший than 99 percentвідсоток accuracyточність.
5
13240
3560
Зараз ми вміємо це робити
з точністю понад 99%.
00:29
This is calledназивається imageзображення classificationКласифікація --
6
17680
1856
Це називається класифікація
зображень —
00:31
give it an imageзображення,
put a labelетикетка to that imageзображення --
7
19560
3096
маючи зображення,
назвати це зображення —
00:34
and computersкомп'ютери know
thousandsтисячі of other categoriesкатегорій as well.
8
22680
3040
і комп'ютери знають
тисячі таких категорій.
00:38
I'm a graduateвипускник studentстудент
at the UniversityУніверситет of WashingtonВашингтон,
9
26680
2896
Я аспірант
Університету Вашингтона,
00:41
and I work on a projectпроект calledназивається DarknetDarknet,
10
29600
1896
і я працюю над проектом
під назвою Даркнет,
00:43
whichкотрий is a neuralнейронний networkмережа frameworkрамки
11
31520
1696
це фреймворк для нейронної сітки,
00:45
for trainingтренування and testingтестування
computerкомп'ютер visionбачення modelsмоделі.
12
33240
2816
який навчає і тестує
моделі комп'ютерного зору.
00:48
So let's just see what DarknetDarknet thinksдумає
13
36080
2976
Дізнаймося, що думає Даркнет
00:51
of this imageзображення that we have.
14
39080
1760
про це наше зображення.
00:54
When we runбіжи our classifierКласифікатор
15
42520
2336
Коли ми запускаємо класифікатор
00:56
on this imageзображення,
16
44880
1216
для цього зображення,
00:58
we see we don't just get
a predictionпередбачення of dogпес or catкот,
17
46120
2456
ми отримуємо не просто прогноз
щодо кішки чи собаки,
01:00
we actuallyнасправді get
specificконкретний breedпорода predictionsпрогнози.
18
48600
2336
насправді ми отримуємо
визначення породи.
01:02
That's the levelрівень
of granularityДеталізація we have now.
19
50960
2176
Ось такий рівень точності
ми маємо зараз.
01:05
And it's correctправильно.
20
53160
1616
І це так.
01:06
My dogпес is in factфакт a malamuteмаламут.
21
54800
1840
Мій собака насправді маламут.
01:09
So we'veми маємо madeзроблений amazingдивовижний stridesуспіхи
in imageзображення classificationКласифікація,
22
57040
4336
Тож ми досягли відчутного успіху
у класифікації зображень,
01:13
but what happensбуває
when we runбіжи our classifierКласифікатор
23
61400
2000
але що станеться, якщо запустити
класифікатор
01:15
on an imageзображення that looksвиглядає like this?
24
63424
1960
на отакому зображенні?
01:19
Well ...
25
67080
1200
Ну...
01:24
We see that the classifierКласифікатор comesприходить back
with a prettyкрасиво similarподібний predictionпередбачення.
26
72640
3896
Ми бачимо, що він повертається
з дуже подібним передбаченням.
01:28
And it's correctправильно,
there is a malamuteмаламут in the imageзображення,
27
76560
3096
І це правда, на зображенні
є маламут,
01:31
but just givenдано this labelетикетка,
we don't actuallyнасправді know that much
28
79680
3696
але через саму цю назву
ми небагато дізналися про те,
01:35
about what's going on in the imageзображення.
29
83400
1667
що саме відбувається на зображенні.
01:37
We need something more powerfulпотужний.
30
85091
1560
Нам потрібно щось потужніше.
01:39
I work on a problemпроблема
calledназивається objectоб'єкт detectionвиявлення,
31
87240
2616
І я працюю над проблемою
під назвою визначення об'єктів,
01:41
where we look at an imageзображення
and try to find all of the objectsоб'єкти,
32
89880
2936
ми дивимося на зображення
і намагаємося знайти усі об'єкти,
01:44
put boundingрамка boxesкоробки around them
33
92840
1456
визначивши їхні межі
01:46
and say what those objectsоб'єкти are.
34
94320
1520
і підписавши, що це таке.
01:48
So here'sось тут what happensбуває
when we runбіжи a detectorдетектор on this imageзображення.
35
96400
3280
Ось що трапиться, якщо запустити детектор
для цього зображення.
01:53
Now, with this kindдоброзичливий of resultрезультат,
36
101240
2256
З таким результатом ми можемо
01:55
we can do a lot more
with our computerкомп'ютер visionбачення algorithmsалгоритми.
37
103520
2696
зробити більше з нашими алгоритмами
комп'ютерного зору.
01:58
We see that it knowsзнає
that there's a catкот and a dogпес.
38
106240
2976
Ми бачимо, що він знає,
що це кіт і собака.
02:01
It knowsзнає theirїх relativeродич locationsмісця розташування,
39
109240
2256
Він знає їхні приблизні локації,
02:03
theirїх sizeрозмір.
40
111520
1216
їхній розмір.
02:04
It mayможе even know some extraдодатково informationінформація.
41
112760
1936
Він може навіть знати деяку
додаткову інформацію.
02:06
There's a bookкнига sittingсидячи in the backgroundфон.
42
114720
1960
Ось там на фоні книжка.
02:09
And if you want to buildбудувати a systemсистема
on topвершина of computerкомп'ютер visionбачення,
43
117280
3256
І якщо ви хочете побудувати систему
на основі комп'ютерного зору,
02:12
say a self-drivingіндивідуальної їзді vehicleтранспортний засіб
or a roboticробот systemсистема,
44
120560
3456
наприклад, машину на автопілоті
чи роботизовану систему,
02:16
this is the kindдоброзичливий
of informationінформація that you want.
45
124040
2456
ви потребуватимете
саме такої інформації.
02:18
You want something so that
you can interactвзаємодіяти with the physicalфізичний worldсвіт.
46
126520
3239
Ви хочете чогось, що дозволить
взаємодіяти з матеріальним світом.
Коли я почав працювати над
визначенням об'єктітв,
02:22
Now, when I startedпочався workingпрацює
on objectоб'єкт detectionвиявлення,
47
130759
2257
02:25
it tookвзяв 20 secondsсекунд
to processпроцес a singleсингл imageзображення.
48
133040
3296
обробка зображення займала
20 секунд.
02:28
And to get a feel for why
speedшвидкість is so importantважливо in this domainдомен,
49
136360
3880
І щоб зрозуміти, чому швидкість
настільки важлива в цій галузі,
02:33
here'sось тут an exampleприклад of an objectоб'єкт detectorдетектор
50
141120
2536
ось приклад детектора об'єктів,
02:35
that takes two secondsсекунд
to processпроцес an imageзображення.
51
143680
2416
що потребує 2 секунди
на обробку зображення.
02:38
So this is 10 timesразів fasterшвидше
52
146120
2616
Тож він у десять разів швидший
02:40
than the 20-seconds-per-image-секунд-на-зображення detectorдетектор,
53
148760
3536
за той 20-секундний детектор,
02:44
and you can see that by the time
it makesробить predictionsпрогнози,
54
152320
2656
але видно, що коли він робить
свій прогноз,
02:47
the entireцілий stateдержава of the worldсвіт has changedзмінився,
55
155000
2040
стан навколишнього світу
вже змінився.
02:49
and this wouldn'tне буде be very usefulкорисний
56
157880
2416
Тож це не дуже корисно
02:52
for an applicationзаявка.
57
160320
1416
для додатку.
02:53
If we speedшвидкість this up
by anotherінший factorфактор of 10,
58
161760
2496
Якщо ми прискоримо це
ще вдесятеро,
02:56
this is a detectorдетектор runningбіг
at fiveп'ять framesкадри perза secondдругий.
59
164280
2816
ось детектор, що працює
на швидкості 5 кадрів на секунду.
02:59
This is a lot better,
60
167120
1536
Це набагато краще,
03:00
but for exampleприклад,
61
168680
1976
але наприклад,
03:02
if there's any significantзначний movementрух,
62
170680
2296
якщо відбувається помітний рух,
03:05
I wouldn'tне буде want a systemсистема
like this drivingводіння my carмашина.
63
173000
2560
я б не хотів, щоб така система
керувала моєю автівкою.
03:09
This is our detectionвиявлення systemсистема
runningбіг in realреальний time on my laptopноутбук.
64
177120
3240
Це наша система визначення,
що працює наживо на моєму лептопі.
03:13
So it smoothlyплавно tracksтреки me
as I moveрухатися around the frameрамка,
65
181000
3136
Вона послідовно визначає моє місце,
поки я рухаюсь коло меж,
03:16
and it's robustнадійний to a wideширокий varietyрізноманітність
of changesзміни in sizeрозмір,
66
184160
3720
і вона стійка до різноманітних
змін розміру,
03:21
poseпозі,
67
189440
1200
пози,
03:23
forwardвперед, backwardназад.
68
191280
1856
руху вперед і назад.
03:25
This is great.
69
193160
1216
Це чудово.
03:26
This is what we really need
70
194400
1736
Саме це нам і потрібно,
03:28
if we're going to buildбудувати systemsсистеми
on topвершина of computerкомп'ютер visionбачення.
71
196160
2896
якщо ми хочемо будувати системи
на основі комп'ютерного зору.
03:31
(ApplauseОплески)
72
199080
4000
(Оплески)
03:36
So in just a fewмало хто yearsроків,
73
204280
2176
Тож лише за кілька років
03:38
we'veми маємо goneпішов from 20 secondsсекунд perза imageзображення
74
206480
2656
ми пройшли від 20 секунд
на зображення
03:41
to 20 millisecondsМС perза imageзображення,
a thousandтисяча timesразів fasterшвидше.
75
209160
3536
до 20 мілісекунд на зображення,
у тисячу разів швидше.
03:44
How did we get there?
76
212720
1416
Як ми цього досягли?
03:46
Well, in the pastминуле,
objectоб'єкт detectionвиявлення systemsсистеми
77
214160
3016
У минулому система визначення об'єктів
03:49
would take an imageзображення like this
78
217200
1936
взяла б подібне зображення
03:51
and splitрозкол it into a bunchпучок of regionsрегіони
79
219160
2456
і поділила на безліч регіонів,
03:53
and then runбіжи a classifierКласифікатор
on eachкожен of these regionsрегіони,
80
221640
3256
а потім запустила б класифікатор
для кожного регіону,
03:56
and highвисокий scoresбали for that classifierКласифікатор
81
224920
2536
і високі бали для такого класифікатора
03:59
would be consideredрозглянутий
detectionsвиявлень in the imageзображення.
82
227480
3136
вважалися б
за визначення зображення.
04:02
But this involvedучасть runningбіг a classifierКласифікатор
thousandsтисячі of timesразів over an imageзображення,
83
230640
4056
Але це потребувало б запуску
класифікатора тисячі разів,
04:06
thousandsтисячі of neuralнейронний networkмережа evaluationsоцінки
to produceвиробляти detectionвиявлення.
84
234720
2920
тисячі перевірок нейронної мережі,
щоб зробити визначення.
04:11
InsteadЗамість цього, we trainedнавчений a singleсингл networkмережа
to do all of detectionвиявлення for us.
85
239240
4536
Натомість ми натренували єдину мережу
робити усі визначення для нас.
04:15
It producesвипускає all of the boundingрамка boxesкоробки
and classклас probabilitiesймовірності simultaneouslyодночасно.
86
243800
4280
Вона створює усі рамки
й сортує ймовірності одночасно.
З нашою системою, замість того
щоб тисячі разів дивитися на зображення
04:20
With our systemсистема, insteadзамість цього of looking
at an imageзображення thousandsтисячі of timesразів
87
248680
3496
для визначення,
ми дивимося один раз:
04:24
to produceвиробляти detectionвиявлення,
88
252200
1456
04:25
you only look onceодин раз,
89
253680
1256
"you only look once".
04:26
and that's why we call it
the YOLOЙОЛО methodметод of objectоб'єкт detectionвиявлення.
90
254960
2920
і ми назвали наш метод
визначення об'єктів YOLO.
04:31
So with this speedшвидкість,
we're not just limitedобмежений to imagesзображення;
91
259360
3976
Тож з такою швидкістю
ми не обмежені зображеннями,
04:35
we can processпроцес videoвідео in realреальний time.
92
263360
2416
ми можемо обробляти відео наживо.
04:37
And now, insteadзамість цього of just seeingбачачи
that catкот and dogпес,
93
265800
3096
І тепер, замість того щоб бачити
тих кота і собаку,
04:40
we can see them moveрухатися around
and interactвзаємодіяти with eachкожен other.
94
268920
2960
ми можемо бачити, як вони
рухаються і взаємодіють.
04:46
This is a detectorдетектор that we trainedнавчений
95
274560
2056
Цей детектор ми тренували
04:48
on 80 differentінший classesкласи
96
276640
4376
на 80 різних класах
04:53
in Microsoft'sMicrosoft COCOКОКО datasetнабір даних.
97
281040
3256
з набору даних Microsoft СОСО.
04:56
It has all sortsсортів of things
like spoonложка and forkВиделка, bowlчаша,
98
284320
3336
Там були усі типи речей:
ложка і виделка, миска,
04:59
commonзагальний objectsоб'єкти like that.
99
287680
1800
подібні звичні речі.
05:02
It has a varietyрізноманітність of more exoticекзотичні things:
100
290360
3096
Там була й безліч незвичніших речей:
05:05
animalsтварини, carsавтомобілі, zebrasзебр, giraffesжирафи.
101
293480
3256
тварини, авто, зебри, жирафи.
05:08
And now we're going to do something funвесело.
102
296760
1936
І зараз ми зробимо дещо цікаве.
05:10
We're just going to go
out into the audienceаудиторія
103
298720
2096
Ми просто підемо у залу
05:12
and see what kindдоброзичливий of things we can detectвиявити.
104
300840
2016
і побачимо, які речі зможемо
визначити.
05:14
Does anyoneбудь хто want a stuffedфарширований animalтварина?
105
302880
1620
Хтось хоче м'яку іграшку?
05:18
There are some teddyТедді bearsведмеді out there.
106
306000
1762
Тут є іграшкові ведмеді.
05:22
And we can turnповорот down
our thresholdпоріг for detectionвиявлення a little bitбіт,
107
310040
4536
І ми можемо трошки знизити
поріг розпізнавання,
05:26
so we can find more of you guys
out in the audienceаудиторія.
108
314600
3400
щоб знайти більше вас
в аудиторії.
05:31
Let's see if we can get these stop signsзнаки.
109
319560
2336
Побачимо, чи ми визначаємо знаки "стоп".
05:33
We find some backpacksРюкзаки.
110
321920
1880
Ми знайшли наплечники.
05:37
Let's just zoomзбільшити in a little bitбіт.
111
325880
1840
Тепер наблизьмо трошки.
05:42
And this is great.
112
330320
1256
І це чудово.
05:43
And all of the processingобробка
is happeningвідбувається in realреальний time
113
331600
3176
І уся обробка відбувається
в реальному часі
05:46
on the laptopноутбук.
114
334800
1200
на лептопі.
05:49
And it's importantважливо to rememberзгадаймо
115
337080
1456
І важливо пам'ятати,
05:50
that this is a generalзагальний purposeмета
objectоб'єкт detectionвиявлення systemсистема,
116
338560
3216
що це система визначення
загального призначення,
05:53
so we can trainпоїзд this for any imageзображення domainдомен.
117
341800
5000
тож ми можемо натренувати її
для будь-якого типу зображень.
06:00
The sameтой же codeкод that we use
118
348320
2536
Той самий код, що використовується,
06:02
to find stop signsзнаки or pedestriansпішоходів,
119
350880
2456
щоб знаходити знаки "стоп", пішоходів,
06:05
bicyclesвелосипеди in a self-drivingіндивідуальної їзді vehicleтранспортний засіб,
120
353360
1976
велосипеди для машини на автопілоті,
06:07
can be used to find cancerрак cellsклітини
121
355360
2856
можна використати, щоб знаходити
ракові клітини
06:10
in a tissueтканина biopsyбіопсія.
122
358240
3016
у біопсії тканини.
06:13
And there are researchersдослідники around the globeглобус
alreadyвже usingвикористовуючи this technologyтехнологія
123
361280
4040
І дослідники по всьому світу
вже використовують цю технологію,
06:18
for advancesаванси in things
like medicineмедицина, roboticsРобототехніка.
124
366240
3416
щоб розвивати медицину
чи робототехніку.
Цього ранку я прочитав статтю
06:21
This morningранок, I readчитати a paperпапір
125
369680
1376
06:23
where they were takingвзяти a censusперепис
of animalsтварини in NairobiНайробі NationalНаціональний ParkПарк
126
371080
4576
про те, як підраховували тварин
в Національному парку Найробі,
06:27
with YOLOЙОЛО as partчастина
of this detectionвиявлення systemсистема.
127
375680
3136
використовуючи YOLO
як частину системи розпізнавання.
06:30
And that's because DarknetDarknet is openВІДЧИНЕНО sourceджерело
128
378840
3096
А це тому, що Даркнет — проект з вікритим
кодом
06:33
and in the publicгромадськість domainдомен,
freeбезкоштовно for anyoneбудь хто to use.
129
381960
2520
у публічному доступі,
безкоштовний для використання.
06:37
(ApplauseОплески)
130
385600
5696
(Оплески)
06:43
But we wanted to make detectionвиявлення
even more accessibleдоступний and usableпридатні для використання,
131
391320
4936
Але ми хочемо зробити визначення
навіть доступнішим і зручнішим,
06:48
so throughчерез a combinationкомбінація
of modelмодель optimizationоптимізація,
132
396280
4056
тож завдяки оптимізації,
06:52
networkмережа binarizationbinarization and approximationнаближення,
133
400360
2296
апроксимації та бінаризації мережі
06:54
we actuallyнасправді have objectоб'єкт detectionвиявлення
runningбіг on a phoneтелефон.
134
402680
3920
наше визначення зображень
працює на телефоні.
07:04
(ApplauseОплески)
135
412800
5320
(Оплески)
07:10
And I'm really excitedсхвильований because
now we have a prettyкрасиво powerfulпотужний solutionрішення
136
418960
5056
І я дуже схвильований, бо
зараз у нас є досить потужне розв'язання
07:16
to this low-levelнизькорівневі computerкомп'ютер visionбачення problemпроблема,
137
424040
2296
для низькорівневого комп'ютерного зору,
07:18
and anyoneбудь хто can take it
and buildбудувати something with it.
138
426360
3856
і кожен може взяти його
і щоб з цим побудувати.
07:22
So now the restвідпочинок is up to all of you
139
430240
3176
Тож решта залежить від вас усіх,
07:25
and people around the worldсвіт
with accessдоступ to this softwareпрограмне забезпечення,
140
433440
2936
від людей по всьому світу,
які мають доступ до цієї програми,
07:28
and I can't wait to see what people
will buildбудувати with this technologyтехнологія.
141
436400
3656
і я із нетерпінням чекаю на речі,
які люди створять із цією технологією.
07:32
Thank you.
142
440080
1216
Дякую.
07:33
(ApplauseОплески)
143
441320
3440
(Оплески)
Translated by Olena Gapak
Reviewed by Khrystyna Romashko

▲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