ESTRAZIONE DI DI DATI DATI 3D 3D ESTRAZIONE DA IMMAGINI IMMAGINI DIGITALI DIGITALI DA (Visione 3D) 3D) (Visione Visione 3D On AIR 2007 Calibrazione intrinseca Visione 3D On AIR 2007 Spesso risulta utile calibrare la sola componente intrinseca di un sistema di visione (matrice K), e non si dispone di oggetti di forma e dimensioni note Il metodo classico (6 punti 3D noti – 11 parametri da stimare) non risulta quindi direttamente applicabile Esistono diverse alternative basate sull’uso di strutture geometriche (rette, piani) di norma presenti nelle scene Si tratta di metodi che utilizzano proprietà della geometria proiettiva la cui osservazione permette di dedurre la matrice di calibrazione K Visione 3D On AIR 2007 Metodo dei punti di fuga Il metodo si riconduce ad una osservazione già nota ai pittori del rinascimento: rette parallele nel mondo si intersecano sull’immagine in un punto Visione 3D On AIR 2007 Taylor pubblica Linear Perspective nel 1715. In esso mostra come ricavare la posizione 3D di un osservatore che si pone davanti ad un quadro (inverse perspective). Introduce i punti di fuga e ne studia le proprietà Visione 3D On AIR 2007 Visione 3D On AIR 2007 Visione 3D On AIR 2007 Con le coordinate omogenee, possiamo introdurre i punti di fuga come immagini dei punti all’infinito Prendiamo 3 punti all’infinito corrispondenti agli assi Visione 3D On AIR 2007 Introducendo la fattorizzazione di P in termini di K ed R Per le proprietà di R segue Visione 3D On AIR 2007 Si ottengono quindi 6 equazioni indipendenti per le entrate della matrice simmetrica KKT (6) e per i fattori di scala (3) Per avere una soluzione, occorre che le incognite in K siano al massimo 3 (scelta tipica: focale e coordinate centro) Per un modello di K semplificato (no skew, pixel quadrato), la conoscenza di 3 punti di fuga per direzioni ortogonali, consente la calibrazione della telecamera Questo fatto ha una notevole interpretazione geometrica (già implicita nei lavori di Taylor) Visione 3D On AIR 2007 Assumendo no skew e pixel quadrato … Da cui segue Per l’ortogonalità delle colonne di R e posto Visione 3D On AIR 2007 Applicando lo stesso procedimento a tutte le coppie, si hanno le tre equazioni seguenti Sottraendo fra loro coppie di equazioni, si ottengono relazioni del tipo Ciò significa che il segmento x1x0 è ortogonale a x2x3, cioè x0 è l’ortocentro del triangolo x1x2x3 (fatto già noto nel 1715!). Noto x0, la stima della focale è immediata. Visione 3D On AIR 2007 La stima di un punto di fuga note le equazioni di almeno 2 rette è un banale problema di intersezione (o di fitting) 2D Esistono svariati approcci utilizzabili, la cui precisione dipende da quanto sono effettivamente incidenti le varie rette utilizzate. Visione 3D On AIR 2007 Problema: il punto di fuga deve essere al finito, cioè le rette che lo definiscono non devono essere parallele sull’immagine. Instabilità numerica nei casi limite Il metodo è molto semplice e facile da implementare in modo automatico, tramite algoritmi di image processing che trovano rette sulle immagini Se il centro è fissato (sola focale incognita) bastano 2 punti di fuga per direzioni ortogonali. Adatto per stimare zoom variabili. Visione 3D On AIR 2007 Metodo omografico (Zhang) Si suppone che siano disponibili nella scena, tramite oggetti già presenti, oppure tramite strutture apposite, almeno 3 piani non paralleli fra loro (non necessariamente ortogonali) Ogni piano deve avere una struttura sufficientemente nota per poter calcolare una omografia H tra piano ed immagine (es. rettangolo di dimensioni note) Visione 3D On AIR 2007 Anche in questo caso, il vincolo forte è l’ortonormalità delle colonne di R, che fornisce una coppia di equazioni del tipo Una omografia fornisce quindi 2 equazioni per le entrate di K Il numero minimo di omografie dipende da quanti gradi di libertà sono presenti in K (valori possibili: 1, 3, 4, 5). In generale con 3 omografie (o più), qualunque K è determinata univocamente tramite stime m.q. Visione 3D On AIR 2007 La soluzione generale si ottiene in termini di una matrice dalla quale si estrae un vettore di 6 incognite Con qualche manipolazione algebrica, le 2 equazioni danno Visione 3D On AIR 2007 Acculando 2 equazioni per ogni omografia si ottiene in generale un sistema omogeneo del tipo La matrice V ha 2N righe e 6 colonne, e b si trova con il solito metodo basato su SVD di V o sugli autovettori di VTV Un problema di algebra interessante è, data B, come trovare K (o meglio K-1). Si tratta di una “radice quadrata” di una matrice data. Esiste una decomposizione (Cholesky) che fattorizza B in ATA, con A triangolare, che è proprio ciò che serve per chiudere il calcolo Visione 3D On AIR 2007 Dal punto di vista teorico, tutte le omografie indipendenti sono valide. Tuttavia dal punto di vista della stabilità numerica è meglio che le omografie formino angoli elevati sia fra loro che con il piano immagine L’ultima condizione è di difficile realizzazione perché più un piano risulta inclinato rispetto all’immagine più appare “sfuggente” e quindi poco visibile Si usano quindi di solito piani (dedotti da oggetti noti mobili) fra loro sghembi ma con modeste inclinazioni rispetto all’immagine Visione 3D On AIR 2007 Esempio di struttura planare utilizzata nel lavoro originale di Zhang Visione 3D On AIR 2007 Metodo completamente automatico (Cipolla) Una classe di metodi riconduce il calcolo di K alla stima di F tra 2 viste diverse della stessa scena (ed eventuale zoom) Si basano sul fatto che F ha 7 gradi di libertà, mentre E ne ha solo 5: restano 2 gradi di libertà sfruttabili per stimare due focali Esistono formule chiuse per le 2 focali in base agli elementi di F (con deduzione ad algebra molto complessa) Numericamente instabili in presenza di stima di F non precise, ma utili per la totale assenza di condizioni sulla scena (solo punti accoppiati tra le 2 viste, senza info 3D) Visione 3D On AIR 2007