Visione Artificiale Ing. Roberto Vezzani a.a

Slides:



Advertisements
Presentazioni simili
Le trasformazioni.
Advertisements

Materiale di supporto all’insegnamento di ELABORAZIONI IMMAGINI 1
Calcolo vettoriale E.F. Orsega – Università Ca’ Foscari di Venezia
L’ IPERBOLE.
OTTICA delle LENTI Presentazione multimediale classe IV IB A.S. 2002/03 Prof. Loredana Villa Per molti strumenti ottici (il cannocchiale, il binocolo,
Sistema di riferimento sulla retta
Capitolo 4 Trasformazioni Geometriche
Autovalori e autovettori
Lezioni di ottica R. Rolandi
COORDINATE POLARI Sia P ha coordinate cartesiane
SVILUPPO DI UN METODO DI CALIBRAZIONE DI UN SISTEMA STEREOSCOPICO PER LA MISURA DELLA LARGHEZZA DI PRODOTTI PIANI LAMINATI A CALDO Laureando: MASSIMO DAL.
Cinematica diretta Un manipolatore è costituito da un insieme di corpi rigidi (bracci) connessi in cascata tramite coppie cinematiche (giunti). Si assume.
Ottica geometrica 2 11 gennaio 2013
Visione Stereo & Geometria Epipolare
Lezione 4) L’Equazione Iconale e la propagazione delle onde in mezzi disomogenei.
Teoria e Tecniche del Riconoscimento
V.Caglioti - Autolocalizzazione
Un manipolatore è costituito da un insieme di corpi rigidi (bracci) connessi in cascata tramite coppie cinematiche (giunti) a formare una catena cinematica.
Esempio – Manipolatore Antropomorfo
Costruzione di Interfacce Lezione 4 Sistemi di riferimento e trasformazioni
Costruzione di Interfacce Lezione 4 Nozioni di geometria per la grafica
Costruzione di Interfacce Lezione 4 Geometria per la grafica
Visione Artificiale La visione del robot può essere definita come il processo di estrazione, caratterizzazione e interpretazione delle informazioni provenienti.
LA RETTA. Concetto primitivo La retta o linea retta è uno dei tre enti geometrici fondamentali della geometria euclidea. Viene definita da Euclide nei.
1 Rendering spaziale sonoro mediante ricostruzione stereo Università degli studi di Verona Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica.
Structure from motion Corso Visione e percezione a.a.2008/2009
Università degli Studi di Roma “Sapienza” Facoltà di Ingegneria Laurea Magistrale in Ingegneria Informatica Tesina del Corso di Visione e Percezione A.A.
Scene Modelling, Recognition and Tracking
PROFESSORESSA STUDENTI F. Pirri D. G. Ferriero V. Virili TUTOR M. Pizzoli RICOSTRUZIONE METRICA 3D DI UN OGGETTO RIPRESO DA PIÙ VISTE CON LA STESSA TELECAMERA.
Applicazioni progettuali di grafica computerizzata a.a. 2008/2009 Rendering grafico.
Teoria e Tecniche del Riconoscimento
Trasformazioni geometriche nel piano
Elaborazione (digitale) delle immagini
corso DI GEOMETRIA DESCRITTIVA
Motion capture distribuito
Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre Ottobre 2008.
Vettori Finche’ il moto si svolge in una sola dimensione – moto unidimensionale, moto rettilineo – non abbiamo bisogno di vettori La posizione e’ individuata.
Papagna Sabino Flavia Camoes
Le trasformazioni Daniele Marini.
Un modello per interpretare, interagire e descrivere la realtà
il moto rotatorio di un corpo rigido
Controllare le proiezioni
Corso Di Programmazione Grafica aa 2007/2008
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Trasformazioni Daniele Marini.
Corso Di Programmazione Grafica
Rotazioni e quaternioni
Controllare la prospettiva
Le trasformazioni Daniele Marini Corso Di Programmazione Grafica aa 2005/2006.
L'ottica studia i fenomeni luminosi.
Calcolo dei pilastri in Cemento Armato allo SLU
Il moto armonico Palermo Filomena.
OTTICA delle LENTI Per molti strumenti ottici (il cannocchiale, il binocolo, la macchina fotografica, i moderni telescopi, ecc.) l'elemento base è la lente.
La retta Equazione (rette parallele agli assi, passanti per l’origine e generiche) Forma esplicita e implicita Condizione di parallelismo e perpendicolarità.
Geometria Analitica.
Acquisizione ed elaborazione di dati cinematici
A proposito di spazio scala e di altre features locali... Elisabetta Delponte
Analisi della similarità tra immagini.
Relatore: Prof. Vittorio Murino Correlatore: Dott. Andrea Fusiello Università degli Studi di Verona Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica.
Daniele Marini Con contributi di Maurizio Rossi
LA RETTA NEL PIANO CARTESIANO
AvvioEsci ITC Soverato ITC Soverato Proff. Santoro-Mezzotero Le trasformazioni geometriche nel piano.
L’analisi di regressione e correlazione Prof. Luigi Piemontese.
A.s Lezioni a cura del Prof.Giovanni Calò Le trasformazioni geometriche Un trasformazione geometrica t è una corrispondenza biunivoca che fa.
IISS "E. Medi" - Galatone Prof. Giuseppe Frassanito a.s. 2012/2013
Docente: Antonio Zanutta FOTOGRAMMETRIA L FINALITA’ Fornire la conoscenza del rilievo fotogrammetrico di strutture ed oggetti di interesse storico-artistico,
TRASFORMAZIONI GEOMETRICHE.
La Circonferenza. LA CIRCONFERENZA Assegnato nel piano un punto C detto Centro, si chiama circonferenza la curva piana con i punti equidistanti da C.
Transcript della presentazione:

Visione Artificiale Ing. Roberto Vezzani a.a. 2007-2008 Geometria 3D, modello e calibrazione di una telecamera, stereo vision Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia, Italia

Calibrazione della telecamera: a cosa serve? Obiettivo: poter calcolare misure o relazioni spaziali a partire dalle immagini acquisite da una macchina fotografica o da una telecamera.

Applicazioni (con una telecamera): Misurare le dimensioni reali (lunghezza, larghezza, …) di oggetto o di particolari meccanici mediante una telecamera installata su una catena di montaggio Misurare con una telecamera installata nei pressi si una autostrada la velocità delle automobili che vi transitano Ricostruire la traiettoria seguita da una persona che si sta muovendo all’interno di una stanza Diametro 20mm 134 Km/h

Applicazioni (con due telecamere): Ricostruzioni 3D Distanza degli oggetti dalla telecamera (Robot mobili – calcolo del tempo di collisione)

Richiami di geometria

Coordinate 3D – Traslazione Sia dato un sistema di riferimento tridimensionale ed un punto P1 di un oggetto, le cui coordinate rispetto al sistema di riferimento sono (X1,Y1,Z1). Una traslazione dx,dy,dz porta il punto P1 in un punto P2 di coordinate Purtroppo non esiste una matrice T tale per cui P2=T · P1 Coordinate Omogenee: P1 = [ X1 Y1 Z1 1]T P2 = [ X2 Y2 Z2 1]T In coordinate omogenee esiste una matrice di trasformazione T che rappresenta la traslazione:

Scala Analogamente possiamo definire la matrice che rappresenta una variazione di scala di un oggetto Matrici di trasformazione inverse: per ogni trasformazione definita mediante una matrice T è possibile ottenere la trasformazione inversa invertendo la matrice stessa: T-1 Traslazione: Scala:

Rotazione Consideriamo ora una rotazione di un punto attorno all’asse Z. Il punto P1= (X1,Y1,Z1) viene portato in P2: La matrice di trasformazione corrispondente è: Analogamente si possono ottenere le matrici di rotazione lungo gli altri due assi

Trasformazioni composte E’ possibile ottenere trasformazioni composte mediante il prodotto di trasformazioni elementari Tc = T4 · T3 · T2 · T1 ATTENZIONE all’ordine delle trasformazioni Vengono applicate a partire da quella più a destra P2 = Tc · P1 = T4 · T3 · T2 · T1· P1 = T4 ·( T3 ·( T2 ·( T1· P1))) Matematicamente, infatti, si può dimostrare facilmente in quanto il prodotto tra matrici, non è commutativo. In genere A · B ≠ B · A

Visione monoculare (Singola telecamera)

Modello Pinhole della telecamera Il concetto si basa sulla riflessione/emissione di luce da parte dell’oggetto che passa attraverso un forellino di un’ipotetica “camera oscura” e si proietta sul piano immagine.

Angolo di Acquisizione e Zoom A parità di sensore di acquisizione (ad es. CCD), diminuendo la lunghezza focale sul sensore viene proiettato un angolo più ampio della scena osservata

Modello Pinhole della telecamera E’ il modello di telecamera più diffuso Costituito da piano immagine (o retina)  punto O detto centro ottico (o centro di proiezione) Punto o detto centro immagine Oo: distanza focale Asse Z: detto anche asse ottico Trasforma prospetticamente un punto P=(X,Y,Z) nello spazio 3-D in un punto p=(x,y) sul piano in cui si forma l’immagine

Varianti del modello Piano immagine reale Piano immagine virtuale

Proiezione Prospettica Planare Le equazioni che definiscono la trasformazione prospettica si ottengono sfruttando la similitudine di triangoli: L’equazione è non lineare e non mantiene né le distanze fra i punti né gli angoli tra le linee

Problema: posso calcolare l’altezza della barra? Dall’immagine Da specifiche tecniche della telecamera Da informazioni note a priori Non posso calcolare l’altezza reale della barra. Devo misurare la distanza focale in pixel mediante la CALIBRAZIONE della telecamera.

Calibrazione: metodo “manuale” Posso calcolare la distanza focale in pixel. Tale distanza è anche data dalla distanza focale in mm divisa per la dimensione in mm di un pixel. Problema: visto che i pixel non sono quadrati le distanze focali calcolate lungo l’asse x e lungo l’asse y possono essere differenti. Data la discretizzazione dell’immagine, è meglio calcolare più misure di distanze focali e valutare la distanza effettiva con metodi statistici (es. media). La scacchiera è particolarmente comoda nelle tecniche automatiche di calibrazione.

Matrice di proiezione prospettica Note la/e distanza/e focale/i della telecamera, preso un punto PC nello spazio di cui conosco le coordinate (XC,YC,ZC) rispetto al sistema di riferimento della telecamera, posso determinare in quale pixel p dell’immagine mi verrà visualizzato. Per comodità vorrei trovare una matrice M tale che p= M · PC Per fare ciò devo utilizzare le coordinate omogenee. Che in forma compatta diventa: M è detta matrice di proiezione prospettica o MPP.

Sistema di riferimento del mondo L’obiettivo finale è stabilire un legame tra le coordinate di PW nel sistema di riferimento (Ow, Xw, Yw, Zw), chiamato riferimento del mondo, e quelle di p in un sistema definito sul piano immagine. Come passaggio intermedio sfruttiamo il sistema di riferimento della telecamera (Oc, Xc, Yc, Zc). R e T sono chiamati parametri estrinseci della telecamera. Una volta ottenuti i punti nel sistema di riferimento della telecamera bisogna trasformare le coordinate in coordinate immagine, utilizzando il modello pinhole.

Per sostituzione si ottengono le equazioni: Coordinate immagine Per passare più agevolmente dalle coordinate nel sistema di riferimento della telecamera alle coordinate immagini, scriviamo: dove (ox, oy) sono le coordinate del punto principale o in pixel e (sx, sy) sono le dim. del pixel lungo x e lungo y. Le nuove coordinate (xim, yim) sono dette coordinate normalizzate o coordinate immagine. Per passare dalle coordinate della telecamera alle coordinate immagine bisogna conoscere i parametri intrinseci della telecamera: f,ox, oy, sx e sy. Per sostituzione si ottengono le equazioni:

Per passare dalle coordinate omogenee alle coordinate immagine: Forma matriciale Definendo: Possiamo esprimere Pw in coordinate omogenee: Per passare dalle coordinate omogenee alle coordinate immagine:

Metodo di calibrazione generale Un metodo pratico per la calibrazione è quello di usare un pattern noto e misurabile, come una scacchiera. f, sx e sy non sono indipendenti Dalla calibrazione possiamo determinare: R (matrice 3x3 di rotazione, 3 gradi di libertà), T (vettore 3x1 di traslazione) fx=f/sx (focale espressa in nr. di pixel orizzontale) =sx/sy (aspect ratio) (ox,oy) (coordinate del centro immagine)

Autocalibrazione Nel caso più generale si possono voler calcolare 11 parametri, 5 intrinseci e 6 estrinseci Posso utilizzare il toolbox Matlab di Zhengyou Zhang, che necessita in ingresso di 3 o più viste differenti di una scacchiera a celle quadrate di dimensione nota. http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/links.html

Deviazioni dal modello pin-hole

Modello a lenti sottili Ipotesi del modello: 1. i raggi paralleli all'asse ottico incidenti sulla lente vengono rifratti in modo da passare per un punto dell'asse ottico chiamato fuoco F. 2. i raggi che passano per il centro C della lente sono inalterati. Per mettere a fuoco oggetti a distanze diverse, le lenti dell'occhio cambiano forma (focale), mentre le lenti delle telecamere traslano nella direzione Z. A. Fusiello. Visione Computazionale: appunti delle lezioni, 2005. http://profs.sci.univr.it/~fusiello/teaching/visione/appunti.pdf

Distorsioni delle lenti Immagine originale distorta Distorsione rimossa

Distorsione tangenziale asse x Esempi di distorsioni Distorsione radiale Distorsione tangenziale asse x Distorsione tangenziale asse y

Correzione distorsione lenti - Modello plumb-bob Modello plumb-bob [D.C.Brown, 1971] Distorsioni radiali Distorsioni tangenziali

Rimozione prospettica e omografie

Rimozione prospettica e omografia Un punto dello spazio 3D viene sempre proiettato su uno ed un solo punto del piano immagine. Ovvero, dato un punto nello spazio e conoscendo i parametri intrinseci ed estrinseci della telecamera, posso determinare se il punto è inquadrato e dove compare nell’immagine Un punto dell’immagine, invece, può corrispondere ad uno qualunque dei punti della retta che passa dal centro ottico e dal punto stesso.

Rimozione prospettica Se ho almeno un vincolo sulle coordinate del mondo reale di un punto P, posso determinare con esattezza la sua posizione a partire dalle coordinate immagine. Omografia orizzontale

Omografia orizzontale – Rettificazione dell’immagine Ipotesi: i punti dell’immagine fanno tutti parte del piano Y=0 (pavimento / strada)

Matrice di trasformazione omografica L’omografia (o collineazione) è formalmente definita come una “trasformazione lineare non singolare del piano proiettivo in se stesso” Praticamente: preso un piano e due differenti proiezioni bidimensionali dello stesso, la trasformazione omografica lega le coordinate dei punti nei due sistemi di riferimento. La matrice di omografia è definita a meno di un fattore di scala (8 gradi di libertà) Può essere determinata dalla corrispondenza di 4 punti

Trasformazioni 2D - Trasformazione Euclidea Trasformazioni euclidee: vengono algebricamente rappresentate mediante una matrice sparsa non singolare 3x3 avente tre gradi di libertà (una rotazione e due traslazioni). Preservano le lunghezze e le aree, gli angoli.

Trasformazioni 2D - Trasformazione di Similitudine Trasformazioni di similitudine: vengono algebricamente rappresentate mediante una matrice sparsa non singolare 3x3 avente 4 gradi di libertà (una rotazione, una scala e due traslazioni). Preservano i rapporti tra le lunghezze e le aree, gli angoli.

Trasformazioni 2D - Trasformazione Affine Trasformazioni affini: vengono algebricamente rappresentate mediante una matrice sparsa non singolare 3x3 avente 6 gradi di libertà. Preservano il parallelismo, i rapporti tra lunghezze di linee parallele, le combinazioni lineari di vettori e le linee all’infinito.

Trasformazioni 2D - Trasformazione Proiettiva Trasformazioni proiettive o omografiche: vengono algebricamente rappresentate mediante una matrice sparsa non singolare 3x3 avente 8 gradi di libertà. Preservano la collinearità e la cross-ratio.

Visione stereoscopica (Due telecamere)

La visione stereoscopica Con la visione stereoscopica è possibile ottenere la posizione di un punto nello spazio tridimensionale a partire dalle coordinate immagine acquisite da due telecamere distinte. Non ho più bisogno di vincoli aggiuntivi sulle coordinate (cfr: omografia nel caso monoculare) Il problema principale da affrontare nel campo della visione stereoscopica è la risoluzione delle corrispondenze: per ogni punto di interesse individuato su di una immagine devo trovare il punto corrispondente sull’altra immagine

Visione stereoscopica – caso semplificato

Visione stereoscopica: calcolo delle corrispondenze Il problema di associazione dei punti viene fatto cercando per ciascun punto Pl dell’immagine di sinistra nel suo intorno corrispondente nell’immagine di destra il punto che massimizza (minimizza) una certa funzione (metrica di affinità) Possibili metriche C(u,v), con u e v luminosità del punto nell’immagine di sinistra e di destra, sono: 1) (funzione di correlazione) 2) (somma dei quadrati delle differenze (SSD)) 3) (funzione di correl. normalizzata)

Corrispondenze di features Esistono tecniche più efficaci per il calcolo delle corrispondenze. Il problema principale è dovuto al fatto che gli oggetti sono catturati da punti di vista differenti e con dispositivi diversi. Lo stesso oggetto risulta avere di norma forma e colore diverso. Si ricorre ad algoritmi di estrazione di features forti e a descrittori “invarianti” Esempio: SIFT (Scale Invariant Feature Transform) I descrittori SIFT sono invarianti a Rotazioni Cambianti di scala Leggeri cambiamenti di luminosità (http://www.cs.ubc.ca/~lowe/keypoints/)

Luci strutturate Per facilitare il calcolo delle corrispondenze si possono utilizzare luci strutturare che creano pattern visuali sugli oggetti.

Geometria epipolare Ipotesi: Problema: Soluzione: due telecamere di cui sono noti i parametri intrinseci è nota la posizione di una telecamera rispetto l’altra Problema: Dato un punto P su di una immagine, dove devo cercare il punto corrispondente nella seconda immagine? Soluzione: La geometria epipolare ci assicura che il punto può essere cercato su di una retta, detta retta epipolare. http://profs.sci.univr.it/~fusiello/teaching/visione/EpipolarApplet/index.html

Geometria epipolare Nel caso più generale possibile si parla di geometria epipolare. Siano: Pl=[Xl , Yl , Zl] e Pr=[Xr , Yr , Zr] coordinate di P nei due sistemi-telecamera pl=[xl , yl , zl] e pr=[xr , yr , zr] coordinate di P sui piani immagine l e r el e er sono detti epipoli (Ol, P, Or) è detto piano epipolare le intersezioni di tale piano con l e r sono dette linee epipolari

Matrice Fondamentale F La geometria epipolare non dipende dalla struttura della scena, ma solamente dalle matrici di proiezione delle due telecamere e dalla posizione reciproca delle stesse Tale relazione può essere condensata in una matrice particolare, detta matrice fondamentale F, che presenta le seguenti caratteristiche: Una retta epipolare sull’immagine è descritta dall’equazione ax+by+c=0. Rappresentando i coefficienti dell’i-esima retta in forma matriciale: li=[ai bi ci]T La matrice fondamentale F mette in relazione ogni punto pi di una immagine con la corrispondente retta epipolare sull’altra immagine: Dato che il punto p’i corrispondente a pi giace sulla retta epipolare l’i:

Matrice Essenziale E M e M’ sono le MPP Analoga relazione può essere ottenuta tra le coordinate di punti reali espresse nei sistemi di riferimento delle due telecamere. La matrice che rappresenta tale relazione è detta Matrice Essenziale e dipende solo dalla posizione reciproca delle due telecamere (ma non dai parametri intrinseci delle telecamere) La matrice essenziale, come la matrice fondamentale ha 7 gradi di libertà e può quindi essere determinata tramite un sistema lineare di n equazioni, con n  7: Posso calcolare la matrice essenziale se conosco le corrispondenze di almeno 7 punti (non in configurazione degenerante) Con la matrice essenziale posso usare la geometria epipolare SENZA conoscere i parametri intrinseci ed estrinseci delle telecamere M e M’ sono le MPP