Di Jeremy Cook
Machine vision, o visione artificiale, e sistemi di visione industriali sono la risposta concisa alla domanda: "Come vedono i robot?". I dettagli sono molto più complessi. In questo articolo esamineremo la questione in termini di robot fisici che svolgono un compito reale, piuttosto che dal punto di vista di applicazioni puramente software utilizzate per filtrare materiale visivo su Internet.
I sistemi di visione artificiale acquisiscono le immagini mediante una o più telecamere digitali, elaborando i dati fotogramma per fotogramma. Il robot utilizza i dati interpretati per interagire con il mondo fisico tramite un braccio robotico, un sistema per l'agricoltura mobile, una configurazione di sicurezza automatizzata o qualsiasi altra applicazione.
La visione artificiale si è affermata nell'ultima parte del ventesimo secolo, grazie alla capacità di utilizzare una serie di criteri codificati per determinare semplici fatti in relazione ai dati visivi acquisiti. Il riconoscimento del testo è una di queste applicazioni di base. Un'altra è, ad esempio, l'ispezione per verificare la presenza del componente x o le dimensioni del foro y in un'applicazione di assemblaggio industriale. Oggi le applicazioni della visione artificiale sono aumentate notevolmente, incorporando l'intelligenza artificiale e l'apprendimento automatico.
Importanza della visione artificiale
Pur essendo ancora in uso sistemi di visione basati su criteri specifici, ora la visione artificiale può fare molto di più grazie all'elaborazione basata sull'intelligenza artificiale. In questo paradigma, i sistemi di visione robotica non sono più programmati esplicitamente per il riconoscimento di condizioni, come ad esempio un insieme di pixel, il cosiddetto "blob", nella posizione corretta. È invece possibile addestrare un sistema di visione robotica con un set di dati relativi a parti, condizioni o scenari positivi o negativi per consentirgli di generare le proprie regole. Così equipaggiato, il sistema è in grado di gestire compiti come lo sblocco di una porta per le persone e non per gli animali, l'annaffiatura di piante che sembrano averne bisogno o la partenza di un veicolo autonomo quando il semaforo diventa verde.
Anche se è possibile ricorrere al cloud computing per addestrare un modello di intelligenza artificiale, per il processo decisionale in tempo reale è generalmente preferibile utilizzare l'elaborazione edge. L'elaborazione locale delle attività di visione robotica può ridurre la latenza, eliminando così la dipendenza dall'infrastruttura cloud per le attività critiche. I veicoli autonomi sono un ottimo esempio dell'importanza di questo aspetto, perché un ritardo di mezzo secondo nella visione artificiale può causare un incidente. La guida autonoma non è una scelta praticabile se le risorse di rete non sono disponibili.
Tecnologie di visione robotica all'avanguardia: tecniche multi-telecamera, 3D e IA
Una telecamera permette di acquisire informazioni visive in 2D, mentre due telecamere che lavorano insieme danno la percezione della profondità. Ad esempio, la famiglia di processori NXP i.MX 8 può utilizzare due telecamere con una risoluzione di 1080P per l'ingresso stereo. Con l'hardware adatto, si possono integrare più telecamere e sistemi di telecamere tramite video stitching e altre tecniche. È possibile incorporare altri tipi di sensori, ad esempio LIDAR, IMU e audio, che forniscono al robot un'immagine dell'ambiente circostante nello spazio 3D e oltre.
La stessa classe di tecnologia che consente a un robot di interpretare le immagini acquisite permette anche a un computer di generare nuove immagini e modelli 3D. Un'applicazione che combina queste due facce della visione robotica è la realtà aumentata. Qui, gli input provenienti da telecamere e non solo vengono interpretati e i risultati vengono visualizzati a beneficio degli utenti.

Come iniziare a utilizzare la visione artificiale
Oggi abbiamo a disposizione moltissime opzioni per iniziare a utilizzare la visione artificiale. Per quanto riguarda il software, OpenCV è un ottimo punto di partenza. È disponibile gratuitamente ed è compatibile con la visione artificiale basata su regole e con i più recenti modelli di deep learning. Si può iniziare con un computer e una webcam, ma sono disponibili sistemi di visione industriali specializzati, come il kit di sviluppo Jetson Nano o la linea di prodotti Google Coral, particolarmente adatti per la visione artificiale e l'apprendimento automatico. Il modulo NVIDIA® Jetson Orin™ NX da 16 GB offre 100 TOPS di prestazioni IA nel noto fattore di forma Jetson.
Le aziende come NVIDIA hanno a disposizione un'ampia gamma di risorse software, inclusi set di dati per l'addestramento. Se desideri implementare un'applicazione IA senza doverti procurare le immagini necessarie di persone, automobili o altri oggetti, questo può darti un enorme vantaggio. Cerca set di dati da migliorare in futuro, con tecniche di intelligenza artificiale all'avanguardia come trasformatori di visione e attenzione, che migliorano il modo in cui li utilizziamo.
Algoritmi di visione robotica
I robot vedono grazie all'interpretazione costante di un flusso di immagini, elaborando i dati con algoritmi codificati dall'uomo o con l'interpretazione mediante un set di regole generate dall'intelligenza artificiale. Naturalmente, a livello filosofico, si potrebbe ribaltare la domanda e chiedere: "Come si vedono i robot?". Dal momento che siamo in grado di sbirciare all'interno del codice, per quanto complesso possa essere un modello IA, rispondere a questa domanda potrebbe essere più semplice di quanto non sia spiegare come vediamo noi stessi.