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: Como um computador aprende a reconhecer objetos instantaneamente

Filmed:
2,471,805 views

Dez anos atrás, pesquisadores pensavam que fazer um computador dizer a diferença entre um gato e um cachorro seria quase impossível. Hoje, sistemas de visão computacional o fazem com mais de 99 por cento de precisão. Como? Joseph Redmon trabalha no sistema YOLO (You Only Look Once), um método de código aberto para detecção de objetos que consegue identificar objetos em imagens e vídeos - de zebras a placas - de maneira extremamente rápida. Em uma memorável demonstração ao vivo, Redmon mostra este importante passo à frente para aplicações como carros auto-motores, robótica e ainda detecção de 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.

Há dez anos, os investigadores
de visão computacional
00:12
TenDez yearsanos agoatrás,
0
825
1151
00:14
computercomputador visionvisão researcherspesquisadores
thought that gettingobtendo a computercomputador
1
2000
2776
pensavam que fazer
com que um computador
00:16
to tell the differencediferença
betweenentre a catgato and a dogcachorro
2
4800
2696
percebesse a diferença
entre um gato e um cão
00:19
would be almostquase impossibleimpossível,
3
7520
1976
seria praticamente impossível,
00:21
even with the significantsignificativo advanceavançar
in the stateEstado of artificialartificial intelligenceinteligência.
4
9520
3696
mesmo com o avanço significativo
no campo da inteligência artificial.
00:25
Now we can do it at a levelnível
greatermaior than 99 percentpor cento accuracyprecisão.
5
13240
3560
Agora, podemos fazê-lo
com uma precisão superior a 99%.
Isto chama-se classificação de imagem:
00:29
This is calledchamado imageimagem classificationclassificação --
6
17680
1856
dar ao computador uma imagem,
atribuirmos-lhe um rótulo,
00:31
give it an imageimagem,
put a labelrótulo to that imageimagem --
7
19560
3096
00:34
and computerscomputadores know
thousandsmilhares of other categoriescategorias as well.
8
22680
3040
e os computadores reconhecem
milhares de outras categorias também.
00:38
I'm a graduategraduado studentaluna
at the UniversityUniversidade of WashingtonWashington,
9
26680
2896
Sou um aluno de pós-graduação
da Universidade de Washington,
e trabalho num projeto chamado "Darknet",
00:41
and I work on a projectprojeto calledchamado DarknetDarknet,
10
29600
1896
00:43
whichqual is a neuralneural networkrede frameworkestrutura
11
31520
1696
que é uma estrutura de rede neural
00:45
for trainingTreinamento and testingtestando
computercomputador visionvisão modelsmodelos.
12
33240
2816
para treinar e testar modelos
de visão computacional.
00:48
So let's just see what DarknetDarknet thinksacha
13
36080
2976
Então, vamos ver o que a "Darknet" pensa
00:51
of this imageimagem that we have.
14
39080
1760
desta imagem que temos.
00:54
When we runcorre our classifierclassificador
15
42520
2336
Quando usamos
o nosso classificador nesta imagem,
00:56
on this imageimagem,
16
44880
1216
00:58
we see we don't just get
a predictionpredição of dogcachorro or catgato,
17
46120
2456
não ficamos somente a saber
se é um cão ou um gato,
01:00
we actuallyna realidade get
specificespecífico breedprocriar predictionsPrevisões.
18
48600
2336
mas obtemos a raça específica.
01:02
That's the levelnível
of granularitygranularidade we have now.
19
50960
2176
Este é o nível de detalhe que temos agora.
01:05
And it's correctum lugar para outro.
20
53160
1616
E está correto.
01:06
My dogcachorro is in factfacto a malamuteMalamute.
21
54800
1840
O meu cão é, de facto, um malamute.
01:09
So we'venós temos madefeito amazingsurpreendente stridespassos largos
in imageimagem classificationclassificação,
22
57040
4336
Então, fizemos incríveis avanços
na classificação de imagem,
01:13
but what happensacontece
when we runcorre our classifierclassificador
23
61400
2000
mas o que acontece quando usamos
o classificador numa imagem como esta?
01:15
on an imageimagem that looksparece like this?
24
63424
1960
01:19
Well ...
25
67080
1200
Bem...
01:24
We see that the classifierclassificador comesvem back
with a prettybonita similarsemelhante predictionpredição.
26
72640
3896
Vemos que o classificador retorna com
uma predição muito similar.
01:28
And it's correctum lugar para outro,
there is a malamuteMalamute in the imageimagem,
27
76560
3096
E está correta, há um malamute na imagem,
01:31
but just givendado this labelrótulo,
we don't actuallyna realidade know that much
28
79680
3696
mas só através deste rótulo,
não conseguimos saber muito
01:35
about what's going on in the imageimagem.
29
83400
1667
sobre o que se passa na imagem.
01:37
We need something more powerfulpoderoso.
30
85091
1560
Precisamos de algo mais eficaz.
01:39
I work on a problemproblema
calledchamado objectobjeto detectiondetecção,
31
87240
2616
Eu trabalho numa questão
chamada deteção de objetos,
em que analisamos uma imagem
e tentamos achar todos os objetos,
01:41
where we look at an imageimagem
and try to find all of the objectsobjetos,
32
89880
2936
colocamos caixas delimitadoras
à volta deles
01:44
put boundingdelimitadora boxescaixas around them
33
92840
1456
01:46
and say what those objectsobjetos are.
34
94320
1520
e dizemos que objetos são aqueles.
01:48
So here'saqui está what happensacontece
when we runcorre a detectordetector de on this imageimagem.
35
96400
3280
Isto é o que acontece quando
usamos um detetor nesta imagem.
01:53
Now, with this kindtipo of resultresultado,
36
101240
2256
Com este tipo de resultado,
podemos fazer muito mais com os nossos
algoritmos de visão computacional.
01:55
we can do a lot more
with our computercomputador visionvisão algorithmsalgoritmos.
37
103520
2696
01:58
We see that it knowssabe
that there's a catgato and a dogcachorro.
38
106240
2976
Vemos que o detetor sabe
que está ali um gato e um cão.
02:01
It knowssabe theirdeles relativerelativo locationsLocalizações,
39
109240
2256
Ele sabe quais as suas posições relativas,
o tamanho deles.
02:03
theirdeles sizeTamanho.
40
111520
1216
02:04
It maypode even know some extraextra informationem formação.
41
112760
1936
Pode até saber alguma informação extra:
está um livro ali ao fundo.
02:06
There's a booklivro sittingsentado in the backgroundfundo.
42
114720
1960
02:09
And if you want to buildconstruir a systemsistema
on toptopo of computercomputador visionvisão,
43
117280
3256
E se quisermos construir um sistema
a partir da visão computacional,
02:12
say a self-drivingauto-condução vehicleveículo
or a roboticrobótico systemsistema,
44
120560
3456
digamos, um veículo autónomo
ou um sistema robótico,
02:16
this is the kindtipo
of informationem formação that you want.
45
124040
2456
este é o tipo de informação que queremos.
02:18
You want something so that
you can interactinteragir with the physicalfisica worldmundo.
46
126520
3239
Precisamos de algo que possa
interagir com o mundo físico.
Quando comecei a trabalhar
em deteção de objetos,
02:22
Now, when I startedcomeçado workingtrabalhando
on objectobjeto detectiondetecção,
47
130759
2257
levava 20 segundos para
processar uma única imagem.
02:25
it tooktomou 20 secondssegundos
to processprocesso a singlesolteiro imageimagem.
48
133040
3296
02:28
And to get a feel for why
speedRapidez is so importantimportante in this domaindomínio,
49
136360
3880
E para terem uma noção de como a
velocidade é tão importante neste campo,
02:33
here'saqui está an exampleexemplo of an objectobjeto detectordetector de
50
141120
2536
este é um exemplo
de um detetor de objetos
02:35
that takes two secondssegundos
to processprocesso an imageimagem.
51
143680
2416
que leva dois segundos
para processar uma imagem.
02:38
So this is 10 timesvezes fasterMais rápido
52
146120
2616
Isto é, 10 vezes mais rápido
02:40
than the 20-seconds-per-image-segundos-por-imagem detectordetector de,
53
148760
3536
que o detetor de 20-segundos-por-imagem.
02:44
and you can see that by the time
it makesfaz com que predictionsPrevisões,
54
152320
2656
Podem ver que. no tempo
que demora a fazer predições,
02:47
the entireinteira stateEstado of the worldmundo has changedmudou,
55
155000
2040
tudo mudou.
02:49
and this wouldn'tnão seria be very usefulútil
56
157880
2416
Isso não seria muito útil
para uma aplicação.
02:52
for an applicationaplicação.
57
160320
1416
02:53
If we speedRapidez this up
by anotheroutro factorfator of 10,
58
161760
2496
Se aumentarmos a velocidade 10 vezes mais,
02:56
this is a detectordetector de runningcorrida
at fivecinco framesquadros perpor secondsegundo.
59
164280
2816
este é um detetor
a cinco quadros por segundo.
02:59
This is a lot better,
60
167120
1536
Isto é muito melhor
03:00
but for exampleexemplo,
61
168680
1976
mas, por exemplo,
03:02
if there's any significantsignificativo movementmovimento,
62
170680
2296
se houver qualquer
movimento significativo,
03:05
I wouldn'tnão seria want a systemsistema
like this drivingdirigindo my carcarro.
63
173000
2560
eu não quereria um sistema
como este a conduzir o meu carro.
03:09
This is our detectiondetecção systemsistema
runningcorrida in realreal time on my laptopcomputador portátil.
64
177120
3240
Este é o nosso sistema de deteção
em tempo-real no meu portátil.
03:13
So it smoothlysuavemente trackstrilhas me
as I movemover around the framequadro, armação,
65
181000
3136
Ele acompanha-me suavemente
enquanto me movo à volta do quadro,
03:16
and it's robustrobusto to a wideLargo varietyvariedade
of changesalterar in sizeTamanho,
66
184160
3720
e é potente para uma grande variedade
de mudanças de tamanho,
03:21
posepose,
67
189440
1200
de posição,
03:23
forwardprogressivo, backwardpara trás.
68
191280
1856
para a frente, para trás,
isto é uma maravilha.
03:25
This is great.
69
193160
1216
É disto que realmente precisamos
03:26
This is what we really need
70
194400
1736
03:28
if we're going to buildconstruir systemssistemas
on toptopo of computercomputador visionvisão.
71
196160
2896
se formos construir sistemas
a partir de visão computacional.
03:31
(ApplauseAplausos)
72
199080
4000
(Aplausos)
03:36
So in just a fewpoucos yearsanos,
73
204280
2176
Apenas nalguns anos,
03:38
we'venós temos gonefoi from 20 secondssegundos perpor imageimagem
74
206480
2656
mudámos de 20 segundos por imagem
03:41
to 20 millisecondsmilissegundos perpor imageimagem,
a thousandmil timesvezes fasterMais rápido.
75
209160
3536
para 20 milissegundos por imagem,
mil vezes mais rápido.
03:44
How did we get there?
76
212720
1416
Como chegámos lá?
03:46
Well, in the pastpassado,
objectobjeto detectiondetecção systemssistemas
77
214160
3016
Bom, no passado,
os sistemas de deteção de objetos
03:49
would take an imageimagem like this
78
217200
1936
agarrariam numa imagem assim
03:51
and splitDividido it into a bunchgrupo of regionsregiões
79
219160
2456
e dividi-la-iam num punhado de regiões
03:53
and then runcorre a classifierclassificador
on eachcada of these regionsregiões,
80
221640
3256
e depois rodariam um classificador
em cada uma destas regiões.
03:56
and highAlto scorespontuações for that classifierclassificador
81
224920
2536
As pontuações altas
para aquele classificador
03:59
would be consideredconsiderado
detectionsdetecções in the imageimagem.
82
227480
3136
seriam consideradas deteções na imagem.
04:02
But this involvedenvolvido runningcorrida a classifierclassificador
thousandsmilhares of timesvezes over an imageimagem,
83
230640
4056
Mas isto envolvia rodar o classificador
milhares de vezes numa imagem,
04:06
thousandsmilhares of neuralneural networkrede evaluationsAvaliações
to produceproduzir detectiondetecção.
84
234720
2920
milhares de avaliações de redes neurais
para produzir deteção.
04:11
InsteadEm vez disso, we trainedtreinado a singlesolteiro networkrede
to do all of detectiondetecção for us.
85
239240
4536
Em vez disso, treinamos uma única rede
para fazer toda a deteção por nós.
04:15
It producesproduz all of the boundingdelimitadora boxescaixas
and classclasse probabilitiesprobabilidades simultaneouslysimultaneamente.
86
243800
4280
Ela produz todas as caixas limitadoras e
probabilidades de classe simultaneamente.
04:20
With our systemsistema, insteadem vez de of looking
at an imageimagem thousandsmilhares of timesvezes
87
248680
3496
Com o nosso sistema, em vez de
olhar para uma imagem milhares de vezes
04:24
to produceproduzir detectiondetecção,
88
252200
1456
para produzir deteção,
04:25
you only look onceuma vez,
89
253680
1256
olhamos apenas para uma.
04:26
and that's why we call it
the YOLOYOLO methodmétodo of objectobjeto detectiondetecção.
90
254960
2920
É por isso que lhe chamamos
o método YOLO de deteção de objetos.
04:31
So with this speedRapidez,
we're not just limitedlimitado to imagesimagens;
91
259360
3976
Então com essa velocidade,
não estamos limitados apenas a imagens;
04:35
we can processprocesso videovídeo in realreal time.
92
263360
2416
podemos processar vídeos em tempo real.
04:37
And now, insteadem vez de of just seeingvendo
that catgato and dogcachorro,
93
265800
3096
E agora, em vez de ver
um gato e um cão,
04:40
we can see them movemover around
and interactinteragir with eachcada other.
94
268920
2960
podemos vê-los moverem-se
e interagirem um com o outro.
04:46
This is a detectordetector de that we trainedtreinado
95
274560
2056
Este é um detetor que treinámos
04:48
on 80 differentdiferente classesclasses
96
276640
4376
em 80 classes diferentes
04:53
in Microsoft'sDo Microsoft COCOCOCO datasetconjunto de dados.
97
281040
3256
no conjunto de dados COCO, da Microsoft.
04:56
It has all sortstipos of things
like spooncolher and forkgarfo, bowltigela,
98
284320
3336
Ele tem todo o tipo de coisas,
como colher e garfo, tigela,
04:59
commoncomum objectsobjetos like that.
99
287680
1800
objetos comuns como esses.
05:02
It has a varietyvariedade of more exoticexóticas things:
100
290360
3096
Tem uma variedade
de coisas mais exóticas:
05:05
animalsanimais, carscarros, zebraszebras, giraffesgirafas.
101
293480
3256
animais, carros, zebras, girafas.
05:08
And now we're going to do something funDiversão.
102
296760
1936
E agora vamos fazer algo divertido.
Vamos até à audiência e ver
que tipos de coisas podemos detetar.
05:10
We're just going to go
out into the audiencepúblico
103
298720
2096
05:12
and see what kindtipo of things we can detectdetectar.
104
300840
2016
Alguém quer um animal de peluche?
05:14
Does anyonealguém want a stuffedrecheado animalanimal?
105
302880
1620
05:18
There are some teddypeluche bearsursos out there.
106
306000
1762
Há por aqui uns ursinhos.
05:22
And we can turnvirar down
our thresholdlimite for detectiondetecção a little bitpouco,
107
310040
4536
Podemos diminuir o nosso limiar
de deteção por um momento,
05:26
so we can find more of you guys
out in the audiencepúblico.
108
314600
3400
para podemos detetar
mais pessoas na audiência.
05:31
Let's see if we can get these stop signssinais.
109
319560
2336
Vamos ver se conseguimos
detetar essas placas.
05:33
We find some backpacksmochilas.
110
321920
1880
Achámos umas mochilas.
05:37
Let's just zoomzoom in a little bitpouco.
111
325880
1840
Vamos ampliar um pouco.
05:42
And this is great.
112
330320
1256
E isso é ótimo.
05:43
And all of the processingem processamento
is happeningacontecendo in realreal time
113
331600
3176
Todo o processamento
está a ocorrer em tempo real
05:46
on the laptopcomputador portátil.
114
334800
1200
no portátil.
05:49
And it's importantimportante to rememberlembrar
115
337080
1456
E é importante lembrarem-se
que este é um sistema
de deteção de propósito geral,
05:50
that this is a generalgeral purposepropósito
objectobjeto detectiondetecção systemsistema,
116
338560
3216
05:53
so we can traintrem this for any imageimagem domaindomínio.
117
341800
5000
e assim podemos treiná-lo para
qualquer domínio de imagens.
06:00
The samemesmo codecódigo that we use
118
348320
2536
O mesmo código que usamos
06:02
to find stop signssinais or pedestrianspedestres,
119
350880
2456
para encontrar sinais de stop
ou pedestres,
06:05
bicyclesbicicletas in a self-drivingauto-condução vehicleveículo,
120
353360
1976
bicicletas num veículo automotor,
06:07
can be used to find cancerCâncer cellscélulas
121
355360
2856
pode ser usado para encontrar
células cancerígenas
06:10
in a tissuelenço de papel biopsybiópsia.
122
358240
3016
numa biópsia de tecido.
06:13
And there are researcherspesquisadores around the globeglobo
already usingusando this technologytecnologia
123
361280
4040
Há investigadores por todo o mundo
que já usam esta tecnologia
06:18
for advancesavanços in things
like medicineremédio, roboticsrobótica.
124
366240
3416
para progredirem em coisas
como a medicina, a robótica.
06:21
This morningmanhã, I readler a paperpapel
125
369680
1376
Hoje de manhã, li um artigo
06:23
where they were takinglevando a censusCenso
of animalsanimais in NairobiNairobi NationalNacional ParkParque
126
371080
4576
que dizia que estavam a fazer
um recenseamento de animais
no Parque Nacional Nairobi
06:27
with YOLOYOLO as partparte
of this detectiondetecção systemsistema.
127
375680
3136
com YOLO como parte
deste sistema de deteção.
06:30
And that's because DarknetDarknet is openaberto sourcefonte
128
378840
3096
Isto é possível porque a Darknet
é de código aberto
06:33
and in the publicpúblico domaindomínio,
freelivre for anyonealguém to use.
129
381960
2520
e está sob domínio público,
livre para qualquer um usar.
06:37
(ApplauseAplausos)
130
385600
5696
(Aplausos)
06:43
But we wanted to make detectiondetecção
even more accessibleacessível and usableutilizável,
131
391320
4936
Mas queríamos tornar a deteção
ainda mais acessível e utilizável,
06:48
so throughatravés a combinationcombinação
of modelmodelo optimizationotimização,
132
396280
4056
então através de uma combinação
de otimização de modelos,
06:52
networkrede binarizationbinarização and approximationaproximação,
133
400360
2296
binarização de redes e aproximação,
06:54
we actuallyna realidade have objectobjeto detectiondetecção
runningcorrida on a phonetelefone.
134
402680
3920
conseguimos fazer a deteção
de objetos rodar num telemóvel.
07:04
(ApplauseAplausos)
135
412800
5320
(Aplausos)
07:10
And I'm really excitedanimado because
now we have a prettybonita powerfulpoderoso solutionsolução
136
418960
5056
Estou realmente ansioso porque
agora temos uma solução muito poderosa
para este problema de
visão computacional de baixo-nível,
07:16
to this low-levelbaixo nível de computercomputador visionvisão problemproblema,
137
424040
2296
07:18
and anyonealguém can take it
and buildconstruir something with it.
138
426360
3856
e todos podem tomá-lo
e fazer algo com ele.
07:22
So now the restdescansar is up to all of you
139
430240
3176
Agora o resto é com todos vocês
07:25
and people around the worldmundo
with accessAcesso to this softwareProgramas,
140
433440
2936
e com as pessoas em todo o mundo
com acesso a este software.
07:28
and I can't wait to see what people
will buildconstruir with this technologytecnologia.
141
436400
3656
Não posso esperar para ver o que as
pessoas construirão com esta tecnologia.
07:32
Thank you.
142
440080
1216
Obrigado.
07:33
(ApplauseAplausos)
143
441320
3440
(Aplausos)
Translated by Mauricio Antero
Reviewed by Margarida Ferreira

▲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