Vous êtes sur la page 1sur 14

Abonnez-vous à DeepL Pro pour traduire des fichiers plus volumineux.

Visitez www.DeepL.com/pro pour en savoir plus.

Étalonnage simple, précis et robuste des projecteurs et des


caméras

Daniel Moreno et Gabriel Taubin


School of Engineering
Brown University
Providence, RI, USA
Email : {daniel moreno,gabriel taubin}@brown.edu

Résumé - Les systèmes à lumière structurée sont des outils


simples et efficaces pour l'acquisition de modèles 3D.
Construits avec des composants disponibles sur le marché, un
projecteur de données et une caméra, ils sont faciles à déployer
et leur précision est comparable à celle des scanners laser
coûteux. Mais une telle précision n'est possible que si la caméra
et le projecteur sont tous deux calibrés avec précision. Les
méthodes d'étalonnage robustes sont bien établies pour les
caméras, mais si les caméras et les projecteurs peuvent être
décrits par le même modèle mathématique, il n'est pas évident
d'adapter ces méthodes aux projecteurs. Par conséquent, de
nombreuses techniques d'étalonnage de projecteurs proposées
utilisent un modèle simplifié, négligeant la distorsion de
l'objectif, ce qui entraîne une perte de précision. Dans cet
article, nous présentons une nouvelle méthode pour estimer les
coordonnées d'image de points 3D dans le plan de l'image du
projecteur. La méthode repose sur une caméra non calibrée et
utilise des homographies locales pour atteindre une précision
inférieure au pixel. Par conséquent, n'importe quel modèle de
caméra peut être utilisé pour décrire le projecteur, y compris Figure 1. Étalonnage du système à lumière structurée
le modèle de sténopé étendu avec des coefficients de distorsion
radiale et tangentielle, ou même ceux avec des modèles de
distorsion de lentille plus complexes.
Mots clés-lumière structurée ; caméra ; projecteur ;
calibration ; homographie locale ;
cible et à la distance de balayage, ce qui annule tout
I. INTRODUCTION étalonnage antérieur. Par conséquent, les systèmes à lumière
structurée doivent être étalonnés avant chaque utilisation afin
Les systèmes à lumière structurée sont le choix privilégié de garantir le meilleur résultat, la simplicité de la procédure
pour les applications de numérisation 3D à réaliser soi- d'étalonnage devenant aussi précieuse que sa précision. Dans
même. Ils sont faciles à déployer, seuls un projecteur de cet article, nous présentons une nouvelle procédure
données et une caméra disponibles dans le commerce sont d'étalonnage pour les systèmes à lumière structurée qui est à
nécessaires, et ils sont très précis lorsqu'ils sont mis en la fois très facile à réaliser et très précise.
œuvre avec soin. Un couple projecteur-caméra fonctionne
comme un système stéréo, avec l'avantage qu'un modèle de
projection bien choisi simplifie la tâche de recherche des
correspondances de points. Dans ces systèmes, les
projecteurs sont modélisés comme des caméras inversées et
toutes les considérations connues pour les systèmes stéréo
passifs peuvent être appliquées sans presque aucun
changement. Cependant, la procédure d'étalonnage doit être
adaptée au fait que les projecteurs ne peuvent pas mesurer
directement les coordonnées des pixels des points 3D
projetés sur le plan de l'image du projecteur, comme le font
les caméras.
Le point de vue, le zoom, la mise au point et d'autres
paramètres doivent être ajustés, tant au niveau du projecteur
que de la caméra, pour correspondre à la taille de l'objet
L'idée principale de notre méthode est d'estimer les
coordonnées des points d'étalonnage dans le plan de
l'image du projecteur à l'aide d'homographies locales. Tout
d'abord, un ensemble dense de correspondances entre les
pixels du projecteur et de la caméra est trouvé en projetant
sur l'objet d'étalonnage une séquence de motifs identique à
celle qui sera projetée ultérieurement pour scanner la cible,
en réutilisant la plupart des composants logiciels écrits
pour l'application de balayage. Ensuite, l'ensemble des
correspondances est utilisé pour calculer un groupe
d'homographies locales qui permettent de trouver la
projection de n'importe quel point de l'objet d'étalonnage
sur le plan de l'image du projecteur avec une précision
inférieure au pixel. Enfin, le projecteur de données est
calibré comme une caméra normale.
Notre principale contribution est une méthode
permettant de trouver les correspondances entre les pixels
du projecteur et les points du monde 3D. Une fois ces
correspondances connues, toute technique d'étalonnage
disponible pour la stéréo passive peut être appliquée
directement au système à lumière structurée. Notre
méthode ne s'appuie pas sur les paramètres d'étalonnage de
la caméra pour trouver l'ensemble des correspondances. Par
conséquent, l'étalonnage du projecteur n'est aucunement
affecté par la précision de l'étalonnage de la caméra.
Nous montrons, en deuxième lieu, que la méthode
d'étalonnage proposée peut être mise en œuvre de telle
sorte qu'aucune intervention de l'utilisateur n'est nécessaire
après l'acquisition des données, ce qui rend la procédure
efficace même pour les utilisateurs inexpérimentés. Pour
A cette fin, nous avons créé un logiciel d'étalonnage que caméra couleur est également nécessaire. Dans la pratique, le
nous prévoyons de mettre à la disposition du public pour passage à des motifs en couleur rend inévitable l'étalonnage
que toute personne intéressée par les applications de la des couleurs - les couleurs imprimées et celles de l'appareil
lumière structurée puisse l'essayer. Concrètement, notre photo correspondent rarement - ce qui impose une exigence
logiciel nécessite deux actions : supplémentaire à l'utilisateur. En outre, ce système
d'étalonnage exige une saisie continue
1) Projeter une séquence de motifs de code gris sur un
damier planaire statique placé dans le volume de
travail. Capturez une image pour chaque motif et
stockez-les toutes dans le même répertoire. Répétez
cette étape pour plusieurs poses de damier jusqu'à ce
qu'elles couvrent correctement tout le volume de
travail. Utilisez un répertoire distinct pour chaque
séquence.
2) Exécuter le logiciel d'étalonnage et sélectionner le
répertoire contenant toutes les séquences. Saisir les
dimensions du damier. Cliquez sur le bouton
"Calibrer". Le logiciel va automatiquement décoder
toutes les séquences, trouver l'emplacement des coins
et calibrer le projecteur et la caméra. L'étalonnage
final sera sauvegardé dans un fichier pour une
utilisation ultérieure.
A. Travaux connexes
Il existe de nombreuses procédures d'étalonnage de
projecteurs, mais nous n'en avons trouvé aucune qui
satisfasse aux deux propriétés clés suivantes : facilité
d'exécution pour l'utilisateur commun et haute précision
pour permettre des reconstructions 3D exactes. Plusieurs
méthodes ([1], [2], [3], [4], [5] et [6]) utilisent une caméra
pré-calibrée pour trouver les coordonnées du monde dans un
artefact de calibrage, qu'elles utilisent à leur tour pour
attribuer les correspondances des projecteurs. Ces méthodes
peuvent être simples à mettre en œuvre, mais elles
manquent toutes de précision dans les paramètres du
projecteur en raison de leur dépendance à l'égard de
l'étalonnage de la caméra. Les imprécisions sont une
conséquence directe de leur approche : même de petites
erreurs d'étalonnage de la caméra peuvent entraîner de
grandes erreurs dans les coordonnées du monde. Leur point
faible est d'estimer les paramètres du projecteur à partir de
ces coordonnées mondiales, qui sont loin d'être exactes, ce
qui diminue la précision du système complet.
Une approche différente est adoptée dans [7], [8] et [9] où
ni une caméra calibrée, ni un modèle imprimé ne sont
nécessaires. Ces auteurs demandent à l'utilisateur de
déplacer le projecteur à plusieurs endroits afin que le motif
d'étalonnage - projeté sur un plan fixe - change de forme.
Nous soutenons que le déplacement du projecteur peut
s'avérer peu pratique, voire impossible en général (par
exemple, un système monté sur une plate-forme). En outre,
ces méthodes ne sont pas applicables si une reconstruction
métrique est obligatoire, car leur résultat n'est qu'à l'échelle.
D'autres auteurs ont proposé des algorithmes ([10], [11],
[12] et [13]) dans lesquels un motif projeté est ajusté de
manière itérative jusqu'à ce qu'il chevauche un motif
imprimé. Le chevauchement est mesuré à l'aide d'une
caméra non calibrée. Étant donné que les deux motifs
doivent être clairement identifiés, le motif classique en noir
et blanc est remplacé par des versions en couleur - une
d'une caméra à l'autre, ce qui rend impossible de séparer l'utilisateur capture des images d'un damier de dimensions
l'étape de capture de l'algorithme d'étalonnage, une connues dans plusieurs orientations et l'algorithme calcule
pratique courante et utile sur le terrain. les paramètres d'étalonnage de la caméra en utilisant la
Une pratique courante parmi les méthodes d'étalonnage relation entre les coins du damier dans un système de
de projecteurs ([3], [7], [8], [10] et [12]) consiste à trouver coordonnées de la caméra et un système de coordonnées du
une transformation d'homographie entre un plan monde attaché au plan du damier.
d'étalonnage et le plan de l'image du projecteur. Malgré
l'élégance du concept, les homographies étant des
opérateurs linéaires, elles ne peuvent pas modéliser les
distorsions non linéaires telles que celles introduites par les
lentilles du projecteur.
Dans [14], les auteurs affirment obtenir des résultats très
précis avec leur méthode qui consiste à projeter des motifs
sur une "planche d'aluminium plate montée sur un
mécanisme mobile de haute précision". Nous nous
plaignons du fait qu'un équipement aussi spécial n'est pas à
la disposition de l'utilisateur commun, ce qui limite
l'applicabilité générale de la méthode. Nous considérons
que cette méthode n'est pas pratique.
Enfin, Zhang et Huang [15], et d'autres ([7], [16])
utilisent des modèles de lumière structurée de la même
manière que nous, mais au lieu de calculer les
correspondances entre les points du projecteur directement
à partir des images capturées par la caméra, ils créent de
nouvelles images synthétiques du point de vue du
projecteur et les transmettent à des outils d'étalonnage de
caméra standard. L'étape intermédiaire de la création
d'images synthétiques à la résolution du projecteur,
généralement faible, risque d'écarter des informations
importantes, ce qui n'est pas souhaitable. Au contraire, la
méthode que nous proposons trouve les correspondances
entre les points du projecteur à partir des modèles de
lumière structurés directement à la résolution de la caméra.
Aucune image synthétique du projecteur n'est créée.
Le reste du document est organisé comme suit : La
section II explique la méthode d'étalonnage, la section III
développe la section précédente avec des détails de mise en
œuvre, la section IV discute des expériences réalisées pour
vérifier la précision de la méthode et présente une
comparaison avec d'autres logiciels d'étalonnage, enfin la
section V conclut notre travail.
II. MÉTHODE
Notre installation comprend un projecteur et une caméra
formant une paire stéréo. Nous les décrivons tous deux en
utilisant le modèle du trou d'épingle étendu à la distorsion
radiale et tangentielle, un avantage par rapport à plusieurs
méthodes ([3], [5], [6], [7], [8], [9] et [12]) qui ne
parviennent pas à compenser les distorsions dans les motifs
projetés. En outre, nous avons constaté dans nos
expériences que la plupart des projecteurs présentent des
distorsions notables en dehors de leur plan de mise au
point, distorsions qui affectent la précision des modèles 3D
finaux.
Nous nous sommes inspirés de la méthode de Zhang [17]
en raison de sa simplicité et de sa précision reconnue. Elle
utilise un damier planaire comme artefact d'étalonnage, qui
est facile à fabriquer pour toute personne ayant accès à une
imprimante. Dans l'étalonnage de la caméra de Zhang,
A. Modèles de projecteurs et de caméras
La méthode d'étalonnage proposée permet de choisir
n'importe quel modèle paramétrique pour décrire le
projecteur et la caméra. Notre implémentation utilise le
modèle du trou d'épingle étendu avec une distorsion radiale
et tangentielle pour le projecteur et la caméra. Soit X ∈ R3
un point dans un système de coordonnées mondiales avec
l'origine Figure 2. Exemple d'images d'étalonnage : image complètement éclairée (à
au centre de la caméra, et que u ∈ R2 les coordonnées des gauche), code gris projeté sur le damier (à droite).
pixels
de l'image de X dans le plan de la caméra, alors X et u
sont
reliées par les équations suivantes :
� �
x x/z
u˜x
X = � y � , u˜ = (1)
u y/z
z
=
˜y

u = Kc - L(ũ) (2)
� �
fx γ ox
Kc = � 0 f oy y � (3)
0 0 1
u˜ - (1 + k r12 + k r24 ) + ∆ t (ũ)
L(ũ) = 1 (4) Figure 3. Exemple de motif gris décodé : les pixels de même couleur
correspondent soit à la même colonne du projecteur (à gauche), soit à la
) même ligne du projecteur (à droite). La couleur grise signifie "incertain".
2k 3 u˜ x u˜ y + k4 (r2 + x 2u˜
2
Notez qu'il n'y a pas de pixels incertains dans la région du damier.
∆t (ũ) = 2 2 (5)
k3 (r + 2 u ˜ y ) + 2k 4 u˜ x u˜ y
r2 = u ˜ 2 + (6) vitesse. D'aucuns pourraient faire valoir que la capture d'un
u˜2 grand nombre d'images
x y
pour chaque pose du damier rend notre méthode complexe,
où Kc correspond à l'étalonnage intrinsèque de la caméra,
mais l'ensemble de la tâche d'acquisition des données est
k1 et k2 aux coefficients de distorsion radiale, et k3 et k4
aux coefficients de distorsion tangentielle. De même, si R identique à la tâche standard de balayage à lumière
et T sont une rotation structurée telle qu'elle sera exécutée ultérieurement. En
et un vecteur de translation qui codent la position du centre outre, la seule exigence réelle pour l'utilisateur est de
de projection du projecteur dans le système de coordonnées maintenir le damier statique pendant quelques secondes, le
mondial défini ci-dessus, et que v ∈ R2 les coordonnées des temps nécessaire pour projeter et capturer une séquence
pixels de l'image de X dans le plan du projecteur, alors complète.
� x′ �
′ x /z′′
� ′ C. Étalonnage de la caméra
X= y �=R-X+ v˜= y (7) L'étalonnage intrinsèque de la caméra consiste à estimer
z′
T, les pa- ramètres dans le modèle de caméra choisi. En suivant
/z′′
la méthode de Zhang, nous devons trouver les coordonnées
dans la caméra
v = Kp - L(v˜) (8) capter une séquence complète de motifs de lumière
structurée. Bien que n'importe quelle séquence de lumière
où le projecteur est décrit par son étalonnage intrinsèque
structurée puisse fonctionner, nous avons utilisé et
Kp , et la paire (R, T ) est connue comme l'étalonnage
recommandons des séquences de code gris (Fig. 2) parce
extrinsèque du système stéréo.
qu'elles sont robustes aux erreurs de décodage - dans une
B. Acquisition de données routine d'étalonnage, éviter toutes les erreurs possibles
L'étalonnage de la caméra consiste à collecter des images l'emporte généralement sur l'exécution.
d'un damier planaire. Nous avons modifié cette étape
d'acquisition pour permettre d'étalonner à la fois la caméra
et le projecteur. La nouvelle méthode d'acquisition des
données est la suivante : pour chaque orientation de plan, au
lieu de capturer une seule image, l'utilisateur doit projeter et
plan de l'image de tous les coins du damier, pour chacune
des orientations du damier capturé. L'emplacement des
coins est recherché dans une image complètement éclairée,
pour chaque orientation du damier, à l'aide d'une procédure
standard. Une image complètement éclairée est une image
capturée lorsque tous les pixels du projecteur de données
sont allumés - si une telle image n'est pas disponible, elle
peut être créée comme le maximum de chaque image de la
séquence. La procédure se poursuit comme l'étalonnage
habituel de la caméra, veuillez consulter [17] pour plus de
détails.
Notre logiciel s'attend à ce que la première image de
chaque séquence de codes gris soit une image
complètement éclairée qui pourrait être utilisée directement
pour l'étalonnage de la caméra. Il utilise la fonction
findChessboardCorners() d'OpenCV [18] pour trouver
automatiquement les emplacements des coins du damier,
puis les affine pour atteindre une précision inférieure au
pixel. Enfin, un appel à la fonction calibrateCamera()
renvoie les paramètres calibrés de la caméra.
une quantité de lumière, appelée composante globale,
provient d'autres sources (y compris des réflexions sur
d'autres pixels du projecteur). Les erreurs de décodage dans
les séquences grises sont principalement dues à l'incapacité
d'identifier ces composantes ou à l'ignorance totale de leur
existence. Au contraire, si chaque composante est
correctement identifiée, un simple ensemble de règles
permet de réduire considérablement les erreurs de décodage
(Fig. 3). Les règles et des informations supplémentaires sur
le sujet sont données dans [20] sous le nom de classification
Figure 4. L'emplacement des coins du projecteur est estimé avec une
robuste des pixels.
précision inférieure au pixel en utilisant les homographies locales de La relation apprise à partir des modèles de lumière
chaque coin de l'image de la caméra. structurés n'est pas bijective - elle ne peut pas être utilisée
immédiatement pour traduire les coordonnées de la caméra
à celles du projecteur. Pour résoudre ce problème, nous
D. Étalonnage du projecteur proposons le concept d'homographie locale : une
homographie qui n'est valable que dans une région du plan.
Notre projecteur et notre appareil photo sont décrits avec Au lieu d'appliquer une homographie globale unique pour
le même modèle mathématique, et nous aimerions donc traduire tous les coins du damier en coordonnées du
suivre une procédure identique pour les étalonner tous les projecteur, nous trouvons une homographie locale pour
deux. Mais le projecteur n'est pas une caméra. Si le chacun des coins du damier. Chaque homographie locale est
projecteur était une caméra, il serait possible de capturer des estimée dans un petit voisinage du coin cible et n'est valable
images à partir de son point de vue, d'y rechercher des coins que pour traduire ce coin en coordonnées de projecteur et
de damier et de continuer comme avant. En réalité, de telles aucun autre coin. Les homographies locales permettent de
images n'existent pas, mais nous connaissons une relation modéliser des distorsions non linéaires car chaque coin est
entre les pixels du projecteur et ceux de la caméra - extraite traduit indépendamment des autres. En outre, elles sont
des séquences lumineuses structurées - et nous montrerons robustes aux petites erreurs de décodage parce qu'elles sont
comment utiliser cette relation pour estimer l'emplacement surdéterminées ; elles sont estimées à partir d'un voisinage
des coins du damier dans les coordonnées des pixels du comportant plus de points que le minimum requis.
projecteur. De plus, comme tous les calculs sont effectués à
Une homographie locale est trouvée pour chaque coin de
la résolution originale de la caméra, les coordonnées des
damier en tenant compte de tous les points correctement
coins sont localisées avec une plus grande précision que si
décodés dans une zone de l'image de la caméra centrée sur
l'on utilisait des images synthétiques à la résolution du
l'emplacement du coin. Soit p les coordonnées des pixels de
projecteur.
l'image d'un point du patch sous
La procédure de calcul des coordonnées des coins du et que soit q le pixel projecteur décodé pour ce point, alors
damier dans le système de coordonnées du projecteur peut nous trouvons une homographieJOSUE Hˆ qui minimise :
NGOULA
être décomposée en trois étapes : premièrement, la séquence
de lumière structurée est décodée et chaque pixel de la Hˆ = argminΣ2023-05-11
|q - Hp||2
04:47:59
(9)
--------------------------------------------
caméra est associé à une ligne et à une colonne du H �p
projecteur, ou est défini comme "incertain" (Fig. 3) ; juste vue comme la
H ∈ R3×3 , p = [x, y, 1]T , qtransformation(matrice
= [col, row, 1]T (10)
et rotation par
deuxièmement, un modèle local de l'angle du damier est
calculé pour chaque pixel de la caméra, et chaque pixel est Le coin cible p¯, situé au centreexemple)
du patch,permettant
est traduit en q¯,
d'associer plan
associé à une ligne et à une colonne du projecteur. donné en coordonnées de projecteur, en appliquant
image projecteur et plan image
L'homographie est estimée pour chaque coin du damier dans l'homographie locale H ˆ :
l'image de la caméra ; enfin, chacun des coins est converti caméra (en terme de position de
JOSUE NGOULA
2023-05-11 04:38:51
pixel). C'est en d'autres termes les
(figure 4) des coordonnées de la caméra aux coordonnées du
projecteur en appliquant l'homographie locale qui vient --------------------------------------------
éléments du vecteur translation et de
d'être trouvée. la possibilité d'identifier les erreurs
la matrice de rotation.
L'étape de décodage de la lumière structurée dépend du est bien dans la mesure où sa
q¯ = Hˆ - (11)
modèle projeté, dans notre cas des codes gris connaissance permet de continuer le
complémentaires pour la lumière structurée. p¯ processus d'optimisation dans le but
des lignes et des colonnes. Ici, notre méthode diffère de diviser l'intensité mesurée à chaque pixel en une composante
d'obtenir les paramètres minimisant
celle de [15], où des motifs de franges ont été proposés - directe et une composante globale. Dans l'idéal, la quantité
notre choix donne la priorité aux motifs de franges. de lumière perçue au niveau de l'erreur.
chaque pixel de la caméra est
la précision du décodage par rapport à la vitesse le produit de l'activation ou de la désactivation d'un seul
d'acquisition. Comme le souligne [19], un sous-ensemble pixel du projecteur, mais dans la pratique, c'est rarement le
d'images à code gris - celles où les bandes semblent cas. La valeur d'intensité rapportée par la caméra au niveau
"minces" - peut être considéré comme présentant un motif à d'un pixel est la somme de la quantité de lumière émise par
haute fréquence. Ces motifs à haute fréquence permettent de un pixel du projecteur, appelée composante directe, et d'une
partie de la lumière émise par le projecteur. La même stratégie est répétée jusqu'à ce que tous les
coins du damier aient été traduits. Maintenant, connaissant
l'emplacement de tous les coins dans le système de
coordonnées du projecteur, l'étalonnage intrinsèque du
projecteur est trouvé avec la même procédure que pour la
caméra.
E. Étalonnage du système stéréo
L'étalonnage stéréoscopique consiste à trouver la rotation
et la translation relatives entre le projecteur et la caméra. À
ce stade, les paramètres intrinsèques trouvés précédemment
sont maintenus fixes, les coordonnées du monde sont
identifiées avec les coordonnées de la caméra et nous
recherchons la position du projecteur en coordonnées du
monde. Les dimensions physiques du damier de calibration
sont connues. Les projections des coins du damier sur les structuré. L'algorithme
plans d'image de la caméra et du projecteur sont également
connues - elles ont été trouvées lors des étapes précédentes.
L'étalonnage du système stéréo projecteur-caméra est donc
identique à l'étalonnage de tout autre système caméra-
caméra.
Notre logiciel appelle la fonction stereoCalibrate()
d'OpenCV avec les coordonnées des coins du damier
trouvées précédemment et leurs projections. Le résultat est
une matrice de rotation R et un vecteur de translation T
reliant le couple projecteur-caméra.
F. Algorithme
La procédure d'étalonnage complète peut être résumée en
étapes simples et mise en œuvre sous la forme d'un
algorithme d'étalonnage :
1) Détecter l'emplacement des coins du damier pour
chaque orientation de plan dans les images
complètement éclairées.
2) Estimer les composantes globales et directes de la
lumière pour chaque ensemble à l'aide de motifs à
haute fréquence en code gris.
3) Décoder les motifs lumineux structurés en
correspondances de lignes et de colonnes de
projecteurs au moyen d'une classification robuste des
pixels, en tenant compte des composantes globales et
directes des pixels de l'étape 2.
4) Prendre de petites parcelles d'image centrées sur les
coordonnées des coins du damier de l'étape 1 (par
exemple, un carré de 47x47 pixels) et utiliser tous les
pixels correctement décodés dans chaque parcelle
pour calculer une homographie locale qui relie les
coordonnées de la caméra à celles du projecteur. Les
réponses ont été obtenues à l'étape 3.
5) Traduire les emplacements des coins (étape 1) des
coordonnées de la caméra à celles du projecteur en
utilisant les homographies locales du patch de l'étape
4.
6) Fixer un système de coordonnées mondiales sur le
plan du damier et utiliser la méthode de Zhang pour
trouver les coordonnées intrinsèques de la caméra en
utilisant les positions des coins de la caméra de l'étape
1.
7) Fixer un système de coordonnées mondiales sur le
plan du damier et utiliser la méthode de Zhang pour
trouver les intrin- siques du projecteur en utilisant les
positions des coins du projecteur de l'étape 5.
8) Fixer les paramètres intrinsèques de la caméra et du
projecteur (étapes 6 et 7) et utiliser les positions des
coins du monde, de la caméra et du projecteur (étapes
1 et 5) pour estimer les paramètres extrinsèques de la
stéréo.
9) En option, tous les paramètres, intrinsèques et
extrinsèques, peuvent être ajustés ensemble pour
minimiser l'erreur de reprojection totale.
III. LOGICIEL D'ÉTALONNAGE
Nous avons intégré l'algorithme de la section II-F dans un
logiciel complet d'étalonnage de système d'éclairage
lorsqu'elle est associée à des images à haute résolution.
Nous avons travaillé avec des images de 12Mpx et nous
avons observé ce problème. Notre solution consiste à
réduire l'échantillonnage des images d'entrée afin d'accélérer
la recherche des coins, et de considérer les emplacements
des coins réduits comme une solution approximative pour la
recherche à haute résolution. Cette technique simple s'est
avérée rapide et efficace : la vitesse de recherche est
indépendante de la résolution de la caméra et les résultats
sont aussi précis que si aucun sous-échantillonnage n'avait
été effectué, car l'affinement est exécuté à la résolution
d'origine.
En théorie, les composantes directes et globales de la
lumière devraient être estimées à partir du motif projeté à la
Figure 5. Écran principal du logiciel d'étalonnage
fréquence la plus élevée. En pratique, cela donne des images
décodées avec des artefacts visibles. Nous sautons donc la
fréquence la plus élevée et nous calculons les composantes
(GUI) capable de calibrer de tels systèmes en suivant une
directes et globales à partir des deux deuxième motifs les
procédure simple. Le logiciel est entièrement écrit en C++,
plus élevés. La combinaison de plusieurs motifs donne une
utilise Qt [21] comme bibliothèque d'interface graphique et
meilleure précision et le fait de sauter le dernier motif
la bibliothèque OpenCV [18] pour les tâches liées à la
élimine les artefacts dus à la résolution limitée du
vision. Cette sélection de bibliothèques permet de
projecteur.
construire et d'exécuter le logiciel sur des plates-formes
courantes telles que Microsoft Windows et GNU/Linux. Soit S = {I1 , - - - , Ik } l'ensemble sélectionné
La détection des coins du damier est effectuée avec la d'images matricielles, et soit p un emplacement de pixel
fonction findChessboardCorners() d'OpenCV. Cependant, valide, les composantes directes et globales en p, Ld (p) et
comme indiqué dans [22], cette fonction est très lente Lg (p), sont trouvées comme suit :
L'objectif est double : d'une part, prouver que notre méthode L+ = max I (p), L− = min I (p), (12)
peut être appliquée à l'ensemble de la population.
Deuxièmement, faciliter l'accès à des scans 3D de haute p
0<i≤k
i p
0<i≤k
i
qualité pour un large éventail d'utilisateurs - nous pensons
que les scans 3D structurés peuvent être exécutés de manière L+ - L− L− - b L+
entièrement automatique, à condition que les images
d'étalonnage soient disponibles.
les systèmes d'éclairage sont la clé. Notre expérience montre Ld (p) =p p , Lg (p) = 2p p , (13)
que les systèmes d'éclairage cali-
L'évaluation précise des systèmes d'éclairage structurés est 1-b 1- b2

une tâche lourde.


et qui prend du temps. Dans l'espoir de faciliter cette tâche, où b ∈ [0, 1] est une valeur définie par l'utilisateur modélisant
nous avons écrit un logiciel (Fig. 5) avec une interface la quantité de lumière émise par un pixel de projecteur éteint
utilisateur graphique. - nous recommandons que le projecteur soit éteint avant la fin
de l'année.
Nous recommandons au lecteur d'étudier [19] pour plus tableau I montre l'erreur de reprojection de notre méthode et
de détails. Nous avons fixé b = 0,3 dans notre de procamcalib ; pour une comparaison plus poussée, nous
configuration. avons également inclus une version modifiée de notre
Enfin, les homographies locales sont estimées à partir de méthode qui utilise une homographie globale au lieu
la taille fixe d'homographies locales. En conséquence, avec un étalonnage
Nous devons donc sélectionner une taille de patch identique de la caméra, l'erreur de reprojection de
appropriée pour eux. Si la taille choisie est trop petite, procamcalib est beaucoup plus élevée que la nôtre, car elle
l'algorithme devient très sensible aux erreurs de décodage. dépend de l'étalonnage de la caméra pour trouver le plan du
Au contraire, si le patch est trop grand, l'algorithme est monde.
robuste aux erreurs, mais incapable de faire face à de fortes
distorsions de la lentille. Expérimentalement, nous avons
constaté qu'une taille de patch de 47x47 pixels donnait de
bons résultats dans notre système ; nous avons utilisé cette
valeur dans tous nos tests. Néanmoins, une analyse plus
rigoureuse est nécessaire pour déterminer la taille optimale
en fonction des paramètres du système.

IV. RÉSULTATS
Nous avons développé cette méthode d'étalonnage pour
permettre une numérisation 3D de haute précision. Par
conséquent, nous pensons que la meilleure évaluation de la
qualité de l'étalonnage consiste à numériser des objets dont
la géométrie est connue et à comparer leurs modèles 3D
avec les données de la réalité du terrain. En outre, nous
pensons qu'une évaluation ne serait pas complète sans une
comparaison avec d'autres méthodes d'étalonnage
disponibles. Nous avons cherché et trouvé que ProCamCalib
[10] et Projector-Camera Calibration Toolbox (également
procamcalib) [1] de Samuel Audet sont des outils
accessibles au public. Nous avons essayé les deux, mais la
version actuelle de l'outil d'Audet ne peut pas être utilisée
avec notre caméra, c'est pourquoi nous comparerons notre
méthode avec Projector-Camera Calibration Toolbox [1]
uniquement, à partir de maintenant simplement
"procamcalib".

A. Configuration du test
Notre configuration de test comprend un projecteur de
données DLP Mitsubishi XD300U et un appareil photo
Canon EOS Rebel XSi. La résolution du projecteur est de
1024x768 et celle de l'appareil photo de 4272x2848. Ils ont
été placés l'un à côté de l'autre (Fig. 6). Leur longueur de
focalisation, leur zoom et leur direction ont été réglés avant
l'étalonnage en fonction de la cible de l'analyse.

B. Erreur de reprojection
Habituellement, la qualité de l'étalonnage de la caméra est
évaluée en tenant compte uniquement des erreurs de
reprojection. Cependant, une erreur de reprojection
minimale mesurée dans les images d'étalonnage ne garantit
pas la meilleure précision de reconstruction d'objets
arbitraires. En fait, dans nos expériences, l'ajout d'une étape
supplémentaire de minimisation des paramètres intrinsèques
et extrinsèques (Section II-F, étape 9) a surajouté les
données d'étalonnage, produisant des modèles 3D
légèrement moins précis. Dans l'ensemble, les erreurs de
reprojection sont des indicateurs de la précision de
l'étalonnage et nous présentons les nôtres comme une
référence pour la comparaison avec d'autres méthodes. Le
erreurs de reprojection, nous avons scanné des objets réels
et créé des modèles 3D qui ont pu être comparés aux
données de la réalité du terrain. Notre premier modèle
correspond à un plan de 200x250 mm,

Figure 6. Configuration
du système

Méthode Appareil Projecteu


photo r
Proposé 0.1447
Proposé avec homographie globale 0.3288 0.2176
procamcalib 0.8671

Tableau I
ERREUR DE
REPROJECTION

correspondances. La méthode modifiée est une


amélioration par rapport à procamcalib, cependant, étant
donné la linéarité de son homographie globale, elle ne
parvient pas à modéliser la distorsion de la lentille du
projecteur, ce qui est sous-optimal.
C. Distorsion de l'objectif du projecteur
L'un des principaux avantages de notre méthode est
qu'elle permet de modéliser la distorsion radiale et
tangentielle dans les lentilles de projecteur de la même
manière que dans les caméras. Contrairement à ce qui est
dit dans d'autres documents (par exemple [9]), les lentilles
de projecteur présentent une distorsion notable, en
particulier près des bords. Le tableau II montre un exemple
de coefficients de distorsion estimés par notre méthode.
que k2 a une valeur non négligeable. Le modèle de
distorsion complet (figure 7) montre que les points proches
du coin supérieur gauche sont déplacés d'environ 12 pixels
par rapport à leur position idéale sans distorsion.
Au centre inférieur de l'image projetée, où se trouve son
point principal, il n'y a pas de distorsion, comme prévu. En
conclusion, les projecteurs de données présentent des
distorsions de lentilles non triviales qui ne peuvent être
ignorées.
D. Données de référence
Pour évaluer la qualité de l'étalonnage au-delà des
k1 k2 k3 k4
-0.0888 0.3365 -0.0126 -0.0023

Tableau II
COEFFICIENTS DE DISTORSION DU PROJECTEUR : k1 ET k2
DISTORSION RADIALE, k3 ET k4 DISTORSION TANGENTIELLE

Figure 8. Histogramme d'erreur de plan : erreur entre un plan idéal et un


plan scanné recontrôlé en utilisant la calibration proposée (en haut) et la
calibration procamcalib (en bas).

Figure 7. Modèle de distorsion du projecteur : les points sont déplacés


d'environ 12 pixels près du coin supérieur gauche.

pour lequel nous avons créé un modèle 3D avec chacun des


deux étalonnages de la section précédente. Les données de
vérité au sol pour ces modèles sont des points échantillonnés
à partir d'un plan idéal. La distribution des erreurs du
modèle reconstruit avec notre calibration (Fig. 8 en haut)
ressemble à une distribution gaussienne où 95% de ses
échantillons sont des erreurs égales ou inférieures à Figure 9. Lumière structurée et scanner laser : Distance de Hausdorff entre
0,33 mm. En revanche, la reconstruction réalisée avec les mailles de 0 mm à 1 mm
L'étalonnage de procamcalib (Fig. 8 en bas) a une forme
irrégulière.
qui indique l'imprécision de l'étalonnage. Les résultats sont les régions qui étaient dans l'ombre pendant le balayage.
résumés dans le tableau III. Dans la région du visage, l'erreur est de 0,5 mm au
Le modèle suivant est une tête de statue scannée à la fois maximum.
avec notre système de lumière structurée et avec un scanner Enfin, nous avons scanné une statue à partir de six points
laser commercial. Le scanner laser est un NextEngine de vue différents
Desktop Scanner 2020i. Les deux modèles 3D sont et, après un alignement manuel et une fusion, nous avons
comparés à l'aide de la distance de Hausdorff et le résultat créé un modèle 3D complet en utilisant la reconstruction de
est présenté sous forme d'image (Fig. 9). L'échelle de surface Smooth Signed Distance (SSD) ([23], [24]). Le
couleurs indique la distance entre les deux mailles, allant de maillage final préserve (Fig. 10) les moindres détails.
0 à 1 mm. L'erreur n'atteint son maximum qu'en V. CONCLUSION
Nous avons introduit une nouvelle méthode d'étalonnage
Méthode Max. Erreur Std. Dev. des systèmes projecteur-caméra qui est simple à mettre en
Erreur moyenne
Proposé 0.8546 0.000042 0.1821
œuvre et plus précise que les méthodes précédentes car elle
procamcalib 1.6352 0.000105 0.2909 utilise un modèle de sténopé complet - y compris les
distorsions radiales et tangentielles de l'objectif - pour
Tableau III décrire à la fois le comportement du projecteur et de la
COMPARAISON ENTRE LE PLAN IDÉAL ET LE PLAN caméra et calcule des projections de points 3D d'une
RECONSTRUIT
résolution inférieure au pixel à partir d'un système non
étalonné.
[8] J. Drare'ni, S. Roy, et P. Sturm, "Geometric video projector
auto-calibration," in Computer Vision and Pattern Recognition
Workshops, 2009, pp. 39-46.
[9] J. Drare'ni, S. Roy, et P. Sturm, "Methods for geometrical
video projector calibration," Machine Vision and Applica-
tions, vol. 23, pp. 79-89, 2012.
[10] S. Audet et M. Okutomi, "A user-friendly method to geo-
metrically calibrate projector-camera systems," in Computer
Vision and Pattern Recognition Workshops, 2009, pp. 47-54.
[11] I. Martynov, J.-K. Kamarainen, et L. Lensu, "Projector
calibration by inverse camera calibration," in Proceedings of
the 17th Scandinavian conference on Image analysis, Berlin,
Heidelberg, 2011, pp. 536-544.
[12] J. Mosnier, F. Berry et O. Ait-Aider, "A new method for
Figure 10. Modèle 3D du SSD à partir de 6 balayages à lumière projector calibration based on visual servoing," in IAPR
structurée Conference on Machine Vision Applications, 2009, pp. 25-29.
[13] S.-Y. Park et G. G. Park, "Active calibration of camera-
projector systems based on planar homography," in Interna-
images de la caméra. Nous avons développé un logiciel tional Conference on Pattern Recognition, 2010, pp. 320-
d'étalonnage simple d'utilisation que nous mettrons 323.
gratuitement à la disposition du public pour qu'il puisse
l'expérimenter. [14] X. Chen, J. Xi, Y. Jin et J. Sun, "Accurate calibration for a
cameraprojector measurement system based on structured
REMERCIEMENTS light projection," Optics and Lasers in Engineering, vol. 47,
no. 34, pp. 310-319, 2009.
Les auteurs souhaitent remercier Fatih Calakli pour la
relecture de ce document et les suggestions utiles qu'il a [15] S. Zhang et P. S. Huang, "Novel method for structured light
faites pour améliorer ce travail. Le matériel présenté dans ce system calibration," Optical Engineering, vol. 45, no. 8, pp.
083 601-083 601-8, 2006.
document décrit des travaux soutenus par la National
Science Foundation dans le cadre des subventions n° IIS- [16] Z. Li, Y. Shi, C. Wang et Y. Wang, "Accurate calibration
0808718 et CCF-0915661. method for a structured light system", Optical Engineering,
vol. 47, no. 5, p. 053604, 2008.
RÉFÉRENCES
[17] Z. Zhang, "A flexible new technique for camera calibration,"
[1] G. Falcao, N. Hurtos, J. Massich et D. Fofi, "Projector- Pattern Analysis and Machine Intelligence, IEEE Transac-
Camera Calibration Toolbox", Tech. Rep. 2009, disponible à tions on, vol. 22, no. 11, pp. 1330-1334, nov 2000.
l'adresse http://code.google.com/p/procamcalib.
[18] G. Bradski, "The OpenCV Library", Dr. Dobb's Journal of
[2] F. Sadlo, T. Weyrich, R. Peikert, et M. Gross, "A practical Software Tools, 2000. Dobb's Journal of Software Tools,
structured light acquisition system for point-based geometry 2000 [en ligne]. Disponible : http://opencv.org/
and texture," in Point-Based Graphics. Eurographics/IEEE
[19] S. K. Nayar, G. Krishnan, M. D. Grossberg et R. Raskar,
VGTC Symposium Proceedings, juin 2005, pp. 89-145.
"Fast separation of direct and global components of a scene
using high frequency illumination," in SIGGRAPH. New
[3] M. Kimura, M. Mochimaru et T. Kanade, "Projector cal-
York, NY, USA : ACM, 2006, pp. 935-944.
ibration using arbitrary planes and calibrated camera", in
Computer Vision and Pattern Recognition, 2007, pp. 1-2. [20] Y. Xu et D. G. Aliaga, "Robust pixel classification for 3d
modeling with structured light," in Proceedings of Graphics
[4] J. Liao et L. Cai, "A calibration method for uncoupling pro- Interface. New York, NY, USA : ACM, 2007, pp. 233-240.
jector and camera of a structured light system", in Advanced
Intelligent Mechatronics, juillet 2008, pp. 770-774. [21] Projet Qt, "Qt cross-platform application and UI framework".
2012. [En ligne]. Disponible : http://qt.nokia.com/
[5] K. Yamauchi, H. Saito et Y. Sato, "Calibration of a struc-
tured light system by observing planar object from unknown [22] J. Chen, K. Benzeroual, et R. Allison, "Calibration for high-
viewpoints," in 19th International Conference on Pattern definition camera rigs with marker chessboard," in Computer
Recognition, dec. 2008, pp. 1-4. Vision and Pattern Recognition Workshops, 2012, pp. 29-36.
[23] F. Calakli et G. Taubin, "SSD : Smooth signed distance
[6] W. Gao, L. Wang et Z.-Y. Hu. Hu, "Flexible calibration of a
surface reconstruction," Computer Graphics Forum, vol. 30,
portable structured light system through surface plane," Acta
no. 7, pp. 1993-2002, 2011.
Automatica Sinica, vol. 34, no. 11, pp. 1358-1362, 2008.
[24] F. Calakli et G. Taubin, "SSD-C : Smooth signed distance
[7] H. Anwar, I. Din, et K. Park, "Projector calibration for 3D colored surface reconstruction," in Expanding the Frontiers
scanning using virtual target images," International Journal of Visual Analytics and Visualization, 2012, pp. 323-338.
of Precision Engineering and Manufacturing, vol. 13, pp.
125- 131, 2012.

Vous aimerez peut-être aussi