How computers learn to recognize objects instantly | Joseph Redmon

1,121,269 views ・ 2017-08-18

TED


Пожалуйста, дважды щелкните на английские субтитры ниже, чтобы воспроизвести видео.

Переводчик: Alena Chernykh Редактор: Yulia Kallistratova
00:12
Ten years ago,
0
12645
1151
Десять лет назад
00:13
computer vision researchers thought that getting a computer
1
13820
2776
исследователи компьютерного зрения думали, что научить компьютер
00:16
to tell the difference between a cat and a dog
2
16620
2696
различать изображения кошки и собаки
00:19
would be almost impossible,
3
19340
1976
будет практически невозможно,
00:21
even with the significant advance in the state of artificial intelligence.
4
21340
3696
даже несмотря на значительный прогресс в развитии искусственного интеллекта.
00:25
Now we can do it at a level greater than 99 percent accuracy.
5
25060
3560
Сегодня мы можем это делать с точностью до 99 процентов.
00:29
This is called image classification --
6
29500
1856
Это называется классификацией изображений,
00:31
give it an image, put a label to that image --
7
31380
3096
дайте компьютеру картинку, присвойте этой картинке категорию,
00:34
and computers know thousands of other categories as well.
8
34500
3040
и он выдаст вам тысячи похожих.
00:38
I'm a graduate student at the University of Washington,
9
38500
2896
Я аспирант в Вашингтонском университете,
00:41
and I work on a project called Darknet,
10
41420
1896
работаю над проектом Darknet,
00:43
which is a neural network framework
11
43340
1696
который представляет собой нейронную сеть
00:45
for training and testing computer vision models.
12
45060
2816
для обучения и тестирования модели компьютерного зрения.
00:47
So let's just see what Darknet thinks
13
47900
2976
Давайте посмотрим, что думает Darknet
00:50
of this image that we have.
14
50900
1760
о данном изображении.
00:54
When we run our classifier
15
54340
2336
Когда мы запускаем наш классификатор
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
что мы не просто получаем предположение, собака здесь изображена или кошка,
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
мы фактически получаем варианты конкретных пород.
01:04
And it's correct.
20
64980
1616
Вот современный уровень детализации.
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
Поэтому мы сделали удивительные успехи в классификации изображений,
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
применительно к картинке, которая выглядит вот так?
01:18
Well ...
25
78900
1200
Ну...
01:24
We see that the classifier comes back with a pretty similar prediction.
26
84460
3896
Мы видим, что классификатор выдаёт довольно похожие варианты.
01:28
And it's correct, there is a malamute in the image,
27
88380
3096
Всё правильно: на фото — маламут,
01:31
but just given this label, we don't actually know that much
28
91500
3696
но по одной такой метке мы на самом деле не знаем,
01:35
about what's going on in the image.
29
95220
1667
что происходит на снимке.
01:36
We need something more powerful.
30
96911
1560
Нам нужно нечто более мощное.
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
то есть, когда мы смотрим на фото и пытаемся найти все объекты,
01:44
put bounding boxes around them
33
104660
1456
ставим ограничивающие прямоугольники вокруг них
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
Вот что происходит, когда мы запускаем детектор на этом изображении.
01:53
Now, with this kind of result,
36
113060
2256
И теперь, имея такой результат,
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
Мы видим, что компьютер знает, где кошка, а где собака.
02:01
It knows their relative locations,
39
121060
2256
Он знает их расположение относительно друг друга,
02:03
their size.
40
123340
1216
02:04
It may even know some extra information.
41
124580
1936
их размер.
Он даже может знать какую-то дополнительную информацию.
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
И если вы хотите построить сверхсистему компьютерного зрения,
02:12
say a self-driving vehicle or a robotic system,
44
132380
3456
например, самоуправляемое транспортное средство или робототехническую систему,
02:15
this is the kind of information that you want.
45
135860
2456
это именно та информация, которая вам пригодится.
02:18
You want something so that you can interact with the physical world.
46
138340
3239
Вам нужно что-то, что поможет вам взаимодействовать с материальным миром.
02:22
Now, when I started working on object detection,
47
142579
2257
Сейчас, работая над проблемой обнаружения объекта,
02:24
it took 20 seconds to process a single image.
48
144860
3296
я добился того, что для обработки одного изображения требуется 20 секунд.
02:28
And to get a feel for why speed is so important in this domain,
49
148180
3880
И чтобы понять, почему скорость так важна в этой области,
02:32
here's an example of an object detector
50
152940
2536
вот пример детектора объекта,
02:35
that takes two seconds to process an image.
51
155500
2416
которому требуется две секунды на обработку изображения.
02:37
So this is 10 times faster
52
157940
2616
Он в 10 раз быстрее
02:40
than the 20-seconds-per-image detector,
53
160580
3536
20-секундного детектора,
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
в мире происходит много изменений,
02:49
and this wouldn't be very useful
56
169700
2416
и это делает приложение
02:52
for an application.
57
172140
1416
бесполезным.
02:53
If we speed this up by another factor of 10,
58
173580
2496
Если увеличить скорость операций в 10 раз,
02:56
this is a detector running at five frames per second.
59
176100
2816
получим детектор, обрабатывающий пять кадров в секунду.
02:58
This is a lot better,
60
178940
1536
Это значительно лучше,
03:00
but for example,
61
180500
1976
но в случае,
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
чтобы подобная система управляла моим автомобилем.
03:08
This is our detection system running in real time on my laptop.
64
188940
3240
На ноутбуке видно, как наша система обнаружения работает в реальном времени.
03:12
So it smoothly tracks me as I move around the frame,
65
192820
3136
Она плавно отслеживает, как я передвигаюсь по помещению,
03:15
and it's robust to a wide variety of changes in size,
66
195980
3720
и она точно определяет широкий спектр изменений в размере,
03:21
pose,
67
201260
1200
позе,
03:23
forward, backward.
68
203100
1856
движений вперёд и назад.
03:24
This is great.
69
204980
1216
Великолепно.
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
если мы хотим создать систему самого лучшего компьютерного зрения.
03:30
(Applause)
72
210900
4000
(Аплодисменты)
03:36
So in just a few years,
73
216100
2176
Всего лишь за несколько лет
03:38
we've gone from 20 seconds per image
74
218300
2656
мы продвинулись от 20 секунд на одно изображение
03:40
to 20 milliseconds per image, a thousand times faster.
75
220980
3536
до 20 миллисекунд, что в тысячу раз быстрее.
03:44
How did we get there?
76
224540
1416
Как нам это удалось?
03:45
Well, in the past, object detection systems
77
225980
3016
В прошлом система опознавания объектов
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
а затем запускала классификатор по каждой из этих секций,
03:56
and high scores for that classifier
81
236740
2536
и высокий рейтинг классификатора
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
Подразумевается, что классификатор должен перебрать тысячи вариантов изображения,
04:06
thousands of neural network evaluations to produce detection.
84
246540
2920
тысячи оценок нейронной сети, чтобы выдать конечный результат.
04:11
Instead, we trained a single network to do all of detection for us.
85
251060
4536
Вместо этого мы использовали единственную сеть, которая выполнила всю работу за нас.
04:15
It produces all of the bounding boxes and class probabilities simultaneously.
86
255620
4280
Она производит все ограничения и варианты видов одновременно.
04:20
With our system, instead of looking at an image thousands of times
87
260500
3496
Благодаря нашей системе, вместо того, чтобы смотреть на изображение тысячи раз
04:24
to produce detection,
88
264020
1456
для его опознавания,
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
вот почему мы назвали её метод опознавания YOLO.
04:31
So with this speed, we're not just limited to images;
91
271180
3976
С такой скоростью мы не ограничены разнообразием объектов,
04:35
we can process video in real time.
92
275180
2416
мы можем воспроизвести видео в режиме реального времени.
04:37
And now, instead of just seeing that cat and dog,
93
277620
3096
Сейчас вместо того, чтобы просто смотреть на эту кошку и собаку,
04:40
we can see them move around and interact with each other.
94
280740
2960
мы видим, как они двигаются и общаются друг с другом.
04:46
This is a detector that we trained
95
286380
2056
Мы обучили этот детектор
04:48
on 80 different classes
96
288460
4376
на 80 разных видах
04:52
in Microsoft's COCO dataset.
97
292860
3256
в наборе данных COCO от Майкрософт.
04:56
It has all sorts of things like spoon and fork, bowl,
98
296140
3336
Он учитывает все виды вещей, такие как как ложка, вилка, миска
04:59
common objects like that.
99
299500
1800
и другие обычные предметы.
05:02
It has a variety of more exotic things:
100
302180
3096
Есть и более специфичные объекты:
05:05
animals, cars, zebras, giraffes.
101
305300
3256
животные, автомобили, зебры, жирафы.
05:08
And now we're going to do something fun.
102
308580
1936
А сейчас сделаем кое-что прикольное.
05:10
We're just going to go out into the audience
103
310540
2096
Я подойду к кому-нибудь из аудитории,
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
Кто-нибудь хочет чучело?
05:17
There are some teddy bears out there.
106
317820
1762
Мы подготовили несколько плюшевых медведей.
05:21
And we can turn down our threshold for detection a little bit,
107
321860
4536
Можно немного снизить порог опознавания,
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
Посмотрим, сможем ли получить эти знаки остановки.
05:33
We find some backpacks.
110
333740
1880
Обнаружили несколько рюкзаков.
05:37
Let's just zoom in a little bit.
111
337700
1840
Давайте немного увеличим масштаб.
05:42
And this is great.
112
342140
1256
Класс!
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
Важно помнить,
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
поэтому мы можем экспериментировать с изображениями из разных областей.
06:00
The same code that we use
118
360140
2536
Тот же самый код, который мы используем
06:02
to find stop signs or pedestrians,
119
362700
2456
для обнаружения знаков «Стоп» или пешеходов,
06:05
bicycles in a self-driving vehicle,
120
365180
1976
велосипедов в самоуправляемых автомобилях,
06:07
can be used to find cancer cells
121
367180
2856
может быть использован для поиска раковых клеток
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
Исследователи по всему миру уже используют эту технологию
06:18
for advances in things like medicine, robotics.
124
378060
3416
для внедрения инноваций в медицине, робототехнике.
06:21
This morning, I read a paper
125
381500
1376
Сегодня утром я прочёл статью о том,
06:22
where they were taking a census of animals in Nairobi National Park
126
382900
4576
что в национальном парке Найроби при составлении переписи животных
06:27
with YOLO as part of this detection system.
127
387500
3136
используют YOLO как часть этой системы обнаружения.
06:30
And that's because Darknet is open source
128
390660
3096
Причина этого о в том, что Darknet является общедоступным ресурсом
06:33
and in the public domain, free for anyone to use.
129
393780
2520
и любой пользователь может пользоваться им бесплатно.
06:37
(Applause)
130
397420
5696
(Аплодисменты)
06:43
But we wanted to make detection even more accessible and usable,
131
403140
4936
Но мы хотели сделать опознавание ещё более доступным и удобным,
06:48
so through a combination of model optimization,
132
408100
4056
и благодаря комбинации модели оптимизации,
06:52
network binarization and approximation,
133
412180
2296
сети бинаризации и приближения,
06:54
we actually have object detection running on a phone.
134
414500
3920
в итоге мы смогли добиться опознавания объекта с помощью телефона.
07:04
(Applause)
135
424620
5320
(Аплодисменты)
07:10
And I'm really excited because now we have a pretty powerful solution
136
430780
5056
И я очень рад, потому что теперь у нас есть очень мощное решение
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
и любой может взять его и что-нибудь создать с его помощью.
07:22
So now the rest is up to all of you
139
442060
3176
Так что остальное теперь зависит от всех вас
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
и я не могу дождаться, чтобы увидеть, что люди создадут с помощью этой технологии.
07:31
Thank you.
142
451900
1216
Спасибо.
07:33
(Applause)
143
453140
3440
(Аплодисменты)
Об этом сайте

Этот сайт познакомит вас с видеороликами YouTube, полезными для изучения английского языка. Вы увидите уроки английского языка, преподаваемые высококлассными учителями со всего мира. Дважды щелкните по английским субтитрам, отображаемым на каждой странице видео, чтобы воспроизвести видео оттуда. Субтитры прокручиваются синхронно с воспроизведением видео. Если у вас есть какие-либо комментарии или пожелания, пожалуйста, свяжитесь с нами, используя эту контактную форму.

https://forms.gle/WvT1wiN1qDtmnspy7