How computers learn to recognize objects instantly | Joseph Redmon

1,119,896 views ・ 2017-08-18

TED


لطفا برای پخش فیلم روی زیرنویس انگلیسی زیر دوبار کلیک کنید.

Translator: morteza homayounfar Reviewer: Leila Ataei
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
حالا ما می‌توانیم این را با دقت بیشتر از ۹۹ درصد انجام بدیم
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
۲۰ ثانیه طول کشید تا تصویر را پردازش کند.
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
خب این ۱۰ برابر سریعتر
02:40
than the 20-seconds-per-image detector,
53
160580
3536
از یابنده ۲۰ ثانیه بر تصویر است.
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
این یابنده با ۵ فریم بر ثانیه اجرا خواهد شد.
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
ما از ۲۰ ثانیه درتصویر به
03:40
to 20 milliseconds per image, a thousand times faster.
75
220980
3536
۲۰ میلی ثانیه بر تصویر رفتیم، هزار بار سریعتر.
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
در ۸۰ کلاس مختلف دردر دیتاست
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
و این به خاطر این است که دارکنت منبع آزاد است
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
(تشویق)
درباره این وب سایت

این سایت ویدیوهای یوتیوب را به شما معرفی می کند که برای یادگیری زبان انگلیسی مفید هستند. دروس انگلیسی را خواهید دید که توسط معلمان درجه یک از سراسر جهان تدریس می شود. روی زیرنویس انگلیسی نمایش داده شده در هر صفحه ویدیو دوبار کلیک کنید تا ویدیو از آنجا پخش شود. زیرنویس‌ها با پخش ویدیو همگام می‌شوند. اگر نظر یا درخواستی دارید، لطفا با استفاده از این فرم تماس با ما تماس بگیرید.

https://forms.gle/WvT1wiN1qDtmnspy7