Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale

24
Robotica (PRo) Robotica (PRo) A.A. 99/00 A.A. 99/00 B. Modulo di Percezione B. Modulo di Percezione Artificiale Artificiale Visione artificiale e tecniche di elaborazione delle immagini Parte 1/2

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 Presentation

Transcript of Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale

Page 1: Corso di Percezione Robotica (PRo) A.A. 99/00 B. Modulo di Percezione Artificiale

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)