Visione Artificiale e Riconoscimento Raffaele Cappelli [email protected] V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 1 Introduzione Definizioni Visione Artificiale (VA) è una disciplina molto ampia che studia gli aspetti connessi allo studio e alla progettazione di sistemi artificiali in grado di eseguire compiti visivi e percettivi (tipici dell’uomo e di alcune specie animali): Acquisizione di immagini Elaborazione di immagini Ricostruzione 3D delle forme (shape from X) Comprensione della scena (scene understanding) Riconoscimento di forme (pattern recognition) Localizzazione di oggetti Detection del movimento e tracking di oggetti In grassetto le tematiche oggetto di questo corso … V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 2 Introduzione Definizioni è una delle più importanti “sottodiscipline” della VA; PR viene solitamente tradotto in italiano come “Riconoscimento di Forme” ma è forse meglio non tentare di tradurre con Forme il termine Pattern. Pattern recognition (PR) Cos’è allora un pattern ? Watanabe [Wata85] definisce un pattern come l’opposto del caos e come un entità vagamente definita cui può essere dato un nome. Ad esempio un pattern può essere un volto, un carattere scritto a mano, un’impronta digitale, un segnale sonoro, l’andamento di un titolo di borsa, ... V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 3 Introduzione Definizioni Riconoscimento e Classificazione Nel contesto del pattern recognition il riconoscimento è inteso come classificazione o categorizzazione ovvero l’assegnamento del pattern a una classe. Per classe intendiamo un insieme di entità aventi proprietà comuni (ad. esempio i diversi modi in cui le persone scrivono il carattere “A”). Il concetto di classe è semantico e dipende strettamente dall’applicazione: 21 classi per il riconoscimento di lettere dell’alfabeto 2 classi per distinguere le lettere dell’alfabeto italiano da quello cirillico Le classi possono essere definite dal progettista (classificazione supervisionata) o “imparate” autonomamente dal sistema (classificazione non supervisionata). V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 4 Introduzione Perché è importante il PR ? Gran parte dei fenomeni dell’esistenza umana si manifestano sotto forma di pattern: i simboli della scrittura, gli elementi costitutivi del parlato, disegni e immagini, il volto di persone care, ... L’importanza del PR è legata non solo alla percezione, ma anche alla conoscenza: gli esseri umani valutano le situazioni in termini di pattern e agiscono in base alla loro valutazione di tali pattern. Il PR è una componente intrinseca del comportamento umano. L’estensione al computer di capacità di riconoscimento di pattern può renderlo in grado di svolgere compiti percettivi e cognitivi. Obiettivo ultimo del PR: costruire macchine che possiedano le nostre stesse capacità di riconoscimento di pattern. Human and Mechanical PR L’uomo esegue il riconoscimento mediante una classificazione del pattern. Il mapping è opaco, i dettagli del processo sono inaccessibili agli osservatori e quasi sempre anche al riconoscitore stesso. L’implementazione su computer di un metodo di PR richiede che il mapping opaco sia sostituito da uno trasparente, di cui sia possibile dare una descrizione precisa (algoritmo). V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 5 Introduzione Progetto di applicazioni di VA In TEORIA Dare una descrizione appropriata degli oggetti, fisici o concettuali, in termini di caratteristiche (features), appartenenti a uno spazio di rappresentazione. Specificare uno spazio di interpretazione (lo spazio delle classi) Fornire un mapping fra lo spazio di rappresentazione e quello di interpretazione. Determinare un operatore (algoritmo) che esegua questo mapping, ovvero che esegua la classificazione. In PRATICA Perdere giorni nel tentativo di far funzionare telecamere, frame grabber e altri sensori con la nostra versione di Sistema Operativo setacciando il web alla caccia dei driver necessari. Cercare in letteratura quali approcci sono stati utilizzati con successo per la soluzione dello stesso problema (o di un problema analogo). Scaricare da Internet codice sviluppato da altri, adattandolo se possibile alle nostre esigenze. Anche un tale approccio PRATICO richiede esperienza: nella VA e nel PR per risolvere in modo ottimale ogni problema specifico è necessario un metodo ad-hoc !!! V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 6 Introduzione Applicazioni di VA Dominio problema Applicazione Input: Pattern Output: Classe Analisi di documenti OCR: conversione di immagini in testo Immagini di documenti Caratteri alfanum., parole Automazione industriale Ispezione di circuiti stampati Immagine del circuito Difettoso / Non difettoso Bioinformatica Analisi delle sequenze Sequenza DNA/Proteine Tipo conosciuto di gene Classificazione documenti Ricerca su Internet Documento di testo Categoria semantica Data mining Ricerca di pattern “significativi” Punti multidimensionali Cluster compatti e ben separati Database Immagini Ricerca su database immagini Collezioni di immagini Specifici soggetti o temi Economia Predizione mercato azionario Sequenze storiche Acquista / Vendi Medicina Analisi immagini radiografiche Immagine alta risoluzione Sano / Malato Militare Abbattimento automatico missili Immagini “live” Direzione di calibrazione Riconoscimento del parlato Risponditori telefonici autom. Segnale audio del parlato Parole dette Sistemi Biometrici Riconoscimento di persone Volto, Iride, Impronta digitale Utente autorizzato Sorveglianza Sistema antiintrusione Immagine “live” del locale Normale / Allarme Telerilevamento Stimare densità di colture Immagini multispettrali Tipi di coltivazioni Visione robotica Guida automatica di un veicolo Immagini “live” Direzione sterzo V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 7 Introduzione PR e discipline affini è una disciplina molto vasta che comprende diversi settori disciplinari tra cui: Intelligenza artificiale (AI) Metodi di rappresentazione della conoscenza e ragionamento Pianificazione, coordinamento e manipolazione. Sistemi esperti e sistemi tutoriali intelligenti Dimostrazione automatica di teoremi Programmazione automatica Agenti autonomi Elaborazione del linguaggio naturale VISIONE APPRENDIMENTO Machine learning (ML) Un sistema di learning (o apprendimento automatico) “impara dagli esempi a migliorare le proprie prestazioni per la gestione di nuovi dati provenienti dalla stessa sorgente” (Mickey 91). Diversi sono i punti in comune con PR; ma in PR i sistemi che imparano dagli esempi sono solo una parte: possiamo affermare pertanto che PR ML ? “Learning from Data” è il titolo di un libro recente [Cher98] che mette in luce come gli stessi concetti nell’ambito di discipline diverse vengano ogni volta reinventati. La disciplina madre comune alla maggior parte dei sistemi di apprendimento da esempi è la statistica, e gli autori incolpano gli statistici di non essere stati in grado di esportare la loro conoscenza alle altre discipline. V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 8 Introduzione PR e discipline affini (2) Elaborazione delle Immagini (IP) Fuzzy Systems (FS) Pattern Recognition Reti Neurali (NN) Computer Grafica (CG) Si tratta di risolvere il problema inverso ! infatti nel PR data un’immagine l’obiettivo è estrarre e classificare gli oggetti presenti mentre in CG dato un oggetto (costituito da una serie di primitive) si vuole generare una rappresentazione (immagine) realistica di tale oggetto. V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 9 Introduzione Confronto diretto di immagini: distanza nello spazio multidimensionale | I1 – I2 |: perché non funziona ? Traslazione, rotazione, scala e prospettiva. Deformazione e variabilità dei pattern. Cambiamenti di illuminazione. Rumore e diverse tecniche di acquisizione. Un esempio 4524.84 3990.34 V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 10 Introduzione I 4 principali approcci del PR [Jain00] [Duda00] Template matching La distanza diretta tra immagini non fornisce buoni risultati spesso a causa di traslazioni, rotazioni, variabilità dei pattern. Idea: costruire uno o più pattern modello (template) e “cercarlo/i” all’interno dell’immagine misurando il grado di “matching” nelle diverse possibili posizioni. Approccio Statistico Ogni pattern è rappresentato da un punto nello spazio multidimensionale. Prevede una fase di estrazione delle caratteristiche che mappa il pattern nel punto e una fase di classificazione che associa il punto a una classe. I classificatori utilizzati sono fondati su solide basi statistiche. Approccio Strutturale (sintattico) I pattern sono codificati in termini di componenti primitive e di relazioni che intercorrono tra esse. Il confronto avviene confrontando primitive e relazioni. Reti Neurali Sono costituite da grafi orientati i cui nodi (neuroni) processano le informazioni trasmesse da altri neuroni ad essi collegati. Consentono di “codificare” complessi mapping non-lineari, che vengono solitamente “appresi” da esempi. V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 11 Introduzione Template Matching Un esempio immagine di riferimento 2 template la posizione di max. matching di ciascuno dei due template all’interno dell’immagine V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 12 Introduzione Approccio Statistico un esempio Estrazione delle caratteristiche Di ogni oggetto viene misurata l’estensione dei pixel rispetto al baricentro. Classificazione Se E è l’estensione dell’oggetto da classificare in una delle 2 classi T (oggetti allungati a forma di T) e C (oggetti più circolari): 2 2 T se E AvgT E AvgC l' oggetto è di classe altrimenti C classificatore di minima distanza euclidea dove AvgT ed AvgC sono le estensioni medie degli oggetti delle 2 classi T e C misurate su di un set di addestramento. V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 13 Introduzione Approccio Strutturale Esempio: classificazione di impronte digitali Calcolo Immagine Direzionale Segmentazione Immagine Direzionale Costruzione grafo Relazionale Inextact Graph Matching V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 14 Introduzione Reti Neurali Cervello vs Computer Neuroni e reti nel cervello I neuroni ricevono input chimici attraverso le connessioni sinaptiche dei dentriti. Tali input sono convertiti in segnali elettrici; se il livello di “eccitazione” eccede una certa quantità sparano un impulso che provoca il rilascio di sostanze chimiche alle terminazioni assoniche. Altri neuroni nella rete vengono eccitati dagli elementi chimici rilasciati. L’efficacia delle sinapsi si modifica con l’esperienza (learning). V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 15 Introduzione Bibliografia [Cher98] V. Cherkassky e F. Mulier, Learning from data - Concepts, Theory and Methods, Wiley 1998. [Duda00] R. Duda, P. Hart e G. Stork, Pattern classification, Wiley 2000. [Wata85] S. Watanabe, Pattern Recognition: Human and Mechanical, Wiley, New York 1985. [Jain00] A.Jain, R.Duin e J. Mao, “Statistical Pattern Recognition: a Review”, IEEE Transactions on Pattern Analysis Machine Intelligence, Vol. 22, No. 1, Jan. 2000. V&R prof. Raffaele Cappelli – Ingegneria e Scienze Informatiche - Università di Bologna 16