Initialisation automatique du recalage 2D/3D pour la réalité virtuelle et augmentée IRISA - Equipe TEMICS 6 Fevrier 2008 1/18
Problématique : Recalage vidéo 2D et modèle 3D Problématique Avec : Le modèle 3D d une scène Une photo/vidéo de la scène Le but est de retrouver la position de la camera. C est du calcul de pose. Les deux modèles doivent se superposer, être recalés. 2/18
1 Intérêt du recalage Réalité augmentée Génération de modèle 3D 2 Modèle 3D Alignement des vecteurs déplacements Extraction du vecteur déplacement dans la vidéo 3 Extraction des lignes de contours Labélisation des contours Calcul de pose 4 Par reconstruction Mise en correspondance de primitives 3D Recalage 3D 3/18
Intérêt pour la réalité augmentée Réalité augmentée Génération de modèle 3D Permet de mélanger des images réels et de synthèses. Incruster un personnage/objet virtuel dans un environnement réel Insérer un acteur réel dans un environnement virtuel. De nombreuses applications dans le domaine du cinéma, des effets spéciaux, des visites guidées,... 4/18
Réalité augmentée Génération de modèle 3D Génération de modèle 3D photo-réaliste Possibilité de raffiner le modèle 3D. Extraction de texture Détection des portes et fenêtres Application aux visites virtuelles, cartographies,... Fig.: Découpage des textures Fig.: Détection des portes/fenêtres et de leur profondeur 5/18
Données SIG Intérêt du recalage Modèle 3D Alignement des vecteurs déplacements Extraction du vecteur déplacement dans la vidéo Remarques Système d Information Géographique (SIG) Ce sont des données géographique géo-référencées. Elles contiennent entre autre : Les contours au sol des bâtiments La hauteur des bâtiments Elles permettent une représentation des bâtiments sous la forme de polyèdres simples. Fig.: Données SIG vue de dessus et en 3D 6/18
Principe Intérêt du recalage Modèle 3D Alignement des vecteurs déplacements Extraction du vecteur déplacement dans la vidéo Remarques Déplacement t GPS La caméra est équipée d un GPS. On récupère le déplacement de la caméra dans le repère R UTM. Déplacement t relatif A partir des mouvements de la vidéo, on récupère le déplacement de la caméra dans le repère R Camera. Alignement des vecteurs déplacements Ces deux déplacements étant un seul mouvement, leurs alignement permet de retrouver l orientation de la camera. 7/18
Géométrie épipolaire Modèle 3D Alignement des vecteurs déplacements Extraction du vecteur déplacement dans la vidéo Remarques Géométrie épipolaire A partir de deux images de la vidéo : Les points en correspondances (cad qui représentent le même point physique) vérifient la géométrie épipolaire. j : m j T F mj = 0 Avec F la matrice Fondamentale. On en déduit la matrice Essentielle (la pose) : E = K T F K Avec K les paramètres intrinsèques de la caméra. La matrice E représente la rotation et la translation de la camera entre les deux images : E = [R t] 8/18
Modèle 3D Alignement des vecteurs déplacements Extraction du vecteur déplacement dans la vidéo Remarques Extraction du vecteur déplacement dans la vidéo t relatif Implémentation Les points d intérêts sont mis en correspondance par une méthode de suivie La matrice F est estimée de façon robuste (RANSAC), pour éliminer le bruit et les erreurs. Les paramètres de translation sont récupérés par décomposition de la matrice E en valeurs singulières Les vecteurs t relatif et t GPS sont ensuite projetés dans le plan du sol. On ne conserve que l angle θ qu ils forment entre eux, qui correspond à l orientation de la camera. 9/18
Remarques Intérêt du recalage Modèle 3D Alignement des vecteurs déplacements Extraction du vecteur déplacement dans la vidéo Remarques Remarques Calcul peu précis de la pose Un seul paramètre de la rotation est estimé (θ), les autres sont supposés nuls Très efficace pour une première approximation de la pose. Permet de limiter le modèle 3D aux primitives visibles dans la vidéo. Fig.: Recalage approximatif 10/18
Extraction des lignes de contours Extraction des lignes de contours Labélisation des contours Calcul de pose Extraction des contours (Canny) A partir d une image, récupération des pixels de gradient maximum (les contours). Transformation de Hough Recherche d alignements dans ces pixels de contours par l algorithme de Hough. 11/18
Extraction des lignes de contours Labélisation des contours Calcul de pose Classification par contexte géométrique Classification par contexte géométrique Utilisation sur l image d une classification des pixels. Plusieurs classes : Ciel Sol Façades (Vue de face, ou légèrement de profile) Surface poreuse (végétation) Objets solide (tout le reste) 12/18
Labélisation des contours Extraction des lignes de contours Labélisation des contours Calcul de pose Les lignes de contours sont ensuite labélisées en fonction de leur proximité aux frontières de classes. Cela limite les correspondances à vérifier par la suite. Fig.: Lignes labélisées 13/18
Calcul de pose précis Extraction des lignes de contours Labélisation des contours Calcul de pose Un ensemble de 4 lignes est mis en correspondance avec le modèle. Une pose précise est calculée, qui aligne ces 4 lignes. Cette pose est noté en fonction du nombre des lignes qu elle fait correspondre. La meilleure pose est conservée (RANSAC). Remarques Des erreurs parfois (arêtes de bâtiment peu visible dans l image) Exécution lente (environs une minute) 14/18
Nuage de points 3D Par reconstruction Mise en correspondance de primitives 3D Recalage 3D Possibilité de retrouver les coordonnées 3D d un point physique (dans le repère caméra). Il suffit de résoudre les équations : x 1 = P 1x (X, Y, Z) y 1 = P 1y (X, Y, Z). x n = P nx (X, Y, Z) y n = P ny (X, Y, Z) Avec (x i, y i ) les coordonnées du point M dans l image i. On obtient un nuage de points 3D. Fig.: Deux vues d un nuage de points 3D 15/18
Par reconstruction Mise en correspondance de primitives 3D Recalage 3D Extraction de contours, et reconstruction 3D Fig.: Une des photographies Fig.: Contours en 3D 16/18
Alligner modèl SIG et pseudo-modèl Par reconstruction Mise en correspondance de primitives 3D Recalage 3D Fig.: Modèle SIG Calcul de pose pour minimiser les distances entre les surfaces du modèle théorique SIG, et les contours 3D extraits. Utilisation d un algorithme ICP (Iterative Closest Point). 17/18 Fig.: Contours en 3D
Le recalage est un problème courant en réalité virtuelle et augmentée. Une multitude de solutions ont été implémentées. La solution actuelle proposée par TEMICS est : Robuste à la présence d arbres, de personnes,... Sujette aux erreurs dans des cas atypiques Autres solutions? Questions? 18/18