Auto-Calibration à-partir d'une Séquence d'Images

De
Publié par

Master, Supérieur, Master
  • rapport de stage
  • cours - matière potentielle : l' étude de la caméra
Jérôme Courchay Master MVA 2006-2007 Rapport de Stage : Master MVA Auto-Calibration à-partir d'une Séquence d'Images 02/09/07 1/29
  • visualisation de la caméra
  • correspondance entre les images
  • pic d'orientation dans l'histogramme
  • calcul de la matrice fondamentale
  • échelle pyramidale
  • caméras
  • caméra
  • points
  • point
  • image
  • images
  • orientation
  • orientations
  • régions
  • région
Publié le : mercredi 28 mars 2012
Lecture(s) : 102
Source : jcourchay.perso.sfr.fr
Nombre de pages : 29
Voir plus Voir moins

Jérôme Courchay Master MVA 2006-2007
Rapport de Stage : Master MVA
Auto-Calibration à-partir d'une Séquence d'Images
02/09/07 1/29Jérôme Courchay Master MVA 2006-2007
INDEX
Introduction....................................................................................................................................... ........................3
Descripteur SIFT.......................................................................................................................................... ..............4
Détection de points d'intérets........................................................................................................ ..................4
Détecteur Laplacien.................................................................................................................. ....................4 DOG....................................................................................................................... .......................4
Descripteur SIFT................................................................................................................................................. ..5
Orientation...................................................................................................................................... ................5
Description.................................................................................................................................... ..................6
Résultats Obtenus .........6
Modélisation d'une caméra.......................................................................................................... ..........................8
Equation de reprojection................................................................................................................. ..................8
Ambiguité projective......................................................................................................................... .................9
Visualisation de la caméra................................................................................................................... ............10
Profondeur des points........................................................................................................................... ......10
Orientation des caméras.................................................................................................... .......................11
Géométrie Epipolaire............................................................................................................................................. 12
Matrice Fondamentale............................................................................................................................. ........12
Estimation des Matrices Projectives........................................................................................................ .13
Calcul de la Matrice Fondamentale : RANSAC...................................................................... .....................13
L'algorithme des 7 points...................................................................................................... .....................14
Calcul du nombre d'itérations K...................................................................................... .........................14l de la distance épipolaire............................................................................................................ ....14
Amelioration itérative du modèle................................................................................................................. .15
Estimation du seuil T................................................................................................................................... .15
Minimisation non linéaire..................................................................................................... .....................15
Résultats Obtenus............................................................................................................................................. .16
Géométrie Trifocale ............18
Le Tenseur Trifocal............................................................................................................................... .............18
Equation du plan pré-image............................................................................................................ ..........18
Mise en Equation de le Contrainte Trifocale.........................................................................................19
Estimation du tenseur trifocal................................................................................................ ...................19
Estimation des matrices des caméras ............21
Structure du programme ....23
Initialisation.............................................................................................................................................. ..........23
Recherche de correspondances trifocales initiales..............................................................................23
Amélioration du modèle trifocal.......................................................................................... ....................23
Reconstruction projective de la séquence..................................................................................... ..............24
RANSAC.......................................................................................................................................... ...............24
Gestion de la table de correspondance............................................................................. .....................24
Rectification Métrique..................................................................................................................... ................25
Rectification linéaire....................................................................................................................... ............25 non linéaire.............................................................................................................. .............26
Résultats Obtenus............................................................................................................................................. .27
Conclusion........................................................................................................................................................ ........29
02/09/07 2/29Jérôme Courchay Master MVA 2006-2007
Introduction
L'objectif du logiciel développé est de calibrer une séquence d'images sans avoir aucune connaissances
à-priori des condition de prise de vue (zoom, position...).
A-partir de correspondance entre les images, il est possible de reconstituer un nuage de points de la
scène en 3 dimensions et de retrouver la géométrie de la scène, qui constituent les paramètres
extrinsèques:
– Centres des caméras par raport à la scène
– Orientation des caméras par rapport à l'objet.
On peut également retrouver les paramètres des caméras, dits paramètres intrinsèques:
– Centre pixellique de l'image
– Distance focale
Ces informations géométriques sur les caméras sont le point de départ pour une reconstruction
complète de la scène en 3 dimensions. A la fin du rapport, les résultats obtenus pour plusieurs
séquences d'images seront présentés ainsi que la reconstruction complète de la scène effectuée par
Yasutaka Furukawa (Doctorant de Jean Ponce) à-partir des paramètres obtenus.
La clé de voûte du logiciel est un détecteur et descripteur de points d'intérets (SIFT) qui permet
d'obtenir des correspondances entre les images. A-partir de ces correspondances potentielles on peut
retrouver les relations géométriques entre les images, afin de récupérer un plus grand nombre de
correpondances.
Une fois que l'on a des correspondances trifocales, on peut estimer les points tri-dimensionnels de
manière précise. A-partir de la quatrième image, chaque nouvelle caméra sera donc estimée à-partir de
la structure tri-dimensionnelle du nuage de points déjà reconstruits.
Je tiens à remercier Jean Ponce et Andrew Zisserman pour leurs conseils avisés qui m'ont permis de
finaliser ce logiciel et d'obtenir des résultats concrets.
02/09/07 3/29Jérôme Courchay Master MVA 2006-2007
Descripteur SIFT
Le Descripteur SIFT utilisé est celui de David Lowe disponible à la page
http://www.cs.ubc.ca/~lowe/keypoints/ . Ce détecteur est basé sur les DOG (Difference of gaussian)
qui sont issus des détecteurs Laplaciens. Voici un bref aperçu de la théorie.
Détection de points d'intérets
Détecteur Laplacien
Si l'on note u , x=G u x la convolution de l'image u par une gaussienne de variance 0 0
2 alors l'équation de la chaleur est satisfaite (l'équation n'étant pas ici paramétrée par t= ):
∂u 2= u
∂
Cette équation étant invariante par transformation affine, il a été démontré par Lindeberg (1994) que
2 2  upour avoir une invariance de région locale par changement d'échelle il faut étudier ,
Mycolajczyk a ensuite montré par des études comparatives détaillées que l'étude de l'extrema et du
2 2  uminima de fournit les régions les plus stables par transformation affine.
Détecteur DOG
Afin d'obtenir des temps de traitements plus rapides on remarque qu'il est possibles d'effectuer un
lissage suivant l'horizontal avec une gaussienne, puis une convolution suivant la verticale avec une autre
gaussienne (la fonction gaussienne étant séparable). D'autre part il est possible d'utiliser une échelle
2 2pyramidale afin d'approximer par simple soustraction:  u
On peut paramétrer le nombre d'octave «o», le nombre d'échelles par octave «s» (précision). A chaque
02/09/07 4/29Jérôme Courchay Master MVA 2006-2007
octave on double  .
t ,hEn fait l'opérateur de convolution par la gaussienne étant pyramidal il existe tel que
G u=G G u . Il suffit donc de lisser l'image de l'échelle précédente par une gaussienne de th  t
petite taille  ce qui permet d'avoir un gain en temps de calculs.
Enfin, pour passer à l'octave suivant, c'est-à-dire lisser par une gaussienne de variance deux fois plus
grande, il suffit de sous-échantillonner d'un facteur 2 l'image, puis de convoluer par une gaussienne de
variance .
Un rapide calcul montre que la soustraction, entre les images lissées à deux échelles successives, permet
2 2  ud'obtenir une bonne approximation de à un facteur constant près, qui ne gène pas pour la
détection des extrema:
1
sk=2
2 2DOG≈k−1  u
Pour détecter les extrema il suffit de comparer, un pixel à ses proches voisins à la même échelle et aux
échelles consécutives:
Descripteur SIFT
Orientation
Afin de définir l'orientation, on effectue un histograme sur 36 cases (pour les 360°) des orientations du
gradient dans la région du point clé. À chaque pixel on assimile un poids à l'orientation correspondant à
l'amplitude du gradient ainsi qu'un poids lié à une fenêtre circulaire gaussienne de taille 1.5× . Ce
qui permet d'attribuer un poids plus important aux forts gradients situés près de l'origine du point
d'intéret.
Pour effectuer un matching plus robuste on utilise plusieurs orientations possibles pour le point
d'intéret. Si une des orientations est supérieure à 80% du pic d'orientation dans l'histogramme on ajoute
un point d'intéret avec une nouvelle orientation.
En moyenne 15% des points détectés se voient assignés plusieurs orientations.
02/09/07 5/29Jérôme Courchay Master MVA 2006-2007
Description
Sur une région pixels, on calcule tous les gradients. Alors on recalcule les vecteurs dans le 16×16
repère défini par l'orientation trouvée pour le point, afin d'obtenir une invariance par rotation.
Ensuite, on découpe cette région en 4×4 zônes (sur la figure ci-dessous 2×2 seulement) et on
calcule l'histogramme sur 8 cases (8 orientations possibles) en pondérant chaque vecteur par une
fenêtre gaussienne de taille ,toujours afin de donner un poids plus important au centre de chaque
2
zône et pour éviter de fortes variations au frontières si il y a des inexactitudes dans les échelles trouvées
et des gradients importants aux frontières.
On obtient un vecteur descripteur de taille . 4×4×8=128
Afin de rèduire les effets dûs aux changements de luminosité, le vecteur est normalisé à 1. D'autre part
les changements non linéaires (saturation, variation de la surface) peuvent affecter les amplitudes des
gradients mais sont moins susceptibles de modifier les orientations. Ainsi pour limiter l'influence des
très forts gradients, les éléments du vecteur sont seuillés à 0.2 , puis le vecteur est normalisé à nouveau.
Résultats Obtenus
Voici une image montrant les « Difference Of Gaussian » obtenues aux différentes échelles:
02/09/07 6/29Jérôme Courchay Master MVA 2006-2007
Voici un aperçu des correspondances trouvées:
Si la plupart des correspondances sont correctes, certaines lignes croisées montrent qu'il est important
de récupérer les véritables correspondances de manière robuste, pour cela on utilise la géométrie des
caméras.
Correspondance Correcte
Correspondance Incorrecte
02/09/07 7/29Jérôme Courchay Master MVA 2006-2007
Modélisation d'une caméra
Equation de reprojection
Une caméra est composée d'une lentille, et les rayons passant sur les bords de la lentille ne sont pas
déviés de la même façon ce qui crée des distortions sur les bords de l'images. Ces problématiques n'ont
pas été traitées dans le logiciel. On peut modéliser de façon simple une caméra comme suit:
figure 1 : Modèle simple de caméra
Si l'on note (x,y) les coordonnées euclidiennes de p dans le plan image, et (X Y Z) les coordonnées
euclidiennes du point réel P dans le repère R1 lié à la caméra, on en déduit:
X
x = f
Z
Y{y = f
Z
Il est alors intéressant de transposer cette formule sous forme matricielle en utilisant les coordonnées
homogènes (u,v,w) et on a alors:
u f 0 0 X
= ×v 0 f 0 Y[ ] [ ] [ ]w 0 0 1 Z
On retrouve x et y en normalisant la troisième coordonnée homogène à 1, en effet:
ux =
w
v{y =
w
Sur le schéma ci-dessus, les coordonnées p sont calculées à-partir du centre de l'image, en général on les
calcule à-partir du coin supérieur gauche de l'image d'ou la formule:
02/09/07 8/29Jérôme Courchay Master MVA 2006-2007
f 0 uu X0
= ×v 0 f v Y
0[ ] [ ][ ]w Z0 0 1
On retrouve les cordonnées x et y dans le nouveau repère de la même façon:
u X
x = = f u0w Z
v Y{y = = f v0w Z
Maintenant si l'on note (X' Y' Z' 1) les coordonnées homogènes du point réel P, dans un repère
quelconque R2. Ce repère étant lié à R1 par une matrice de rotation R (autour des 3 axes) et une
translation du centre du repère on a :
X '
X
Y '[ ]T '× Y = R T ×
Z '[ ]Z [ ]
T '
Finalement en regroupant les formules on peut toujours écrire sous forme homogène l'équation de
reprojection d'un point réel sur l'image sous la forme:
X ' X 'f 0 uu 0
Y ' Y '[ ] [ ]v = 0 f v × R T × =K× R T ×0 Z ' Z '[ ] [ ]w [ ] [ ]0 0 1 T ' T '
K étant la matrice des paramètres intrinsèques (distance focale, centre...) , et [R T] représentant les
paramètres extrinsèques (position de la caméra dans l'espace).
Ambiguité projective
On a vu ci-dessus que la relation entre le point tridimensionnel réel et le point visible sur l'image s'écrit
en coordonnées homogène sous la forme:
X '
u
Y '
v = P×
Z '[ ]w [ ]
T '
P matrice 3×4
Cette relation numérique sera utilisée pour retrouver la matrice P. maintenant cette matrice P n'est pas
unique, en effet pour toute matrice quatre par quatre inversible Q , on peu écrire:
X '
u
−1 Y '= P×Q× Qv
Z '[ ]w [ ] T '
Aussi dans un autre espace projectif la matrice 3 par 4 P×Q est également solution.
02/09/07 9/29Jérôme Courchay Master MVA 2006-2007
Afin de retrouver le bon espace projectif différentes méthodes existent, et utilisent en général le fait
que P a une décomposition particulière. P peut toujours se décomposer sous la forme du produit d'une
matrice triangulaire supérieure et d'une matrice dont la partie gauche est une matrice de rotation:
f skew ux 0
P= ×[ R T]=K×[ R T ]0 f vy 0[ ]0 0 1
On peut retrouver l'espace réel des points à une similarité près, en utilisant une ou plusieurs des
contraintes suivantes (vu plus haut dans le cadre d'une caméra idéale) :
f = f = fx y
skew = 0
u0 = Centre de l ' image{ [ ]v0
Visualisation de la caméra
Lorsque le bon espace projectif a été trouvé, il est intéressant de visualiser certaines informations pour
vérifier et éventuellement rectifier l'espace projectif.
Profondeur des points
Les points doivent être situés devant les caméras, autrement dit dans le repère direct R1 lié à la caméra
(présenté en figure 1), la profondeur Z doit être positive (contrainte de chiralité). Si tel n'est pas le cas,
la reconstruction projective obtenue est symétrique par rapport à la réalité.
Comme vu au cours de l'étude de la caméra on a :
X '
X
Y '=[ R T]×Y Z '[ ] [ ]Z
1
w=Z
Donc en normalisant les coordonnées homogènes des points (T' = 1), w correspond à la profondeur
des points.
Si cette coordonnée est négative on peut facilement prendre la symétrie de l'espace reconstruit, et
inverser la dernière colonne de P afin de respecter la contrainte de chiralité tout en conservant la même
reprojection:
− X '
−u
−Y '= P −P ×−v [ ]33 4 −Z '[ ] [ ]−w
1
−w=Z0
P33: partie gauche 3×3 de P
P4 :dernière colonne de P
02/09/07 10/29

Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.