Upload
joscelin-thevenin
View
108
Download
0
Embed Size (px)
Citation preview
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
. 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
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
Le problème Soit un point dans une image, quelle est
l'équation de la droite épipolaire conjuguée (dans l'image conjuguée)?
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
où
1y'x' droite imagepoint p
1yx gauche imagepoint p
rotation de matrice :Rt
Rptp
:
:
,':
0
'
'
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
où
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
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
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
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!
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
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)
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
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 '
Géométrie trifocale:un aperçu
*tirée de Forsyth *tirée de Horaud
Application: vision trinoculaire