Top Banner
3D Motion Estimation 3D Motion Estimation Materiale di supporto all’insegnamento di ELABORAZIONI IMMAGINI 1 Prof. Carlo Regazzoni
40

3D Motion Estimation

Jan 09, 2016

Download

Documents

mahola

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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 3D Motion Estimation

3D Motion Estimation3D Motion Estimation

Materiale di supporto all’insegnamento di

ELABORAZIONI IMMAGINI 1

Prof. Carlo Regazzoni

Page 2: 3D Motion Estimation

2

IndiceIndice

• 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

Page 3: 3D Motion Estimation

3

Stima del moto 3DStima 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.

Page 4: 3D Motion Estimation

4

Stima del moto 3DStima 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

Page 5: 3D Motion Estimation

5

Stima del moto basata su featureStima 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

Page 6: 3D Motion Estimation

6

Stima del moto basata su featureStima 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

Page 7: 3D Motion Estimation

7

Oggetti di forma nota in proiezione Oggetti di forma nota in proiezione ortograficaortograficaIpotesi di forma nota: per ogni punto conosciamo

le coordinate 3D del punto associato ad x sulla superficie dell’oggetto.

Stima basata su featureStima basata su feature

Si considera la proiezione ortografica come rappresentata in figura:

Mentre l’equazione del moto è rappresentata da:

Page 8: 3D Motion Estimation

8

Oggetti di forma nota in proiezione Oggetti di forma nota in proiezione ortograficaortografica

Sotto le precedenti ipotesi la posizione di un punto nel piano immagine

prima e dopo lo spostamento e definita da:

Stima basata su featureStima basata su feature

con la matrice di rotazione associata:

Page 9: 3D Motion Estimation

9

Oggetti di forma nota in proiezione Oggetti di forma nota in proiezione ortograficaortograficaSecondo il vettore di traslazione e l’equazione

Stima basata su featureStima basata su feature

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

Page 10: 3D Motion Estimation

10

Oggetti di forma nota in proiezione Oggetti di forma nota in proiezione ortograficaortografica

Date almeno 3 corrispondenze tra punti, l’equazione ottenuta permette la soluzione delle 5 variabili incognite del moto

Stima basata su featureStima basata su feature

Per aumentare l’affidabilità della stima, comunque, si raccomanda l’uso di almeno 6 corrispondenze note

Page 11: 3D Motion Estimation

11

Oggetti di forma nota in proiezione Oggetti di forma nota in proiezione prospetticaprospettica

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:

Stima basata su featureStima basata su feature

otteniamo:

Page 12: 3D Motion Estimation

12

Oggetti di forma nota in proiezione Oggetti di forma nota in proiezione prospetticaprospettica Stima basata su featureStima 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

Page 13: 3D Motion Estimation

13

Oggetti di forma nota in proiezione Oggetti di forma nota in proiezione prospetticaprospettica Stima basata su featureStima 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.

Page 14: 3D Motion Estimation

14

Oggetti planariOggetti planariStima basata su featureStima 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

Page 15: 3D Motion Estimation

15

Oggetti planariOggetti planariStima basata su featureStima 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 ( ), talvolta chiamati parametri puri

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.

Page 16: 3D Motion Estimation

16

Oggetti di forma ignota – uso della Oggetti di forma ignota – uso della linea epipolarelinea epipolare

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

Stima basata su featureStima basata su feature

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

Page 17: 3D Motion Estimation

17

Oggetti di forma ignota – uso della Oggetti di forma ignota – uso della linea epipolarelinea epipolare

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

Stima basata su featureStima basata su feature

con

Dove:

Page 18: 3D Motion Estimation

18

Oggetti di forma ignota – uso della Oggetti di forma ignota – uso della linea epipolarelinea epipolare

Moltiplicando per Z *Z’, otteniamo:

Stima basata su featureStima basata su feature

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

Page 19: 3D Motion Estimation

19

Oggetti di forma ignota – uso della Oggetti di forma ignota – uso della linea epipolarelinea epipolare

L’equazione definisce una dipendenza lineare tra punti immagine corrispondenti x e x’

Stima basata su featureStima basata su feature

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:

LINEA EPIPOLARE (1/2)

con

Page 20: 3D Motion Estimation

20

Oggetti di forma ignota – uso della Oggetti di forma ignota – uso della linea epipolarelinea epipolare

La figura sotto mostra la linea epipolare nelle’immagine 2 per un punto x nell’immagine 1

Stima basata su featureStima basata su featureLINEA EPIPOLARE (2/2)

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

Page 21: 3D Motion Estimation

21

Oggetti di forma ignota – uso della Oggetti di forma ignota – uso della linea epipolarelinea epipolare

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

Stima basata su featureStima basata su featureSTIMA E-MATRIX

con

Tutte le corrispondenze tra punti porteranno ad un sistema del tipo

conA questo punto si può risolvere il sistema sovradeterminato con una stima ai

minimi quadrati, minimizzando

Page 22: 3D Motion Estimation

22

Oggetti di forma ignota – uso della Oggetti di forma ignota – uso della linea epipolarelinea epipolare

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 e-matrix, permettiamo 8 gradi di libertà; quindi per rotazione e traslazione dobbiamo risolvere un problema di ottimizzazione

Stima basata su featureStima basata su featureSTIMA DI ROTAZIONE E TRASLAZIONE (1/3)

Con T definita così: abbiamo

Quindi moltiplicando per T la seguente:

Possiamo scrivere

Page 23: 3D Motion Estimation

23

Oggetti di forma ignota – uso della Oggetti di forma ignota – uso della linea epipolarelinea epipolare

Quindi stimiamo il vettore di traslazione con

Stima basata su featureStima basata su featureSTIMA DI ROTAZIONE E TRASLAZIONE (2/3)

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:

Page 24: 3D Motion Estimation

24

Oggetti di forma ignota – uso della Oggetti di forma ignota – uso della linea epipolarelinea epipolare

Per la stima di [R], partiamo scrivendo

Da cui [R] può essere ottenuta grazie al seguente problema di ottimizzazione

Stima basata su featureStima basata su featureSTIMA DI ROTAZIONE E TRASLAZIONE (3/3)

Page 25: 3D Motion Estimation

25

Stima del moto diretta 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

Page 26: 3D Motion Estimation

26

Modelli di immagini e motoModelli di immagini e moto

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

Stima del moto direttaStima del moto diretta

Page 27: 3D Motion Estimation

27

Modelli di immagini e motoModelli di immagini e moto

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

Stima del moto direttaStima del moto diretta

Page 28: 3D Motion Estimation

28

Modelli di immagini e motoModelli di immagini e moto

Approssimiamo cioè il gradiente di second’ordine dell’immagine con la media dei gradienti lineari per x nelle immagini e

otteniamo

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.

Stima del moto direttaStima del moto diretta

Page 29: 3D Motion Estimation

29

Oggetti di forma notaOggetti di forma nota

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

Stima del moto direttaStima del moto diretta

Sostituendo le coordinate immagine x con coordinate mondo X ed utilizzando il modello di telecamera pinhole, nell’equazione

Otteniamo

Page 30: 3D Motion Estimation

30

Oggetti di forma notaOggetti di forma nota

Assumendo ora piccoli angoli di rotazione e rotazione dell’oggetto intorno al suo centro abbiamo

Stima del moto direttaStima del moto diretta

Da cui:

Dove e 6 parametri incogniti,

punto sull’oggetto, x punto nel piano immagine in k, F distanza focale

Page 31: 3D Motion Estimation

31

Oggetti di forma notaOggetti di forma nota

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:

Stima del moto direttaStima del moto diretta

con residuo , ,

Il sistema si risolve attraverso il seguente problema di ottimizzazione

in cui i parametri del moto sono dati da

Page 32: 3D Motion Estimation

32

Oggetti di forma notaOggetti di forma nota

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

Stima del moto direttaStima del moto diretta

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

Page 33: 3D Motion Estimation

33

Oggetti planariOggetti planari

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

Stima del moto direttaStima del moto diretta

Page 34: 3D Motion Estimation

34

Oggetti planariOggetti planari

Otteniamo allora

Stima del moto direttaStima del moto diretta

Grazie all’espansione di Taylor, esprimiamo la funzione luminanza in un punto x rispetto ai parametri del moto ai

Page 35: 3D Motion Estimation

35

Oggetti planariOggetti planari

E l’ultima ci porta a:

Stima del moto direttaStima del moto diretta

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

Page 36: 3D Motion Estimation

36

Oggetti planariOggetti planari

Risolvendo il sistema ai minimi quadrati, abbiamo

Stima del moto direttaStima del moto diretta

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

Page 37: 3D Motion Estimation

37

BibliografiaBibliografia

Page 38: 3D Motion Estimation

38

BibliografiaBibliografia

Page 39: 3D Motion Estimation

39

BibliografiaBibliografia

Page 40: 3D Motion Estimation

40

BibliografiaBibliografia