15
Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

Embed Size (px)

Citation preview

Page 1: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

Géométrie épipolaire (deux vues)

Références utiles:Sonka et al: section 11.5

vision numérique, dernière révision nov. 2008 – P. Hébert

Page 2: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

Introduction 1 seule vue ne nous permet pas de voir en 3

dimensions (apprécier les distances) en utilisant deux ou plusieurs vues, on évalue la

position 3D des objets par triangulation (parallaxe)

on obtient une vue supplémentaire par l'ajout d'une caméra ou en déplaçant la même caméra

le véritable défi: trouver les points correspondants dans les deux images

La géométrie épipolaire est un outil qui nous permettra de faire de la vision stéréo

Page 3: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

. 5 points dans le même plan: P, p, p', O et O'

. les droites l et l' sont les droites épipolaires (conjuguées)

. les points e et e' sont respectivement les épipôles gauche et droit

. e est en fait O' vu dans l'image gauche (voir simulation)

. e' est O vu dans l'image droite

Géométrie épipolairetirée de Forsyth

G D

Page 4: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

Remarques les droites épipolaires passent toutes par les

épipôles le correspondant d'un point de l'image

gauche dans l'image droite est contraint sur la droite épipolaire (hypothèse d'aucune autre "distorsion" que la projection de perspective)

une seule droite épipolaire passe par chaque point des images (sauf aux épipôles)

les épipôles sont à l'infini lorsque les deux plans image sont parallèles

Page 5: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

Le problème Soit un point dans une image, quelle est

l'équation de la droite épipolaire conjuguée (dans l'image conjuguée)?

Page 6: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

Cas calibré: la matrice essentielle

on connaît la transformation rigide entre les deux caméras

on connaît les points dans les images mais en coordonnées caméra plutôt qu'en coordonnées image (on utilise les coordonnées normalisées en divisant par z)

tn

tn

nn

OO

1y'x' droite imagepoint p

1yx gauche imagepoint p

rotation de matrice :Rt

Rptp

:

:

,':

0

'

'

Page 7: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

La matrice essentielle (suite)

le produit vectoriel se représente sous forme matricielle

00

0

0

0

''

''

ntt

nntn

xy

xz

yz

ntnnn

tt

tt

tt

pEpet Epp

a on

t

RptpRptp

x

x E est la matrice essentielle 3x3E dépend des paramètres extrinsèques seulementE est définie à un facteur d'échelleprès (rang 2 de par [tx])pn appartient à la droite Epn'pn' appartient à la droite Etpn

forme: ax + by + c = 0

Page 8: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

La matrice fondamentale On veut connaître la relation point-droite

épipolaire conjuguée précédente en coordonnées pixel plutôt qu'en coordonnées caméra

On veut traiter ensuite le cas où la calibration n'est pas connue

Page 9: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

assez simple finalement ... équation de la droite (projective)

épipolaire

F est la matrice fondamentale (3x3)

esintrinsèqu paramètres des (3x3) matrice laest

de transposée inversel'est

droite de imagel'pour ' le utilise On

snormalisée coord. lesindiquer pour utilise On

K

Fpp

KKpEKKp

pKp

pKpp

t

ttt

n

nn

0'

0''

'''1

Page 10: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

La matrice fondamentale (suite)

intègre les paramètres intrinsèques et extrinsèques

de rang 2 tout comme E Remarque: si on arrive à reconstruire F à

partir de points correspondants alors plus besoin de calibrer ni les paramètres intrinsèques, ni les paramètres extrinsèques!

Page 11: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

L'algorithme des 8 points (Longuet-Higgins 81)

But: estimer F à partir de n correspondances (au moins 8)

principe: chaque correspondance fournit 1 équation:

01''''''0

''

''

''

1

0

1

'

'

1

33

32

31

23

22

21

13

12

11

333231

232221

131211

333231

232221

131211

F

F

F

F

F

F

F

F

F

vuvvvvuuuvuu

FvFuF

FvFuF

FvFuF

vu

v

u

FFF

FFF

FFF

v

ut

Page 12: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

L'algorithme des 8 points (suite) Comme F est calculée à un facteur d'échelle près, on peut

fixer F33=1 ou imposer ||F|| = 1 (cette dernière contrainte est implicite avec l'utilisation de SVD car les colonnes de V sont orthonormales: voir plus bas)

au moins 8 points sont nécessaires (si le système n'est pas dégénéré) * En réalité, on peut aussi résoudre avec 7 points en traitant une contrainte additionnelle.

système homogène: AX=0décomposition SVD: A = UDVt

la solution est la colonne de V correspondant à la plus petite valeur singulière de A

Pour rendre F singulière, on remplace la plus petite valeur singulière (de la décomposition SVD de F: F=UDVt) par 0 dans D - > D'

F' = UD'Vt

* On évitera de choisir les points dans un mêmeplan de la scène. Pourquoi? (indice: homographie)

Page 13: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

L'algorithme des 8 points amélioré (Hartley)

Problème: l'application de l'algorithme des 8 points est souvent instable car la matrice A est mal conditionnée (produits uv, u, … 1 où u et v varient souvent entre 0 et 640 (480) et plus).

Solution simple de préconditionnement: on change l'origine dans chacune des images par le

centroïde des points appariés. on applique un facteur d'échelle tel que la norme

moyenne des vecteurs associés aux points soit unitaire (en fait ).**ces deux opérations sont équivalentes à multiplier les points de l'image de gauche (et de droite) par une matrice 3x3 Hg (Hd).

On calcule F' puis dg

t HFHF

2

Page 14: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

Le calcul des épipôles Puisqu'un épipôle est toujours sur une droite

épipolaire, la relation suivante (et la relation conjuguée) est vérifiée pour tous les pointsde l'image:

donc un algorithme:

Calculer F et sa décomposition SVD telle que F = UDVt

e' est la colonne de V correspondant à la valeur singulière 0

e est la colonne de U correspondant à la valeur singulière 0

0'Fept

0Fe '

Page 15: Géométrie épipolaire (deux vues) Références utiles: Sonka et al: section 11.5 vision numérique, dernière révision nov. 2008 – P. Hébert

Géométrie trifocale:un aperçu

*tirée de Forsyth *tirée de Horaud

Application: vision trinoculaire