Vision par ordinateur -...

12
Vision par ordinateur Calibrage de caméra et estimation de pose Frédéric Devernay Géométrie projective Incidence 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 projective Hiérarchie de transformations 2D Projective 8 d.d.l. Affine 6 d.d.l. Similarité 4 d.d.l. Déplacement 3 d.d.l. Concurrence, colinéarité, contact au n-ième ordre (intersection, tangence, inflexion, etc.), birapport Parallélisme, rapport de surfaces, rapport de longueurs sur des droites parallèles (par ex. milieux), combinaisons linéaires de vecteurs (centre de gravité). Droite à l'infini l Rapports de longueurs, angles. Points circulaires I,J Longueurs, surfaces. invariants Transformée d'un carré Géométrie projective Hiérarchie de transformations 3D Projective 15 d.d.l. Affine 12 d.d.l. Similarité 7 d.d.l. Déplacement 6 d.d.l. Intersection et tangence Parallélisme de plans, Rapports de volumes, centre de gravité, Le plan à l'infini π Angles, rapports de longueur La conique absolue Ω Volume invariants 19/11/2001 Calibrage de caméra 6 Calibrage de caméra Déterminer les paramètres de caméra à partir de 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 ou extrinsèques (pose): où est la caméra ? Comment faire ?

Transcript of Vision par ordinateur -...

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.