Che cosa "vede" l'intelligenza artificiale?

Alla scoperta di MattiaCam, la web-app educativa che mostra che cosa "vede" l’IA.

di Pietro Monari

 

 

Che cosa "vede" l’intelligenza artificiale in una foto come quella sotto? E' in grado di riconoscere due volti di profilo, oltre che un calice, come nel caso dell'intelligenza umana? Oppure no?

 

WORKSHOP_FF (32)-min

 

Questa domanda è la stessa che il 14 e 15 settembre 2019 ponevo in apertura del nostro workshop “Educare a pensare” che abbiamo realizzato in occasione del festivalFilosofia “Persona” 2019, di cui la foto sopra è una testimonianza.

 

La domanda "Che cosa vede l'IA?" è intenzionalmente “semplificata” per permettere ai partecipanti di scoprire quali sono i fondamenti di questa tecnologia, attraverso il workshop. Oggi, però, forse siamo in grado di dare una risposta a una domanda anche più complessa: “Che cosa vede l’uomo moderno che osserva il mondo attraverso l’intelligenza artificiale, sistema che traduce la realtà in numeri e calcoli matematici?”

 

Per iniziare a dare delle risposte abbiamo sviluppato una web-app educativa ,di nome MattiaCam, che permette di esplorare quello che l’IA riconosce all’interno di un’immagine o un video, in modo semplice e intuitivo. 

 

Hello MattiaCam!

 

Come funziona MattiaCam

 

MattiaCam ha due modalità di funzionamento:

1. real time multi-object detection
2. image classification

Real time multi-object detection

Selezionando la prima modalità "real time", si può osservare quali oggetti vengono riconosciuti in tempo reale dall’IA nelle immagini catturate dalla videocamera.

 

Prima di tutto, è necessario caricare il modello, cliccando sul bottone "load model", per permettere all’IA di riconoscere gli oggetti nelle immagini. Per questa applicazione abbiamo utilizzato un modello pre-allenato multi oggetto COCO-SSD, che supporta il riconoscimento multiplo di 80 classi (per scoprire quali sono leggi qui).

 

mattia-cam-objDetect

Dopo aver atteso il caricamento è possibile attivare la webcam, cliccando su "start", e osservare quali oggetti vengono rilevati in tempo reale dall’IA: ogni oggetto riconosciuto verrà contornato da un rettangolo e sarà etichettato con il nome della classe e la percentuale di confidenza, che indica quanto il sistema è sicuro del riconoscimento.

 

Image classification

 

La seconda modalità di funzionamento è statica e classifica un’immagine caricata dall’utente. Per attivarla bisogna selezionare la modalità "offline".

 

Anche in questa seconda modalità è necessario caricare un modello, cliccando sul bottone "load model", che contiene le categorie con cui classificare l’immagine. Per questa applicazione abbiamo scelto il modello mobilenetV1, pre-allenato con il dataset imagenet a riconoscere 1000 classi (per scoprire quali sono leggi qui).

 

mattia-cam-imgClas

 

Una volta caricato il modello si può richiedere al sistema di classificare un’immagine cliccando "upload", selezionare un’immagine all’interno del proprio archivio, e, successivamente, cliccare "identify".

 

Anche in questo caso, i risultati della classificazione sono riportati con l’etichetta della classe, seguita dalla percentuale di confidenza, che indica quanto il sistema è sicuro del riconoscimento.

 

La visione d'insieme

 

In conclusione, qual è la risposta alla nostra domanda di partenza: “Che cosa vede l’uomo moderno che osserva il mondo attraverso l’intelligenza artificiale, sistema che traduce la realtà attraverso numeri e calcoli matematici?”

 

In base all’esperienza che MattiaCam ci ha permesso di fare, proponiamo una doppia risposta: possiamo dire che l’IA “vede” quello che è stata allenata a vedere - quindi in un’immagine può riconoscere categorie di oggetti con una certa sicurezza (confidenza), indicata in percentuale; al contempo però possiamo affermare che l’intelligenza umana (ovvero ognuno di noi), attraverso questi sistemi, è in grado di vedere una rappresentazione parziale della realtà con una sicurezza parziale (vi è mai capitato di scambiare una calcolatrice scientifica per uno smartphone oppure un notebook per una tv?).

 

 

mattia-cam-cell

 

Ciò che cosa significa?

 

Questa risposta non deve farci pensare che i sistemi di visione artificiale siano inefficienti: per specifici compiti riescono a superare di gran lunga le performance umane, dobbiamo però ricordare che gli occhi artificiali differiscono ancora notevolmente da quelli umani. Il nostro sistema visivo ci permette, infatti, di guardare oltre l'apparenza, di “andare al di là della realtà oggettiva”, di vedere le illusioni ottiche comprendendole e di intravedere sfumature, dettagli, indizi che, interpretati nella visione d'insieme, ci restituiscono una descrizione dettagliata e approfondita della realtà - complessa - in cui viviamo, al di là del primo sguardo.

 

 

Perché lo abbiamo fatto?

 

Per curiosità, e per diversi altri motivi:

 

1 - la visione artificiale è un ambito dell’IA che riscuote molto interesse e successo, basti pensare all’utilizzo massiccio di app che applicano filtri alle nostre foto (filtri facciali di snapchat e instagram, e altri);

 

2 - durante le lezioni mostriamo dei video di “cosa vede” l’auto a guida autonoma, reperibili facilmente su youtube

(un esempio) che sono sempre molto apprezzati da ogni tipo di pubblico;

 

3 - un esempio di app che abbiamo provato a utilizzare durante le lezioni è giorgio-cam che ha un’interfaccia divertente ma non è molto chiara e quindi non si presta all’utilizzo didattico;

 

4 - esistono tanti progetti sulla visione artificiale (anche di stampo educativo e open source, come ad esempio questo) e tante app che possiamo installare sui nostri smartphone (ad esempio le Lens), ma non esiste un’applicazione web che ci permetta di provare liberamente e con semplicità cosa "vede" l’IA;

 

5 - la visione artificiale si ispira a quella umana, ma "vede" nello stesso modo? Per approfondire il tema dai un'occhiata qui.

 

 

Ringraziamenti

 

Il progetto MattiaCam è stato sviluppato in occasione di un tirocinio svolto da Mattia, laureando del corso di laurea triennale di Informatica, con il supporto dei colleghi Marco Vita e Stefano Carioni, del team Ammagamma. Abbiamo in programma l’espansione dell’app, con altri modelli pre-allenati e varie funzioni. Per approfondire è possibile entrare direttamente nel codice pubblicato su GitHub -> vai al codice.

 

 

***

 

Hai in mente dei suggerimenti? Ti piacerebbe contribuire a diffondere questo progetto? Scrivimi: edu@ammagamma.com

 

Se invece desideri conoscere altri progetti educativi, ti invito a dare un'occhiata alla nostra pagina Education.