Interfaces perceptuelles Interaction avec une caméra.
-
Upload
igraine-leblanc -
Category
Documents
-
view
111 -
download
0
Transcript of Interfaces perceptuelles Interaction avec une caméra.
![Page 1: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/1.jpg)
Interfaces perceptuelles
Interaction avec une caméra
![Page 2: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/2.jpg)
Comment enlever le bruit dans une image de caméra ?
• Calculer la moyenne des N images les plus récentes
• On a besoin de stocker les N images le plus récentes• Désavantages: temps de calcul O(N), et mémoire
requis O(N)
t
Nti
iIN
tI1
)(1
)(
Exemple du résultat de calculer une moyenne d’images:http://marcodsouza.blogspot.com/2009/04/reduce-noise-in-your-digital-photos.html
![Page 3: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/3.jpg)
![Page 4: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/4.jpg)
![Page 5: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/5.jpg)
![Page 6: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/6.jpg)
Moyenne des 3 images précédentes
![Page 7: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/7.jpg)
Comment enlever le bruit dans une image de caméra ? (suite)
• Calculer une moyenne des images, avec un poids qui diminue de façon exponentielle avec le temps:
• L’image la plus récente a alors un poids de α, l’image précédente un poids de (1-α)α, la précédente (1-α)2α, la précédente (1-α)3α, etc.
• On a seulement besoin de stocker la moyenne précédente, et l’image actuelle, pour calculer la nouvelle moyenne
• Temps de calcul O(1), mémoire requis O(1) (si on laisse tomber la résolution des images comme étant des constantes)
)1(1)()( tIiItI
![Page 8: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/8.jpg)
Une première technique pour reconnaître des gestes de
mains
![Page 9: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/9.jpg)
Le gradient
• Le gradient est un vecteur calculé à partir d’une fonction scalaire
• Les changements sont plus rapides dans la direction du gradient. Autrement dit, le gradient est perpendiculaire aux “arêtes” (“edges”, ou “edgels”) dans l’image.
y
p
x
pp ,
![Page 10: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/10.jpg)
Pour estimer l’orientation de l’arête passant par un pixel :
• Utiliser un estimé du gradient:
• L’angle du vecteur donne l’orientation• La norme du vecteur est proportionnelle au
contrast entre les deux côtés de l’arête
)1,(),(),,1(),(),( jipjipjipjipjip
![Page 11: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/11.jpg)
Exemples de gradients
![Page 12: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/12.jpg)
Histogrammes d’orientation : apprentissage
Freeman et al. 1998, “Computer Vision for Interactive Computer Graphics”
![Page 13: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/13.jpg)
Histogrammes d’orientation : reconnaissance
NB: Un retour visuel de la confiance aide à déboguer et à apprendre à exprimer le bon geste.
Freeman et al. 1998, “Computer Vision for Interactive Computer Graphics”
![Page 14: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/14.jpg)
Histogrammes d’orientation :Cas problématiques pour une main
Rotation globale de la main
Des ensembles de doigts différents, mais orientés dans la même direction
La main n’occupe pas la majorité de l’image
Fre
em
an
et a
l. 19
98
, “Co
mp
ute
r Visio
n fo
r Inte
ractive
Co
mp
ute
r G
rap
hics”
![Page 15: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/15.jpg)
Une deuxième technique pour reconnaître une main
(sur un fond monochrome)
D’un article de Malik et Laszlo (2004) http://doi.acm.org/10.1145/1027933.1027980
![Page 16: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/16.jpg)
Deuxième technique
• Comment distinguer les pixels du fond des pixels de la main ?– Il faut “segmenter” l’image en deux parties:
l’avant plan (“foreground”) et l’arrière plan (“background”)
![Page 17: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/17.jpg)
Deuxième technique
![Page 18: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/18.jpg)
Deuxième technique
![Page 19: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/19.jpg)
Deuxième technique
![Page 20: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/20.jpg)
Deuxième technique
![Page 21: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/21.jpg)
Deuxième technique
Questions:
- Est-ce que le seuil à utiliser pourrait changer à mesure que les conditions d’éclairage changent, ou avec différents utilisateurs?
- Comment trouver un bon seuil de façon automatique?
![Page 22: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/22.jpg)
Deuxième technique
(Ici, avec du bruit rajouté manuellement.)
![Page 23: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/23.jpg)
Deuxième technique
On identifie chaque region de pixels connexes avec une couleur unique (ceci peut se faire, par exemple, avec des opérations de “floodfill”).
![Page 24: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/24.jpg)
Deuxième technique
On élimine toutes les régions avec une aire plus petite qu’un seuil, et on garde au maximum les deux régions les plus grandes.Question: comment identifier la main gauche et la main droite ?
![Page 25: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/25.jpg)
Deuxième technique
• Pourquoi un fond noir ?– Avantages: fonctionne assez bien même avec
des ombres
• Et un fond vert ou bleu ?– Pourrait fonctionner mieux si la peau a une
couleur foncée
![Page 26: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/26.jpg)
Deuxième technique
• Comment trouver les doigts ?
![Page 27: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/27.jpg)
Deuxième technique
Suivre le contour des pixels d’avant plan, et évaluer l’angle entre les pixels i-k, i, et i+k …
![Page 28: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/28.jpg)
Deuxième technique
![Page 29: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/29.jpg)
Deuxième technique
![Page 30: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/30.jpg)
Deuxième technique
![Page 31: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/31.jpg)
Deuxième technique
angle
position i
Comment trouver le bout de chaque doigt ?
![Page 32: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/32.jpg)
Deuxième technique
D’un article de Malik et Laszlo (2004)http://doi.acm.org/10.1145/1027933.1027980
Comment trouver la direction de chaque doigt ?
![Page 33: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/33.jpg)
![Page 34: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/34.jpg)
TAFFI (Thumb and Fore-Finger Interface; Andy Wilson 2006)
http://research.microsoft.com/en-us/um/people/awilson/publications/wilsonuist2006/wilsonuist2006.htmlhttp://doi.acm.org/10.1145/1166253.1166292
![Page 35: Interfaces perceptuelles Interaction avec une caméra.](https://reader035.fdocuments.us/reader035/viewer/2022062404/551d9db5497959293b8da424/html5/thumbnails/35.jpg)
Tanglible User Interface (TUI) : reactable ( http://www.reactable.com/ )