Visione computerizzata

La visione artificiale è un campo interdisciplinare che riguarda il modo in cui i computer possono essere realizzati per ottenere una comprensione di alto livello da immagini o video digitali. Dal punto di vista dell’ingegneria, cerca di automatizzare le attività che il sistema visivo umano può svolgere.

Le attività di visione artificiale comprendono metodi per acquisire, elaborare, analizzare e comprendere le immagini digitali e l’estrazione di dati ad alta dimensione dal mondo reale al fine di produrre informazioni numeriche o simboliche, ad esempio nelle forme delle decisioni. Comprendere in questo contesto significa trasformare le immagini visive (l’input della retina) in descrizioni del mondo che possono interfacciarsi con altri processi mentali e suscitare un’azione appropriata. Questa comprensione dell’immagine può essere vista come il districarsi delle informazioni simboliche dai dati dell’immagine utilizzando modelli costruiti con l’ausilio di geometria, fisica, statistica e teoria dell’apprendimento.

Come disciplina scientifica, la visione artificiale riguarda la teoria dei sistemi artificiali che estraggono le informazioni dalle immagini. I dati dell’immagine possono assumere molte forme, come sequenze video, viste da più telecamere o dati multidimensionali da uno scanner medico. Come disciplina tecnologica, la computer vision cerca di applicare le sue teorie e modelli per la costruzione di sistemi di visione artificiale.

I sottodomini di computer vision includono la ricostruzione delle scene, il rilevamento degli eventi, il monitoraggio dei video, il riconoscimento degli oggetti, la stima della posa 3D, l’apprendimento, l’indicizzazione, la stima del movimento e il ripristino dell’immagine.

Definizione
La visione artificiale è un campo interdisciplinare che riguarda il modo in cui i computer possono essere realizzati per ottenere una comprensione di alto livello da immagini o video digitali. Dal punto di vista dell’ingegneria, cerca di automatizzare le attività che il sistema visivo umano può svolgere. “La visione artificiale riguarda l’estrazione automatica, l’analisi e la comprensione di informazioni utili da una singola immagine o una sequenza di immagini e comporta lo sviluppo di una base teorica e algoritmica per ottenere una comprensione visiva automatica”. Come disciplina scientifica, la visione artificiale riguarda la teoria dei sistemi artificiali che estraggono le informazioni dalle immagini. I dati dell’immagine possono assumere molte forme, come sequenze video, viste da più telecamere o dati multidimensionali da uno scanner medico. Come disciplina tecnologica, la computer vision cerca di applicare le sue teorie e modelli per la costruzione di sistemi di visione artificiale.

Storia
Alla fine degli anni ’60, la visione artificiale iniziò nelle università che erano pioniere dell’intelligenza artificiale. Doveva imitare il sistema visivo umano, come trampolino di lancio per dotare i robot di un comportamento intelligente. Nel 1966, si credeva che ciò potesse essere realizzato attraverso un progetto estivo, collegando una fotocamera a un computer e facendogli “descrivere ciò che vedeva”.

Ciò che distinse la visione del computer dal campo prevalente dell’elaborazione digitale delle immagini in quel momento era il desiderio di estrarre la struttura tridimensionale dalle immagini con l’obiettivo di raggiungere la piena comprensione della scena. Gli studi degli anni ’70 hanno costituito le prime basi di molti degli algoritmi di visione artificiale esistenti, tra cui l’estrazione di bordi dalle immagini, l’etichettatura di linee, la modellazione poliedrica e poliedrica, la rappresentazione di oggetti come interconnessioni di strutture più piccole, flusso ottico e stima del movimento.

Il prossimo decennio ha visto studi basati su analisi matematiche più rigorose e aspetti quantitativi della visione artificiale. Questi includono il concetto di scala-spazio, l’inferenza della forma da vari segnali come l’ombreggiatura, la consistenza e la messa a fuoco e i modelli di contorno noti come serpenti. I ricercatori hanno anche capito che molti di questi concetti matematici potrebbero essere trattati all’interno dello stesso quadro di ottimizzazione dei campi randomizzati di regolarizzazione e Markov. Negli anni ’90, alcuni dei precedenti argomenti di ricerca sono diventati più attivi degli altri. La ricerca in ricostruzioni 3D proiettive ha portato a una migliore comprensione della calibrazione della fotocamera. Con l’avvento dei metodi di ottimizzazione per la calibrazione della telecamera, si è capito che molte delle idee erano già state esplorate nella teoria dell’adattamento del fascio dal campo della fotogrammetria. Ciò ha portato a metodi per ricostruzioni sparse 3D di scene da più immagini. Sono stati compiuti progressi sul problema della corrispondenza stereo densa e di ulteriori tecniche stereo a visione multipla. Allo stesso tempo, sono state utilizzate variazioni del taglio del grafico per risolvere la segmentazione dell’immagine. Questo decennio ha segnato anche la prima volta che le tecniche di apprendimento statistico sono state utilizzate in pratica per riconoscere i volti nelle immagini (vedi Eigenface). Verso la fine degli anni ’90, un significativo cambiamento è avvenuto con l’aumento dell’interazione tra i campi della computer grafica e della visione artificiale. Questo includeva il rendering basato su immagine, il morphing dell’immagine, l’interpolazione della vista, la cucitura di immagini panoramiche e il rendering del campo chiaro iniziale.

Il lavoro recente ha visto il risorgere di metodi basati su feature, utilizzati in combinazione con tecniche di machine learning e framework di ottimizzazione complessi.

Campi correlati

Intelligenza artificiale
Le aree dell’intelligenza artificiale si occupano della pianificazione autonoma o della deliberazione per i sistemi robotici di navigare in un ambiente. È necessaria una comprensione dettagliata di questi ambienti per navigare attraverso di essi. Le informazioni sull’ambiente potrebbero essere fornite da un sistema di visione artificiale, che agisce come un sensore di visione e fornisce informazioni di alto livello sull’ambiente e sul robot.

L’intelligenza artificiale e la visione artificiale condividono altri argomenti come il riconoscimento dei pattern e le tecniche di apprendimento. Di conseguenza, la visione artificiale a volte viene vista come una parte del campo dell’intelligenza artificiale o del campo dell’informatica in generale.

Ingegneria dell’informazione
La visione artificiale è spesso considerata parte dell’ingegneria dell’informazione.

Fisica a stato solido
La fisica dello stato solido è un altro campo strettamente correlato alla visione artificiale. La maggior parte dei sistemi di visione artificiale si basa su sensori di immagini, che rilevano la radiazione elettromagnetica, che è tipicamente sotto forma di luce visibile o infrarossa. I sensori sono progettati utilizzando la fisica quantistica. Il processo mediante il quale la luce interagisce con le superfici è spiegato usando la fisica. La fisica spiega il comportamento dell’ottica che costituisce una parte fondamentale della maggior parte dei sistemi di imaging. Sofisticati sensori di immagine richiedono persino la meccanica quantistica per fornire una comprensione completa del processo di formazione dell’immagine. Inoltre, vari problemi di misurazione in fisica possono essere affrontati utilizzando la visione del computer, ad esempio il movimento nei fluidi.

Neurobiologia
Un terzo campo che svolge un ruolo importante è la neurobiologia, in particolare lo studio del sistema di visione biologica. Nel corso dell’ultimo secolo, è stato condotto uno studio approfondito su occhi, neuroni e strutture cerebrali dedicate all’elaborazione di stimoli visivi sia negli esseri umani sia in vari animali. Ciò ha portato a una descrizione approssimativa, ma complicata, di come i sistemi di visione “reali” operano al fine di risolvere determinati compiti relativi alla visione. Questi risultati hanno portato a un sottocampo nell’ambito della visione artificiale in cui i sistemi artificiali sono progettati per imitare l’elaborazione e il comportamento dei sistemi biologici, a diversi livelli di complessità. Inoltre, alcuni dei metodi basati sull’apprendimento sviluppati nell’ambito della visione artificiale (ad esempio, l’immagine e l’analisi e la classificazione delle immagini neurali e di apprendimento profondo) hanno il loro background in biologia.

Alcuni filoni di ricerca sulla visione artificiale sono strettamente correlati allo studio della visione biologica – in effetti, altrettanto numerosi filoni della ricerca sulla IA sono strettamente legati alla ricerca sulla coscienza umana e l’uso della conoscenza memorizzata per interpretare, integrare e utilizzare le informazioni visive. Il campo della visione biologica studia e modella i processi fisiologici alla base della percezione visiva nell’uomo e in altri animali. La visione artificiale, d’altra parte, studia e descrive i processi implementati nel software e nell’hardware dietro i sistemi di visione artificiale. Lo scambio interdisciplinare tra visione biologica e computerizzata si è dimostrato proficuo per entrambi i campi.

Elaborazione del segnale
Un altro campo relativo alla visione artificiale è l’elaborazione del segnale. Molti metodi per l’elaborazione di segnali a una variabile, in genere segnali temporali, possono essere estesi in modo naturale all’elaborazione di segnali a due variabili o segnali multi-variabili nella visione artificiale. Tuttavia, a causa della natura specifica delle immagini, ci sono molti metodi sviluppati nell’ambito della visione artificiale che non hanno contropartita nell’elaborazione di segnali a una variabile. Insieme alla multidimensionalità del segnale, questo definisce un sottocampo nell’elaborazione del segnale come parte della visione artificiale.

Altri campi
Oltre alle opinioni sopra menzionate sulla visione artificiale, molti degli argomenti di ricerca correlati possono essere studiati anche da un punto di vista puramente matematico. Ad esempio, molti metodi di visione artificiale sono basati su statistiche, ottimizzazione o geometria. Infine, una parte significativa del campo è dedicata all’aspetto implementativo della visione artificiale; come i metodi esistenti possono essere realizzati in varie combinazioni di software e hardware, o come questi metodi possono essere modificati al fine di ottenere velocità di elaborazione senza perdere troppe prestazioni.

distinzioni
I campi più strettamente legati alla visione artificiale sono l’elaborazione delle immagini, l’analisi delle immagini e la visione artificiale. C’è una significativa sovrapposizione nella gamma di tecniche e applicazioni che queste coprono. Ciò implica che le tecniche di base utilizzate e sviluppate in questi campi sono simili, qualcosa che può essere interpretato in quanto esiste un solo campo con nomi diversi. D’altra parte, sembra necessario che gruppi di ricerca, riviste scientifiche, conferenze e aziende presentino o si commercializzino come appartenenti specificamente a uno di questi campi e, di conseguenza, le varie caratterizzazioni che distinguono ciascuno dei campi dagli altri sono state presentati.

La computer grafica produce dati di immagini da modelli 3D, la visione del computer spesso produce modelli 3D da dati di immagine. C’è anche una tendenza verso una combinazione delle due discipline, ad esempio, come esplorato nella realtà aumentata.

Le seguenti caratteristiche appaiono rilevanti ma non devono essere considerate universalmente accettate:

L’elaborazione delle immagini e l’analisi delle immagini tendono a concentrarsi sulle immagini 2D, su come trasformare un’immagine in un’altra, ad esempio mediante operazioni in pixel come l’ottimizzazione del contrasto, operazioni locali come l’estrazione dei bordi o la rimozione del rumore o trasformazioni geometriche come la rotazione dell’immagine . Questa caratterizzazione implica che l’elaborazione / analisi delle immagini non richiede assunzioni né produce interpretazioni sul contenuto dell’immagine.
La visione artificiale include l’analisi 3D da immagini 2D. Analizza la scena 3D proiettata su una o più immagini, ad esempio come ricostruire la struttura o altre informazioni sulla scena 3D da una o più immagini. La visione artificiale spesso si basa su ipotesi più o meno complesse sulla scena rappresentata in un’immagine.
La visione artificiale è il processo di applicazione di una gamma di tecnologie e metodi per fornire l’ispezione automatica basata sulle immagini, il controllo del processo e la guida del robot nelle applicazioni industriali. La visione artificiale tende a focalizzarsi su applicazioni, principalmente nella produzione, ad esempio su robot e sistemi di visione per ispezione, misurazione o prelievo basati sulla visione (come la raccolta di rifiuti). Ciò implica che le tecnologie dei sensori di immagine e la teoria del controllo spesso sono integrate con l’elaborazione di dati di immagine per controllare un robot e che l’elaborazione in tempo reale viene enfatizzata mediante implementazioni efficienti in hardware e software. Ciò implica anche che le condizioni esterne come l’illuminazione possono essere e sono spesso più controllate in visione artificiale rispetto alla visione generale del computer, che può consentire l’uso di algoritmi diversi.
Esiste anche un campo chiamato imaging che si concentra principalmente sul processo di produzione delle immagini, ma a volte si occupa anche dell’elaborazione e dell’analisi delle immagini. Ad esempio, l’imaging medico include un lavoro sostanziale sull’analisi dei dati delle immagini nelle applicazioni mediche.
Infine, il riconoscimento di pattern è un campo che utilizza vari metodi per estrarre informazioni dai segnali in generale, principalmente basati su approcci statistici e reti neurali artificiali. Una parte significativa di questo campo è dedicata all’applicazione di questi metodi ai dati di immagine.

applicazioni
Le applicazioni spaziano da compiti come i sistemi di visione industriale che, per esempio, ispezionano le bottiglie accelerando su una linea di produzione, alla ricerca di intelligenza artificiale e computer o robot in grado di comprendere il mondo che li circonda. I campi della visione artificiale e della visione artificiale hanno una significativa sovrapposizione. La visione artificiale copre la tecnologia di base dell’analisi automatica dell’immagine utilizzata in molti campi. La visione artificiale di solito si riferisce a un processo di combinazione di analisi di immagini automatizzate con altri metodi e tecnologie per fornire l’ispezione automatizzata e la guida del robot nelle applicazioni industriali. In molte applicazioni di visione artificiale, i computer sono pre-programmati per risolvere un particolare compito, ma i metodi basati sull’apprendimento stanno diventando sempre più comuni. Esempi di applicazioni di visione artificiale includono sistemi per:

Ispezione automatica, ad es. Nelle applicazioni di produzione;
Assistere gli esseri umani nelle attività di identificazione, ad esempio, un sistema di identificazione delle specie;
Controllo dei processi, ad es. Un robot industriale;
Rilevazione di eventi, ad es. Per sorveglianza visiva o conteggio persone;
Interazione, ad esempio, come input per un dispositivo per l’interazione uomo-computer;
Modellazione di oggetti o ambienti, ad esempio analisi delle immagini mediche o modellazione topografica;
Navigazione, ad esempio, da un veicolo autonomo o robot mobile; e
Organizzazione di informazioni, ad es. Per l’indicizzazione di database di immagini e sequenze di immagini.

Uno dei campi di applicazione più importanti è la visione del computer medico o l’elaborazione di immagini mediche, caratterizzata dall’estrazione di informazioni dai dati di immagine per diagnosticare un paziente. Un esempio di questo è il rilevamento di tumori, arteriosclerosi o altri cambiamenti maligni; le misure delle dimensioni degli organi, del flusso sanguigno, ecc. sono un altro esempio. Supporta anche la ricerca medica fornendo nuove informazioni: ad esempio, sulla struttura del cervello o sulla qualità dei trattamenti medici. Le applicazioni della visione artificiale in ambito medico comprendono anche il miglioramento delle immagini interpretate dall’uomo – immagini ad ultrasuoni o immagini a raggi X per esempio – per ridurre l’influenza del rumore.

Una seconda area di applicazione nella visione artificiale è nell’industria, a volte chiamata visione artificiale, in cui le informazioni vengono estratte allo scopo di supportare un processo di produzione. Un esempio è il controllo di qualità in cui i dettagli oi prodotti finali vengono automaticamente controllati per trovare difetti. Un altro esempio è la misurazione della posizione e l’orientamento dei dettagli che devono essere rilevati da un braccio robot. La visione artificiale è anche fortemente utilizzata nei processi agricoli per rimuovere sostanze alimentari indesiderate dal materiale sfuso, un processo chiamato ordinamento ottico.

Le applicazioni militari sono probabilmente una delle più vaste aree per la visione artificiale. Gli esempi ovvi sono il rilevamento di soldati o veicoli nemici e la guida missilistica. I sistemi più avanzati per la guida missilistica inviano il missile a un’area anziché a un bersaglio specifico e la selezione del bersaglio viene effettuata quando il missile raggiunge l’area sulla base di dati di immagine acquisiti localmente. I moderni concetti militari, come la “consapevolezza del campo di battaglia”, implicano che vari sensori, inclusi i sensori di immagine, forniscono una ricca serie di informazioni su una scena di combattimento che può essere utilizzata per supportare le decisioni strategiche. In questo caso, l’elaborazione automatica dei dati viene utilizzata per ridurre la complessità e per fondere le informazioni di più sensori per aumentare l’affidabilità.

Una delle aree di applicazione più recenti è costituita da veicoli autonomi, che comprendono veicoli sommergibili, veicoli terrestri (piccoli robot con ruote, auto o camion), veicoli aerei e veicoli aerei senza equipaggio (UAV). Il livello di autonomia spazia da veicoli completamente autonomi (senza equipaggio) a veicoli in cui sistemi basati su computer vision supportano un pilota o un pilota in varie situazioni. I veicoli completamente autonomi utilizzano in genere la visione artificiale per la navigazione, cioè per sapere dove si trova, o per produrre una mappa del suo ambiente (SLAM) e per rilevare gli ostacoli. Può anche essere utilizzato per rilevare determinati eventi specifici dell’attività, ad esempio un UAV alla ricerca di incendi boschivi. Esempi di sistemi di supporto sono i sistemi di allarme ostacoli nelle auto e sistemi per l’atterraggio autonomo di aeromobili. Diverse case automobilistiche hanno dimostrato sistemi per la guida autonoma delle automobili, ma questa tecnologia non ha ancora raggiunto un livello tale da poter essere immessa sul mercato. Vi sono numerosi esempi di veicoli militari autonomi che vanno dai missili avanzati, agli UAV per le missioni di ricognizione o l’orientamento missilistico. L’esplorazione spaziale è già stata effettuata con veicoli autonomi che utilizzano la visione artificiale, ad esempio Mars Exploration Rover della NASA e ExoMars Rover dell’ESA.

Altre aree di applicazione includono:

Supporto alla creazione di effetti visivi per il cinema e la trasmissione, ad es. Il tracking della telecamera (matchmoving).
Sorveglianza.
Monitoraggio e conteggio di organismi nelle scienze biologiche

Compiti tipici
Ciascuna delle aree di applicazione descritte sopra impiega una serie di compiti di visione del computer; problemi di misurazione più o meno ben definiti o problemi di elaborazione, che possono essere risolti utilizzando una varietà di metodi. Di seguito sono riportati alcuni esempi di compiti tipici di visione da computer.

Le attività di visione artificiale comprendono metodi per acquisire, elaborare, analizzare e comprendere le immagini digitali e l’estrazione di dati ad alta dimensione dal mondo reale al fine di produrre informazioni numeriche o simboliche, ad esempio nelle forme delle decisioni. Comprendere in questo contesto significa trasformare le immagini visive (l’input della retina) in descrizioni del mondo che possono interfacciarsi con altri processi mentali e suscitare un’azione appropriata. Questa comprensione dell’immagine può essere vista come il districarsi delle informazioni simboliche dai dati dell’immagine utilizzando modelli costruiti con l’ausilio di geometria, fisica, statistica e teoria dell’apprendimento.

Riconoscimento
Il classico problema della visione artificiale, dell’elaborazione delle immagini e della visione artificiale è quello di determinare se i dati dell’immagine contengono o meno oggetti, funzioni o attività specifici. Diverse varietà del problema di riconoscimento sono descritte in letteratura:

Riconoscimento oggetto (chiamato anche classificazione oggetto): è possibile riconoscere uno o più oggetti o classi oggetto specificati o appreso, solitamente insieme alle loro posizioni 2D nell’immagine o alle pose 3D nella scena. Blippar, Google Goggles e LikeThat forniscono programmi autonomi che illustrano questa funzionalità.
Identificazione: viene riconosciuta una singola istanza di un oggetto. Gli esempi includono l’identificazione del volto o dell’impronta digitale di una persona specifica, l’identificazione di cifre manoscritte o l’identificazione di un veicolo specifico.
Rilevamento: i dati dell’immagine vengono scansionati per una condizione specifica. Gli esempi includono il rilevamento di possibili cellule o tessuti anormali nelle immagini mediche o il rilevamento di un veicolo in un sistema di pedaggio automatico. Il rilevamento basato su calcoli relativamente semplici e veloci è talvolta usato per trovare regioni più piccole di dati di immagine interessanti che possono essere ulteriormente analizzati con tecniche più impegnative dal punto di vista del calcolo per produrre un’interpretazione corretta.

Attualmente, i migliori algoritmi per tali compiti sono basati su reti neuronali convoluzionali. Un’illustrazione delle loro capacità è data dalla Sfida di riconoscimento visivo su larga scala ImageNet; questo è un punto di riferimento per la classificazione e il rilevamento degli oggetti, con milioni di immagini e centinaia di classi di oggetti. Le prestazioni delle reti neurali convoluzionali, sui test di ImageNet, sono ora vicine a quelle degli umani. I migliori algoritmi combattono ancora con oggetti piccoli o sottili, come una formica su un gambo di un fiore o una persona che tiene in mano una penna. Hanno anche problemi con le immagini che sono state distorte con i filtri (un fenomeno sempre più comune con le moderne fotocamere digitali). Al contrario, questi tipi di immagini raramente disturbano gli esseri umani. Gli umani, tuttavia, tendono ad avere problemi con altri problemi. Ad esempio, non sono bravi a classificare gli oggetti in classi a grana fine, come la particolare razza di cane o specie di uccelli, mentre le reti neuronali convoluzionali gestiscono questo con facilità.

Esistono diversi compiti specializzati basati sul riconoscimento, come ad esempio:

Recupero di immagini basato sul contenuto: ricerca di tutte le immagini in una serie più ampia di immagini con un contenuto specifico. Il contenuto può essere specificato in diversi modi, ad esempio in termini di somiglianza rispetto a un’immagine di destinazione (concedimi tutte le immagini simili all’immagine X) o in termini di criteri di ricerca di alto livello forniti come input di testo (concedimi tutte le immagini che contengono molte case, sono prese durante l’inverno, e non hanno auto in loro).
Stima della posa – stima della posizione o dell’orientamento di un oggetto specifico rispetto alla telecamera. Un’applicazione di esempio per questa tecnica sarebbe assistere un braccio robot nel recuperare oggetti da un nastro trasportatore in una situazione di linea di assemblaggio o prelevare parti da un bidone.
Riconoscimento ottico dei caratteri (OCR) – Identificazione di caratteri in immagini di testo stampato o scritto a mano, solitamente con l’intento di codificare il testo in un formato più suscettibile di modifica o indicizzazione (ad esempio ASCII).
Lettura codice 2D Lettura di codici 2D come data matrix e codici QR.
Riconoscimento facciale
Shape Recognition Technology (SRT) nei sistemi di conteggio persone che differenziano gli esseri umani (modelli di testa e spalle) dagli oggetti

Analisi del movimento
Diverse attività si riferiscono alla stima del movimento in cui una sequenza di immagini viene elaborata per produrre una stima della velocità in ogni punto dell’immagine o nella scena 3D o persino della fotocamera che produce le immagini. Esempi di tali compiti sono:

Egomotion – Determinazione del movimento rigido 3D (rotazione e traslazione) della telecamera da una sequenza di immagini prodotta dalla telecamera.
Tracciamento – seguendo i movimenti di un insieme (di solito) più piccolo di punti di interesse o oggetti (ad es. Veicoli, umani o altri organismi) nella sequenza di immagini.
Flusso ottico: per determinare, per ciascun punto dell’immagine, come si muove quel punto rispetto al piano dell’immagine, ovvero il suo movimento apparente. Questo movimento è il risultato di come il punto 3D corrispondente si sta muovendo nella scena e di come la telecamera si muove rispetto alla scena.

Ricostruzione della scena
Dato uno o (in genere) più immagini di una scena, o un video, la ricostruzione della scena mira a calcolare un modello 3D della scena. Nel caso più semplice il modello può essere un insieme di punti 3D. I metodi più sofisticati producono un modello di superficie 3D completo. L’avvento delle immagini 3D che non richiedono il movimento o la scansione e gli algoritmi di elaborazione correlati stanno consentendo rapidi progressi in questo campo. Il rilevamento 3D basato sulla griglia può essere utilizzato per acquisire immagini 3D da più angolazioni. Algoritmi sono ora disponibili per unire più immagini 3D insieme in nuvole di punti e modelli 3D.

Restauro dell’immagine
Lo scopo del ripristino dell’immagine è la rimozione del rumore (rumore del sensore, sfocatura di movimento, ecc.) Dalle immagini. L’approccio più semplice possibile per la rimozione del rumore è vari tipi di filtri come filtri passa-basso o filtri mediani. I metodi più sofisticati assumono un modello di come appaiono le strutture dell’immagine locale, un modello che li distingue dal rumore. Analizzando prima i dati dell’immagine in termini di strutture dell’immagine locali, come linee o spigoli, e quindi controllando il filtraggio in base alle informazioni locali dalla fase di analisi, si ottiene solitamente un livello migliore di rimozione del rumore rispetto agli approcci più semplici.

Un esempio in questo campo è la reintegrazione.

Metodi di sistema
L’organizzazione di un sistema di visione artificiale dipende fortemente dall’applicazione. Alcuni sistemi sono applicazioni stand-alone che risolvono uno specifico problema di misurazione o rilevamento, mentre altri costituiscono un sottosistema di un progetto più ampio che, ad esempio, contiene anche sottosistemi per il controllo di attuatori meccanici, pianificazione, database di informazioni, man- interfacce macchina, ecc. L’implementazione specifica di un sistema di visione artificiale dipende anche dal fatto che la sua funzionalità sia pre-specificata o se parte di essa possa essere appresa o modificata durante il funzionamento. Molte funzioni sono uniche per l’applicazione. Esistono, tuttavia, funzioni tipiche che si trovano in molti sistemi di visione artificiale.

Acquisizione dell’immagine – Un’immagine digitale è prodotta da uno o più sensori di immagine, che, oltre a vari tipi di fotocamere sensibili alla luce, includono sensori di portata, dispositivi per tomografia, radar, fotocamere ultra-sonic, ecc. A seconda del tipo di sensore, la i dati di immagine risultanti sono un’immagine 2D ordinaria, un volume 3D o una sequenza di immagini. I valori dei pixel corrispondono tipicamente all’intensità della luce in una o più bande spettrali (immagini grigie o immagini a colori), ma possono anche essere correlati a varie misure fisiche, come la profondità, l’assorbimento o la riflettanza delle onde sonore o elettromagnetiche o la risonanza magnetica nucleare.

Pre-elaborazione – Prima che un metodo di visione artificiale possa essere applicato ai dati di immagine per estrarre informazioni specifiche, di solito è necessario elaborare i dati per assicurarsi che soddisfi determinati presupposti impliciti nel metodo. Gli esempi sono
Ricampionamento per assicurare che il sistema di coordinate dell’immagine sia corretto.
Riduzione del rumore per assicurare che il rumore del sensore non introduca informazioni false.
Miglioramento del contrasto per assicurare che le informazioni rilevanti possano essere rilevate.
Ridimensiona la rappresentazione dello spazio per migliorare le strutture dell’immagine a scale appropriate a livello locale.

Estrazione delle feature – Le immagini con vari livelli di complessità vengono estratte dai dati dell’immagine. Esempi tipici di tali caratteristiche sono
Linee, bordi e creste.
Punti di interesse localizzati come angoli, blob o punti.
Funzioni più complesse possono essere correlate a trama, forma o movimento.

Rilevazione / segmentazione – Ad un certo punto del processo viene presa una decisione su quali punti dell’immagine o regioni dell’immagine sono rilevanti per ulteriori elaborazioni. Gli esempi sono
Selezione di una serie specifica di punti di interesse
Segmentazione di una o più regioni immagine che contengono un oggetto di interesse specifico.
La segmentazione dell’immagine in un’architettura di scena nidificata comprendeva in primo piano, gruppi di oggetti, singoli oggetti o parti di oggetti salienti (detta anche gerarchia di scena spaziale-taxon), mentre la salienza visiva è spesso implementata come attenzione spaziale e temporale.
Segmentazione o co-segmentazione di uno o più video in una serie di maschere in primo piano per fotogramma, mantenendo la sua continuità semantica temporale.

Elaborazione ad alto livello: in questo passaggio l’input è in genere un piccolo insieme di dati, ad esempio un insieme di punti o un’area dell’immagine che si presume contenga un oggetto specifico. La restante elaborazione riguarda, ad esempio:
Verifica che i dati soddisfino le ipotesi specifiche basate su modelli e applicazioni.
Stima dei parametri specifici dell’applicazione, come la posa dell’oggetto o la dimensione dell’oggetto.
Riconoscimento di immagini – classificazione di un oggetto rilevato in diverse categorie.
Registrazione dell’immagine – confronto e combinazione di due diverse viste dello stesso oggetto.

Processo decisionale Prendere la decisione finale richiesta per l’applicazione, ad esempio:
Passa / scarta su applicazioni di ispezione automatica
Corrispondenza / non corrispondenza nelle applicazioni di riconoscimento
Contrassegno per ulteriore revisione umana in applicazioni mediche, militari, di sicurezza e di riconoscimento

Sistemi di comprensione delle immagini
I sistemi di comprensione delle immagini (IUS) includono tre livelli di astrazione come segue: Il livello basso include le primitive di immagine come bordi, elementi di trama o regioni; livello intermedio include confini, superfici e volumi; e il livello alto include oggetti, scene o eventi. Molti di questi requisiti sono davvero argomenti per ulteriori ricerche.

I requisiti di rappresentazione nella progettazione di IUS per questi livelli sono: rappresentazione di concetti prototipici, organizzazione concettuale, conoscenza spaziale, conoscenza temporale, ridimensionamento e descrizione per confronto e differenziazione.

Mentre l’inferenza si riferisce al processo di derivare nuovi fatti non esplicitamente rappresentati da fatti attualmente noti, il controllo si riferisce al processo che seleziona quale delle molte tecniche di inferenza, ricerca e corrispondenza dovrebbero essere applicate in una particolare fase di elaborazione. I requisiti di inferenza e controllo per IUS sono: attivazione di ipotesi e ricerca, test di corrispondenza e ipotesi, generazione e uso di aspettative, cambiamento e concentrazione di attenzione, certezza e forza di convinzione, inferenza e soddisfazione degli obiettivi.

Hardware
Esistono molti tipi di sistemi di visione artificiale, tuttavia contengono tutti questi elementi di base: una fonte di energia, almeno un dispositivo di acquisizione di immagini (ad esempio fotocamera, ccd, ecc.), Un processore e cavi di controllo e comunicazione o qualche tipo del meccanismo di interconnessione wireless. Inoltre, un pratico sistema di visione contiene software e un display per monitorare il sistema. I sistemi di visione per gli spazi interni, come la maggior parte di quelli industriali, contengono un sistema di illuminazione e possono essere collocati in un ambiente controllato. Inoltre, un sistema completo include molti accessori come supporti per fotocamere, cavi e connettori.

La maggior parte dei sistemi di visione artificiale utilizza telecamere a luce visibile che visualizzano passivamente una scena con frame rate di massimo 60 fotogrammi al secondo (di solito molto più lenti).

Alcuni sistemi di visione artificiale utilizzano hardware di acquisizione immagini con illuminazione attiva o qualcosa di diverso dalla luce visibile o da entrambi. Ad esempio, uno scanner 3D a luce strutturata, una termocamera, un imager iperspettrale, un’immagine radar, uno scanner lidar, un’immagine a risonanza magnetica, un sonar a scansione laterale, un sonar ad apertura sintetica, ecc. Tale hardware cattura “immagini” che vengono poi elaborati spesso utilizzando gli stessi algoritmi di visione del computer utilizzati per elaborare le immagini a luce visibile.

Mentre i tradizionali sistemi di trasmissione e video consumer operano a una velocità di 30 fotogrammi al secondo, i progressi nell’elaborazione del segnale digitale e nell’hardware della grafica consumer hanno reso possibile l’acquisizione, l’elaborazione e la visualizzazione di immagini ad alta velocità per sistemi in tempo reale dell’ordine di centinaia migliaia di frame al secondo. Per le applicazioni in robotica, i sistemi video veloci e in tempo reale sono di fondamentale importanza e spesso possono semplificare l’elaborazione necessaria per determinati algoritmi. Se combinato con un proiettore ad alta velocità, l’acquisizione rapida delle immagini consente di realizzare misure 3D e tracciamento delle caratteristiche.

I sistemi di visione egocentrici sono composti da una fotocamera indossabile che scatta automaticamente le foto da una prospettiva in prima persona.

A partire dal 2016, le unità di elaborazione della visione stanno emergendo come una nuova classe di processore, per integrare CPU e unità di elaborazione grafica (GPU) in questo ruolo.