Materiale di supporto all’insegnamento di ELABORAZIONI IMMAGINI 1 3D Motion Estimation Prof. Carlo Regazzoni Indice • Stima del moto 3D • Stima basata su feature – – – – Oggetti di forma nota in proiezione ortografica Oggetti di forma nota in proiezione prospettica Oggetti planari Oggetti di forma ignota – uso della linea epipolare • Stima diretta – Modelli di segnale immagine e di moto – Oggetti di forma nota – Oggetti planari • Bibliografia 2 Stima del moto 3D • Permette di descrivere il moto di un oggetto nello spazio tridimensionale • Come per il moto 2D, anche in questo caso si tratta di un problema mal posto: sono necessarie ipotesi semplificative (oggetti rigidi, forme note…) • La proiezione ortografica o la proiezione prospettica possono essere utilizzate come modelli Campi di applicazione: guida automatica, robotica, codifica video orientata agli oggetti, ecc. 3 Stima del moto 3D La principale classificazione (presa come riferimento nel seguito) per distinguere i metodi di stima del moto 3D mette in evidenza • Metodi indiretti: si affidano alla ricerca di corrispondenze tra feature caratterizzanti gli oggetti (livello di feature); possono facilmente stimare ampi spostamenti se le feature sono affidabili • Metodi diretti: operano prendendo come input l’immagine completa (livello di segnale); non necessitano di corrispondenze di feature ma possono stimare sono piccoli spostamenti • Metodi iterativi: si basano sulla ripetizione di algoritmi diretti per arrivare alla stima di spostamenti più ampi 4 Stima del moto basata su feature • Ipotesi: in questo approccio si assume che feature identiche di uno stesso oggetto possano essere identificate in immagini successive • Le feature sono generalmente punti di riferimento fisici degli oggetti di cui si vuole stimare il moto 5 Stima del moto basata su feature Nel seguito vengono introdotti 4 algoritmi per la stima del moto basata su feature; tutti e 4 assumono oggetti 3D rigidi e le seguenti ipotesi: 1.Proiezione ortografica; forma dell’oggetto nota 2.Proiezione prospettica; forma nota 3.Ipotesi di oggetti approssimabili da superfici piane 4.Proiezione prospettica; nessuna conoscenza sulla forma 6 Oggetti di forma nota in proiezione ortografica Stima basata su feature Ipotesi di forma nota: per ogni punto conosciamo le coordinate 3D del punto associato ad x sulla superficie dell’oggetto. Si considera la proiezione ortografica come rappresentata in figura: Mentre l’equazione del moto è rappresentata da: 7 Oggetti di forma nota in proiezione ortografica Stima basata su feature Sotto le precedenti ipotesi la posizione di un punto nel piano immagine prima e dopo lo spostamento e definita da: con la matrice di rotazione associata: 8 Oggetti di forma nota in proiezione ortografica Stima basata su feature Secondo il vettore di traslazione e l’equazione le precedenti rappresentano il mappaggio affine del punto x dell’immagine k nel punto x’ dell’immagine k+1 Ora, linearizzando secondo Otteniamo la relazione affine 9 Oggetti di forma nota in proiezione ortografica Stima basata su feature Date almeno 3 corrispondenze tra punti, l’equazione ottenuta permette la soluzione delle 5 variabili incognite del moto Per aumentare l’affidabilità della stima, comunque, si raccomanda l’uso di almeno 6 corrispondenze note 10 Oggetti di forma nota in proiezione prospettica Stima basata su feature Per stimare il moto arbitrario di oggetti 3D arbitrari (ma di forma nota) assumiamo che un punto noto X si muova fino alla posizione ignota X’. Se proiettiamo X’ sul piano immagine secondo la proiezione prospettica così definita: otteniamo: 11 Oggetti di forma nota in proiezione prospettica Stima basata su feature Se ora sostituiamo X’ con X usando l’equazione del moto arriviamo a: da risolvere rispetto ai parametri del moto: assumendo noti x, x’ e X Per risolvere usando n sistema di equazioni lineari, assumiamo rotazioni di piccoli angoli e usiamo la matrice di rotazione linearizzata , ottenendo 12 Oggetti di forma nota in proiezione prospettica Stima basata su feature Dopo ulteriori passaggi arriviamo a Dove sono noti x, x’ e X e ignoti i 6 parametri del moto. Ogni corrispondenza fra punti fornisce 2 equazioni, ma per evitare inaccuratezze dovute alla stima delle feature dei punti, dovremmo risolvere questa equazione per più di tre punti utilizzando un algoritmo ai minimi quadrati. 13 Oggetti planari Stima basata su feature La stima del moto arbitrario di un piano nello spazio è un problema particolarmente interessanteperchè spesso saremo in grado di approssimare la forma di un oggetto tridimensionale con uno o più piani. In questo caso l’algoritmo non ipotizza la xonoscenza dell’orientazione del piano nello spazio; quindi stimiamo 8 parametri per determinare la posizione del piano ed il suo moto. Riprendendo il modello di telecamera con proiezione prospettica, abbiamo Oggetti rigidi in moto in base a e l’equazione del piano 14 Oggetti planari Stima basata su feature Allora possiamo descrivere il mappaggio del punto x dall’immagine k a k+1 come la proiezione: con 8 incognite di moto e di struttura ( parametri puri ), talvolta chiamati Possiamo quindi risolvere rispetto ai parametri puri avendo almeno 4 corrispondenze tra punti non collineari a tre a tre. E’ comunque consigliabile utilizzare più di 8 corrispondenze e risolvere ai minimi quadrati. 15 Oggetti di forma ignota – uso della linea epipolare Stima basata su feature Nei seguenti lucidi descriviamo una tecnica che permette di stimare forma e moto 3D, senza alcuna conoscenza a priori della forma dell’oggetto. Senza perdita di generalità si considera F=1 e si assume oggetto rigido e proiezione prospettica. A partire da sostituiamo X con la sua proiezione nel piano immagine: Questa non cambia se moltiplichiamo T e Z per una costante; questo significa che possiamo trovare solo la direzione di T ma non la sua lunghezza assoluta, che dipende dalla dimensione dell’oggetto e dalla sua distanza dalla telecamera 16 Oggetti di forma ignota – uso della linea epipolare Stima basata su feature In questo caso non conosciamo la forma dell’oggetto e quindi dobbiamo utilizzare una matrice intermedia nota come E-matrix (matrice essenziale) con i suoi 9 parametri essenziali. Eliminando Z possiamo determinare la relazione tra x e x’ come con Dove: 17 Oggetti di forma ignota – uso della linea epipolare Stima basata su feature Moltiplicando per Z *Z’, otteniamo: Che può essere usata per la stima del moto nell’ipotesi che T≠0, cioè che ci sia anche moto traslazionale e non solo di rotazione 18 Oggetti di forma ignota – uso della linea epipolare Stima basata su feature LINEA EPIPOLARE (1/2) L’equazione definisce una dipendenza lineare tra punti immagine corrispondenti x e x’ Di conseguenza le possibili posizioni finali x’ di un punto x giacciono su di una linea retta. Questa linea è chiamata linea epipolare ed è definita dai parametri del moto secondo: con 19 Oggetti di forma ignota – uso della linea epipolare Stima basata su feature LINEA EPIPOLARE (2/2) La figura sotto mostra la linea epipolare nelle’immagine 2 per un punto x nell’immagine 1 Quindi la stima del moto è ottenuta in 2 passi: prima si stima la E-matrix poi si decompone quest’ultima in matrice di rotazione e vettore di traslazione 20 Oggetti di forma ignota – uso della linea epipolare Stima basata su feature STIMA E-MATRIX Attraverso definiamo una equazione per ogni corrispondenza tra punti. Poiché questa equazione è omogenea possiamo porre ad 1 uno dei parametri della e-matrix, ad es. Con questa condizione servono un minimo di 8 equazioni. Quindi per ogni corrispondenza tra x(j)e x’(j) possiamo scrivere con Tutte le corrispondenze tra punti porteranno ad un sistema del tipo con A questo punto si può risolvere il sistema sovradeterminato con una stima ai minimi quadrati, minimizzando 21 Oggetti di forma ignota – uso della linea epipolare Stima basata su feature STIMA DI ROTAZIONE E TRASLAZIONE (1/3) Visto che la e-matrix è definita per descrivere il moto 3D di un oggetto rigido, ha 5 gradi di libertà, considerando che possiamo ottenere solo l’orientazione del vettore si traslazione. Però, durante la stima della ematrix, permettiamo 8 gradi di libertà; quindi per rotazione e traslazione dobbiamo risolvere un problema di ottimizzazione Con T definita così: abbiamo Quindi moltiplicando per T la seguente: Possiamo scrivere 22 Oggetti di forma ignota – uso della linea epipolare Stima basata su feature STIMA DI ROTAZIONE E TRASLAZIONE (2/3) Quindi stimiamo il vettore di traslazione con Ora è chiaro che il segno di T non può essere determinato. Analogamente la soluzione di [E] non è unica; quindi se abbiamo una stima sappiamo che anche è soluzione Il segno di T può essere determinato rispettando la seguente condizione per ogni x: 23 Oggetti di forma ignota – uso della linea epipolare Stima basata su feature STIMA DI ROTAZIONE E TRASLAZIONE (3/3) Per la stima di [R], partiamo scrivendo Da cui [R] può essere ottenuta grazie al seguente problema di ottimizzazione 24 Stima del moto diretta • Nella sezione precedente abbiamo sempre ipotizzato di avere un esiguo numero di accurate corrispondenze tra punti per feature visibili in frame successivi • Visto che queste accurate relazioni tra feature non sono sempre disponibili, affrontiamo ora il problema di stimare il moto attraverso algoritmi che utilizzino lo stesso segnale immagine ed il suo gradiente 25 Modelli di immagini e moto Stima del moto diretta Per operare una stima del moto diretta si assume che la differenza di luminanza tra due immagini consecutive e sia dovuta al solo moto dell’oggetto. Abbiamo bisogno di una descrizione analitica del segnale immagine. Per questo usiamo l’espansione di Taylor di primo ordine (valida solo per piccoli con gradiente 26 Modelli di immagini e moto Stima del moto diretta Considerando X punto all’istante k, X’ a k+1, proiettati rispettivamente in x e x’ nelle immagini e , abbiamo, assumendo intensità costante Ora, con possiamo scrivere: che diventa: con la condizione di modello di segnale lineare 27 Modelli di immagini e moto Stima del moto diretta Visto che l’ultima equazione è comunque basata su di una approssimazione lineare del segnale immagine, l’algoritmo di stima sarà utilizzato in uno schema iterativo. Per accelerare la convergenza della stima è desiderabile una approssimazione di ordine maggiore del segnale. E’ possibile approssimare il segnale immagine con una segnale immagine quadratico grazie all’espansione di Taylor senza calcolare esplicitamente le derivate di second’ordine. Approssimiamo cioè il gradiente di second’ordine dell’immagine con la media dei gradienti lineari per x nelle immagini e otteniamo 28 Oggetti di forma nota Stima del moto diretta Per operare una stima del moto diretta estendiamo l’algoritmo di stima visto nel caso di stima basata su features ed oggetti di forma nota, al caso in cui non si disponga di feature di riferimento, ma di un gran numero di punti osservati per rappresentare l’oggetto 3D Sostituendo le coordinate immagine x con coordinate mondo X ed utilizzando il modello di telecamera pinhole, nell’equazione Otteniamo 29 Oggetti di forma nota Stima del moto diretta Assumendo ora piccoli angoli di rotazione e rotazione dell’oggetto intorno al suo centro abbiamo Da cui: Dove e 6 parametri incogniti, punto sull’oggetto, x punto nel piano immagine in k, F distanza focale 30 Oggetti di forma nota Stima del moto diretta Per ottenere stime affidabili dei 6 parametri, la precedente equazione va condizionata con un elevato numero di punti sulla superficie dell’oggetto in movimento, risultando inun sistema sovracondizionato di equazioni lineari: con residuo , , Il sistema si risolve attraverso il seguente problema di ottimizzazione in cui i parametri del moto sono dati da 31 Oggetti di forma nota Stima del moto diretta A causa delle linearizzazioni dei sistemi, i parametri del moto devono essere stimati con una procedura iterativa: dopo ogni iterazione il modello dell’oggetto ed i suoi punti osservati vengono spostati in base all’equazione non-lineare del moto 3D, usando i parametri di moto Dopo di ciò si ottiene un nuovo sistema di equazioni del moto e fornisce nuovi aggiornamenti ai parametri del moto Durante le iterazioni le correzioni sui parametri del moto si riducono, idealmente convergendo a 0 e facendo quindi convergere a 0 anche l’errore dovuto alle linearizzazioni Il processo iterativo termina quando la riduzione del residuo ad ogni passo diventa trascurabile 32 Oggetti planari Stima del moto diretta Oggetti planari sono spesso utilizzati per approssimare oggetti reali di forma complessa (come già visto per la stima attraverso feature) Estendiamo qui il discorso fatto per le feature ad un sistema di stima diretto. A partire quindi da definendo il mappaggio A(x,y) del punto x con 33 Oggetti planari Stima del moto diretta Otteniamo allora Grazie all’espansione di Taylor, esprimiamo la funzione luminanza in un punto x rispetto ai parametri del moto ai 34 Oggetti planari Stima del moto diretta E l’ultima ci porta a: con e Questa definisce una equazione per ognuno dei punti di osservazione dell’oggetto con i suoi 8 parametri di moto ignoti. Per stimare il moto, quindi, riscriviamo l’equazione per J punti di osservazione x, e risolviamo il sistema di J equazioni lineari 35 Oggetti planari Stima del moto diretta Risolvendo il sistema ai minimi quadrati, abbiamo A causa delle approssimazioni sul modello del segnale dell’immagine, il processo di stima deve essere portato avanti iterativamente Dopo ogni iterazione usiamo i parametri del moto stimati per compensare il moto al frame k+1 utilizzando E la differenza tra i frame (Displaced Frame Difference DFD) diventa con 36 Bibliografia 37 Bibliografia 38 Bibliografia 39 Bibliografia 40