Hai dez anos,
os expertos en visión artificial
crían que lograr que un ordenador
distinguise entre un gato e un can
sería practicamente imposible
malia os considerables progresos
en intelixencia artificial.
Hoxe podemos facelo cunha precisión
superior ao 99 por cento.
Isto chámase clasificación de imaxes:
dada unha imaxe, asígnalle unha etiqueta.
E os ordenadores coñecen ademais
miles doutras categorías.
Son estudante de posgrao
na Universidade de Washington,
e traballo nun proxecto chamado Darknet,
un contorno de traballo de rede neural
para adestrar e probar
modelos de visión artificial.
Imos ver o que pensa Darknet
desta imaxe que temos aquí.
Ao aplicarlle o noso clasificador
a esta imaxe,
vemos que non se limita a predicir
can ou gato;
de feito, dános tamén razas concretas.
Ese é o nivel de granularidade
que temos agora.
E é correcto.
O meu can é efectivamente un malamute.
Así que demos xa pasos enormes
na clasificación de imaxes,
pero que acontece se executamos
o noso clasificador
sobre unha imaxe coma esta?
Ben...
Vemos que o clasificador nos devolve
unha predición bastante similar.
E é correcta: hai un malamute na imaxe,
pero con só esa etiqueta,
en realidade, non sabemos moito
sobre o que ocorre nela.
Necesitamos algo máis potente.
Eu traballo nun problema denominado
detección de obxectos,
no que vemos unha imaxe e tratamos
de atopar todos os obxectos,
encerrámolos en caixas
e dicimos que son eses obxectos.
Isto é o que acontece cando lle aplicamos
un detector a esta imaxe.
Ben, con este tipo de resultado
podemos facer moito máis cos nosos
algoritmos de visión artificial.
Vemos que sabe que hai
un gato e un can.
Sabe a súa posición relativa,
o seu tamaño.
Mesmo pode coñecer
algúns datos adicionais.
Hai un libro ao fondo.
E se queremos construír un sistema
baseado na visión artificial,
por exemplo, un vehículo autónomo
ou un sistema robótico,
esta é a clase de información
que necesitamos.
Necesitamos algo que faga posible
interactuar co mundo físico.
Cando eu comecei a traballar
coa detección de obxectos,
tardábase 20 segundos
en procesar unha soa imaxe.
Para darvos unha idea da importancia
da velocidade neste ámbito,
este é un exemplo dun detector de obxectos
que tarda dous segundos
en procesar unha imaxe.
É dicir, é 10 veces máis rápido
có dos 20 segundos por imaxe,
e, como vedes, cando fai a súa predición,
a situación xa mudou por completo,
o cal non sería moi útil
para ningunha aplicación.
Se multiplicamos a velocidade por 10,
temos un detector que vai
a cinco imaxes por segundo.
É moito mellor,
pero, por exemplo,
se hai un movemento grande,
a min non me gustaría que un sistema
coma este conducise o meu coche.
Este é o noso sistema de detección
funcionando en tempo real no meu portátil.
Segue sen saltos
os meus desprazamentos pola imaxe,
e responde de forma fiable
a moi diversos cambios de tamaño,
postura,
avance, retroceso.
É fantástico.
Isto é o que necesitamos
se pretendemos construír sistemas
baseados na visión artificial.
(Aplausos)
Así que en apenas uns anos,
pasamos de 20 segundos por imaxe
a 20 milisegundos por imaxe,
mil veces máis rápido.
Como chegamos ata aquí?
Ben, os anteriores sistemas
de detección de obxectos
collían unha imaxe coma esta,
dividíana nunha serie de rexións
e executaban un clasificador
en cada unha desas rexións,
e os valores altos nun clasificador dado
interpretábanse como deteccións na imaxe.
Pero isto supoñía executar un clasificador
miles de veces sobre unha imaxe.
miles de avaliacións por redes neurais
para producir unha detección.
Nós, en cambio, adestramos unha soa rede
para que fixese todo o proceso.
Produce simultaneamente todas as caixas
e as probabilidades de clase.
Co noso sistema, no canto de analizar
unha imaxe miles de veces
para producir unha detección,
só é necesario mirala unha vez.
Chamámoslle método YOLO
de detección de obxectos.
Con esta velocidade, non estamos
limitados ás imaxes estáticas;
podemos procesar vídeo en tempo real.
Agora, no canto de simplemente
ver o gato e o can,
podemos velos moverse e interactuar.
Este é un detector que adestramos
con 80 categorías distintas
do banco de datos COCO de Microsoft.
Contén todo tipo de cousas,
como culler e garfo, cunca,
obxectos comúns.
Ten outras cousas máis exóticas:
animais, coches, cebras, xirafas.
Agora imos facer algo divertido.
Ímonos achegar ao público
para ver que podemos detectar.
Alguén quere unha peluche?
Hai por aí uns cantos osos de peluche.
Podemos baixar un pouquiño
o limiar de detección,
para atopar máis cousas entre o público.
A ver se podemos localizar
eses sinais de stop.
Atopamos algunhas mochilas.
Démoslle un pouco ao zoom.
Isto é fantástico.
E todo ese procesamento
estase realizando en tempo real
no portátil.
Cómpre lembrar
que este é un sistema de detección
de uso xeral,
polo que podemos adestralo
para calquera ámbito.
O mesmo código que empregamos
para detectar sinais de stop, peóns
ou bicicletas nun vehículo autónomo
pódese empregar para detectar
células cancerosas
nunha biopsia de tecido.
Hai investigadores por todo o mundo
que xa están a usar esta tecnoloxía
para lograr novos avances en campos
como a medicina ou a robótica.
Esta mañá lin un artigo
no que falan dun censo dos animais
do Parque Nacional de Nairobi
no que están empregando YOLO como parte
do sistema de detección.
Porque Darknet é código aberto,
é público para que calquera
poida usalo libremente.
(Aplausos)
Pero queriamos facer a detección
máis accesible e práctica,
así que combinando
a optimización de modelos,
a binarización e aproximación de redes,
logramos que a detección de obxectos
funcionase nun teléfono.
(Aplausos)
Estou entusiasmado porque agora temos
unha solución bastante potente
para este problema
de visión artificial de baixo nivel,
e calquera pode usala
para facer algo con ela.
A partir de aquí depende de todos vós
e doutros por todo o mundo
con acceso a este software,
e estou desexando ver o que
construirán con esta tecnoloxía.
Grazas.
(Aplausos)