Manipulation d’un objet virtuel à l’aide d’une cible et d’une caméra Réalité mixte et augmentée: Manipulation d’un objet virtuel à l’aide d’une cible et d’une caméra Martin Breton Masood Jahanmir Lubna Semlaji Yves St-Onge Présentation du projet de vision numérique 11 décembre 2003
Objectifs Interaction avec l’usager Modifier la pose d’un objet virtuel Temps réel Cible réelle tenue à la main
Méthode utilisée Homographie 4 points image <-> 4 points modèle
Étapes du système Capture de l’image (webcam) Segmentation / Reconnaissance Calcul de l’homographie Application de la transformation à l’objet dans la scène
Segmentation par la couleur Application d’un seuil sur HSV Filtre Gaussien (5x5) Opérateurs morphologiques Fermeture Ouverture
Segmentation: ajout de critères Pourquoi? Améliorer la robustesse Limiter les fausses détections Étiquetage des blobs « Solidité » Grosseur des blobs
Reconnaissance Implicite à la méthode On sait quelle couleur on détecte On sait donc de quel point il s’agit
Illustration des étapes
Calcul de l’homographie (1/2) Résolution de 2 * 4 équations h33=1
Calcul de l’homographie (2/2) Pour retrouver la matrice de transformation [r1 r2 r3 t]*: * Pour assurer que r1 et r2 sont unitaires, minimisation de la différence entre la matrice « idéale » et calculée en utilisant une SVD.
Transformation de la pose de l’objet dans la scène OpenGL glLoadMatrix() Application de la transformation « Blending » du frame vidéo
Limitations (1/2) Sensible aux occultations Si un seul des points n’est pas visible, le système ne fonctionne plus Équilibrage du blanc: une nécessité Fausse détection Peut trouver une zone de couleur et de forme similaire dans l’image n’appartenant pas à la cible
Limitations (2/2) Zone d’opération (pour une cible 160cm x 160 cm) De 30cm à 2m On peut incliner la cible à environ 45 degrés dans tous les axes, pas plus. Déterminer les bon seuils (automatique?) Système non-causal Chaque image traitée indépendamment Solution: filtrage temporel
Exemple de résultats (1/7)
Exemple de résultats (2/7)
Exemple de résultats (3/7)
Exemple de résultats (4/7)
Exemple de résultats (5/7)
Exemple de résultats (6/7)
Exemple de résultats (7/7)
Et maintenant… La démo!