La visione artificiale (nota anche come computer vision) è l'insieme dei processi che mirano a creare un modello approssimato del mondo reale (3D) partendo da immagini bidimensionali (2D). Lo scopo principale della visione artificiale è quello di riprodurre la vista umana. Vedere è inteso non solo come l'acquisizione di una fotografia bidimensionale di un'area ma soprattutto come l'interpretazione del contenuto di quell'area. L'informazione è intesa in questo caso come qualcosa che implica una decisione automatica.
Un sistema di visione artificiale è costituito dall'integrazione di componenti ottiche, elettroniche e meccaniche che permettono di acquisire, registrare ed elaborare immagini sia nello spettro della luce visibile che al di fuori di essa (infrarosso, ultravioletto, raggi X, ecc.). Il risultato dell'elaborazione è il riconoscimento di determinate caratteristiche dell'immagine per varie finalità di controllo, classificazione, selezione, ecc.
Sistema di visione Un sistema di visione è costituito da diverse componenti: telecamere e ottiche sistema di illuminazione l'oggetto da esaminare il sistema di acquisizione e di elaborazione dell'immagine le interfacce uomo macchina le interfacce con l'ambiente esterno
Le parti da ispezionare vengono posizionate - spesso attraverso sistemi di movimentazione automatica - di fronte a una o più telecamere ed illuminati in modo appropriato, in modo cioè da evidenziare il più possibile i difetti da individuare. Il sistema ottico forma un'immagine sul sensore della telecamera che produce un segnale elettrico in uscita. Questo segnale verrà digitalizzato e memorizzato.
L'immagine, catturata e resa in questo modo "comprensibile" da un calcolatore, potrà quindi essere elaborata con un apposito software che comprende particolari algoritmi di calcolo ed analisi, in grado di individuare le caratteristiche dell'immagine e amplificarne alcuni aspetti - ad esempio contorni, spigoli, forme, strutture - allo scopo di eseguire i controlli e le verifiche per i quali il sistema è stato concepito.
Sulla base dei risultati dell'elaborazione il sistema prenderà decisioni in merito alla destinazione dell'oggetto, ad esempio smistarlo fra i "buoni" o scartarlo e fornirà le informazioni opportune al resto del sistema produttivo.
Compiti tipici Un problema classico nella visione artificiale è quello di determinare se l'immagine contiene o no determinati oggetti (Object recognition) o attività. Il problema può essere risolto efficacemente e senza difficoltà per oggetti specifici in situazioni specifiche per esempio il riconoscimento di specifici oggetti geometrici come poliedri, riconoscimento di volti o caratteri scritti a mano. Le cose si complicano nel caso di oggetti arbitrari in situazioni arbitrarie.
Nella letteratura troviamo differenti varietà del problema: Recognition (riconoscimento): uno o più oggetti prespecificati o memorizzati possono essere ricondotti a classi generiche usualmente insieme alla loro posizione 2D o 3D nella scena. Identification (identificazione): viene individuata un'istanza specifica di una classe. Es. Identificazione di un volto, impronta digitale o veicolo specifico. Detection (rilevamento): l'immagine è scandita fino all'individuazione di una condizione specifica. Es. Individuazione di possibili cellule anormali o tessuti nelle immagini mediche
Altro compito tipico è la ricostruzione dello scenario: dati 2 o più immagini 2D si tenta di ricostruire un modello 3D dello scenario. Nel caso più semplice si parla di un insieme di singoli punti in uno spazio 3D o intere superfici. Generalmente è importante trovare la matrice fondamentale che rappresenta i punti comuni provenienti da immagini differenti.
Applicazioni in campo industriale Grazie alle funzionalità e alla elevata potenza di calcolo i sistemi di visione possono trovare campi di applicazione virtualmente illimitati.
Fra le applicazioni in campo industriale figurano: Riconoscimento difetti e rispetto delle tolleranze Orientamento, posizionamento e guida robot Misure non a contatto Verifiche su nastri in continuo (Web Inspection) Classificazione e scelta Lettura di caratteri e codici
Riconoscimento difetti e rispetto delle tolleranze Si tratta di una delle applicazioni più diffuse, in quanto nessuna produzione industriale può dirsi esente da difetti e gran parte dei difetti è riscontrabile visivamente. Spesso l'ispezione della produzione è condotta da operatori specializzati, con elevati costi per la movimentazione dei pezzi e di risorse umane.
L'applicazione di un sistema di controllo basato sulla visione artificiale presenta numerosi vantaggi: Riduzione costi legati alla manodopera Controllo della produzione al 100% Controllo in base a criteri oggettivi e ripetibili
I principali controlli di qualità sono riconducibili a molte delle tipiche funzionalità della visione artificiale: controlli superficiali, controlli di presenza/assenza parti, conteggi, verifiche di colore, ecc.
Orientamento, posizionamento e guida robot Una parte significativa dell'intelligenza artificiale si occupa di gestire sistemi interfacciati a robot o macchine che si muovono nello spazio o compiono movimenti. Questa tipologia di processo implica spesso l'acquisizione di informazioni fornite da un sistema di visione artificiale che occupa il ruolo di sensore visivo.
Esistono sistemi in grado di dirigere manipolatori, robot antropomorfi o carrelli in ambienti industriali non noti a priori. Ad esempio robot di carico e scarico che devono individuare la posizione esatta di oggetti diversi e posizionarli su pallet o in contenitori o ad un sistema di movimentazione intelligente, in grado di muoversi in uno stabilimento dove circolano persone, altri mezzi di movimentazione e spesso le aree sono occupate da merci.
Misure non a contatto Si distinguono in genere misure ad una o due dimensioni: diametri, lunghezze, altezze eccentricità, linearità, misure a tre dimensioni, calcoli di volume (attraverso l'analisi di immagini acquisite da più angolazioni). L'utilizzo del SdV risulta particolarmente indicato per misurare oggetti fragili, difficili da raggiungere, contenuti in altri oggetti, a temperature elevate: ad esempio colate di acciaio fuso in laminatoi, ecc. Un vantaggio della visione artificiale consiste anche nella possibilità di effettuare misure non convenzionali e superiori a quelle fatte con i sistemi tradizionali, ad esempio misurando aree di forme complesse.
Lettura in continuo (web inspection) Consiste nella rilevazione di difetti o letture di caratteri su nastri o lastre poste in scorrimento veloce. Questa analisi viene fatta tipicamente con telecamere lineari. Esempi di questa applicazione sono la verifica della correttezza della stampa, l'assenza di difetti su laminati, su tessuti, ecc.
Classificazione e scelta Si tratta di una delle applicazioni più complesse in quanto spesso i meccanismi di scelta non sono facilmente codificabili. Un tipico settore è quello della scelta delle piastrelle di ceramica o di marmo o di tavole di legno.
Lettura di caratteri e codici Si tratta di funzionalità molto diffuse in settori come l'alimentare o il farmaceutico per eseguire tutta una serie di controlli sui prodotti in uscita come ad esempio la data di scadenza dei prodotti, i lotti di produzione, la correttezza dei fogli di istruzione allegati, ecc.
Applicazioni in altri campi Controllo veicoli autonomi Individuazione di eventi (video sorveglianza) Organizzazione di informazioni (indicizzazione di database di immagini e sequenze di immagini) Modellazione di oggetti o ambienti (ispezioni industriali, analisi di immagini in ambiente medico e modellazione topografica) Interazione (input in un dispositivo per l'interazione tra l'uomo e il computer) Studi interdisciplinari con la neurobiologia
In fisica, una branca significativa della visione artificiale è utilizzata per comprendere i meccanismi in cui le radiazioni elettromagnetiche, tipicamente nel campo degli infrarossi, sono riflesse dalle superfici.
Ancora un altro ambiente di applicazione è l'elaborazione dei segnali. Infatti molte tecniche utilizzate per elaborare segnali ad una variabile possono essere estesi a segnali a 2 variabili in maniera naturale. Tuttavia non tutti i metodi utilizzati per le immagini possono essere riutilizzati su segnali a singola variabile.
Controllo veicoli autonomi Una nuova area di applicazioni emergente è quella dei veicoli autonomi come sommergibili, veicoli terrestri su ruote o cingolati o aerei. Un sistema di visione artificiale può sia supportare un pilota di questi veicoli in varie situazioni, come può addirittura (nel caso di veicoli fully-autonomous) occuparsi dell'intera navigazione. In questo caso è importante saper riconoscere gli ostacoli e riuscire a produrre una mappa della zona circostante. Esempi in questa area sono warning-system nelle automobili, sistemi per l'atterraggio automatico degli aerei o sistemi per la guida automatica di autovetture. Quest'ultima tecnologia anche se studiata e prodotta non ha ancora raggiunto i costi sufficienti per essere lanciata sul mercato.
Le applicazioni militari sono probabilmente una delle più grandi aree che sfrutta i benefici della visione artificiale anche se solo una piccola parte del lavoro svolto in questo ambiente viene reso pubblico. Ovvi esempi possono essere il sistema di guida e puntamento dei missili.
Ambito medico Una delle maggiori e promettenti aree è quella medica. Quest'area è caratterizzata dall'estrazione di informazioni dall'immagine con l'intento di effettuare una diagnosi di un paziente. Tipicamente l'immagine è acquisita attraverso microscopia, raggi X, angiografia e tomografia. Esempi di informazioni che possono essere dedotte dalle immagini sono la presenza di tumori, arteriosclerosi o altre disfunzioni maligne.
Neurobiologia Un altro importante ruolo è la neurobiologia, in specifico lo studio del sistema visivo. In biologia la percezione visiva dell'uomo e degli animali viene studiata attraverso sistemi che operano in termini di processi psicologici. La visione artificiale dall'altra parte studia e descrive un sistema visivo artificiale implementato in software o hardware. La prima affronta il problema dall'esterno la seconda dall'interno. Lo scambio interdisciplinare tra lo studio biologico e la computer vision ha dato importanti risultati da entrambe le parti. Nel corso dell'ultimo secolo c'è stato un intenso studio degli occhi, dei neuroni e della struttura del cervello per comprendere come viene processato dall'organismo umano e animale il segnale visivo. Qua le due discipline si sono incontrate in quanto anche la visione artificiale tenta di simulare come realmente si comporta l'apparato visivo biologico anche se ad un differente livello di complessità. Da qui la motivazione per cui alcuni metodi utilizzati nella visione artificiale hanno avuto riscontro anche in ambito biologico.
I benefici della tecnologia Costanza, affidabilità, oggettività dei controlli Un operatore umano che lavora su un nastro trasportatore per il controllo difettosità dei pezzi non può eseguire un controllo al 100% su tutti i pezzi e mantenere nel tempo la costanza dei criteri di valutazione, mentre un sistema di visione può operare per intere giornate senza alcuna variazione delle prestazioni. Anche la omogeneità del giudizio fra operatori diversi costituisce un elemento che porta a preferire un controllo automatizzato: è virtualmente impossibile ottenere da operatori umani la costanza ed omogeneità dei criteri di valutazione.
Operabilità in ambienti ostili In condizioni ambientali limite come ambienti molto rumorosi, esposti ad agenti chimici, temperature molto elevate o molto fredde, aree nel raggio di azione di macchine o sistemi di movimentazione, spazi ristretti, un sistema di visione può operare in tranquillità senza mettere a rischio la vita dei lavoratori o sottoporli a stress fisici inutili.