How computers learn to recognize objects instantly | Joseph Redmon

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

TED


Будь ласка, двічі клацніть на англійські субтитри нижче, щоб відтворити відео.

Перекладач: Olena Gapak Утверджено: Khrystyna Romashko
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
і я працюю над проектом під назвою Даркнет,
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
Дізнаймося, що думає Даркнет
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
що потребує 2 секунди на обробку зображення.
02:37
So this is 10 times faster
52
157940
2616
Тож він у десять разів швидший
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
Якщо ми прискоримо це ще вдесятеро,
02:56
this is a detector running at five frames per second.
59
176100
2816
ось детектор, що працює на швидкості 5 кадрів на секунду.
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
"you only look once".
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
з набору даних Microsoft СОСО.
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
А це тому, що Даркнет — проект з вікритим кодом
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