corso di percezione robotica (pro) a.a. 99/00 b. modulo di percezione artificiale
DESCRIPTION
Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale. Visione artificiale e tecniche di elaborazione delle immagini Parte 1/2. Sommario della lezione. Formazione dell’immagine principi di funzionamento dei dispositivi per l’acquisizione di immagini - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/1.jpg)
Corso di Percezione Robotica Corso di Percezione Robotica (PRo)(PRo)A.A. 99/00A.A. 99/00
B. Modulo di Percezione B. Modulo di Percezione ArtificialeArtificiale
Visione artificiale e tecniche di elaborazione delle immagini
Parte 1/2
![Page 2: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/2.jpg)
Sommario della lezioneSommario della lezioneFormazione dell’immagine
principi di funzionamento dei dispositivi per l’acquisizione di immagini
definizioni di immagine digitalizzata, connettività e distanzapreelaborazione (early processing):
filtraggio rilevamento di bordi sogliatura
Riferimenti bibliografici:Fu, Gonzalez, Lee, “Robotica”, McGraw-HillBallard & Brown, “Computer vision”, Prentice Hall
![Page 3: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/3.jpg)
Funzione immagine ed Funzione immagine ed immagine digitalizzataimmagine digitalizzata
f(x,y) 2x(x,y): coordinate spazialif(x,y): valore dell’intensità luminosa in quel punto
CAMPIONAMENTO DELL’IMMAGINE: digitalizzazione delle coordinate spazialiQUANTIZZAZIONE DELL’INTENSITA’ (o DEI LIVELLI DI GRIGIO): digitalizzazione in ampiezzaPIXEL: elemento dell’immagine digitalizzata
![Page 4: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/4.jpg)
Pixel viciniPixel vicini
p = (x,y) è 4-VICINO di:(x+1,y) (x-1,y) (x,y+1) (x,y-1) N4(p)
p = (x,y) è VICINO DIAGONALE di:(x+1,y+1) (x+1,y-1) (x-1,y+1) (x-1,y-1) ND(p)
p = (x,y) è 8-VICINO di N4(p) ND(p)
![Page 5: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/5.jpg)
ConnettivitàConnettivitàq N4(p) p e q 4-CONNESSI
q N8(p) p e q 8-CONNESSIp e q CONNESSI p e q ADIACENTIS1 e S2 sottoinsiemi di un’immagine
pS1 e qS2 t.c. p e q adiacenti
S1 e S2 adiacenti PERCORSO tra p=(x,y) e q=(s,t):{(x0,y0), (x1,y1), …, (xn,yn) t.c. (x0,y0)=p, (xn,yn)=q e i (xi,yi) è adiacente a (xi+1,yi+1)}n=lunghezza del percorso
![Page 6: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/6.jpg)
DistanzaDistanza
p=(x,y), q=(s,t) e z=(u,v)D è una funzione della distanza o metrica se1. D(p,q) 02. D(p,q) = D(q,p)3. D(p,z) D(p,q) + D(q,z)DISTANZA EUCLIDEA: De=((x-s)2+(y-t)2)1/2
DISTANZA DEGLI ISOLATI: D4=|x-s|+|y-t|
DISTANZA A SCACCHIERA: D8=max(|x-s|,|y-t|)
![Page 7: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/7.jpg)
Preelaborazione (early Preelaborazione (early processing): tecniche di processing): tecniche di FILTRAGGIOFILTRAGGIO
filtraggio hardwaremedia degli intornifiltraggio medianomedia dell’immaginesottrazione dello sfondo trasformazione dell’istogramma
![Page 8: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/8.jpg)
Filtraggio hardwareFiltraggio hardware
Filtri passa-basso per l’eliminazione del rumore, tipicamente ad alta frequenzarischio di eliminare caartteristiche significative dell’immagine (es. bordi)
filtri passa-bandanei casi in cui il rumore è periodico e concentrato attorno ad una frequenza particolare
![Page 9: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/9.jpg)
Media degli intorniMedia degli intorni
g(x,y) = 1/P f(n,m)
S: intorno di (x,y)P: numero di punti di S
n,mS
![Page 10: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/10.jpg)
Filtraggio medianoFiltraggio mediano
g(x,y) = mediana di (x,y)
Mediana M di un insieme di valori: valore tale che metà dei valori dell’insieme sono minori di M e metà sono maggiori
![Page 11: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/11.jpg)
Media dell’immagineMedia dell’immagine
g(x,y) = 1/K fi(x,y)K
i=1
![Page 12: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/12.jpg)
Sottrazione dello sfondoSottrazione dello sfondo
La tecnica della sottrazione dello sfondo tenta di rimuovere le leggere variazioni dei livelli di grigio dello sfondo, approssimandole con una funzione e sottraendo tale funzione dalla funzione immaginefn(x,y) = f(x,y) - fb(x,y)
fb(x,y) = c (costante) oppure
fb(x,y)=m1x+m2y+c (lineare)
![Page 13: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/13.jpg)
Trasformazione Trasformazione (equalizzazione) (equalizzazione) dell’istogrammadell’istogramma
ISTOGRAMMA DI UN’IMMAGINE: funzione che dà la frequenza di apparizione di ogni livello di grigio nell’immagineh(p) = numero di pixel con valore p (0pn)
EQUALIZZAZIONE DELL’ISTOGRAMMA: mappatura dei livelli di grigrio p in livelli di grigio q t.c. la loro distribuzione è uniformeg(q) dq = h(p) dpg(q) = N2/MN2: numero di pixel, M:numero dei livelli di grigio
g(p) = M/N2 h(s) dsp
0
![Page 14: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/14.jpg)
BORDO (EDGE): area in cui i livelli di grigio variano rapidamente
OPERATORE DI BORDO (EDGE OPERATOR): operatore matematico in grado di rilevare la presenza di un bordo
Operatori basati sul gradiente: operatore di differenza, operatore incrociato di Roberts, operatori di Prewitt e Sobel, metodo dei crack edge, metodo del laplacianoTecniche di confronto con un modello (template matching): operatori di KirschTecniche basate su modelli parametrici: operatore di Hueckel
Preelaborazione (early Preelaborazione (early processing): tecniche di processing): tecniche di RILEVAMENTO DEI BORDIRILEVAMENTO DEI BORDI
![Page 15: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/15.jpg)
Rilevamento di bordi basato sul Rilevamento di bordi basato sul gradiente - definizionigradiente - definizioni
GRADIENTE: misura della discontinuità in un punto dell’immagineDIREZIONE DEL GRADIENTE (s(x,y)): direzione della massima variazione dei livelli di grigioINTENSITA’ DEL GRADIENTE ((x,y)): intensità della variazione dei livelli di grigio
![Page 16: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/16.jpg)
Rilevamento di bordi basato sul Rilevamento di bordi basato sul gradientegradiente
s(x,y) = (12 + 2
2)1/2 (x,y) = tan-1 (2/1)OPERATORE DI DIFFERENZA:1= f(x+a,y) - f(x,y) 2= f(x,y+a) - f(x,y)OPERATORE INCROCIATO DI ROBERTS:1= f(x,y+a) - f(x+a,y) 2= f(x,y) - f(x+a,y+a)PREWITT:1= f(x-1,y+1) + f(x,y+1) + f(x+1,y+1) - f(x-1,y-1) - f(x,y-1) - f(x+1,y-1) 2= f(x-1,y-1) + f(x-1,y) + f(x-1, y+1) - f(x+1,y-1) - f(x+1)y) - f(x+1,y+1)SOBEL:1= f(x-1,y+1) + 2f(x,y+1) + f(x+1,y+1) - f(x-1,y-1) - 2f(x,y-1) - f(x+1,y-1) 2= f(x-1,y-1) + 2f(x-1,y) + f(x-1, y+1) - f(x+1,y-1) - 2f(x+1)y) - f(x+1,y+1)
![Page 17: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/17.jpg)
Rilevamento dei crack edge Rilevamento dei crack edge
CRACK EDGE: bordo considerato tra 2 pixel
Ogni pixel ha 4 crack edge:(x,y) = k /2s(x,y) = |f(x,y) - f(x+k,y-k)|
0 k 4
![Page 18: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/18.jpg)
Metodo del LaplacianoMetodo del Laplaciano
Approssimazione della derivata del secondo ordine
L(x,y) = f(x,y) - 1/4 [f(x,y+1) + f(x,y-1) + f(x-1,y) + f(x+1,y)]
![Page 19: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/19.jpg)
Operatore di KirschOperatore di Kirsch
S(x) = max[1, max |f(xk) - f(x)|]K+1
k k-1
![Page 20: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/20.jpg)
Modello di HueckelModello di Hueckel
Modello di un bordo ideale, rappresentato attraverso parametri che vengono variati per trovare il miglior matching sull’immagine
![Page 21: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/21.jpg)
SogliaturaSogliatura
Trasformazione dell’immagine in IMMAGINE BINARIA, attraverso il confronto con una soglia T:
g(x,y) = 1 se f(x,y) > T= 0 se f(x,y) T
T può essere costante o variabile rispetto a x, y, f(x,y) o altre proprietà localiT può essere determinata empiricamente o con tecniche statistiche
![Page 22: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/22.jpg)
Algoritmo di rilassamento di Algoritmo di rilassamento di PragerPrager
Migliora l’immagine dei bordi (crack edge), rafforzando quelli più plausibili ed indebolendo quelli più dubbi, rispetto al
valore dei bordi vicini0. Calcola il valore di fiducia iniziale di ogni bordo C0(e) come il gradiente normalizzato rispetto al massimo gradiente1. k=12. Calcola il tipo di ogni bordo in base alla fiducia dei vicini3. Modifica la fiducia di ogni bordo Ck(e) sulla base del tipo e del valore di fiducia precedente Ck-1(e)4. Verifica se c’è stata la convergenza di tutti i Ck(e) a 0 o 1. Se sì allora stop, altrimenti incrementa k e vai al passo 2
![Page 23: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/23.jpg)
Algoritmo di rilassamento di Algoritmo di rilassamento di PragerPragerUn vertice è di tipo i se i massimizza conf(i)conf(0) = (m-a)(m-b)(m-c)conf(1) = a(m-b)(m-c) conf(2) = ab(m-c)conf(3) = abc
m=max(a,b,c,q)a,b,c gradienti normalizzati con abcq costante (es: q=0.1)
![Page 24: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale](https://reader035.vdocumenti.com/reader035/viewer/2022081603/56813581550346895d9cdffc/html5/thumbnails/24.jpg)
Algoritmo di rilassamento di Algoritmo di rilassamento di PragerPragerUn bordo è di tipo i-j se i suoi vertici sono di tipo i e di tipo j, rispettivamente
INCREMENTA i bordi di tipo: 1-1, 1-2, 1-3DECREMENTA i bordi di tipo: 0-0, 0-2, 0-3INVARIATI i bordi di tipo: 0-1, 2-2, 2-3, 3-3
INCREMENTO: CK+1(e)=min(1,Ck(e)+)DECREMENTO: CK+1(e)=max(0,Ck(e)-)NO VARIAZIONE: CK+1(e)=Ck(e)
costante (tipicamente 0.1 0.3)