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

Joseph Redmon: Cómo las computadoras aprenden a reconocer objetos al instante

Filmed:
2,471,805 views

Hace diez años los investigadores pensaban que inventar una computadora que distinguiera un gato de un perro sería casi imposible. Hoy en día los sistemas de visión artificial lo hacen con una precisión superior al 99 %. ¿Cómo? Joseph Redmon trabaja en el sistema YOLO (You Only Look Once), un método de detección de objetos de código abierto que puede identificar objetos en imágenes y video, desde cebras hasta señales de stop, a una gran velocidad. En una demostración en vivo memorable, Redmon muestra este importante avance con aplicaciones en la autoconducción de autos, robótica e incluso en la detección del cáncer.
- 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.

Hace diez años los investigadores
de la visión artificial
00:12
TenDiez yearsaños agohace,
0
825
1151
00:14
computercomputadora visionvisión researchersinvestigadores
thought that gettingconsiguiendo a computercomputadora
1
2000
2776
pensaban que hacer que una computadora
00:16
to tell the differencediferencia
betweenEntre a catgato and a dogperro
2
4800
2696
distinguiera un gato de un perro
00:19
would be almostcasi impossibleimposible,
3
7520
1976
sería casi imposible,
00:21
even with the significantsignificativo advanceavanzar
in the stateestado of artificialartificial intelligenceinteligencia.
4
9520
3696
incluso con el avance significativo
de la inteligencia artificial.
00:25
Now we can do it at a levelnivel
greatermayor than 99 percentpor ciento accuracyexactitud.
5
13240
3560
Ahora podemos hacerlo con un nivel
superior al 99 % de precisión.
00:29
This is calledllamado imageimagen classificationclasificación --
6
17680
1856
Esto se llama clasificación de imagen.
00:31
give it an imageimagen,
put a labeletiqueta to that imageimagen --
7
19560
3096
Esto es, poner una etiqueta a esa imagen.
00:34
and computersordenadores know
thousandsmiles of other categoriescategorías as well.
8
22680
3040
Y las computadoras conocen miles
de otras categorías también.
Soy estudiante de posgrado
en la Universidad de Washington,
00:38
I'm a graduategraduado studentestudiante
at the UniversityUniversidad of WashingtonWashington,
9
26680
2896
y trabajo en un proyecto llamado Darknet,
00:41
and I work on a projectproyecto calledllamado DarknetDarknet,
10
29600
1896
00:43
whichcual is a neuralneural networkred frameworkmarco de referencia
11
31520
1696
que es un framework de red neuronal
00:45
for trainingformación and testingpruebas
computercomputadora visionvisión modelsmodelos.
12
33240
2816
para la capacitación y ensayo
de modelos de visión artificial,
00:48
So let's just see what DarknetDarknet thinkspiensa
13
36080
2976
Así que veamos lo que piensa Darknet
00:51
of this imageimagen that we have.
14
39080
1760
de esta imagen que tenemos aquí.
00:54
When we runcorrer our classifierclasificador
15
42520
2336
Cuando ejecutamos nuestro clasificador
en esta imagen,
00:56
on this imageimagen,
16
44880
1216
vemos que no solo se obtiene
una predicción de perro o gato,
00:58
we see we don't just get
a predictionpredicción of dogperro or catgato,
17
46120
2456
en realidad, obtenemos
predicciones de raza específicas.
01:00
we actuallyactualmente get
specificespecífico breedraza predictionspredicciones.
18
48600
2336
01:02
That's the levelnivel
of granularitygranularidad we have now.
19
50960
2176
Ese es el nivel de granularidad actual.
01:05
And it's correctcorrecto.
20
53160
1616
Y es correcto.
01:06
My dogperro is in facthecho a malamutemalamute.
21
54800
1840
Mi perro es de hecho un malamute.
01:09
So we'venosotros tenemos madehecho amazingasombroso stridespasos
in imageimagen classificationclasificación,
22
57040
4336
Hemos hecho avances increíbles
en la clasificación de imágenes,
01:13
but what happenssucede
when we runcorrer our classifierclasificador
23
61400
2000
pero ¿qué pasa
al ejecutar nuestro clasificador
01:15
on an imageimagen that looksmiradas like this?
24
63424
1960
en una imagen así?
01:19
Well ...
25
67080
1200
Bien...
01:24
We see that the classifierclasificador comesproviene back
with a prettybonita similarsimilar predictionpredicción.
26
72640
3896
Vemos que el clasificador vuelve
con una predicción bastante similar.
01:28
And it's correctcorrecto,
there is a malamutemalamute in the imageimagen,
27
76560
3096
Y es correcto,
hay un malamute en la imagen,
01:31
but just givendado this labeletiqueta,
we don't actuallyactualmente know that much
28
79680
3696
pero solo con esta etiqueta,
en realidad, no sabemos mucho
01:35
about what's going on in the imageimagen.
29
83400
1667
sobre lo que pasa en la imagen.
01:37
We need something more powerfulpoderoso.
30
85091
1560
Necesitamos algo más potente.
Trabajo en un problema
llamado detección de objetos,
01:39
I work on a problemproblema
calledllamado objectobjeto detectiondetección,
31
87240
2616
donde miramos una imagen e
intentamos encontrar todos los objetos,
01:41
where we look at an imageimagen
and try to find all of the objectsobjetos,
32
89880
2936
poniendo cajas delimitadoras
alrededor de ellos
01:44
put boundingdelimitador boxescajas around them
33
92840
1456
01:46
and say what those objectsobjetos are.
34
94320
1520
y averiguar qué son esos objetos.
01:48
So here'saquí está what happenssucede
when we runcorrer a detectordetector on this imageimagen.
35
96400
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 kindtipo of resultresultado,
36
101240
2256
podemos hacer mucho más con nuestros
algoritmos de visión artificial.
01:55
we can do a lot more
with our computercomputadora visionvisión algorithmsAlgoritmos.
37
103520
2696
01:58
We see that it knowssabe
that there's a catgato and a dogperro.
38
106240
2976
Vemos que sabe que hay un gato y un perro.
02:01
It knowssabe theirsu relativerelativo locationsubicaciones,
39
109240
2256
Conoce sus ubicaciones relativas,
02:03
theirsu sizetamaño.
40
111520
1216
su tamaño.
02:04
It maymayo even know some extraextra informationinformación.
41
112760
1936
Incluso puede saber
alguna información adicional.
02:06
There's a booklibro sittingsentado in the backgroundfondo.
42
114720
1960
Hay un libro en el fondo.
02:09
And if you want to buildconstruir a systemsistema
on topparte superior of computercomputadora visionvisión,
43
117280
3256
Y si desea construir un sistema con base
en la visión artificial
02:12
say a self-drivingconducción autónoma vehiclevehículo
or a roboticrobótico systemsistema,
44
120560
3456
por ejemplo, un vehículo autodirigido
o un sistema robótico,
02:16
this is the kindtipo
of informationinformación that you want.
45
124040
2456
este es el tipo de información
que necesita.
02:18
You want something so that
you can interactinteractuar with the physicalfísico worldmundo.
46
126520
3239
Algo para interactuar con el mundo físico.
Cuando empecé a trabajar
en la detección de objetos,
02:22
Now, when I startedempezado workingtrabajando
on objectobjeto detectiondetección,
47
130759
2257
02:25
it tooktomó 20 secondssegundos
to processproceso a singlesoltero imageimagen.
48
133040
3296
se tardaba 20 segundos
en procesar una sola imagen.
02:28
And to get a feel for why
speedvelocidad is so importantimportante in this domaindominio,
49
136360
3880
Y para entender por qué la velocidad
es tan importante en este ámbito,
02:33
here'saquí está an exampleejemplo of an objectobjeto detectordetector
50
141120
2536
este es un ejemplo
de un detector de objetos
02:35
that takes two secondssegundos
to processproceso an imageimagen.
51
143680
2416
que tarda dos segundos
en procesar una imagen.
02:38
So this is 10 timesveces fasterMás rápido
52
146120
2616
Así que esto es 10 veces más rápido
02:40
than the 20-seconds-per-image-segundos por imagen detectordetector,
53
148760
3536
que el detector de 20 segundos por imagen,
02:44
and you can see that by the time
it makeshace predictionspredicciones,
54
152320
2656
y se puede ver que, en el momento
de hacer las predicciones,
02:47
the entiretodo stateestado of the worldmundo has changedcambiado,
55
155000
2040
el estado entero del mundo ha cambiado,
02:49
and this wouldn'tno lo haría be very usefulútil
56
157880
2416
y esto no sería muy útil
02:52
for an applicationsolicitud.
57
160320
1416
para una aplicación.
02:53
If we speedvelocidad this up
by anotherotro factorfactor of 10,
58
161760
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 detectordetector runningcorriendo
at fivecinco framesmarcos perpor secondsegundo.
59
164280
2816
02:59
This is a lot better,
60
167120
1536
Esto es mucho mejor
03:00
but for exampleejemplo,
61
168680
1976
pero, por ejemplo,
03:02
if there's any significantsignificativo movementmovimiento,
62
170680
2296
si hay algún movimiento significativo,
03:05
I wouldn'tno lo haría want a systemsistema
like this drivingconducción my carcoche.
63
173000
2560
yo no quisiera un sistema como este
conduciendo mi auto.
Este es nuestro sistema de detección que
se ejecuta en tiempo real en mi portátil.
03:09
This is our detectiondetección systemsistema
runningcorriendo in realreal time on my laptopordenador portátil.
64
177120
3240
03:13
So it smoothlysuavemente trackspistas me
as I movemovimiento around the framemarco,
65
181000
3136
Así que suavemente me sigue
mientras me muevo en la imagen,
03:16
and it's robustrobusto to a wideamplio varietyvariedad
of changescambios in sizetamaño,
66
184160
3720
y es robusto con una amplia variedad
de cambios de tamaño,
03:21
posepose,
67
189440
1200
poses,
03:23
forwardadelante, backwardhacia atrás.
68
191280
1856
hacia adelante, hacia atrás.
03:25
This is great.
69
193160
1216
Esto es genial.
03:26
This is what we really need
70
194400
1736
Esto es lo que realmente necesitamos
03:28
if we're going to buildconstruir systemssistemas
on topparte superior of computercomputadora visionvisión.
71
196160
2896
si vamos a construir sistemas
con base en visión artificial.
03:31
(ApplauseAplausos)
72
199080
4000
(Aplausos)
03:36
So in just a fewpocos yearsaños,
73
204280
2176
Así que en solo unos pocos años,
03:38
we'venosotros tenemos goneido from 20 secondssegundos perpor imageimagen
74
206480
2656
hemos pasado de 20 segundos por imagen
03:41
to 20 millisecondsmilisegundos perpor imageimagen,
a thousandmil timesveces fasterMás rápido.
75
209160
3536
a 20 milisegundos por imagen,
mil veces más rápido.
03:44
How did we get there?
76
212720
1416
¿Cómo llegamos hasta aquí?
03:46
Well, in the pastpasado,
objectobjeto detectiondetección systemssistemas
77
214160
3016
Bueno, en el pasado,
los sistemas de detección de objetos
03:49
would take an imageimagen like this
78
217200
1936
tomaban una imagen como esta
03:51
and splitdivisión it into a bunchmanojo of regionsregiones
79
219160
2456
y la dividían en un montón de regiones
03:53
and then runcorrer a classifierclasificador
on eachcada of these regionsregiones,
80
221640
3256
y luego ejecutaban un clasificador
en cada una de estas regiones,
03:56
and highalto scorespuntuaciones for that classifierclasificador
81
224920
2536
y las puntuaciones altas
de ese clasificador
03:59
would be consideredconsiderado
detectionsdetecciones in the imageimagen.
82
227480
3136
se consideraban detecciones de la imagen.
04:02
But this involvedinvolucrado runningcorriendo a classifierclasificador
thousandsmiles of timesveces over an imageimagen,
83
230640
4056
Pero eso implicaba ejecutar un clasificador
miles de veces sobre una imagen,
04:06
thousandsmiles of neuralneural networkred evaluationsevaluaciones
to produceProduce detectiondetección.
84
234720
2920
miles de evaluaciones de redes neuronales
para producir detección.
04:11
InsteadEn lugar, we trainedentrenado a singlesoltero networkred
to do all of detectiondetección for us.
85
239240
4536
En cambio, nosotros hemos entrenado
una sola red para hacer toda la detección.
04:15
It producesproduce all of the boundingdelimitador boxescajas
and classclase probabilitiesprobabilidades simultaneouslysimultaneamente.
86
243800
4280
Produce todas las cajas delimitadoras
y ordena las probabilidades en simultáneo.
04:20
With our systemsistema, insteaden lugar of looking
at an imageimagen thousandsmiles of timesveces
87
248680
3496
Con nuestro sistema, en lugar
de mirar una imagen miles de veces
04:24
to produceProduce detectiondetección,
88
252200
1456
para hacer la detección,
04:25
you only look onceuna vez,
89
253680
1256
se mira tan solo una vez,
04:26
and that's why we call it
the YOLOYOLO methodmétodo of objectobjeto detectiondetección.
90
254960
2920
y por eso lo llamamos
método YOLO de detección de objetos.
04:31
So with this speedvelocidad,
we're not just limitedlimitado to imagesimágenes;
91
259360
3976
Así que con esta velocidad,
no estamos limitados a las imágenes;
04:35
we can processproceso videovídeo in realreal time.
92
263360
2416
podemos procesar el video en tiempo real.
04:37
And now, insteaden lugar of just seeingviendo
that catgato and dogperro,
93
265800
3096
Y ahora, en lugar de solo ver
a ese gato y perro,
04:40
we can see them movemovimiento around
and interactinteractuar with eachcada other.
94
268920
2960
podemos verlos moverse
e interactuar unos con otros.
04:46
This is a detectordetector that we trainedentrenado
95
274560
2056
Este es un detector que entrenamos
04:48
on 80 differentdiferente classesclases
96
276640
4376
en 80 clases diferentes
04:53
in Microsoft'sMicrosoft COCOPALMA DE COCO datasetconjunto de datos.
97
281040
3256
en el conjunto de datos COCO de Microsoft.
04:56
It has all sortstipo of things
like spooncuchara and forktenedor, bowlcuenco,
98
284320
3336
Tiene todo tipo de cosas
como cuchara y tenedor, cuenco,
04:59
commoncomún objectsobjetos like that.
99
287680
1800
objetos comunes como esos.
05:02
It has a varietyvariedad of more exoticexótico things:
100
290360
3096
Tiene una variedad de cosas más exóticas:
05:05
animalsanimales, carscarros, zebrascebras, giraffesjirafas.
101
293480
3256
animales, autos, cebras, jirafas.
05:08
And now we're going to do something fundivertido.
102
296760
1936
Y ahora vamos a hacer algo divertido.
05:10
We're just going to go
out into the audienceaudiencia
103
298720
2096
Solo vamos a ir a la audiencia
05:12
and see what kindtipo of things we can detectdetectar.
104
300840
2016
y ver qué tipo de cosas podemos detectar.
05:14
Does anyonenadie want a stuffedrelleno animalanimal?
105
302880
1620
¿Alguien quiere un peluche?
05:18
There are some teddyosito de peluche bearsosos out there.
106
306000
1762
Hay algunos osos de peluche por aquí.
05:22
And we can turngiro down
our thresholdlímite for detectiondetección a little bitpoco,
107
310040
4536
Y podemos reducir
nuestro umbral de detección un poco,
05:26
so we can find more of you guys
out in the audienceaudiencia.
108
314600
3400
así podemos encontrar
a más de Uds. en la audiencia.
Vamos a ver si podemos obtener
estas señales de stop.
05:31
Let's see if we can get these stop signsseñales.
109
319560
2336
05:33
We find some backpacksmochilas.
110
321920
1880
Encontramos algunas mochilas.
05:37
Let's just zoomenfocar in a little bitpoco.
111
325880
1840
Vamos a acercarnos un poco.
05:42
And this is great.
112
330320
1256
Y esto es genial.
05:43
And all of the processingtratamiento
is happeningsucediendo in realreal time
113
331600
3176
Y todo el procesamiento
está sucediendo en tiempo real
05:46
on the laptopordenador portátil.
114
334800
1200
en la computadora portátil.
05:49
And it's importantimportante to rememberrecuerda
115
337080
1456
Y es importante recordar
05:50
that this is a generalgeneral purposepropósito
objectobjeto detectiondetección systemsistema,
116
338560
3216
que se trata de un sistema de
detección de objetos de propósito general,
05:53
so we can traintren this for any imageimagen domaindominio.
117
341800
5000
así que podemos entrenar esto
para cualquier dominio de la imagen.
06:00
The samemismo codecódigo that we use
118
348320
2536
El mismo código que usamos
06:02
to find stop signsseñales or pedestrianspeatones,
119
350880
2456
para encontrar señales
de stop o de peatones,
06:05
bicyclesbicicletas in a self-drivingconducción autónoma vehiclevehículo,
120
353360
1976
bicicletas en un vehículo autodirigido,
06:07
can be used to find cancercáncer cellsCélulas
121
355360
2856
puede usarse
para encontrar células cancerosas
06:10
in a tissuetejido biopsybiopsia.
122
358240
3016
en una biopsia de tejido.
06:13
And there are researchersinvestigadores around the globeglobo
alreadyya usingutilizando this technologytecnología
123
361280
4040
Y hay investigadores de todo el mundo
que ya usan esta tecnología
06:18
for advancesavances in things
like medicinemedicina, roboticsrobótica.
124
366240
3416
para avances en cosas
como la medicina, la robótica.
06:21
This morningMañana, I readleer a paperpapel
125
369680
1376
Esta mañana leí un periódico
06:23
where they were takingtomando a censuscenso
of animalsanimales in NairobiNairobi NationalNacional ParkParque
126
371080
4576
sobre un censo de animales que estaban
haciendo en el Parque Nacional de Nairobi
06:27
with YOLOYOLO as partparte
of this detectiondetección systemsistema.
127
375680
3136
que usa YOLO como parte
de este sistema de detección.
06:30
And that's because DarknetDarknet is openabierto sourcefuente
128
378840
3096
Y eso es posible,
porque Darknet es de código abierto
06:33
and in the publicpúblico domaindominio,
freegratis for anyonenadie to use.
129
381960
2520
y de dominio público y libre para
que lo use cualquier persona.
06:37
(ApplauseAplausos)
130
385600
5696
(Aplausos)
06:43
But we wanted to make detectiondetección
even more accessibleaccesible and usableusable,
131
391320
4936
Pero queríamos que la detección
fuera aún más accesible y usable,
06:48
so throughmediante a combinationcombinación
of modelmodelo optimizationmejoramiento,
132
396280
4056
por eso, mediante una combinación
de optimización de modelos,
06:52
networkred binarizationbinarización and approximationaproximación,
133
400360
2296
binarización de red y aproximación,
06:54
we actuallyactualmente have objectobjeto detectiondetección
runningcorriendo on a phoneteléfono.
134
402680
3920
tenemos un reconocimiento de objetos
que funciona en un teléfono.
07:04
(ApplauseAplausos)
135
412800
5320
(Aplausos)
07:10
And I'm really excitedemocionado because
now we have a prettybonita powerfulpoderoso solutionsolución
136
418960
5056
Y estoy muy contento porque ahora
tenemos una solución bastante potente
a este problema de visión artificial
de bajo nivel,
07:16
to this low-levelnivel bajo computercomputadora visionvisión problemproblema,
137
424040
2296
07:18
and anyonenadie can take it
and buildconstruir something with it.
138
426360
3856
y cualquiera puede usarlo
y hacer algo con esto.
07:22
So now the restdescanso is up to all of you
139
430240
3176
Así que ahora el resto depende de Uds.
07:25
and people around the worldmundo
with accessacceso to this softwaresoftware,
140
433440
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 buildconstruir with this technologytecnología.
141
436400
3656
y estoy impaciente por ver qué construirá
la gente con esta tecnología.
07:32
Thank you.
142
440080
1216
Gracias.
07:33
(ApplauseAplausos)
143
441320
3440
(Aplausos)

▲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