• Aucun résultat trouvé

3.2 Marqueurs artificiels

4.1.3 Calibrage d’un capteur à lumière structurée

Dans cette section, nous présentons une nouvelle méthode de calibrage géométrique pour un système de reconstruction 3D à lumière structurée combinant une caméra et un projecteur. Cette méthode a été présentée à la conférence 3DPVT [89]. Comme les systèmes à lumière structurée (SLS) produisent une reconstruction dense, ils sont fréquemment utilisés pour capturer la surface d’objets statiques ou en mouvement [90,

91, 92, 93, 94]. Un capteur SLS est typiquement composé d’un projecteur à lumière blanche et d’une ou plusieurs caméras. L’ensemble doit être calibré géométriquement pour produire des mesures 3D précises par triangulation. Bien que le projecteur puisse être calibré comme une caméra, il a la particularité de ne pas pouvoir observer la scène. Les correspondances entre le projecteur et la scène devront donc être acquises indirectement par la caméra.

Récemment, plusieurs méthodes de calibrage de SLS ont été publiées [95, 96, 97] ; elles diffèrent principalement par le type de marqueurs utilisés, la procédure pour ob- tenir les données du projecteur et le modèle géométrique du projecteur. Certaines de ces méthodes utilisent des marqueurs circulaires [97, 98]. Cependant, aucune de ces méthodes n’exploite l’homographie appliquée au contour de l’ellipse pour prévenir le biais projectif sur le centre discuté à la section 2.1.2. Nous proposons donc une mé- thode de calibrage rigoureuse à partir de marqueurs circulaires. Nous avons démontré l’avantage de ce type de marqueur dans les sections précédentes quant à la précision de la localisation dans l’image. À partir du projecteur, des cercles sont projetés entre les marqueurs imprimés sur la cible (voir Fig.4.18), puis observés avec la caméra. Il est ensuite possible d’exploiter l’homographie entre le projecteur et la caméra pour déter-

miner les correspondances entre le projecteur et la cible. Le projecteur peut alors être calibré comme une caméra faisant partie d’un montage multi-caméra.

Pendant le calibrage, il est essentiel d’éviter toute interférence entre les marqueurs projetés et ceux imprimés. Une telle interférence perturbe la localisation du marqueur dans l’image de la caméra. Pour cette raison, la procédure adapte le patron projeté de sorte qu’il s’imbrique de façon transparente sur les marqueurs imprimés de la cible. Les marqueurs ainsi projetés sont distribués uniformément sur la cible, et donc dans le volume de calibrage. De plus, le système adapte le patron projeté en projetant des ellipses qui formeront des cercles sur le plan de la cible (voir Fig.4.18). En procédant ainsi, nous évitons la présence d’ellipses ayant une excentricité trop grande dans l’image lorsque la cible n’est pas observée de face. La prochaine section présente une revue des méthodes de calibrage existantes ainsi que leurs limites. Nous présenterons ensuite la nouvelle méthode de calibrage basée sur les marqueurs circulaires que nous avons élaborée.

Revue de littérature

Une méthode standard pour reconstruire un objet avec la lumière structurée consiste à projeter des bandes blanches et noires sur l’objet. La frontière entre les côtés blancs et noirs d’une bande est en fait un plan de lumière qui forme une arête dans l’image de la caméra. On peut ensuite calculer l’intersection des rayons projecteurs associés aux arêtes des bandes déformées de l’image de la caméra avec les plans projetés par le projecteur. Dans [95], Wang propose d’estimer l’équation des plans associés à chaque bande pouvant être projetée avec le projecteur, dans le repère caméra. Pour ce faire, la caméra est d’abord calibrée à partir d’une cible composée de deux plans perpendicu- laires. Une fois la caméra calibrée, le montage est gardé fixe et les bandes sont projetées individuellement sur la cible de sorte qu’elles couvrent les deux plans. Il peut alors cal- culer l’intersection des rayons projecteurs associés aux bandes observées par la caméra avec les plans de la cible. Les plans de la cible sont connus grâce au précalibrage de la caméra. Les points 3D alors obtenus permettent de calculer l’équation du plan associé à la bande. Cette méthode intuitive devient inadéquate et surparamétrée lorsque les plans associés à chaque colonne et ligne de l’image du projecteur sont estimés. De plus, la distorsion des lentilles du projecteur n’est pas prise en compte.

Pour éviter de considérer chaque bande individuellement, dans [93,90] il est proposé d’estimer une transformation globale représentée par une matrice de projection 2x4 décrivant la relation entre la cible 3D et les coordonnées 1D des bandes. Il s’agit donc d’un modèle de caméra 1D regroupant tous les plans associés aux bandes en une seule représentation. La procédure de calibrage est semblable à celle de Wang [95] ; la caméra est d’abord calibrée à partir d’une cible 3D composée de deux plans perpendiculaires. Les bandes sont ensuite projetées sur la cible et localisées dans l’image de la caméra. Les coordonnées 3D des points associés aux bandes sont calculées pour obtenir les

correspondances entre les coordonnées 1D de l’image du projecteur 3D sur la cible. Ces correspondances fournissent suffisamment de contraintes pour estimer les paramètres de la matrice de projection 1D. Il est intéressant de noter que dans [90], Koninckx ne considère pas les sections des bandes superposées au patron imprimé de la cible.

Dans [96], Sadlo projette un patron en forme de damier sur la cible au lieu de bandes. La localisation de ce type de marqueur est plus précise que celle des arêtes des bandes 1D. En procédant comme dans les méthodes précédentes, il détermine les coordonnées 3D du patron projeté sur la cible, ce qui lui permet de calibrer le projecteur comme une caméra 2D standard. Toutefois, le design de la cible utilisée est particulier : la cible consiste en un seul plan divisé en deux sections adjacentes, un patron de damier est im- primé sur la première section alors que la seconde section demeure entièrement blanche. En projetant le patron sur la section blanche, il évite les interférences entre le patron projeté et imprimé. La caméra doit être en mesure d’observer simultanément les deux parties de la cible. Comme le calibrage est réalisé à partir d’une cible plane, il acquiert deux vues ou plus de la cible et du patron projeté pour ensuite calibrer le projecteur comme une caméra 2D avec une méthode de calibrage mono-caméra standard [18]. Cette méthode démontre un fait important, le patron projeté doit être localisé précisé- ment et ne pas interférer avec le patron imprimé. Toutefois, une erreur dans la position de la cible par rapport à la caméra sera amplifiée et propagée dans les coordonnées 3D du patron projeté. L’erreur est amplifiée due à la distance avec le patron imprimé. Ceci motive donc la projection du patron directement sur le plan contenant le patron imprimé en l’adaptant pour éviter toute interférence avec les marqueurs imprimés.

Les méthodes proposées dans [98, 97] tentent d’éliminer ce dernier problème en ex- ploitant les marqueurs imprimés pour calibrer simultanément la caméra et le projecteur. Ils utilisent des marqueurs circulaires blancs imprimés sur une cible plane noire. Après avoir projeté une image blanche sur la cible, ils extraient les ellipses de l’image de la caméra. Ensuite, une technique de décalage de phase (phase-shift) permet de trouver à quels points de l’image du projecteur correspondent les centres des ellipses observés par la caméra. Les centres des ellipses sont interprétés comme correspondant au centre des marqueurs circulaires de la cible. Ceci permet de calibrer le projecteur comme une caméra 2D à partir des correspondances entre l’image du projecteur et le centre des marqueurs circulaires de la cible. Ils ignorent donc le biais introduit par la projection entre le centre des ellipses et le centre des marqueurs circulaires correspondants. Ce biais peut facilement être compensé dans le cas du calibrage de la caméra en projetant le cercle au lieu de son centre. Toutefois, cette méthode ne s’applique pas au cas du projecteur. Pour éviter ce problème, on pourrait remplacer les marqueurs circulaires par un damier, mais les méthodes de décalage de phase sont imprécises près des arêtes. Une alternative acceptable est de projeter un patron de damier qui sera intercalé entre les marqueurs du patron imprimé. On pourrait ensuite facilement calibrer le pro- jecteur en exploitant l’homographie entre la caméra et le projecteur. Dans ce contexte,

la projection de cercles apportera une plus grande précision. Dans les prochaines sec- tions, nous détaillerons la méthode que nous avons développé permettant de calibrer un SLS à partir de marqueurs circulaires sans introduire de biais. Cette méthode a été publié dans la revue [89].

Calibrage du SLS

Dans cette section nous décrivons comment adapter le modèle multi-caméra déve- loppé à la section 4.1.2 au calibrage d’un SLS. Comme dans les sections précédentes, un exposant ’c’ ou ’p’ permettra de distinguer un paramètre associé à la caméra ou au projecteur. Dans le même ordre d’idée, un indice ’c’, ’p’ ou ’w’ sera utilisé pour spécifier le référentiel, caméra, projecteur et "world", lorsque nécessaire.

Modèle caméra et projecteur

Les représentations internes de la caméra et du projecteur sont identiques. Chacun comporte deux facteurs d’échelle décrivant la conversion de millimètre à pixel, un point principal et quatre coefficients de distorsion (deux coefficients de distorsion radiale et deux coefficients de distorsion tangentielle).

Pendant le calibrage, le modèle de la caméra développé dans les sections précédentes (voir 4.1.1 et 4.1.2) sera utilisé pour projeter les ellipses Ew de la cible à l’image de la

caméra. De plus, il servira pour corriger la distorsion des ellipses images afin d’obtenir les coordonnées du centre corrigé de chaque ellipse D−(E

c, θ+c)uv. Ici, le vecteur θ+c

contient les paramètres intrinsèques de la caméra, incluant les termes de distorsion. La fonction de projection permet de prédire la position corrigée de l’ellipse dans l’image de la caméra Gc(Ew, θc, Θc)uv. Cette fonction projette l’ellipse dans l’image à l’aide

de l’homographie associée à la transformation projective réduite de l’Eq.4.4. L’homo- graphie transforme l’ellipse 3x3 selon la relation donnée par l’Eq.4.8. Elle dépend des paramètres intrinsèques et extrinsèques (Θc) de la caméra. Dans ces fonctions, le centre

de l’ellipse est extrait en multipliant l’inverse de l’ellipse E−1 par le vecteur [0 0 1]T.

Pour prédire la position des ellipses dans l’image du projecteur, les ellipses observées par la caméra sont projetées dans l’image du projecteur par une homographie, car la cible est plane. L’homographie est induite par le plan de la cible et est fonction des paramètres intrinsèques et extrinsèques de la caméra et du projecteur ainsi que de l’orientation du plan par rapport à la caméra. Elle est obtenue par la relation suivante [99] : Hcp= Kp  Rp c − tpc 1 dN T  (Kc)−1, (4.12)

où (N, d) sont les paramètres du plan de la cible exprimés dans le référentiel caméra. Ces paramètres sont obtenus à partir de la pose de la caméra par rapport à la cible (Rcw, tcw). La normale au plan est donnée par N = [r13c , r23c , rc33]T et la distance à l’origine

Figure 4.19 – Patron de la cible de calibrage. Les marqueurs virtuels, montrés en pointillés, ne sont pas visibles sur la cible et seront projetés par le projecteur.

par d = −[rc

31 r32c r33c ]tcw. Selon cette notation, un point 3D P appartenant au plan

respectera NTP + d = 0.

Pendant le calibrage, le modèle du projecteur sera exploité pour projeter les ellipses de l’image corrigée de la caméra vers l’image du projecteur. L’image du projecteur est initialement sans distorsion, la distorsion est ajoutée à l’image lorsque la lumière quitte le projecteur en passant par les lentilles. Ainsi, lorsqu’une ellipse est projetée par le projecteur et observée par la caméra, elle est affectée par la distorsion du projecteur puis par la distorsion de la caméra. Pour obtenir l’ellipse sans distorsion dans l’image du projecteur, nous devons donc d’abord corriger la distorsion de l’ellipse Ep

c en fonction de

la distorsion de la caméra (D−(Ep

c, θ+c)). La région comprenant le contour de l’ellipse est

ensuite projetée dans l’image du projecteur à l’aide de l’homographie caméra-projecteur, ici résumée par la fonction de projection Gp tel que Gp(D(Ep

c, θ+c), θ+c, Θc, θ+p, Θp).

Nous suivons la méthode présentée dans la section 4.1.1 pour transférer l’ellipse. Une fois que la région comprenant le contour de l’ellipse est transférée dans l’image du projecteur, la distorsion du contour est corrigée, l’ellipse est estimée à partir de la région corrigée et son centre est extrait. La fonction résumant l’ensemble de ces opérations est la suivante : D−(Gp(D(Ep

c, θ+c), θc, Θc, θp, Θp), θ+p)uv

Cible de calibrage avec marqueurs virtuels

La cible utilisée pour calibrer le SLS est la même que pour calibrer une caméra. Toutefois, une caractéristique notable est la présence de marqueurs virtuels intercalés entre les marqueurs imprimés, montrés en pointillés sur la Fig.4.19. Ces marqueurs font partie du modèle de la cible pour simplifier la création du patron à projeter ; ils ne sont pas visibles sur la cible. Comme on peut voir sur la Fig.4.18(b), ils seront instanciés par le projecteur pendant le calibrage.



 



Figure 4.20 – Acquisition des données (1/3) : a) Une image blanche est projetée sur la cible pour retrouver l’homographie entre la caméra et la cible Hwc. Les images de la

caméra et du projecteur sont à gauche, en haut et en bas respectivement. Une vue de la cible est montrée à droite. Le patron imprimé est montré en gris foncé.

Procédure de calibrage Acquisition des données

Le calibrage du SLS nécessite l’observation de la cible sous deux points de vue ou plus. Pour chaque image, deux séries d’ellipses correspondant aux marqueurs imprimés et virtuels sont extraites. Les ellipses correspondant aux marqueurs imprimés sont faci- lement extraites sous la projection d’une image blanche uniforme (voir Fig.4.20). Pour rendre les marqueurs virtuels visibles, nous synthétisons une image des marqueurs vir- tuels comme ils seraient vus par le projecteur pour ensuite la projeter. Ceci est possible en retrouvant une homographie approximative entre la cible et le projecteur. Dans ce contexte, une approximation de l’homographie est suffisante puisque l’objectif est d’évi- ter que le patron projeté interfère avec le patron imprimé. Les trois étapes nécessaires pour retrouver l’homographie entre le projecteur et la cible sont les suivantes.

La première étape consiste à retrouver l’homographie entre la caméra et la cible Hwc. Cette homographie est directement estimée à partir des centres des marqueurs

imprimés ac

w et leurs centres correspondants dans l’image de la caméra acc. À ce stade,

il n’est pas nécessaire de considérer le biais sur le centre de l’ellipse. Cependant, pour compenser la distorsion radiale de la caméra, nous estimons aussi le premier terme de distorsion radiale kc

1 exprimé par rapport au centre de l’image. L’homographie et le

terme de distorsion sont obtenus par une minimisation non-linéaire standard décrite dans la section 4.1.1.

Une fois que l’homographie Hwc a été obtenue, la seconde étape consiste à estimer

l’homographie entre le projecteur et la caméra Hcp. Ceci est fait en projetant une grille

régulière de disques noirs sur la cible, comme illustré à la Fig.4.21. Les marqueurs projetés sont identifiés dans l’image de la caméra en soustrayant la nouvelle image de l’image prise à l’étape précédente. Le centroïde des régions obtenues est calculé avant de corriger la distorsion radiale sur les coordonnées avec kc

1. Une estimation approximative

de l’homographie entre la caméra et le projecteur Hcp peut alors être calculée à partir



 





Figure 4.21 – Acquisition des données (2/3) : Une grille régulière de disques noirs est projetée sur la cible pour retrouver une approximation de l’homographie Hcp. (Voir

Fig.4.20 pour plus de détails)

Table 4.1 – Informations extraites pour chaque vue de la cible Description

Camera E

c

w Marqueurs imprimés sur la cible

Ec

c Ellipses correspondantes dans l’image de la caméra

Projecteur Ep

c Marqueurs virtuels dans l’image de la caméra

Ep

w Ellipses correspondantes sur la cible

Ep

p Ellipses correspondantes dans l’image du projecteur

l’image du projecteur. À ce point, la segmentation n’a pas à être parfaite pour toutes les ellipses. L’objectif est seulement d’arriver à projeter des cercles entre les marqueurs imprimés. L’homographie ne sera pas conservée. On peut simplifier le problème de correspondance en projetant les disques un à un.

Dans la troisième étape, l’homographie entre la cible et le projecteur Hwpest calculée

en combinant les homographies précédentes : Hwp= HcpHwc. Ceci permet de projeter

les marqueurs virtuels de la cible vers l’image du projecteur. Une image des ellipses est ensuite générée et projetée sur la cible (voir Fig.4.22) avant d’être capturée par la caméra. Les ellipses correspondant aux marqueurs virtuels sont extraites et mises en correspondance avec les ellipses du projecteur. Ces correspondances finales seront utilisées pour un calibrage précis du projecteur dans une optimisation globale. Toutefois, pour initialiser cette optimisation, le projecteur doit être pré-calibré et positionné dans le même référentiel que la caméra.

Afin d’obtenir un ensemble de correspondances entre l’image du projecteur et la cible, les ellipses associées aux marqueurs virtuels sur la cible sont retrouvées en proje- tant les ellipses correspondantes de la caméra sur la cible avec l’homographie Hcw. Les

ellipses virtuelles sont ainsi exprimées dans le même référentiel que la caméra. Après avoir répété ces trois étapes pour chaque vue de la cible, l’acquisition des images est complétée. Le tableau 4.1 résume les informations extraites pour chaque vue.





 





Figure 4.22 – Acquisition des données (3/3) : Les marqueurs virtuels sont transférés de la cible au projecteur à l’aide de l’homographie Hwp afin de générer une image des

marqueurs virtuels. La projection de cette image rendra les marqueurs virtuels visibles à la caméra. (voir Fig.4.20 pour plus de détails)

Initialisation

Afin d’initialiser l’optimisation des paramètres, la caméra et le projecteur sont cali- brés séparément en suivant la méthode de calibrage mono-caméra présentée à la section 4.1.1. La caméra est pré-calibrée à partir des correspondances entre les ellipses impri- mées sur la cible Ec

w et leurs correspondants dans l’image de la caméra E c

c. Quant au

projecteur, il est pré-calibré à partir des correspondances entre les marqueurs virtuels projetés sur la cible Ep

w et leurs correspondants sur l’image du projecteur E p

p. Habi-

tuellement, le point principal est initialement choisi comme le centre de l’image. Afin de correctement représenter la position du plan image du projecteur par rapport aux lentilles, il doit être déplacé vers le haut de l’image. En effet, comme le projecteur est généralement placé sur une table, ce dernier doit projeter vers le haut. Afin de dimi- nuer l’inclinaison à donner au projecteur, les concepteurs vont décaler la lentille vers le haut par rapport à la source de lumière. Le décalage des lentilles est généralement donné dans les spécifications du projecteur. Cette initialisation permet d’obtenir les paramètres intrinsèques de la caméra et du projecteur ainsi que leurs poses par rapport à la cible.

Optimisation

L’optimisation permet de calculer les paramètres du modèle du SLS ϕSLS = {θc, θp, Θp, Θc

1, . . . , Θ

qui minimise à la fois l’erreur de projection dans l’image de la caméra et du projecteur pour les O vues de la cible. L’erreur minimisée est résumée par la fonction objective

suivante : J(ϕSLS) = O X k          PM i k camera z }| { D−(Ecc(ik), θ+c)uv− Gc(Ecw(ik), θc, Θck)uvk2+ PN j k (E p p(jk))uv− D −(Gp (D−(Epc, θ+c), θ c , Θc, θp, Θp), θ+p)uv | {z } projecteur k2          (4.13) sur les M marqueurs imprimés et les N marqueurs virtuels de chaque image. Les para- mètres minimisant l’Eq.4.13sont obtenus par l’algorithme de minimisation non-linéaire Levenberg-Marquardt [86]. La pose du projecteur relative à la caméra est calculée à partir des paramètres initiaux selon :

" Rp c tpc 0 1 # = " Rp w tpw 0 1 # " Rc w tcw 0 1 #−1 .

Nous utilisons les paramètres extrinsèques de la première vue de la cible. Il est important de noter que sur l’ensemble des images, nous estimons une seule pose pour le projecteur. Ceci renforce la contrainte de rigidité du système où le projecteur est fixé rigidement à la caméra.