160 likes | 315 Views
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)
E N D
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
Géométrie épipolaire tirée de Forsyth D G . 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
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)
La matrice essentielle (suite) • le produit vectoriel se représente sous forme matricielle E est la matrice essentielle 3x3 E dépend des paramètres extrinsèques seulement E est définie à un facteur d'échelle prè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)
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:
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 = UDVtla 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
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
Géométrie trifocale:un aperçu Application: vision trinoculaire *tirée de Forsyth *tirée de Horaud