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