Reconstruction 3D et localisation d’un dispositif dans une scène
Coordonnées homogènes
Posons Pn l’espace projectif de dimension n comme étant l’ensemble des classes d’équivalence de R n+1 formé par la relation qui suit :
∀u, v ∈ Rn+1∗ , u ∼ v ⇐⇒ ∃λ ∈ R∗ tel que u = λv (2.1)
Ce qui nous intéresse ici est de définir la notion de points homogènes, un vecteur de Pn pourra ainsi être noté :
w = [w1 . . . wn+1]T (2.2)
Avec au moins un des wi non nul. Si wn+1, le dernier paramètre, est non nul alors le vecteur w¯ = [w1/wn+1 . . . wn+1/wn+1]T est le représentant de la classe de w. On nomme w¯ vecteur homogène. Si wn+1 est nul, alors w représente un point à l’infini.
Modélisation d’une caméra
Nous allons ici présenter le modèle de caméra sténopé. Nous avons choisi ce modèle car les smartphones du marché configurés de façon usuelle le respectent suffisamment. D’autres modélisations ou traitements mathématiques sont envisageables, elles sont présentées plus en détail dans [HZ03]. Nous avons pris le parti ici de décrire seulement ceux que nous avons utilisés, et qui permettent de comprendre notre approche.
Puisque le processus de prise de photo peut être mathématiquement assimilé à une projection d’une scène 3D dans un plan 2D, on peut le modéliser ainsi : la caméra est représentée par un point. La projection de la scène 3D sur l’image se fera dans un plan placé dans le plan focal de l’appareil (plan situé à la distance focale du dispositif). Pour déterminer la position d’un point de l’espace dans l’image on tracera la droite de l’espace passant par le centre du dispositif et par le point 3D en question. L’intersection de cette droite avec le plan focal nous donnera la position 2D du point 3D dans l’image. Ce dispositif est nommé caméra sténopée (en anglais pinhole camera model).
La matrice de projection d’une telle caméra peut être définie ainsi :
P = K[R|t] (2.4)
où K est la matrice de calibration, R la matrice de rotation, et t le vecteur de translation.
Matrice de calibration d’une caméra
La matrice de calibration est celle qui renseigne sur les paramètres intrinsèques de la caméra. Ces paramètres intrinsèques correspondent aux réglages internes de la caméra, ils sont aussi appelés paramètres internes.
Le vecteur c = [u0, v0]T représente les coordonnées image de l’intersection de l’axe optique avec le plan focal de l’appareil, ce point est appelé point principal.
Dans la plupart des cas le point principal c sera suffisamment proche du centre, et les pixels seront carrés donc αu et αv sont égaux. Il existe plusieurs algorithmes permettant de calibrer une caméra comme l’algorithme proposé dans [JY08].
Caméra normalisée
Pour faciliter certains calculs liés à la géométrie épipolaire, nous avons besoin de nous placer dans le contexte où la calibration de la caméra est connue. Cela permet de simplifier certaines représentations et surtout de plus facilement déterminer les positions relatives de deux caméras. Pour cela nous introduisons la normalisation des caméras et des coordonnées.
En partant du principe que la calibration de l’appareil utilisé K est connue, nous pouvons poser :
xˆ = K⁻¹ x (2.5)
x sont les coordonnées d’un point dans l’image. xˆ est nommé coordonnées normalisées de x. Cela permet ensuite d’exprimer xˆ comme suit :
xˆ = [R|t]X (2.6)
où R la matrice de rotation, et t le vecteur de translation, X est un point de l’espace correspondant à x dans l’image. De la même manière nous nommons caméra normalisée la matrice qui suit :
Pˆ = K⁻¹ P = [R|t] (2.7)
Nous avons maintenant introduit la plupart des outils dont nous avons besoin pour la représentation d’une caméra. Nous pouvons donc aborder des notions de géométries plus particulières, permettant par la suite le calcul des poses de caméra.
Géométrie épipolaire
La géométrie épipolaire est la géométrie de différentes représentations d’un même objet. Étant donné que le processus de prise de photo peut être assimilé à une projection d’une scène 3D dans un plan 2D, on peut le modéliser,
• la caméra est considérée comme un point
• la projection de la scène 3D sur l’image se fera dans un plan placé dans le plan focal de l’appareil (plan situé à la distance focale du dispositif).
• Pour déterminer la position d’un point 2D sur l’image on tracera la droite de l’espace passant par le centre du dispositif et par le point 3D. L’intersection de cette droite avec le plan focal nous donnera la position du point 2D sur l’image.
Matrice Fondamentale
L’avantage de la géométrie épipolaire est qu’elle nous permet d’avoir des informations sur deux images d’un même objet sans avoir besoin de connaitre la pose des caméras a priori, cas dans lequel nous nous trouvons. La géométrie épipolaire à deux vues se caractérise par l’existence de la matrice fondamentale F, qui a plusieurs propriétés intéressantes. La matrice F permet de modéliser une relation entre deux points x1 d’une image I1 et x2 d’une image I2, qui sont en correspondance (c’est à dire qu’ils représentent le même point X de l’espace). À noter qu’ici les images I1 et I2 sont deux représentations d’un même objet sous deux angles de vues différents.
La matrice F a donc un intérêt non négligeable : elle nous permet de vérifier par la suite si des points que nous avons mis en correspondance sont cohérents. Elle nous aide ainsi à filtrer les points mis en correspondance à tort. F étant une matrice 3×3, il faut théoriquement 9 correspondances pour la déterminer. Cependant F est définie à un facteur multiplicatif près. Il est donc possible de l’obtenir à partir de 8 correspondances. De plus F est de rang 2. On peut donc la paramétrer avec 7 paramètres indépendants. L’algorithme des 7 points consiste à trouver le noyau du système linéaire constitué par 7 correspondances 2D. Ces correspondances fournissent un système d’équation de rang 2. Ce noyau est de dimension 2, la matrice F s’exprime sous la forme :
F = F1 + αF2 (2.9) .
|
Table des matières
1 Introduction
1.1 Introduction de la réalité augmentée
1.2 Contexte de la thèse
1.3 Problématique et objet de la thèse
2 État de l’art
2.1 Reconstruction 3D et localisation d’un dispositif dans une scène
2.1.1 Coordonnées homogènes
2.1.2 Modélisation d’une caméra
2.1.3 Matrice de calibration d’une caméra
2.1.4 Caméra normalisée
2.1.5 Géométrie épipolaire
2.1.6 Points d’intérêts
2.1.7 Détection
2.1.8 Calcul des descripteurs
2.1.9 Appariement des points 2D des images
2.1.10 Filtrage épipolaire
2.1.11 Méthodes d’estimation connues
2.1.12 Reconstruction 3D
2.1.13 Méthodes « Structure From Motion » (SFM): mise en application des méthodes de reconstruction
2.2 Problématique du temps réel
2.2.1 Positionnement du problème de réalité augmentée
2.2.2 Réalité augmentée basée sur marqueurs
2.2.3 Méthodes de réalité augmentée sans marqueurs
3 Présentation de notre méthodologie
3.1 Méthode hors ligne/en ligne avec SIFT
3.1.1 Pré-traitement: phase hors ligne
3.1.2 Nuage de point 3D et liaison avec points 2D: phase en ligne
3.1.3 Calcul de la pose d’une image
3.2 Accélération du suivi
3.2.1 Filtrage des points SIFT
3.2.2 Structuration de la base d’image sous forme de graphe
3.2.3 Filtrage des images de la base
3.3 Résultats
3.3.1 Test de la robustesse de nos estimations sans optimisation
3.3.2 Test de la robustesse de nos estimation avec optimisations
3.3.3 Conclusion
4 Contribution aux descripteurs binaires
4.1 Descripteur binaire robuste
4.1.1 Mécanisme de sélection
4.1.2 Analyse du mécanisme de sélection et améliorations proposées
4.2 Résultats et apports de notre descripteur
4.2.1 base de données Photo Tourism
4.2.2 base de données Vgg
4.2.3 Expériences synthétiques
4.2.4 Utilisation de notre descripteur dans le cadre de la réalité augmentée
4.3 Bilan sur les descripteurs
5 Conclusion