MicroAI : embedded artificial intelligence for human activity recognition on smart glasses
MicroIA : intelligence artificielle embarquée pour la reconnaissance d'activités physiques sur lunettes intelligentes
Résumé
With the growth of the senior population, elderly care becomes an important topic in the society.One aspect of elderly care is fall prevention, which is still a challenging task depending on the subject's health condition. In this context, artificial intelligence can be leveraged to notifyabout an increased risk. To achieve this goal, a solution consists in monitoring the subject's behaviour to detect some changes that could indicate a degradation of their mobility. Human activity recognition (HAR) can be used for that purpose. Our approach is based on an inertial measurement unit (IMU) embedded in smart glasses. Smart glasses are less invasive than some other devices such as dedicated IMU devices or even smartphones, especially for elderly for whom wearing glasses is common.On the other hand, deep neural networks have shown their capability to provide good recognition accuracy for human activity recognition, among other classification tasks such as keyword spotting or traffic sign recognition. However, embedding deep neural networks onto low power devices remains a challenging task. Real-time, memory and power constraints do not cope well withthe heavy computation and memory requirements of these algorithms.Therefore, in this thesis, we study the feasibility of deploying neural networks on the smart glasses' microcontroller for human activity recognition purposes, while optimizing the compromise between prediction performance, power consumption and memory. To do so, we propose a new open-source software framework, called MicroAI, for end-to-end deep neural network training, quantization and deployment. We provide some comparative results using different microcontrollers and alternative inference engines. Results are compared in terms of memory foot print and energy efficiency for various artificial neural networks with different accuracies. We propose to apply 8-bit and 16-bit quantization methods on multiple use cases in order to perform the computation with fixed-point numbers. Fixed-point computation leads to a reduction of the memory foot print, the execution time and therefore the energy consumption. Itis also then possible to use a microcontroller without a hardware floating-point unit.Furthermore, we present a new dataset called UCA-EHAR with data collected from EllcieHealthy's smart glasses. Our dataset provides labelled raw data collected from an accelerometer,a gyroscope and a barometer for eight classes of activity performed by twenty subjects. Therefore, the artificial neural network performing the classification task is executed on the smart glasses' microcontroller using our MicroAI framework. This work is used as a foundation for a real-world application of human activity recognition using smart glasses. Memory footprint,power consumption and battery lifetime are analyzed for this application running on the Ellcie Healthy smart glasses.Finally, we propose an unsupervised online learning method in order to specialize a general model onto a specific subject in the context of human activity recognition. Indeed, during their lifetime, the smart glasses are only worn by a single subject. Thus, our objective is to improve the accuracy for this subject. Unsupervised learning does not make use of labels for the training phase and online learning allows continuous adaptation in the environment.
Le vieillissement de la population pose de nouveaux défis à notre société en termes de services de soins aux personnes âgées. L'un des aspects est la prévention de la chute, dont la mise en œuvre reste difficile. Dans ce contexte, l'intelligence artificielle peut aider à détecter un risque accru. Pour atteindre cet objectif, il est possible de suivre le comportement du patient pour déceler un changement indicateur d'une dégradation de la mobilité grâce à la reconnaissance d'activités physiques. Notre approche repose sur l'utilisation d'une centrale inertielle embarquée dans des lunettes intelligentes. Ce dispositif est moins invasif que d'autres appareils tels qu'un téléphone mobile ou un appareil dédié, en particulier pour les personnes âgées qui portent souvent déjà des lunettes.D'autre part, les réseaux de neurones profonds ont montré leur capacité à fournir un taux de reconnaissance satisfaisant pour des tâches de classification telles que la reconnaissance d'activités physiques, de mots clés ou de panneaux de signalisation routière. Pour des raisons de confidentialité, de connectivité et de latence, le traitement des données est effectué directement par l'électronique embarquée des lunettes. Cependant, le calcul intensif et la quantité de mémoire requise pour le traitement des réseaux de neurones artificiels sont difficilement compatibles avec les contraintes temps réel, mémoire et énergétique de ces appareils.Dans cette thèse, nous étudions la faisabilité du déploiement de réseaux de neurones artificiels pour la reconnaissance d'activités physiques sur le microcontrôleur embarqué dans les lunettes intelligentes, en mettant en avant le compromis entre les performances de prédiction, la consommation énergétique et l'occupation mémoire. Nous proposons un nouvel outil logiciel appelé MicroAI, publié sous licence libre, dont le but est d'automatiser l'apprentissage, la quantification et le déploiement d'un réseau de neurone artificiel sur microcontrôleur de bout en bout. Nous appliquons une quantification sur 8 et 16 bits en virgue fixe pour plusieurs cas d'usages. Cette quantification et l'exécution à virgule fixe permettent de réduire l'empreinte mémoire, le temps d'exécution et donc l'énergie consommée. Nous fournissons des résultats comparatifs d'empreinte mémoire et d'efficacité énergétique avec d'autre moteurs d'inférence sur différents microcontrôleurs.En outre, nous présentons un nouveau jeu de données nommé UCA-EHAR collectées à partir des lunettes de la société Ellcie Healthy. UCA-EHAR est composé de données brutes étiquetées provenant de l'accéléromètre, du gyroscope et du baromètre des lunettes pour huit classes d'activités physiques réalisées par vingt sujets. Ce jeu de données est utilisé pour entrainer un réseau de neurones artificiels qui est par la suite déployé sur le microcontrôleur des lunettes intelligentes grâce à notre outil MicroAI. Grâce à ce réseau de neurones artificiels, une application de reconnaissance d'activités physiques à l'aide de lunettes intelligentes est réalisée. L'empreinte mémoire, la consommation et l'autonomie résultante d'une telle application fonctionnant sur les lunettes intelligentes Ellcie Healthy sont évaluées.Enfin, nous proposons l'utilisation d'une méthode d'apprentissage non supervisée en ligne afin de spécialiser un réseau de neurones artificiels pour la reconnaissance des activités d'un sujet en particulier. En effet, durant leur durée de vie, les lunettes ne seront portées que par un unique sujet,il convient donc d'essayer d'améliorer le taux de reconnaissance pour ce sujet. L'apprentissage non supervisé ne nécessite pas que les données soient étiquetées, et l'apprentissage en ligne permet une adaptation continue dans l'environnement d'utilisation.
Origine | Version validée par le jury (STAR) |
---|