English-Video.net comment policy

The comment field is common to all languages

Let's write in your language and use "Google Translate" together

Please refer to informative community guidelines on TED.com

TED2017

Joseph Redmon: How computers learn to recognize objects instantly

Joseph Redmon: Como um computador aprende a reconhecer objetos instantaneamente

Filmed
Views 1,303,993

Há dez anos, os pesquisadores achavam que fazer um computador distinguir um gato de um cachorro seria quase impossível. Hoje, os sistemas de visão computacional fazem isso com uma precisão superior a 99%. Como? Joseph Redmon trabalha com o sistema YOLO (You Only Look Once), um método de código aberto para detecção de objetos que pode identificar objetos em imagens e vídeos - de zebras a sinais de PARE - com velocidade extremamente rápida. Em uma extraordinária demonstração ao vivo, Redmon mostra este importante passo adiante para aplicações como carros autodirigíveis, robótica e até 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

Há dez anos, os pesquisadores
da visão computacional
00:12
Ten years ago,
00:14
computer vision researchers
thought that getting a computer
achavam que fazer um computador
distinguir um cão de um gato
00:16
to tell the difference
between a cat and a dog
seria quase impossível,
00:19
would be almost impossible,
mesmo com o avanço significativo
da inteligência artificial.
00:21
even with the significant advance
in the state of artificial intelligence.
Agora podemos fazer isso
com precisão superior a 99%.
00:25
Now we can do it at a level
greater than 99 percent accuracy.
Chamamos de classificação de imagem:
00:29
This is called image classification --
fornecer ao computador uma imagem,
atribuir a ela um rótulo,
00:31
give it an image,
put a label to that image --
e os computadores também reconhecem
milhares de outras categorias.
00:34
and computers know
thousands of other categories as well.
Sou aluno da Universidade de Washington,
00:38
I'm a graduate student
at the University of Washington,
e trabalho no projeto "Darknet",
00:41
and I work on a project called Darknet,
uma estrutura de rede neural para preparar
e testar modelos de visão computacional.
00:43
which is a neural network framework
00:45
for training and testing
computer vision models.
Vamos ver o que o Darknet
acha desta imagem que temos.
00:48
So let's just see what Darknet thinks
00:51
of this image that we have.
Quando executamos
nosso classificador nela,
00:54
When we run our classifier
00:56
on this image,
não sabemos apenas se é um cão ou um gato,
00:58
we see we don't just get
a prediction of dog or cat,
obtemos realmente a raça específica.
01:00
we actually get
specific breed predictions.
É o nível de detalhe que temos agora.
01:02
That's the level
of granularity we have now.
E está correto:
01:05
And it's correct.
meu cachorro é mesmo um malamute.
01:06
My dog is in fact a malamute.
Temos feito avanços incríveis
na classificação de imagens,
01:09
So we've made amazing strides
in image classification,
mas o que acontece quando executamos
o classificador em uma imagem como esta?
01:13
but what happens
when we run our classifier
01:15
on an image that looks like this?
Bem...
01:19
Well ...
Vemos que o classificador retorna
um prognóstico bastante semelhante.
01:24
We see that the classifier comes back
with a pretty similar prediction.
Está certo: há um malamute na imagem.
01:28
And it's correct,
there is a malamute in the image,
Mas só com este rótulo, não sabemos
realmente muito a respeito
01:31
but just given this label,
we don't actually know that much
do que está acontecendo na imagem.
01:35
about what's going on in the image.
Precisamos de algo mais convincente.
01:37
We need something more powerful.
Trabalho com um assunto
chamado detecção de objetos,
01:39
I work on a problem
called object detection,
em que analisamos a imagem
e tentamos achar todos os objetos,
01:41
where we look at an image
and try to find all of the objects,
colocamos molduras ao redor deles
e dizemos o que eles são.
01:44
put bounding boxes around them
01:46
and say what those objects are.
Isso é o que acontece quando executamos
um detector nesta imagem.
01:48
So here's what happens
when we run a detector on this image.
Com este tipo de resultado,
01:53
Now, with this kind of result,
podemos fazer muito mais
com a visão computacional.
01:55
we can do a lot more
with our computer vision algorithms.
Vemos que o detector identifica
que há um gato e um cachorro.
01:58
We see that it knows
that there's a cat and a dog.
Sabe a posição relativa e o tamanho deles.
02:01
It knows their relative locations,
02:03
their size.
02:04
It may even know some extra information.
Pode até identificar algumas informações
extras, como um livro ao fundo.
02:06
There's a book sitting in the background.
Se quiserem construir um sistema
atualizado de visão computacional,
02:09
And if you want to build a system
on top of computer vision,
como um veículo autodirigível
ou um sistema robótico,
02:12
say a self-driving vehicle
or a robotic system,
este é o tipo de informação
que vocês precisam.
02:16
this is the kind
of information that you want.
Precisam de algo para poder
interagir com o mundo físico.
02:18
You want something so that
you can interact with the physical world.
Quando comecei a detectar objetos,
02:22
Now, when I started working
on object detection,
demorava 20 segundos
para processar uma única imagem.
02:25
it took 20 seconds
to process a single image.
Para ter uma ideia da importância
da velocidade nesta área,
02:28
And to get a feel for why
speed is so important in this domain,
aqui está um exemplo
de um detector de objetos
02:33
here's an example of an object detector
que leva dois segundos
para processar uma imagem.
02:35
that takes two seconds
to process an image.
É dez vezes mais rápido
02:38
So this is 10 times faster
que o detector de 20 segundos por imagem.
02:40
than the 20-seconds-per-image detector,
Você podem ver que, quando são feitos
os prognósticos, tudo mudou,
02:44
and you can see that by the time
it makes predictions,
02:47
the entire state of the world has changed,
o que não seria muito útil
para uma aplicação.
02:49
and this wouldn't be very useful
02:52
for an application.
Se aumentarmos a velocidade em dez vezes,
02:53
If we speed this up
by another factor of 10,
teremos um detector executando
a cinco quadros por segundo.
02:56
this is a detector running
at five frames per second.
Isso é muito melhor, mas, por exemplo,
02:59
This is a lot better,
03:00
but for example,
se houver algum movimento significativo,
03:02
if there's any significant movement,
eu não gostaria de um sistema
como esse dirigindo meu carro.
03:05
I wouldn't want a system
like this driving my car.
Este é nosso sistema de detecção
rodando em tempo real em meu laptop.
03:09
This is our detection system
running in real time on my laptop.
Ele acompanha suavemente
meu movimento ao redor do quadro,
03:13
So it smoothly tracks me
as I move around the frame,
e é potente para uma grande variedade
de mudanças de tamanho,
03:16
and it's robust to a wide variety
of changes in size,
pose,
03:21
pose,
para frente, para trás.
03:23
forward, backward.
Isso é ótimo.
03:25
This is great.
É o que realmente precisamos
03:26
This is what we really need
se formos construir sistemas
atualizados de visão computacional.
03:28
if we're going to build systems
on top of computer vision.
03:31
(Applause)
(Aplausos)
Em apenas alguns anos,
03:36
So in just a few years,
passamos de 20 segundos por imagem
03:38
we've gone from 20 seconds per image
a 20 milissegundos, mil vezes mais rápido.
03:41
to 20 milliseconds per image,
a thousand times faster.
Como chegamos lá?
03:44
How did we get there?
No passado, os sistemas
de detecção de objetos
03:46
Well, in the past,
object detection systems
pegavam uma imagem como esta,
03:49
would take an image like this
dividiam-na em várias partes
03:51
and split it into a bunch of regions
e depois executavam
um classificador em cada uma delas.
03:53
and then run a classifier
on each of these regions,
As pontuações altas
para esse classificador
03:56
and high scores for that classifier
eram consideradas detecções na imagem.
03:59
would be considered
detections in the image.
Mas isso envolvia rodar um classificador
milhares de vezes em uma imagem,
04:02
But this involved running a classifier
thousands of times over an image,
milhares de avaliações de rede neural
para fazer a detecção.
04:06
thousands of neural network evaluations
to produce detection.
Em vez disso, preparamos uma única rede
para fazer toda a detecção para nós.
04:11
Instead, we trained a single network
to do all of detection for us.
Ela cria todas as molduras
e probabilidades de classe ao mesmo tempo.
04:15
It produces all of the bounding boxes
and class probabilities simultaneously.
Com nosso sistema, em vez de analisar
uma imagem milhares de vezes
04:20
With our system, instead of looking
at an image thousands of times
para fazer a detecção,
olhamos apenas uma vez.
04:24
to produce detection,
04:25
you only look once,
04:26
and that's why we call it
the YOLO method of object detection.
Por isso, chamamos de método
"YOLO" de detecção de objetos.
04:31
So with this speed,
we're not just limited to images;
Com essa velocidade, não estamos
limitados somente a imagens;
04:35
we can process video in real time.
podemos processar vídeos em tempo real.
04:37
And now, instead of just seeing
that cat and dog,
Em vez de ver apenas
aquele gato e cachorro,
podemos ver o movimento
e a interação entre eles.
04:40
we can see them move around
and interact with each other.
Este é um detector que desenvolvemos
04:46
This is a detector that we trained
em 80 classes diferentes
04:48
on 80 different classes
no conjunto de dados "COCO" da Microsoft.
04:53
in Microsoft's COCO dataset.
Ele contém todo tipo de coisas,
como colher, garfo, tigela,
04:56
It has all sorts of things
like spoon and fork, bowl,
objetos comuns assim.
04:59
common objects like that.
Contém uma variedade
de coisas mais exóticas:
05:02
It has a variety of more exotic things:
animais, carros, zebras, girafas.
05:05
animals, cars, zebras, giraffes.
Agora vamos fazer algo divertido.
05:08
And now we're going to do something fun.
Iremos para a plateia e veremos
que tipo de coisas podemos detectar.
05:10
We're just going to go
out into the audience
05:12
and see what kind of things we can detect.
Alguém quer um bicho de pelúcia?
05:14
Does anyone want a stuffed animal?
Há alguns ursinhos de pelúcia por aí.
05:18
There are some teddy bears out there.
05:22
And we can turn down
our threshold for detection a little bit,
Podemos diminuir um pouco
nossa tolerância de detecção,
para poder encontrar
mais de vocês na plateia.
05:26
so we can find more of you guys
out in the audience.
Vamos ver se conseguirmos
pegar os sinais de PARE.
05:31
Let's see if we can get these stop signs.
05:33
We find some backpacks.
Encontramos algumas mochilas.
Vamos ampliar um pouco.
05:37
Let's just zoom in a little bit.
Isso é ótimo.
05:42
And this is great.
Todo o processamento acontece
em tempo real no laptop.
05:43
And all of the processing
is happening in real time
05:46
on the laptop.
É importante lembrar
05:49
And it's important to remember
que este é um sistema de detecção
de objetos de uso geral.
05:50
that this is a general purpose
object detection system,
Podemos desenvolver isso
para qualquer domínio de imagem.
05:53
so we can train this for any image domain.
O mesmo código que usamos
06:00
The same code that we use
para encontrar sinais
de PARE ou pedestres,
06:02
to find stop signs or pedestrians,
bicicletas em um veículo autodirigível,
06:05
bicycles in a self-driving vehicle,
pode ser usado para encontrar
células cancerígenas
06:07
can be used to find cancer cells
em uma biópsia de tecido.
06:10
in a tissue biopsy.
Existem pesquisadores em todo o mundo
que já utilizam esta tecnologia
06:13
And there are researchers around the globe
already using this technology
para avanços em coisas
como medicina, robótica.
06:18
for advances in things
like medicine, robotics.
Esta manhã, li um artigo
06:21
This morning, I read a paper
sobre um recenseamento
de animais no Nairobi National Park
06:23
where they were taking a census
of animals in Nairobi National Park
utilizando o YOLO como parte
deste sistema de detecção.
06:27
with YOLO as part
of this detection system.
Isso porque o Darknet tem o código aberto
06:30
And that's because Darknet is open source
de domínio público, gratuito
para qualquer um usar.
06:33
and in the public domain,
free for anyone to use.
(Aplausos)
06:37
(Applause)
Mas queríamos tornar a detecção
ainda mais acessível e utilizável.
06:43
But we wanted to make detection
even more accessible and usable,
Então, por meio de uma combinação
de otimização de modelo,
06:48
so through a combination
of model optimization,
aproximação e binarização de redes,
06:52
network binarization and approximation,
temos realmente a detecção de objetos
sendo executada em um celular.
06:54
we actually have object detection
running on a phone.
(Aplausos)
07:04
(Applause)
Estou realmente animado,
pois temos uma solução muito potente
07:10
And I'm really excited because
now we have a pretty powerful solution
para esta questão de visão computacional.
07:16
to this low-level computer vision problem,
Qualquer um pode pegar
e construir algo com ele.
07:18
and anyone can take it
and build something with it.
O restante depende agora de vocês
07:22
So now the rest is up to all of you
e das pessoas em todo o mundo
com acesso a este software.
07:25
and people around the world
with access to this software,
Mal posso esperar para ver
o que elas farão com essa tecnologia.
07:28
and I can't wait to see what people
will build with this technology.
Obrigado.
07:32
Thank you.
(Aplausos)
07:33
(Applause)
Translated by Maurício Kakuei Tanaka
Reviewed by Maricene Crus

▲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