FR3121831A1 - Procédé d’encodage de données de capteur de mouvement, dispositif et système associés - Google Patents

Procédé d’encodage de données de capteur de mouvement, dispositif et système associés Download PDF

Info

Publication number
FR3121831A1
FR3121831A1 FR2103875A FR2103875A FR3121831A1 FR 3121831 A1 FR3121831 A1 FR 3121831A1 FR 2103875 A FR2103875 A FR 2103875A FR 2103875 A FR2103875 A FR 2103875A FR 3121831 A1 FR3121831 A1 FR 3121831A1
Authority
FR
France
Prior art keywords
data
movement
encoding
descriptors
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2103875A
Other languages
English (en)
Inventor
Brieuc BERRUET
Radouane Oudrhiri
Karim Oumnia
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BAL INC, US
Original Assignee
Zhor Tech SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhor Tech SAS filed Critical Zhor Tech SAS
Priority to FR2103875A priority Critical patent/FR3121831A1/fr
Priority to PCT/FR2022/050712 priority patent/WO2022219289A1/fr
Priority to EP22722318.7A priority patent/EP4304472A1/fr
Publication of FR3121831A1 publication Critical patent/FR3121831A1/fr
Pending legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1116Determining posture transitions
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/112Gait analysis
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1121Determining geometric values, e.g. centre of rotation or angular range of movement
    • A61B5/1122Determining geometric values, e.g. centre of rotation or angular range of movement of movement trajectories
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/68Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient
    • A61B5/6801Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient specially adapted to be attached to or worn on the body surface
    • A61B5/6802Sensor mounted on worn items
    • A61B5/6804Garments; Clothes
    • A61B5/6807Footwear
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7253Details of waveform analysis characterised by using transforms
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • A61B5/7267Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems involving training the classification device
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2560/00Constructional details of operational features of apparatus; Accessories for medical measuring apparatus
    • A61B2560/02Operational features
    • A61B2560/0204Operational features of power management
    • A61B2560/0209Operational features of power management adapted for power saving
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2562/00Details of sensors; Constructional details of sensor housings or probes; Accessories for sensors
    • A61B2562/02Details of sensors specially adapted for in-vivo measurements
    • A61B2562/0219Inertial sensors, e.g. accelerometers, gyroscopes, tilt switches
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/725Details of waveform analysis using specific filters therefor, e.g. Kalman or adaptive filters

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Public Health (AREA)
  • Surgery (AREA)
  • Veterinary Medicine (AREA)
  • General Health & Medical Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Physiology (AREA)
  • Artificial Intelligence (AREA)
  • Dentistry (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Psychiatry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

L’invention porte sur un procédé (1) d’encodage de données générées par un ou plusieurs capteurs de mouvement (21) couplés à une chaussure, comportant : Une étape d’acquisition (200) de données comportant des valeurs variables sous forme de séries temporelles ;Une étape de calcul (300) d’une pluralité de descripteurs sur une fenêtre temporelle (31), l’étape de calcul étant répétée pour plusieurs fenêtres temporelles consécutives ;Une étape de transformation (400) comportant un codage des descripteurs chacun sur au plus huit bits, lesdits bits associés à une fenêtre temporelle (31) étant représentatifs d’un phonème de mouvement de la chaussure ;Une étape de génération (500) d’un tenseur de données comportant les bits obtenus pour chacune des fenêtres temporelles (31), de sorte que le tenseur de données comporte un encodage d’une combinaison de phonèmes de mouvement de la chaussure représentatifs d’un mouvement de la chaussure. Figure à publier avec l’abrégé : Figure 1.

Description

PROCÉDÉ D’ENCODAGE DE DONNÉES DE CAPTEUR DE MOUVEMENT, DISPOSITIF ET SYSTÈME ASSOCIÉS
L’invention s’intéresse au domaine de l’étude de la démarche et plus particulièrement au traitement de données brutes provenant de centrales inertielles pour faciliter l’étude en temps réel des mouvements, de la posture ou plus largement de l’activité d’une personne. L’invention concerne un procédé d’encodage de données générées par un ou plusieurs capteurs de mouvement de préférence couplés à une chaussure. L’invention concerne en outre un dispositif d’encodage et un système d’encodage de données générées par un ou plusieurs capteurs de mouvement pouvant mettre en œuvre un tel procédé.
La démarche humaine est un processus complexe et cyclique visant principalement à soutenir la position verticale et à maintenir l’équilibre dans des conditions statiques ou dynamiques. Un tel processus nécessite la synergie des muscles, des os et du système nerveux.
De nombreux systèmes ont été développés au fil des années pour étudier la démarche humaine. Ces systèmes comportent par exemple l’utilisation de chaussures équipées de capteurs de pression ou de capteurs inertiels positionnés dans la semelle, sur la chaussure ou encore au niveau de la cheville. En particulier, plusieurs équipes se sont concentrées sur l’utilisation et le traitement des données de capteurs inertiels pour l’analyse du mouvement humain. Ces systèmes, basés sur un ou plusieurs capteurs, fournissent aujourd’hui des valeurs de paramètres « marche » classiques indiquant par exemple des informations sur le nombre de pas grâce à des calculs réalisés le plus souvent intégralement sur des terminaux externes.
En outre, ces systèmes reposent le plus souvent sur des capteurs de pression ou des capteurs inertiels couplés à des centrales de calcul déportées dans des dispositifs externes présentant de fortes capacités de calcul. Ainsi, les systèmes d’étude de la démarche actuels comportent généralement la transmission de données à haute fréquence depuis les capteurs embarqués vers les centrales de calcul. Ces systèmes doivent être capables de fonctionner en continu sans avoir à changer/recharger la batterie fréquemment tout en proposant une analyse fine de la démarche d’un utilisateur. Or dans les systèmes classiques, la transmission en temps réel des données brutes entraine une forte consommation énergétique alors que ces systèmes doivent pouvoir fonctionner en autonomie sur une longue durée. Alternativement, la transmission de données prétraitées exclusivement limite les possibilités d’évolution des interprétations des données mesurées par les capteurs de mouvement.
Une étude réalisée en 2018 montre que sur les 14 systèmes évalués, la médiane d’autonomie des systèmes proposés est située à moins de 6 heures. Cela est clairement insuffisant pour des applications grand public où un suivi de la démarche d’un individu sur une journée au moins est souhaité (« A survey on smart shoe insole systems ». Salma Saidani et al. 2018 10.1109/SMARTNETS.2018.8707391 ; ©2018 IEEE).
Une solution pour augmenter l’autonomie des systèmes d’étude de la démarche d’un individu est d’augmenter la taille de la batterie. Néanmoins, une telle solution ne peut pas être appliquée dans toutes les situations, notamment lorsqu’une miniaturisation des dispositifs de suivi est souhaitée. Il a par exemple été proposé des centrales inertielles capables de fonctionner pendant environ 35 heures en envoyant les données brutes à un dispositif externe capable de les analyser (« Bluetooth Embedded Inertial Measurement Unit for Real-Time Data Collection for Gait Analysis ». Nimsiri Abhayasinghe et al. Octobre 2013 ; Conference: Indoor Positioning and Indoor Navigation. Montbéliard (France)). Toutefois une telle centrale inertielle présente des dimensions de l’ordre de 50 cm3et un poids de l’ordre de 50 grammes. De telles dimensions sont notamment imposées par l’utilisation d’une batterie présentant une capacité suffisante pour transmettre en continu les données à un dispositif externe de traitement.
D’autres solutions, déjà proposées par la demanderesse (WO2019193301, WO2019077266, WO2020217037), sont de permettre un calcul au moins partiel au niveau du dispositif de mesure du mouvement de façon à ne pas transférer l’ensemble des données mesurées et ainsi réduire la consommation associée au stockage et/ou transfert de données. Néanmoins, une telle solution présume de disposer de tous les algorithmes déjà intégrés dans le dispositif de mesure. Or, dans certains cas, seulement une partie des algorithmes de traitement de données ont été intégrés dans le dispositif de mesure. Il peut aussi exister un besoin de faire évoluer les méthodes de traitement des données.
Ainsi, il existe un besoin pour une méthode d’encodage des données de capteur de mouvement permettant un stockage et un transfert de données qui soit moins énergivore au niveau du dispositif de mesure tout en minimisant au maximum la perte de données.
[Problème technique]
L’invention a pour but de remédier aux inconvénients de l’art antérieur. En particulier, l’invention a pour but de proposer un procédé d’encodage de données générées par un ou plusieurs capteurs de mouvement de préférence couplé(s) à une chaussure, capable de générer/transmettre une information fidèle des données mesurées et suffisante pour l’étude de la démarche de l’individu portant lesdits capteurs de mouvements. Un tel procédé permet à des systèmes de fonctionner sur de plus longues durées sans avoir à changer/recharger la batterie, cela tout en proposant une analyse fine de la démarche d’un utilisateur. En outre, un tel procédé rend possible une détermination de la démarche d’un individu en temps réel.
L’invention a en outre pour but de proposer un dispositif d’encodage de données et un système de détermination de la démarche d’un utilisateur intégrant un tel dispositif, ledit système présentant une autonomie améliorée tout en étant capable d’une étude de la démarche de l’utilisateur en temps réel.
[Brève description de l’invention]
À cet effet, l’invention porte sur un procédé d’encodage de données générées par un ou plusieurs capteurs de mouvement couplés à une chaussure, pour l’identification d’une position ou d’un mouvement de la chaussure sur une séquence temporelle,
ledit procédé, exécuté par un ou plusieurs processeurs, comportant :
  • Une étape d’acquisition de données générées par le ou les capteurs de mouvement couplé à la chaussure, lesdites données comportant des valeurs variables sous forme de séries temporelles, de préférence lesdites valeurs variables comportent des valeurs d’accélération et de vitesse angulaire  ;
  • Une étape de calcul, à partir des données acquises sur une fenêtre temporelle, d’une pluralité de descripteurs, ladite étape de calcul étant répétée pour plusieurs fenêtres temporelles consécutives, les fenêtres temporelles consécutives formant la séquence temporelle ; et
  • Une étape de transformation de la pluralité de descripteurs de chacune des fenêtres temporelles consécutives formant la séquence temporelle, ladite étape de transformation comportant une génération pour chacun des descripteurs d’une donnée codée sur au plus huit bits, de préférence sur au plus quatre bits
lesdites données codées sur au plus huit bits associées à la séquence temporelle étant représentatives d’une position ou d’un mouvement de la chaussure sur ladite séquence temporelle.
La demanderesse a développé un procédé embarquable capable de traiter quasi instantanément (e.g. temps inférieur à 1 ms avec une cadence de processeur à 64 MHz), de préférence par des processeurs couplés aux capteurs de mouvements, les données brutes générées par les capteurs de mouvement. La chaussure est par exemple portée par un utilisateur. Cela permet de les encoder dans un format qui pourra être soit traité au niveau d’un processeur couplé au capteur de mouvement, par exemple dans une semelle, soit transmis ponctuellement à un terminal externe avec une consommation d’énergie réduite et/ou une mémoire de stockage réduite.
La demanderesse a développé en particulier un encodage de données permettant une meilleure interprétation par apprentissage automatique des mouvements. Sans être lié par la théorie, cet encodage peut être considéré comme une phonémisation des séries temporelles issues des capteurs de mouvement. Ainsi, le procédé générera à partir d’une série temporelle de données de capteur de mouvement, un ensemble de « phonème » capable de décrire des intervalles consécutifs de la série temporelle. La combinaison ou l’assemblage particulier de ces phonèmes permettra de définir des postures ou mouvements particuliers.
En outre, un tel encodage donne également la possibilité à un algorithme de traiter la donnée encodée en temps réel pour la traduire en des prédictions de démarche d’un individu (e.g. mouvement et/ou posture).
Les données ainsi encodées pourront être alors traitées ou transmises sous la forme de tenseur de données. Le procédé comportant alors une étape de génération d’un tenseur de données comportant les données codées sur au plus huit bits obtenus pour plusieurs des fenêtres temporelles, de sorte que le tenseur de données comporte un encodage représentatif d’une posture ou d’un mouvement de la chaussure. En outre, le tenseur de données pourra comporter un encodage représentatif d’une pluralité de posture ou de mouvement de la chaussure.
Selon d’autres caractéristiques optionnelles du procédé, ce dernier peut inclure facultativement une ou plusieurs des caractéristiques suivantes, seules ou en combinaison :
  • les un ou plusieurs capteurs de mouvement ainsi que les un ou plusieurs processeurs sont intégrés dans un dispositif d’encodage, de préférence positionné dans une semelle. Un tel dispositif embarquant capteur de mouvement et processeurs permet de réaliser une partie du traitement au plus proche de la génération d’une donnée brute de mouvement et donc d’accélérer le traitement et d’en réduire le cout énergétique.
  • Le dispositif d’encodage est positionné dans une semelle amovible. La présence du dispositif d’encodage dans une semelle amovible est possible grâce à la faible consommation du procédé et permet d’utiliser le procédé sur plusieurs articles chaussants.
  • l’étape de calcul comporte un prétraitement des données acquises. Il peut être avantageux de modifier les données, par exemple, via des filtrages, de façon à accélérer le traitement ultérieur et dans certains cas réduire la consommation d’énergie associée.
  • les descripteurs sont calculés à partir de fonctions mathématiques appliquées aux données, prétraitées ou non, générées par le ou les capteurs de mouvement couplé à la chaussure, et lesdites fonctions mathématiques appliquées comportant par exemple un calcul de moyenne, d’asymétrie statistique, du coefficient d’aplatissement, de comparaisons de valeurs des extremums ou des quartiles, de positions des extremums dans une série temporelle, et/ou de comparaisons des valeurs de bord des sous-ensembles du mouvement et/ou un calcul d’une topologie des données.
  • il comporte une étape d’extraction d’une séquence temporelle pouvant correspondre à une unité de mouvement, ladite étape d’extraction mettant en œuvre un modèle d’apprentissage, de préférence un modèle d’apprentissage non supervisé. Une extraction préalable d’une unité de mouvement peut permettre d’améliorer la justesse de prédiction du procédé tout en réduisant la consommation d’énergie associée.
  • Il comporte une étape d’analyse des données codées sur au plus huit bits, de préférence du tenseur de données, en fonction d’une donnée d’activité de l’utilisateur, ladite étape d’analyse comprenant une comparaison entre les données codées sur au plus huit bits ou de préférence le tenseur de données et une base de données comprenant des données de référence pour l’activité donnée. Cela permet avantageusement de déterminer quelles données sont associées aux mouvements relatifs à une activité et quelles données correspondent à des mouvements à risque ou non intentionnels. L’activité donnée peut par exemple correspondre à une activité sportive mais également une activité de détente ou professionnelle.
  • les fenêtres temporelles de deux séquences temporelles consécutives présentent des durées différentes. Ainsi, l’analyse peut s’adapter à différents types de marches, différentes temporalité de cycle de marche et ne nécessite pas de longue segmentation des données.
  • lors de l’étape de transformation, au moins quatre descripteurs sont utilisés pour chacun générer une donnée codée sur au moins un bit, de façon plus préférée sur au moins deux bits.
  • lors de l’étape de transformation, plusieurs descripteurs sont transformés en une seule donnée d’au plus huit bits, de préférence d’au plus trois bits. Dans certains cas, des descripteurs « composites », formés à partir de plusieurs descripteurs peuvent être les seuls à être nécessaires. En particulier, lors de l’étape de transformation, au moins huit descripteurs sont utilisés, pour chacun générer une donnée codée sur au moins un bit, de façon plus préférée au moins deux bits.
  • une ou plusieurs données codées sur au plus huit bits, de préférence d’au plus trois bits, sont calculées à partir de valeurs de descripteurs calculés à partir de données acquises sur des fenêtres temporelles consécutives. Dans certains cas, un descripteur « composite », formé à partir de plusieurs descripteurs provenant de fenêtres temporelles différentes peut améliorer la performance.
  • lors de l’étape de transformation, entre quatre et vingt descripteurs sont utilisés pour chacun générer une donnée codée sur un nombre de bits sélectionné parmi : un, deux ou trois. De telles valeurs permettent d’obtenir de meilleures performances en termes de conservation de données, volume de stockage et consommation électrique.
Selonun deuxième objet, l’invention porte sur un procédé de détermination de la démarche d’un utilisateur d’une chaussure, à partir de données susceptibles d’avoir été encodées selon un procédé d’encodage selon l’invention, ledit procédé de détermination, exécuté par un ou plusieurs processeurs, comportant :
  • Une étape de chargement d’un ou de plusieurs tenseurs de données comportant un encodage représentatif d’une position ou d’un mouvement de la chaussure de l’utilisateur  ; et
  • Une étape de traitement du ou des tenseurs de données par un modèle d’apprentissage automatique entrainé de manière à identifier une posture ou un mouvement de l’utilisateur.
Selon d’autres caractéristiques optionnelles du procédé, ce dernier peut inclure facultativement une ou plusieurs des caractéristiques suivantes, seules ou en combinaison :
  • la démarche de l’utilisateur comporte un ou plusieurs mouvements et/ou postures de l’utilisateur.
  • l’étape de traitement du ou des tenseurs de données par un modèle d’apprentissage automatique comporte l’identification de classes d’événements à partir d’un ou de plusieurs tenseurs de données, de préférence une classe de mouvement par séquence temporelle.
  • il comporte une étape de sélection, de préférence par le modèle d’apprentissage automatique entrainé, d’une posture ou d’un mouvement de l’utilisateur à partir d’une comparaison des postures ou mouvements de l’utilisateur identifiés à partir de fenêtres temporelles contiguës ou de séquences temporelles contiguës.
  • il comporte l’identification, par le modèle d’apprentissage entrainé, d’une posture ou d’un mouvement pour chacune de plusieurs séquences temporelles contiguës, le procédé comportant alors une sélection de la posture ou du mouvement le plus représenté au sein des séquences temporelles contiguës. Une telle étape permet de réduire les risques de faux positifs en tirant parti de la reconnaissance en temps réel de séries temporelles et d’une validation multiple d’une même posture ou mouvement. Par exemple, un mouvement peut être sélectionné à partir d’une analyse d’au moins 3, de préférence d’au moins 4 et de façon encore plus préférée d’au moins cinq séquences temporelles contiguës.
  • il comporte une étape de comparaison de postures et/ou de mouvements de l’utilisateur identifiés pour une fenêtre temporelle ou une séquence temporelle donnée à partir de données de capteurs différents de façon à identifier une posture ou d’un mouvement de l’utilisateur. En particulier, il peut comporter, pour une unité de mouvement, une comparaison du mouvement identifié pour chacun des pieds, ou une comparaison par rapport à un référentiel, de façon à déterminer une posture ou un mouvement.
L’invention porte en outre sur un dispositif d’encodage de données générées par un ou plusieurs capteurs de mouvement couplé(s) à une chaussure, pour l’identification d’une position ou d’un mouvement de la chaussure sur une séquence temporelle, ledit dispositif d’encodage comportant un ou plusieurs processeurs, lesdits un ou plusieurs processeurs étant configurés pour :
  • Acquérir les données générées par le ou les capteurs de mouvement couplé(s) à la chaussure, lesdites données comportant des valeurs variables sous forme de séries temporelles, de préférence des valeurs d’accélération et de vitesse angulaire ;
  • Calculer, à partir des données acquises sur une fenêtre temporelle, une pluralité de descripteurs, le calcul étant répété pour plusieurs fenêtres temporelles consécutives, les fenêtres temporelles consécutives formant une séquence temporelle ;
  • Transformer la pluralité de descripteurs de chacune des fenêtres temporelles consécutives formant la séquence temporelle, ladite transformation comportant une génération pour chacun des descripteurs d’une donnée codée sur au plus huit bits, de préférence d’au plus trois bits, lesdites données codées sur au plus huit bits associées à une fenêtre temporelle étant représentatives d’un mouvement de la chaussure sur ladite séquence temporelle.
En outre, le dispositif d’encodage peut comporter les ou plusieurs capteurs de mouvement. En outre, le ou les processeurs peuvent être configurés pour générer un tenseur de données comportant les données codées sur au plus huit bits obtenus pour plusieurs des fenêtres temporelles, de sorte que le tenseur de données comporte un encodage représentatif d’une position ou d’un mouvement de la chaussure.
L’invention porte en outre sur un système de détermination de la démarche d’un utilisateur, ledit système de détermination comportant au moins un dispositif d’encodage selon l’invention et un terminal externe configuré pour recevoir le tenseur de données généré puis pour déterminer la démarche d’un utilisateur à partir du tenseur de données généré.
D’autres avantages et caractéristiques de l’invention apparaitront à la lecture de la description suivante donnée à titre d’exemple illustratif et non limitatif, en référence aux Figures annexées :
, la représente un schéma d’un procédé selon un mode de réalisation de l’invention. Les étapes en pointillés sont facultatives.
, la représente un schéma d’un procédé selon un autre mode de réalisation de l’invention. Les étapes en pointillés sont facultatives.
et , les figures 3A, 3B représentent chacune un graphe montrant des données générées, divisées en séquence temporelle subdivisée en fenêtres temporelles, par un capteur de mouvement selon l’axe x. La figure 3C correspond à des tenseurs de données d’ordre 2 pouvant former ensemble un tenseur d’ordre 3.
, la représente un schéma d’un procédé de détermination de la démarche d’un utilisateur selon un mode de réalisation de l’invention. Les étapes en pointillés sont facultatives.
, la représente un schéma d’un dispositif d’encodage ouvert vu du dessus comprenant notamment une carte électronique, une source d’énergie, un connecteur et un moyen de communication.
, la représente un schéma d’un système de détermination de la démarche d’un utilisateur selon l’invention.
Des aspects de la présente invention sont décrits en référence à des organigrammes et/ou à des schémas fonctionnels de procédés, d’appareils (systèmes) et de produits de programme d’ordinateur selon des modes de réalisation de l’invention.
Sur les figures, les organigrammes et les schémas fonctionnels illustrent l’architecture, la fonctionnalité et le fonctionnement d’implémentations possibles de systèmes, de procédés et de produits de programme d’ordinateur selon divers modes de réalisation de la présente invention. À cet égard, chaque bloc dans les organigrammes ou blocs-diagrammes peut représenter un système, un dispositif, un module ou un code, qui comprend une ou plusieurs instructions exécutables pour mettre en œuvre la ou les fonctions logiques spécifiées. Dans certaines implémentations, les fonctions associées aux blocs peuvent apparaitre dans un ordre différent que celui indiqué sur les figures. Par exemple, deux blocs montrés successivement peuvent, en fait, être exécutés sensiblement simultanément, ou les blocs peuvent parfois être exécutés dans l’ordre inverse, en fonction de la fonctionnalité impliquée. Chaque bloc des schémas de principe et/ou de l’organigramme, et des combinaisons de blocs dans les schémas de principe et/ou l’organigramme, peuvent être mis en œuvre par des systèmes matériels spéciaux qui exécutent les fonctions ou actes spécifiés ou effectuer des combinaisons de matériel spécial et d’instructions informatiques.
[Description de l’invention]
Dans la suite de la description, la «démarche» au sens de l’invention correspond à la posture, les mouvements, la locomotion, et l’équilibre de l’utilisateur. L’équilibre correspond notamment à l’équilibre postural lié à la stabilité du corps et plus particulièrement à la stabilité du centre de gravité d’un utilisateur. Néanmoins il peut intégrer aussi bien l’équilibre statique que l’équilibre dynamique.
La «détermination de la démarche» correspond, au sens de l’invention, à l’attribution d’une ou de plusieurs valeurs par exemple un score, un classement ou une note à une trajectoire ou au déplacement d’un pied d’un utilisateur. Cette détermination de la démarche peut aussi permettre d’obtenir une ou plusieurs valeurs numériques ou alphanumériques de paramètres biomécanique représentatifs de la démarche.
Le terme «activité» au sens de l’invention peut correspondre à une action réalisée par l’utilisateur sur une période prolongée. Cela peut par exemple correspondre à une activité sportive telle que du football, du cyclisme ou du basketball, mais aussi à une activité sédentaire telle qu’une activité de bureau ou toute autre activité telle qu’une marche récréative ou une randonnée pédestre.
Le terme «Descripteur» au sens de l’invention peut correspondre de préférence à une valeur obtenue via une transformation mathématique des données acquises à partir des capteurs de mouvement. Une transformation mathématique pourra par exemple correspondre au calcul d’une moyenne, d’une médiane, d’une variance, d’asymétrie statistique, du coefficient d’aplatissement, de valeurs des extremums, de valeurs de quartile, de comparaisons de valeurs des extremums ou des quartiles, de positions des extremums dans une série temporelle, et de comparaisons des valeurs de bord des sous-ensembles du mouvement. Par exemple, pour une fenêtre, une valeur de bord correspond à la valeur initiale et finale de la fenêtre.
L’expression «phonème de mouvement» au sens de l’invention, peut correspondre à un ensemble de données calculées à partir de plusieurs descripteurs générés sur une fenêtre temporelle donnée. Ces données prennent avantageusement la forme dans le cadre de l’invention de données encodée sur au plus huit bits. Ainsi le phonème de mouvement correspond à plusieurs valeurs encodées sur au plus huit bits décrivant au moins en partie un mouvement sur la fenêtre temporelle étudiée. Ces phonèmes de mouvement peuvent ainsi correspondre à des données calculées à partir de plusieurs descripteurs décrivant une sous-partie d'un mouvement appelée un micromouvement, c’est-à-dire un mouvement pouvant par exemple se dérouler sur moins de 500 ms.
L’expression «tenseur de données» au sens de l’invention, peut correspondre à un objet, ou à une structure de données, telle qu’un tableau à une dimension, une matrice à deux dimensions ou encore un cube comportant des données relatives à des valeurs de descripteurs transformées en valeurs codées en au plus huit bits, de préférence en au plus deux bits. La représentation sous forme de tenseur est une représentation des données permettant par exemple d’avoir recours à des opérations de calcul matriciel, optimisée en termes de complexité de calcul et mémoire. En outre, les tenseurs de données, lorsqu’ils correspondent aux valeurs d’un capteur pour une fenêtre temporelle peuvent former un tenseur de données d’ordre 3 et peuvent être traité conjointement avec des tenseurs de données pour d’autres capteurs et des tenseurs de données pour d’autres fenêtres temporelles de façon à former une liste de tenseur de données d’ordre 3.
Par «paramètre bio-mécanique», on entend au sens de l’invention une caractéristique de la démarche de l’utilisateur.
On entend par «semelle» un objet permettant de séparer le pied de l’utilisateur du sol. Une chaussure peut comporter une couche de semelle supérieure en contact direct avec le pied de l’utilisateur et une couche de semelle inférieure en contact direct avec le sol ou plus généralement l’environnement extérieur. Une chaussure peut aussi comporter une semelle interne amovible.
On entend par «amovible» la capacité à être détachée, enlevée ou démontée aisément sans avoir à détruire des moyens de fixation soit parce qu’il n’y a pas de moyens de fixation soit parce que les moyens de fixation sont aisément et rapidement démontables (e.g. encoche, vis, languette, ergot, clips). Par exemple, par amovible, il faut comprendre que l’objet n’est pas fixé par soudure ou par un autre moyen non prévu pour permettre de détacher l’objet.
Par «modèle» ou «règle» ou «algorithme», il faut comprendre au sens de l’invention une suite finie d’opérations ou d’instructions permettant de calculer une valeur par l’intermédiaire d’un classement ou d’un partitionnement des données au sein de groupes préalablement définis Y et d’attribuer un score ou de hiérarchiser une ou plusieurs données au sein d’un classement. La mise en œuvre de cette suite finie d’opérations permet par exemple d’attribuer une étiquette Y à une observation décrite par un ensemble de caractéristiques ou paramètres X grâce par exemple à la mise en œuvre d’une fonction f, susceptible de reproduire Y en ayant observé X.
Y = f (X) + e
où e symbolise le bruit ou erreur de mesure.
Par «méthode d’apprentissage supervisé», on entend au sens de l’invention un procédé permettant de définir une fonction f à partir d’une base de n observations étiquetées (X1…n, Y1…n) où Y = f (X) + e.
Par «méthode d’apprentissage non supervisée», on entend une méthode visant à hiérarchiser les données ou à diviser un ensemble de données en différents groupes homogènes, les groupes de données homogènes partageant des caractéristiques communes et cela sans que les observations soient étiquetées.
On entend par «sensiblement constante» une valeur variant de moins de 15 % par rapport à la valeur comparée, de préférence de moins de 10 %, de façon encore plus préférée de moins de 5 %.
On entend par «traiter», «calculer», «déterminer», «afficher», «transformer», «extraire», «comparer» ou plus largement « opération exécutable », au sens de l’invention, une action effectuée par un dispositif ou un processeur sauf si le contexte indique autrement. À cet égard, les opérations se rapportent à des actions et/ou des processus d’un système de traitement de données, par exemple un système informatique ou un dispositif informatique électronique, qui manipule et transforme les données représentées en tant que quantités physiques (électroniques) dans les mémoires du système informatique ou d’autres dispositifs de stockage, de transmission ou d’affichage de l’information. Ces opérations peuvent se baser sur des applications ou des logiciels.
Les termes ou expressions «application», «logiciel», «code de programme», et «code exécutable» signifient toute expression, code ou notation, d’un ensemble d’instructions destinées à provoquer un traitement de données pour effectuer une fonction particulière directement ou indirectement (e.g. après une opération de conversion vers un autre code). Les exemples de code de programme peuvent inclure, sans s’y limiter, un sous-programme, une fonction, une application exécutable, un code source, un code objet, une bibliothèque et/ou toute autre séquence d’instructions conçues pour l’exécution sur un système informatique.
On entend par «processeur», au sens de l’invention, au moins un circuit matériel configuré pour exécuter des opérations selon des instructions contenues dans un code. Le circuit matériel peut être un circuit intégré. Des exemples d’un processeur comprennent, sans s’y limiter, une unité de traitement central, un processeur graphique, un circuit intégré spécifique à l’application (ASIC) et un circuit logique programmable.
On entend par «dispositif informatique», tout dispositif comprenant une unité de traitement ou un processeur, par exemple sous la forme d’un microcontrôleur coopérant avec une mémoire de données, éventuellement une mémoire programme, lesdites mémoires pouvant être dissociées. L’unité de traitement coopère avec lesdites mémoires au moyen d’un bus de communication interne.
Par «infrastructure informatique», on entend au sens de l’invention un ensemble de structures informatiques (i.e. dispositifs informatiques) apte à faire fonctionner une application ou une chaine applicative. La structure informatique peut être un serveur et peut par exemple être composée d’un serveur de présentation, d’un serveur métier et d’un serveur de données. De façon préférée, la structure informatique est un serveur.
On entend par «couplé», au sens de l’invention, connecté, directement ou indirectement avec un ou plusieurs éléments intermédiaires. Deux éléments peuvent être couplés mécaniquement, électriquement ou liés par un canal de communication.
Dans cette description et même avant, les mêmes références sont utilisées pour désigner les mêmes éléments.
Les inventeurs ont testé plusieurs procédés et systèmes pour étudier la démarche d’un utilisateur (e.g. posture et/ou mouvement). Ils ont privilégié les systèmes intégrant des capteurs inertiels, systèmes les plus à même de fournir une réponse rapide et à un coût supportable pour une industrialisation. En effet, les procédés existants se basent généralement sur des capteurs de pression ou sur une pluralité de capteurs répartis dans la chaussure et/ou semelle ou même sur la cheville. Une telle répartition des capteurs entraine une réduction de la robustesse du système et/ou une augmentation de son coût.
Cependant, comme cela a été mentionné, la grande majorité des systèmes d’étude de la démarche d’un individu souffrent de l’autonomie de la batterie utilisée, cela étant principalement causé par la transmission en temps réel de données brutes générée par les capteurs de mouvement et en particulier par des centrales inertielles. L’alternative, à savoir dimensionner une batterie capable de tenir plusieurs dizaines d’heures concerne alors des systèmes qui ne pourraient plus être considérés comme portables ou d’usage courant.
Face à ces insuffisances, la demanderesse a développé un procédé embarquable capable de traiter les données brutes générées par les capteurs de mouvement quasi instantanément et de les encoder en un format permettant une transmission avec une consommation d’énergie réduite et/ou une mémoire de stockage réduite. En outre, le procédé permet un encodage tel que les données transmises, bien que nécessitant qu’une faible quantité d’énergie, conservent un maximum d’informations et permettent ensuite une analyse fine de la démarche de l’utilisateur des capteurs de mouvement.
En particulier, la demanderesse a développé une solution d’encodage de données générées par un ou plusieurs capteurs de mouvement. Comme cela a été mentionné, cet encodage pourrait être considéré comme reposant sur une phonémisation du mouvement lié à la démarche d’un individu (e.g. posture et/ou mouvement).
Selon un premier aspect, l’invention porte sur un procédé 1 d’encodage de données générées par un ou plusieurs capteurs de mouvement. En particulier, un tel procédé peut être mis en œuvre pour un ou plusieurs capteurs de mouvement 21 couplés à une chaussure, notamment une chaussure portée par un utilisateur. Il pourra notamment être mis en œuvre par un ou plusieurs processeurs 22.
En particulier, un tel procédé est mis en œuvre à partir de données générées par un ou plusieurs capteurs de mouvement 21 d’une semelle 11,12, décrits par la suite. Certains des capteurs de mouvement 21 peuvent être répartis dans la semelle 11,12 ou bien aussi être positionnés sur la chaussure de façon à suivre les mouvements de la semelle. Les capteurs de mouvement peuvent aussi être tous intégrés dans un premier dispositif d’encodage 20 associé à une première chaussure et un deuxième dispositif d’encodage 20 associé à une deuxième chaussure de la même paire.
Un procédé 1 d’encodage selon l’invention permettra avantageusement une identification d’une position ou d’un mouvement d’une chaussure couplée à un ou plusieurs capteurs de mouvement 21 sur une séquence temporelle ST, cela lorsque la chaussure est portée par un utilisateur.
Comme cela est illustré à la , le procédé 1 d’encodage comporte : une étape d’acquisition 200 de données générées par le ou les capteurs de mouvement 21, une étape de calcul 300 d’une pluralité de descripteurs à partir des données acquises sur une fenêtre temporelle 31, une étape de transformation 400 de la pluralité de descripteurs et une étape de génération 500 d’un tenseur de données comportant les bits obtenus pour chacune des fenêtres temporelles 31, de sorte que le tenseur de données comporte un encodage d’une combinaison de plusieurs phonèmes de mouvement qui est représentative d’une position ou d’un mouvement de l’utilisateur ou d’une position ou d’un mouvement de la chaussure portée par un utilisateur.
En outre, un procédé selon l’invention peut comporter des étapes avantageuses telles que : un apprentissage 100, une calibration 210 à la démarche de l’utilisateur, un prétraitement 220 des données générées par les capteurs de mouvement et/ou des valeurs calculées dans le cadre du procédé, une extraction 230 d’une séquence temporelle correspondant à une unité de mouvement, une transmission 600 d’un tenseur de données, une détermination 700 de la démarche de l’utilisateur ou encore une mémorisation 900 des données.
Dans la suite de la présente description, la solution proposée par la demanderesse sera décrite dans un mode de réalisation dans lequel, le ou les capteurs de mouvement 21 comportent au moins une centrale inertielle d’au moins six axes et ce ou ces capteurs de mouvement 21 sont intégrés à une semelle 11,12. La ou les semelles impliquées dans la présente invention pourront être ou non amovible(s). De façon préférée, la ou les semelles impliquées dans la présente invention est/sont amovible(s).
Néanmoins, la présente invention dans ces différents modes de réalisation, préférés ou non, pourrait être appliquée dans le cas où les capteurs de mouvement ne sont pas intégrés à une semelle. Elle pourrait en particulier être appliquée lorsque les capteurs de mouvement sont positionnés sur une chaussure, mais aussi au niveau du corps d’un utilisateur, par exemple intégrés dans un bracelet ou bien dans un vêtement porté par ce-dernier. En effet, les données de mouvements générées par un ou plusieurs capteurs de mouvement positionnés sur le corps d’un utilisateur par exemple au niveau de membres inférieurs ou de la colonne vertébrale pourraient être encodées par un procédé d’encodage selon l’invention et ou utilisées pour déterminer la démarche de l’utilisateur.
Les capteurs de mouvement pourraient également être des capteurs de pression qui s’ils sont positionnés de façon adéquate peuvent renseigner sur les mouvements notamment d’un individu.
Dans le cadre de la description qui suit, de façon préférée, les un ou plusieurs processeurs sont positionnés dans une semelle. Alternativement, les un ou plusieurs processeurs pourraient être positionnés dans un boitier agencé pour être fixé à une chaussure ou à un utilisateur.
En particulier, les un ou plusieurs capteurs de mouvement ainsi que les un ou plusieurs processeurs sont intégrés dans un boitier électronique, tel qu’un dispositif d’encodage 20, de préférence positionné dans une semelle.
Comme illustré à la , un procédé selon l’invention peut comporter une étape 100 d’apprentissage.
Une étape 100 d’apprentissage pourra comporter une étape de collecte des données d’entrainement puis une agrégation et un stockage de ces données cibles dans une base de données. Ces données d’entrainement peuvent être ou non annotées et peuvent être utilisées pour générer des tenseurs de données utilisables dans une étape d’entrainement, de préférence distribuée et parallélisée.
De façon préférée l’étape 100 d’apprentissage pourra comporter la génération et la sélection de multiples modèles d’apprentissage par validation croisée et sélection d’hyper paramètres optimisés. Enfin, l’étape 100 d’apprentissage peut comporter une sélection du modèle d’apprentissage fournissant les meilleures performances de classification, c’est-à-dire une performance optimale et homogène entre les classes.
Une telle étape peut notamment comporter la définition d’une pluralité des valeurs de référence d’activité d’un utilisateur. Par exemple, lors de la répétition de mouvements, postures et démarches effectuées par un utilisateur sur une durée déterminée, des valeurs de référence d’activité peuvent être enregistrées et classées selon une pluralité de valeurs, incluant des motifs par exemple de type statique ou dynamique.
Un procédé selon l’invention comporte une étape d’acquisition 200 de données générées par le ou les capteurs de mouvement 21, de préférence couplé(s) à une chaussure. L’acquisition, comme cela peut être compris à la lecture de la présente description, est de préférence réalisée pour chacune des deux chaussures et le cas échéant des deux semelles des chaussures. Cette étape peut correspondre en particulier dans le cadre de l’invention à l’acquisition de données générées par un ou plusieurs capteurs de mouvement d’un dispositif d’encodage 20 ou de plusieurs dispositifs d’encodage 20 par exemple chacun intégré à une semelle amovible ou non. Cette acquisition pourra par exemple correspondre à une mise en mémoire, de préférence dans une mémoire vive des données générées par les capteurs. Cette acquisition pourra également correspondre à un chargement dans la mémoire d’un ou plusieurs processeurs destiné(s) à les traiter.
En particulier, les données acquises sont des données brutes générées par le ou les capteurs de mouvement 21. Alternativement, les données acquises peuvent aussi correspondre à des données prétraitées. Comme cela sera décrit après, les données acquises prétraitées peuvent par exemple correspondre à des données qui ont été normalisées, filtrées, complétées ou encore à des données ayant été fusionnées par exemple par un filtrage de Kalman. De façon préférée, les données acquises comportent des valeurs variables sous forme de séries temporelles. Ces valeurs variables pourront de préférence correspondre à des valeurs d’accélération et de vitesse angulaire, mais elles peuvent par exemple aussi correspondre à des valeurs générées par des capteurs de pression. Elles pourront éventuellement comporter des données de champs magnétiques ou une fusion de ces données. Ainsi, les données générées par le ou les capteurs de mouvement peuvent comporter en outre des données de champ magnétique.
Cette étape d’acquisition peut également comporter l’acquisition d’autres données telles que des données de géolocalisation, des données de température, ou encore des données de pression.
En particulier, lorsque les données acquises ont été générées par des capteurs de mouvement positionnés dans une semelle, ces données correspondront de préférence à des valeurs d’accélération et de vitesse angulaire de(s) la semelle(s).
En particulier, un procédé selon l’invention peut comprendre une étape de calibration 210. Comme cela sera décrit par la suite, les capteurs de mouvement 21 peuvent être associés à une chaussure et peuvent être intégrés dans un dispositif d’encodage 20.
Un procédé selon l’invention peut également comporter un prétraitement 220 des données générées par les capteurs de mouvement avant ou après leur acquisition.
En particulier cette étape de prétraitement 220 peut correspondre au prétraitement des valeurs d’accélération, de vitesse angulaire et/ou d’orientation d’une semelle ou encore de valeur de pression. Par exemple elle peut comporter en particulier au moins un traitement sélectionné parmi : un filtrage fréquentiel, une suppression de la gravité sur les valeurs d’accélération, une suppression de la gravité, une suppression du bruit sur les valeurs d’accélération et une suppression de la dérive sur les valeurs de vitesse angulaire et/ou d’orientation de la semelle.
Comme cela a été mentionné et illustré à la , un procédé selon l’invention peut comporter une étape d’extraction 230 d’une séquence temporelle pouvant correspondre à une unité de mouvement.
L’unité de mouvement au sens de l’invention peut correspondre à un cycle de marche, un cycle de course ou encore un cycle de montée d’escalier. Ces cycles peuvent être définis comme la période de temps allant du contact initial d’un pied à l’occurrence suivante du même événement avec le même pied.
Dans le cadre de l’invention, de nombreuses méthodes de partitionnement peuvent être utilisées. Ainsi cette étape peut par exemple comporter la mise en œuvre d’étapes classiques d’étude du mouvement du pas, par exemple la méthode Pan-Tompkins ou la détection de seuils, de maxima et/ou de minima.
L’extraction 230 pourra avantageusement mettre en œuvre un modèle d’apprentissage automatique, de préférence un modèle d’apprentissage automatique non supervisé.
Un procédé selon l’invention comporte également une étape de calcul 300 d’une pluralité de descripteurs à partir des données acquises sur une fenêtre temporelle 31.
Avantageusement, cette étape de calcul peut être répétée pour plusieurs fenêtres temporelles 31 consécutives. Comme cela sera décrit par la suite, les fenêtres temporelles 31 consécutives forment une séquence temporelle 32. Cela est notamment illustré aux figures 3A et 3B.
Les figures 3A et 3B représentent des données générées par un capteur de mouvement, par exemple des données d’accélération selon l’axe x, prétraitées ou non. Ces données peuvent être divisées en séquence temporelle 32, deux à la , puis subdivisées en fenêtres temporelles 31.
Comme cela a été présenté, un procédé selon l’invention peut comporter une étape d’extraction 230 d’une séquence temporelle 32 pouvant correspondre à une unité de mouvement. Alternativement, une séquence temporelle 32 pourra correspondre à une fenêtre glissante comme cela est illustré à la figure 3B. En outre, comme cela est illustré à la figure 3B, de façon préférée, les séquences temporelles 32 peuvent être chevauchantes.
La fenêtre temporelle 31 ne correspond pas obligatoirement à une durée prédéterminée. En outre, de préférence, elle ne correspond pas à une durée prédéterminée. Par exemple, la durée de la fenêtre temporelle 31 peut être définie une fois qu’une unité de mouvement, ou un type de mouvement a été identifié.
Comme cela est illustré à la figure 3B, toutes les fenêtres temporelles 31 d’une séquence temporelle 32 peuvent présenter une durée identique. En outre, les fenêtres temporelles 31 de deux séquences temporelles 32 consécutives peuvent présenter des durées différentes.
Ainsi, la durée d’une fenêtre temporelle peut s’adapter à la durée d’une unité de mouvement. Cela permet de considérer des démarches indépendamment de leur temps d’exécution.
Par exemple, la durée de chacune des fenêtres temporelles 31 d’une séquence temporelle 32 pourra correspondre à une fraction prédéterminée de la durée de la séquence temporelle 32.
La durée d’une fenêtre temporelle 31 pourra par exemple être comprise entre 25 et 1000 ms tandis que la durée d’une séquence temporelle 32 pourra par exemple être comprise entre 100 et 5000 ms. Une fenêtre temporelle 31 pourra par exemple représenter entre 1/20 et 1/4 d’une séquence temporelle 32, de préférence entre 1/10 et 1/5 d’une séquence temporelle 32.
Avantageusement, les descripteurs sont calculés à partir de fonctions mathématiques appliquées aux données générées par le ou les capteurs de mouvement 21, prétraitées ou non. Les fonctions mathématiques comportent de préférence des calculs d’asymétrie statistique, de coefficient d’aplatissement, de valeurs des extremums et/ou de comparaisons des valeurs de bord des sous-ensembles du mouvement.
En outre, les fonctions mathématiques implémentées peuvent permettre de calculer des descripteurs dits « topologiques » permettant d’extraire, de mesurer et de comparer des informations structurelles cachées au sein de données complexes. Dans ce cas, les fonctions mathématiques peuvent être adaptées pour permettre le calcul de la topologie des données via notamment la détermination d’un diagramme de persistance uni ou multidimensionnelle (comme présenté dans H. Edelsbrunner and J. Harer.Computational Topology: An Introduction.American Mathematical Society, 2009, ou encore dans H. Edelsbrunner, D. Letscher, and A. Zomorodian.Topological persistence and simplification. Disc. Compu. Geom., 2002), du graphe de Reeb (J. Tierny, A. Gyulassy, E. Simon, and V. Pascucci. Loop surgery for volu-metric meshes: Reeb graphs reduced to contour trees. IEEE Transactionson Visualization and Computer Graphics(Proc. of IEEE VIS), 2009.), ou encore du complexe de Morse-Smale (A. Gyulassy, P. T. Bremer, B. Hamann, and V. Pascucci. A practical approach to morse-smale complex computation: Scalability and generality.IEEE Transactions on Visualization and Computer Graphics(Proc. Of IEEE VIS), 2008). Bien entendu, le calcul de ces descripteurs topologiques ne se limite pas à l’utilisation des fonctions mathématiques décrites à titre d’exemple illustratif, d’autres fonctions mathématiques peuvent être utilisées afin de déterminer d’autres types de descripteurs topologiques.
De façon préférée, les fonctions mathématiques appliquées incorporent des données provenant de plusieurs capteurs de mouvement pour générer une donnée codée sur au plus huit bits, de préférence d’au plus trois bits, de façon plus préférée au plus deux bits. Par exemple, dans le cas d’une centrale inertielle générant des données d’accélération sur trois axes, un descripteur codé sur au plus trois bits, de préférence au plus deux bits, pourra avoir été généré à partir des valeurs des trois axes.
En outre, les fonctions mathématiques appliquées peuvent avantageusement incorporer des données provenant d’une fenêtre temporelle antérieure pour calculer un descripteur d’une fenêtre donnée. Ainsi, les valeurs des descripteurs peuvent transcrire une évolution des valeurs générées par les capteurs de mouvement.
De façon préférée, les fonctions mathématiques appliquées peuvent incorporer également des variables ne provenant pas des capteurs de mouvements.
De façon préférée, l’étape de calcul 300 d’une pluralité de descripteurs comportera le calcul d’au moins 4 descripteurs, de préférence d’au moins six descripteurs pour chacune des fenêtres temporelles 31.
Un procédé selon l’invention comporte une étape de transformation 400 de la pluralité de descripteurs.
Cette étape de transformation 400 de la pluralité de descripteurs comporte avantageusement un codage de descripteurs, chacun sur au plus huit bits, de préférence d’au plus cinq bits, de façon plus préférée d’au plus quatre bits, de façon encore plus préférée d’au plus trois bits, par exemple chacun sur au plus deux bits. De façon préférée, lors de l’étape de transformation 400, les descripteurs de la pluralité de descripteurs sont transformés chacun en une donnée codée sur deux bits.
Généralement, tous les descripteurs calculés feront l’objet d’un encodage. Néanmoins, il est possible que tous les descripteurs calculés ne fassent pas l’objet d’un encodage. Par exemple, le procédé selon l’invention peut comporter une étape de sélection des descripteurs qui feront l’objet d’un encodage ou non.
Généralement, cet encodage sera exclusivement associé à un descripteur. Toutefois, il est possible que plusieurs descripteurs concourent à la définition d’une valeur encodée sur au plus huit bits qui sera complémentaire à des valeurs encodées propre à un descripteur. En outre, il est possible qu’un descripteur soit impliqué dans la définition de plusieurs valeurs encodées sur au plus huit bits. Dans un mode de réalisation, lors de l’étape de transformation 400, plusieurs descripteurs pourraient être utilisés pour générer une donnée codée sur deux bits, complémentaire.
Les inventeurs ont testé plusieurs méthodes de traitement des données générées par les capteurs de mouvements. En outre, ils ont testé plusieurs méthodes permettant de réduire la dimensionnalité des données produites par ces capteurs de mouvements. Toutefois c’est la méthode selon la présente invention qui a permis d’atteindre les meilleurs résultats en termes de consommation énergétique et de compression des données tout en conservant l’information utile des données transmises pour représenter correctement la démarche de l’utilisateur.
Le tableau 1 ci-dessous représente des données normalisées des performances du système en fonction du traitement des données acquises depuis les capteurs de données avant transmission.
Tableau 1 :
Consommation de la batterie Conservation de l’information utile des données Stockage requis des données
Pas de codage 100 1 100
Codage sur un bit ; 4 descripteurs 1 38,2 1
Codage sur deux bits ; 4 descripteurs 5,5 23,7 3,7
Codage sur trois bits ; 4 descripteurs 15,1 14,2 5,2
Codage sur quatre bits ; 4 descripteurs 21,9 9 16
Codage sur un bit ; 8 descripteurs 3,1 24,1 3,2
Codage sur deux bits ; 8 descripteurs 10,8 11,9 7,3
Codage sur trois bits ; 8 descripteurs 26,5 8 16,5
Codage sur quatre bits ; 8 descripteurs 34 4,9 29,1
Codage sur huit bits ; 8 descripteurs 59 2,4 42,6
Ainsi, les valeurs de consommation de la batterie correspondent à des valeurs de consommation de la batterie normalisée en fonction de la plus haute consommation (100) et de la plus basse consommation (1). Les valeurs de conservation de l’information utile des données correspondent à des valeurs normalisées en fonction d’une capacité à conserver une quantité maximale d’information (1) et d’une conservation minimale (100). En particulier, la conservation de l’information des données est estimée à travers la précision des prédictions des mouvements par un ensemble de modèles d’apprentissage automatique et supervisés sur la base des données encodées. Enfin, les valeurs de stockage requises des données correspondent au volume en termes d’espace mémoire normalisé de la valeur la plus élevée (100) à la valeur la plus basse (1).
De façon préférée, lors de l’étape de transformation 400, au moins huit descripteurs sont utilisés et chacun codé sur au moins un bit, de façon plus préférée au moins deux bits. De façon générale, lors de l’étape de transformation 400, des descripteurs sont chacun codés sur au plus huit bits, de façon préférée au plus six bits et de façon encore plus préférée au plus quatre bits.
Par exemple, parmi les modes de réalisation préférée, lors de l’étape de transformation 400, le codage est réalisé sur :
  • un bit pour entre 4 et 20 descripteurs, par exemple quatre descripteurs ou huit descripteurs ;
  • deux bits pour entre 4 et 20 descripteurs, par exemple quatre descripteurs ou huit descripteurs ;
  • trois bits pour entre 4 et 20 descripteurs, par exemple quatre descripteurs.
Le codage sera de préférence réalisé pour chacune des fenêtres temporelles 31.
Ainsi, les données encodées sur au plus deux bits et associés à une fenêtre temporelle 31 seront de préférence représentatives de ce qui pourrait être considéré comme un phonème de mouvement de la chaussure. Alternativement, ces données encodées sur au plus deux bits et associés à une fenêtre temporelle 31 peuvent être considérées comme un phonème si une phonémisation des mouvements associés à la démarche est considérée.
Avantageusement, plusieurs données encodées (e.g. une pluralité de descripteurs chacun encodé sur au plus deux bits) caractérisent un phonème de mouvement et plusieurs phonèmes de mouvement caractérisent un mouvement.
Ainsi, les données encodées sous une série de valeurs encodées sur au plus deux bits associés à une fenêtre temporelle 31 sont représentatives d’un micromouvement de l’utilisateur, en particulier d’une chaussure et plus particulièrement d’une semelle 11,12.
Le tableau 2 ci-dessous illustre un exemple de données obtenues à la suite d’une étape de transformation selon l’invention.
FT1 FT2 FT3
Calculée Encodée Calculée Encodée Calculée Encodée
Descripteur 1 12,45989 -1 70,8759 1 49,3476 0
Descripteur 2 9,7228 -1 23,7459 0 93,8016 2
Descripteur 3 69,7904 1 69,0302 1 1,6486 -1
Descripteur 4 17,9573 -1 24,2259 0 38,1186 0
Descripteur 5 24,2259 0 147,2232 2 72,8551 1
Le codage des descripteurs et donc des valeurs obtenues peut être réalisé sur la base d’intervalles prédéterminés. Par exemple, dans le cadre du descripteur 1 pouvant correspondre à une valeur maximale d’accélération sur l’axe Y, le procédé selon l’invention peut faire appel à des règles prédéterminées selon lesquelles une valeur inférieure à 20 sera transformée en une valeur « -1 », une valeur de 20 à 50 (50 inclus) sera transformée en une valeur « 0 », une valeur comprise entre 50 (50 exclu) et 80 (80 exclu) sera transformée en une valeur « 1 », et une valeur supérieure ou égale à 80 sera transformée en une valeur « 2 ». Ainsi, le descripteur 1 est transformé en une donnée codée sur au plus huit bits, en l’occurrence 2 bits.
Les intervalles prédéterminés peuvent être modifiés dans le temps soit automatiquement en fonction des valeurs obtenues soit au travers de mises à jour.
Le codage des descripteurs peut également correspondre à des comparaisons de valeurs de descripteurs différents ou d’un même descripteur sur plusieurs fenêtres temporelles 31. Par exemple, si le descripteur 3, qui peut correspondre à la moyenne de l’accélération sur l’axe x, ne varie pas de plus de 10 % entre les fenêtres FT0 et FT1 alors sa valeur sera transformée en une valeur « 1 ». De la même façon, le descripteur 3 ne varie pas de plus de 10 % entre les fenêtres FT1 et FT2 alors sa valeur sera transformée en une valeur « 1 ». Par contre, le descripteur 3 varie de plus de 80 % à la baisse entre les fenêtres FT2 et FT3 alors sa valeur sera transformée en une valeur « -1 ».
Ainsi, le codage des descripteurs, c’est-à-dire la génération pour chacun des descripteurs d’une donnée codée sur au plus huit bits, peut être avantageusement basée sur des règles prédéterminées. En outre, elle peut avantageusement prendre en compte des intervalles prédéterminé, des évolutions de valeurs dans le temps et/ou des résultats d’opération mathématiques entre les descripteurs.
Un procédé selon l’invention pourra conduire, comme cela sera décrit par la suite, la génération d’un tenseur de données qui pourrait selon l’exemple ci-dessus être représenté sous la forme suivant :
V1 = {-1,-1,1,-1,0 ;1,0,1,0,2 ;0 ;2,-1,0,1}
Un tel tenseur de données comporte plusieurs ensembles de données encodées en au plus deux bits. Par exemple il comporte un ensemble de cinq valeurs encodées en au plus deux bits correspondants à l’encodage de descripteurs pour la fenêtre temporelle notée « FT1 » ; un ensemble de cinq valeurs encodées en au plus deux bits correspondants à l’encodage de descripteurs pour la fenêtre temporelle notée « FT2 » ; et un ensemble de cinq valeurs encodées en au plus deux bits correspondants à l’encodage de descripteurs pour la fenêtre temporelle notée « FT3 ».
Ainsi, si les fenêtres temporelles FT1, FT2 et FT3 (tableau 2) correspondent à une séquence temporelle 32 et donc à une unité de mouvement alors ledit mouvement d’une seconde peut être décrit par quinze valeurs encodées sur deux bits soit dans le cas illustré par 30 bits. En outre, dans le cas de l’utilisation d’une séquence temporelle 32 glissante alors, un tel mouvement pourrait être représenté par cinq fenêtres temporelles 32 soit 150 bits.
Cela est à comparer aux 14400 bits des données de capteurs de mouvements tels que des centrales inertielles 9 axes échantillonnant un mouvement d’une seconde à 100 Hz.
La présente invention permet donc, avec une réduction minime de l’information, une réduction des flux de données nécessaires d’un ordre cent environ engendrant une réduction de la consommation énergétique et des capacités de stockage nécessaires.
Ainsi, un procédé selon l’invention peut comporter également une étape de génération 500 d’un tenseur de données comportant les données codées obtenues pour chacune des fenêtres temporelles 31.
Le tenseur de données comportant les données codées obtenues pour chacune des fenêtres temporelles 31 notées « FT » dans le tableau 2 peut correspondre à une pluralité de tenseur de données comportant chacun les données codées obtenues pour une fenêtre temporelle 31.
Ainsi, le tenseur de données comporte de préférence un encodage d’une combinaison de plusieurs phonèmes de mouvement de l’utilisateur, de préférence d’une chaussure et en particulier d’une semelle. Le tenseur de données comporte avantageusement un encodage qui est représentatif d’une position ou d’un mouvement de la chaussure portée par un utilisateur.
Les inventeurs ont en outre montré que l’utilisation d’un tel tenseur de données, comportant des données codées sur au plus huit bits, de préférence au plus trois bits, de façon plus préférée au plus deux bits, permet d’améliorer la performance d’un modèle d’apprentissage automatique reposant sur un tel tenseur de données. En effet, un modèle d’apprentissage automatique reposant sur un encodage selon l’invention présentera le cas échéant une taille de réseau de neurones réduite et/ou un temps de calcul réduit tout en étant tolérant aux variabilités statistiques des populations représentatives des jeux de données et flexible à la sensibilité mécanique des capteurs inertiels.
Avantageusement, le tenseur de données comporte une série codée sur quatre bits au plus, de préférence trois bits au plus et de façon plus préférée deux bits au plus. Cependant, il pourra comporter d’autres données qui ne seront pas obligatoirement codées sur au plus deux bits. Par exemple, le tenseur de données pourra comporter des données non encodées pouvant correspondre à des attributs calculés au niveau par exemple de la semelle et décrivant un aspect de la démarche de l’utilisateur.
Alternativement, le tenseur de données 34 correspond à une série codée sur huit bits au plus, de préférence au plus trois bits, de préférence deux bits au plus.
L’étape de génération 500 peut comporter la génération de plusieurs tenseurs de données pour une fenêtre temporelle 31. C’est par exemple le cas si un tenseur de données est généré pour chacun des axes d’une plateforme inertielle. Alternativement un tenseur de données peut comporter les données codées concernant plusieurs axes d’une plateforme inertielle.
Un procédé selon l’invention peut comporter également une étape de transmission 600 du tenseur de données.
Avantageusement, les données étant codées sur au plus huit bits, la transmission peut avantageusement faire l’objet d’une concaténation au sein de trames de données permettant le transfert de trames de données par exemple de 8 bits, 16 bits ou 32 bits. Ainsi le nombre de message est réduit par l’optimisation de l’occupation des trames. Ainsi les trames de transmission sont optimisées réduisant le cout énergétique et le cout de vérification des paquets (e.g. Ack…). Cela est particulièrement significatif dans le cadre des transmissions basses énergie telle que BLE (pour Bluetooth Low Energy en terminologie anglo-Saxonne) ou Zigbee.
Bien qu’une étape de détermination d’un mouvement ou plus globalement de démarche d’un utilisateur puisse être réalisée au niveau du dispositif réalisant l’étape d’acquisition 200 de données générées par le ou les capteurs de mouvement, il est également possible de diviser les traitements et d’interpréter le tenseur de données dans un dispositif électronique différent du dispositif électronique ayant généré le tenseur de données.
La transmission pourra par exemple être réalisée par des moyens de communication sans fil tel que des radiocommunications. La transmission du tenseur de données se faisant alors de préférence vers un dispositif mobile externe. La transmission du tenseur de données pourrait également se faire vers un dispositif informatique distant tel qu’un serveur de traitement de données.
La transmission du tenseur de données peut également se faire directement vers un dispositif de traitement des données mesurées par un capteur de mouvement à un autre. Par exemple d’une semelle à une autre semelle d’une même paire de chaussures. La transmission du tenseur de données peut être réalisée en continu avec la transmission d’un tenseur de données à la fois. Elle peut également correspondre à la transmission de plusieurs tenseurs de données. Par exemple une transmission peut comporter plusieurs tenseurs de données chacun correspondant à une fenêtre temporelle différente ou encore à des tenseurs de données générés à partir de variables de capteurs de mouvement différents.
Selon un autre aspect, la présente invention porte sur un procédé de détermination 2 de la démarche d’un utilisateur. De préférence, la démarche de l’utilisateur correspond à une posture, un mouvement, ou une activité de l’utilisateur.
Le procédé de détermination 2 sera de préférence exécuté par un ou plusieurs processeurs. Avantageusement, le procédé de détermination 2 de la démarche d’un utilisateur est mis en œuvre au moins en partie au niveau d’un dispositif d’encodage 20, de préférence positionné sur ou dans une chaussure, par exemple dans une semelle ou dans une chaussure. Alternativement, le procédé de détermination 2 de la démarche d’un utilisateur est mis en œuvre au moins en partie au niveau d’un terminal externe 30 tel qu’un dispositif mobile, ou d’une infrastructure informatique.
Une telle détermination se fera de préférence à partir de données encodées, ou susceptibles d’être encodées, selon un procédé d’encodage 1 selon la présente invention.
En particulier, le procédé de détermination 2 de la démarche d’un utilisateur selon l’invention se basera au moins en partie sur des données encodées caractérisées en ce que les données encodées prennent la forme d’une série temporelle pour laquelle chaque fenêtre temporelle 31 comporte au moins quatre données encodées sur au plus huit bits, de préférence au plus trois bits, de façon plus préférée au plus deux bits. De façon préférée, chaque fenêtre temporelle 31 comporte entre 4 et 50 données encodées sur au plus huit bits, de préférence au plus trois bits, de façon plus préférée au plus deux bits. La série temporelle peut correspondre par exemple à une ou plusieurs unité(s) de mouvement et chacune des unités de mouvement étant formées par plusieurs fenêtres temporelles 31.
En particulier, le procédé de détermination 2 de la démarche d’un utilisateur selon l’invention se basera au moins en partie sur des données encodées caractérisées en ce que les données encodées prennent la forme d’un ou plusieurs tenseurs de données comportant pour chaque fenêtre temporelle 31 au moins quatre données encodées sur au plus huit bits, de préférence au plus trois bits, de façon plus préférée au plus deux bits. De façon préférée, chaque fenêtre temporelle 31 est représentée par 4 à 50 données encodées sur au plus trois bits, de préférence au plus deux bits. Les un ou plusieurs tenseurs de données correspondant par exemple à un ou plusieurs mouvement(s) et chacun des mouvements étant formés représentés par plusieurs fenêtres temporelles.
Comme cela est illustré à la , le procédé de détermination 2 de la démarche d’un utilisateur comporte : une étape de chargement 710 d’un, de préférence de plusieurs tenseurs de données ; et une étape de traitement 720 des tenseurs de données de préférence par un modèle d’apprentissage automatique entrainé de manière à identifier une posture ou un mouvement.
Le procédé de détermination 2 de la démarche d’un utilisateur correspond de préférence à une détermination en temps réel à un ou plusieurs éléments constitutifs de la démarche de l’utilisateur. C’est-à-dire qu’après la génération de données par un ou plusieurs capteurs de mouvement, de préférence en moins de 60 secondes, de façon plus préférée en moins de 30 secondes, de façon encore plus préférée en moins de 10 secondes, le procédé selon l’invention est en mesure de déterminer un élément de la démarche de l’utilisateur tel qu’une posture, un pas, un saut, ou tout autre mouvement constitutif de la démarche d’un individu.
Comme illustré à la , le procédé de détermination 2 selon l’invention peut également comporter les étapes suivantes : une étape de sélection 730 d’une posture ou d’un mouvement pour un intervalle temporel à partir des postures ou des mouvements identifiés pour des séquences temporelles contiguës, une étape de comparaison 740 de la posture et/ou du mouvement identifié à partir de données de capteurs différents et une étape de transmission 750 de données à un terminal externe.
Comme mentionné, le procédé de détermination 2 de la démarche d’un utilisateur comporte une étape de chargement 710 d’un ou de plusieurs tenseurs de données.
Le chargement du tenseur de données peut correspondre au chargement de plusieurs tenseurs de données. Cette étape peut correspondre en particulier dans le cadre de l’invention à la mise en mémoire, de préférence dans une mémoire vive d’un ou plusieurs tenseurs de données. Cette acquisition pourra également correspondre à un chargement dans la mémoire d’un ou plusieurs processeurs destiné(s) à les traiter.
Comme mentionné, le procédé de détermination 2 de la démarche d’un utilisateur comporte une étape de traitement 720 du ou des tenseurs de données par un modèle d’apprentissage automatique.
En particulier, l’étape de traitement 720 du tenseur de données par un modèle d’apprentissage automatique comportera l’identification de classe d’événements à partir du ou des tenseurs de données. En particulier, l’étape de traitement 720 permet à partir de plusieurs tenseurs de données, de préférence chacun correspondant à un phonème de mouvement, d’identifier une classe d’événements. De façon préférée, l’étape de traitement 720 est réalisée sur des tenseurs de données d’ordre 3 comportant plusieurs tenseurs de données.
La figure 3C illustre par exemple trois tenseurs de données 34 sous la forme de trois tenseurs d’ordre 2 comportant chacun cinq tenseurs de données. Chaque tenseur de données correspond ici à des données calculées à partir d’une fenêtre temporelle 31 et un tenseur de données 34 peut correspondre alors à une séquence temporelle 32. Un tenseur d’ordre 2 illustré à la figure 3C comporte des données codées sur un bit (0 ou 1) pour sept descripteurs et sur cinq fenêtres temporelles 31.
À la figure 3C, les tenseurs 34 correspondent à des fenêtres temporelles 32 glissantes et chevauchantes. Une séquence temporelle 32 pourrait également correspondre à une fenêtre dont la taille varie au fur et à mesure des calculs de posture, mouvement ou plus largement classe d’événement. Par exemple, une première séquence temporelle 32 comporte trois fenêtres temporelles 31, une seconde séquence temporelle 32 comporte quatre fenêtres temporelles 31 et ainsi de suite jusqu’à atteindre une valeur prédéterminée de dimension maximale de séquence temporelle 32. La séquence temporelle 32 pourrait alors voir sa taille réduite à une valeur prédéterminée de dimension minimale.
Ainsi, les données codées sous bits associés à une ou plusieurs fenêtres temporelles 31, de préférence représentatifs d’un phonème de mouvement, seront traités par un modèle d’apprentissage automatique pour inférer une classe d’événement telle qu’une classe de mouvement ou de posture. Une classe de mouvement peut correspondre au sens de l’invention à un mouvement se déroulant sur une durée très courte, par exemple moins de 500 ms et peuvent correspondre à des portions de mouvement plus long. Par exemple, il sera possible dans le cadre de l’invention, à partir des bits associés à une fenêtre temporelle 31 ou à une séquence temporelle 32, de déterminer s’il y a un agenouillement en cours, un pas avant, un pas arrière, etc.
Avantageusement, la solution selon l’invention utilise un ou plusieurs algorithmes issus d’apprentissages automatiques, de préférence préalablement calibrés, pour le traitement du ou des tenseurs de données. Ces algorithmes peuvent avoir été construits à partir de différents modèles d’apprentissage, supervisés, non supervisés ou par renforcement. Un algorithme d’apprentissage non supervisé peut par exemple être sélectionné parmi un modèle de mélange Gaussien non supervisé, une classification ascendante hiérarchique (Hierarchical clustering Agglomerative en terminologie anglo-Saxonne), une classification descendante hiérarchique (Hierarchical clustering divisive en terminologie anglo-Saxonne). Alternativement, l’algorithme repose sur un modèle d’apprentissage statistique supervisé configuré de façon à minimiser un risque de la règle d’ordonnancement et ainsi permettant d’obtenir des règles de prédiction plus performantes. Dans ce cas, les étapes de calcul de détermination et d’estimations peuvent être basées sur un modèle, entrainé sur un jeu de données et configuré pour prédire une étiquette (e.g. démarche similaire ou non à la démarche enregistrée). Par exemple, aux fins de la calibration, il est possible d’utiliser un jeu de données représentatif d’une situation dont l’étiquette est connue. Le jeu de données peut également comprendre des étiquettes multiples. L’algorithme peut être issu de l’utilisation d’un modèle d’apprentissage statistique supervisé sélectionné par exemple parmi les méthodes à noyau (e.g. Séparateurs à Vaste Marge - Support Vector Machines SVM, Régression à noyau de type Ridge), les méthodes d’ensembles (e.g. arbres de décision, Forêts aléatoires), partitionnement hiérarchique, partitionnement en k-moyenne, régression logique ou les réseaux de neurones.
De façon préférée, le modèle d’apprentissage automatique entrainé est de préférence sélectionné parmi un réseau de neurones, par exemple un modèle d’apprentissage profond, un réseau de neurones récurrent (e.g. un LSTM, pour « Long Short-Term Memory » en terminologie anglo-saxonne), un perceptron multicouche ou encore d’autres méthodes d’apprentissage automatique telles que des méthodes à base d’arbres décisionnels (e.g. forêt aléatoire) ou des méthodes de clustering (e.g. Méthode par partitionnement ou Méthodes hiérarchiques).
En outre, avantageusement, le procédé selon l’invention pourra comporter une étape de sélection 730 d’une posture ou d’un mouvement à partir des postures ou des mouvements identifiés pour des séquences temporelles 32 contiguës. Cette posture ou ce mouvement sélectionné peut en particulier correspondre à la posture ou au mouvement d’un utilisateur durant un intervalle temporel 33 particulier ayant fait l’objet de plusieurs séquences temporelles 32 contiguës comme cela est illustré à la figure 3B. L’intervalle temporel 33 peut correspondre à une unité de mouvement.
Ainsi, l’étape de sélection 730 d’une posture ou d’un mouvement peut être considérée comme une validation d’un mouvement ou d’une posture à partir du traitement de plusieurs classes de mouvement ou de posture inférés lors de l’étape de traitement 720 du tenseur de données par un modèle d’apprentissage automatique.
L’étape de sélection 730 pourrait comporter une comparaison de la posture ou du mouvement identifié pour des séquences temporelles 32 contiguës. En effet, en particulier lorsqu’une fenêtre glissante est utilisée, ou plus généralement lorsqu’un mouvement est représenté par plusieurs séquences temporelles contiguës, comme c’est le cas à la figure 3B, le procédé selon l’invention peut comporter une identification d’une posture ou d’un mouvement pour chacune des plusieurs séquences temporelles 32 contiguës. Puis, le procédé comporte une sélection de la posture ou du mouvement le plus représenté au sein des séquences temporelles 32 contiguës étudiées. Cela permet de réduire les risques de faux positifs en tirant parti de la reconnaissance en temps réel de posture ou de mouvement au sein de séries temporelles et d’une validation multiple d’une même posture ou mouvement. Par exemple, une posture ou un mouvement peut être sélectionné à partir d’une analyse d’au moins 3, de préférence d’au moins 4 et de façon encore plus préférée d’au moins cinq séquences temporelles contiguës.
De façon préférée, l’étape de sélection 730 est réalisée sur des tenseurs de données d’ordre 3 comportant plusieurs tenseurs de données.
En outre, avantageusement, le procédé selon l’invention pourra également comporter une étape de comparaison 740 de postures et/ou de mouvement identifiés, par exemple pour un instant donné, à partir de données de capteurs différents.
Une telle comparaison 740 de postures et/ou de mouvement identifiés peut être utilisée pour déterminer la démarche de l’utilisateur par l’association d’informations provenant de plusieurs capteurs.
Cette comparaison 740 se fait de façon préférée pour des intervalles de temps synchronisés de façon que les données mesurées et interprétées correspondent bien à un même moment de la démarche de l’utilisateur. Une telle synchronisation est possible par exemple grâce à l’utilisation d’une horloge synchronisée ou encore à des communications inter dispositifs.
En particulier, le procédé de détermination 2 de la démarche d’un utilisateur peut être mis en œuvre à partir de tenseurs de données provenant de plusieurs sources. Par exemple, de plusieurs capteurs de mouvement positionnés en différents points d’un utilisateur générant eux aussi des tenseurs de données selon la présente invention.
Dans ces conditions, le procédé de détermination 2 de la démarche d’un utilisateur peut avantageusement comporter, pour un intervalle de temps donné, une comparaison 740 de la posture, et/ou du mouvement, identifié à partir des données d’un premier capteur avec la posture, ou le mouvement, identifié à partir d’un second capteur. Par exemple, l’étape de comparaison 740 de la posture, et/ou du mouvement, identifié peut comporter une comparaison de la posture, ou du mouvement, identifié à partir d’un capteur positionné sur le pied droit avec la posture ou le mouvement identifié à partir d’un capteur positionné sur le pied gauche.
L’étape de comparaison 740 de postures et/ou de mouvements identifiés pour un instant donné pour des capteurs différents pourra mettre en œuvre des postures ou mouvements identifiés à partir de données de différents capteurs ne mettant pas en œuvre le tenseur de données selon l’invention. Par exemple, la posture, ou le mouvement, identifié à partir de données encodées selon l’invention pourra être comparé avec la posture, ou le mouvement, identifié avec d’autres méthodes.
En particulier, le procédé de détermination 2 de la démarche d’un utilisateur peut avantageusement comporter une comparaison de la posture ou du mouvement identifié pour chacun des pieds à un référentiel. Une telle comparaison permettra de renforcer la spécificité de la performance de détermination et dans certains cas de déterminer un type de mouvement ou une posture complexe. En effet, certains mouvements ou postures ne pourront être déterminés avec exactitude qu’avec la prise en compte des résultats de plusieurs capteurs de mouvement. Le référentiel pourra consister en une base de données, un algorithme transcrivant des règles expert, ou encore un modèle d’apprentissage automatique.
De préférence, le procédé peut également comporter une étape de transmission 750 de données à un terminal externe 30. Cette transmission se fait de préférence ponctuellement. En particulier cela peut correspondre à la transmission de l’ensemble des données générées et/ou calculées à un terminal externe 30.
En outre, le procédé peut comporter la transmission des données reçues par le terminal externe 30 à un ou d’autres terminaux externes qui pourraient être impliqués dans le calcul d’autres paramètres de la démarche ou dans leur affichage.
Les données transmises peuvent par exemple être des données brutes telles qu’elles ont été générées par les capteurs de mouvement, des données prétraitées, des données transformées ou encore des données de démarches.
En outre, un procédé de détermination 2 selon l’invention peut comporter également une étape d’identification 800 d’une activité associée à un ou plusieurs mouvements et/ou postures identifiés.
Cette identification d’une activité comporte de préférence la comparaison de valeurs de référence d’activité aux valeurs d’un ou de plusieurs tenseurs de données ou aux valeurs d’un ou plusieurs mouvement ou posture identifiés.
Il est alors possible, de préférence à partir de plusieurs mouvements et/ou postures identifiés de déterminer quelle est l’activité pratiquée par l’utilisateur.
Ci-après, les différentes étapes obligatoires ou non d’un procédé de détermination 2 de la démarche d’un utilisateur sont présentées pour résumer et mettre en perspective la présente invention.
Lors du traitement 720 du tenseur de données par un modèle d’apprentissage automatique, la présente invention pourra par exemple étudier une pluralité de fenêtres temporelles 31 de façon à identifier une classe de mouvement, telle qu’un pas, pour chacune des fenêtres temporelles 31. De façon plus préférée, lors du traitement 720 du tenseur de données en particulier d’un tenseur de données d’ordre 3 par un modèle d’apprentissage automatique, la présente invention pourra étudier une pluralité de fenêtres temporelles 31 de façon à identifier une classe de mouvement, telle qu’un pas, pour chacune des séquences temporelles 32 comportant plusieurs fenêtres temporelles 31.
Une étape complémentaire optionnelle de sélection 730 d’une posture ou d’un mouvement peut être mise en œuvre de façon à confirmer, par l’analyse des classes de mouvement identifiées pour plusieurs fenêtres temporelles 31 contiguës ou pour plusieurs séquences temporelles 32, la présence d’un pas. Par exemple, une séquence temporelle 32 peut indiquer un pas alors que les trois suivantes indiquent une glissade. Dans ce cas, au terme de l’étape complémentaire de sélection 730 d’une posture ou d’un mouvement, la présente invention pourra indiquer la survenue d’une glissade.
En outre, de manière plus générale, l’analyse des classes de mouvement identifiées pour plusieurs fenêtres temporelles 31 contiguës ou pour plusieurs séquences temporelles 32, peut permettre d’indiquer la survenue d’un mouvement à « risque ». En effet, lorsque le mouvement identifié n’est associé à aucune classe de mouvement ou de posture inféré, celui-ci peut être la conséquence d’un mouvement involontaire de l’utilisateur et potentiellement source d’une lésion musculaire et/ou squelettique pour l’utilisateur. Cela peut être en particulier applicable dans des métiers physiquement éprouvant pouvant conduire à des blessures notamment au niveau des membres inférieurs tels que les métiers du bâtiment et des travaux publics.
Dans une étape complémentaire optionnelle de comparaison 740 de postures et/ou de mouvement identifiés, la présente invention étudiera des données générées par d’autres capteurs, de préférence également sous la forme de tenseur de données (e.g. un tenseur de données d’ordre 3), par exemple un tenseur de données généré à partir des mouvements du pied gauche. Dans la suite de l’exemple ci-dessus, l’analyse du ou des tenseurs de données provenant du pied gauche peut indiquer une flexion du genou. Dans ce cas, le mouvement identifié au terme de l’étape 740 pourra par exemple être un fauchage. Ainsi, le mouvement ou la posture identifié(e) au terme de l’étape 740 peut être considéré comme un mouvement plus complexe.
Enfin, dans une étape d‘identification de l’activité 800, la présente invention pourra à partir de données générées déterminer plusieurs mouvements qui conduiront par exemple à identifier que l’activité réalisée est une activité sportive de type judo.
De préférence, le procédé peut également comporter une étape de mémorisation 900 de données. Cette mémorisation se fait de préférence en continu. En particulier cela peut correspondre à la mémorisation de l’ensemble des données générées et/ou calculées dans le cadre d’un procédé selon l’invention. Les données mémorisées peuvent par exemple être des données brutes telles qu’elles ont été générées par les capteurs de mouvement, des données prétraitées, des données transformées ou encore des données de démarche. De préférence, les données mémorisées correspondent à des données transformées ou encore des données de démarche.
Avantageusement, par opposition aux données brutes et/ou prétraitées qui sont sauvegardées sur une durée courte (p. ex. inférieure à 5 minutes) par exemple sur une mémoire cache, une valeur de tenseur de données ou de démarche est mémorisée à plus long terme, par exemple sur une mémoire.
Avantageusement, le calcul d’un tenseur de données et/ou d’une démarche déterminée est fait en temps réel, c’est-à-dire moins de 1 heure après la génération des données par l’un ou plusieurs des capteurs de mouvement d’une semelle, de préférence moins de 10 minutes, de façon plus préférée moins d’une minute, de façon encore plus préférée moins de 10 secondes.
Selon un autre aspect, l’invention porte sur un dispositif d’encodage 20 de données générées par un ou plusieurs capteurs de mouvement 21, de préférence couplés à une chaussure portée par un utilisateur.
Un tel dispositif d’encodage 20 de données peut en particulier être utilisé pour identifier une position ou un mouvement d’une chaussure sur une séquence temporelle 32, notamment lorsque la chaussure est portée par un utilisateur. Plus largement, s’il est appliqué à des capteurs de mouvement 21 positionnés sur le corps d’un utilisateur, il peut être utilisé pour identifier une position ou un mouvement de l’utilisateur. Plus spécifiquement, un tel dispositif d’encodage 20 est particulièrement avantageux lorsqu’il est utilisé pour identifier une position ou un mouvement d’une semelle 11, 12 pour chaussure lorsqu’elle est insérée dans une chaussure ou intégrée à une chaussure.
Ne pesant que quelques grammes et étant de dimension réduite, ce dispositif d’encodage 20 peut se loger de façon peu encombrante dans n’importe quelle semelle intérieure et/ou extérieure. Ce faible volume limite l’impact sur le confort de l’utilisateur et présente l’avantage d’optimiser les couts de production en rendant moins onéreux et plus simple l’intégration de cette technologie dans la semelle lors du processus industriel.
Un dispositif d’encodage 20 selon l’invention est détaillé dans la . Les différents composants du dispositif d’encodage 20 sont de préférence agencés sur une carte électronique 27 (ou circuit imprimé), mais l’invention peut prévoir divers types d’agencement, par exemple un seul module cumulant l’ensemble des fonctions décrites ici. De même, ces moyens peuvent être divisés en plusieurs cartes électroniques ou bien rassemblés sur une seule carte électronique. En outre, lorsque l’on prête une action à un dispositif, un moyen ou un module, celle-ci est en fait généralement effectuée par un microprocesseur du dispositif ou module commandé par des codes instructions enregistrés dans une mémoire. De même, si l’on prête une action à une application, celle-ci est en fait effectuée par un microprocesseur du dispositif dans une mémoire duquel les codes instructions correspondant à l’application sont enregistrés. Lorsqu’un dispositif ou module émet ou reçoit un message, ce message est émis ou reçu par une interface de communication.
Un tel dispositif d’encodage 20 selon l’invention peut comporter un capteur de mouvement 21 tel qu’une plateforme inertielle configurée pour générer des données sur la démarche d’un utilisateur. Au cours de l’utilisation du dispositif d’encodage 20 par un utilisateur (le dispositif d’encodage est avantageusement positionné sur un utilisateur) la plateforme inertielle acquière des signaux représentatifs d’un paramètre de mouvement (accélération et/ou vitesse, par exemple vitesse angulaire) de l’utilisateur, de préférence du pied de l’utilisateur, selon les axes X, Y, Z. En outre, ces données peuvent ensuite être traitées pour générer au moins un signal d’accélération. La plateforme inertielle est par exemple constituée d’au moins un accéléromètre et un gyroscope. De façon préférée, elle comporte plusieurs accéléromètres et gyroscopes. Le dispositif d’encodage 20 peut également comporter un ou plusieurs magnétomètres de façon à acquérir trois signaux bruts supplémentaires correspondant aux valeurs de champs magnétiques sur trois dimensions.
Chaque dispositif d’encodage 20 peut comporter par ailleurs d’autres capteurs, notamment un inclinomètre, un baromètre, un capteur de température et un altimètre pour bénéficier d’une précision accrue.
De façon préférée, un dispositif d’encodage 20 comporte un ou plusieurs processeurs 22 configurés pour exécuter un des procédés selon l’invention, de préférence le procédé d’encodage, et leurs différents modes de réalisation, préférés, avantageux ou non.
En particulier, les un ou plusieurs processeurs 22 sont configurés de façon à acquérir des données générées par le ou les capteurs de mouvement 21, lesdites données comportant des valeurs d’accélération et de vitesse angulaire.
Les un ou plusieurs processeurs 22 peuvent aussi être configurés de façon à calculer une pluralité de descripteurs à partir des données acquises sur une fenêtre temporelle 31, l’étape de calcul étant répétée pour plusieurs fenêtres temporelles 31 consécutives, les fenêtres temporelles 31 consécutives formant une séquence temporelle 32 ;
En outre, les un ou plusieurs processeurs 22 peuvent aussi être configurés de façon à transformer la pluralité de descripteurs calculés, ladite étape comportant un codage des descripteurs chacun sur au plus deux bits, lesdits bits associés à une fenêtre temporelle 31 étant représentatifs d’un phonème de mouvement.
Aussi, les un ou plusieurs processeurs 22 peuvent être configurés de façon à générer un tenseur de données comportant les bits obtenus pour chacune des fenêtres temporelles 31, de sorte que le tenseur de données comporte un encodage d’une combinaison de plusieurs phonèmes de mouvement qui est représentatif d’une posture ou d’un mouvement de l’utilisateur.
De façon préférée, les un ou plusieurs processeurs 22 seront configurées de façon à :
  • acquérir des données générées par le ou les capteurs de mouvement 21,
  • calculer une pluralité de descripteurs à partir des données acquises sur une fenêtre temporelle 31, l’étape de calcul étant répétée pour plusieurs fenêtres temporelles 31 consécutives ; et
  • transformer la pluralité de descripteurs calculés, ladite étape comportant un codage des descripteurs chacun sur au plus deux bits, lesdits bits associés à une fenêtre temporelle 31 étant représentatifs d’un phonème de mouvement
En outre, les un ou plusieurs processeurs 22 seront configurées de façon à générer un tenseur de données comportant les bits obtenus pour chacune des fenêtres temporelles 31, de sorte que le tenseur de données comporte un encodage, de préférence d’une combinaison de plusieurs phonèmes de mouvement, qui est représentatif d’une posture ou d’un mouvement de l’utilisateur.
En particulier, les un ou plusieurs processeurs 22 peuvent être configurés de façon à exécuter les actions suivantes :
  • Charger des données codées sur au plus huit bits associées à la séquence temporelle 32, étant représentatives d’une position ou d’un mouvement de la chaussure sur ladite séquence temporelle 32, par exemple sous la forme d’un ou de plusieurs tenseurs de données ; et
  • Traiter le ou les tenseurs de données par un modèle d’apprentissage automatique entrainé de manière identifier une posture ou un mouvement de l’utilisateur.
Alternativement, le ou les processeurs peuvent être configurés pour générer le tenseur de données puis l’envoyer à un terminal externe 30 pour que soit déterminée la démarche d’un utilisateur.
Ainsi, le dispositif d’encodage 20 selon l’invention comporte avantageusement un ou plusieurs moyens de communication 25. Les un ou plusieurs moyens de communication 25 sont aptes à recevoir et à transmettre les données sur au moins un réseau de communication. De préférence la communication est opérée par l’intermédiaire d’un protocole sans fils tel que wifi, 3G, 4G, 5G et/ou Bluetooth. De préférence le protocole de communication est un protocole BLE ou ANT+. Ces protocoles de communications permettent une consommation faible en énergie.
De préférence, le dispositif d’encodage 20 selon l’invention comporte un premier moyen de communication 25 configuré de sorte que le dispositif d’encodage 20 soit apte à transmettre au moins une partie du tenseur de données à un terminal externe 30. Ces données peuvent être transmises en temps réel ou en différé à un terminal externe 30. Le terminal externe 30 peut par exemple être un système distant tel qu’une tablette, un téléphone mobile (« smartphone » en terminologie anglo-saxonne), un ordinateur ou un serveur. Comme cela a été mentionné, le dispositif d’encodage 20 selon l’invention peut également mettre en œuvre une étape de détermination de la démarche d’un utilisateur ainsi, il peut être configuré pour envoyer des données de posture ou de mouvements identifiées pour un utilisateur. Ces données peuvent être transmises en temps réel ou en différé à un terminal externe 30.
Avantageusement, un dispositif d’encodage 20 selon l’invention comporte en outre un second moyen de communication configuré pour qu’un premier dispositif d’encodage 20 soit apte à communiquer avec un second dispositif d’encodage 20.
En particulier, les dispositifs d’encodage 20 peuvent être configurés pour communiquer entre eux et pour initier la génération de données sur le mouvement d’un utilisateur seulement après réception d’un message de l’autre dispositif d’encodage 20. Cela participe à la synchronisation des dispositifs d’encodage 20. Par exemple, les dispositifs d’encodage 20 peuvent être configurés pour associer et/ ou mettre en correspondance des horodatages des échantillons issus des plateformes inertielles.
Avantageusement, si un dispositif d’encodage 20 venait à se déconnecter ou perdre la synchronisation dans le temps par rapport à l’autre dispositif d’encodage 20, un procédé selon l’invention pourrait comprendre une étape de synchronisation des dispositifs d’encodage 20. Ainsi, un signal de recherche est envoyé par le dispositif d’encodage 20 connecté, le dispositif d’encodage 20 déconnecté reçoit le signal de recherche et se synchronise sur le dispositif d’encodage 20 connecté.
Le dispositif d’encodage 20 selon l’invention comporte également une mémoire de données 23, configurée pour mémoriser au moins une partie des données acquises et/ou des tenseurs de données. Le dispositif d’encodage 20 selon l’invention est tel qu’il permet de fonctionner avec une mémoire de données 23 de faible capacité. Il peut être configuré pour mémoriser les données brutes générées par la plateforme inertielle. Avantageusement, la mémoire de données 23 est configurée pour mémoriser au moins une partie des données transformées, mais ne pas mémoriser les données brutes générées. Ainsi, sa capacité n’est pas grevée par des données brutes générées. Les données transformées peuvent correspondre à des données prétraitées par le ou les processeurs ou à des tenseurs de données.
En outre, le dispositif d’encodage 20 selon l’invention peut comporter une source d’énergie 26. La source d’énergie est de préférence de type batterie, rechargeable ou non. De préférence la source d’énergie est une batterie rechargeable. En outre, elle peut être associée à un système de recharge par le mouvement ou par une énergie extérieure. Le système de recharge par une énergie extérieure peut notamment être un système de recharge par connexion filaire, un système de recharge par induction ou encore photovoltaïque.
La source d’énergie 26 est de préférence de type batterie, rechargeable ou non. De préférence la source d’énergie est une batterie rechargeable. La recharge peut être réalisée selon différentes technologies telles que :
  • par chargeur, avec un connecteur affleurant au niveau de la semelle ;
  • avec un dispositif de recharge mécanique intégré à la semelle, par exemple un dispositif piézoélectrique apte à fournir une énergie électrique à partir de la marche ;
  • avec un dispositif sans contact, par exemple par induction ; et/ou
  • avec un dispositif photovoltaïque.
En outre, le dispositif d’encodage selon l’invention peut comporter un port pour connexion filaire 28, de préférence protégé par une languette amovible. Ce port pour connexion filaire peut être par exemple un port USB ou firewire. Avantageusement, le port USB est également résistant à l’eau ou l’humidité. En outre, le port USB est avantageusement surmonté d’une poutrelle en polymère permettant de lui conférer une plus grande résistance en condition d’utilisation. Ce port pour connexion filaire 28 peut être utilisé comme évoqué ci-dessus pour recharger la batterie, mais également pour échanger des données et par exemple mettre à jour le micrologiciel de la carte électronique portant les différents composants du dispositif d’encodage.
De préférence, la languette amovible ou USB cover, permet de protéger le port USB de corps étrangers. Par exemple, la languette amovible permet de protéger le port USB de l’eau ou de la poussière. Une telle languette peut de préférence être réalisée en polymère de type élastomère ou polyuréthane.
En outre, selon un autre aspect, la présente invention porte sur un système de détermination 5 de la démarche d’un utilisateur.
Un tel système de détermination 5 de la démarche d’un utilisateur, décrit en lien avec la , comportera avantageusement un ou plusieurs dispositifs d’encodage 20 selon la présente invention. En particulier, le système de détermination 5 de la démarche d’un utilisateur selon l’invention comporte au moins deux dispositifs d’encodage 20 selon la présente invention.
En particulier, chacun des dispositifs d’encodage 20 est conçu de manière à pouvoir communiquer indépendamment avec l’autre et/ou directement avec un terminal externe 30 afin de pouvoir échanger ses propres informations sur la posture/le mouvement/l’activité de l’utilisateur et en particulier de son pied.
En particulier, le système 5 selon l’invention peut comporter une paire de semelles 11,12 comportant chacune un dispositif d’encodage 20 selon l’invention. Les semelles 11, 12 utilisables dans le cadre du système 5 selon l’invention peuvent par exemple correspondre à des semelles extérieures ou à des semelles intérieures, de chaussures. Ces semelles peuvent être amovibles ou être intégrées de manière permanente au semelage des chaussures. Classiquement, les semelles 11, 12 composants ladite paire de semelles, comportent chacune un dispositif d’encodage 20 selon l’invention. Comme présenté sur la , le dispositif d’encodage 20 est de préférence positionné au niveau d’une portion médiane de la semelle.
Comme mentionné, le système 5 selon l’invention peut comporter un terminal externe 30 configuré pour recevoir des données provenant du ou des dispositif(s) d’encodage 20.
Avantageusement, une application dédiée est installée sur ce terminal externe afin de traiter les informations transmises par le ou les dispositif(s) d’encodage 20 et permettre à l’utilisateur d’interagir avec l’invention. Il est alors par exemple possible d’accéder à ce serveur distant via une interface web. Toutes les communications avec le serveur distant peuvent être sécurisées par exemple par des protocoles HTTPS (pour « HyperText Transfer Protocol Secure » selon une terminologie anglo-saxonne) et cryptage AES (pour « Advanced Encryption Standard » selon une terminologie anglo-saxonne) 512. Ainsi, cela peut permettre, via un client, l’accès aux données par du personnel médical en charge du suivi de l’utilisateur.
Le terminal externe 30 est généralement une tablette, un téléphone mobile (« smartphone » en terminologie anglo-saxonne), une passerelle, un routeur, un ordinateur ou un serveur. Il peut être apte à transférer ces données à un serveur distant. Il est alors par exemple possible d’accéder à ce serveur distant via une interface web. Il pourra par exemple être configuré pour mettre en œuvre des solutions d’inférence propres à des applications données à partir de données codées, ou de tenseurs de données codées ou en particulier de tenseurs de données d’ordre générés le dispositif d’encodage 20. Il pourra également être configuré pour générer des données sur la démarche à partir de données issues de l’étape de détermination 700 de la démarche de l’utilisateur.
Ainsi, l’utilisateur peut accéder à des données liées à sa démarche telle que des données relatives à ses activités physiques quotidiennes et relatives à plusieurs paramètres biomécaniques, comme la posture, la pronation/supination, la force d’impact, la longueur des pas, le temps de contact, la boiterie, l’équilibre et plusieurs autres paramètres relatifs à l’utilisateur et décrivant ses déplacements, sa marche, ses postures et ses mouvements et ainsi de suivre leur évolution.

Claims (15)

  1. Procédé (1) d’encodage de données générées par un ou plusieurs capteurs de mouvement (21) couplés à une chaussure, pour l’identification d’une position ou d’un mouvement de la chaussure sur une séquence temporelle (32),
    ledit procédé (1), exécuté par un ou plusieurs processeurs (22), comportant :
    • Une étape d’acquisition (200) de données générées par le ou les capteurs de mouvement (21) couplé à la chaussure, lesdites données comportant des valeurs variables sous forme de séries temporelles, de préférence lesdites valeurs variables comportent des valeurs d’accélération et de vitesse angulaire ;
    • Une étape de calcul (300), à partir des données acquises sur une fenêtre temporelle (31), d’une pluralité de descripteurs, l’étape de calcul étant répétée pour plusieurs fenêtres temporelles (31) consécutives, des fenêtres temporelles (31) consécutives formant la séquence temporelle (32) ; et
    • Une étape de transformation (400) de la pluralité de descripteurs de chacune des fenêtres temporelles (31) consécutives formant la séquence temporelle (32), ladite étape de transformation (400) comportant une génération pour chacun des descripteurs d’une donnée codée sur au plus huit bits,
    lesdites données codées sur au plus huit bits associées à la séquence temporelle (32) étant représentatives d’une position ou d’un mouvement de la chaussure sur ladite séquence temporelle (32).
  2. Procédé (1) d’encodage de données selon la revendication 1, caractérisé en ce qu’il comporte en outre une étape de génération (500) d’un tenseur de données (34) comportant les données codées sur au plus huit bits obtenus pour plusieurs des fenêtres temporelles (31), de sorte que le tenseur de données (34) comporte un encodage représentatif d’une positon ou d’un mouvement de la chaussure.
  3. Procédé (1) d’encodage de données selon l’une quelconque des revendications 1 ou 2, caractérisé en ce que les descripteurs sont calculés à partir de fonctions mathématiques appliquées aux données, prétraitées ou non, générées par le ou les capteurs de mouvement (21) couplé à la chaussure, et lesdites fonctions mathématiques appliquées comportant par exemple un calcul de moyenne, d’asymétrie statistique, du coefficient d’aplatissement, de comparaisons de valeurs des extremums ou des quartiles, de positions des extremums dans une série temporelle, de comparaisons des valeurs de bord des sous-ensembles du mouvement et/ou un calcul d’une topologie des données.
  4. Procédé (1) d’encodage de données selon l’une quelconque des revendications 1 à 3, caractérisé en ce que les fenêtres temporelles (31) de deux séquences temporelles (32) consécutives présentent des durées différentes.
  5. Procédé (1) d’encodage de données selon l’une quelconque des revendications 1 à 4, caractérisé en ce que, lors de l’étape de transformation (400), au moins quatre descripteurs sont utilisés pour chacun générer une donnée codée sur au moins un bit, de façon plus préférée au moins deux bits.
  6. Procédé (1) d’encodage de données selon l’une quelconque des revendications 1 à 5, caractérisé en ce que, lors de l’étape de transformation (400), entre quatre et vingt descripteurs sont utilisés pour chacun générer une donnée codée sur un nombre de bits sélectionné parmi : un, deux ou trois.
  7. Procédé (1) d’encodage de données selon l’une quelconque des revendications 2 à 6, caractérisé en ce qu’il comporte une étape d’analyse du tenseur de données en fonction d’une donnée d’activité de l’utilisateur, ladite étape d’analyse comprenant une comparaison entre le tenseur de données et une base de données comprenant des données de référence pour l’activité donnée.
  8. Procédé (1) d’encodage de données selon l’une quelconque des revendications 1 à 7, caractérisé en ce que, lors de l’étape de transformation (400), une ou plusieurs données codées sur au plus huit bits, de préférence d’au plus trois bits, sont calculées à partir de valeurs de descripteurs composites calculés à partir de données acquises sur des fenêtres temporelles consécutives, lesdits descripteurs composites étant formés à partir de plusieurs descripteurs provenant de fenêtres temporelles différentes.
  9. Procédé de détermination (2) de la démarche d’un utilisateur d’une chaussure, à partir de données susceptibles d’avoir été encodées selon un procédé d’encodage selon l’une quelconque des revendications 2 à 8, ledit procédé de détermination (2), exécuté par un ou plusieurs processeurs, comportant :
    • Une étape de chargement (710) d’un ou de plusieurs tenseurs de données comportant un encodage représentatif d’une position ou d’un mouvement de la chaussure de l’utilisateur ; et
    • Une étape de traitement (720) du ou des tenseurs de données par un modèle d’apprentissage automatique entrainé de manière à identifier une posture ou un mouvement de l’utilisateur.
  10. Procédé de détermination (2) de la démarche d’un utilisateur selon la revendication 9, caractérisé en ce que l’étape de traitement (720) du ou des tenseurs de données par un modèle d’apprentissage automatique comporte l’identification de classes d’événements à partir du ou des tenseurs de données, de préférence une classe de mouvement par séquence temporelle (32).
  11. Procédé de détermination (2) de la démarche d’un utilisateur selon l’une quelconque des revendications 9 ou 10, caractérisé en ce qu’il comporte une étape de sélection (730), de préférence par le modèle d’apprentissage automatique entrainé, d’une posture ou d’un mouvement de l’utilisateur à partir d’une comparaison des postures ou mouvements de l’utilisateur identifiés à partir de fenêtres temporelles (31) contiguës ou de séquences temporelles (32) contiguës.
  12. Procédé de détermination (2) de la démarche d’un utilisateur selon l’une quelconque des revendications 10 ou 11, caractérisé en ce qu’il comporte une étape de comparaison (740) de postures et/ou de mouvements identifiés pour une fenêtre temporelle (31) ou une séquence temporelle (32) donnée à partir de données de capteurs différents de façon à identifier une posture ou un mouvement de l’utilisateur.
  13. Dispositif d’encodage (20) de données générées par un ou plusieurs capteurs de mouvement (21) couplés à une chaussure, pour l’identification d’une position ou d’un mouvement de la chaussure sur une séquence temporelle (32), ledit dispositif d’encodage (20) comportant lesdits un ou plusieurs capteurs de mouvement (21) et un ou plusieurs processeurs (22), lesdits un ou plusieurs processeurs (22) étant configurés pour :
    • Acquérir les données générées par le ou les capteurs de mouvement (21) couplé(s) à la chaussure, lesdites données comportant des valeurs variables sous forme de séries temporelles, de préférence lesdites valeurs variables comportent des valeurs d’accélération et de vitesse angulaire ;
    • Calculer, à partir des données acquises sur une fenêtre temporelle (31), une pluralité de descripteurs, le calcul étant répété pour plusieurs fenêtres temporelles (31) consécutives, les fenêtres temporelles (31) consécutives formant la séquence temporelle (32) ;
    • Transformer la pluralité de descripteurs de chacune des fenêtres temporelles (31) consécutives formant la séquence temporelle (32), ladite transformation comportant une génération pour chacun des descripteurs d’une donnée codée sur au plus huit bits, lesdites données codées sur au plus huit bits associées à la séquence temporelle (32) étant représentatives d’une position ou d’un mouvement de la chaussure sur ladite séquence temporelle (32).
  14. Dispositif d’encodage (20) de données générées par un ou plusieurs capteurs de mouvement (21) selon la revendication précédente caractérisé en ce que lesdits un ou plusieurs processeurs (22) sont configurés pour générer un tenseur de données (34) comportant les données codées sur au plus huit bits obtenus pour plusieurs des fenêtres temporelles (31), de sorte que le tenseur de données (34) comporte un encodage représentatif d’une position ou d’un mouvement de la chaussure.
  15. Système (5) de détermination de la démarche d’un utilisateur ledit système de détermination comportant au moins un dispositif d’encodage (20) selon la revendication 14 et un terminal externe (30) configuré pour recevoir le tenseur de données généré puis pour déterminer la démarche d’un utilisateur à partir du tenseur de données généré.
FR2103875A 2021-04-14 2021-04-14 Procédé d’encodage de données de capteur de mouvement, dispositif et système associés Pending FR3121831A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR2103875A FR3121831A1 (fr) 2021-04-14 2021-04-14 Procédé d’encodage de données de capteur de mouvement, dispositif et système associés
PCT/FR2022/050712 WO2022219289A1 (fr) 2021-04-14 2022-04-14 Procédé d'encodage de données de capteur de mouvement, dispositif et système associés
EP22722318.7A EP4304472A1 (fr) 2021-04-14 2022-04-14 Procédé d'encodage de données de capteur de mouvement, dispositif et système associés

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2103875 2021-04-14
FR2103875A FR3121831A1 (fr) 2021-04-14 2021-04-14 Procédé d’encodage de données de capteur de mouvement, dispositif et système associés

Publications (1)

Publication Number Publication Date
FR3121831A1 true FR3121831A1 (fr) 2022-10-21

Family

ID=78332819

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2103875A Pending FR3121831A1 (fr) 2021-04-14 2021-04-14 Procédé d’encodage de données de capteur de mouvement, dispositif et système associés

Country Status (1)

Country Link
FR (1) FR3121831A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116189309A (zh) * 2022-11-16 2023-05-30 北京理工大学 一种处理人体运动数据的方法及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061105A1 (en) * 1997-10-02 2007-03-15 Nike, Inc. Monitoring activity of a user in locomotion on foot
WO2019077266A1 (fr) 2017-10-16 2019-04-25 Zhor Tech Boitier electronique miniaturise integrable dans n'importe quelle semelle
WO2019193301A1 (fr) 2018-04-06 2019-10-10 Zhor Tech Systeme pour la detection d'un trouble de la demarche chez un utilisateur et procedes associes
WO2020217037A1 (fr) 2019-04-25 2020-10-29 Zhor Tech Procede et systeme de determination d'une valeur de parametre biomecanique avance de demarche
US10978093B1 (en) * 2019-12-18 2021-04-13 Audio Analytic Ltd Computer apparatus and method implementing sound detection to recognize an activity

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061105A1 (en) * 1997-10-02 2007-03-15 Nike, Inc. Monitoring activity of a user in locomotion on foot
WO2019077266A1 (fr) 2017-10-16 2019-04-25 Zhor Tech Boitier electronique miniaturise integrable dans n'importe quelle semelle
WO2019193301A1 (fr) 2018-04-06 2019-10-10 Zhor Tech Systeme pour la detection d'un trouble de la demarche chez un utilisateur et procedes associes
WO2020217037A1 (fr) 2019-04-25 2020-10-29 Zhor Tech Procede et systeme de determination d'une valeur de parametre biomecanique avance de demarche
US10978093B1 (en) * 2019-12-18 2021-04-13 Audio Analytic Ltd Computer apparatus and method implementing sound detection to recognize an activity

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
A. GYULASSYP. T. BREMERB. HAMANNV. PASCUCCI: "A practical approach to morse-smale complex computation: Scalability and generality. IEEE Transactions on Visualization and Computer Graphics", PROC. OF IEEE VIS, 2008
H. EDELSBRUNNERD. LETSCHERA. ZOMORODIAN: "Topological persistence and simplification", DISC. COMPU. GEOM., 2002
H. EDELSBRUNNERJ. HARER: "Compu-tational Topology: An Introduction", AMERICAN MATHEMATICAL SOCIETY, 2009
J. TIERNYA. GYULASSYE. SIMONV. PASCUCCI: "Loop surgery for volu-metric meshes: Reeb graphs reduced to contour trees. IEEE Transactions on Visualization and Computer Graphics", PROC. OF IEEE VIS, 2009
NIMSIRI ABHAYASINGHE ET AL.: "Bluetooth Embedded Inertial Measurement Unit for Real-Time Data Collection for Gait Analysis", CONFÉRENCE: INDOOR POSITIONING AND INDOOR NAVIGATION, October 2013 (2013-10-01)
PRADO ANTONIO ET AL: "Prediction of Gait Cycle Percentage Using Instrumented Shoes with Artificial Neural Networks", 2020 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA), IEEE, 31 May 2020 (2020-05-31), pages 2834 - 2840, XP033826083, DOI: 10.1109/ICRA40945.2020.9196747 *
SALMA SAIDANI ET AL.: "A survey on smart shoe insole systems", 2018, IEEE

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116189309A (zh) * 2022-11-16 2023-05-30 北京理工大学 一种处理人体运动数据的方法及电子设备
CN116189309B (zh) * 2022-11-16 2024-01-30 北京理工大学 一种处理人体运动数据的方法及电子设备

Similar Documents

Publication Publication Date Title
EP3958738B1 (fr) Procede et systeme de determination d'une valeur de parametre biomecanique avance de demarche
EP3697245B1 (fr) Système et procédé d'analyse et de quantification de la posture et de la démarche d'un utilisateur
US20190311261A1 (en) Behavioral biometric feature extraction and verification
US10769260B2 (en) Behavioral biometric feature extraction and verification
US11551479B2 (en) Motion behavior pattern classification method, system and device
EP4033932A1 (fr) Procede et systeme pour le calcul de valeurs personnalisees de parametres d'une semelle pour la conception de semelles sur mesure
FR3121831A1 (fr) Procédé d’encodage de données de capteur de mouvement, dispositif et système associés
Navarathna et al. Wearable device based activity recognition and prediction for improved feedforward control
EP3481286B1 (fr) Procédé et système de mesure et d'affichage de données liées à l'activité physique d'une personne
FR3060147B1 (fr) Procede de caracterisation d'un cycle de marche d'un sujet au moyen d'un modele de markov cache
EP4304472A1 (fr) Procédé d'encodage de données de capteur de mouvement, dispositif et système associés
FR3121832A1 (fr) Procédé d’encodage de données de capteur de mouvement, dispositif et système associés
EP4033931A1 (fr) Procede et systeme pour l'analyse de l'usage d'un article chaussant
Filios et al. Efficient parameterized methods for physical activity detection using only smartphone sensors
EP4035112A1 (fr) Procede et systeme de distribution de media numerique en fonction de parametres de mobilite d'un individu
EP3155504A1 (fr) Procede et dispositif pour localiser une interaction sur une surface tactile
FR3121595A1 (fr) Procede et dispositif d’inference d’une ligne de pression plantaire
EP3761063A1 (fr) Instrument portable de gestion d'une activite sportive ou de bien-etre
TWI729596B (zh) 感測器資料管理
FR3088458A1 (fr) Procede de reconnaissance et de description contextuelles d'un objet d'interet pour un utilisateur deficient visuel, dispositif mettant en oeuvre ledit procede
WO2023017227A1 (fr) Systeme et procede pour la recommandation de semelle ou d'article chaussant a un utilisateur
FR3103611A1 (fr) Procédé et dispositif de suivi de l’activité d’une personne en perte d'autonomie
EP3714773A1 (fr) Système de caractérisation de la posture et de la démarche
WO2023041693A1 (fr) Système et procédé de prédiction de chute d'un individu
WO2019215418A1 (fr) Systeme pour l'analyse de la technique de pedalage d'un cycliste et procedes associes

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20221021

PLFP Fee payment

Year of fee payment: 3

TP Transmission of property

Owner name: BAL INC, US

Effective date: 20230821

PLFP Fee payment

Year of fee payment: 4