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)