Dynamic Time Wraping
L’algorithme DTW (Dynamic Time Wraping), ou alignement temporel dynamique, est une technique qui permet de mesurer la similarité entre deux signaux qui peuvent être de durées différentes. La métrique utilisée en général est la distance euclidienne. En effet, cet algorithme vise à minimiser la distance entre ces deux signaux en admettant que le début et la fin des deux signaux sont connus et coïncident. De plus, l’ordre des échantillons des signaux est conservé et tous les échantillons sont pris en compte pour calculer la distance entre ces deux signaux. Ainsi, toutes les configurations possibles sont testées pour trouver le chemin optimal qui assure l’alignement de ces deux signaux [40]. En ce qui concerne la reconnaissance des gestes, cette méthode consiste à comparer un geste à tester avec des gestes de références, ou des templates. La classe du geste à tester est déterminée par la correspondance à la classe du geste de référence qui a la distance la plus faible avec le geste à tester.
Chaque classe est donc représentée par un template [41]. L’algorithme DTW a été appliqué dans la reconnaissance des gestes humains. Le système proposé par B. Hartmann et N. Link est capable de gérer les signaux gestuels d’amplitudes variables et de résoudre les ambiguïtés du résultat pour la classification de plusieurs classes [42]. L’approche a donné de bons taux de classification avec un ensemble de données séquentielles de gestes de la main, enregistrées en utilisant des accéléromètres. De plus, la méthode basée sur l’algorithme DTW, a été comparée avec les réseaux de neurones convolutionnels dans la classification des symboles musicaux manuscrits [43], les résultats obtenus montrent que les CNNs ont donné un meilleur taux de classification que les DTWs. D’ailleurs, H. Wu et al. admettent que les méthodes dynamiques, telles que les DTWs, focalisent sur les informations locales de mouvement et accordent moins de considération pour les caractéristiques globales des trajectoires gestuelles [44].
Les réseaux de neurones convolutifs
Le réseau de neurones convolutif ou réseau de neurones à convolution (CNN) consiste en un modèle d’apprentissage profond dans lequel des filtres et des opérations de mise en commun de voisinage sont appliqués sur les images brutes en entrée résultant une hiérarchie de fonctionnalités de plus en plus complexes [45]. Les CNNs ont été principalement appliqués sur des images 2D dans la reconnaissance de caractères écrits [46]. L’architecture d’un réseau de neurones à convolution 2D est illustrée par la figure 7. Ce réseau est composé de 7 couches sans compter l’entrée. L’architecture proposée contient des couches de convolution notées par Ci ou cartes de caractéristiques, qui appliquent sur les images d’entrée des convolutions 2D, et les couches d’agrégation (pooling) notées par Si. Ces couches Si sont les cartes de sous échantillonnage qui appliquent une opération de moyennage spatial sur les entrées pondérées par les poids synaptiques. La succession de couches de convolution et d’agrégation sert à extraire les caractéristiques, par la suite de l’application de ces opérations, l’image d’entrée sera encodée en un vecteur descripteur.
Ensuite, le rôle des neurones des couches entièrement connectées par des connections pondérées est la classification des données. Le réseau de neurones convolutif a été choisi pour différents projets de classification des gestes ou des actions humaines. D’ailleurs, les CNNs 3D ont été développés pour la reconnaissance des actions humaines à partir de caméras de surveillance des aéroports [47]. Ce modèle extrait des caractéristiques des dimensions spatiales et temporelles en effectuant des convolutions 3D, en capturant ainsi les informations de mouvement codés dans plusieurs images. Les CNNs sont connus par leur robustesse aux faibles variations d’entrée, leur faible taux de prétraitement nécessaire à leur fonctionnement et ne nécessitent aucun choix d’extracteur de caractéristiques spécifiques [48]. Néanmoins, cette méthode utilise des images statiques de trajectoires gestuelles dans la reconnaissance de gestes en omettant ainsi les informations précises de mouvement [49]. À cet effet, H. Wu et D. Deng ont utilisé la combinaison des CNNs et DTW dans le but d’avoir plus de précision dans la localisation globale et locale dans la reconnaissance des gestes de la main [49].
Dans ce chapitre, nous avons présenté dans un premier temps les robots collaboratifs ainsi que leur émergence dans l’environnement humain, non seulement dans les espaces de travail, mais aussi dans la vie quotidienne. Dans un second temps, nous avons listé les méthodes d’interaction avec les systèmes intelligents. Puisque notre projet cible une amélioration de l’interaction entre l’humain et le robot dans les industries où le travail se réalise majoritairement avec les mains, nous avons utilisé la reconnaissance des gestes du pied pour commander un robot industriel. Dans un troisième temps, des méthodes de recueil des signaux ont été présentées. Ces méthodes utilisent des capteurs différents : les caméras et les capteurs inertiels. Bien que les caméras puissent nous renseigner sur l’environnement du travail, nous avons privilégié les capteurs inertiels puisqu’ils ont l’avantage de mesurer le mouvement de façon simple. Nous avons également présenté les différentes techniques utilisées pour la classification des gestes humains.
Les trois méthodes présentées prennent en considération la dimension temporelle lors de la réalisation des gestes. Toutefois, les CNNs sont robustes aux faibles variations d’entrées et leur utilisation ne nécessite aucun choix d’extracteur de caractéristiques spécifique. Par conséquent, la technique de classification basée sur le CNN semble être la plus adaptée. De plus, dans notre projet, nous avons besoin de reconnaitre l’information globale du mouvement du pied. Nous allons donc aborder l’entraînement de CNN, qui consiste à optimiser les coefficients du réseau pour minimiser l’erreur de classification en sortie. Le chapitre suivant présente la méthodologie adoptée dans notre mémoire afin de résoudre notre problématique de projet de recherche qui propose une nouvelle méthode d’interaction homme-robot appliquée à des robots industriels collaboratifs.
Méthodologie
Notre projet de recherche s’intéresse à télécommander un robot industriel via les gestes du pied de l’opérateur, dans le but de l’utiliser en guise d’une troisième main robotique dans une tâche caractérisée par une posture inconfortable de travail. Dans ce chapitre, nous présenterons la saisie des signaux et leurs traitements pour la caractérisation des gestes de pied. Ensuite, nous allons utiliser la méthode de classification supervisée dans la reconnaissance des gestes du pied. Ce processus est composé principalement par deux phases : apprentissage et classement. La phase d’apprentissage consiste à entrainer le système qui observe des couples de types entrée-sortie et apprend une fonction qui permet de converger vers la sortie à partir de l’entrée. Les sorties sont les classes du système. La phase de classement consiste à utiliser le modèle pour affecter une classe à un nouvel exemple [50]. La méthodologie se décline en trois grandes sections. La première section, nommée protocole d’acquisition, consiste à choisir les gestes du pied, en se basant sur un dictionnaire de gestes prédéfini et par la suite procéder à l’acquisition des données en utilisant un instrument de mesure. La seconde section est dédiée au prétraitement des signaux qui repose sur la transformation du signal brut acquis en caractéristiques pour différencier les classes des gestes choisis. Dans le cadre de notre projet, nous avons utilisé deux méthodes de prétraitement. La première méthode utilise les caractéristiques des signaux dans le domaine temporel. La deuxième méthode se base sur les calculs statistiques qui regroupent l’information globale du signal. La troisième section est dédiée à l’application des réseaux de neurones pour la tâche de classification des gestes du pied. Enfin, la quatrième section est dédiée à l’algorithme de commande du robot, qui propose une méthode pour la discrimination de signal de la marche des signaux des gestes du pied. Dans ce chapitre, nous détaillons successivement les étapes dans chacune des quatre sections.
Résultats et discussions
Dans le cadre de notre projet, le réseau de neurones convolutif est adapté pour l’apprentissage des gestes du pied dont les caractéristiques sont présentées sous forme d’images 2D. Le réseau de neurones convolutif combine les informations des images en entrée afin d’établir un système capable d’identifier les informations utiles de ces images, pour prédire enfin la sortie ayant la plus forte probabilité d’appartenance aux classes prédéfinies. Le principal facteur indiquant la performance du réseau de neurones est le taux de classification. Il serait donc pertinent de varier les paramètres d’apprentissage et de faire plusieurs tests avec des images différentes pour atteindre un meilleur taux d’apprentissage. D’ailleurs, nous nous sommes basées sur cette technique pour évaluer notre système d’apprentissage. Dans ce chapitre, nous allons, dans un premier temps, présenter les signaux acquis pour chaque geste (il importe de prendre en considération que les axes sont inversés puisque la centrale inertielle est disposée dans la couche inférieure du circuit que nous avons conçu pour l’acquisition des données). Puis, dans un second temps, nous allons présenter nos choix des caractéristiques extraites de ces signaux en utilisant la méthode temporelle et celle de l’analyse statistique. Par la suite, nous exposerons nos choix d’architectures du réseau et les résultats que nous obtenons en appliquant notre solution. Ensuite, nous présenterons l’optimisation de la solution proposée. Enfin, nous conclurons le chapitre par le meilleur ensemble de caractéristiques retenu.
Aperçu des signaux Tel qu’expliqué dans le chapitre 3, nous avons choisi cinq gestes du pied à reconnaitre. Pour pouvoir transmettre l’information au robot, nous voulons avoir un meilleur taux de reconnaissance des gestes. Nous allons déterminer un minimum des caractéristiques pour optimiser notre système et diminuer le temps de calcul. Nous allons présenter les meilleurs résultats obtenus à partir de l’ensemble des caractéristiques déterminé à la suite de l’étape de prétraitement des signaux. Pour l’apprentissage du CNN, nous avons quantifié nos gestes de la base d’apprentissage. Chaque geste est représenté par une image descriptive. Pour atteindre un meilleur taux d’apprentissage, nous avons fait plusieurs tests avec des images différentes, en variant aussi les paramètres d’apprentissage. L’algorithme de prétraitement des signaux a été développé en premier sur le logiciel Matlab pour pouvoir visualiser facilement les signaux, optimiser leur traitement et effectuer les tests nécessaires pour générer les images. Par la suite, il fallait le transférer en C++, avec l’IDE Arduino pour être en mesure de le faire fonctionner dans la semelle instrumentée.
Les accélérations du pied
Les signaux (de la figure 28), recueillis de l’accéléromètre, montrent bien une différence au niveau de l’accélération pour les cinq gestes. En effet, pour les gestes G1 (figure 28-a), G2 (figure 28-b) et G5 (figure 28-e), l’accélération linéaire du pied sur l’axe X atteint une amplitude élevée pendant une longue durée (par exemple durant 20-28s pour G1, durant 25-37s pour G2 et durant 18-25s pour G5). En revanche, pour le geste G3 (figure 28-c), l’accélération linéaire du pied sur l’axe X atteint une amplitude moins élevée que celles des gestes G1, G2 et G3, pendant une courte durée (par exemple, durant 31-34s). Pour le geste G4 (figure 28-d), l’amplitude de l’accélération linéaire est faible, d’une valeur moyenne aux alentours de 5 mm.s-2 (ne dépasse pas le 28 mm.s-2).
RÉSUMÉ |