introduction : tenseur trifocale - igm.univ-mlv.frigm.univ-mlv.fr/~vnozick/teaching/slides/ensg/07...

7
Tenseur Tenseur trifocal Calcul Transfert Normalisation Tenseur trifocale Vincent Nozick Vincent Nozick Tenseur trifocale 1 / 25 Tenseur Tenseur trifocal Calcul Transfert Normalisation Tenseur Introduction : un tenseur T est une sorte de matrice ` a 3 dimension. T ij k repr´ esente l’´ el´ ement i, j, k de T . Vincent Nozick Tenseur trifocale 2 / 25 Tenseur Tenseur trifocal Calcul Transfert Normalisation Tenseur Convention de sommation d’Einstein : Vincent Nozick Tenseur trifocale 3 / 25 Tenseur Tenseur trifocal Calcul Transfert Normalisation Tenseur Notation tensorielle : convention de r´ ep´ etition : les indices constituent eux-mˆ eme l’indication de la r´ ep´ etition. x i y i n X i=1 x i y i o` u n est la taille des vecteurs x et y. Vincent Nozick Tenseur trifocale 4 / 25

Upload: hoangtu

Post on 14-Sep-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction : Tenseur trifocale - igm.univ-mlv.frigm.univ-mlv.fr/~vnozick/teaching/slides/ensg/07 trifocal_tensor.pdf · Tenseur trifocal xk(x0ix003T3l k x 03x003Til k x 0ix00lT33

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur trifocale

Vincent Nozick

Vincent Nozick Tenseur trifocale 1 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur

Introduction :

• un tenseur T est une sorte de matrice a 3 dimension.

• T ijk represente l’element i, j, k de T .

Vincent Nozick Tenseur trifocale 2 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur

Convention de sommation d’Einstein :

Vincent Nozick Tenseur trifocale 3 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur

Notation tensorielle :convention de repetition : les indices constituent eux-meme l’indicationde la repetition.

xiyi ↔n∑

i=1

xiyi

ou n est la taille des vecteurs x et y.

Vincent Nozick Tenseur trifocale 4 / 25

Page 2: Introduction : Tenseur trifocale - igm.univ-mlv.frigm.univ-mlv.fr/~vnozick/teaching/slides/ensg/07 trifocal_tensor.pdf · Tenseur trifocal xk(x0ix003T3l k x 03x003Til k x 0ix00lT33

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur

Notation tensorielle :

• exemple 1 :

y = cixi ↔ y =

3∑i=1

cixi ↔ y = c1x

1 + c2x2 + c3x

3

• exemple 2 :

Aiixj ↔ A11x

j +A22xj + · · ·+Annx

j

l’indice j n’etant pas repete, il s’agit d’un indice sur lequel iln’y a pas de repetition a effectuer.

Vincent Nozick Tenseur trifocale 5 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur

Notation tensorielle :

aijxj = bi

avec n = 3 represente le systeme d’equation :a11x

1 + a12x2 + a13x

3 = b1

a21x1 + a22x

2 + a23x3 = b2

a31x1 + a32x

2 + a33x3 = b3

Vincent Nozick Tenseur trifocale 6 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur

Notation tensorielle :En resume, toute expression qui comporte plusieurs occurrences d’unindice represente une repetition sur toutes les valeurs possibles del’indice en question.

Vincent Nozick Tenseur trifocale 7 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur trifocal

Introduction :

• il s’agit d’un tenseur 3× 3× 3.

• il etablit une relation geometrique entre 3 images.(cf. geometrie epipolaire pour 2 images)

Vincent Nozick Tenseur trifocale 8 / 25

Page 3: Introduction : Tenseur trifocale - igm.univ-mlv.frigm.univ-mlv.fr/~vnozick/teaching/slides/ensg/07 trifocal_tensor.pdf · Tenseur trifocal xk(x0ix003T3l k x 03x003Til k x 0ix00lT33

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur trifocal

Trois images :

Vincent Nozick Tenseur trifocale 9 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur trifocal

Au moins 7 points de correspondance :

Vincent Nozick Tenseur trifocale 10 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur trifocal

Transfert :

Vincent Nozick Tenseur trifocale 11 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur trifocal

Interpretation geometrique :

Vincent Nozick Tenseur trifocale 12 / 25

Page 4: Introduction : Tenseur trifocale - igm.univ-mlv.frigm.univ-mlv.fr/~vnozick/teaching/slides/ensg/07 trifocal_tensor.pdf · Tenseur trifocal xk(x0ix003T3l k x 03x003Til k x 0ix00lT33

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur trifocal

Relation tensorielle :Soient un ensemble de points de correspondances x ↔ x′ ↔ x′′,le tenseur trifocal T satisfait la relation :

xix′jx′′kεjqsεkrtTqri = 0st

εrst est defini pour r, s, t = 1, ..., 3 :

εrst =

0 sauf si r, s et t sont differents+1 si rst est une permutation impaire de 123−1 si rst est une permutation paire de 123

Vincent Nozick Tenseur trifocale 13 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur trifocal

Relation tensorielle :

xix′jx′′kεjqsεkrtTqri = 0st

En developpant εjqs et εkrt, on obtient :

xk(x′ix′′mT jlk − x

′jx′′mT ilk − x′ix′′lT

jmk + x′jx′′lT im

k ) = 0ijlm

Vincent Nozick Tenseur trifocale 14 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur trifocal

xk(x′ix′′mT jlk − x

′jx′′mT ilk − x′ix′′lT

jmk + x′jx′′lT im

k ) = 0ijlm

Remarques :

• la notation 0ijlm renseigne sur quelles variables il faut faire unerepetition d’equation.

• k n’en fait pas parti ⇒ la boucle des k est doit s’effectuer surune equation alors que les autres variables generent de nouvellesequations.

Vincent Nozick Tenseur trifocale 15 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur trifocal

xk(x′ix′′mT jlk − x

′jx′′mT ilk − x′ix′′lT

jmk + x′jx′′lT im

k ) = 0ijlm

Remarques :

• pour i = j ou l = m, on obtient les memes equations.

• permuter i et j (ou l et m) : seulement changement de signe.

⇒ on fixe j = m = 3

⇒ on fait varier i et l de 1 a 2.

⇒ la variable k varie de 1 a 3 (sans generer de nouvelles equations).

→ xk(x′ix′′3T 3lk − x′3x′′3T il

k − x′ix′′lT 33k + x′3x′′lT i3

k ) = 0il

Vincent Nozick Tenseur trifocale 16 / 25

Page 5: Introduction : Tenseur trifocale - igm.univ-mlv.frigm.univ-mlv.fr/~vnozick/teaching/slides/ensg/07 trifocal_tensor.pdf · Tenseur trifocal xk(x0ix003T3l k x 03x003Til k x 0ix00lT33

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur trifocal

xk(x′ix′′3T 3lk − x′3x′′3T il

k − x′ix′′lT 33k + x′3x′′lT i3

k ) = 0il

Nombre d’equations :

• tenseur : 27 elements ⇒ 26 dof apparents

• en pratique, le tenseur n’a que 18 dof

• si on defini 18 parametres, on trouve les 27 elements.• un tenseur est defini par les 18 elements necessaires pour

parametrer les 3 cameras qu’il represente.

• + quelques simplifications de notation tensorielles

⇒ au minimum 7 points de correspondance

Vincent Nozick Tenseur trifocale 17 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Tenseur trifocal

Equations :

xk(x′ix′′3T 3lk − x′3x′′3T il

k − x′ix′′lT 33k + x′3x′′lT i3

k ) = 0il

p i l1 1 11 1 21 2 11 2 2

.

.

.

.

.

.

.

.

.n 2 2

−x′31 x′′3

1 0 x′31 x′′1

1 · · · · · · −x31x

′11 x′′1

1

0 −x′31 x′′3

1 0 · · · · · · −x31x

′11 x′′2

1

0 0 0 · · · · · · −x31x

′21 x′′l

1

0 0 0 · · · · · · −x31x

′21 x′′3

1

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

0 0 0 · · · · · · −x3nx′2

n x′′2n

T111

T121

T131

T211

T221

.

.

.

.

.

.

.

.

.

T333

=

0

0

0

.

.

.

.

.

.

0

→ on resout avec la SVD.

Vincent Nozick Tenseur trifocale 18 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Transfert

Transfert :

xk(x′ix′′3T 3lk − x′3x′′3T il

k − x′ix′′lT 33k + x′3x′′lT i3

k ) = 0il

Maintenant, les inconnues sont :

• les x connaissant les x′ et les x′′ et T

• les x′ connaissant les x et les x′′ et T

• les x′′ connaissant les x et les x′ et T

Vincent Nozick Tenseur trifocale 19 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Transfert

Resolution :

xk(x′ix′′3T 3lk − x′3x′′3T il

k − x′ix′′lT 33k + x′3x′′lT i3

k ) = 0il

En faisant varier i et l de 1 a 2 et k de 1 a 3→ 4 equations a 3 inconnues.→ on resout avec la SVD.

Vincent Nozick Tenseur trifocale 20 / 25

Page 6: Introduction : Tenseur trifocale - igm.univ-mlv.frigm.univ-mlv.fr/~vnozick/teaching/slides/ensg/07 trifocal_tensor.pdf · Tenseur trifocal xk(x0ix003T3l k x 03x003Til k x 0ix00lT33

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Normalisation

Conditionnement des donnees :

• donnees centrees et normees

• calcul du tenseur

• transformation du tenseur↪→ compatibilite avec les donnees de depart

Vincent Nozick Tenseur trifocale 21 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Normalisation

Normalisation des donnees :on cherche pour chaque image les homographies H, H ′ et H ′′ per-mettant de centrer et de normer les points de correspondance xi,x′i et x′′i .

On cherche H tel que xi 7→ xi = Hxi avec :

• les xi soient centres en (0, 0, 1)>

• la distance moyenne des points a l’origine soit√

2

Le but etant que “le point moyen” soit (1, 1, 1)>.

Vincent Nozick Tenseur trifocale 22 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Normalisation

Homographies : xi 7→ xi = Hxi

H = HdHc

avec

Hd =

√2d 0 0

0√2d 0

0 0 1

et Hc =

1 0 −(xi)x

0 1 −(xi)y

0 0 1

• (xi)x : valeurs moyennes des xi

• (xi)y : valeurs moyennes des yi

• d = 1n

∑ni

√(xi − xi)2 + (yi − yi)2

Vincent Nozick Tenseur trifocale 23 / 25

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Normalisation

Calcul du tenseur :

• on centre et norme les xi, x′i et x′′i avec les H, H ′ et H ′′

• on calcul le tenseur T avec la methode standard

• on denormalise le tenseur avec :

T jki = HirH

′−1js H ′′−1kt T st

r

Vincent Nozick Tenseur trifocale 24 / 25

Page 7: Introduction : Tenseur trifocale - igm.univ-mlv.frigm.univ-mlv.fr/~vnozick/teaching/slides/ensg/07 trifocal_tensor.pdf · Tenseur trifocal xk(x0ix003T3l k x 03x003Til k x 0ix00lT33

Tenseur Tenseur trifocal Calcul Transfert Normalisation

Normalisation

Algorithm 1: Algorithme lineaire normalise

input: n ≥ 7 points de correspondance xi, x′i et x′′i entre 3 vues.

trouver les homographies H, H ′ et H ′′

transformer les points selon :xi 7→ xi = Hxi

x′i 7→ x′i = H ′x′ix′′i 7→ x′′i = H ′′x′′i

calculer le tenseur T avec les points xi, x′i et x′′i

calculer T avec l’equation T jki = HirH

′−1js H ′′−1kt T st

r

return T

Vincent Nozick Tenseur trifocale 25 / 25