Guillaume Bourmaud
L'objectif de ce TP est d'estimer, à partir d'une paire d'images, la matrice fondamentale (à l'aide d'un RANSAC), puis d'utiliser cette dernière pour effectuer une rectification stéréo de cette paire d'images. Le résultat obtenu est donc une paire d'images stéréo, c'est-à-dire une paire d'images où le correspondant d'un point dans une image se situe sur la même ligne dans l'autre image.
Le script main_squelette.m
contient les principales étapes permettant de réaliser la rectification stéréo d'une paire d'images.
La première partie du script main_squelette.m
consiste à effectuer une mise en correspondance automatique entre l'image im1
et l'image im2
avec l'algorithme SIFT. Pour cela, il est conseillé d'utiliser les fonctions vl_sift
et vl_ubcmatch
pour obtenir des correspondances.
La seconde partie du script consiste à coder et appeler une fonction ransac
dans le but d'estimer la matrice fondamentale $F_{21}$. L'algorithme des 8 correspondances vous est fourni dans le fichier eightpoint.m
.
Après avoir estimé la matrice fondamentale $F_{21}$, le script produit deux matrices : $H_{n1}$ et $H_{n2}$. Ces deux matrices sont des homographies à appliquer aux images im1
et im2
permettant d'obtenir une paire d'images stéréo. Plus précisément, la matrice d'homographie $H_{n1}$ permet de transformer un point du plan image de im1
en un point du plan image de l'image rectifiée im_1rect
. La matrice d'homographie $H_{n2}$ permet de transformer un point du plan image de im2
en un point du plan image de l'image rectifiée im_2rect
. Après transformations des images im1
et im2
à l'aide des homographies $H_{n1}$ et $H_{n2}$, les deux images résultantes im_1rect
et im_2rect
forment une paire d'images stéréo.
Afin de réaliser correctement cette étape, il est fortement recommandé de dessiner un schéma représentant im1
, im2
, im_1rect
et im_2rect
. Sur ce schéma doivent figurer les matrices $H_{n1}$ et $H_{n2}$.
Dans un premier temps, les tailles des images im_1rect
et im_2rect
pourront être fixées manuellement afin d'obtenir un premier résultat de rectification stéréo. Dans un second temps, il faudra calculer automatiquement les bornes de ces images afin qu'elles conservent toute l'information visuelle contenue dans im1
et im2
.