How computers learn to recognize objects instantly | Joseph Redmon

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

TED


Haga doble clic en los subtítulos en inglés para reproducir el vídeo.

Traductor: Lidia Cámara de la Fuente Revisor: Sebastian Betti
Hace diez años los investigadores de la visión artificial
00:12
Ten years ago,
0
12645
1151
00:13
computer vision researchers thought that getting a computer
1
13820
2776
pensaban que hacer que una computadora
00:16
to tell the difference between a cat and a dog
2
16620
2696
distinguiera un gato de un perro
00:19
would be almost impossible,
3
19340
1976
sería casi imposible,
00:21
even with the significant advance in the state of artificial intelligence.
4
21340
3696
incluso con el avance significativo de la inteligencia artificial.
00:25
Now we can do it at a level greater than 99 percent accuracy.
5
25060
3560
Ahora podemos hacerlo con un nivel superior al 99 % de precisión.
00:29
This is called image classification --
6
29500
1856
Esto se llama clasificación de imagen.
00:31
give it an image, put a label to that image --
7
31380
3096
Esto es, poner una etiqueta a esa imagen.
00:34
and computers know thousands of other categories as well.
8
34500
3040
Y las computadoras conocen miles de otras categorías también.
00:38
I'm a graduate student at the University of Washington,
9
38500
2896
Soy estudiante de posgrado en la Universidad de Washington,
00:41
and I work on a project called Darknet,
10
41420
1896
y trabajo en un proyecto llamado Darknet,
00:43
which is a neural network framework
11
43340
1696
que es un framework de red neuronal
00:45
for training and testing computer vision models.
12
45060
2816
para la capacitación y ensayo de modelos de visión artificial,
00:47
So let's just see what Darknet thinks
13
47900
2976
Así que veamos lo que piensa Darknet
00:50
of this image that we have.
14
50900
1760
de esta imagen que tenemos aquí.
00:54
When we run our classifier
15
54340
2336
Cuando ejecutamos nuestro clasificador
00:56
on this image,
16
56700
1216
en esta imagen,
00:57
we see we don't just get a prediction of dog or cat,
17
57940
2456
vemos que no solo se obtiene una predicción de perro o gato,
01:00
we actually get specific breed predictions.
18
60420
2336
en realidad, obtenemos predicciones de raza específicas.
01:02
That's the level of granularity we have now.
19
62780
2176
Ese es el nivel de granularidad actual.
01:04
And it's correct.
20
64980
1616
Y es correcto.
01:06
My dog is in fact a malamute.
21
66620
1840
Mi perro es de hecho un malamute.
01:08
So we've made amazing strides in image classification,
22
68860
4336
Hemos hecho avances increíbles en la clasificación de imágenes,
01:13
but what happens when we run our classifier
23
73220
2000
pero ¿qué pasa al ejecutar nuestro clasificador
01:15
on an image that looks like this?
24
75244
1960
en una imagen así?
01:18
Well ...
25
78900
1200
Bien...
01:24
We see that the classifier comes back with a pretty similar prediction.
26
84460
3896
Vemos que el clasificador vuelve con una predicción bastante similar.
01:28
And it's correct, there is a malamute in the image,
27
88380
3096
Y es correcto, hay un malamute en la imagen,
01:31
but just given this label, we don't actually know that much
28
91500
3696
pero solo con esta etiqueta, en realidad, no sabemos mucho
01:35
about what's going on in the image.
29
95220
1667
sobre lo que pasa en la imagen.
01:36
We need something more powerful.
30
96911
1560
Necesitamos algo más potente.
Trabajo en un problema llamado detección de objetos,
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
donde miramos una imagen e intentamos encontrar todos los objetos,
01:44
put bounding boxes around them
33
104660
1456
poniendo cajas delimitadoras alrededor de ellos
01:46
and say what those objects are.
34
106140
1520
y averiguar qué son esos objetos.
01:48
So here's what happens when we run a detector on this image.
35
108220
3280
Así que esto es lo que ocurre al ejecutar un detector en esta imagen.
Ahora, con este tipo de resultado,
01:53
Now, with this kind of result,
36
113060
2256
podemos hacer mucho más con nuestros algoritmos de visión artificial.
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
Vemos que sabe que hay un gato y un perro.
02:01
It knows their relative locations,
39
121060
2256
Conoce sus ubicaciones relativas,
02:03
their size.
40
123340
1216
su tamaño.
02:04
It may even know some extra information.
41
124580
1936
Incluso puede saber alguna información adicional.
02:06
There's a book sitting in the background.
42
126540
1960
Hay un libro en el fondo.
02:09
And if you want to build a system on top of computer vision,
43
129100
3256
Y si desea construir un sistema con base en la visión artificial
02:12
say a self-driving vehicle or a robotic system,
44
132380
3456
por ejemplo, un vehículo autodirigido o un sistema robótico,
02:15
this is the kind of information that you want.
45
135860
2456
este es el tipo de información que necesita.
02:18
You want something so that you can interact with the physical world.
46
138340
3239
Algo para interactuar con el mundo físico.
02:22
Now, when I started working on object detection,
47
142579
2257
Cuando empecé a trabajar en la detección de objetos,
02:24
it took 20 seconds to process a single image.
48
144860
3296
se tardaba 20 segundos en procesar una sola imagen.
02:28
And to get a feel for why speed is so important in this domain,
49
148180
3880
Y para entender por qué la velocidad es tan importante en este ámbito,
02:32
here's an example of an object detector
50
152940
2536
este es un ejemplo de un detector de objetos
02:35
that takes two seconds to process an image.
51
155500
2416
que tarda dos segundos en procesar una imagen.
02:37
So this is 10 times faster
52
157940
2616
Así que esto es 10 veces más rápido
02:40
than the 20-seconds-per-image detector,
53
160580
3536
que el detector de 20 segundos por imagen,
02:44
and you can see that by the time it makes predictions,
54
164140
2656
y se puede ver que, en el momento de hacer las predicciones,
02:46
the entire state of the world has changed,
55
166820
2040
el estado entero del mundo ha cambiado,
02:49
and this wouldn't be very useful
56
169700
2416
y esto no sería muy útil
02:52
for an application.
57
172140
1416
para una aplicación.
02:53
If we speed this up by another factor of 10,
58
173580
2496
Si aceleramos esto por otro factor de 10,
esto es un detector que funciona en cinco fotogramas por segundo.
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
Esto es mucho mejor
03:00
but for example,
61
180500
1976
pero, por ejemplo,
03:02
if there's any significant movement,
62
182500
2296
si hay algún movimiento significativo,
03:04
I wouldn't want a system like this driving my car.
63
184820
2560
yo no quisiera un sistema como este conduciendo mi auto.
03:08
This is our detection system running in real time on my laptop.
64
188940
3240
Este es nuestro sistema de detección que se ejecuta en tiempo real en mi portátil.
03:12
So it smoothly tracks me as I move around the frame,
65
192820
3136
Así que suavemente me sigue mientras me muevo en la imagen,
03:15
and it's robust to a wide variety of changes in size,
66
195980
3720
y es robusto con una amplia variedad de cambios de tamaño,
03:21
pose,
67
201260
1200
poses,
03:23
forward, backward.
68
203100
1856
hacia adelante, hacia atrás.
03:24
This is great.
69
204980
1216
Esto es genial.
03:26
This is what we really need
70
206220
1736
Esto es lo que realmente necesitamos
03:27
if we're going to build systems on top of computer vision.
71
207980
2896
si vamos a construir sistemas con base en visión artificial.
03:30
(Applause)
72
210900
4000
(Aplausos)
03:36
So in just a few years,
73
216100
2176
Así que en solo unos pocos años,
03:38
we've gone from 20 seconds per image
74
218300
2656
hemos pasado de 20 segundos por imagen
03:40
to 20 milliseconds per image, a thousand times faster.
75
220980
3536
a 20 milisegundos por imagen, mil veces más rápido.
03:44
How did we get there?
76
224540
1416
¿Cómo llegamos hasta aquí?
03:45
Well, in the past, object detection systems
77
225980
3016
Bueno, en el pasado, los sistemas de detección de objetos
03:49
would take an image like this
78
229020
1936
tomaban una imagen como esta
03:50
and split it into a bunch of regions
79
230980
2456
y la dividían en un montón de regiones
03:53
and then run a classifier on each of these regions,
80
233460
3256
y luego ejecutaban un clasificador en cada una de estas regiones,
03:56
and high scores for that classifier
81
236740
2536
y las puntuaciones altas de ese clasificador
03:59
would be considered detections in the image.
82
239300
3136
se consideraban detecciones de la imagen.
04:02
But this involved running a classifier thousands of times over an image,
83
242460
4056
Pero eso implicaba ejecutar un clasificador miles de veces sobre una imagen,
04:06
thousands of neural network evaluations to produce detection.
84
246540
2920
miles de evaluaciones de redes neuronales para producir detección.
04:11
Instead, we trained a single network to do all of detection for us.
85
251060
4536
En cambio, nosotros hemos entrenado una sola red para hacer toda la detección.
04:15
It produces all of the bounding boxes and class probabilities simultaneously.
86
255620
4280
Produce todas las cajas delimitadoras y ordena las probabilidades en simultáneo.
04:20
With our system, instead of looking at an image thousands of times
87
260500
3496
Con nuestro sistema, en lugar de mirar una imagen miles de veces
04:24
to produce detection,
88
264020
1456
para hacer la detección,
04:25
you only look once,
89
265500
1256
se mira tan solo una vez,
04:26
and that's why we call it the YOLO method of object detection.
90
266780
2920
y por eso lo llamamos método YOLO de detección de objetos.
04:31
So with this speed, we're not just limited to images;
91
271180
3976
Así que con esta velocidad, no estamos limitados a las imágenes;
04:35
we can process video in real time.
92
275180
2416
podemos procesar el video en tiempo real.
04:37
And now, instead of just seeing that cat and dog,
93
277620
3096
Y ahora, en lugar de solo ver a ese gato y perro,
04:40
we can see them move around and interact with each other.
94
280740
2960
podemos verlos moverse e interactuar unos con otros.
04:46
This is a detector that we trained
95
286380
2056
Este es un detector que entrenamos
04:48
on 80 different classes
96
288460
4376
en 80 clases diferentes
04:52
in Microsoft's COCO dataset.
97
292860
3256
en el conjunto de datos COCO de Microsoft.
04:56
It has all sorts of things like spoon and fork, bowl,
98
296140
3336
Tiene todo tipo de cosas como cuchara y tenedor, cuenco,
04:59
common objects like that.
99
299500
1800
objetos comunes como esos.
05:02
It has a variety of more exotic things:
100
302180
3096
Tiene una variedad de cosas más exóticas:
05:05
animals, cars, zebras, giraffes.
101
305300
3256
animales, autos, cebras, jirafas.
05:08
And now we're going to do something fun.
102
308580
1936
Y ahora vamos a hacer algo divertido.
05:10
We're just going to go out into the audience
103
310540
2096
Solo vamos a ir a la audiencia
05:12
and see what kind of things we can detect.
104
312660
2016
y ver qué tipo de cosas podemos detectar.
05:14
Does anyone want a stuffed animal?
105
314700
1620
¿Alguien quiere un peluche?
05:17
There are some teddy bears out there.
106
317820
1762
Hay algunos osos de peluche por aquí.
05:21
And we can turn down our threshold for detection a little bit,
107
321860
4536
Y podemos reducir nuestro umbral de detección un poco,
05:26
so we can find more of you guys out in the audience.
108
326420
3400
así podemos encontrar a más de Uds. en la audiencia.
05:31
Let's see if we can get these stop signs.
109
331380
2336
Vamos a ver si podemos obtener estas señales de stop.
05:33
We find some backpacks.
110
333740
1880
Encontramos algunas mochilas.
05:37
Let's just zoom in a little bit.
111
337700
1840
Vamos a acercarnos un poco.
05:42
And this is great.
112
342140
1256
Y esto es genial.
05:43
And all of the processing is happening in real time
113
343420
3176
Y todo el procesamiento está sucediendo en tiempo real
05:46
on the laptop.
114
346620
1200
en la computadora portátil.
05:48
And it's important to remember
115
348900
1456
Y es importante recordar
05:50
that this is a general purpose object detection system,
116
350380
3216
que se trata de un sistema de detección de objetos de propósito general,
05:53
so we can train this for any image domain.
117
353620
5000
así que podemos entrenar esto para cualquier dominio de la imagen.
06:00
The same code that we use
118
360140
2536
El mismo código que usamos
06:02
to find stop signs or pedestrians,
119
362700
2456
para encontrar señales de stop o de peatones,
06:05
bicycles in a self-driving vehicle,
120
365180
1976
bicicletas en un vehículo autodirigido,
06:07
can be used to find cancer cells
121
367180
2856
puede usarse para encontrar células cancerosas
06:10
in a tissue biopsy.
122
370060
3016
en una biopsia de tejido.
06:13
And there are researchers around the globe already using this technology
123
373100
4040
Y hay investigadores de todo el mundo que ya usan esta tecnología
06:18
for advances in things like medicine, robotics.
124
378060
3416
para avances en cosas como la medicina, la robótica.
06:21
This morning, I read a paper
125
381500
1376
Esta mañana leí un periódico
06:22
where they were taking a census of animals in Nairobi National Park
126
382900
4576
sobre un censo de animales que estaban haciendo en el Parque Nacional de Nairobi
06:27
with YOLO as part of this detection system.
127
387500
3136
que usa YOLO como parte de este sistema de detección.
06:30
And that's because Darknet is open source
128
390660
3096
Y eso es posible, porque Darknet es de código abierto
06:33
and in the public domain, free for anyone to use.
129
393780
2520
y de dominio público y libre para que lo use cualquier persona.
06:37
(Applause)
130
397420
5696
(Aplausos)
06:43
But we wanted to make detection even more accessible and usable,
131
403140
4936
Pero queríamos que la detección fuera aún más accesible y usable,
06:48
so through a combination of model optimization,
132
408100
4056
por eso, mediante una combinación de optimización de modelos,
06:52
network binarization and approximation,
133
412180
2296
binarización de red y aproximación,
06:54
we actually have object detection running on a phone.
134
414500
3920
tenemos un reconocimiento de objetos que funciona en un teléfono.
07:04
(Applause)
135
424620
5320
(Aplausos)
07:10
And I'm really excited because now we have a pretty powerful solution
136
430780
5056
Y estoy muy contento porque ahora tenemos una solución bastante potente
07:15
to this low-level computer vision problem,
137
435860
2296
a este problema de visión artificial de bajo nivel,
07:18
and anyone can take it and build something with it.
138
438180
3856
y cualquiera puede usarlo y hacer algo con esto.
07:22
So now the rest is up to all of you
139
442060
3176
Así que ahora el resto depende de Uds.
07:25
and people around the world with access to this software,
140
445260
2936
y de personas de todo el mundo con acceso a este software,
07:28
and I can't wait to see what people will build with this technology.
141
448220
3656
y estoy impaciente por ver qué construirá la gente con esta tecnología.
07:31
Thank you.
142
451900
1216
Gracias.
07:33
(Applause)
143
453140
3440
(Aplausos)
Acerca de este sitio web

Este sitio le presentará vídeos de YouTube útiles para aprender inglés. Verá lecciones de inglés impartidas por profesores de primera categoría de todo el mundo. Haz doble clic en los subtítulos en inglés que aparecen en cada página de vídeo para reproducir el vídeo desde allí. Los subtítulos se desplazan en sincronía con la reproducción del vídeo. Si tiene algún comentario o petición, póngase en contacto con nosotros mediante este formulario de contacto.

https://forms.gle/WvT1wiN1qDtmnspy7