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