Moez Krichen
email: moez.krichen@redcad.org

Les avancées dans la gestion des catastrophes naturelles basées sur l'IA et les drones : une enquête

Cet article explore le potentiel de l'intelligence artificielle (IA) et des technologies basées sur les drones pour les opérations de secours en cas de catastrophe. Les applications potentielles de ces technologies dans la réponse aux catastrophes sont discutées ; elles comprennent l'utilisation de drones pour effectuer des relevés de la zone et rechercher des survivants, ainsi que l'utilisation de systèmes basés sur l'IA pour fournir des données en temps réel aux travailleurs de sauvetage. Nous discutons des orientations futures et des orientations de recherche pour la gestion des catastrophes basée sur l'IA et les drones, notamment l'intégration des technologies basées sur l'IA et les drones, le développement de systèmes multi-agents, ainsi que l'importance de l'IA explicative et des considérations éthiques. Enfin, nous concluons en soulignant la nécessité de faire progresser les technologies basées sur l'IA et les drones pour leur utilisation dans la gestion des catastrophes et leur potentiel de réduire l'impact mondial des catastrophes naturelles.

Introduction

La destruction, la perturbation et la perte de vies humaines résultant des catastrophes naturelles imposent un lourd fardeau à la société. De nouveaux outils sont désormais disponibles pour la gestion des catastrophes grâce aux récents développements de l'intelligence artificielle (IA) et des véhicules aériens sans pilote (UAV), parfois appelés drones. Les équipes de réponse aux catastrophes peuvent améliorer leurs capacités et leurs temps de réponse en utilisant des algorithmes d'IA pour l'identification d'objets, l'analyse de données et la reconnaissance d'images, ainsi qu'en utilisant des drones pour les opérations de recherche et de sauvetage, l'évaluation des dommages et le transport de fournitures d'aide (1; 33).

Cet article de revue vise à fournir un aperçu de l'état actuel de la gestion des catastrophes basée sur l'IA et les drones, y compris les technologies et les méthodes formelles utilisées, ainsi que les orientations futures pour la recherche et le développement. Nos principales contributions sont les suivantes :

-Nous discutons des différentes technologies d'IA et de drones qui peuvent être utilisées pour la gestion des catastrophes.

Les avancées dans la gestion des catastrophes naturelles basées sur l'IA et les drones : une enquête

-Nous décrivons les avantages et les défis de la gestion des catastrophes basée sur l'IA et les drones, notamment des temps de réponse plus rapides, une précision accrue et une réduction des risques pour la vie humaine [START_REF] Zhao | A lightweight encoder-decoder network for real-time semantic segmentation[END_REF]. -Nous discutons également des défis qui peuvent survenir lors de la mise en oeuvre de ces technologies, tels que les obstacles réglementaires, les limitations techniques et les préoccupations éthiques. -Nous soulignons l'utilisation de méthodes formelles telles que la modélisation mathématique, la vérification et la validation pour garantir la correction et la fiabilité des systèmes de gestion de catastrophes basés sur l'IA et les drones. -Enfin, nous discutons des orientations futures pour la gestion des catastrophes basée sur l'IA et les drones. Le reste de cet article est structuré comme suit : la Section 2 fournit des informations de base sur la gestion des catastrophes et l'état actuel de la technologie d'IA et de drones. La Section 3 discute des différentes technologies d'IA et de drones qui peuvent être utilisées pour la gestion des catastrophes. La Section 4 examine les avantages et les défis de la gestion des catastrophes basée sur l'IA et les drones, ainsi que l'utilisation de méthodes formelles pour assurer la correction du système. La Section 6 discute des orientations futures pour la recherche et le développement. Enfin, la Section 7 résume nos principales conclusions et fournit une évaluation finale du potentiel de l'IA et des drones pour la gestion des catastrophes naturelles.

Contexte

Dans cette section, nous fournirons un aperçu des concepts clés liés à la gestion des catastrophes et à l'IA qui sont pertinents pour notre étude.

Gestion des catastrophes

Une catastrophe est un événement qui survient soudainement et provoque une destruction généralisée de vies, de biens et d'écosystèmes. Les populations touchées peuvent subir de terribles pertes tant des catastrophes naturelles comme les ouragans, les tremblements de terre et les inondations que des catastrophes d'origine humaine comme les attaques terroristes et les accidents industriels. La préparation, la réponse d'urgence et la reconstruction post-catastrophe font toutes partie du champ d'application plus large de la gestion des catastrophes (4). Les agences gouvernementales, les ONG et les groupes communautaires ne sont que quelques-uns des nombreux acteurs qui doivent se coordonner et collaborer pour une gestion efficace des catastrophes.

Intelligence Artificielle

Le domaine de l'IA se concentre sur la programmation des ordinateurs pour imiter l'intelligence humaine dans des domaines tels que l'apprentissage et la résolution de problèmes [START_REF] Boulila | Weight initialization techniques for deep learning algorithms in remote sensing : Recent trends and future perspectives[END_REF]. L'apprentissage automatique est une branche de l'IA qui utilise des méthodes statistiques pour apprendre à des ordinateurs de nouvelles compétences sans être explicitement enseigné. En utilisant des réseaux de neurones artificiels avec de M. Krichen nombreuses couches, l'apprentissage profond est capable d'apprendre des représentations hiérarchiques de données (5; 2). L'IA peut être utilisée dans de nombreux secteurs différents, tels que la médecine, la banque et les transports.

Le processus de construction et de déploiement de modèles de ML implique généralement diverses étapes, notamment la collecte de données pertinentes, le prétraitement et le formatage des données, la sélection et la transformation des caractéristiques, le choix d'un algorithme de ML approprié, la formation et l'évaluation du modèle, et son déploiement pour des prévisions ou des décisions sur de nouvelles données. Ces étapes fournissent un cadre général pour l'utilisation du ML dans diverses applications.

Drones

Les UAV, plus souvent connus sous le nom de "drones", sont des avions qui peuvent être pilotés à distance ou voler sans opérateur humain à bord. Les drones ont de multiples applications dans la gestion des catastrophes, notamment la recherche et le sauvetage, l'évaluation des dommages et la livraison de fournitures.

Les drones existent sous différentes formes, chacune avec ses propres avantages et inconvénients [START_REF] Krichen | Security challenges for drone communications : Possible threats, attacks and countermeasures[END_REF]. Les drones peuvent être classés comme à ailes fixes, à rotors tournants ou hybrides. Les drones à ailes fixes, comme les avions, peuvent parcourir de plus grandes distances dans les airs, tandis que les drones à rotors tournants, comme les quadricoptères, sont plus manoeuvrables et peuvent stationner en un seul endroit. Les drones hybrides trouvent un juste milieu entre la durabilité et la manoeuvrabilité des drones à ailes fixes et à rotors tournants.

La communication avec les drones peut prendre de nombreuses formes, notamment la transmission visuelle, auditive et de données. L'envoi de vidéos en direct et de photographies fixes depuis la caméra du drone vers une station de contrôle terrestre est un exemple de communication visuelle. En utilisant le haut-parleur intégré du drone, les opérateurs peuvent donner des instructions verbales ou des mises en garde aux personnes sur le terrain. La télémesure et les relevés de capteurs sont deux types de données qui peuvent être communiqués depuis un drone vers une station terrestre ou un autre appareil. Les drones peuvent également être équipés de mécanismes de communication et de contrôle à longue portée tels que la communication par satellite, le Wi-Fi et les réseaux cellulaires (35; 8).

Technologies d'IA et de drones pour la gestion des catastrophes

Dans cette section, nous examinerons l'utilisation de chatbots basés sur l'IA et de drones pour les efforts de réponse et de récupération en cas de catastrophe.

IA dans la gestion des catastrophes

Grâce à une prise de décision améliorée, une conscience de la situation et des capacités de réponse, l'IA a le potentiel d'améliorer la gestion des catastrophes. Par exemple, en analysant des images satellites et d'autres sources de données, l'IA peut aider à

Les avancées dans la gestion des catastrophes naturelles basées sur l'IA et les drones : une enquête

localiser les endroits vulnérables et estimer la gravité d'une catastrophe naturelle. Les médias sociaux et d'autres sources d'information peuvent être analysés par l'IA pour aider à localiser les victimes de catastrophes et coordonner les opérations de sauvetage. Cependant, l'utilisation de l'IA dans la gestion des catastrophes soulève diverses préoccupations en matière de confidentialité, de biais et de responsabilité.

Plusieurs études ont exploré l'utilisation de l'IA dans la gestion des catastrophes. Par exemple, Murphy et Doherty [START_REF] Og | Autonomous unmanned aerial vehicle for search and rescue using software defined radio[END_REF] ont évalué les performances d'un petit UAV pour la cartographie autonome du terrain lors de missions de recherche et de sauvetage en extérieur. Imai et al. [START_REF] Imai | Uav-borne disaster response mapping using deep neural networks[END_REF] ont utilisé des réseaux de neurones profonds pour effectuer la cartographie de la réponse aux catastrophes à l'aide d'UAV.

Chatbots basés sur l'IA

Les chatbots sont des applications logicielles qui tentent de reproduire une conversation humaine. Les chatbots alimentés par l'IA utilisent le NLP et le ML pour interpréter les demandes des utilisateurs et fournir des réponses appropriées. Les chatbots alimentés par l'IA peuvent être utilisés dans la gestion des catastrophes pour fournir des informations vitales aux populations touchées, coordonner les efforts de secours et aider à la recherche et au sauvetage.

Le déploiement de chatbots basés sur l'IA sur des sites de médias sociaux comme Twitter et Facebook, où les personnes touchées peuvent chercher des informations et du soutien, est une méthode pour utiliser les chatbots dans la gestion des catastrophes. Les chatbots alimentés par l'IA peuvent surveiller les médias sociaux en temps réel pour trouver du contenu pertinent et fournir des réponses précises aux questions des utilisateurs. Après l'ouragan Harvey en 2017, par exemple, l'Agence fédérale de gestion des urgences (FEMA) a utilisé un chatbot sur Facebook pour diffuser des mises à jour sur les efforts de secours (? ).

Une deuxième stratégie consiste à utiliser des chatbots alimentés par l'IA pour aider dans les missions de sauvetage. Un chatbot peut, par exemple, être utilisé pour transmettre des consignes de sécurité aux personnes bloquées dans une zone sinistrée et aider les secouristes à les localiser. Afin d'aider les chatbots dans les missions de recherche et de sauvetage, Zhao et al. [START_REF] Zhao | A lightweight encoder-decoder network for real-time semantic segmentation[END_REF] ont construit un réseau encodeur-décodeur léger pour la segmentation sémantique en temps réel des photos capturées par des drones.

Drones pour la gestion des catastrophes

Les drones peuvent être utiles dans la gestion des catastrophes car ils peuvent atteindre des régions qui seraient dangereuses ou impossibles à atteindre pour les humains. Les drones, par exemple, peuvent être utilisés pour chercher des personnes dans des régions trop dangereuses ou encombrées pour que les humains y pénètrent. L'évaluation des dommages dans les zones sinistrées pourrait être grandement aidée par l'imagerie haute résolution fournie par les drones.

L'utilité des drones dans les opérations de secours en cas de catastrophe peut également être améliorée avec l'aide de l'IA. Un réseau de neurones convolutifs basé sur la région de masquage (Mask R-CNN) a été créé par He et al. L'utilisation de technologies basées sur l'IA et les drones dans la gestion des catastrophes offre plusieurs avantages par rapport aux approches traditionnelles. Certains de ces avantages comprennent :

Meilleure connaissance de la situation

Les données en temps réel sur les zones de catastrophe, telles que les évaluations des dommages, les comptages des survivants et les niveaux de fournitures, peuvent être collectées avec l'aide de la technologie basée sur l'IA et les drones. Les premiers intervenants peuvent utiliser ces données pour mieux évaluer les situations et déployer des ressources [START_REF] Mondal | Emergency communication and use of ict in disaster management[END_REF].

Temps de réponse plus rapide

Le déploiement rapide de drones dans les zones de catastrophe facilite l'évaluation précoce des dommages et le lancement des efforts de sauvetage. Les chatbots alimentés par l'IA peuvent également diffuser des mises à jour en temps opportun aux groupes vulnérables, permettant aux gens de se protéger eux-mêmes et leurs proches immédiatement [START_REF] Krishnan | Impact of artificial intelligence-based chatbots on customer engagement and business growth[END_REF].

Risque réduit pour les intervenants

La sécurité des intervenants peut être améliorée en utilisant des drones pour accéder aux régions dangereuses ou inaccessibles. Les opérations de recherche et de sauvetage peuvent également bénéficier des chatbots basés sur l'IA, rendant possible l'envoi de moins de secouristes dans des situations potentiellement dangereuses (32; 3).

Efficacité accrue

Les chatbots alimentés par l'IA peuvent automatiser plusieurs aspects de la gestion de crise, notamment la communication et la gestion des ressources. La livraison de fournitures et d'équipements par drones supprimerait le besoin de conducteurs humains.

Le tableau 1 résume les avantages de l'utilisation de technologies basées sur l'IA et les drones dans la gestion des catastrophes.

Les avancées dans la gestion des catastrophes naturelles basées sur l'IA et les drones : une enquête

Tab. 1 -Avantages de l'utilisation de technologies basées sur l'IA et les drones dans la gestion des catastrophes.

Avantage Description Meilleure connaissance de la situation Les données en temps réel sur les zones de catastrophe, telles que les évaluations des dommages, les comptages des survivants et les niveaux de fournitures, peuvent être collectées avec l'aide de la technologie basée sur l'IA et les drones.

Temps de réponse plus rapide

Le déploiement rapide de drones dans les zones de catastrophe facilite l'évaluation précoce des dommages et le lancement des efforts de sauvetage. Les chatbots alimentés par l'IA peuvent également diffuser des mises à jour en temps opportun aux groupes vulnérables.

Risque réduit pour les intervenants

La sécurité des intervenants peut être améliorée en utilisant des drones pour accéder aux régions dangereuses ou inaccessibles. Les opérations de recherche et de sauvetage peuvent également bénéficier des chatbots basés sur l'IA.

Efficacité accrue

Les chatbots alimentés par l'IA peuvent automatiser plusieurs aspects de la gestion de crise, notamment la communication et la gestion des ressources. La livraison de fournitures et d'équipements par drones supprimerait le besoin de conducteurs humains.

Défis

Malgré les nombreux avantages des technologies basées sur l'IA et les drones dans la gestion des catastrophes, il existe également plusieurs défis qui doivent être relevés. Certains de ces défis comprennent :

Limitations techniques

Les technologies émergentes, telles que l'IA et les drones, peuvent ne pas encore être complètement développées ou testées pour une utilisation dans la gestion de crise. Leur utilité peut être limitée par des facteurs techniques tels que la durée de viedes batteries et les problèmes de communication.

Préoccupations liées à la vie privée

Il existe des problèmes de vie privée liés à l'utilisation de la technologie basée sur l'IA dans la gestion des catastrophes, notamment en ce qui concerne la collecte et l'utilisation de données personnelles. Les données doivent être utilisées uniquement à des fins appropriées, et la protection de la vie privée des populations touchées doit être une priorité absolue. M. Krichen

Défis réglementaires

Les réglementations, telles que les autorisations et la conformité aux règles de l'espace aérien, s'appliquent à l'utilisation des drones dans la gestion des catastrophes. Ces règles peuvent être difficiles à décrypter et peuvent différer d'une juridiction à l'autre.

Considérations éthiques

Des préoccupations éthiques, telles que la possibilité de biais et de discrimination dans la prise de décisions, sont soulevées par l'utilisation de la technologie basée sur l'IA dans la gestion des catastrophes. Pour prévenir davantage d'inégalités, il est crucial que ces technologies soient utilisées de manière ouverte et responsable.

Le tableau 2 résume les défis associés à l'utilisation de technologies basées sur l'IA et les drones dans la gestion des catastrophes.

Tab. 2 -Défis de l'utilisation de technologies basées sur l'IA et les drones dans la gestion des catastrophes.

Défi Description Limitations techniques

Les technologies émergentes, telles que l'IA et les drones, peuvent ne pas encore être complètement développées ou testées pour une utilisation dans la gestion de crise. Leur utilité peut être limitée par des facteurs techniques tels que la durée de vie des batteries et les problèmes de communication.

Préoccupations liées à la vie privée

Il existe des problèmes de vie privée liés à l'utilisation de la technologie basée sur l'IA dans la gestion des catastrophes, notamment en ce qui concerne la collecte et l'utilisation de données personnelles. Les données doivent être utilisées uniquement à des fins appropriées, et la protection de la vie privée des populations touchées doit être une priorité absolue.

Défis réglementaires

Les réglementations, telles que les autorisations et la conformité aux règles de l'espace aérien, s'appliquent à l'utilisation des drones dans la gestion des catastrophes. Ces règles peuvent être difficiles à décrypter et peuvent différer d'une juridiction à l'autre. Considérations éthiques Des préoccupations éthiques, telles que la possibilité de biais et de discrimination dans la prise de décisions, sont soulevées par l'utilisation de la technologie basée sur l'IA dans la gestion des catastrophes. Pour prévenir davantage d'inégalités, il est crucial que ces technologies soient utilisées de manière ouverte et responsable.

Les avancées dans la gestion des catastrophes naturelles basées sur l'IA et les drones : une enquête

5 Utilisation des méthodes formelles pour la gestion des catastrophes basée sur l'IA et les drones L'exactitude et la fiabilité des programmes informatiques et du matériel peuvent être testées via des approches formelles. Les systèmes basés sur l'IA et les drones utilisés dans la réponse et la récupération après une catastrophe peuvent être rendus plus sécurisés et fiables grâce à l'utilisation d'approches formelles (18; 28; 26).

Vérification formelle des systèmes basés sur l'IA

Les solutions basées sur l'IA utilisées dans la gestion des catastrophes, telles que les chatbots et les algorithmes de détection d'objets, sont complexes et difficiles à tester de manière exhaustive. La vérification de modèle et la démonstration de théorème sont deux exemples de techniques de vérification formelle qui peuvent être utilisées pour vérifier que ces systèmes fonctionnent comme prévu (12; 17; 20; 24).

Pour vérifier qu'un système est conforme à une spécification donnée, la vérification de modèle consiste à examiner de manière exhaustive tous ses états concevables (27; 13; 29). Des preuves mathématiques sont utilisées dans le processus de démonstration de théorème pour vérifier la validité d'un argument. Les deux méthodes peuvent être utilisées pour garantir l'exactitude des systèmes basés sur l'IA déployés lors des opérations de réponse en cas d'urgence (22; 19; 11; 23). Par exemple, l'auteur de (25) a présenté une technique récente qui permet de vérifier certaines propriétés pour un réseau de neurones récurrent sous-jacent, qui peut être utilisé comme outil pour déterminer si le système appris est correct. Cette technique fournit un moyen de valider les systèmes basés sur l'apprentissage automatique et peut être utilisée pour améliorer leur sécurité et leur fiabilité dans les applications critiques en matière de sécurité.

Vérification formelle des systèmes basés sur les drones

Les drones de recherche et de sauvetage et d'évaluation des dégâts utilisés dans la gestion des catastrophes sont parmi les plus sophistiqués et les plus difficiles à tester de manière exhaustive. La correction et la sécurité des systèmes basés sur les drones peuvent être vérifiées à l'aide d'approches de vérification formelle (37; 15; 16; 30). Par exemple, les auteurs de [START_REF] Foughali | Formal verification of real-time autonomous robots : An interdisciplinary approach[END_REF] ont proposé une approche interdisciplinaire qui combine des méthodes formelles et une analyse de planification pour fournir un moyen évolutif et unifié de mettre en oeuvre efficacement et de manière rigoureuse des robots temps réel. L'article propose également un nouveau mécanisme de verrouillage de ressources multiples qui est efficace, prévisible et adapté aux robots temps réel, et montre comment il améliore leur comportement temps réel. L'approche est démontrée à l'aide d'un exemple de drone réel et est comparée favorablement à la littérature existante. M. Krichen

Défis

Il y a de nombreux obstacles à surmonter avant que la gestion des catastrophes basée sur l'IA et les drones puisse pleinement bénéficier des techniques formelles. Des exemples de ces difficultés comprennent :

Complexité

L'utilisation de techniques de vérification formelle peut être difficile et chronophage. La vérification formelle peut être difficile en raison de la complexité des systèmes basés sur l'IA et les drones.

Évolutivité

Lorsqu'appliquées à des systèmes volumineux et sophistiqués, les méthodes de vérification formelle peuvent être prohibitives en termes de coûts informatiques. Dans le contexte de la gestion de crise, où les systèmes doivent fonctionner en temps réel et face à l'incertitude et au changement, cela peut présenter un défi unique.

Intégration

L'intégration d'approches de vérification formelle dans la création de systèmes basés sur l'IA et les drones est essentielle. Cela peut être difficile si la vérification formelle n'est pas prise en compte dès le début du développement.

Directions futures

Les futures pistes de recherche et de développement pour l'IA et les drones dans la gestion des catastrophes seront discutées.

Intégration des technologies basées sur l'IA et les drones

La combinaison de l'IA avec la technologie basée sur les drones est l'une des avenues les plus prometteuses pour l'avenir dans la gestion des catastrophes. Les drones collectent une multitude de données, y compris des photos et des relevés de capteurs, qui peuvent être traitées par des systèmes basés sur l'IA et transmises en temps réel aux équipes de réponse aux catastrophes. Les drones peuvent également être utilisés pour recueillir des informations dans des environnements dangereux ou inaccessibles. Lorsque ces technologies sont combinées, elles peuvent rendre les opérations de sauvetage plus rapides et plus précises.

Systèmes multi-agents

La création de systèmes multi-agents est une autre voie potentielle pour la gestion des catastrophes. Les agents autonomes dans les systèmes multi-agents peuvent coordonner leurs efforts pour accomplir une tâche. Les systèmes multi-agents peuvent être utilisés pour mieux coordonner les efforts de réponse et allouer les ressources dans le Les avancées dans la gestion des catastrophes naturelles basées sur l'IA et les drones : une enquête contexte de la gestion des catastrophes. Les drones et les robots terrestres, par exemple, peuvent coopérer dans la recherche de survivants et l'évaluation des dommages.

IA explicative

Le domaine de l'IA explicative vise à créer des machines intelligentes capables de justifier leurs choix et actions. L'IA explicative peut aider à établir la crédibilité entre les intervenants humains et les systèmes automatisés lors de situations d'urgence. Un système basé sur l'IA qui rapporte la position actuelle des survivants, par exemple, devrait être en mesure de justifier son raisonnement.

Considérations de confidentialité et d'éthique

Il est crucial de réfléchir à la confidentialité et à l'éthique à mesure que des technologies comme l'IA et les drones deviennent plus courantes dans la gestion des catastrophes. Il y a des préoccupations de confidentialité associées à l'utilisation de drones pour la surveillance, par exemple. De plus, la discrimination et le biais doivent être explicitement éliminés des systèmes basés sur l'IA.

Le tableau 3 résume les futures pistes pour les technologies basées sur l'IA et les drones dans la gestion des catastrophes.

Tab. 3 -Futures pistes pour les technologies basées sur l'IA et les drones dans la gestion des catastrophes.

Piste future Description Intégration des technologies basées sur l'IA et les drones La combinaison de l'IA avec la technologie basée sur les drones est l'une des avenues les plus prometteuses pour l'avenir dans la gestion des catastrophes.

Systèmes multiagents

Les agents autonomes dans les systèmes multi-agents peuvent coordonner leurs efforts pour accomplir une tâche. Les systèmes multi-agents peuvent être utilisés pour mieux coordonner les efforts de réponse et allouer les ressources.

IA explicative

Le domaine de l'IA explicative vise à créer des machines intelligentes capables de justifier leurs choix et actions.

Considérations de confidentialité et d'éthique

Il est crucial de réfléchir à la confidentialité et à l'éthique à mesure que des technologies comme l'IA et les drones deviennent plus courantes dans la gestion des catastrophes.

Conclusion

Dans cette recherche, nous avons exploré comment les technologies basées sur l'IA et les drones peuvent être utilisées dans la réponse aux urgences. Des pistes futures et des directions de recherche pour la gestion des catastrophes basées sur l'IA et les M. Krichen drones ont également été examinées, telles que l'intégration des technologies basées sur l'IA et les drones, le développement de systèmes multi-agents et l'importance de l'IA explicative et des considérations éthiques.

Les avantages potentiels des technologies basées sur l'IA et les drones dans la gestion des catastrophes sont considérables, malgré les nombreux défis à relever. Ces technologies ont le potentiel de sauver des vies et de réduire l'impact des catastrophes en augmentant l'efficacité et la précision des activités de réponse.

En conclusion, nous pensons qu'il sera crucial de continuer le développement et l'intégration des technologies basées sur l'IA et les drones dans la gestion des catastrophes pour réduire l'impact des catastrophes sur les communautés du monde entier.

  [START_REF] He | Mask r-cnn[END_REF] pour la détection et M. Krichen la segmentation d'objets dans les photos aériennes, ce qui pourrait être utilisé pour localiser et cataloguer les bâtiments sinistrés et autres infrastructures. Les UAV peuvent jouer un rôle important avant, pendant et après une catastrophe. 4 Avantages et défis de la gestion des catastrophes basée sur l'IA et les drones 4.1 Avantages


Jean Charles Gilbert

AUTOMATIC DIFFERENTIATION AND ITERATIVE PROCESSES *

Keywords: automatic differentiation, iterative process, Newton's method

We identify a class of iterative processes that can be used in the definition of a function while preserving the good behavior of automatic differentiation codes on this function. By iterative process, we mean a process where the number of iterations is determined by a stopping criterion, which can depend on the independent variables. By good behavior, we mean that the derivatives will be calculated correctly, asymptotically. The class contains the Newton method.

Introduction

Automatic differentiation is a technique used for generating computer programs that compute the value of the derivatives of a function

f : R n → R m : x → f (x),
given by an original computer program. See [8,[START_REF] Griewank | On automatic differentiation[END_REF][START_REF] Gilbert | La différentiation automatique de fonctions représentées par des programmes[END_REF] for an introduction to the subject and [START_REF]Automatic Differentiation of Algorithms: Theory, Implementation, and Application[END_REF] for discussions of more recent developments and applications. The variables forming the vector x are called independent. All the other variables used in the program evaluating f (x) are called intermediate.

The programs generated by automatic differentiation calculate the value of the derivatives correctly in a wide variety of situations. However, the value may be false when the original program uses an iterative process to define the function f . Therefore, researchers have focused attention on finding a means to determine whether a given iterative process can be treated correctly [START_REF] Kedem | Automatic differentiation of computer programs[END_REF]2,[START_REF] Gilbert | La différentiation automatique de fonctions représentées par des programmes[END_REF].

In the automatic differentiation framework, we call an iterative process a part of a computer program whose instructions are executed several times until a stopping criterion is reached. This stopping criterion can depend on some independent or intermediate variables. As a result, the number k of iterations realized in a particular run of the program is not known beforehand, but depends on the value x given to the independent variables: k = k(x). A typical example of such a situation occurs when an iterative method, such as Newton's method, is used to calculate an implicit function, say, the solution of a nonlinear equation.

Let us assume that the program contains a single iterative process. We denote by f k : R n → R m the function realized by the program when k iterations are executed. We shall restrict our attention to the case when the iterative process aims at making f k close to a certain function f : R n → R m . If the algorithm is well conceived, we can expect that the sequence of functions {f k } k≥0 will locally converge pointwise to f , meaning that

∀ x ∈ Ω, f k (x) → f (x), when k → ∞, (1)
where Ω is some open set in R n . It is important to note here that if automatic differentiation is used with such a program and if, for a particular x, k iterations are executed by the original program, the derivative computed at x by the generated program will be f ′ k (x) and not ξ ′ (x), the derivative of the function ξ(x) := f k(x) (x). It is indeed the function representing all the operations executed in a computation that is differentiated. Note also that this function ξ will probably be discontinuous. Now, we can wonder to what extent the fact that f k (x) is close to f (x) (a situation detected by the stopping criterion) implies that f ′ k (x) will be close to f ′ (x). Since this question is difficult to answer, we instead ask whether we can expect that some convergence of f k to f implies, for instance, the local pointwise convergence of f ′ k to f ′ :

∀ x ∈ Ω, f ′ k (x) → f ′ (x), when k → ∞. (2)
This is a theoretical question since it concerns asymptotic behavior, which has little to do with practical situations; but it has the major advantage of being mathematically tractable. Moreover, an asymptotic analysis may give some insight into what can happen in practical finite situations. Our aim, therefore, is to identify some of the processes for which property (1) implies property (2). One can argue that this is not the right approach because, in optimization for instance, what is really needed is the gradient (m = 1) of the computed function ξ. In this regard, we can say that the function ξ is usually not continuous, and therefore its analysis is difficult. On the other hand, this analysis would require more information on the iterative process, in particular on the stopping criterion (obviously, if this criterion is always satisfied, we would have ξ = f 0 ), which we do not require in our simple study. Finally, the user may really wish to compute f ′ (x), not ξ ′ (x) (when this derivative exists).

Generally speaking, there is no reason for property (1) to imply property (2). Worse, even if f ′ k converges pointwise, it can be to a function different from f ′ . In fact, it is well known that this situation would be avoided if f ′ k would converge locally uniformly; see, for example, Schwartz [10, Chapter IV, Theorem 111]. As an illustration, let us consider the following example [2] where n = m = 1:

f k (x) = xe -kx 2 . ( 3
)
The sequence of functions {f k } converges uniformly to the function

f ≡ 0, f ′ k (x) → 0 if x = 0, but f ′ k (0) = 1 for any k.
As a result, the pointwise limit of f ′ k differs from the function f ′ ≡ 0. Note that when the components of the functions f k are smooth and convex, (1) implies (2); see Rockafellar [START_REF] Rockafellar | Convex Analysis[END_REF]Theorem 24.5].

In Section 2, however, Proposition 1 shows that, for a wide class of convergent iterative processes, the derivative computed by automatic differentiation will be asymptotically correct, that is, close to the derivative of f .

A Class of Safe Iterative Processes

To make Proposition 1 useful for practical situations, we need to particularize the problem and to focus our attention on that part of the code where the iterative process occurs.

Let us separate the variables existing just before beginning the iterative process in a triplet (y 0 , a 0 , u), where the vector u gathers the variables that will not be modified during the iterations, while the vectors y 0 and a 0 gather the variables that will be modified at each iteration to become y k and a k after iteration k. We assume that the independent variables x are not updated, so that they are part of the variables u. We distinguish between auxiliary variables (a k ) that can be dismissed in the definition of the function f k and those (y k ) that are necessary or that we wish to use in this definition. In other words, it must be possible to define f k (x) as a function of y k and u, avoiding the dependence in a k :

f k (x) = ψ(y k , u). (4)
The dependence of f k on x derives from that of y k and u. We shall see later the advantage of expressing f k independently of some auxiliary variables a k with regard to the analysis of the convergence of f ′ k (x) to f ′ (x). But this structure in the variables need not be known by the automatic differentiator, whose role is always to "differentiate blindly."

Next, we also suppose that the update of the variables y k ∈ R q during iteration k + 1 can be described by a smooth operator Φ defined on an open set of R q × R p with value in R q :

y k+1 = Φ(y k , u), k ≥ 0. (5)
Note that, in the program, the initial iterate y 0 may be considered as a function of u. By induction, rule (5) makes y k a function of u alone; thus, (5) can be rewritten as follows:

y k+1 (u) = Φ(y k (u), u), k ≥ 0. ( 6
)
We assume that the iterative process converges, that is, that the sequence {y k (u)} k≥0 in R q converges to a vector y * = y * (u) (u is fixed). Then, y * (u) is necessarily a fixed point of Φ(•, u), as we have from ( 6)

y * (u) = Φ(y * (u), u). (7)
Therefore, the map u → y * (u) appears as an implicit function of the equation y = Φ(y, u).

According to (4), we have for fixed x and for K tending to infinity

f k (x) → f (x) := ψ(y * (u), u). ( 8
)
The question is whether f ′ k (x) converges to f ′ (x). If we denote by ψ ′ y and ψ ′ u the partial derivatives of ψ, we have from ( 4) and (8)

f ′ k (x) = ψ ′ y (y k (u), u) • y ′ k (u) • u ′ (x) + ψ ′ u (y k (u), u) • u ′ (x), (9)
f ′ (x) = ψ ′ y (y * (u), u) • y ′ * (u) • u ′ (x) + ψ ′ u (y * (u), u) • u ′ (x). ( 10
)
With our assumptions, we see that the convergence of the derivatives f ′ k (x) → f ′ (x) will follow from the convergence of y ′ k (u) → y ′ * (u). Proposition 1 gives conditions on Φ that guarantee this convergence. A similar result has been given by H. Fischer [START_REF] Fischer | Automatic differentiation of the vector that solves a parametric linear system[END_REF], where the iterative process is used for solving a linear system. Below, L(E, F ) denotes the space of linear operators between the linear spaces E and F .

Proposition 1. Suppose that the application Φ defined on the product of open sets ω y × ω u ⊂ R q × R p with value in R q is continuously differentiable and that its derivative map

Φ ′ : ω y × ω u → L(R q × R p , R q
) is Lipschitz continuous. Suppose also that the initial iterate y 0 is a differentiable function of u on ω u and that, for fixed u ∈ ω u , the sequence {y k (u)} k≥0 defined by ( 6) is in ω y and converges to a point y * = y * (u) ∈ ω y . If the spectral radius ρ of the restriction Φ ′ y (y * , u) of Φ ′ (y * , u) to R q (partial derivative with respect to y)

satisfies ρ Φ ′ y (y * , u) < τ < 1, (11)
then (i) the convergence of the sequence {y k } k≥0 is asymptotically linear; that is, there exist a vector norm • and an index k 0 such that y k+1 -y * ≤ τ y k -y * , for all indices k ≥ k 0 ; and (ii) the sequence of derivatives {y ′ k (u)} converges to y ′ * (u).

Proof. We first show that the convergence of y k is asymptotically linear. According to the Taylor formula, we have

y k+1 -y * = Φ(y k , u) -Φ(y * , u) = 1 0 Φ ′ y (y * + t(y k -y * ), u) • (y k -y * ) dt.
From (11), there exists a matrix norm subordinated to a vector norm, both denoted by • , such that Φ ′ y (y * , u) < τ < 1. Then, as soon as y k is sufficiently close to y * , say for k ≥ k 0 , we have

Φ ′ y (y * + t(y k -y * ), u) ≤ τ, for t ∈ [0, 1], (12)
and therefore

y k+1 -y * ≤ τ y k -y * , for k ≥ k 0 .
This shows (i). Before proving (ii), we remark that the application u → y k (u) is differentiable because, by [START_REF]Automatic Differentiation of Algorithms: Theory, Implementation, and Application[END_REF], it is the composition of k differentiable applications with the differentiable application u → y 0 (u). The application u → y * (u) is also differentiable because it is an implicit function of the equation F (y, u) ≡ y -Φ(y, u) = 0 and because the conditions to apply the implicit function theorem are satisfied. To check this, first observe that the conditions of smoothness are fulfilled. Next, note that

F ′ y (y * , u) = I -Φ ′ y (y * , u) is nonsingular, because if η ∈ R q is such that F ′ y (y * , u) • η = 0, then η = Φ ′ y (y * , u)
• η and, using (12), we have η ≤ τ η , which implies η = 0 (because τ < 1). Now, we can differentiate ( 6) and ( 7) with respect to u in a direction v ∈ R p . Writing

δ k = y ′ k (u) • v and δ * = y ′ * (u) • v, we have δ k+1 = Φ ′ y (y k , u) • δ k + Φ ′ u (y k , u) • v, δ * = Φ ′ y (y * , u) • δ * + Φ ′ u (y * , u) • v.
Subtracting each side of these identities, we get:

δ k+1 -δ * = Φ ′ y (y k , u) • [δ k -δ * ] + [Φ ′ y (y k , u) -Φ ′ y (y * , u)] • δ * + [Φ ′ u (y k , u) -Φ ′ u (y * , u)] • v.
From the Lipschitz continuity of Φ ′ and to (12), we obtain for sufficiently large k (say, for

k ≥ k 1 ≥ k 0 ) and a positive constant C δ k+1 -δ * ≤ τ δ k -δ * + C y k -y * . (13)
By induction and by using (i), one finds for k

≥ k 1 δ k+1 -δ * ≤ τ k-k 1 +1 δ k 1 -δ * + C   k i=k 1 τ k-i y i -y *   ≤ τ k-k 1 +1 δ k 1 -δ * + C (k -k 1 + 1)τ k-k 1 y k 1 -y * .
Since τ < 1, we have that τ k-k 1 +1 → 0 and that (k -k 1 + 1)τ k-k 1 → 0, when k goes to infinity. These results prove that

δ k = y ′ k (u) • v converges to δ * = y ′ * (u) • v. Since this conclusion is true for all v ∈ R p , we deduce (in finite dimension) that y ′ k (u) → y ′ * (u) in L(R p , R q ).
Note that we cannot get rid of a hypothesis like (11). Indeed, the iterations (3) give a counterexample for this hypothesis, because these can be written

f k+1 = Φ(f k , x), with Φ(f, x) = f e -x 2 , f 0 (x) = x,
and Φ ′ f (f, 0) = e -x 2 x=0 = 1 does not satisfy (11). This result is essentially qualitative and describes only an asymptotic behavior. In particular, even in the conditions of Proposition 1, if for a given x 1 ∈ R n the process stops at iteration k 1 because the stopping criterion is able to assert that f k 1 (x 1 ) is close to f (x 1 ), there is no reason for f ′ k 1 (x 1 ) (with index k 1 ) to be close to f ′ (x 1 ). The closeness of the derivatives may be obtained only for an index k 2 much larger than k 1 .

Application to Newton's Method

As an application of the preceding result, let us consider the case when Newton's iterations are used to calculate an implicit function, say, the solution y : u ∈ R p → y(u) ∈ R q of F (y, u) = 0. Suppose that the application F : ω y × ω u → R q is sufficiently smooth and that the initial iterate y 0 is obtained as a smooth function of u. With Newton's method, the iterates are calculated by the following formula:

y k+1 = y k -F ′ y (y k , u) -1 F (y k , u), for k ≥ 0. (14)

Acknowledgments

The author has benefited from fruitful discussions with C. Lemaréchal and from enlighting comments by A. Griewank, which are at the root of Section 4.

* This work was supported in part by the Centre National d'Etudes Spaciales (CNES),

It is well known that when the point y 0 (u), u ∈ ω u , is sufficiently close to a point y * = y * (u) verifying F (y * , u) = 0 with F ′ y (y * , u) nonsingular, the sequence {y k (u)} k≥0 is well defined and converges to y * . Here, the function Φ used in the proposition can be written Φ(y, u) = y -F ′ y (y, u) -1 F (y, u).

The condition (11) is satisfied because, using F (y * , u) = 0, we have Φ ′ y (y * , u) = I + F ′ y (y * , u) -1 F ′′ yy (y * , u)F ′ y (y * , u) -1 F (y * , u) -F ′ y (y * , u) -1 F ′ y (y * , u) = 0.

Consequently, the sequence {y ′ k (u)} k≥0 will converge to y ′ * (u). This example enables us to distinguish between updated variables y k on which f k depends and those a k that can be dismissed in the description of f k . An implementation of Newton's method (14) uses, indeed, many other variables a k in addition to the variables y k updated by ( 14). If we had made no distinction between these variables, we would have had difficulty applying the proposition to the present case. On the one hand, it is often difficult, and in any case tedious, to give an updated rule Φ for some auxiliary variables a k . On the other hand, there is generally no reason for the global law (Φ, Φ) to satisfy condition (11). To see this last point, just add to the process useless iterations like (3) acting on useless additional variables: the global law will not satisfy (11) at some point, although convergence of the derivatives f ′ k to f ′ can be assured if f k can be defined without using the additional variables.

Implementation Issues

At first glance, it may appear expensive to use automatic differentiation techniques for functions defined by iterative processes, because apparently the differentiation has to go through all the iterations of the original program to get the correct value of the derivatives. The automatic differentiation approach could look unattractive, especially in comparison to linearization techniques, which linearize equation ( 7) and obtain y ′ * (u) by solving the associated linear system. Because the calculation of y ′ * (u) is independent of the way the solution point y * is obtained, this approach looks better.

Nevertheless, it is possible to avoid differentiating the complete program to obtain the desired approximation of y * . The clue lies in the observation [START_REF] Griewank | [END_REF] that, as far as the calculation of the derivatives is concerned, the form of the function u → y 0 (u) has no effect on the convergence of y ′ k (u) to y ′ * (u) (although this form generally influences the speed of convergence). Proposition 1 makes indeed no other hypotheses on this function than its differentiability. As a result, the automatic differentiator can consider that y 0 is the function of u realized by the original program or any other convenient function-for instance, the constant function u → y 0 . The first case is desirable if one has some reason to think that the function u → y 0 (u) realized by the original program is such that y 0 (u) is close to y * (u) and y ′ 0 (u) is close to y ′ * (u). The second case is interesting in many other situations, which we discuss below.

One way to avoid differentiating the complete program formed of all the iterations calculating approximations of y * is to take as starting point, y 0 , of the iterative process a good approximation of the solution, y * . This approximation can be obtained by a first run of the original program. The idea is therefore to generate a derivation code from a modified original program, in which the starting function is now the constant function u → y 0 ≃ y * and the number of iterations aims only at assuring the convergence of the derivatives in the generated program. The improvement in the approximations y ′ k of the derivative y ′ * can be observed in inequality (13), which shows that δ k converges to δ * linearly (the second term of the right hand side is approximately zero). This approach corresponds to solving the system coming from the linearization of ( 7) at y k ≃ y * by the iterations

where δ k stands for y ′ k (u) • v. This idea is extremely efficient when applied to methods for which Φ ′ y (y * , u) = 0. In such cases, a good approximation of the derivatives is obtained in just one iteration (see, e.g., (15)). For example, for Newton's method (14), we would do just one iteration, starting from y 0 ≃ y * considered as a constant: z = y 0 -F ′ y (y 0 , u) -1 F (y 0 , u). Since F (y 0 , u) ≃ F (y * , u) = 0, we see that the derivative of z can be written

In the general case where Φ ′ y (y * , u) = 0, the number of iterations needed to get convergence of the derivatives should be controlled during the differentiation phase, in the generated code. In the direct mode of differentiation, a direction d ∈ R n is usually given, and the directional derivative f ′ k (x)•d is evaluated by computing the directional derivatives z = z ′ (x) • d of all the variables z in the original program, in parallel with the calculation of z. Since ỹk = (

• ũ, a simple stopping criterion would be to test whether ỹk ≃ ỹk-1 .

This is less restrictive than requiring y

In the reverse mode of differentiation, a direction r ∈ R m is given and the gradient ∇(r ⊤ f ) with respect to x is calculated by updating the adjoint variable z associated with any variable z in the original code, in reverse order of their evaluation. The adjoint variable z is the current estimation of the partial derivative ∂(r ⊤ f )/∂z. In this mode, a reasonable stopping criterion would consist of testing whether ȳ0 ≃ 0.

(16)

To see this, observe from ( 9), (10), and

if and only if

Differentiating ( 6) and ( 7) and using k times the resulting equations, we see that this is also equivalent to

Since functions u → y 0 (u) and u → y * (u) are usually not linked and since x → u(x) is independent of the iterative process, the only way to ensure this condition is to take k sufficiently large so as to have

This is approximately equivalent to condition (16). More precisely, we have

In the reverse mode, this quantity is evaluated from right to left. This shows that, in this mode of differentiation, it is not easy to adapt the number of iterations to satisfy condition (16). However, since y 0 ≃ y 1 ≃ . . . ≃ y k ≃ y * , the value of ȳ0 can be approximated by

which allows an easy adaptation of k during the reverse part of the calculation. With this approximation of ȳ0 , condition (16) is a reasonable criterion.

To conclude, let us mention another situation where it is better not to differentiate the function u → y 0 (u) realized by the original program. This situation arises when the iterative process obeys a rule like (5) only after a certain number of iterations, say s. Before this, some nondifferentiable actions such as step-sizing are taken. In this case, it is preferable that the automatic differentiator not generate codes for the calculation of y s (u); rather, it should consider that the iterative process starts with a constant initial approximation y s .


Sensor-Based Estimation of Human Motion for Control Synchronization

Bernard Espiau

Abstract-This paper addresses the question of embedded human motion sensing, in the framework of interaction with an artificial controller, either for activating a robot or for stimulating impaired human links. After a short presentation of the sensing problem and of the related measurement technologies, we describe the two main applications we have considered. The first one is the early detection of the paraplegic's intention in a Sit-to-Stand Transfer problem; here the actuation consists of the electro-stimulation of the knee extensors of the patient. The second is the estimation in real time of a variable allowing to synchronize the motion on a robot leg or of the impaired leg of a stroke patient on a human stationary walking gait. A few perspectives are drawn in the conclusion.

I. INTRODUCTION

T HIS paper addresses some aspects of the sensing problem in human-robot interaction. Since it takes place in a special session dedicated to Philippe Coiffet, it will not be organized in a classical way. Indeed, we will not start with the usual state of the art:the bibliography related to the questions specifically considered here can be found in the references [START_REF] Héliot | FES-based training and gait evaluation of stroke patients using a microsensor on their valid leg[END_REF] [2] [3] [START_REF] Héliot | Espiau Functional rehabilitation: coordination of artificial and natural controllers[END_REF].These papers give also technical details concerning the work which will be presented in the following, and we will therefore not conduct the related formal developments. Instead, we will try to rise the general questions associated with sensing in human-robot interaction, mainly when control issues are concerned. We will illustrate that point of view through two examples of works we have recently completed.

II. SENSING FOR MOTION-BASED INTERACTION

A. Generalities

When considering interaction between a human and an intelligent and active artificial system, like a robot, there necessarily arises the problem of controlling the system in order to optimize this interaction. The optimization criteria are linked to the nature of the task. However, in all cases, the control needs to be fed with information coming from the human and the system, in order to achieve at each time the best kind of interaction, and this can be done through adequate sensors. In this paper, we will focus on a particular case of interaction, which is exclusively done through body and/or link motions.Modalities with a high level of cognitive involvement, like emotion, vision, voice are therefore excluded. The most classical example of such low-level interaction is the masterslave teleoperation, pioneered by Philippe Coiffet (see [START_REF] Vertut | Teleoperation and Robotics: Evolution and Development, Robot Technology Series[END_REF] for example). Here, the interaction is of kinesthetic type, and the required sensing is basically the one of interaction forces. When the master-slave system is computer-aided, these forces may be either directly sensed or synthetized, for example on the basis of safety distance measurements.

Another wellknown example of sensing for motion-based interaction can be found in the area of virtual reality,which is also a Philippe's contribution domain (see [START_REF] Burdea | areas of sensorbased control, visual servoing, control architectures, bipedal locomotion. He launched the BIP project, first anthropomorphic biped robot in Europe[END_REF]). Datagloves measuring hand and fingers positions, and external motion capture systems based on multiple cameras or detectors and, generally, passive or active markers, are the most largely used sensing systems. The provided data can be used in a pure virtual framework or to control a robot, either in real time or as an off-line trajectory generator.

The applications of human motion sensing for the control of artificial devices of systems are numerous. We can cite:

• teloperation of a robot by motion mimicking, through a control unit which ensures the functions needed for online adaptation, like safety, scaling, etc...Examples: bilateral teleoperation, piloting of a humanoid, surgical robotics;

• starting of tasks of a robot or an automatic device on the basis of recognized human motions. Example: control of an assistance robot by a disabled in a wheelchair;

• control of an exoskeleton. Examples: walking assistance for disabled, augmented soldier ;

• control of impaired limbs from valid ones.Example: training of stroke patients through functional electrostimulation (FES). Let us finally notice that human motion sensing can also be used in open loop in many cases, for example for analyzing sport performance, building biomechanical models, monitoring the behaviour of elderly or evaluating the improvement due to training in rehabilitation.

B. Sensing technologies

The sensors that are likely to be used for the applications cited above share some general requirements: they have to be wearable and usable in free outdoor space (contrary to motion capture systems); they should be adapted or easily adaptable to the aimed function, in particular to the kind of desired control task ; they have to be "friendly ": easy to mount (on the skin of the human body or on his clothes, low sensitivity to positioning uncertainties), minimally invasive (small, discreet, wireless, nicely designed...), easy to use by non-experts. Since they are embedded, they should have a low energy consumption, with long range autonomy. They have also to integrate radio components and communication protocols adapted to the architecture (local wireless sensor network): guarantee of safety and privacy, bandwith and latences compatible with control requirements, possibility of data synchronization... And all that should be available at a cost as low as possible! In the last decade, progresses in MEMS design have made available on the market very accurate microsensors, that can be acquired from several commercial providers. Among them, a particular class meets most of the previous requirements: the inertial microsensors (micro IMUs). They consists either of micro accelerometers or of micro gyrometers, or use combination of both. Gyrometers are still presently energy-consuming and are often used only when it is needed to improve the data provided by other sensors. Accelerometers are cheap and accurate, but the basic difficulty is to separate the self-motion component from the gravity one. Another type of interesting microsensor is the magnetometer. Contrary to similar sytems used in motion capture, where the magnetic field is artificially generated, these sensors measure their own orientation with respect to the earth's field, with however prevents from their utilization in highly magnetically disturbed areas. An idea is therefore to combine accelerometers and magnetometers in a redundant way in order to compute the attitude of the sensor accurately. This has be done for example by CEA-LETI in Grenoble France, by combining two three-axis sensors of each type in a single chip (figure 1). A dedicated algorithm allowing the reconstruction of attitude in real-time is integrated in a data processing unit. A smart wireless version, called "Starwatch" has also been realized (see figure 2).

III. TWO EXAMPLES OF APPLICATION OF ATTITUDE MICROSENSORS IN REHABILITATION

In this section, we briefly present two pieces of research we have recently conducted. Both of them use the CEA-LETI attitude microsensors previously described. It should be noticed that we are not exactly in the context of human-robot interaction in the most strict sense, since, but in a single case, there is no external robot in the loop. Nevertheless, we can consider that the presented framework is of similar nature: in fact the sensor data are used to activate an electrostimulation system, aimed at moving impaired (therefore passive) legs of disabled, therefore acting as a particular case of robotics actuator.Indeed, the interaction paradigm here is specific of the rehabilitation domain, i.e. : how to use the motion of valid limbs in order to control the one of artificially actuated links?

A. A Sit-to-Stand application

We consider here the Sit-to-Stand transfer (STST) problem, for paraplegic patients who are assisted by FES. This application is of great interest in rehabilitation, since such a movement is often repeated in a day, and is a usually a preliminary stage to gait initialization. The stimulated muscles are knee extensors. An important issue in that case is to perform an overall optimization of the energy which is required to achieve the STST, in order to avoid overstimulation of knee extensors and excessive force application in the upper limbs, and, finally,to minimize the muscular fatigue of the patient. This requires to detect as early as possible the intention of standing, and to synchronize the voluntary motion of the patient (trunk and upper limb) with the stimulation of lower limbs. It has been shown that the trunk initiated the STST in all cases, which is also visible through the associated APA. Moreover, experimentations conducted on several subjects have shown that trunk orientation and acceleration patterns presented low intra and inter-variability and were highly reproductible in term of time sequencing. Therefore, this motion, which occurs soon enough before the active STST stage, is a good candidate to the early detection of the patient's STST intention, through an adequate sensor. The sensor used in this application was the one from CEA-LETI described in the previous section.It was mounted in the back of the trunk, at the C7 level (see figure 3). The quality of measured Z acceleration (see figure 4) was good enough to decide to use this single measurement to characterize the beginning of STST. In order to minimize the detection delay while avoiding to get too many false alarms, two statistical methods were used: one based on the monitoring of a correlation coefficient, the other on the sequential detection of abrupt changes. Both of them give good results (sensitivity: 96.7 %, selectivity w.r.to other motions: 76,2 %). Moreover, the detection time takes place in an interval of 100 ms from the true STST beginning (measured in an independent way), which is low compared to the total STST duration (up to 2 sec). Finally, thanks to the microsensor associated with an adequate signal procesing, an accurate synchronization of the FES with regard to the patient's intention in order to minimize his fatigue has been shown to be possible

B. On-line generation of a sensor-based synchronization signal

In the previous section, the sensor signal was used as a kind of optimal trigger for a temporally fixed FES sequence. We will now present a case where the sensed motion is used in continuous time in order to pilot the controller of an external actuator. In this application, the considered movement is a walking one, resulting from a steady-state human gait. This gait is observed by, again, a CEA-LETI attitude microsensor, i.e. a Starwatch mounted on the thigh (see figure 6). Assuming that the motion takes place approximately along a straight direction, only the estimated angle between the thigh and the vertical is used in the following. The objective is therefore to use such a sensor output in order to synchronize the motion of another leg w.r.to the one of the observed one. It is assumed that the trajectory of the other device is generated independently, but has a degree of freedom through a temporal scaling parameter. Therefore, the knowledge of a single parameter of the "master" walk, called the "phase" is sufficient for ensuring the synchronization. As previously, solving this problem requires a dedicated signal processing method, which has to be accurate in the estimation of the phase, robust to uncertainties and disturbances, and adapted to low-cost real-time implementation within an embedded system. The adopted approach can be summarized as follows: firstly, an implicit model of the sensed walking cycle is defined. In practice, a 2nd order non-linear oscillator with limit cycle is generally well-fitted to the cyclic motion of a human leg while walking. From another point of view, this can be seen as an implementation of a CPG (Central Pattern Generator). We use therefore a Van der Pol oscillator, modified in order to include the rather strong asymmetry of the cycle. A nonlinear observer is then associated with this theoretical model. By injecting at each time in this observer the output of the attitude sensor, we obtain as output an estimation of the current phase (i.e. the instant "position" along the cycle). Figure 5 gives an example of a phase estimation result, obtained on actual experimental data. In order to improve the accuracy of the algorithm, one may use several sensors instead of one. The previous method can then be extended using an Hopf oscillator in order to design a dynamical filter working on the set of phases independently estimated by each sensor. The method has shown a nice robustness to measurement noise, to uncertainties on the model parameters, and to variations of the frequency of the walking cycle. Two applications of this general method have been considered. The first one, illustrated in fig 6, is a kind of teleoperation of a biped robot, the legs of which have anthropomorphic characteristics close to the ones of the "master" walker. Here, the angular trajectory of the knee joint, computed off-line, and PID-controlled, is synchronized on the one of the human (figure 7). The second application concerns the rehabilitation of the walk for stroke patients. In that case, the motion of the valid leg allows to control through FES the impaired leg, inside a training protocol under the supervision of a clinician. The estimated phase signal can there be used to synchronize the muscular activation patterns specific to the patient, along the walking cycle. An implementation of the system in connection with a commercial stimulator for correcting the Drop Foot Syndrome is under progress.

IV. CONCLUSION

In this paper, we have presented two examples of research results using microsensors measuring human motion for controlling a stimulation system or a robot actuator. We strongly believe that we are only at the beginning of applications exploiting motion sensors embedded on human body. A first reason is that microsensor technology will certainly still improve, in terms of size, physical principles used in micro or nano sensing devices, energy consumption and integration of computing and communication functions. All these issues will increase the sensor performances and enlarge the field of potential applications. Another point is that a great added value may come from the coupling of other types of measurements to attitude ones: embedded cameras ensuring dedicated functions, like target tracking or visual servoing; soles equipped with pressure sensors; footswitches; proximity or local range sensors; force/torque sensors; GPS devices; physiological sensors (blood pressure, heartbeat, oxygen consumption...). Finally, motion sensors can also improve the human robot-interaction based on a BCI (Brain-Computer Interface) approach, by resolving ambiguities or by controlling low-level aspects of interaction, like reflex loops, reducing in that way the cognitive workload.

To conclude, a lesson we can learn from our own results is the importance of the quality of data/signal processing in the success of an application. A good sensor is nothing in itself if it is not associated with efficient algorithms, robust, reliable, adapted to the task and likely to be embedded. As long as the number and the diversity of the sensors will increase, the complexity of the processing will therefore increase, and the failure risk too. This point is all the more important when a controller in relation with a human is involved, since safety questions are then mandatory.

Fig. 1 .

 1 Fig. 1. The CEA-LETI Attitude Sensor with its Data Processing Unit

Fig. 3 .Fig. 4 .

 34 Fig. 3. Sensor Frame

Fig. 5 .

 5 Fig. 5. Top: estimated phase; bottom:generated knee angular trajectory

Fig. 6 .Fig. 7 .

 67 Fig. 6. Teleoperation of a Biped Robot using the Starwatch System

ACKNOWLEDGMENT

The author would like to thank Christine Azevedo, Dominique David, Rodolphe Héliot and Roger Pissard-Gibollet, who have conducted the research and the related experiments reported in section III.


Jean Charles Gilbert

Jorge Nocedal

AUTOMATIC DIFFERENTIATION AND THE STEP COMPUTATION IN THE LIMITED MEMORY BFGS METHOD

It is shown that the two-loop recursion for computing the search direction of a limited memory method for optimization can be derived by means of the reverse mode of automatic differentiation applied to an auxiliary function.

Introduction

The problem of finding efficient procedures for automatically calculating the gradient of a function has recently received much attention [START_REF]Automatic Differentiation of Algorithms: Theory, Implementation, and Application[END_REF]. It is known that the reverse mode of automatic differentiation can provide the value of the gradient at a cost that is not much greater than that required to evaluate the function.

On the other hand the limited memory BFGS method -an optimization method designed for very large unstructured problems -has recently become popular. This method attempts to mimic the very successful BFGS variable metric method, but without storing matrices. To do this it saves several pairs of vectors {y i , s i }, i = 1, . . . , m that implicitly define the iteration matrix H. The search direction of the limited memory method is then computed by d = -Hg, where H can be viewed as an approximation of the inverse Hessian of the objective function at the current iterate and g is the gradient of this function. Since the matrix H is not formed, but is only represented implicitly by the set of vectors {y i , s i }, a formula [START_REF] Nocedal | Updating quasi-Newton matrices with limited storage[END_REF] is required to calculate the product Hg directly from the vectors {y i , s i } and the gradient g. It turns out that this formula is not unique; one can devise various equivalent expressions, some of which are more economical than others [START_REF] Byrd | Representations of quasi-Newton matrices and their use in limited memory methods[END_REF]. For unconstrained optimization the most efficient formula for computing d, given in [START_REF] Nocedal | Updating quasi-Newton matrices with limited storage[END_REF], consists of a two-loop recursion involving the vectors {y i , s i } and the gradient g. In this paper we show that this two-loop recursion can be viewed as an application of the reverse mode of automatic differentiation. Thus, we find a connection between two apparently unrelated subjects: the step computation in a limited memory method and automatic differentiation.

Adjoint code of a program computing a function

Suppose that a function

f : x = (x 1 , . . . , x n ) ∈ R n -→ f (x) ∈ R
is computed by a program executing the following sequence of instructions

for k := 1 to K do x µ k := ϕ k ({x P k }); f := x N .
(2.1)

For convenience, we have denoted by x 1 , . . . , x n the independent variables, with respect to which the gradient of f is desired, and by x n+1 , . . . , x N (N ≥ n) all the other variables used in the program. There is, however, no meaningful ordering in this notation. Instruction k in (2.1) modifies the variable x µ k , µ k ∈ {1, . . . , N }, by using an intermediate function ϕ k depending on {x P k }, which is the collection of variables x j with indices j in some subset P k ⊂ {1, . . . , N }. After assigning a value to the variable x, this program will provide the value of f (x) in the variable x N . It has been shown [START_REF] Speelpenning | Compiling fast partial derivatives of functions given by algorithms[END_REF] that the gradient ∇f (x) of f at a given point x can be evaluated by first executing the original program (2.1), storing some partial derivatives ∂ϕ k /∂x j for j ∈ P k , and then executing the following adjoint code:

for i := 1 to N -1 do xi := 0; xN := 1; for k := K down to 1 do { xi := xi + ∂ϕ k ∂x i xµ k , ∀i ∈ P k \{µ k }; xµ k := ∂ϕ k ∂xµ k xµ k ; } for i := 1 to n do ∂f ∂x i := xi . (2.2)
Here we used the notation A\B to denote the set of elements that belong to A but not to B. The variable xi is called the adjoint variable associated to x i . Its value is the current evaluation of the derivative of f with respect to x i . This technique is also called the reverse mode of automatic differentiation; see [START_REF] Rall | Automatic Differentiation, Techniques and Applications[END_REF], [START_REF] Griewank | On automatic differentiation[END_REF], [START_REF] Juedes | A taxonomy of automatic differentiation tools[END_REF] or [START_REF] Gilbert | La différentiation automatique de fonctions représentées par des programmes[END_REF] for an introduction to the subject. Its main advantage is that it computes f (x) and its gradient ∇f (x) in a time

T (f, ∇f ) satisfying T (f, ∇f ) ≤ C T (f ), (2.3)
where C is some constant and T (f ) is the time to compute f (x) by algorithm (2.1). When the functions ϕ k are restricted to be the ones available in fortran, it is reasonable to bound C by 5, see [START_REF] Griewank | On automatic differentiation[END_REF].

Application to the L-BFGS method

In a typical iteration of the limited memory BFGS method (L-BFGS), one is given a symmetric and positive definite matrix H 0 and m pairs of vectors {y 0 , s 0 }, . . . , {y m-1 , s m-1 }, where m is some integer. Each of these pairs satisfies the condition ρ i ≡ (y T i s i ) -1 > 0. The matrix H 0 is then updated m times using the BFGS formula, i.e., for i = 0, . . . , m -1:

H i+1 = V T i H i V i + ρ i s i s T i , (3.1)
where

V i = I -ρ i y i s T i ; (3.2)
see [START_REF] Nocedal | Updating quasi-Newton matrices with limited storage[END_REF]. The resulting matrix, H m , is then used to compute the search direction

d = -H m g,
where g is the current value of the gradient of the objective function.

To interpret this step computation in terms of automatic differentiation, we need to express H m g as the gradient of a real-valued function. A natural candidate for this is

f m (g) = 1 2 g T H m g,
since, due to the symmetry of H m , ∇ g f m (g) is precisely H m g. From (3.1) we find that f m (•) can easily be expressed in terms of f m-1 (•):

f m (g) = f m-1 (V m-1 g) + ρ m-1 2 (s T m-1 g) 2 .
Therefore, if we define

q m = g, q i-1 = V i-1 q i for i = m, . . . , 1, (3.3)
we find by induction that

f m (g) = f 0 (q 0 ) + m-1 i=0 ρ i 2 (s T i q i+1 ) 2 .
Using this formula, the computation of f m (g) can be performed by the following algorithm. We assume that the scalars ρ i have been computed beforehand, and to save storage, we place all the q i in the same vector q. Recall that the vectors q i are updated by (3.3), where the matrices V i are defined by (3.2).

f := 0; q := g; for i := m -1 down to 0 do { α i := s T i q; f := f + ρ i 2 α 2 i ; q := q -ρ i α i y i ; } f := f + 1 2 q T H 0 q.

(3.4)

The product H m g will now be computed by the adjoint code of (3.4). Let f , q, ᾱ0 , . . . , ᾱm-1 be the adjoint variables corresponding to f , q, α 0 , . . ., α m-1 . The adjoint code is obtained by writing the adjoint instructions corresponding to the instructions in (3.4), in the reverse order of execution. After the initialization of the adjoint variables, f := 1; q := 0; ᾱ0 := 0; . . . ; ᾱm-1 := 0,

INRIA, Domaine de Voluceau, Rocquencourt, B.P. 105, 78153 Le Chesnay Cedex (France).

Department of Electrical Engineering and Computer Science, Northwestern University, Evanston Il 60208. This author was supported by the National Science Foundation Grant INT-9101901, and by the Department of Energy Grant DE-FG02-87ER25047.

the code continues as follows: q := H 0 q; for i := 0 to m -1 do { ᾱi := ᾱi -ρ i y T i q; ᾱi := ᾱi + ρ i α i f ; q := q + ᾱi s i ; ᾱi := 0; } ḡ := q; q := 0; f := 0.

(3.5)

We now combine (3.4) and (3.5), omitting those instructions needed only for the evaluation of f (since we are only interested in H m g). To save space in the adjoint portion of the code, we store all values of ᾱi in the same location β and the values of q in the location of q. After deleting all unnecessary instructions we obtain q := g; for i := m -1 down to 0 do { α i := s T i q; q := q -ρ i α i y i ; } q := H 0 q; for i := 0 to m -1 do { β := ρ i (α i -y T i q); q := q + βs i ; }.

The value of H m g is placed in the vector q. Algorithm (3.6) is identical to the 2-loop formula used for the computation of the search direction in the L-BFGS method [START_REF] Nocedal | Updating quasi-Newton matrices with limited storage[END_REF].

This derivation shows why algorithm (3.6) is efficient: it is based on the compact algorithm (3.4) computing f m , and on the reverse mode of automatic differentiation, which is known to be very efficient.