Détection des pupilles en temps réel avec des systèmes embarqués
Une nouvelle méthode pour détecter les pupilles en temps réel améliore l'interaction des utilisateurs dans diverses applis.
― 7 min lire
Table des matières
La technologie de suivi des yeux est devenue courante dans divers produits, des smartphones aux jeux vidéo. Cette technologie aide à comprendre où une personne regarde, ce qui peut être utile dans plein de domaines comme la recherche sur l'expérience utilisateur, le gaming et la pub. Un élément clé du suivi des yeux est de détecter la pupille, la partie noire de l'œil qui permet à la lumière d'entrer.
Dans cet article, on va parler d'une nouvelle méthode pour détecter les pupilles en temps réel en utilisant un système embarqué. Ça veut dire que le traitement se fait directement sur le dispositif, sans envoyer les données à un ordi. Cette approche peut mener à des appareils plus petits et plus efficaces, plus faciles à utiliser.
C'est quoi la détection de pupille ?
La détection de pupille consiste à trouver la pupille dans les images capturées par une caméra. C'est important parce que savoir où quelqu'un regarde peut aider dans différentes applications. Par exemple, dans la recherche utilisateur, les entreprises peuvent comprendre quels produits attirent le plus d'attention. Dans les jeux vidéo, la vue peut changer selon où le joueur regarde. En plus, le suivi des pupilles peut être utile en santé, comme surveiller la fatigue chez les conducteurs.
Le besoin de détection en temps réel
Les systèmes de suivi des yeux traditionnels dépendent souvent d'un traitement lourd réalisé sur un ordi séparé. Ça peut rendre les systèmes encombrants et moins conviviaux. La détection en temps réel permet une expérience plus fluide. En traitant les images directement sur un petit appareil porté par l'utilisateur, le système peut être léger et portable.
La configuration matérielle
Dans notre configuration, on utilise un dispositif monté sur la tête qui combine deux petites caméras avec un Raspberry Pi, un petit ordi. Le design est simple et utilise des composants largement disponibles, ce qui rend la réplication facile.
Les principales parties de notre appareil incluent :
- Caméra des yeux : Cette caméra capture des images de l'œil. Elle est conçue pour bien fonctionner en faible luminosité et utilise la lumière infrarouge pour améliorer la qualité de l'image.
- Caméra du monde : Cette caméra capture ce que l'utilisateur regarde. Elle fournit un contexte aux images des yeux.
- Raspberry Pi : Cet ordi fait tourner le logiciel de détection et traite les images. Il est petit et économe en énergie.
Le pipeline de détection
On a développé une méthode qui utilise l'analyse des contours pour trouver la pupille dans les images capturées. Voici comment ça marche :
- Capture de l'image : La caméra des yeux prend une image de l'œil de l'utilisateur sous lumière infrarouge.
- Prétraitement : L'image est convertie en niveaux de gris et floutée pour réduire le bruit.
- Détection des contours : On utilise une technique appelée Détection de contours de Canny pour trouver les contours dans l'image.
- Identification des contours : Le système recherche des formes fermées qui pourraient représenter la pupille en fonction de la taille et de la circularité.
- Ajustement d'ellipse : Enfin, une ellipse est ajustée au contour identifié pour obtenir la meilleure estimation de la position de la pupille.
Cette méthode fonctionne à 30 images par seconde, ce qui la rend adaptée aux applications en temps réel.
Tester le système
Pour évaluer notre pipeline de détection de pupilles, on a créé un ensemble de données d'images. On a récolté plus de 35 000 images de 20 participants avec des origines ethniques et des âges variés. Les participants ont pris part à différentes activités pour rassembler des données diversifiées, y compris regarder des points fixes et déplacer leurs yeux dans diverses directions.
Cet ensemble de données est précieux pour tester la méthode de détection contre des défis du monde réel comme les ombres, les reflets et les conditions de lumière variées.
Évaluation des performances
On a testé notre système de détection en utilisant deux ensembles de données principaux : notre propre ensemble de données et l'ensemble de données LPW (Labelled Pupil in the Wild).
Les résultats ont montré :
- Précision : Notre système a atteint une précision moyenne de 51,9 % pour détecter la pupille avec une erreur moyenne de 5,3368 pixels.
- Défis : Le taux de détection varie selon les conditions. Par exemple, des surfaces très réfléchissantes ou des obstructions causées par des lunettes peuvent réduire la précision.
Importance du choix des paramètres
La performance du pipeline de détection de pupilles dépend beaucoup du choix des bons paramètres. Cela inclut les seuils d'intensité pour la détection des contours et la taille du flou utilisée dans le prétraitement des images. Choisir des valeurs optimales aide à améliorer la précision de détection sans surcharger la capacité de traitement du Raspberry Pi.
On a effectué des tests pour trouver les meilleurs paramètres, ce qui a conduit à des améliorations notables des taux de détection.
Consommation de ressources
Lors de l'utilisation de systèmes embarqués, il est crucial de gérer les ressources avec soin. Notre système de suivi des yeux utilise environ 100 Mo de mémoire et consomme environ 30-35 % du CPU tout en traitant des images à une résolution de 480x640 pixels. Le processus de détection est suffisamment efficace pour fonctionner en temps réel sans provoquer de latence sur le Raspberry Pi.
Conclusion
Notre travail montre qu'il est possible de construire un système de détection de pupilles en temps réel en utilisant une configuration compacte et embarquée. La combinaison de matériel facile à sourcer et d'un pipeline logiciel efficace rend cette approche accessible pour les chercheurs et développeurs qui veulent explorer la technologie de suivi des yeux.
L'ensemble de données que nous avons créé, avec le logiciel de détection, est disponible pour d'autres afin de l'utiliser dans leurs études ou projets. Cette transparence favorise la collaboration et les avancées dans le domaine du suivi des yeux et de la détection des pupilles.
En tirant parti de ces développements, on peut améliorer l'interaction utilisateur dans la réalité virtuelle, améliorer l'accessibilité dans la technologie, et contribuer à la recherche en études psychologiques et comportementales.
Directions futures
À mesure que la technologie continue d'avancer, les systèmes de suivi des yeux sont susceptibles de devenir encore plus petits et plus efficaces. Les recherches futures pourraient se concentrer sur l'intégration de techniques d'apprentissage automatique pour améliorer la précision de détection des pupilles dans des conditions difficiles. De plus, explorer d'autres applications pour cette technologie, comme les expériences de réalité virtuelle ou la surveillance de la santé, pourrait ouvrir de nouvelles voies à l'innovation.
Le suivi des yeux a le potentiel de transformer notre interaction avec la technologie et notre compréhension du comportement humain. À mesure qu'on continue d'améliorer ces systèmes, on se rapproche de faire du suivi des yeux une partie standard de la technologie quotidienne.
Titre: An Embedded and Real-Time Pupil Detection Pipeline
Résumé: Wearable pupil detection systems often separate the analysis of the captured wearer's eye images for wirelessly-tethered back-end systems. We argue in this paper that investigating hardware-software co-designs would bring along opportunities to make such systems smaller and more efficient. We introduce an open-source embedded system for wearable, non-invasive pupil detection in real-time, on the wearable, embedded platform itself. Our system consists of a head-mounted eye tracker prototype, which combines two miniature camera systems with Raspberry Pi-based embedded system. Apart from the hardware design, we also contribute a pupil detection pipeline that operates using edge analysis, natively on the embedded system at 30fps and run-time of 54ms at 480x640 and 23ms at 240x320. Average cumulative error of 5.3368px is found on the LPW dataset for a detection rate of 51.9\% with our detection pipeline. For evaluation on our hardware-specific camera frames, we also contribute a dataset of 35000 images, from 20 participants.
Auteurs: Ankur Raj, Diwas Bhattarai, Kristof Van Laerhoven
Dernière mise à jour: 2023-02-27 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2302.14098
Source PDF: https://arxiv.org/pdf/2302.14098
Licence: https://creativecommons.org/licenses/by-nc-sa/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.