Computer vision
Da Wikipedia, l'enciclopedia libera.
Indice |
[modifica] Introduzione
La computer vision conosciuta anche come visione artificiale, e' la scienza che tenta di rendere possibile che la macchina possa vedere.Vedere e' inteso non solo come l'acquisizione una fotografia bidimensionale di un area ma soprattutto come l'interpretazione del contenuto di quell'area. L'informazone è intesa in questo caso come qualcosa che implica una decisone. La computer vision comprende tutte le teorie, tecnologie e modelli per costruire un sistema artificiale che ottenga informazioni dalle immagini.
Dal momento che la percezione può essere vista come l'estrazione del cervello umano e animale di informazioni da un segnale proveniente dagli occhi la computer vison puo' essere pensata come l'analisi scientifica di un sistema artificiale per percepire informazioni dalla risposta di sensori artificiali. Come disciplina tecnologica la computer vision tenta di applicare teorie e modelli per la costruzione di un sistema per la computer vision.
Esempi di sistemi adibiti alla computer vision sono:
- Controllo dei processi(Robot industriali e 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 device per l'interazione tra l'uomo e il computer).
La computer vision puo' essere anche descritta come il complementare(non necessariamente opposto) della visione biologica. In biologia la percezione visiva dell'uomo e degli animali viene studiata attraverso sistemi che operano in termini di processi psicologici. La computer vision 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 entrambi le parti.
Sotto-domini della computer vision sono scene reconstruction, event detection, tracking, object recognition, learning, indexing, ego-motion e image restoration.
[modifica] Storia
La computer vision può essere definita come un campo ancora immaturo e differente. Sebbene esistono precedenti studi e lavori è non prima del 1970 in cui gli studi nel settore si sono potuti specializzare grazie all'aumento delle prestazioni dei computer che hanno potuto elaborare grandi quantità di informazioni come le immagini. Tuttavia questi studi sono stati originati da vari altri campi percio' non esiste una formulazione standard del “problema della computer vision”. Ciò nonostante esistono metodi in abbondanza per risolvere i ben definiti compiti della computer vision.Molti di questi metodi sono ancora a livello di ricerca base ma moltri altri ancora hanno trovato spazio nella produzione commerciale dove fanno parte di grandi sistemi che risolvono problemi complessi. Nelle applicazioni più pratiche i computer sono pre-addestrati per risolvere un particolare compito,tuttavia attualmente stanno diventando sempre più comuni i metodi basati sull'apprendimento.
Una parte significativa dell'intelligienza 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 computer vision system che occupa il ruolo di sensore visivo. Un'altra tecnica che necessita della computer vison e' il pattern recognition che tenta di classifiare oggetti in modelli appresi precedentemente. La fisica e' un altro campo fortemente legato alla cv.Una branca significativa della computer vision e' utilizzata per comprendere i meccanismi in cui le radiazioni elettromagnetiche ,tipicamente nel raggio degli infrarossi sono riflesse dalle superfici. Un altro importante ruolo della cv e' la neurobiologia,in specifico lo studio del sistema visivo. Nel corso dell'ultimo secolo c'e' stato un intenso studio degli occhi,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 cv 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 cv hanno avuto riscontro anche in ambito biologico. Ancora un altro ambiente della cv e' 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.
[modifica] Campi Correlati
Computer vision, Image processing, Image analysis,Robot vision e Machine vision sono strettamente correlati. Molti team di ricercatori o compagnie di ricerca si sono specializzate in una branca specifica tuttavia le tecniche,le teorie e i termini sono gli stessi e queste distinzioni non sono universalmente accettate.
Image processing e Image analysis L' Image processing e Image analysis tendono a focalizzarsi sull'immagine 2D,su come trasformare un immagine nell'altra attraverso operazioni sui pixel come il contrast enhancement ecc..oppure su come effettuare trasformazioni geometriche come rotazioni.Questa caratterizzazione non implica l'interpretazione del contenuto dell'magine.
La Computer Vision La Computer Vision si focalizza invece sulla scena 3D ottenuta da una o più immagini.Il suo lavoro è basato su assunzioni più o meno complesse formulate dalla scena contenuta in un immagine.
La Machine Vision La Machine Vision invece tende a focalizzarsi su applicazioni molto spesso di carattere industriale come robot autonomi o sistemi di visione basati su misurazioni e ispezioni.Questo implica che i sensori di visione e il sistema di controllo sono spesso integrati con il processo di elaborazione delle immagini ottimizzati per avere efficenti prestazioni realtime hardware o software. Imaging
C'e' anche un altro campo chiamato Imaging che è principalmente caratterizzato dalla produzione e manipolazione di immagini.Per esempio il Medical Imaging è basato sull'analisi delle immagini in applicazioni mediche.
Pattern recognition Infine il pattern recognition è un campo che utilizza varie tecniche per estrapolare informazioni dal contenuto di un'immagine.L'approccio primario è basato su un approccio statistico.
[modifica] Esempi di applicazioni della computer vision
Un altro modo per descrivere la computer vision è in termini di aree di applicazioni Una delle maggiori e promettenti aree è la medical computer vision o il medical image processing. Quest'area è caratterizzata dall'estrazione di informazioni dall'immagine con l'intento di effettuare una diagnosi di un paziente.Tipicamente l'immagine e' acquisita attraverso microscopi,raggi x,angiografia e tomografia.Esempi di informazioni che possono essere dedotte dalle immagini sono la presenza di tumori,arteriosclerosi o altre disfunzioni maligne.
Una seconda area della computer vision è l'industria.Qui le informazioni sono estratte con l'intento di supportare il processo di produzione.Un esempio può essere il controllo di qualità dove il prodotto prima di uscire sul mercato viene ispezionato a fondo per trovare eventuali difetti.
Le applicazioni militari sono probabilmente una delle più grandi aree che sfrutta i benefici della CV 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.
Una nuova area di applicazioni emergente è invece quella dei veicoli autonomi come sommergibili , veicoli terrestri su ruote o cingolati o aerei.Un sistema di computer vision puo' sia supportare un pilota di questi veicoli in varie situazioni come può adderittura(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.
[modifica] Tipici compiti della computer vision
Tutte le aree di applicazione descritte precedentemente utilizzano un vasto range di tecniche Presentiamo seguentemente alcuni esempi.
Recognition Un problema classico nella computer vision,image processing e machine vision è quello di determinare se l'immagine contiene o no determinati oggetti 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 : uno o più oggetti prespecificati o memorizzati possono essere ricondotti a classi generiche usalmente insieme alla loro posizione 2D o 3D nella scena. Identification : viene individuata un istanza specifica di una classe.Es.Identificazione di un volto,impronta digitale o veicolo specifico. Detection: L'immagine e scansionata fino all'individuazione di una condizione specifica.Es.Individuazione di possibili cellule anormali o tessuti nelle immagini mediche
Motion Queste tecniche si occupano di stimare la velocità di un oggetto in movimento da una serie di immagini acquisite.
Scene recostruction Dati 2 o più immagini 2D si tenta di ricostruire un modello 3D della scena.Nel caso più semplice si parla di un set di singoli punti 3D.Casi più complessi tentano di generare superfici 3D complete.Generalmente è importante trovare la matrice fondamentale che rappresenta i punti comuni provenienti da immagini differenti.
Image restoration Lo scopo dell'Image restoration è quello di rimuovere rumore (sensor noise,motion blur,etc)dalle immagini.
[modifica] Computer vision System
L'organizzazione di un Computer vision system dipende fortemente dall'applicazione in cui viene utilizzato. Alcuni sistemi sono semplici stand-alone applications che risolvono specifici problemi di misurazione o individuazione,mentre altri costituiscono un sotto-sistema in un disegno più grande che per esempio contiene anche altri sottosistemi per il controllo di attuatori meccanici ecc... Ci sono tuttavia delle funzioni tipiche presenti nella maggior parte dei sistemi.Si riporta un esempio di approccio tipico ad un problema di computer vision.
Image acquisition: Un immagine digitale è prodotta da vari tipi di sensori come sensori sensibili alla luce,sensori tomografici,radar,sensori ad ultrasuoni. In base al tipo di sensore l'immagine può assumere la rappresentazione di un ordinaria immagine 2D,un volume in 3D o una sequenza di immagini.Il volore tipico di un pixel puo' corrispondere all'intensità di luce in una o piu' bande spettrali ma puo' essere anche dedotto dall'assorbimento sonico o delle onde elettromagnetiche.
Pre-processing Prima che una immagine venga trattata da un metodo della computer vision e' solitamente necessario elaborare i dati in modo da verificare che questi soddisfino specifiche regole necessarie al metodo. Per es: - Ricampionare per assicurarsi che le informazioni non siano ridondanti o insufficienti. - Togliere eventuale rumore che introduce informazioni false. - Modificare il contrasto per assicurarsi che le informazioni rilevanti vengano individuate.
Feature extraction: Le carattereristche dell'immagine sono estratte dall'image data.Es - Line and edges - Punti di interesse locale Es:angoli
Caratteristiche più complesse possono essere il motion,shape e texture.
Detection/Segmentation: In qualche punto del processo viene presa la decisione di quali aree saranno rilevanti per l'ulteriore elaborazione.Es: - Selezione di un set di punti di interesse - Segmentazione dell'immagine in piu' regioni che contengono un oggetto di interesse.
High-level processing: A questo punto l'input è tipicamente un piccolo set di punti o regione di immagine che si presuppone debba contenere un oggetto specifico. Gli obbiettivi del restante processo sono: - Verificare che il modello contenuto nell'input possieda le specifiche del modello base o della classe. - Stimare i parametri specifici tipo la posizione o la dimensione. - Classificare oggetti in piu' categorie
[modifica] Collegamenti esterni
Progetto Ingegneria - Bar degli ingegneri - L'ingegnere - I materiali - Le unità di misura | ||
Settore Ingegneria Civile e Ambientale Ambiente e territorio - Civile - Geotecnica - Idraulica - Naturalistica - Sicurezza - Sismica - Strutturale - Trasporti |
Settore Ingegneria Informazione Acustica - Biomedica - Elettronica - Informatica - Telecomunicazioni |
Settore Ingegneria Industriale Aerospaziale - Automazione - Biochimica - Chimica - Elettrica - Energetica - Gestionale - Industriale - Materiali - Meccanica - Navale - Nucleare - Processi di produzione |
Categorie ingegneristiche Aerospaziale - Automazione - Biomedica - Chimica - Civile - Comunicazioni - Elettrica - Geotecnica - Gestionale - Idraulica - Industriale - Informatica - Materiali - Meccanica - Navale - Nucleare - Sismica - Strumentale - Strutturale - Termotecnica - Territorio - Trasporti |