Attention: cette page est une traduction automatique (machine), en cas de doute, veuillez vous reporter au document anglais original. Nous nous excusons pour la gêne occasionnée.
TrackEye
TrackEye Review
- Nom de la technologie: TrackEye
- Lien: http://www.codeproject.com/Articles/26897/TrackEye-Real-Time-Tracking-Of-Human-Eyes-Using-a
- Prix: libre
- Popularité: Gagnant du concours "Meilleur article sur C ++ / MFC de juin 2008".
- Exigences physiques minimales: Le patient doit pouvoir bouger ses yeux librement.
Description détaillée:
Les yeux sont les caractéristiques les plus importantes du visage humain. L’utilisation efficace des mouvements oculaires en tant que technique de communication dans les interfaces utilisateur-ordinateur peut donc trouver sa place dans divers domaines d’application.
Le suivi oculaire et les informations fournies par les caractéristiques oculaires peuvent devenir un moyen intéressant de communiquer avec un ordinateur dans un système d'interaction homme-machine (HCI). Donc, avec cette motivation, concevoir un logiciel de suivi des caractéristiques oculaires en temps réel est l’objectif de ce projet.
Le projet a pour objectif de mettre en œuvre un suivi des caractéristiques oculaires en temps réel doté des fonctionnalités suivantes:
- Suivi des visages en temps réel avec invariance d'échelle et de rotation
- Suivi individuel des yeux
- Suivi des caractéristiques oculaires
- Recherche du regard dans les yeux
- Contrôle à distance à l'aide de mouvements oculaires
Instructions pour exécuter et reconstruire TrackEye
Extrayez le fichier TrackEye_Executable.zip. Avant d'exécuter TrackEye_636.exe, copiez les deux fichiers SampleHUE.jpg et SampleEye.jpg dans le dossier C: \. Ces deux fichiers sont utilisés pour les algorithmes CAMSHIFT et Template-Matching.
Il n’ya pas d’autres étapes à suivre par l’utilisateur pour exécuter le logiciel. Il n'y a pas de dépendances de DLL car le logiciel a été créé avec les DLL incluses de manière statique.
Paramètres à effectuer pour effectuer un bon suivi
Paramètres de détection du visage et des yeux
Under TrackEye Menu --> Paramètres de suivi.
- Source d'entrée: vidéo
- Cliquez sur Sélectionner le fichier et sélectionnez .. \ Avis \ Sample.avi
- Algorithme de détection de visage: Algorithme de détection de visage de Haar
- Cochez «Suivre aussi les yeux» checkBox
- Algorithme de détection oculaire: PCA adaptative
- Décochez «Vérification de la variance»
- Nombre d'images de la base de données: 8
- Nombre d'EigenEyes: 5
- Distance maximale autorisée de l'espace pour les yeux: 1200
- Ratio largeur visage / largeur du gabarit: 0,3
- Type d'espace colorimétrique à utiliser lors de la PCA: CV_RGB2GRAY
- Paramètres de détection de la pupille
Cochez «Suivre les yeux dans les détails» puis cochez «Détecter également les pupilles oculaires». Cliquez sur le bouton «Ajuster les paramètres»:
- Entrez «120» comme «valeur seuil»
- Cliquez sur «Enregistrer les paramètres», puis sur «Fermer».
- Paramètres pour le serpent
Cochez «Indiquer la limite des yeux à l’aide de serpents actifs» Cliquez sur le bouton «Paramètres pour le serpent»:
- Sélectionnez ColorSpace à utiliser: CV_RGB2GRAY
- Sélectionnez le seuillage simple et entrez 100 comme «valeur de seuil».
- Cliquez sur «Enregistrer les paramètres», puis sur «Fermer».
- Contexte
- Jusqu'à présent, beaucoup de travail avait été fait sur la détection des yeux et avant le projet, les méthodes précédentes étaient soigneusement étudiées pour déterminer la méthode mise en œuvre. Nous pouvons classer les études relatives à l'œil en deux catégories principales, énumérées ci-dessous.
Approches basées sur des équipements spéciaux
Ces types d’études utilisent l’équipement nécessaire pour donner un signal proportionnel à la position de l’œil sur l’orbite. Les différentes méthodes couramment utilisées sont l'électrooculographie, l'osculographie infrarouge, les bobines de recherche sclérales. Ces méthodes sont complètement hors de notre projet.
Approches basées sur l'image
Les approches basées sur les images détectent les yeux sur les images. La plupart des méthodes basées sur l'image essaient de détecter les yeux en utilisant leurs caractéristiques. Les méthodes utilisées jusqu'à présent sont les méthodes basées sur la connaissance, les méthodes basées sur les fonctionnalités (couleur, dégradé), l'appariement de modèles simple et les méthodes d'apparence. Une autre méthode intéressante est la «correspondance de modèle déformable», qui consiste à faire correspondre un modèle géométrique pour les yeux à une image en minimisant l'énergie du modèle géométrique.
Mise en œuvre de TrackEye
Le projet mis en œuvre comporte trois composantes:
- Détection de visage: effectue une détection de visage invariante à l'échelle
- Détection oculaire: les deux yeux sont détectés à la suite de cette étape.
- Extraction des yeux: Les traits des yeux sont extraits à la fin de cette étape.
- Détection facial
Deux méthodes différentes ont été mises en œuvre dans le projet. Elles sont:
- Algorithme de décalage de moyens continuellement adaptatif
- Méthode de détection de visage de Haar
- Algorithme de décalage moyen en continu adaptatif
- L'algorithme de décalage moyen adaptatif est utilisé pour suivre les visages humains et repose sur une technique non paramétrique robuste permettant aux gradients de densité ascendants de trouver le mode (pic) des distributions de probabilité appelées algorithme de décalage moyen. Au fur et à mesure que les visages sont suivis dans des séquences vidéo, l'algorithme de décalage moyen est modifié pour traiter le problème de la modification dynamique des distributions de probabilité de couleur. Le schéma fonctionnel de l'algorithme est donné ci-dessous:
Méthode de détection du visage de Haar
Le second algorithme de détection de visage est basé sur un classifieur utilisant des fonctionnalités de type Haar (à savoir une cascade de classificateurs boostés utilisant des fonctionnalités de type Haar). Tout d’abord, il s’entraîne avec quelques centaines d’échantillons de visages. Une fois formé, le classificateur peut être appliqué à une région d’intérêt dans une image d’entrée. Le classificateur génère un "1" si la région est susceptible de montrer un visage et "0" dans le cas contraire. Pour rechercher l'objet dans l'image entière, il est possible de déplacer la fenêtre de recherche sur l'image et de vérifier chaque emplacement à l'aide du classificateur. Le classificateur est conçu pour pouvoir être facilement "redimensionné" afin de pouvoir trouver les objets d’intérêt de différentes tailles, ce qui est plus efficace que de redimensionner l’image elle-même.