Blame view

Compte_rendu.md 2.23 KB
10b6b9e0   dtillaux   push
1
2
3
4
5
6
7
8
9
10
11
12
13
  Compte rendu TP IHM Tillaux Damien
  
  Date de rendu d'après le tableau des modalités 4 mai
  
  Ce mini TP avait pour principe de réaliser le controle le curseur d'un ordi avec l'orientation de la tête. Dans un premier temps nous devons détecter un visage via la webcam. Grâce à openCV nous pouvons réaliser cela rapidement mais avec quelque limite: le programme detecte souvent d'autre visage qui n'en sont pas .
  
  Pour limiter au visage exploitable nous allons sélectionner le visage où openCV détecte 2 yeux. Cela va nous servir dans la suite pour l'orientation de la tête.
  
  Pour maintenant contrôler le déplacement vers la gauche ou la droite du curseur nous allons regarder la diffrence de hauteur des yeux détectés précedement. Passé une certainne limite de différence de hauteur nous pouvons déduir que l'utilisateur veut déplacer le curseur vers la gauche ou la droite. Maintenant pour le déplacement du curseur vers le haut ou le bas est un autre problème. Il n'existe pas avec openCV de manière de réaliser la différenciation de hauteur de la tête pour n'importe quelle configuration. J'ai alors trouvé une manière de faire qui posède quelque limite. Pour cela je regarde la différence de autre entre le centre du visage et la hauteur moyenne des 2 yeux s'ils ne sont pas penchés. J'ai alors trouvé expérimentalement 2 valeurs qui permettent de différencier si la tête regarde vers le haut ou le bas.
  Le problème d'avoir toutes ces valeurs qui permettant de dire comment se trouve la tête de l'utilisateur, est que l'utilisateur doit se trouver à une certainne distance du la webcam pour que cela fonctionne normalement. Sinon le programme ne fonctionnera pas ou fonctionnera trop vite.
  
  Les limites d'openCV: la détections du visage et des yeux sont très compliqué et passé une certainne inclinaison de la tête les yeux ne sont plus détecté. Cela implique que nous ne pouvons pas inclure une vistesse de déplacement du curseur car nous ne pouvons pas savoir à quel moment openCV va décrocher.
  Nous ne pouvons pas alors agir sur la vitesse de déplacement du curseur ce qui est un grand désavantage du cette technique. De plus nous ne pouvons pas avec openCV agir sur un déplacement du curseur autre que droite gauche haut bas.