Cours de Vision

Cours de Vision

´ ´
Stereovision
´
Definition 1
´
´ ´
´ ´
On designe par stereovision (ou vision stereosc...
Cours de Vision

Cours de Vision

Exemples

´ ´
Application de la stereovision
´
– Cartographie automatique d’images aerie...
Cours de Vision

´
´
Equations associees (2)
´
Etape 2 : Triangulation

´
Etape 2 : Triangulation


 x Z =X
1 1
1
m1 ⇒
...
©  ©  ©
© © ©
© © ©
© © ©
© © ©
© © ©
© © ©
© © ©
© © ©
© © ©
© © ©
© © ©
© © ©

  
  
  
  
  
  
  
  
  
  
 ©  ©  ©
© ...
Cours de Vision

Cours de Vision

´
´
´
Geometrie epipolaire (2)
´
Epipoles

´
´
Reciproquement, les correspondants possib...
Cours de Vision

Cours de Vision

Rectification

Rectification
Si

Avant rectification

M

´
`
– Epipolaires paralleles entre...
Cours de Vision

Cours de Vision

´
Disparite

´
Disparite (2)

´
´
La disparite δ est la distance entre les deux projetee...
Cours de Vision

Cours de Vision

Exemple de chaˆne de reconstruction (2)
ı

`
`
´
Conclusion: systeme a 2 cameras

´
´
`
...
Cours de Vision

Cours de Vision

`
`
´
Systeme a 5 ou 6 cameras (CMU)

Vision par ordinateur

`
`
´
ˆ
Systeme a N camera ...
Cours de Vision

Cours de Vision

´
Formulation matricielle de la contrainte epipolaire
(matrice fondamentale)

´
Formulat...
Cours de Vision

Cours de Vision

´
Formulation matricielle de la contrainte epipolaire
Calcul de la matrice fondamentale
...
Cours de Vision

Cours de Vision

`
Application : Synthese d’images

`
Homographie du plan a l’infini

H = K2 RK−1 + K2 T
1...
Cours de Vision

Cours de Vision

Calcul d’une homographie : Algorithme DLT
Calcul d’une homographie : Algorithme DLT
Dire...
Prochain SlideShare
Chargement dans…5
×

Stereovision note de cours

699 vues

Publié le

note de cors de stereovision

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
699
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
31
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Stereovision note de cours

  1. 1. Cours de Vision Cours de Vision ´ ´ Stereovision ´ Definition 1 ´ ´ ´ ´ ´ On designe par stereovision (ou vision stereoscopique) le processus qui Vision par ordinateur ˆ ` permet de combiner entre elles plusieurs images d’une meme scene pour en ´ ´ extraire des informations geometriques tridimensionelles ´ ´ ´ ´ ´ Stereovision - geometrie epipolaire ´ Definition 2 ˆ ´ ´ On appellera images stereoscopiques tout ensemble d’images d’une meme ` ´ scene prises depuis des points de vue differents ´ ´ – Reconstruction 3D par stereovision – Principe, motivation – Exemples, applications – Reconstruction 3D, triangulation ´ ´ ´ – Geometrie epipolaire ` ` ´ Systeme a 2 cameras Vision par ordinateur 1 Cours de Vision Vision par ordinateur ` ` ´ Systeme a 3 cameras 2 Motivations Aspect anthropomorphique ´ ` etude du fonctionnement du systeme visuel ´ humain et de ses mecanismes (psychovision). ´ Restitution numerique du relief 3-1
  2. 2. Cours de Vision Cours de Vision Exemples ´ ´ Application de la stereovision ´ – Cartographie automatique d’images aeriennes ´ – Imagerie biomedicale ´ – reconstruction du reseau vasculaire (angiographie) ´ – microscopie electronique – Vision robotique – perception de l’environnement (autonomie de fonctionnement) ` – localisation de piece industrielle – robotique spatiale Vision par ordinateur 4 Cours de Vision Vision par ordinateur 5 Cours de Vision ´ ´ Reconstruction 3D par stereovision ´ ´ Equations associees (1) ´ Donnees Le cas d’un point Inconnues :  –m1 (x1 , y1 ) dans l’image 1  en pixel –m2 (x2 , y2 ) dans l’image 2  ` Principe : triangulation apres calibration (et mise en correspondance) M(X, Y, Z) ` ` ` ´ – les parametres extrinseques et intrinseques des cameras ` en metre C1 M = (C1 m1 ) ∩ (C2 m2 ) m1 (x1 , y1 ) ´ ˆ ` ou (Ci mi ) exprimees dans le meme repere. ` I1 M(X, Y, Z) ¢  ¡ ¡ ¢ on a I2 m2 (x2 , y2 ) C2 ´ ` Etape 1: Passage pixels - metres  ´ ´ ⇒ 4 equations lineaires (2 par droite) ` a 3 inconnues (X, Y, Z) ´ ´ resolution par moindre carres  u=u +p X =u +p x 0 xZ 0 x  v = v0 + p y Y = v0 + p y y ` ´ ´ dans le repere de la camera associee Z d’ou ` u−u0 px = x et v−v0 py =y
  3. 3. Cours de Vision ´ ´ Equations associees (2) ´ Etape 2 : Triangulation ´ Etape 2 : Triangulation   x Z =X 1 1 1 m1 ⇒  y1 Z 1 = Y 1   x Z =X 2 2 2 m2 ⇒  y2 Z 2 = Y 2 (X1 , Y1 , Z1 ) dans RC1 (X2 , Y2 , Z2 ) dans RC2  X1   Y  1   Z1  1   X        Y   c1    = Mo     Z     1 X2   Y  2   Z2  1  Cours de Vision    x = 1 m1 ⇒  y1 = (X1 , Y1 , Z1 ) dans RC1  X   x = 2 M2 ⇒  y2 = X1 Z1 Y1 Z1      Y   c2    = Mo     Z     1 X2 Z2 Y2 Z2 (X2 , Y2 , Z2 ) dans RC2   x = 2  y2 =   x Z =X 1 1 1 (1)  y1 Z 1 = Y 1 X2 Z2 Y2 Z2 = = r11 X1 +r12 Y1 +r13 Z1 +tx r31 X1 +r32 Y1 +r33 Z1 +tz r21 X1 +r22 Y1 +r23 Z1 +ty r31 X1 +r32 Y1 +r33 Z1 +tz car (X2 , Y2 , Z2 , 1) T (2) = c2 Mc1 (X1 , Y1 , Z1 , 1)T ´ ´ ⇒ 2 equations lineaires en (X, Y, Z) pour m1 et m2 Vision par ordinateur 8 Cours de Vision Vision par ordinateur 9 Cours de Vision Triangulation Cas d’une droite en utilisant (1) dans (2) et en posant p   x = 2  y2 = Z1 r1 .p+tx Z1 r3 .p+tz Z1 r2 .p+ty Z1 r3 .p+tz = (x1 , y1 , 1)T , on simplifie: D = (C1 D1 ) ∩ (C2D2 ) ´ Cas de primitives volumetriques ´ une seule inconnue Z1 et deux equations ˆ ˆ ´ ´ ´ meme principe : ∩ de deux cones generalises. Et enfin £ ¡ et donc (si tout est parfait) Z1 =   tx − t z x 2 (r3 .p)x2 − r1 .p ¡ £ ¢   ¢ £ ¢ £ ¡
  4. 4. © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © ! ¥ ¤ '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( % % % % % % % % % % % % % % % % % % De2 % % mise en correspondance. $# '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( '( m1 C2 % % % % % % % % % % % % C1 π2 m2 π1 #! £ § § § § § § § § § § § § § § § § § §§§ © © ©§¦¨ ©¦¨ © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © $ © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © © § © § © § © § © § © § © § © § © § © § © §© §© §© §© §© §© §© §§§ §§§§§§§§§§§§§§§§§§§§ ¡  ¢¡ ¢ £ ´ Soit m1 un point de l’image 1. Les points 3D se projetant en m1 sont situes ´ sur la droite (C1 m1 ). L’image de cette droite sur π2 est une droite, appelee ´ ` ´ ´ droite epipolaire associee a m1 et notee De2 . Erreur de reconstruction ´ Influence de la position des cameras Erreur de reconstruction Influence des erreurs de calibration Erreur de reconstruction Influence des erreurs de mise en correspondance 13 Cours de Vision Vision par ordinateur 12 Cours de Vision Vision par ordinateur Cours de Vision Cours de Vision ´ ´ ´ Geometrie epipolaire ` Le point M2 , correspondant de M1 appartient a cette droite De2 . M ´ ´ ´ ` La geometrie epipolaire induit une contrainte forte sur le probleme de la
  5. 5. Cours de Vision Cours de Vision ´ ´ ´ Geometrie epipolaire (2) ´ Epipoles ´ ´ Reciproquement, les correspondants possibles de m2 sont situes sur la ´ ´ ´ ´ droite epipolaire De1 , appelee droite epipolaire conjuguee de De2 : ´ Epipole e2 : (1) De2 (M) = (C1 C2 M) ∩ π2 ´ Epipole e1 : projection de C2 dans π1 ´ ´ Propriete : De1 (M) = (C1 C2 M) ∩ π1 projection de C1 dans π2 ´ toutes les droites epipolaires de π2 sont l’image de (2) droites passant par C1 Elles passent toutes par e2 M M plan ´pipolaire e π1 plan ´pipolaire e e1 m1 m1 e2 m2 π2 e2 C1 C2 e2 m2 C2 e1 C2 e1 C1 De1 C1 De2 De1 Vision par ordinateur 16 Cours de Vision ´ ´ Cas general et cas particuliers ´ Faisceaux d’epipolaires C1 C2 e2 dans les deux images ´ ` 1 epipole a l’∞ e1 ` paralleles dans une des images π2 ´ Faisceaux d’epipolaires ` paralleles π1 ´ ` 2 epipoles a l’∞ π1 C1 C1 C2 ` ` C1 C2 parallele a π2 Vision par ordinateur 17 Cours de Vision ´ Exemple de faisceaux epipolaire ´ Epipoles (2) ´ ´ Cas general De2 π2 π1 C2 π2 ` ` C1 C2 parallele a π1 et π2 ` || a l’axe des x de π1 et π2
  6. 6. Cours de Vision Cours de Vision Rectification Rectification Si Avant rectification M ´ ` – Epipolaires paralleles entre elles M ´ ` ` – Epipolaires paralleles a l’axe des x ` – Choix des reperes images tel (x1 , y1 ) dans π1 ait = y1 dans π2 (C1 C2 ), et donc e1 et e2 sont l’infini M ´ ´ pour epipolaire conjuguee y2 π1 π2 m1 ¡    ¡ De 2 alors ` ` La mise en correspondance se ramene a la re- C2 C1 ˆ cherche du correspondant sur la meme ligne de C1 C2 ` Apres rectification base. m1 La transformation des images pour atteindre cette m1 m2 m2 configuration s’appelle la rectification Vision par ordinateur 20 Cours de Vision Vision par ordinateur 21 Cours de Vision Rectification (sur des images de contours) Avant rectification Rectification (sur des triplets d’images) ` Apres rectification Avant rectification ` Apres rectification
  7. 7. Cours de Vision Cours de Vision ´ Disparite ´ Disparite (2) ´ ´ La disparite δ est la distance entre les deux projetees de M dans π1 et π2 . δ = d(m1 , m2 ) M ´ Quand les images sont rectifiees (y1 plan ´pipolaire e m1 δ = x 2 − x1 m2 e2 ´ ´ ´ Intervalle de recherche des disparites. La disparite δ est limitee par : C1 De1 – la dimensions des images De2 ´ ´ ´ – le points observes sont situes necessairement au devant des plans images ´ ´ La disparite δ est bornee. ´ ` ` La mise en correspondance sur une droite epipolaire se ramene donc a Vision par ordinateur ´ et des centres optiques des deux cameras ` – par les dimensions de la scene une recherche sur un intervalle de cette droite seulement. 24 Cours de Vision ´ Relation disparite-profondeur ´ Cas d’images rectifiees Vision par ordinateur 25 Cours de Vision Exemple de chaˆne de reconstruction (1) ı Images brutes ´ Rappel: on avait etabli les relations permettant de calculer la profondeur d’un   x = 2  y2 = Z1 r1 .p+tx Z1 r3 .p+tz Z1 r2 .p+ty Z1 r3 .p+tz et donc Z1 = tx − t z x 2 (r3 .p)x2 − r1 .p ´ Si les images sont rectifiees alors on a :  (3) C2 e1 point ´ ´ = y2 ),la disparite est donnee par  1 0 0 tx   tx tx tx c2 ´ = Mc1 =  0 1 0 0  On en deduit z1 = =   x2 − r1 .p x2 − x 1 δ 0 0 1 0 ` ´ la profondeur est inversement proportionnelle a la disparite ´ Images Rectifiee
  8. 8. Cours de Vision Cours de Vision Exemple de chaˆne de reconstruction (2) ı ` ` ´ Conclusion: systeme a 2 cameras ´ ´ ` ` Il est possible de reconstruire la geometrie spatiale d’une scene 3D a partir de ´ deux cameras. ⇒ recherche de deux points homologues le long des deux ´ ´ epipolaires conjuguees ´ Mais, pour un point de I1 , ∃ une infinite de points homologues dans I2 ´ Carte de disparite ´ ´ disparite lissee maillage Vision par ordinateur 28 Cours de Vision ´ ` ⇒ ambiguites : probleme de mise en correspondance Vision par ordinateur 29 Cours de Vision ` ` ´ Systeme a 3 cameras ` Un systeme trinoculaire permet de lever les ambigu¨tes possibles par une ı ´ ` ` ´ Systeme a 3 cameras ´ ` ´ simple verification dans la troisieme image. En effet, pour verifier que ´ (M1 , M2 ) forment un couple de points homologues, il suffit de verifier que ´ ´ ` M3 obtenu par intersection des droites epipolaires associees a M1 et M2 ` dans la 3eme est un point homologue plausible pour M1 et M2 . ´ Pour verifier que M1 et M2 forment un couple de points homologues il suffit ´ de verifier que M3 = D31 ∩ D32 est un point homologue plausible pour M1 et M2 . ¥ ` Problemes : £ ¡ ¥ ´ – Calibration plus delicate £ ¢   £ ´ ` ´ – Champ de vision plus reduit par rapport a deux cameras ¥ ¡ ¢ – Traitement d’image plus couteux ˆ ¤ ¡ ¤ ¢   ¢   ¡
  9. 9. Cours de Vision Cours de Vision ` ` ´ Systeme a 5 ou 6 cameras (CMU) Vision par ordinateur ` ` ´ ˆ Systeme a N camera (dome du CMU) 32 Cours de Vision Vision par ordinateur 33 Cours de Vision ´ Formulation matricielle de la contrainte epipolaire M ´ Contrainte epipolaire : plan ´pipolaire e C1 , C2 , m1 , m2 et M sont copla- m1 e2 ´ Formulation matricielle de la contrainte epipolaire C2 e1 C1 m1 .(C1 C2 × C2 m2 ) = 0 C1 – La matrice essentielle De1 – La matrice fondamentale De2 Dans Rc1 – Les homographies naires m2 – C1 m1/Rc1 = mT = (x1 , x1 , 1)T 1 c1 – C1 C2 /Rc = tc2 1 – C2 m2 /Rc = c1 Rc2 C2 m2 /Rc = c1 Rc2 m2 = c1 Rc2 (x2 , y2 , 1)T 1 2 mT .(c1 tc2 × c1 Rc2 m2 ) = 0 1
  10. 10. Cours de Vision Cours de Vision ´ Formulation matricielle de la contrainte epipolaire (matrice fondamentale) ´ Formulation matricielle de la contrainte epipolaire (matrice essentielle) ´ ´ Dans l’espace discretise mT .(T × Rm2 ) = 0 1 = K−1 mp1 1 −1 et donc m2 = K2 mp2 mp1 = K1 m1 mp2 = K2 m2 En posant et donc m1 ´ La contrainte epipolaire  0  S = T =  t3  −t2 −t3 t2  mT SRm2 = 0 1  −t1  on obtient T × Rm2 = SRm2  0 0 t1 ´´ se reecrit (K−1 mp1 )T SRK−1 mp2 = 0 1 2 et donc mT K−T SRK−1 mp2 = 0 p1 1 2 mT SRm2 = 0 1 ´ E = SR est appelee matrice essentielle F F3×3 est la matrice fondamentale Vision par ordinateur 36 Cours de Vision Vision par ordinateur ´ Formulation matricielle de la contrainte epipolaire ´ ´ Equation des droites epipolaires ´ Formulation matricielle de la contrainte epipolaire (matrice fondamentale) ´ La matrice fondamentale lie les coordonnees pixels des points homologues Posons: dans les deux images.  u1 T  u2  u2   a      F  u2  =  b      1 c       v1  F  v2  = 0     1 1 37 Cours de Vision On a mT Fmp2 = 0 ⇔ au1 + bv1 + c = 0 p1 ´ ´ ´ Fmp2 est l’equation de la droite epipolaire De1 associee au point m2 . ´ Remarque : F ne depend pas du point (F = K−T SRK−1 ) 1 2 ´ ⇔ si F est connu, on peut calculer n’importe quelle droite epipolaire
  11. 11. Cours de Vision Cours de Vision ´ Formulation matricielle de la contrainte epipolaire Calcul de la matrice fondamentale Cas des rotations pures Existence de la matrice fondamentale ` F peut se calculer a partir de : – Rappel ` – de la calibration du systeme (K1 , K2 et c1 Mc2 ) ˜ F = K−T TRK−1 1 2 ` – a partir d’un ensemble de points en correspondance ´ ´ – resolution au moindres carres – Que se passe t’il sans translation ? – Algorithme des 8 points [Longuet Higgins 81] T=0⇒F=0 ´ ´ ` – resolution non-lineaire avec minimisation du critere C = d2 (m1 , De1 ) + d2 (m2 , De2 ) Vision par ordinateur ` ce qui sert pas a grand chose 40 Cours de Vision Vision par ordinateur Cas des rotations pures 41 Cours de Vision Cas de points coplanaires ´ Revenons aux equations initiales   Z1 mp1 = K1 M1        M = Z K−1 m (1) 1 1 1 p1 ⇒  Z2 mp2 = K2 2 R1 M1 (2) Z2 mp2 = K2 M2 M 2 = 2 R1 M 1 ` – Supposons que les points appartiennent a un plan P(n, d) – or En combinant (1) et (2) :  M1 ∈ P(n, d) ⇔ n M1 = d  nT ⇒ M2 = RM1 + T M1  d M2 = RM1 + T T Z1 mp1 = K1 M1 Z2 mp2 = Z1 K2 2 R1 K−1 mp1 1 et Z2 K2 mp2 = K2 M2 – d’ou la relation homographique ` mp2 = Z1 2 K2 R1 K−1 mp1 1 Z2 H mp2 = Hmp1 La matrice H est une matrice d’homographie λmp2 = Hmp1 avec H = K2 RK−1 + K2 T 1 nT −1 K d 1 et λ= Z2 Z1
  12. 12. Cours de Vision Cours de Vision ` Application : Synthese d’images ` Homographie du plan a l’infini H = K2 RK−1 + K2 T 1 nT −1 K d 1 T ´ ` quand d tend vers l’infini (points situes sur un plan a l’infini) le terme T nd tend vers 0 =H + H tend vers l’expression correspondant au cas des rotation pure : lim H = K2 RK−1 = H∞ 1 d→∞ ` H∞ represente l’homographie du plan a l’infini Vision par ordinateur 44 Cours de Vision Vision par ordinateur Calcul de la matrice essentielle ou fondamentale L’algorithme des huit points [Longuet-Higgins88] Calcul de la matrice essentielle ou fondamentale L’algorithme des huit points [Longuet-Higgins88] ´ Contrainte epipolaire : mT Em1 = 0 2 ` ´ ´ ´ Ce systeme lineaire se resoud aux moindres carres, en posant la contrainte E = 1. ` ´ Le systeme peut se reecrire : Ae = 0 (4) ` ´ avec le vecteur e contenant les termes a determiner de e= 45 Cours de Vision ˜ Soit E la matrice ainsi obtenue. ´ Or E est de rang 2, il faut donc s’assurer que le resultat obtenue est bien une T E11 E12 ... E32 E33 ´ E et la matrice n × 9 fonction des donnees.   ...   A =  x i 2 x i 1 x i 2 yi 1 x i 2 yi 2 x i 1 yi 2 yi 1 yi 2 x i 1 yi 1 1    ... matrice essentielle. On force cette contrainte en calculant la SVD de Soit D ˜ ˜ E : E = UDVT . = diag(r, s, t) et r ≥ s ≥ t, alors la matrice essentielle finale est E = U.diag(r, s, 0).VT
  13. 13. Cours de Vision Cours de Vision Calcul d’une homographie : Algorithme DLT Calcul d’une homographie : Algorithme DLT Direct Linear Transformation mi2 × Hmi1 = 0 ´ ` Pour chaque point on a (en coordonnees homogenes) : En posant mi2 mi2 = Hmi1 (5) ` ´ ´ homogene), le produit vectoriel donne par (??) se developpe ainsi : ´ ` Ce qui est equivalent a : hT m i 1 1     Hmi1 =  hT mi1    2 hT m i 1 3 0T   wi mT 2 i1  −yi2 mT1 i (7) −wi2 mT1 i 0T xi2 mT1 i Ai (3×9) Vision par ordinateur 48 Cours de Vision Calcul d’une homographie : Algorithme DLT Direct Linear Transformation  0T   wi mT 2 i1  −yi2 mT1 i −wi2 mT1 i 0T xi2 mT1 i yi2 mT1 i  h1    −xi2 mT1   h2  = 0 i   T 0 h3 Ai (3×9) (11) h(9×1) ´ ´ ´ Seul 2 equations sont lineairement independantes. Resolution Pour n correspondances Ah = 0 avec A = AT , ..., AT , ..., AT 1 i n ´ ´ resoud classiquement par la decomposition SVD : A = UDVT ´ ` ` h est le vecteur de V associe a la plus petite valeur singuliere de A T . Il se yi 2 h T m i 1 − w i 2 h T m i 1 3 2    mi2 × Hmi1 =  wi2 hT mi1 − xi2 hT mi1  1 3   T T x i 2 h2 m i 1 − yi 2 h1 m i 1 (6) ` ´ ´ si la j ieme ligne de la matrice H est notee hT , on peut ecrire : j  ´ ` ´ = (xi2 , yi2 , wi2 ) (wi2 etant la troisieme coordonnee  mi2 × Hmi1 = 0 (8) Vision par ordinateur yi2 mT1 i  h1 (9)    −xi2 mT1   h2  = 0 i   T 0 h3 (10) h(9×1) 49

×