Riconoscimento oggetti e robotica: come fanno le macchine a vedere

Nella robotica il riconoscimento degli oggetti è un processo fondamentale, basato sulla computer vision. I campi di applicazione di questa tecnologia sono vastissimi e in continua evoluzione. Ma come può una macchina vedere e riconoscere ciò che vede?

Per noi umani la vista è uno dei sensi primari. Un neonato, nei primi tre mesi di vita, è in grado di riconoscere una serie di oggetti e il viso della madre. Procedendo nel nostro percorso di crescita, sviluppiamo una serie di processi cognitivi visivi che ci portano, per esempio, a riconoscere un oggetto o un volto anche se ne vediamo soltanto una parte.

Queste caratteristiche che noi diamo per scontate, non lo sono affatto per un software, ecco perchè il processo di apprendimento di una macchina è una fase delicata e impegnativa.

Se, in media, a un bambino bastano una decina di foto per capire la differenza tra un gatto e un cane, a un software in fase di apprendimento ne servono migliaia.


Gli oggetti, la robotica e il loro riconoscimento

Nella robotica il riconoscimento degli oggetti non si discosta molto dal riconoscimento delle immagini. Nella visione artificiale, per poter riconoscere un elemento 2D o 3D servono gli stessi processi di apprendimento da parte dell’Intelligenza Artificiale.

Quando il software “vede” un oggetto in tre dimensioni, in realtà “vede” un’enorme serie di attributi vettoriali legati all’immagine inquadrata. Ne calcola le dimensioni, le rotazioni, ne traccia le caratteristiche di superficie e di luminosità. Il tutto porta la macchina a stabilire, in percentuale, se quello che sta vedendo è un divano o una mucca.

Per ottenere il 100% di sicurezza che si tratti proprio di un divano, il software deve essere addestrato con un vastissimo database visivo.

L’addestramento avviene tramite il deep learning, in associazione con una rete neurale convolutiva che consente poi all’IA di imparare in modo autonomo.


Riconoscere gli oggetti nella robotica, come non perdersi tra i pixel

La necessità di usare una rete neurale convolutiva per il riconoscimento degli oggetti nella robotica è legata al fatto che ogni strato di neuroni artificiali può influenzarne un altro. Quando la macchina inquadra un oggetto da riconoscere lo colloca su una griglia poligonale, elaborando i pixel che compongono l’immagine che sta vedendo.

Ne determina così dei punti chiave di riconoscimento, che vengono via via approfonditi e analizzati dai vari strati della rete neuronale artificiale. Questo sistema di visione replica gli stessi processi dei che avvengono nei lobi occipitali dei primati.

Semplificando, si può dire che una scimmia riconosce una banana perché la banana non ha la forma e il colore di un sasso. Allo stesso modo, la macchina riconosce delle forme che vengono elaborate, per esclusione, fino al riconoscimento finale.


Il riconoscimento degli oggetti nella robotica e le sue applicazioni

La macchina mappa l’oggetto tramite una segmentazione poligonale e lo riconosce grazie al suo addestramento e a ciò che ha appreso rete neurale convolutiva.

Questa tipo di tecnologia, applicata per esempio in campo medico, ha portato a dei risultati strabilianti. L’IA è in grado di rilevare in modo autonomo e preciso la presenza di una malattia osservando le lastre. Questo è reso possibile sia dall’auto apprendimento dell’IA, sia dall’enorme quantità di radiografie caricate nel suo database.

Osservando il mondo esterno, l’IA è in grado di rilevare, analizzare e interpretare ciò che vede, prendendo poi una decisione o eseguendo un comando specifico.

Dalle automobili senza pilota, alla sorveglianza, passando per la gestione logistica e l’automazione dei processi industriali, le macchine in grado di vedere diventeranno una presenza fissa nella nostra vita quotidiana.


White-Paper_intelligenza artificiale e riconoscimento immagini e oggetti