Upload
trinhthuan
View
217
Download
0
Embed Size (px)
Citation preview
Vision par ordinateurCalibrage de caméraet estimation de pose
Frédéric Devernay
Géométrie projectiveIncidence point/droite
Intersection
Coniques et coniques duales
Incidence point/plan
Quadriques et quadriques duales
Géométrie projective
Transformation de droites
Transformation de coniques
Transformation de coniques duales
Transformation de points
Transformation de plans
Transformation de quadriques
Transformation de quadriques duales
Transformation de points
Géométrie projectiveHiérarchie de transformations 2D
Projective8 d.d.l.
Affine6 d.d.l.
Similarité4 d.d.l.
Déplacement3 d.d.l.
Concurrence, colinéarité,contact au n-ième ordre(intersection, tangence,inflexion, etc.), birapport
Parallélisme, rapport desurfaces, rapport delongueurs sur des droitesparallèles (par ex. milieux),combinaisons linéaires devecteurs (centre de gravité).Droite à l'infini l∞Rapports de longueurs,angles.Points circulaires I,J
Longueurs, surfaces.
invariantsTransforméed'un carré
Géométrie projectiveHiérarchie de transformations 3D
Projective15 d.d.l.
Affine12 d.d.l.
Similarité7 d.d.l.
Déplacement6 d.d.l.
Intersection et tangence
Parallélisme de plans,Rapports de volumes,centre de gravité,Le plan à l'infini π∞
Angles, rapports delongueurLa conique absolue Ω∞
Volume
invariants
19/11/2001 Calibrage de caméra 6
Calibrage de caméra
Déterminer les paramètres de caméra à partirde points 3D connus ou d'objet(s) de calib
1. paramètres internes ou intrinsèques (focale,point principal, facteur d'aspect) :quelle sorte de caméra ?
2. paramètres externes ouextrinsèques (pose):où est la caméra ?
Comment faire ?
19/11/2001 Calibrage de caméra 7
Calibrage de caméra - approches
Approches possibles:1. régression linéaire (moindres carrés)2. optimisation non-linéaire3. points de fuite4. plusieurs images de mire plane5. panoramas (mouvement de rotation)
19/11/2001 Calibrage de caméra 8
Équations de formation de l'image
u
(Xc,Yc,Zc)
ucf
19/11/2001 Calibrage de caméra 9
Matrice de paramètres intrinsèques
Cette forme de K est-elle suffisante ?• pixels non carrés (vidéo analogique)• axes non-orthogonaux• distorsion non linéaire
(radiale, tangentielle,de décentrage...)
Mouvement d'un objet
Mouvement de la caméra
19/11/2001 Calibrage de caméra 12
Matrice de projection
Combine la matrice des paramètresintrinsèques K et les paramètres extrinsèquesdans une matrice de projection
P = K [R | t ]
(1 en bas à droite pour 11 degrés de liberté)
Trouver le centre optique
(utiliser une SVD pour trouver le noyau)
Trouver l'orientation (paramètres extrinsèques) etles paramèters intrinsèques
(décomposition RQ ~QR)
Q R=( )-1= -1 -1QR
(si seulement QR dispo, inverser)
(pour tous X et λ ⇒ C doit être le centre optique)
Décomposition de la projection Caméras affines
Distorsion radiale• Due à la sphéricité des lentilles• Modèl:
R
R
Les lignesdroit es(3D) nesont plusdroit es( 2D) Coussinet (pincushion)
Barillet (barrel)
Exemple de distorsion radiale
Appareil de Meydenbauer
Translat ionvert icaledel' object ifPourdesphot osdefacadesort ho-rect if iées
Projection de droite
Projection inverse de droite : plan 3D
Projection de point
Projections de points et droites
Projection inverse de conique : cone
Projection de quadrique : conique
Projection et coniques/quadriques Calibrage / Ressection
19/11/2001 Calibrage de caméra 21
Calibrage linéaire de la projection
Estimer directement les 11 inconnues de lamatrice M à partir de points 3D connus(Xi,Yi,Zi) et de leurs images mesurées (ui,vi)
19/11/2001 Calibrage de caméra 22
Calibrage linéaire de la projectionRégression linéaire :
• Multiplier par le dénominateur, résoudre lesystème linéaire sur-déterminé. Comment ?
• Moindres carrés (pseudo-inverse ou autre)• Est-ce suffisant ? Que signifie une erreur sur M ?
Matrice de rang 2 car
Direct Linear transform (DLT)
Remarque : équationsimilaire avec distorsionsnon-linéaires !
Solution minimale
Solution sur-déterminée
⇒ 5½ correspondences nécessaires (disons 6) P a 11 d.d.l., 2 éq. Indép./point
n ≥ 6 points
minimiser sous la contrainte
Utiliser la SVD
Direct Linear Transform (DLT)
Décomposition en valeurs singulières
Moindres carrés homogènes :
Singular Value Decomposition (SVD)(i) Points sur un plan et une droite passant par
le centre optique
(ii) Camera et points sur une twisted cubic
Configurations dégénérées
Mettre à l'échelle les données pour obtenir des grandeurs proches de 1
1. Centre de gravité à l'origine2. Echelle pour obtenir une variance de 1
Normalisation des données
Extension de DLT aux droites
(projection inverse de droite)
(2 équations indépendantes)
Correspondances de droites
Erreur géométrique Algorithme standard de calibrageObjectif
Etant données n≥6 correspondances de points 3D-2D{Xi↔xi’}, determiner l'estimation de P au sens dumaximum de vraisemblance
Algorithme(i) Solution linéaire :
(a) Normalisation:(b) DLT
(ii) Minimisation de l'erreur géométrique : en utilisantl'estimation linéaire comme point de départ:
(iii) Dénormalisation:
~~~
19/11/2001 Calibrage de caméra 31
Estimation optimale
Équations de mesure des projections des pts 3D
Vraisemblance de M étant donnés {(ui,vi)}
19/11/2001 Calibrage de caméra 32
Estimation optimale
Log-vraisemblance de M étant donnés {(ui,vi)}
Comment minimiser C ?Moindres carrés non-linéaires, car les ûi et vi
sont des fonctions non-linéaires de M
19/11/2001 Calibrage de caméra 33
Levenberg-Marquardt
Moindres carrés non-linéaires itératifs [Press’92]• Linéariser les équations de mesure
• Substituer dans l'équation de log-vraisemblance :fonction de coût quadratique en Δm
19/11/2001 Calibrage de caméra 34
Moindres carrés non-linéaires itératifs [Press’92]• Minimum atteint pour
Hessienne :
erreur :
Levenberg-Marquardt
19/11/2001 Calibrage de caméra 35
Et si C ne diminue pas ?• Multiplier la diagonale par (1 + λ), augmenter λ
jusqu'à ce que C diminue• Diviser par deux Δm• Minimiser C dans la direction de Δm• D'autres idées ?
Analyse d'incertitude : covariance Σ = A-1
Comment commencer au voisinage d'unminimum global ?
Levenberg-Marquardt
(i) Détection de contours (Canny)(ii) Approximation des contours par des
segments de droites(iii) Intersection des droites supports
pour obtenir les coins
précision <1/10 pixel(Règle de H&Z: 5n contraintes pour n
inconnues)
Exemple de calibrage
Erreurs dans le monde
Erreurs dans l'image et le monde
Erreurs dans l'image(cas standard)
19/11/2001 Calibrage de caméra 38
Calibrage de la projection
Avantages :• très simple à formuler et à résoudre
• calcul de K [R | t] à partir de M par décompositionRQ [Golub & VanLoan 96]
Inconvénients :• pas de relation directe aux paramètres internes• plus d'inconnues que de vrais degrés de liberté
• une matrice de projection différente par vue
19/11/2001 Calibrage de caméra 39
Séparation intrinsèques/extrinsèques
Nouvelles équations de mesure
Utiliser la minimisation non-linéaireTechnique standard en photogrammétrie,
vision, synthèse d'image• [Tsai 87] – estime aussi κ1 (freeware @ CMU)
http://www.cs.cmu.edu/afs/cs/project/cil/ftp/html/v-source.html
• [Bogart 91] – View Correlation
19/11/2001 Calibrage de caméra 40
Comment paramétrer R et ΔR?• Angles d'Euler : mauvaise idée...• quaternions: vecteurs de dim. 4 sur sphère unité• utiliser une rotation incrémentale R(I + ΔR)
• mise à jour par la formule de Rodrigues
Séparation intrinsèques/extrinsèques
19/11/2001 Calibrage de caméra 41
Avantages :• on peut calculer plusieurs positions d'une même
caméra
• potentiellement moins de degrés de liberté
Inconvénients :• Règles de mise à jour plus complexe• besoin d'une bonne initialisation (calculer K [R | t]
à partir de M)
Séparation intrinsèques/extrinsèques
19/11/2001 Calibrage de caméra 42
Points de fuite
Calculer la focale f et lecentre optique (uc,vc) àpartir de points de fuited'images de cubes(ou de bâtiments)[Caprile ’90][Antone & Teller ’00]
u0 u1
u2
19/11/2001 Calibrage de caméra 43
Points de fuite
les directions X, Y, et Z, Xi = (1,0,0,0) …(0,0,1,0) correspondent à des points de fuitequi sont reliés à la matrice de rotation :
u0 u1
u2u
(Xc,Yc,Zc)ucf
19/11/2001 Calibrage de caméra 44
Points de fuite
La matrice R est orthonormale :ri • rj = δij
(uc,vc) = orthocentre du triangle des points defuite
Ensuite, une équationdonne f2
(2 pts de fuite suffisent si (uc,vc) connu)
u0 u1
u2
uc
19/11/2001 Calibrage de caméra 45
Calibrage par points de fuite
Avantages :• seulement besoin de points de fuite
(par ex., architecture, table, …)
Inconvénients :• pas si précis
• besoin de parallélépipède(s) dans la scène
19/11/2001 Calibrage de caméra 46
Calibrage multi-plan
Utilise plusieurs images d'une mire plane avecdes orientations inconnues [Zhang 99]• Calculer les homographies planes
• Résoudre K-TK-1 à partir des Hk– 1 plan si seulement f inconnu– 2 plans si (f,uc,vc) inconnus– 3 plans ou + pour K
• Code disponible de Zhang et OpenCV
Deux boîtiers de CD et une imprimante…i. Calculer H pour chaque carré
(coins # (0,0),(1,0),(0,1),(1,1))ii. Calibrage multi-plans
Une mire de calibrage simple
19/11/2001 Calibrage de caméra 48
Mouvement de rotation
Utiliser une rotation pure pour estimer f1. f à partir d'homographies entre vues consécutives2. ré-estimer f par bouclage à 360º3. optimiser tous les paramètres {K,Rj}
[Stein 95; Hartley ’97; Shum & Szeliski ’00; Kang & Weiss ’99]
Meilleur moyen d'estimer f sans faire de relevéstopographiques
f=510 f=468
Estimation de pose et triangulation
19/11/2001 Calibrage de caméra 50
Estimation de poseUne fois les paramètres internes estimés, on
peut calculer la pose de la caméra
[Tsai87] [Bogart91]
Application : superposer des graphiques 3D surde la vidéo
Comment initialiser (R,t)?
19/11/2001 Calibrage de caméra 51
Estimation de pose
Techniques d'initialisation déjà vues :• points de fuite [Caprile 90]• mire plane [Zhang 99]
Autres possibilités :• Through-the-Lens Camera Control [Gleicher92]:
mise à jour différentielle• Méthodes "linéaires" à 3 points et plus :
[DeMenthon 95][Quan 99][Ameller 00]
19/11/2001 Calibrage de caméra 52
Estimation de pose
Résoudre le problème orthographique, itérer[DeMenthon 95]
Utiliser les distances entre points[Quan 99][Ameller 00]
Résoudre le système d'équations polynomiales en xi2p
u
(Xc,Yc,Zc)ucf
19/11/2001 Calibrage de caméra 53
Triangulation
Problème : Étant donnés des points mis encorrespondance entre deux images ou plus(les caméras étant calibrées), {(uj,vj)}, calculerla position 3D X
19/11/2001 Calibrage de caméra 54
Triangulation
Méthode I: "intersecter" les rayons en 3D,minimiser:
• X est le point 3D inconnu• Cj est le centre optique de la caméra j• Vj est le rayon optique du pixel (uj,vj)• sj est une distance inconnue le long de Vj
Avantage : géométriquement intuitif
Cj
Vj
X
19/11/2001 Calibrage de caméra 55
Triangulation
Méthode II: résoudre les équ. linéaires en X• avantage : très simple
Méthode III: minimisation non linéaire• avantage : plus précis (erreur dans plan image)
Structure from Motion
19/11/2001 Calibrage de caméra 57
Structure from motionÉtant donnés beaucoup de points mis en
correspondance, {(uij,vij)}, calculersimultanément la position 3D xi et lesparamètres de caméra (ou de mvt) (K, Rj, tj)
Deux variantes : calibré, ou non calibré (pourune reconstruction euclidienne ou projective)
19/11/2001 Calibrage de caméra 58
Structure from motion
Combien de correspondances utiliser ?• 2 images :
(R,t): 5 D.L. + 3n positions de points 3D ≤4n point 2D mesurés ⇒n ≥ 5
• k images :6(k–1)-1 + 3n ≤ 2kn
• toujours en utiliser beaucoup plus
19/11/2001 Calibrage de caméra 59
Ajustement de faisceaux
Qu'est-ce qui rend ce problème de minimisationnon-linéaire difficile ?• beaucoup de paramètres : probablement lent• mauvais conditionnement (fort couplage)• probablement beaucoup d'outliers• liberté de jauge (système de coordonnées)
Comment initialiser / détecter les points ?• extraction de points d'intérêts + corrélation + ...
19/11/2001 Calibrage de caméra 60
De nombreux paramètres, mais...
Seulement quelques entrées de la jacobiennesont non-nulles :
19/11/2001 Calibrage de caméra 61
Conditionnement et liberté de jauge
Mauvais conditionnement :• utiliser une méthode du second ordre• utiliser une décomposition de Cholesky
Liberté de jauge• fixer certains paramètres (orientation) ou• mettre à zéro dernières lignes de Cholesky
19/11/2001 Calibrage de caméra 62
Modèles d'erreurs robustes
Élimination de donnéeserronées (outliers)• utiliser une pénalité robuste
appliquée à chaque ensemblede valeurs mesurées
19/11/2001 Calibrage de caméra 63
Structure from motion: limitationsTrès difficile d'estimer correctement la structure
et le mouvement, à moins que :• grande rotation (sur x or y) ou• grands champ de vision et variation de profondeur
L'utilisation de caméras calibrées est importantepour obtenir des reconstructions euclidiennes
Besoin de bons algos de détection et suivi depoints d'intérêt
Bibliographie
• Computer Vision: aModern ApproachDavid Forsyth andJean Ponce
• Chapitres du troisième draft:http://decsai.ugr.es/mia/complementario/t1/book3chaps.html
Bibliographie
• Multiple View GeometryRichard Hartley andAndrew Zissermanhttp://www.robots.ox.ac.uk/~vgg/hzbook/
• 2 chapitres à téléchargergratuitement
19/11/2001 Calibrage de caméra 66
BibliographieM.-A. Ameller, B. Triggs, and L. Quan.Camera pose revisited -- new linear algorithms.http://www.inrialpes.fr/movi/people/Triggs/home.html, 2000.
M. Antone and S. Teller.Recovering relative camera rotations in urban scenes.In IEEE Computer Society Conference on Computer Vision and Pattern Recognition
(CVPR'2000), volume 2, pages 282--289, Hilton Head Island, June 2000.
S. Becker and V. M. Bove.Semiautomatic {3-D model extraction from uncalibrated 2-d camera views.In SPIE Vol. 2410, Visual Data Exploration and Analysis {II, pages 447--461, San Jose, CA,
February 1995. Society of Photo-Optical Instrumentation Engineers.
R. G. Bogart.View correlation.In J. Arvo, editor, Graphics Gems II, pages 181--190. Academic Press, Boston, 1991.
19/11/2001 Calibrage de caméra 67
BibliographieD. C. Brown.Close-range camera calibration.Photogrammetric Engineering, 37(8):855--866, 1971.
B. Caprile and V. Torre.Using vanishing points for camera calibration.International Journal of Computer Vision, 4(2):127--139, March 1990.
R. T. Collins and R. S. Weiss.Vanishing point calculation as a statistical inference on the unit sphere.In Third International Conference on Computer Vision (ICCV'90), pages 400--403, Osaka,
Japan, December 1990. IEEE Computer Society Press.
A. Criminisi, I. Reid, and A. Zisserman.Single view metrology.In Seventh International Conference on Computer Vision (ICCV'99), pages 434--441, Kerkyra,
Greece, September 1999.
19/11/2001 Calibrage de caméra 68
BibliographieL. de Agapito, R. I. Hartley, and E. Hayman.Linear calibration of a rotating and zooming camera.In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'99),
volume 1, pages 15--21, Fort Collins, June 1999.
D. I. DeMenthon and L. S. Davis.Model-based object pose in 25 lines of code.International Journal of Computer Vision, 15:123--141, June 1995.
M. Gleicher and A. Witkin.Through-the-lens camera control.Computer Graphics (SIGGRAPH'92), 26(2):331--340, July 1992.
R. I. Hartley.An algorithm for self calibration from several views.In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'94),
pages 908--912, Seattle, Washington, June 1994. IEEE Computer Society.
19/11/2001 Calibrage de caméra 69
BibliographieR. I. Hartley.Self-calibration of stationary cameras.International Journal of Computer Vision, 22(1):5--23, 1997.
R. I. Hartley.Chirality.International Journal of Computer Vision, 26(1):41--61, 1998.
R. I. Hartley, E. Hayman, L. {de Agapito, and I. Reid.Camera calibration and the search for infinity.In IEEE Computer Society Conference on Computer Vision and Pattern Recognition
(CVPR'2000), volume 1, pages 510--517, Hilton Head Island, June 2000.
B. K. P. Horn.Closed-form solution of absolute orientation using unit quaternions.Journal of the Optical Society of America A, 4(4):629--642, 1987.
19/11/2001 Calibrage de caméra 70
BibliographieS. B. Kang and R. Weiss.Characterization of errors in compositing panoramic images.Computer Vision and Image Understanding, 73(2):269--280, February 1999.
L. Quan and Z. Lan.Linear {N-point camera pose determination.IEEE Transactions on Pattern Analysis and Machine Intelligence, 21(8):774--780, August 1999.
H.-Y. Shum, M. Han, and R. Szeliski.Interactive construction of {3D models from panoramic mosaics.In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'98),
pages 427--433, Santa Barbara, June 1998.
H.-Y. Shum and R. Szeliski.Construction of panoramic mosaics with global and local alignment.International Journal of Computer Vision, 36(2):101--130, February 2000.
19/11/2001 Calibrage de caméra 71
BibliographieG. Stein.Accurate internal camera calibration using rotation, with analysis of sources of error.In Fifth International Conference on Computer Vision (ICCV'95), pages 230--236, Cambridge,
Massachusetts, June 1995.
G. Stein.Lens distortion calibration using point correspondences.In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'97),
pages 602--608, San Juan, Puerto Rico, June 1997.
R. Y. Tsai.A versatile camera calibration technique for high-accuracy {3D machine vision metrology using
off-the-shelf {TV cameras and lenses.IEEE Journal of Robotics and Automation, RA-3(4):323--344, August 1987.
Z. Zhang.Flexible camera calibration by viewing a plane from unknown orientations.In Seventh International Conference on Computer Vision (ICCV'99), pages 666--687, Kerkyra,
Greece, September 1999.
19/11/2001 Calibrage de caméra 72
BibliographieZ. Zhang.Epipolar Geometry in Stereo, Motion and Object Recognition: A Unified Approach.Kluwer Academic Publishers, 1996. ISBN 0-7923-4199-6.