Visione Artificiale La visione del robot può essere definita come il processo di estrazione, caratterizzazione e interpretazione delle informazioni provenienti dalle immagini di un mondo tridimensionale. La percezione è il processo che fornisce un’immagine visiva. La preelaborazione si occupa di tecniche come la riduzione del rumore e il miglioramento dei particolari. La segmentazione è il processo che divide le immagini in oggetti di interesse. La descrizione tratta il calcolo delle caratteristiche (per esempio dimensioni, forme) utilizzabili per differenziare un tipo di oggetto da un altro. Il riconoscimento è il processo che identifica questi oggetti. L’interpretazione conferisce un significato agli oggetti riconosciuti.
Acquisizione delle immagini (Percezione) Telecamere TUBO VIDICON
Sensori CCD Sensori lineari. Il componente di base di un CCD lineare consiste in una riga di elementi sensibili di silicio, detti fotoelementi. I fotoni dell’immagine attraversano una struttura di Gate di silicio policristallino trasparente e vengono assorbiti dal cristallo di silicio, creando così coppie lacune – elettroni. I fotoelettroni risultanti sono raccolti nei fotoelementi e l’entità delle carica raccolta da ogni fotoelemento è proporzionale all’intensità luminosa in quel punto. Sensori di area. I sensori di area sono simili ai sensori lineari, con la differenza che i fotoelementi sono disposti in forma matriciale e che esiste un registro di trasferimento tra le colonne dei fotoelementi
Sensori CCD
Standard video CCIR 625 righe per quadro - 25 quadri al secondo (Europa, Australia) RS170 525 righe per quadro - 30 quadri al secondo (USA, Giappone)
Immagine digitale Digitalizzazione delle coordinate spaziali (x, y)= campionamento di immagine Digitalizzazione in ampiezza = quantizzazione dell’intensità o dei livelli di grigio
Esempi : Campionamento di immagini 128 x 128 256 x 256 32 x 32 64 x 64
Esempi : Livelli di grigio 32 16 8 4
Tecniche di illuminazione
Geometria dell’immagine Traslazione
Trasformazione di scala
Rotazione Rk(-) = RkT() con k = x, y, z
Trasformazione di prospettiva
Matrice di trasformazione della prospettiva
Traformazione inversa wh = P-1ch,
Indeterminazione del punto Supponiamo che un dato punto dell’immagine abbia coordinate (x0, y0, 0), dove lo 0 nella posizione di z sta ad indicare che ci stiamo muovendo nel piano z = 0. Il punto d’immagine di coordinate (x0, y0) corrisponde all’insieme dei punti 3D allineati che giacciono sulla retta che passa per i punti (x0, y0, 0) e (0, 0,).
Soluzione La ricostruzione di un punto 3D dall’immagine bidimensionale richiede la conoscenza di almeno una delle coordinate del punto nel sistema di riferimento.
Modello della telecamera Questa equazione (e la sua inversa) caratterizza la formazione di un’immagine attraverso la proiezione di punti 3D sul piano della telecamera Questo modello si basa sulla considerazione che il sistema di coordinate della telecamera e quello di riferimento coincidano Nella realtà tali SDR possono essere distinti
Modello della telecamera (1) Spostamento w0 del centro dell’origine della telecamera; (2) panoramica dell’asse x, (3) inclinazione dell’asse z; (4) spostamento r del piano dell’immagine rispetto al centro del giunto, dove è appoggiata la telecamera e sul quale può ruotare.
(1) spostamento del centro dell’origine della telecamera; (2) panoramica dell’asse x, (3) inclinazione dell’asse z; (4) spostamento del piano dell’immagine rispetto al centro del giunto, dove è appoggiata la telecamera e sul quale può ruotare.
Trasformazione di prospettiva ch = PCRGwh
Calibrazione della telecamera ch = Awh A = PCRG
Il procedimento di calibrazione consiste nei seguenti passi: dove si è tralasciato lo sviluppo di ch3 in quanto è relativo a z. Il procedimento di calibrazione consiste nei seguenti passi: Ottenere m 6 punti di riferimento in coordinate note (Xi, Yi, Zi) con i = 1, 2, 3, …, m (vi sono due equazioni che comprendono le coordinate di due punti, cosicché sono necessari almeno sei punti). Ricavare la rappresentazione di quei punti con la telecamera, in una data posizione, per ottenere i corrispondenti punti immagine (xi, yi), i = 1, 2, 3, …, m. Usare questi risultati ricavati, nel sistema sopra, per trovare i coefficienti incogniti.
Visione stereoscopica
Preelaborazione Relazioni di base tra i pixel Vicini di un pixel Vicini orizzontali e verticali N4(p). vicini diagonali ND(p) Vicini orizzontali verticali e diagonali N8(p).
Connettività Dato un insieme di valori V di intensità di pixel, vogliamo creare delle sequenze connesse (di pixel vicini) con intensità appartenente a V 4 - connettività. Due pixel p e q di valore appartenente a V sono 4 - connessi se q è nell'insieme N4(p). 8 - connettività. Due pixel p e q di valore appartenete a V sono 8 - connessi se q è nell'insieme N8(p). m - connettività (connettività mista). Due pixel p e q con valore appartenente a V sono m - connessi se: (a) q è in N4(p), oppure (b) q è in ND(p) e l'insieme N4(p) N4(q) è vuoto.
Misure di distanza Dati i pixel p, q e z di coordinate (x, y), (s, t) e (u, v), diciamo che D è una funzione della distanza o metrica se: D(p, q) 0 (D(p, q) = 0 se e solo se p = q). D(p ,q) = D(q, p) D(p, z) D(p, q) + D( q, z) La distanza euclidea tra due pixel è definita come:
La distanza tra gli isolati tra p e q è definita dalla regola: La distanza della scacchiera tra p e q è definita dalla regola:
Preelaborazione nel dominio spaziale g(x, y) = h[f(x, y)] f l’immagine in ingresso, g è l’immagine risultante (preelaborata) e h è un operatore su f, definito in un intorno di (x,y)
Maschere di convoluzione
Metodi nel dominio della frequenza Trasformata bidimensionale di Fourier
Filtraggio Media degli intorni Filtraggio mediano (evita di sfumare i margini e altri particolari netti) Media di più immagini g(x, y) = f(x, y) + n(x, y) Filtraggio binario
Esempi di filtraggio Immagine Immagine originale alterata Filtraggio mediano 5x5 Media degli intorni 5x5
Filtraggio Binario Riempie piccoli (un pixel) buchi in aree per il resto scure Riempie piccole tacche in segmenti rettilinei Elimina gli 1 (scuro) isolati Elimina piccole protuberanze lungo segmenti rettilinei Ripristina i punti mancanti degli angoli
Esempio
Equalizzazione dell’istogramma r = intensità dei pixel in un'immagine 0 r 1 s = T(r) T(r) è una funzione a un solo valore, monotona crescente nell'intervallo 0 T(r) 1 0 T(r) 1 per 0 r 1
Funzione densità di probabilità Immagine scura Immagine chiara s = T(r) Dopo una trasformazione
Equalizzazione dell’istogramma Scegliamo funzione di distribuzione cumulativa di pr(r) Questo risultato è indipendente dalla funzione di trasformazione inversa T-1 La PDF risultante è piatta, indipendentemente dalla PDF di partenza Tale risultato è spesso ideale in quanto bilancia la distribuzione delle intensità
Immagini digitali 0 rk 1 e j = 0, 1, 2, …, L - 1 L è il numero dei livelli (colori) discreti d'intensità pr(rk) è una stima della probabilità dell'intensità rk nk è il numero delle volte che questa intensità appare nell'immagine n è il numero complessivo dei pixel dell'immagine
Un diagramma di pr(rk) in funzione di rk è solitamente chiamato istogramma e la tecnica usata per ottenere un istogramma uniforme è conosciuta con il nome di equalizzazione o linearizzazione dell'istogramma. 0 rk 1 e k = 0, 1, 2, …, L - 1
Esempio
Miglioramento locale fattore di guadagno locale m(x, y) e (x, y) rappresentano la media dell’intensità e la deviazione standard calcolate in un intorno con centro in (x, y), M è la media totale di f(x, y) e k è una costante nell’intervallo indicato. È importante mettere in evidenza che A, m e sono quantità variabili che dipendono da un intorno predefinito di (x, y).
Rilevazione dei contorni
Operatori a gradiente
Operatori a gradiente
Immagini binarie Operatore di Laplace
Sogliatura Soglia singola Soglie multiple
Segmentazione La segmentazione è il processo che suddivide una scena in oggetti d’interesse. discontinuità : ricerca dei contorni similitudine : sogliatura e accrescimento delle regioni
Collegamento delle estremità e ricerca dei contorni Analisi locale Valutati in un intorno di (x,y) Due pixel sono simili (e quindi fanno parte del contorno dello stesso oggetto) se soddisfano le condizioni precedenti
Esempio
Analisi globale con la trasformata di Hough Ricerca di linee rette in una immagine contenente n punti Linee rette Confronti !!! yi = axi + b Spazio dei parametri
xcos(i) + ysen(i) =i Celle accumulatrici A(a, b) = A(a, b) + 1 Se suddividiamo a e b in K parti il problema assume complessità lineare nK Problema: rette verticali ! Rappresentazione polare xcos(i) + ysen(i) =i In generale g(x, c) = 0,
Esempio
Limitazione tramite soglia p(x, y) rappresenta alcune proprietà locali misurate in un intorno di detto punto Se T dipende solo da f(x, y) la soglia è detta globale. Se T dipende sia da f(x, y) sia da p(x, y), allora, la soglia è detta locale. Se, inoltre, T dipende anche dalla posizione (x, y) allora la soglia è detta dinamica. Le soglie globali trovano applicazione in situazioni in cui c’è una netta distinzione tra oggetti e sfondo e se l’illuminazione è relativamente uniforme.
Scelta della soglia ottimale p(z) = P1p1(z) + P2p2(z) istogramma bimodale P1 e P2 probabilità a priori
È noto dalla teoria delle decisioni che l’errore che si commette nell’attribuire un pixel di colore chiaro ad uno di colore scuro, e viceversa, è minimizzato se si usa la seguente regola: dato un pixel con intensità z, sostituiamo quel valore di z nelle due funzioni costruite sopra. Classificheremo allora il pixel come valore chiaro (oggetto) se d1(z) > d2(z) o come pixel scuro (sfondo) se d1(z) < d2(z). La soglia ottimale è quindi quel valore di z (z = T) per cui vale d1(z) = d2(z). P1p1(T) = P2p2(T).
Soglie basate sui contorni
Segmentazione orientata alle regioni Poniamo che R rappresenti l’intera regione dell’immagine. Possiamo vedere la segmentazione come un processo che suddivida R in n sottoregioni, R1, R2, …, Rn, cosicché:
Accrescimento di regioni usati come seme T=3 T=8
Suddivisione e fusione di regioni
Uso del movimento Immagine differenza
Descrizione Il problema della descrizione nel processo visivo consiste nell’estrazione delle caratteristiche di un oggetto per consentire il riconoscimento. In teoria i descrittori dovrebbero essere indipendenti dalle dimensioni dell’oggetto, dalla posizione e dall’orientamento e dovrebbero contenere informazioni sufficienti per distinguere in modo inequivocabile un oggetto da un altro.
Descrittori dei contorni Codici a catena
Forme caratteristiche
Descrittori di Fourier Punto del contorno = x + jy Vantaggi: bastano pochi elementi della FFT per distinguere gli oggetti facile normalizzare rispetto a cambi scala, rotazioni, punto di partenza del contorno
Descrittori regionali Area Assi maggiori e minori Eccentricità Perimetro Compattezza Tessitura
Riconoscimento x = (x1, x2, …, xn)T vettore di pattern xi è l’i–esimo descrittore di un determinato oggetto Date M classi d’oggetti, rappresentate con 1, 2, …, M, il problema di base nel riconoscimento dei pattern con la teoria delle decisioni è identificare le M funzioni di decisione, d1(x), d2(x), …, dM(x) con la proprietà che la seguente relazione valga per ogni pattern x* appartenete alla classe i: di(x*) > dj(x*) j = 1, 2, …, M; j i.
Assegneremo x* alla classe j se la distanza Dj(x*) è la più breve. Esempio: Distanza Euclidea Assegneremo x* alla classe j se la distanza Dj(x*) è la più breve.