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

Десять лет назад исследователи считали, что создать компьютер, который сможет отличить кошку от собаки, практически невозможно. Сегодня система компьютерного зрения способна определить это почти со стопроцентной точностью. Как? Джозеф Рэдмон работает над YOLO (Смотри только один раз) — системой с открытым исходным кодом, которая способна опознавать объекты и идентифицировать их в изображениях и видео — от зебры до знаков «Стоп» — с молниеносной скоростью. В замечательном демо-ролике Рэдмон демонстрирует этот важный шаг в разработке приложений для самоуправляемых автомобилей, робототехники и даже для диагностики рака.
- 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
Ten10 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
работаю над проектом Darknet,
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
Давайте посмотрим, что думает Darknet
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
которому требуется две секунды
на обработку изображения.
02:38
So this is 10 timesраз fasterБыстрее
52
146120
2616
Он в 10 раз быстрее
02:40
than the 20-seconds-per-image-seconds-за изображения 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
Если увеличить скорость операций в 10 раз,
02:56
this is a detectorдетектор runningБег
at five5 framesкадры perв secondвторой.
59
164280
2816
получим детектор, обрабатывающий
пять кадров в секунду.
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
достаточно взглянуть раз,
04:26
and that's why we call it
the YOLOYOLO 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'sот Microsoft COCOCOCO datasetНабор данных.
97
281040
3256
в наборе данных COCO от Майкрософт.
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 YOLOYOLO as partчасть
of this detectionобнаружение systemсистема.
127
375680
3136
используют YOLO как часть
этой системы обнаружения.
06:30
And that's because DarknetDarknet is openоткрытый sourceисточник
128
378840
3096
Причина этого о в том, что Darknet
является общедоступным ресурсом
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сеть binarizationбинаризации 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 Alena Chernykh
Reviewed by Yulia Kallistratova

▲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