Autocalibrage multi-vues d’une distance focale et …Alain.Crouzil/bocquillon/RESSOURCES/... ·...

8
Autocalibrage multi-vues d’une distance focale et mouvements critiques associés On Constant Focal Length Self-Calibration From Multiple Views and Related Critical Motions B. Bocquillon 1 A. Bartoli 2 P. Gurdjos 1 A. Crouzil 1 1 IRIT, Toulouse 2 LASMEA, Clermont-Ferrand [email protected] [email protected] [email protected] [email protected] Résumé Nous cherchons à reconstruire la structure métrique d’une scène 3D générale vue par une caméra en mouvement avec des pixels carrés et une distance focale constante inconnue. Le problème est formulé clairement dans le cadre de l’ap- proche stratifiée fondée sur la quadrique absolue duale. Cependant, deux problèmes demeurent. Le premier problème concerne les séquences génériques de mouvements critiques, c.-à-d. les mouvements de caméra pour lesquels l’autocalibrage est ambigu. La plupart des travaux antérieurs se focalisent sur le cas de la distance focale variable. Nous proposons une étude exhaustive du cas de la distance focale constante. Le second problème est la résolution de l’ensemble des équations non linéaires à quatre inconnues venant de la formulation fondée sur la quadrique absolue duale. La plu- part des travaux antérieurs utilisent l’optimisation non li- néaire locale, nécessitant une solution initiale, ou rendent le problème linéaire, introduisant alors des cas dégénérés artificiels, dont la plupart sont susceptibles de se produire en pratique. Nous utilisons l’analyse d’intervalles pour ré- soudre ce problème. L’algorithme obtenu garantit de trou- ver la solution en quelques secondes et n’est pas sujet aux singularités artificielles. Mots Clef Structure-from-Motion, autocalibrage, séquences de mou- vements critiques, analyse d’intervalles. Abstract We investigate the problem of finding the metric structure of a general 3D scene viewed by a moving camera with square pixels and constant unknown focal length. While the problem has a concise and well-understood formula- tion in the stratified framework thanks to the absolute dual quadric, two open issues remain. The first issue concerns the generic Critical Motion Se- quences, i.e. camera motions for which self-calibration is ambiguous. Most of the previous work focuses on the va- rying focal length case. We provide a thorough study of the constant focal length case. The second issue is to solve the nonlinear set of equations in four unknowns arising from the dual quadric formula- tion. Most of the previous work either does local nonlinear optimization, thereby requiring an initial solution, or linea- rizes the problem, which introduces artificial degeneracies, most of which likely to arise in practice. We use interval analysis to solve this problem. The resulting algorithm is guaranteed to find the solution within few seconds and is not subject to artificial degeneracies. Keywords Structure-from-Motion, Self-Calibration, Critical Motion Sequences, Interval Analysis. 1 Introduction Le problème de Structure-from-Motion, qui consiste à cal- culer une reconstruction métrique d’une caméra et des points à partir d’images est un problème fondamental en vi- sion par ordinateur. Les nombreuses études menées ces der- nières décennies ont amené des formulations bien établies et de nombreuses méthodes de résolution. Un des résultats clés est qu’une reconstruction projective peut être calculée à partir de deux images non calibrées, à condition que ni la caméra ni les points ne se trouvent sur une surface critique. La reconstruction métrique recherchée est obtenue en ap- pliquant une homographie de rectification à la reconstruc- tion projective. Calculer cette homographie à partir d’hy- pothèses sur la caméra est un problème d’autocalibrage et équivaut à retrouver les paramètres intrinsèques inconnus de la caméra. Trois approches principales se distinguent dans la littéra- ture : (i) celles fondées sur les équations de Kruppa [2, 10], qui nécessitent la géométrie épipolaire de chaque paire de vues ; (ii) celles utilisant une approche stratifiée, qui s’ap- puie sur la rectification affine d’une reconstruction projec-

Transcript of Autocalibrage multi-vues d’une distance focale et …Alain.Crouzil/bocquillon/RESSOURCES/... ·...

Page 1: Autocalibrage multi-vues d’une distance focale et …Alain.Crouzil/bocquillon/RESSOURCES/... · 2007-07-04 · On Constant Focal Length Self-Calibration From Multiple Views and

Autocalibrage multi-vues d’une distance focale etmouvements critiques associés

On Constant Focal Length Self-Calibration From Multiple Vi ews and RelatedCritical Motions

B. Bocquillon1 A. Bartoli2 P. Gurdjos1 A. Crouzil1

1 IRIT, Toulouse2 LASMEA, Clermont-Ferrand

[email protected] [email protected] [email protected] [email protected]

RésuméNous cherchons à reconstruire la structure métrique d’unescène 3D générale vue par une caméra en mouvement avecdes pixels carrés et une distance focale constante inconnue.Le problème est formulé clairement dans le cadre de l’ap-proche stratifiée fondée sur la quadrique absolue duale.Cependant, deux problèmes demeurent.Le premier problème concerne les séquences génériques demouvements critiques, c.-à-d. les mouvements de camérapour lesquels l’autocalibrage est ambigu. La plupart destravaux antérieurs se focalisent sur le cas de la distancefocale variable. Nous proposons une étude exhaustive ducas de la distance focale constante.Le second problème est la résolution de l’ensemble deséquations non linéaires à quatre inconnues venant de laformulation fondée sur la quadrique absolue duale. La plu-part des travaux antérieurs utilisent l’optimisation non li-néaire locale, nécessitant une solution initiale, ou rendentle problème linéaire, introduisant alors des cas dégénérésartificiels, dont la plupart sont susceptibles de se produireen pratique. Nous utilisons l’analyse d’intervalles pour ré-soudre ce problème. L’algorithme obtenu garantit de trou-ver la solution en quelques secondes et n’est pas sujet auxsingularités artificielles.

Mots ClefStructure-from-Motion, autocalibrage, séquences de mou-vements critiques, analyse d’intervalles.

AbstractWe investigate the problem of finding the metric structureof a general 3D scene viewed by a moving camera withsquare pixels and constant unknown focal length. Whilethe problem has a concise and well-understood formula-tion in the stratified framework thanks to the absolute dualquadric, two open issues remain.The first issue concerns the generic Critical Motion Se-quences, i.e. camera motions for which self-calibration is

ambiguous. Most of the previous work focuses on the va-rying focal length case. We provide a thorough study of theconstant focal length case.The second issue is to solve the nonlinear set of equationsin four unknowns arising from the dual quadric formula-tion. Most of the previous work either does local nonlinearoptimization, thereby requiring an initial solution, or linea-rizes the problem, which introduces artificial degeneracies,most of which likely to arise in practice. We use intervalanalysis to solve this problem. The resulting algorithm isguaranteed to find the solution within few seconds and isnot subject to artificial degeneracies.

KeywordsStructure-from-Motion, Self-Calibration, Critical MotionSequences, Interval Analysis.

1 IntroductionLe problème deStructure-from-Motion, qui consiste à cal-culer une reconstruction métrique d’une caméra et despoints à partir d’images est un problème fondamental en vi-sion par ordinateur. Les nombreuses études menées ces der-nières décennies ont amené des formulations bien établieset de nombreuses méthodes de résolution. Un des résultatsclés est qu’une reconstruction projective peut être calculéeà partir de deux images non calibrées, à condition que ni lacaméra ni les points ne se trouvent sur une surface critique.La reconstruction métrique recherchée est obtenue en ap-pliquant une homographie de rectification à la reconstruc-tion projective. Calculer cette homographie à partir d’hy-pothèses sur la caméra est un problème d’autocalibrageetéquivaut à retrouver les paramètres intrinsèques inconnusde la caméra.Trois approches principales se distinguent dans la littéra-ture :(i) celles fondées sur les équations de Kruppa [2, 10],qui nécessitent la géométrie épipolaire de chaque paire devues ;(ii) celles utilisant une approche stratifiée, qui s’ap-puie sur la rectification affine d’une reconstruction projec-

Page 2: Autocalibrage multi-vues d’une distance focale et …Alain.Crouzil/bocquillon/RESSOURCES/... · 2007-07-04 · On Constant Focal Length Self-Calibration From Multiple Views and

tive, et trouve linéairement la transformation « affine-vers-métrique ». La première étape est résolue en utilisant lacontrainte du module [12] ou en faisant une recherche ex-haustive [5] ;(iii) celles effectuant un calcul direct de l’ho-mographie de rectification « projectif-vers-métrique » [7].Triggs [21] a proposé un modèle pratique avec la quadriqueabsolue duale, contenant le plan à l’infini et les paramètresintrinsèques de la caméra d’une manière compacte. [11]s’appuie sur ce modèle pour proposer un algorithme li-néaire traitant le cas d’une distance focale variable.

Nous étudions le problème de l’autocalibrage pour une ca-méra avec des paramètres intrinsèques constants dans lecadre de la quadrique absolue duale de Triggs. Plus préci-sément, nous supposons que la caméra possède des pixelscarrés et un point principal connu. Seule la distance focalereste à calculer. Nos contributions portent sur deux aspectsimportants de ce problème.

Premièrement, section 3, nous donnons une étude exhaus-tive des séquences de mouvements critiques (SMC) quisont génériques pour ce problème. Il existe des mouve-ments de caméra pour lesquels l’autocalibrage est am-bigu, c.-à-d. qu’ils mettent en défaut n’importe quel algo-rithme d’autocalibrage. Sturm [15] a donné une classifica-tion complète des SMC pour des paramètres intrinsèquesconstants et tous inconnus. Notons que les SMC pour les-quels seule une partie des inconnues peut être déterminéemènent à des méthodes spécifiques, voir [6, chap. 19]. Parexemple, pour un mouvement de translation pure, la recti-fication « affine-vers-métrique » n’est pas unique. Le casd’une distance focale variable et les autres paramètres in-trinsèques connus a été beaucoup étudié [9, 13, 18], tandisque le cas d’une distance focale constante reste ouvert, hor-mis pour deux caméras [19].

Deuxièmement, section 4, nous proposons une méthodedéterministe pour résoudre le problème non linéaire del’autocalibrage qui n’introduit pas de SMC artificielle etne nécessite pas de solution initiale. Les méthodes précé-dentes [11, 21] rendent le problème linéaire pour trouverune solution initiale qu’ils raffinent par optimisation nonlinéaire itérative. Une étape nécessaire à cette linéarisationest de négliger le rang de la quadrique absolue duale. Enplus d’être sous-optimale, la linéarisation du problème in-troduit des SMC artificielles, la plupart d’entre elles sus-ceptibles d’arriver en pratique. Par exemple, une camérafixant un point n’est pas une SMC générique mais meten défaut les algorithmes linéaires. L’optimisation non li-néaire itérative est encline à s’échouer dans des minimalocaux, en particulier si la solution initiale se trouve « troploin » de l’optimum. Notre algorithme est fondé sur l’op-timisation globale par analyse d’intervalles. Il trouve leminimum global de la fonction d’erreur non linéaire desquatre paramètres inconnus, la distance focale et le plan àl’infini, en un temps raisonnable. Remarquons que l’auto-calibrage fondé sur l’optimisation globale par intervalleset les équations de Kruppa est proposé dans [3]. Cette ap-proche est cependant différente de la nôtre, nécessitant de

l’ordre d’une heure pour trouver la solution et sujette àd’importantes singularités liées aux équations de Kruppa.La section 5 expose une évaluation expérimentale. La sec-tion 6 conclut l’article.

2 PréliminairesNous supposons disposer d’une reconstruction projectivenon ambiguë de la structure et des caméras. Le problèmede la reconstruction métrique consiste à chercher une ho-mographieH transformant, pouri = 1, ..., n, les ma-trices de projectionPi, relatives au repère projectif, en ma-trices de projectionPi

M , relatives à un certain repère 3Dmétrique. Ces matrices se décomposent alors enPi

M =KiRi⊤

(

I| − ti)

où Ki est la matrice de calibrage [6], et(

Ri, ti)

représente les orientations et positions des camé-ras dans le repère métrique.La quadrique absolue dualeQ∗

∞est représentée par une ma-

trice 4 × 4, semi-définie, de rang3, qui se projette en laconique absolue dualeω∗i = KiKi⊤ parω∗i = PiQ∗

∞Pi⊤.

Cette quadrique peut être vue comme une sphère virtuellecontenant la conique absolueΩ∞ définie tangentiellementet « infiniment aplatie » sur le plan à l’infiniΠ∞. Dans toutrepère métrique,Q∗∞ est de la formeI = diag(1, 1, 1, 0) etdans un repère projectif, nous avonsQ∗

∞= HIH⊤. Si les

paramètres intrinsèques sont constants,ω∗i ∼ ω∗j , où∼représente l’égalité à un facteur d’échelle près. Pour tousles paramètres intrinsèques connus à l’exception de la dis-tance focaleα et en écrivantP1 = (I|0), nous avonsω∗1 =diag(α2, α2, 1). Chaque paire d’images(1, j) donne un en-semble de cinq équations :

ω∗j12 = 0 ω

∗j13 = 0 ω

∗j23 = 0

ω∗j11 = ω

∗j22 α2ω

∗j33 = ω

∗j22 pourj = 2, ..., n.

(1)

Résoudre ce système pour les4 inconnuesγ = α2 etΠ∞

est possible pourj ≥ 2 images. Il y a principalement troisapproches :(i) la méthode linéaire :elle consiste à gar-der les quatre premières équations dans (1), qui sont li-néaires.(ii) la méthode quasi-linéaire :dans [21], Triggsrend linéaire le problème en introduisant des inconnuessupplémentaires et en cherchant les composantes deQ∗

∞et

ω∗j. (iii) la méthode non linéaire :c’est l’approche directe.Des méthodes de minimisation locales et itératives sont gé-néralement utilisées, en particulier via une technique deProgrammation Séquentielle Quadratique [21]. Elles né-cessitent une bonne initialisation. Les deux premières mé-thodes possèdent deux problèmes majeurs : d’abord, lacontrainte de rang3 surQ∗∞ n’est pas automatiquement sa-tisfaite (généralement, elle est imposée dans une étapeaposteriori). Ceci signifie que le plan à l’infini obtenu peutne pas être le plan de support de la conique absolue calcu-lée. Deuxièmement, elles n’assurent pas non plus queω∗

soit semi-définie positive, empêchant alors la décomposi-tion de Cholesky de cette dernière. Notons que dans le casde deux vues, le problème se réduit à une équation quadra-tique. Dans ce travail, nous proposons un algorithme fondé

Page 3: Autocalibrage multi-vues d’une distance focale et …Alain.Crouzil/bocquillon/RESSOURCES/... · 2007-07-04 · On Constant Focal Length Self-Calibration From Multiple Views and

sur la formulation non linéaire et sur une méthode d’opti-misation globale.

3 Singularités génériques3.1 Travaux antérieursNous regroupons les problèmes de calcul des paramètresintrinsèques et des structures affine et euclidienne sous leterme usuel « autocalibrage ». Ces problèmes donnent lieuà dessingularités, c.-à-d. à des solutions ambiguës, gé-néralement induites par certains mouvements de caméra,dits critiques. De telles singularités sontgénériqueslors-qu’elles sont déterminées dans un cadre théorique et, donc,indépendamment de toute méthode de résolution. Par op-position, les singularités introduites par un algorithme sontditesartificielles.Les algorithmes d’autocalibrage peuvent être classés dansau moins trois catégories [17], selon le nombre croissantde singularités. La première inclut les algorithmes qui necomportent que des singularités génériques. La seconde,comprenant les algorithmes linéaires de Pollefeys [11] etTriggs [21], ajoute des singularités artificielles en n’impo-sant pas la contrainte de rang 3 pourQ∗∞. La dernière caté-gorie, comprenant les algorithmes fondés sur les équationsde Kruppa, est celle qui a le plus de singularités en n’im-posant pas l’unicité deQ∗∞ pour toutes les paires de vues.La première étude exhaustive des mouvements critiquespour n ≥ 2 vues a été donnée par Sturm [16], en ce quiconcerne des paramètres intrinsèques constants. Une géné-ralisation, incorporant progressivement des connaissancessur le facteur d’obliquité, le rapport d’échelle et le pointprincipal, a été donnée par Kahl [8]. Le cas extrême où tousles paramètres intrinsèques sont connus, exceptée une dis-tance focale variable, a aussi été étudié indépendammentpar Sturm [18]. Les deux auteurs ont décrit1 les mouve-ments critiques (génériques) suivants pourn > 2 :

1. les axes optiques sont parallèles, c.-à-d. les mouve-ments sont des translations pures ;

2. les centres des caméras sont alignés ; les axes optiquescoïncident, excepté à (au plus) deux positions où lesorientations peuvent être arbitraires ;

3. le lieu des centres des caméras est l’union de deux co-niques centrales, une ellipseE et une hyperboleH,situées sur des plans orthogonaux se coupant en l’axefocal deE, et telles queH etE aient comme sommetsprincipaux les foyers deE et H, respectivement ; lesaxes optiques sont dans les plans considérés et tan-gents aux coniques à chaque position.

Dans §3.2, nous décrirons les singularités génériques pourn ≥ 2 vues d’une caméra, quand tous les paramètres intrin-sèques sont connus, exceptée une distance focaleα suppo-sée constante. Nous désignerons ce cas pardistance focaleconstante inconnue. Avant cela, nous donnons quelquesconsidérations générales.

1Bien que Sturm fournisse un résultat plus complet, cf. [18, §5].

Par souci de concision, le termeconiquedésigne uneco-nique virtuelle, c.-à-d. de matrice réelle mais ne compor-tant que des points complexes conjugués. SiΦ ∈ R

3×3

représente une conique, alorsΦ∗ ∈ R3×3 représente cette

conique définie tangentiellement etQ∗Φ ∈ R4×4 représente

la quadrique tangentielle de rang 3 associée [14].Désignons parD ⊂ K un certain sous-groupe du groupeKdes matrices triangulaires supérieures d’ordre3, déterminépar les contraintes sur les paramètres intrinsèques dont ondispose. En accord avec [8, 18], une séquence de mouve-mentsM estcritique pour la structure euclidienne(ou sim-plementcritique) s’il existe une coniqueΦ dans un plan desupport quelconqueΠ telle que son imageφ∗i ∼ PiQ∗ΦP

i⊤

vérifie (sous forme tangentielle) :

φ∗i = DiD

i⊤, Di ∈ D (2)

etQ∗Φ ≁ Q∗

∞. (3)

M estcritique pour la structure affinesi M est critique etΠ ≁ Π∞. M estcritique pour les paramètres intrinsèquessi M est critique etφ∗i

≁ ω∗i. Remarquons queM est cri-tique pour la structure euclidienne si elle est critique pourla structure affineoupour les paramètres intrinsèques.

3.2 Distance focaleconstante inconnueDans le cas d’une distance focaleα inconnue, on montrequ’il est possible de se donner des matrices de projection« calibrées » de la formePi = Ri⊤

(

I | −ti)

, en impo-sant que, dans (2),D soit le sous-groupe des matrices dia-gonales propres d’ordre3 vérifiant la condition (H1) ci-dessous [8, 18]. Si, de plus,α est supposée constante (notrecas), nous imposons que la condition (H2) soit aussi satis-faite :– (H1)D11 = D22, D ∈ D ;– (H2)φ∗i

11/φ∗i33 = φ∗j

22/φ∗j33, 1 ≤ i, j ≤ n.

À noter que l’ensemble des singularités pour une caméra àdistance focale constante (inconnue) sera nécessairementinclus dans celui pour une caméra à distance focale va-riable. En effet, lorsque (H1) est vérifiée, (H2) n’est riend’autre qu’une relation d’équivalence dansD.

Positions critiques des caméras. SoitΦ une conique surun plan finiΠ. Dans le cas d’une distance focale constanteinconnue, nous affirmons qu’une condition nécessaire pourqu’une séquence de mouvements soit critique relativementàΦ est que les centres des caméras soient :– (P1) à deux positions différentes, ou– (P2) à trois/quatre positions différentes, coïncidant avec

les sommets d’un triangle rectangle/d’un rectangle.Nous prouvons maintenant cette proposition. Commedans [8, §8.3], nous choisissons un repère euclidien danslequelΠ, plan de support deΦ, a pour équationz = 0 etQ∗Φ = diag(d1, d2, 0, d3), avecd1 ≥ d2 et d1, d2, d3 > 0.Ainsi, Q∗Φ se projette en

φi∗ ∼ PiQ∗

ΦPi⊤ = R

i⊤Φ∗i∞R

i, (4)

oùΦ∗i∞ = diag(d1, d2, 0) + d3t

iti⊤. (5)

Page 4: Autocalibrage multi-vues d’une distance focale et …Alain.Crouzil/bocquillon/RESSOURCES/... · 2007-07-04 · On Constant Focal Length Self-Calibration From Multiple Views and

MOUVEMENTS CRITIQUES POUR UNE DISTANCE FOCALE CONSTANTE INCONNUEAMBIGUÏTÉS

SA INTR.

Toutes les caméras ont des axes parallèles. ∞Quatre caméras, avec des centres définissant un rectangle ; les axes optiques sont dans le plandu rectangle et pour chaque paire de caméras adjacentes, lesaxes sont symétriques par rapportà l’axe de symétrie du rectangle séparant les deux centres.

2

Trois caméras, prises parmi les quatre du cas 2 (définissant ainsi un triangle rectangle). 2Deux caméras, prises dans les sommets adjacents du cas 2 (lesaxes optiques concourent en unpoint fini, avec les centres équidistants de ce point).

∞ ∞

Deux caméras ayant des axes coïncidant. 1 ∞

TAB . 1 – Liste des mouvements critiques pour le cas distance focale constante inconnue. Le nombre d’ambiguités (nombrede « fausses solutions ») est donné pour la structure affine (SA) et les paramètres intrinsèques (INTR.).

À noter queΦi∞

est la conique obtenue par intersection duplan à l’infini Π∞ avec leième cône de projection deΦ,dont le sommet est le centre de la camérati.Supposons que la positionti soit critique, c.-à-d. quel’équation (4) soit vérifiée avec (H1) et (H2) satisfaites. Enutilisant la décomposition spectrale deΦ∗i

∞, on déduit de

(H1) que deux des valeurs propresλi1, λ

i2, λ

i3 sont égales,

et de (H2),λi1λ

i2/(λi

3)2 = κ2 pour un certainκ > 0.

Dans [8, 18], en utilisant seulement la contrainte algébriqueissue de (H1), les auteurs obtiennent, comme lieuL(H1)

des positions critiques, l’union de deux coniques centralesréelles, à savoir une ellipse dans le planyz et une hyperboledans le planxz.Considérons le planyz. L’ellipse obtenue par (H1) a pourmatriceL1, cf. (6) ; elle est centrée à l’origineO et a commeaxes de symétrie les axesOy et Oz. Imposons seulement(H2) : nous pouvons aisément établir que le lieuL(H2) estune conique dégénérée, de matriceL2, cf. (7), constituée dedeux droites parallèles symétriques par rapport à l’axeOz :

L1 = diag (d1d3, (d1 − d2)d3, (d2 − d1)d1) , (6)

L2 = diag(

0, d2d3,−d21κ

2)

. (7)

Deux coniques ont quatre points en commun ; nous en dé-duisons queL1 et L2 s’intersectent aux quatre sommetsd’un rectangle, dont les coordonnées homogènes sont :

[±√

(d1 − d2)(d2 − d1κ2), ±d1κ,√

d2d3]⊤. (8)

Puisqued1 ≥ d2 par hypothèse, ces sommets ne sont réelsqu’à condition qued1 ≥ d2 ≥ d1κ

2.Dans le planxz, des résultats similaires peuvent être éta-blis, sauf que les quatre sommets obtenus sont réels àcondition qued1κ

2 ≥ d1 ≥ d2. Les deux inégalités men-tionnées ci-dessus ne pouvant être vérifiées simultanémentpour une abscisse non nulle, il y a donc au plus quatre po-sitions (réelles) qui peuvent être critiques. Un premier casparticulier (C1) est à considérer sid1 = d2, c.-à-d. siΦ estun cercle [18]. Dans ce cas, dans (6),L1 est réduite au seulaxeOz « répété », tandis que, dans (7),L2 est inchangée :leur intersection est composée de deux points distincts surOz, symétriques par rapport àΠ. Un second cas (C2) estsi d2/d1 = κ2, pour lequel (8) se réduit aussi aux deux

mêmes points. Des résultats similaires sont obtenus dans leplanxz pour exactement lesmêmesconditions.

Orientations critiques des caméras. Pour chacune despositions critiques (P1) et (P2) données précédemment,nous déterminons les orientations critiques, c.-à-d. desconditions suffisantes pour que les mouvements soient cri-tiques. Nous affirmons que, à de telles positions de caméra,les orientations critiques sont les mêmes que la distance fo-cale soit variable ou non.Nous démontrons cette proposition de la manière suivante.Dans [8, 18], seules les directionsvi = Ri(0, 0, 1)⊤ desaxes optiques sont considérées. En effet, si une orientationest critique, alors elle l’est aussi pour toute rotation autourde l’axe optique ou tout changement de sens. L’étude desdirections critiques donne lieu à deux cas, selon queΦ soitun cercle, ce qui correspond au cas (C1) énoncé ci-dessus,ou une ellipse. SiΦ est un cercle, alorsvi doit être soit (i)orthogonale au plan de supportΠ pour toutes lesn camé-ras ou (ii ) orthogonale pour au moins(n − 2) caméras etarbitraire pour (au plus deux) autres. La configuration (ii )se produit quandΦ∗i

∞ ∼ I, d’où l’on déduit que (H2) estsatisfaite. SiΦ est une ellipse, alors lesn axes optiquesdoivent être tangents aux positions deL(H1). Ainsi, le faitque ces directions soient ainsi déterminées de façon uniqueou dans une configuration telle que (H2) soit satisfaite ter-mine notre démonstration.Nous pouvons ainsi bénéficier des résultats de [8, 18] etles adapter. Étant données les positions critiques (P1), lesorientations critiques sont (O1a) soit arbitraires ou (O1b)telles que les axes optiques coïncident. Étant données (P2),elles sont (O2) telles que les axes optiques de deux camé-ras, « situées » à des sommets adjacents, soient symétriquespar rapport à un axe de symétrie du rectangle mais non pa-rallèles, les quatre axes ne pouvant être concourants en unseul point. L’orientation critique (O1a) concerne seulementle cas (C2), ce qui implique une criticité uniquement pourla structure affine.Jusqu’à présent, seules des coniques sur des plans finis ontété considérées. Pour des coniques surΠ∞, on peut mon-trer facilement que la criticité est indépendante des posi-tions des caméras [8, 18]. De plus, sous l’hypothèse (H1),un mouvement est critique pour les paramètres intrinsèques

Page 5: Autocalibrage multi-vues d’une distance focale et …Alain.Crouzil/bocquillon/RESSOURCES/... · 2007-07-04 · On Constant Focal Length Self-Calibration From Multiple Views and

mais ne l’est pas pour la structure affine si et seulement siles axes optiques sont parallèles. Bien sûr cela est égale-ment vérifié sous (H2).

Description de tous les mouvements critiques. Lesmouvements critiques, dans le cas d’une distance focaleconstante inconnue, sont énumérés dans le tableau 1. Toutd’abord, notons que l’ensemble des singularités lié à ce casest bien inclus dans celui lié au cas d’une distance focalevariable inconnue. Ensuite, sauf pour des mouvements detype « translation pure », les seuls mouvements qui sontproblématiques en pratique concernentp = 2 positions dif-férentes. En effet, c’est seulement dans ces cas-là que l’onobtient une infinité de solutions. Pour2 < p ≤ 4 posi-tions différentes, il semble peu problable que les caméraspuissent être à de telles positions critiques. Ceci est rassu-rant quant à notre motivation de construire un algorithmed’autocalibrage avec le moins de singularités possibles.Nous calculons maintenant le nombre de « fausses solu-tions ». En se référant au tableau 1 :

1. Axes optiques parallèles. Il existe une infinité defausses coniques qui sont nécessairement surΠ∞ etcorrespondent aux coniques du faisceauΩ∞+γvv⊤,où v est la direction (fixée) de l’axe optique etγ unparamètre réel non nul. Ainsi, toute valeur est admis-sible pour la distance focale.

2. Positions coïncidant avecp sommets adjacents2 d’unrectangle, et axes optiquesorientés selon(O2). À no-ter que sip < 4, on complète par des caméras « vir-tuelles » pour se ramener au cas d’un rectangle.

p > 2 : il y a une double fausse solution, carΠ peutcouper le rectangle selon un de ses deux axes desymétrie (sip = 3, il s’agit d’un triangle rec-tangle, ce qui détermine le sommet manquant).

p = 2 : il existe un faisceau de plans de support d’unrectangle « virtuel » à partir des deux sommetsdonnés, son axe passant par ceux-ci. Il y a doncune infinité de fausses solutions.

3. Deux positions et des axes coïncidants. Il y a unefausse solution pour la structure affine carΠ peut êtrele plan coupant orthogonalement, en son milieu, lesegment reliant les deux positions. Il y a une infinitéde fausses solutions pour la distance focale, car on setrouve aussi dans le cas de l’item 1.

4. Deux positions et des axes arbitraires. Il y a unefausse solution pour la structure affine3, qui est cellede l’item 3.

4 Une solution garantieNous décrivons comment l’optimisation globale par ana-lyse d’intervalles (AI) trouve l’optimum d’une fonction

2Si p = 2 sommets ne sont pas adjacents, les axes optiques des camé-ras sont parallèles, et on se ramène au cas de l’item 1.

3Ceci est conforme avec le fait que le problème de l’estimation dumouvement entre deux caméras calibrées a une double solution théo-rique [6].

objectif non linéaire survenant dans des problèmes de vi-sion par ordinateur. Toutefois, nous ne passons pas en re-vue les bases qui peuvent être trouvées dans [4]. L’AI estune arithmétique d’intervalle du typex = [x, x], défini pardeux bornes réelles. Un intérêt de l’AI est sa capacité àborner l’image d’une fonction. Une fonction d’inclusionf d’une fonctionf sur un intervalle à plusieurs dimen-sionsX = ([x1, x1], ..., [xn, xn]), appelé une boîte, estun intervallef = [f, f ] contenant l’image def sur X :f (X) ⊆ f (X). Par « bonnes » fonctions d’inclusion, nousentendons celles qui possèdent des bornes étroites autourde l’image def .L’optimisation globale par AI est une méthode d’optimisa-tion déterministe et garantie : à partir d’une fonction ob-jectif générale (non linéaire, non convexe)f à minimiseret à partir d’une boîte initialeX0, elle retourne une boîtequi encadre le minimum global def , si celui-ci existe. Laméthode consiste en :(i) un algorithme de type «Branchand Bound» qui subdiviseX0 en sous-boîtesXi ; (ii) unefonction d’inclusionf pour toutXi et (iii) plusieurs testspour rejeterXi si elle ne contient pas le minimum global.Prendre en compte des contraintes dans l’espace des para-mètres est possible. Un examen exhaustif de tout l’espacedes solutions est un problème NP-complet. C’est pourquoide bonnes fonctions d’inclusion, permettant de rejeter desboîtes dès que possible dans le processus d’optimisation,sont nécessaires pour atteindre des temps de calcul accep-tables. Ils peuvent en effet varier de quelques secondes àplusieurs jours selonf .Trouver de bonnes fonctions d’inclusion est un problèmedélicat. Les difficultés proviennent des propriétés de l’AItelles que :(i) la sous-distributivité : si x,y, z sont troisintervalles, alorsx × (y + z) ⊆ x × y + x × z ; (ii) ladépendance des variables :x − x 6= 0. Si chaque variablen’apparaît qu’une seule fois dans une fonction d’inclusion,alors les bornes les plus étroites peuvent être facilementformulées. Malheureusement, ce cas est peu fréquent dansdes problèmes réels.(iii) l’effet de « wrapping » :une boîteest toujours transformée en une boîte, introduisant ainsi dupessimisme sur les bornes.Un choix possible de fonction d’inclusion pour une fonc-tion rationnellef est l’extension naturelle def . Elle estobtenue en remplaçant les variables réelles par des inter-valles dans l’expression def . Il est connu que cette solu-tion donne des bornes pessimistes. Une meilleure solutionconsiste à réécrire cette extension naturelle en factorisantles variables et en évitant les répétitions pour améliorer lesbornes.Le temps de calcul peut être réduit grâce à plusieurs tech-niques. Il est par exemple possible de réduire la taille dela boîte initiale en propageant des contraintes, de chan-ger l’échelle des inconnues ou d’utiliser des dérivées ana-lytiques de la fonction objectif. Deux paquetages connussont disponibles gratuitement : GlobSol4 et ALIAS5. Glob-

4http ://interval.louisiana.edu/GlobSol

5http ://www-sop.inria.fr/coprin/logiciels/ALIAS/ALIAS-C++

Page 6: Autocalibrage multi-vues d’une distance focale et …Alain.Crouzil/bocquillon/RESSOURCES/... · 2007-07-04 · On Constant Focal Length Self-Calibration From Multiple Views and

Sol a seulement besoin d’une extension naturelle « bien ré-écrite » et calcule automatiquement les dérivées tandis queALIAS nécessite des bornes analytiques pour la fonction etéventuellement ses dérivées.L’utilisation de l’optimisation globale par AI en vision parordinateur est quelque peu anecdotique. Le problème del’autocalibrage (cinq inconnues), fondé sur les équationsdeKruppa, a été traité dans [3] en 2004. Des temps de calculde plus d’une heure pour quelques images sont mentionnés.Dans [1], une solution garantie pour le problème de l’auto-calibrage plan, en utilisant un modèle de caméra simplifié(trois inconnues), est obtenue en moins d’une minute.La fonction objectif que nous utilisons dans ce travail estla somme des carrés des résidus correspondant aux équa-tions (1). Quatre inconnues sont considérées, la distancefocale et le plan à l’infini. La boîte initiale est fixée à unlarge domaine (cf. section 5). Notons que nous pourrionsréduire cette boîte initiale en propageant des contraintesdechiralité [6, chap. 21]. Comme fonction d’inclusion, nousavons utilisé l’extension naturelle des équations et nousavons appliqué des factorisations automatiques avec le lo-giciel Maple. L’expérience a montré que la factorisationdoit être faite prioritairement par rapport à la distance fo-cale, puis par rapport aux autres inconnues. Par exemple,l’expression factorisée du résiduα2ω

∗j33 − ω

∗j22 est :

α2(α2(−(Pj

32)2 + p1(−(Pj

34)2p1 + 2Pj

31P

j

34)+

p2(−(Pj

34)2p2 + 2Pj

32P

j

34) − (Pj

31)2) + ((Pj

22)2+

p1((Pj

24)2p1 − 2Pj

21P

j

24) + p2((P

j

24)2p2 − 2Pj

22P

j

24)+

(Pj21

)2 − (Pj33

)2 + p3(−(Pj34

)2p3 + 2Pj33P

j34

)))+

(Pj23

)2 + p3((Pj24

)2p3 − 2Pj23P

j24

),

(9)

oùΠ∞ = (p1, p2, p3, 1). Afin de montrer le bénéfice de laréécriture, la figure 1 montre l’évaluation de deux fonctionsd’inclusion de ce résidu : la forme matricielleα2ω

∗j33−ω

∗j22

et l’expression (9). Dans cette figure, les fonctions d’inclu-sion sont évaluées sur des boîtes qui encadrent exactementle vrai plan à l’infini et dont les intervalles pour la distancefocale ont une largeur de100 pixels. Les bornes obtenues àpartir des fonctions d’inclusion factorisées sont significati-vement plus étroites que les bornes sans réécriture. Cet ef-fet est amplifié quand nous considérons le carré des résiduset quand les paramètres du plan à l’infini sont aussi consi-dérés comme variables dans la boîte. Notre implémentationutilise le paquetage GlobSol avec calcul automatique desdérivées.

5 Résultats5.1 Données de synthèseLe dispositif expérimental est composé de100 points dis-tribués aléatoirement dans une sphère de rayon unité. Lespoints 3D sont vus dansn images de256 pixels de côté. Lescaméras ont une distance focale fixe égale à1000 pixels,des pixels carrés et le point principal situé au centre del’image. Elles sont placées aléatoirement à une distancemoyenne de2.5 ± 0.25 unités de l’origine de la scène.Chaque caméra observe un point dans une sphère de rayon0.1 unité centrée à l’origine. Un bruit gaussien est ajouté

0 500 1000 1500 2000−5

0

5

10

15

20

distance focale (pixels)

rési

du

FIG. 1 – Exemple de bornes de deux fonctions d’inclusiond’un résidu utilisé dans la fonction objectif, sans factorisa-tion (boîtes vides) et avec factorisation (boîtes hachurées).

0 1 2 30

0.5

1

1.5

2

2.5

bruit (pixels)

erre

ur 3

D (

%)

GNLinLinQLin

0 0.5 1 1.5 2 2.5 3 3.50

20

40

60

80

bruit (pixels)

tem

ps d

e ca

lcul

(s)

GNLin

(a) (b)

0 5 10 15 200

0.5

1

1.5

2

nombre d’images

erre

ur 3

D (

%)

GNLinLinQLin

0 5 10 15 20 250

20

40

60

80

100

nombre d’images

tem

ps d

e ca

lcul

(s)

GNLin

(c) (d)

FIG. 2 – Erreur 3D (a) et temps de calcul (moyenne etécart-type) (b) pour un niveau de bruit variable et10images. (c) et (d) : mêmes critères pour un nombre variabled’images et un niveau de bruit égal à1.

aux projections 2D des points 3D. Un ajustement de fais-ceaux projectif est utilisé pour calculer des « caméras brui-tées ». Les caméras sont normalisées de telle sorte que ladistance focale soit de l’ordre de un. Nous avons com-paré la méthode linéaire (Lin), la méthode quasi-linéaire(QLin), décrites dans la section 2, et notre approche, la mé-thode non linéaire garantie (GNLin). La boîte de rechercheinitiale est fixée à[102, 104] pour la distance focale et à[−109, 109]3 pour le plan à l’infini. Nous mesurons l’er-reur moyenne relative sur la distance focale et l’erreur 3Dmoyenne. L’erreur 3D moyenne est la distance moyenneentre les points 3D théoriques et les points 3D reconstruits,obtenus à partir de la rectification euclidienne et d’un ali-gnement. Cette erreur est exprimée en pourcentage de lataille de la scène. Tous les résultats sont des moyennes sur50 tirages.Dans la première expérience,n est fixé à10 images et le

Page 7: Autocalibrage multi-vues d’une distance focale et …Alain.Crouzil/bocquillon/RESSOURCES/... · 2007-07-04 · On Constant Focal Length Self-Calibration From Multiple Views and

0 1 2 3 4 50

20

40

60

80

rayon de la sphère (%)

erre

ur 3

D (

%)

GNLinLinQLin

0 1 2 3 4 50

50

100

150

rayon de la sphère (%)

écar

t−ty

pe d

e l’e

rreu

r 3D

(%

)

GNLinLinQLin

(a) (b)

0 1 2 3 4 50

20

40

60

80

100

rayon de la sphère (%)

erre

ur s

ur α

(%

)

GNLinLinQLin

0 1 2 3 4 50

50

100

150

200

rayon de la sphère (%)

écar

t−ty

pe d

e l’e

rreu

r su

r α

(%)

GNLinLinQLin

(c) (d)

FIG. 3 – (a) et (b) : erreur 3D et écart-type pour un mouve-ment proche de la singularité « caméras fixant un point ».(c) et (d) : erreur sur la distance focaleα et écart-type pourun mouvement proche de la singularité « axes optiques ali-gnés ». Toutes les distances sont exprimées en pourcentagede la taille de la scène.

niveau de bruit varie de0 à 3 pixels. Comme prévu, l’er-reur 3D (figure 2.a) est plus petite pour GNLin que pourLin et QLin. Pour toutes les méthodes, l’erreur augmentelinéairement avec le niveau de bruit. Pour des raisons declarté, les écarts-types ne sont pas affichés sur les figures.Par exemple, les écarts-types de l’erreur sur la distance fo-cale, pour un niveau de bruit de3 pixels, sont5% pour Lin,2.5% pour QLin et0.3% pour GNLin.Dans la deuxième expérience, le niveau de bruit est fixé à1 pixel etn varie de4 à 20 images. Comme dans l’expé-rience précédente, GNLin donne l’erreur la plus petite (fi-gure 2.c). Nous voyons aussi que quelques images sont suf-fisantes pour obtenir un bon résultat. Bien que le temps decalcul (figures 2.b et 2.d) nécessaire pour trouver le mini-mum global soit significativement plus grand que le tempsdes autres méthodes (moins d’une seconde), il reste raison-nable. Il augmente linéairement avec le nombre d’imagestandis qu’il est peu dépendant du bruit.Afin de voir ce qui arrive près des cas dégénérés artificielsexistants dans Lin et GLin, nous avons testé les mouve-ments suivants.Caméras fixant un point. Les caméras sont placéescomme décrit précédemment sauf que tous les centres op-tiques sont dans un plan. Chaque caméra fixe un point aléa-toire dans une sphère de rayonr centré à l’origine. Lasingularité intervient pourr = 0. Les figures 3.a et 3.bmontrent que l’erreur 3D est importante pourr < 2% de lataille de la scène. Notre algorithme n’est pas affecté par lasingularité, trouvant la solution dans tous les cas.Axes optiques alignés.Tous les centres optiques sont ali-gnés mais non confondus. Toutes les caméras fixent l’ori-gine, sauf une dont l’orientation est arbitraire. Afin de

s’écarter de cette singularité, les caméras fixent un pointaléatoire situé dans une sphère de rayonr1 et les centresoptiques sont situés dans une sphère de rayonr2 centrée àla position critique. Par manque de place, nous montronsles résultats seulement pourr1 = r2 = r. L’erreur relativemoyenne sur la distance focale et l’écart-type sont affichésdans les figures 3.c et 3.d. Les erreurs pour Lin et QLinsont assez importantes en dessous de5% de la taille de lascène. QLin est très instable. GNLin n’est pas affectée parla singularité.

5.2 Données réelles

Nous avons pris4 images, présentées sur la figure 4, ense déplaçant autour d’un bâtiment, tel que le mouvementsoit proche du mouvement « caméras fixant un point »,critique pour Lin et QLin. Nous avons détecté et appariésemi-automatiquement63 points d’intérêt répartis dans lesdeux plans dominants de la scène. Pour obtenir les camé-ras projectives, nous avons utilisé la factorisation projec-tive de Sturm-Triggs [20], suivie d’un ajustement de fais-ceaux projectif. Lin et QLin ont échoué, c.-à-d. qu’elles ontdonné des solutions incohérentes. GNLin a convergé en17secondes sur un ordinateur Core Duo1.7GHz et a trouvéune distance focale égale à3604 pixels. À partir de cettedistance focale et du plan à l’infini calculé, une rectifica-tion euclidienne a été effectuée sur les points 3D obtenus àpartir de la reconstruction projective. La figure 4.e montreune vue de dessus du nuage de points 3D. Le rapport entreles longueurs des deux murs a été évalué à1.36 à partirde mesures réelles, tandis que notre reconstruction donneun rapport de1.35. De la même manière, l’angle entre lesdeux plans reconstruits vaut91.7 degrés. Nous avons es-sayé d’ajouter d’autres images à la séquence afin de sortirde la singularité : Lin et QLin sont restées très instables,échouant souvent ou donnant de mauvaises reconstructionsen termes de rapport de longueurs ou d’angle (voir figure4.e). Par conséquent, il est difficile d’utiliser ces méthodesen pratique pour ces types de mouvement. Au contraire,GNLin a toujours donné une solution acceptable.

6 Conclusion

Nous avons considéré deux problèmes associés à la re-construction métrique, dans le cas d’une caméra aux pa-ramètres internes connus, exceptée la distance focale sup-posée constante. Premièrement, nous avons décrit les sé-quences de mouvements critiques pour ce cas. Deuxiè-mement, nous avons proposé un algorithme d’autocali-brage qui n’introduit pas de singularité artificielle. Ce der-nier est fondé sur l’optimisation globale par intervalleset il est capable de trouver la solution en quelques se-condes. Nous avons également remarqué que les méthodeslinéaires et quasi-linéaires proposés dans la littératuresonttrès instables, même loin des cas singuliers. Ces résultatsmontrent que de telles méthodes sont parfois difficiles àutiliser en pratique.

Page 8: Autocalibrage multi-vues d’une distance focale et …Alain.Crouzil/bocquillon/RESSOURCES/... · 2007-07-04 · On Constant Focal Length Self-Calibration From Multiple Views and

(a) (b) (c)

(d) (e) (f)

FIG. 4 – (a) à (d) : quatre images d’un bâtiment avec les points d’intérêt mis en correspondance. (e) : un exemple de mauvaisereconstruction, obtenue avec Lin. (f) : une vue de dessus des63 points 3D reconstruits avec GNLin.

Remerciements. Les auteurs souhaitent remercier PeterSturm pour des discussions enrichissantes.

Références[1] B. BOCQUILLON, P. GURDJOSet A. CROUZIL. « Towards

a guaranteed solution to plane-based self-calibration ».DansACCV, volume 1, pages 11–20, Hyderabad, Inde, jan-vier 2006.

[2] O. FAUGERAS, Q.-T. LUONG et S. J. MAYBANK . « CameraSelf-Calibration : Theory and Experiments ». DansECCV,pages 321–334, Santa Margherita Ligure, Italie, mai 1992.

[3] A. FUSIELLO, A. BENEDETTI, M. FARENZENA etA. BUSTI. « Globally Convergent Autocalibration UsingInterval Analysis ». PAMI, 26(12) :1633–1638, décembre2004.

[4] E. R. HANSEN et G. W. WALSTER. « Global Optimiza-tion Using Interval Analysis». Seconde éd. Marcel Dekker,2003.

[5] R. HARTLEY, E. HAYMAN , L. DE AGAPITO et I. REID.« Camera calibration and the search for infinity ». DansICCV, volume 1, pages 510–517, Kerkyra, Grèce, sep-tembre 1999.

[6] R. HARTLEY et A. ZISSERMAN. « Multiple View Geome-try ». Seconde éd. Cambridge University Press, 2003.

[7] A. H EYDEN et K. ÅSTRÖM. « Euclidean Reconstructionfrom Constant Intrinsic Parameters ». DansICPR, vo-lume 1, pages 339–343, Vienne, Autriche, août 1996.

[8] F. KAHL . « Geometry and Critical Configurations of Mul-tiple Views ». Thèse de doctorat, Lund Institute of Techno-logy, Suède, 2001.

[9] F. KAHL et B. TRIGGS. « Critical Motions in EuclideanStructure from Motion ». DansCVPR, volume 2, pages2366–2372, Fort Collins, Colorado, États-Unis, juin 1999.

[10] Q.-T. LUONG et O. FAUGERAS. « Self-calibration of a mo-ving camera from point correspondences and fundamentalmatrices ».IJCV, 22(3) :261–289, mars 1997.

[11] M. POLLEFEYS, R. KOCH et L. VAN GOOL. « Self-Calibration and Metric Reconstruction in spite of Varyingand Unknown Internal Camera Parameters ». DansICCV,pages 90–95, Bombay, Inde, janvier 1998.

[12] M. POLLEFEYS et L. VAN GOOL. « Stratified Self-Calibration with the Modulus Constraint ». PAMI,21(8) :707–724, janvier 1999.

[13] M. POLLEFEYS et L. VAN GOOL. « Some issues on self-calibration and critical motion sequences ». DansACCV,pages 893–898, Taipei, Taiwan, janvier 2000.

[14] J. SEMPLE et G. KNEEBONE. « Algebraic Projective Geo-metry». Oxford Classic Series, Clarendon Press, 1952, re-printed, 1998.

[15] P. STURM. « Critical Motion Sequences for Monocular Self-Calibration and Uncalibrated Euclidean Reconstruction ».DansCVPR, pages 1100–1105, San Juan, Communauté dePorto Rico, juin 1997.

[16] P. STURM. « Vision 3D non calibrée : contributions à lareconstruction projective et étude des mouvements critiquespour l’auto-calibrage ». Thèse de doctorat, Institut NationalPolytechnique de Grenoble, France, 1997.

[17] P. STURM. « A Case Against Kruppa’s Equations for Ca-mera Self-Calibration ».PAMI, 22(10) :1199–1204, sep-tembre 2000.

[18] P. STURM. « Critical Motion Sequences for the Self-Calibration of Cameras and Stereo Systems with VariableFocal Length ».IVC, 20(5-6) :415–426, mars 2002.

[19] P. STURM, Z. CHENG, P. C. Y. CHEN et A. N. POO. « FocalLength Calibration from Two Views : Method and Analysisof Singular Cases ».CVIU, 99(1) :58–95, juillet 2005.

[20] B. TRIGGS. « Factorization Methods for Projective Struc-ture and Motion ». DansCVPR, pages 845–851, San Fran-cisco, Californie, États-Unis, juin 1996.

[21] B. TRIGGS. « Autocalibration and the absolute quadric ».Dans CVPR, pages 609–614, San Juan, Communauté dePorto Rico, juin 1997.