Réalité mixte et augmentée:
Manipulation d’un objet virtuel à l’aide d’une cible et d’une caméra
Martin BretonMasood JahanmirLubna SemlajiYves 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
xboundingbo
allumésblob Pixels
Pixelssolidité
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)
Homographie:
Résolution de 2 * 4 équations
4
4
3
3
2
2
1
1
32
31
23
22
21
13
12
11
444444
444444
333333
333333
222222
222222
111111
111111
**1000
**0001
**1000
**0001
**1000
**0001
**1000
**0001
v
u
v
u
v
u
v
u
h
h
h
h
h
h
h
h
vyvxyx
uyuxyx
vyvxyx
uyuxyx
vyvxyx
uyuxyx
vyvxyx
uyuxyx
1121 y
x
trrKv
u
s
h33=1
Calcul de l’homographie (2/2) Pour retrouver la matrice de transformation [r1 r2 r3 t]*:
11
1 hKr 2
12 hKr
31hKt 213 rrr
* 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!
Top Related