Dieci anni fa,
i ricercatori di visione artificiale
pensavano
che fare in modo che un computer
riuscisse a differenziare
un gatto e un cane
sarebbe stato quasi impossibile,
nonostante il progresso significativo
nel campo dell'intelligenza artificiale.
Ora possiamo farlo a un livello
di precisione superiore al 99 per cento.
Questa è chiamata
classificazione d'immagini --
dategli un'immagine,
etichettate quell'immagine --
e i computer riconoscono
anche migliaia di altre categorie.
Sono un dottorando
della University of Washington,
e lavoro su un progetto
chiamato Darknet,
che è un framework di rete neurale
per sviluppare e testare
i modelli di visione artificiale.
Quindi vediamo cosa ne pensa Darknet
di quest'immagine.
Quando eseguiamo il nostro classificatore
su quest'immagine,
vediamo che non otteniamo solo
la previsione di un cane o di un gatto,
ma la previsione
della razza specifica.
Questo è il livello di precisione attuale.
Ed è corretto.
Infatti, il mio cane è
un Alaskan Malamute.
Abbiamo fatto dei passi da gigante
nella classificazione di immagini,
ma cosa succede quando passiamo
il nostro classificatore
su un'immagine come questa?
Beh...
Vediamo che il classificatore ritorna
con una predizione abbastanza simile.
Ed è corretto,
c'è un Alaskan Malamute sull'immagine,
ma con questa sola etichetta,
non ne sappiamo poi molto
di quello che succede nell'immagine.
Abbiamo bisogno di qualcosa
di più potente.
Io lavoro su un problema
chiamato riconoscimento di oggetti,
dove guardiamo un'immagine
e cerchiamo di trovare gli oggetti,
li delimitiamo con dei "bounding boxes"
e definiamo quegli oggetti.
Questo è quello che succede
quando passiamo un rilevatore
su quest'immagine.
Ora, con questo tipo di risultato,
possiamo fare molto di più
con i nostri algoritmi
di visione artificiale.
Vediamo che riconosce
che ci sono un gatto e un cane.
Conosce la loro posizione,
la loro taglia.
Potrebbe addirittura conoscere
informazioni extra.
C'è un libro sullo sfondo.
Se vuoi costruire un sistema
basato sulla visione artificiale,
diciamo un'auto senza pilota
o un sistema robotico,
questo è il tipo di informazione che vuoi.
Vuoi qualcosa per poter interagire
con il mondo fisico.
Quando ho iniziato a lavorare
sul riconoscimento di oggetti,
servivano 20 secondi
per processare una sola immagine.
E per capire quanto è importante
la velocità in questo settore,
ecco un esempio
di un rilevatore di oggetti
che impiega due secondi
per processare un'immagine.
Quindi questo è 10 volte più veloce
del rilevatore a 20 secondi a immagine,
e potete vedere che nel momento in cui
fa le sue predizioni
l'aspetto del mondo è cambiato,
e questo non sarebbe utile
per un'applicazione.
Se velocizziamo di un altro fattore 10,
questo è un rilevatore che funziona
a cinque immagini al secondo.
È molto meglio,
ma, ad esempio,
se c'è un qualsiasi
movimento significativo,
non vorrei un sistema come questo
mentre guido.
Questo è il nostro sistema
di riconoscimento
in funzione in tempo reale
sul mio computer.
Quindi mi identifica senza problemi
mentre mi muovo sull'immagine,
ed è efficace anche quando
cambiano la taglia,
la posa,
avanti, indietro.
È fantastico.
Questo è ciò di cui
abbiamo davvero bisogno
se vogliamo costruire sistemi
basati sulla visione artificiale.
(Applausi)
Quindi in pochi anni,
siamo passati da 20 secondi a immagine
a 20 millisecondi a immagine,
mille volte più veloce.
Come ci siamo riusciti?
In passato, i sistemi
di riconoscimento di oggetti
avrebbero preso
un'immagine come questa
e l'avrebbero divisa
in un insieme di regioni
e poi passato un classificatore
su ognuna di queste regioni,
e punteggi elevati per quel classificatore
sarebbero stati considerati
come riconoscimenti nell'immagine.
Ma questo voleva dire
passare un classificatore
migliaia di volte su un'immagine,
migliaia di valutazioni di rete neurale
per produrre il riconoscimento.
Invece, abbiamo allenato una singola rete
a fare tutto il riconoscimento per noi.
Produce tutti i bounding boxes
e ordina le probabilità simultaneamente.
Con il nostro sistema, invece di guardare
un'immagine migliaia di volte
per ottenere il riconoscimento,
guardi una volta sola,
ed è per questo che lo chiamiamo
il metodo YOLO
del riconoscimento d'oggetti.
Con questa velocità possiamo quindi
non limitarci alle immagini;
ma possiamo processare video
in tempo reale.
E ora, invece di vedere solo
il cane e il gatto,
possiamo vederli muovere
e interagire tra loro.
Questo è un rilevatore
che abbiamo allenato
su 80 classi diverse
nel dataset COCO di Microsoft.
Contiene di tutto come cucchiaio
e forchetta, ciotola,
oggetti comuni come questi.
Ma anche una varietà di cose più esotiche:
animali, auto, zebre, giraffe.
E adesso facciamo qualcosa di divertente.
Ci metteremo in mezzo al pubblico
per vedere che tipo di oggetti
possiamo identificare.
Qualcuno vuole un peluche?
Ci sono degli orsacchiotti lì in mezzo.
E possiamo abbassare un po'
la nostra soglia di riconoscimento,
così possiamo riconoscervi meglio
in mezzo al pubblico.
Vediamo se riusciamo a trovare
dei segnali di stop.
Troviamo degli zaini.
Facciamo uno zoom.
Ed è fantastico.
E tutto il processo
avviene in tempo reale
sul computer.
Ed è importante ricordare
che questo è un sistema
di riconoscimento di oggetti
di uso generale,
quindi lo possiamo allenare
per qualsiasi settore di immagini.
Lo stesso codice che usiamo
per trovare segnali di stop o pedoni,
biciclette in un veicolo
con pilota automatico,
può essere usato per trovare
cellule cancerose
durante una biopsia.
E ci sono ricercatori in tutto il mondo
che stanno già usando questa tecnologia
per fare passi avanti in campi
come la medicina, la robotica.
Questa mattina, ho letto un articolo
in cui si parlava di un censimento
degli animali al Nairobi National Park
con YOLO integrato
nel sistema di riconoscimento.
Ed è perché Darknet è open source
ed è di dominio pubblico,
e chiunque può utilizzarlo liberamente.
(Applausi)
Ma volevamo rendere il riconoscimento
ancora più accessibile e fruibile,
e attraverso una combinazione
di ottimizzazione del modello,
binarizzazione di rete e approssimazione,
abbiamo un riconoscimento di oggetti
che funziona su un telefono.
(Applausi)
E sono davvero contento perché
abbiamo una soluzione piuttosto efficace
a questo problema di visione
di computer di basso livello,
e chiunque può prenderlo
e costruirci qualcosa.
Quindi il resto è nelle vostre mani
e in quelle delle persone nel mondo
che hanno accesso a questo software,
e sono impaziente di vedere
cosa le persone faranno
con questa tecnologia.
Grazie.
(Applausi)