Cadre simplifié de reconnaissance des gestes de la main personnalisés
Crée facilement des systèmes de reconnaissance de gestes personnalisés avec peu de données.
― 8 min lire
Table des matières
- Cadre de Reconnaissance de Gestes Personnalisés
- Comment le Système Fonctionne
- Entraînement avec des Données Limitées
- Le Processus de Reconnaissance des Gestes
- Utilisation de Modèles Existants pour des Gestes Personnalisés
- Amélioration de la Détection des Points de Repère de la Main
- Pipelines d'Entraînement et d'Inférence
- Performance en temps réel
- Conclusion
- Source originale
La Reconnaissance des gestes de la main est une technologie qui permet aux ordinateurs de comprendre et de répondre aux mouvements de nos mains. C'est super important pour rendre les interactions avec les appareils naturelles et faciles. Par exemple, ça peut être utilisé dans la réalité virtuelle et augmentée, les appels vidéo, et même pour contrôler des appareils intelligents.
Cependant, la plupart des systèmes ne reconnaissent qu'une liste limitée de gestes. Ça peut poser problème parce que les gens ont souvent envie d'utiliser de nouveaux gestes qui ne sont pas sur la liste préétablie. Le défi vient de la grande variété de formes et de mouvements des mains que les gens peuvent faire. Il n'est pas possible d'inclure chaque geste possible dans un programme.
Cadre de Reconnaissance de Gestes Personnalisés
Pour résoudre ce problème, on a créé un cadre super facile à utiliser qui permet à tout le monde de personnaliser son propre système de reconnaissance de gestes. Les utilisateurs peuvent prendre quelques photos de leurs gestes souhaités avec une webcam. Ces images permettent au système d'apprendre et de reconnaître de nouveaux gestes qui n'étaient pas dans le programme d'origine.
Notre cadre inclut un modèle qui sait déjà comment traiter les images de mains. Ce modèle peut être ajusté pour s'adapter aux gestes spécifiques de l'utilisateur. Pour ceux qui n'ont pas beaucoup de connaissances en apprentissage automatique, on propose un moyen simple de former et d'utiliser le modèle de reconnaissance de gestes sans avoir besoin d'écrire beaucoup de code.
En plus, on offre une option sans code pour ceux qui n'ont pas d'expérience avec l'apprentissage automatique. Ça rend encore plus facile de créer et de tester des capacités de reconnaissance de gestes.
Une fois que le modèle est entraîné, il peut fonctionner sur des appareils en temps réel. Les utilisateurs peuvent facilement implémenter les fonctions nécessaires dans notre API open-source de modèle d'inférence appelée MediaPipe Tasks. Tout le setup peut être fait en quelques minutes.
Comment le Système Fonctionne
Le but principal de notre système est d'offrir un moyen simple pour les utilisateurs de créer leur propre système de reconnaissance de gestes avec un nombre minimal d'images. En gros, les utilisateurs n'ont besoin que d'un petit nombre d'images pour chaque geste. Ça rend le tout accessible à tout le monde, même à ceux qui n'ont pas de formation en apprentissage automatique.
Notre système de reconnaissance de gestes fonctionne en extrayant des points de repère sur la main. Ces points sont des endroits spécifiques sur la main, qui sont ensuite transformés en une représentation numérique (vecteur d'embedding) que le système peut utiliser pour reconnaître les gestes.
La reconnaissance des gestes de la main est vitale pour une interaction fluide et intuitive entre les humains et les ordinateurs. À mesure que la technologie progresse, identifier et répondre avec précision aux gestes de la main aidera à créer des expériences immersives sans interruptions.
Entraînement avec des Données Limitées
Une caractéristique clé de notre approche est qu'elle permet aux utilisateurs de former des modèles de reconnaissance de gestes efficaces avec peu de données. On utilise un modèle pré-entraîné qui a déjà été formé sur une quantité importante de données vidéo, lui apprenant divers mouvements et formes de mains. Les utilisateurs peuvent alors affiner ce modèle pour leurs besoins spécifiques.
En faisant cela, les utilisateurs peuvent entraîner un système de reconnaissance efficace en utilisant aussi peu que quelques images pour chaque geste. De plus, le modèle pré-entraîné garde des connaissances sur de nombreuses formes et mouvements de mains, ce qui en fait un excellent point de départ pour reconnaître de nouveaux gestes.
Le Processus de Reconnaissance des Gestes
Le processus de notre reconnaissance de gestes est simple. Voici comment ça fonctionne :
- Une caméra RGB capture une image de la main.
- Le système extrait des points (repères) sur la main et détermine quelle main est affichée (gauche ou droite).
- Ces points sont ensuite envoyés au modèle de reconnaissance de gestes personnalisé pour évaluation.
- Le modèle traite ces informations et reconnaît le geste en temps réel.
Notre système peut fonctionner à plus de 30 images par seconde sur la plupart des appareils mobiles, montrant à quel point il peut être efficace.
Utilisation de Modèles Existants pour des Gestes Personnalisés
On s'appuie sur des recherches existantes en reconnaissance de gestes de la main en temps réel pour créer notre solution personnalisée. Notre méthode commence avec un modèle qui capture des points de repère de la main, ce qui est crucial pour reconnaître les gestes avec précision.
Pour entraîner notre modèle, on a utilisé une collection de vidéos montrant des gens épelant des mots en langue des signes. Chaque vidéo se concentre sur une main, capturant les caractéristiques les plus importantes qui aident le système à apprendre.
Le modèle utilise ces caractéristiques pour construire une représentation des formes et des motifs de mouvement de la main. En conséquence, il peut reconnaître divers gestes avec précision, même avec une petite quantité de données d'entraînement.
Amélioration de la Détection des Points de Repère de la Main
Un défi dans la reconnaissance des gestes de la main survient lorsque deux mains sont proches l'une de l'autre ou se chevauchent. Si le modèle de détection des points de repère ne peut pas détecter avec précision les points de repère de la main dans ces situations, cela affecte négativement la reconnaissance des gestes.
Pour améliorer l'exactitude dans de tels cas, on a introduit une méthode qui fournit des indications sur quelle main est laquelle (gauche ou droite). Cela aide le modèle à se concentrer sur la bonne main et améliore considérablement la détection des points de repère.
Le nouveau modèle a montré une meilleure précision, surtout dans les situations où les mains sont proches ou se chevauchent. Cette avancée permet une reconnaissance des gestes plus fiable dans différents contextes.
Pipelines d'Entraînement et d'Inférence
On a développé un Pipeline d'entraînement convivial appelé MediaPipe Model Maker. Cet outil permet aux utilisateurs de créer facilement de nouveaux modèles de reconnaissance de gestes. Les utilisateurs doivent fournir un ensemble d'images étiquetées avec les noms de gestes appropriés.
Pendant l'entraînement, les images d'entrée sont traitées pour générer des points de repère de la main en temps réel. La structure du modèle de reconnaissance de gestes personnalisé peut être ajustée, permettant aux utilisateurs de modifier des paramètres comme la forme des couches, le taux d'apprentissage et la taille des lots.
Comme notre approche nécessite peu de données d'entraînement, les utilisateurs peuvent entraîner des modèles rapidement, souvent en seulement quelques minutes. Une fois l'entraînement terminé, le modèle personnalisé est converti en un format utilisable pour l'inférence en temps réel.
Le pipeline d'inférence traite les images de la main brutes une par une. Le composant de détection des points de repère de la main convertit chaque image en vecteurs de points de repère. Ces vecteurs sont ensuite mappés à des vecteurs d'embedding de gestes et enfin vérifiés par rapport à des gestes connus pour produire des résultats.
Performance en temps réel
Notre système est conçu pour une performance en temps réel sur divers appareils. Le pipeline de bout en bout peut traiter les images rapidement, le rendant efficace et performant.
Avec l'API MediaPipe Tasks, les utilisateurs peuvent facilement intégrer leur modèle de reconnaissance de gestes personnalisé dans diverses applications. Cette structure modulaire permet une flexibilité pour remplacer n'importe quelle partie du processus si besoin.
Les pipelines d'entraînement et d'inférence ont été rendus publics, encourageant un usage et un développement plus larges.
Conclusion
La recherche met en avant un moyen simple et efficace de former des modèles personnalisés de reconnaissance de gestes de la main en utilisant peu de données d'entraînement. En affinant des modèles préexistants, notre cadre permet à des personnes avec peu ou pas d'expérience en apprentissage automatique de créer des systèmes fonctionnels de reconnaissance de gestes.
Les améliorations apportées à la détection des points de repère de la main augmentent l'efficacité du système global, le rendant pratique pour des applications réelles. Les résultats soulignent le potentiel de notre système de reconnaissance de gestes de la main personnalisé pour améliorer les interactions homme-machine dans divers domaines, de la réalité virtuelle aux appareils domotiques intelligents.
Titre: On-device Real-time Custom Hand Gesture Recognition
Résumé: Most existing hand gesture recognition (HGR) systems are limited to a predefined set of gestures. However, users and developers often want to recognize new, unseen gestures. This is challenging due to the vast diversity of all plausible hand shapes, e.g. it is impossible for developers to include all hand gestures in a predefined list. In this paper, we present a user-friendly framework that lets users easily customize and deploy their own gesture recognition pipeline. Our framework provides a pre-trained single-hand embedding model that can be fine-tuned for custom gesture recognition. Users can perform gestures in front of a webcam to collect a small amount of images per gesture. We also offer a low-code solution to train and deploy the custom gesture recognition model. This makes it easy for users with limited ML expertise to use our framework. We further provide a no-code web front-end for users without any ML expertise. This makes it even easier to build and test the end-to-end pipeline. The resulting custom HGR is then ready to be run on-device for real-time scenarios. This can be done by calling a simple function in our open-sourced model inference API, MediaPipe Tasks. This entire process only takes a few minutes.
Auteurs: Esha Uboweja, David Tian, Qifei Wang, Yi-Chun Kuo, Joe Zou, Lu Wang, George Sung, Matthias Grundmann
Dernière mise à jour: 2023-09-19 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2309.10858
Source PDF: https://arxiv.org/pdf/2309.10858
Licence: https://creativecommons.org/licenses/by/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.