Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD OF PROCESSING DATA TO IMPROVE MOTION RECOGNITION, ASSOCIATED SENSOR AND SYSTEM
Document Type and Number:
WIPO Patent Application WO/2018/015355
Kind Code:
A1
Abstract:
The invention relates to a system and a method for processing data so as to improve motion recognition implemented by an application associated with at least one data sensor (1; 1'). Raw data are collected (E4) by said at least one sensor and stored (E10) in a remote database (7). An analysis, preferably, statistical (E12) of all or part of the raw data stored in the database (7) is performed by a server (5) linked to the database (7). The application is parametrized and/or updated (E14) as a function of the results of said analysis (E12). The system comprises one or more data sensors (1; 1 '), the server (5) and the remote database (7) and a mobile terminal (3).

Inventors:
ROMAO FERNANDO (FR)
SHELEH ANDREI (BY)
SELIVANAU IVAN (BY)
Application Number:
PCT/EP2017/068060
Publication Date:
January 25, 2018
Filing Date:
July 17, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
OCTONION SA (CH)
International Classes:
G06K9/00; A61B5/11; G06K9/66; H04L29/08
Foreign References:
EP2988099A12016-02-24
Other References:
SCAR D LARA ET AL: "A mobile platform for real-time human activity recognition", CONSUMER COMMUNICATIONS AND NETWORKING CONFERENCE (CCNC), 2012 IEEE, IEEE, 14 January 2012 (2012-01-14), pages 667 - 671, XP032160888, ISBN: 978-1-4577-2070-3, DOI: 10.1109/CCNC.2012.6181018
OSCAR D LARA ET AL: "A Survey on Human Activity Recognition using Wearable Sensors", IEEE COMMUNICATIONS SURVEYS AND TUTORIALS, INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, US, vol. 15, no. 3, 1 July 2013 (2013-07-01), pages 1192 - 1209, XP011523255, ISSN: 1553-877X, DOI: 10.1109/SURV.2012.110112.00192
XING SU HANGHANG TONG PING JI ET AL: "Activity Recognition with Smartphone Sensors", TSINGHUA SCIENCE AND TECHNOLOGY, 1 June 2014 (2014-06-01), pages 235 - 249, XP055348865, Retrieved from the Internet [retrieved on 20170223], DOI: 10.1109/TST.2014.6838194
Attorney, Agent or Firm:
SANTARELLI (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de traitement de données destiné à améliorer la reconnaissance de mouvements mise en œuvre par un applicatif exécuté sur au moins un capteur de données (1 ; ) au sein d'un système de traitement de données, ledit procédé étant caractérisé en ce qu'il comprend les étapes suivantes par le système de traitement de données :

collecte (E4) de données brutes par ledit au moins un capteur (1) ;

stockage (Eio) des données brutes dans une base de données distante (7) ; - analyse (E12) de tout ou partie des données brutes stockées dans la base de données distante (7) ; et

- paramétrage (E14) et/ou mise à jour (E15) dudit applicatif en fonction des résultats d'analyse obtenus à l'issue de l'étape d'analyse (E12) ; et qu'il comprend en outre :

- une étape de test préalable (E2), lors de laquelle un critère de fiabilité de reconnaissance de mouvement est évalué dès lors qu'un mouvement est reconnu par l'applicatif, de sorte que les autres étapes du procédé sont initiées en fonction de la valeur du critère de fiabilité par rapport à un seuil prédéterminé.

2. Procédé selon la revendication 1, caractérisé en ce qu'un identifiant (I) qualifiant le type de mouvement réalisé par un utilisateur dudit au moins un capteur est associé auxdites données brutes (D) lors de l'étape de collecte (E4), l'identifiant étant renseigné manuellement par l'utilisateur ou automatiquement d'après une séquence de mouvements à réaliser prédéfinie, l'identifiant (I) et les données (D) étant transmis à ladite base de données (7).

3. Procédé selon l'une quelconque des revendications 1 à 2, caractérisé en ce que lesdites données brutes collectées (D) sont envoyées par ledit au moins un capteur de données (1) à un terminal mobile (3) adapté à transmettre lesdites données (D) à la base de données distante (7).

4. Procédé selon l'une quelconques des revendications 1 à 3, caractérisé en ce que lesdites données brutes (D) comprennent des données inertielles d'accélération et/ou de vitesse.

5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comprend en outre une étape d'empaquetage (Es), lors de laquelle les données brutes collectées (D) sont empaquetés, de manière à fournir une structure de données calibrées.

6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que l'étape de paramétrage (E14) inclut la fourniture audit au moins un capteur de données (1 ; ) d'au moins un paramètre de configuration déterminé en fonction des résultats de ladite analyse (E12).

7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que l'étape de mise à jour (E14) inclut la fourniture audit au moins capteur (1 ; ) d'un applicatif mis à jour en fonction des résultats de ladite analyse (En).

8. Procédé de traitement de données destiné à améliorer la reconnaissance de mouvements mise en œuvre par un applicatif exécuté sur au moins un capteur de données (1 ; ) au sein d'un système de traitement de données, ledit procédé comprenant les étapes suivantes par ledit capteur :

collecte de données brutes (E4) par ledit au moins un capteur (1 ; 1 ') ;

- envoi des données brutes collectées à une base de données distante (7) ; et réception d'au moins un paramètre de configuration et/ou d'une mise à jour dudit applicatif, ledit au moins paramètre de configuration et/ou ladite mise à jour étant déterminés en fonction des résultats d'une analyse (E12) de tout ou partie des données brutes stockées dans la base de données distante (7) ; et qu'il comprend en outre :

- une étape de test préalable (E2), lors de laquelle un critère de fiabilité de reconnaissance de mouvement est évalué dès lors qu'un mouvement est reconnu par l'applicatif, de sorte que les autres étapes du procédé sont initiées en fonction de la valeur du critère de fiabilité par rapport à un seuil prédéterminé.

9. Système de traitement de données destiné à améliorer la reconnaissance de mouvements mise en œuvre par un applicatif associé à au moins un capteur de données (1 ; ), ledit système comprenant :

des moyens de collecte de données brutes par ledit au moins un capteur; des moyens de stockage des données brutes dans une base de données distante (7) ;

des moyens d'analyse de tout ou partie des données brutes stockées dans la base de données (7) ; et

des moyens de paramétrage et/ou de mise à jour dudit applicatif en fonction des résultats obtenus par lesdits moyens d'analyse.

10. Capteur de données adapté pour améliorer la reconnaissance de mouvements et comprenant des moyens de reconnaissance de mouvements, ledit capteur étant caractérisé en ce qu'il comprend en outre :

- des moyens de collecte de données brutes ;

- des moyens d'envoi desdits données à une base de données distante (7);

- des moyens de réception d'au moins un paramètres de configuration déterminés et/ou dudit applicatif adapté en fonction des résultats d'une analyse de tout ou parties des données brutes stockées sur la base de données distante (7).

11. Serveur de données destiné à améliorer la reconnaissance de mouvements mise en œuvre par un applicatif associé à au moins un capteur de données (1 ; ), ledit serveur comprenant :

- des moyens de réception de données brutes obtenues par des moyens de mesure d'au moins un capteur de données ;

- des moyens de stockage desdites données brutes dans une base de données (7) ; - des moyens d'analyse de tout ou partie des données contenues dans ladite base de données ; et

- des moyens de paramétrage et/ou de mise à jour dudit applicatif en fonction des résultats obtenus par lesdits moyens d'analyse.

12. Programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre le procédé selon l'une quelconque des revendications 1 à 10 lorsque ledit programme est exécuté sur un ordinateur. 13. Moyen de stockage d'informations, amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution de chacune des étapes du procédé selon l'une quelconque des revendications 1 à 10.

Description:
Procédé de traitement de données pour améliorer la reconnaissance de mouvements, système et capteur associés.

Domaine de l'invention

La présente invention concerne le domaine de la reconnaissance de mouvements mise en œuvre par des capteurs de données.

L'invention trouve une application privilégiée dans le domaine du sport pour reconnaître les mouvements effectués par un sportif dans différentes disciplines, telles que le golf, le tennis, ou le ski.

Dans ce domaine d'application, il existe des capteurs de données dits

« multisports » destinés à évaluer les performances d'un sportif pendant sa pratique sportive, ces capteurs pouvant être configurés selon le sport pratiqué.

Par exemple, lors d'une séance d'entraînement de tennis, un capteur de données fixé sur le poignet d'un sportif doit permettre d'identifier combien de coups droits ou de revers ont été effectués par ce sportif. Pour cela, une reconnaissance fiable des mouvements réalisés par le sportif est nécessaire.

Au vu de la multitude de sports pratiqués à travers le monde, il existe un besoin de configurer ou d'adapter efficacement les algorithmes de reconnaissance de mouvements mis en œuvre sur chaque capteur, pour améliorer la fiabilité de reconnaissance et ainsi rendre plus fiable l'analyse des performances sportives qui en résulte.

Selon l'état de la technique actuel, il est connu d'exploiter localement des données brutes, telles que des grandeurs inertielles mesurées par des accéléromètres et/ou des gyromètres embarqués dans des capteurs de données multisports. Ces données sont traitées directement par le capteur de données au moyen d'un applicatif dédié mettant en œuvre des algorithmes de reconnaissance de mouvements, ces algorithmes étant prévus pour reconnaître la nature ou le type des mouvements exécutés pendant une pratique sportive.

L'applicatif dédié analyse les données brutes fournies par les capteurs et produit des données dites réduites qui contiennent le mouvement reconnu et éventuellement des mesures associées. Par exemple, les données réduites peuvent contenir l'information que le mouvement reconnu est un coup droit au tennis associé à la vitesse de la raquette au moment de la frappe. Toutefois, il peut arriver que la reconnaissance des mouvements par les algorithmes mis en œuvre par l'applicatif dédié ne soit pas optimale. Cela peut venir de spécificités physiques ou de la pratique de l'utilisateur par exemple.

Objet de l'invention

La présente invention vise à remédier aux inconvénients précités, en proposant une solution technique permettant d'améliorer la reconnaissance de mouvements mise en œuvre par des capteurs de données, pour une grande variété de pratiques sportives.

Ces buts sont atteints par un procédé de traitement de données destiné à améliorer la reconnaissance de mouvements mise en œuvre par un applicatif associé à au moins un capteur de données, ledit procédé comprenant les étapes suivantes :

collecte de données brutes par ledit au moins un capteur ;

stockage des données brutes dans une base de données distante ; - analyse, en particulier statistique, de tout ou partie des données brutes stockées dans la base de données distante ; et

- paramétrage et/ou mise à jour dudit applicatif en fonction des résultats d'analyse obtenus à l'issue de l'étape d'analyse.

L'analyse, en particulier statistique, des données brutes issues d'une pluralité de capteurs utilisés par différents utilisateurs est particulièrement avantageuse pour améliorer les performances de reconnaissance de mouvements d'un algorithme générique de l'applicatif, notamment lorsqu'un tel algorithme est mis en œuvre par un grand nombre de capteurs. Le recours à des méthodes d'analyse statistique est d'autant plus avantageux que le nombre de capteurs permettant d'alimenter la base de données distante est élevé.

Pour un capteur donné, l'analyse, en particulier statistique, de données brutes issues de ce même capteur est également avantageuse pour améliorer les performances d'un algorithme de reconnaissance de mouvements de l'applicatif spécifiquement à ce capteur, l'algorithme pouvant être personnalisé en fonction des données brutes fournies par ce capteur.

Dans tous les cas, c'est sur la base des données brutes obtenues auprès d'un ou plusieurs capteurs de données que la reconnaissance de mouvements d'un sportif peut être améliorée. Le résultat de l'analyse est utilisé pour paramétrer ou mettre à jour le(s) algorithme(s) de reconnaissance de mouvements de manière centralisée. Ceci est d'autant plus avantageux que le nombre de capteurs déployés est élevé. Ainsi, les applicatifs de reconnaissance de mouvements mis en œuvre sur les capteurs de données peuvent être mis à jour ou configurés de manière centralisée, à partir des données brutes obtenues auprès d'un ensemble de capteurs.

Selon un mode particulier de réalisation de l'invention, le procédé comprend en outre une étape de test préalable, lors de laquelle un critère de fiabilité de reconnaissance de mouvement est évalué, dès lors qu'un mouvement est reconnu par l'applicatif, de sorte que les autres étapes du procédé sont initiées en fonction de la valeur du critère de fiabilité par rapport à un seuil prédéterminé.

Ainsi, les étapes du procédé selon l'invention sont exécutées uniquement dans le cas où la reconnaissance de mouvements effectuée par le capteur de données présente un degré de fiabilité insuffisant. L'exécution conditionnelle des étapes du procédé selon l'invention est particulièrement avantageuse pour éviter tout traitement inutile et préserver les ressources électriques du capteur de données dont l'autonomie doit être optimisée.

Etant donné que les données brutes sont généralement volumineuses, le fait de les envoyer de manière ponctuelle est particulièrement avantageux pour limiter la quantité d'informations à faire transiter à travers les réseaux de communications radio- mobiles, compte-tenu des capacités de transmission limitées des technologies radio actuellement déployées et du déploiement massif de capteurs de données connectés.

Selon un mode particulier de réalisation de l'invention, un identifiant qualifiant le type de mouvement réalisé par un utilisateur dudit au moins un capteur est associé auxdites données brutes lors de l'étape de collecte. L'identifiant est renseigné, manuellement par l'utilisateur ou automatiquement, d'après une séquence de mouvements à réaliser prédéfinie, l'identifiant et les données étant transmis à ladite base de données.

L'identifiant permet avantageusement de classifier et de regrouper les données brutes de même nature (par exemple, correspondant à la pratique d'un même sport dans des conditions similaires) dans la base de données distante. Selon un mode de réalisation particulier de l'invention, les données brutes collectées sont envoyées par ledit au moins un capteur de données à un terminal mobile, ce terminal étant adapté à transmettre lesdites données à la base de données distante.

L'utilisation d'un terminal mobile, tel qu'un téléphone portable, pour transférer des données brutes du capteur de données à la base de données de distante est particulièrement bien adaptée au cas où les capteurs de données ne disposent pas de moyens pour communiquer avec les réseaux radio-mobiles.

Ainsi, les données brutes collectées sont transmises à la base de données distante par le téléphone portable en utilisant l'abonnement lié à ce téléphone. Dans ce cas, on peut utiliser des capteurs à architecture simplifiée, dont la consommation énergétique est réduite.

Dans un exemple de réalisation, les données brutes comprennent des données inertielles d'accélération et/ou de vitesse.

Les données inertielles sont non seulement utilisées par l'algorithme de reconnaissance de mouvements mais également exploitées lors de l'étape d'analyse pour adapter l'applicatif du capteur de données, en vue d'améliorer les capacités de reconnaissance.

De manière optionnelle, les données brutes comprennent en outre, au moins l'un des paramètres suivants : orientation du capteur de données, pression ambiante, température ambiante.

Ces paramètres additionnels sont des indicateurs des conditions physiques dans lesquelles le capteur de données a été utilisé lors de la collecte des données inertielles. De tels indicateurs pourront être pris en considération lors de l'analyse des données brutes collectées.

Selon un mode particulier de réalisation, le procédé comprend en outre une étape de fusion, lors de laquelle les données brutes collectées sont fusionnées, de manière à fournir une structure de données calibrées, filtrées et plus précises que si elles étaient considérées isolément.

A titre de premier exemple, les biais du gyromètre (i.e. composante à basse fréquence) sont supprimés par le calcul d'une moyenne glissante dans les phases statiques du capteur de données ou sont supprimés par des algorithmes plus puissants comme ceux décrits par Kalman-Bucy et connus sous le nom de « Filtres de Kalman ». A titre de deuxième exemple, les données du gyromètre et de l'accéléromètre sont combinées, c'est-à-dire fusionnées pour atteindre une plus grande précision sur le calcul de l'attitude (orientation dans l'espace) du capteur de données. Cette fusion peut s'effectuer grâce au filtrage de Kalman ou par l'utilisation d'un filtre complémentaire. Ces techniques sont connues de l'homme de l'art et par conséquent ne sont pas décrites de façon détaillée ici.

Ainsi la fusion des données brutes collectées a pour fonction de calibrer les grandeurs mesurées lors de la collecte de données, par exemple, par rapport à une valeur de référence commune et/ou de convertir ces données de manière à les exprimer selon un système d'unités conventionnelles directement interprétables lors de l'étape d'analyse. La calibration permet notamment de compenser des défauts statiques et dynamiques par la combinaison de données complémentaires pour améliorer la précision globale.

Selon un mode particulier de réalisation, l'étape de paramétrage inclut la fourniture audit au moins un capteur de données d'au moins un paramètre de configuration déterminé en fonction des résultats de l'analyse.

Le ou les paramètres de configuration fourni(s) au(x) capteur(s) de données sont utilisés pour personnaliser l'algorithme de reconnaissance mis en œuvre par l'applicatif de ce(s) capteur(s) de données. La fourniture centralisée de ces paramètres de configuration est particulièrement avantageuse pour personnaliser simultanément une pluralité de capteurs déployés, sans avoir à intervenir individuellement sur chacun des capteurs.

Selon un mode particulier de réalisation, l'étape de mise à jour inclut la fourniture audit au moins capteur d'un applicatif mis à jour en fonction des résultats de l'analyse.

Ainsi, une mise à jour centralisée des applicatifs des capteurs peut être réalisée efficacement. Ceci est particulièrement avantageux pour généraliser un algorithme de reconnaissance (i.e. améliorer un algorithme générique) sur la base de données brutes, de préférence fusionnées, obtenues auprès d'un grand nombre de capteurs de données.

L'invention vise également un procédé de traitement de données destiné à améliorer la reconnaissance de mouvements mise en œuvre par un applicatif associé à au moins un capteur de données. Ledit procédé comprend les étapes suivantes mises en œuvre par ledit au moins capteur de données :

collecte de données brutes ;

envoi des données brutes collectées à une base de données distante ; et - réception de paramètres de configuration et/ou d'une mise à jour dudit applicatif, lesdits paramètres et/ou ladite mise à jour étant déterminés en fonction des résultats d'un traitement d'analyse, de préférence statistique, de tout ou partie des données brutes stockées dans la base de données distante. L'invention vise également un procédé de traitement de données destiné à améliorer la reconnaissance de mouvements mise en œuvre par un applicatif associé à au moins un capteur de données, ledit procédé comprenant les étapes suivantes mises en œuvre par un serveur de données :

- réception de données brutes collectées par ledit au moins un capteur;

- stockage desdites données brutes dans une base de données distante ;

- analyse, de préférence statistique, de tout ou partie des données contenues dans ladite base de données ; et

- paramétrage et/ou de mise à jour dudit applicatif en fonction des résultats de l'étape d'analyse.

L'invention vise également un système de traitement de données destiné à améliorer la reconnaissance de mouvements mise en œuvre par un applicatif associé à au moins un capteur de données, ledit système comprenant :

des moyens de collecte de données brutes par ledit au moins un capteur; des moyens de stockage des données brutes dans une base de données distante ;

- des moyens d'analyse, de préférence statistique, de tout ou partie des données brutes stockées dans la base de données ; et

des moyens de paramétrage et/ou mise à jour dudit applicatif en fonction de paramètres d'analyse obtenus par les moyens d'analyse.

Selon un mode particulier de réalisation de l'invention, le système comprend en outre un terminal mobile adapté à transmettre à la base de données distante les données brutes collectées reçues dudit au moins un capteur. L'invention vise également un capteur de données pour améliorer la reconnaissance de mouvements, ledit capteur comprenant :

- des moyens de collecte de données brutes ;

- des moyens d'envoi desdits données à une base de données distante ;

- des moyens de réception d'au moins un paramètre de configuration et/ou d'une mise à jour dudit applicatif, ledit au moins un paramètre et/ou ladite mise à jour étant déterminés en fonction des résultats d'une analyse, de préférence statistique, de tout ou partie des données brutes stockées dans la base de données distante.

L'invention vise également un serveur de données destiné à améliorer la reconnaissance de mouvements mise en œuvre par un applicatif associé à au moins un capteur de données, ledit serveur comprenant :

- des moyens de réception de données brutes obtenues par des moyens de mesure d'au moins un capteur de données ;

- des moyens de stockage desdites données brutes dans une base de données ; - des moyens d'analyse, de préférence statistique, de tout ou partie des données contenues dans ladite base de données ; et

- des moyens de paramétrage et/ou de mise à jour dudit applicatif en fonction des résultats obtenus par les moyens d'analyse.

Selon un mode particulier de réalisation, le serveur est adapté à mettre en œuvre au moins un algorithme de reconnaissance de mouvement conformément à un algorithme mis en œuvre sur ledit au moins un capteur de données destiné à être paramétrés ou mis à jour. Ainsi, l'algorithme est exécuté par le serveur en utilisant tout ou partie des données brutes stockées dans la base de données.

L'invention concerne également un programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre de l'une quelconque des étapes des procédés selon l'invention tels que décrits ci-dessus, lorsque ledit programme est exécuté sur un ordinateur.

Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise également un moyen de stockage d'informations, amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution de l'une quelconque des étapes des procédés selon l'invention tels que décrits ci-dessus.

Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comprendre un moyen de stockage, tel qu'une mémoire ROM (Read Only Memory), par exemple une ROM de microcircuit, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur, ou encore une mémoire flash.

D'autre part, le support d'informations peut être un support transmissible, tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur une plateforme de stockage d'un réseau de type Internet.

Alternativement, le support d'informations peut être un circuit intégré, dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.

Le support d'informations et le programme d'ordinateur précités présentent des caractéristiques et avantages analogues au procédé qu'ils mettent en œuvre. Brève description de dessins

D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après, en relation avec les dessins annexés, donnés à titre d'exemples non limitatifs, et sur lesquels :

la Figure 1 illustre l'architecture d'un système selon un premier mode de réalisation de l'invention ;

la Figure 2 illustre l'architecture d'un système selon un deuxième mode de réalisation de l'invention ;

la Figure 3 illustre un exemple de réalisation du système selon le premier mode de réalisation de l'invention comprenant une pluralité de capteurs ;

la Figure 4 illustre les étapes du procédé selon un mode particulier de réalisation de l'invention ; la Figure 5a illustre un exemple de représentation de deux nuages de points correspondant respectivement à deux gestes en illustrant la distance de Hamming ; et la Figure 5b illustre un exemple de partitionnement pour permettre la reconnaissance de mouvements.

Une des idées à la base de l'invention est de paramétrer et/ou mettre à jour l'applicatif d'un ou plusieurs capteurs de données pour améliorer la fiabilité de reconnaissance de mouvements, en fonction des résultats d'une analyse, de préférence statistique, des données brutes stockées dans une base de données distante, ces données étant collectées auprès d'au moins un capteur de données.

Le système selon l'invention comprend au moins un capteur de données utilisé par un ou plusieurs utilisateurs, un serveur relié à la base de données distante. Le serveur est adapté à analyser les données brutes contenues dans la base de données. Les données collectées peuvent être envoyées au serveur par l'intermédiaire d'un terminal mobile connecté au capteur de données. Dans un mode de réalisation alternatif, le capteur de données est adapté pour transmettre les données collectées directement au serveur de données.

Les données brutes stockées dans la base de données sont associées à un identifiant permettant de qualifier le type de mouvement réalisé lors de la collecte de données brutes correspondantes. Chaque ensemble de données brutes collectées en association à l'identifiant de mouvement prédéfini constitue un bloc de données complet, l'ensemble des blocs de données stockés dans la base de données pouvant être exploité par des méthodes d'analyse de préférence statistique.

Les résultats de l'analyse des données brutes sont utilisés pour déterminer des paramètres de configuration destinés à améliorer la configuration de l'algorithme de reconnaissance de mouvement mis en œuvre par l'applicatif du capteur de données. Ainsi, l'invention permet avantageusement une reconfiguration de l'applicatif de chaque capteur de données, en tenant compte de tout ou partie des données brutes stockées dans la base de données distante.

Les résultats de l'analyse des données brutes peuvent également être utilisés pour élaborer une mise à jour de l'applicatif du capteur de données, sur lequel est mis en œuvre l'algorithme de reconnaissance de mouvements. Ainsi, l'invention permet la mise à jour de l'applicatif d'un ou plusieurs capteurs de données, en tenant compte de tout ou partie des données brutes stockées dans la base de données distante obtenues auprès des capteurs.

Dans tous les cas, la configuration et/ou la mise à jour de l'applicatif d'un ou plusieurs capteurs de données sont réalisées de manière centralisée, au moyen du serveur, en tenant compte de tout ou partie des données brutes obtenues auprès d'un capteur ou d'une pluralité de capteurs.

Typiquement, l'invention permet de mettre à jour et/ou de configurer un algorithme générique de reconnaissance de mouvements, cet algorithme pouvant être commun à une pluralité de capteurs alimentant régulièrement la base de données distante.

La finalité des algorithmes déployés sur l'ensemble des capteurs est non seulement de reconnaître un mouvement donné et le catégoriser (par exemple, coup droit au tennis) afin de créer des statistiques communiquées à l'utilisateur, mais également de mesurer avec la plus grande précision possible un paramètre caractéristique qui sera également communiqué à l'utilisateur, tel que la vitesse d'un mouvement ou la hauteur d'un saut.

La Figure 1 illustre schématiquement l'architecture d'un système selon un premier mode de réalisation de l'invention.

Le système comprend :

- un capteur de données multisports 1 ,

un terminal mobile 3 constitué, par exemple, par un téléphone portable, - un serveur 5 et une base de données distante 7 dans un réseau de télécommunications 9.

Dans le présent exemple, le réseau de télécommunications 9 comprend le réseau Internet dans lequel figure le serveur 5 et la base de données distante 7. Le terminal mobile 3 est doté de moyens de communications radio-mobiles de type 3 G ou 4G adaptés à accéder au réseau Internet selon des protocoles de communication IP.

Le capteur de données 1 comprend des moyens de mesures Mi,...,M n pour mesurer des grandeurs inertielles, telles que la vitesse et/ou l'accélération, ces moyens de mesures étant intégrés dans le capteur de données 1.

Dans un mode de réalisation particulier de l'invention, le capteur de données 1 comprend trois moyens de mesure comme suit : des premiers moyens de mesure Mi adaptés pour mesurer une vitesse angulaire instantanée, cette vitesse étant représentée par un vecteur ω ayant trois composantes de vitesse de rotation co x , co y , co z autour de chacun des axes desdits premiers moyens de mesure Mi constitués par un gyromètre embarqué dans ledit capteur de données ;

des deuxièmes moyens de mesure M 2 adaptés pour mesurer une accélération linéaire locale représentée par un vecteur γ ayant trois composantes d'accélération linéaire γ χ , y y , γ ζ suivant chacun des axes desdits deuxièmes moyens de mesure M 2 , ces moyens étant constitués par un accéléromètre linéaire embarqué dans ledit capteur de données ;

des troisièmes moyens de mesure M3 adaptés pour calculer une accélération universelle Γ (Linear World Accélération) à partir des accélérations mesurées par un ou plusieurs accéléromètres et des vitesses de rotations mesurées par un ou plusieurs gyromètres, l'accélération universelle étant calculée selon des algorithmes connus de l'homme du métier (e.g. matrices de rotation utilisant les angles d'Euler ou les quaternions, fusion de données utilisant des filtres complémentaires, filtrage de Kalman), ces moyens créant ce que l'on peut nommer « accéléromètre universel ».

Le capteur de données 1 peut comprendre en outre des moyens de mesure additionnels, tels qu'un capteur de pression et/ou un capteur de température.

Le capteur de données 1 comprend en outre :

une unité centrale de traitement 12 comprenant un micro-processeur, en particulier de type ARM tel que Cortex-M4 ou autre ;

une mémoire vive 13 de type RAM (Random Access Memory) et une mémoire morte 14 de type ROM (Read Only Memory) ;

- une interface de communication 15, par exemple du type radio fréquence de courte portée de type Bluetooth®.

L'ensemble des éléments constitutifs du capteur de données 1 tels que décrits ci- dessus peut être typiquement intégré sur un même circuit imprimé monobloc de type PCB (Printed Circuit Board).

Dans l'exemple décrit ici, la mémoire morte 14 constitue un support d'enregistrement qui mémorise un programme d'ordinateur PG1 conforme à l'invention, apte à mettre en œuvre, lorsqu'il est exécuté par l'unité centrale 12, les étapes du procédé de traitement de données réalisées par le capteur de données conformément à l'invention, comme illustré à la figure 4.

Le téléphone portable 3 comprend typiquement :

une interface de communication radio fréquence de courte portée 35 (COM1) de type Bluetooth® adaptée à communiquer avec l'interface de communication 15 (COM) du capteur de données 1 ;

une interface de communication radio-mobile 36 (COM2) de type 3 G ou 4G ;

une mémoire vive 33 de type RAM et une mémoire morte 34 de type ROM;

- une unité centrale de traitement 32, tel qu'un micro-processeur ;

une interface homme-machine 37 (IHM) comprenant un dispositif d'affichage.

Dans l'exemple décrit ici, la mémoire morte 34 (ROM) constitue un support d'enregistrement qui mémorise un programme d'ordinateur PG3 conforme à l'invention, apte à mettre en œuvre, lorsqu'il est exécuté par l'unité centrale 32, les étapes du procédé de traitement de données réalisées par le terminal mobile 3 conformément à l'invention, comme illustré à la figure 4.

Le serveur 5 est relié à la base de données 7 sur le réseau de télécommunications 9. Le serveur 5 comprend typiquement :

une interface de communication 55 (COM) adaptée à communiquer avec l'interface de communication radio-mobile 36 (COM2) du téléphone portable 3 ;

une mémoire vive 53 de type RAM et une mémoire morte 54 de type ROM ;

- une unité centrale de traitement 52, tel qu'un micro-processeur.

Dans l'exemple décrit ici, la mémoire morte 54 constitue un support d'enregistrement qui mémorise un programme d'ordinateur PG5 conforme à l'invention, apte à mettre en œuvre, lorsqu'il est exécuté par l'unité centrale 52, les étapes du procédé de traitement de données réalisées par le serveur 5 conformément à l'invention, comme illustré à la figure 4.

La Figure 2 illustre schématiquement l'architecture d'un système selon un deuxième mode de réalisation de l'invention. Ce deuxième mode de réalisation diffère essentiellement du premier mode de réalisation décrit en référence à la figure 1 , en ce que le capteur de données 1 ' est adapté à communiquer directement avec le serveur 5. Dans ce cas, il n'est pas nécessaire de disposer d'un téléphone portable 3, ce qui est le cas pour les capteurs de données multifonctions autonomes.

Dans ce cas, le capteur de données 1 ' comprend, par exemple, une interface de communication 15' (COM) radio-mobile de type 3G, 4G et/ou sans fil de type Wi-Fi® adaptée à communiquer directement avec le serveur 5.

Le capteur de données comprend en outre une interface homme -machine 17 (IMH) comprenant un dispositif d'affichage.

Pour ne pas surcharger inutilement la présente description, tous les autres éléments désignés par les mêmes numéros de références que ceux déjà décrits en référence à la figure 1 restent identiques et ne sont pas décrits à nouveau.

La Figure 3 illustre un exemple de réalisation du système selon le premier mode de réalisation de l'invention, dans lequel une pluralité de capteurs de données 1.1, 1.2a, 1.2b,...,l .n sont adaptés à alimenter la même base de données distante 7 par l'intermédiaire de téléphones portables 3.1, 3.2,...,3.n auxquels ils sont respectivement associés. On notera que plusieurs capteurs 1.2a, 1.2b peuvent être associés à un même téléphone portable 3.2.

La Figure 4 illustre un exemple de réalisation du procédé selon l'invention tel que mis en œuvre par le système illustré à la figure 1 selon le premier mode de réalisation.

Par souci de simplification, le procédé sera décrit en référence à un seul capteur de données, mais restera valable pour chacun des capteurs de la pluralité de capteurs du système illustré à la figure 3, où plusieurs capteurs peuvent transmettre simultanément ou séquentiellement des données brutes à la base de données distante 7. Le serveur 5 et la base de données 7 sont dimensionnés de manière appropriée en fonction du nombre de capteurs et/ou de téléphones portables susceptibles d'alimenter la base de données 7.

Initialement, on suppose que le capteur de données 1 est associé au téléphone portable 3 au moyen de l'application PG3 exécutée sur le téléphone 3, lors d'une étape d'association préalable Eo (mécanisme de pairing en anglais). Dès lors que le capteur de données 1 est associé au téléphone 3, l'utilisateur peut sélectionner depuis l'application PG3 le type de sport pratiqué au moyen de l'interface homme-machine 37. Cette information est renseignée au capteur 1 qui peut se configurer en fonction du sport sélectionné.

Dans un mode de fonctionnement nominal, le capteur de données 1 exécute l'applicatif PG1 destiné à reconnaître, en temps réel, des mouvements effectués par un sportif en action. A cet effet, le processeur 12 du capteur de données 1 exécute un algorithme de reconnaissance de mouvements prédéfini dans l'applicatif PG1 , lors d'une étape de reconnaissance Ei.

Cette reconnaissance est réalisée en temps réel et en fonction des données brutes mesurées par les moyens de mesure du capteur de données 1. Dans le présent exemple, ces données brutes comprennent les valeurs de vitesse angulaire ω mesurées par le gyromètre Mi, les valeurs d'accélération linéaire locale γ mesurées par l'accéléromètre linéaire local M 2 et les valeurs d'accélération linéaire universelle Γ fournies par l'accéléromètre linéaire universelle M 3 .

Pour permettre la reconnaissance de mouvements, l'applicatif PG1 met en œuvre un algorithme de reconnaissance de mouvements, cet algorithme étant prédéfini lors de la mise en service du capteur au moyen de paramètres standards.

Toutefois, selon une particularité de l'invention, cet algorithme pourra être adapté ou mis à jour en fonction d'une analyse statistique des données brutes fournies par un ou plusieurs capteurs comme décrit ci-après.

Après chaque itération de l'étape de reconnaissance Ei, l'applicatif PG1 vérifie la fiabilité de cette reconnaissance, en fonction d'au moins un critère de fiabilité, lors d'une première étape de test optionnelle E 2 . A cet effet, l'applicatif PG1 compare la valeur dudit au moins un critère de fiabilité de reconnaissance par rapport à un seuil de référence prédéterminé (condition de fiabilité).

A titre d'exemple illustratif et non limitatif, le critère ou indicateur de fiabilité utilisé est la distance de Hamming. Dans ce cas, la première étape de test E 2 consiste à calculer la distance de Hamming entre le motif de mouvement reconnu à un instant donné et deux motifs voisins précédemment reconnus à l'issue de l'étape de reconnaissance. Si la distance calculée est supérieure à un seuil de référence prédéterminé, la condition de fiabilité est remplie et dans ce cas, le capteur de données continue la reconnaissance Ei en temps réel des mouvements effectués par le sportif, dans son mode de fonctionnement nominal.

Si la distance de Hamming calculée est anormalement faible, c'est-à-dire si celle-ci est trop fréquemment inférieure au seuil de référence prédéterminé, une étape de collecte E 4 des données brutes est initiée automatiquement par le capteur de données 1.

Par exemple, l'étape de collecte des données brutes sera déclenchée à la condition que la distance de Hamming soit inférieure au seuil de référence pour plus de 70% des mouvements détectés lors d'une session d'entraînement.

Dans cet exemple, le taux d'occurrence de cette condition est fixé à 70%. Cette valeur pourra être définie sur la base des données préalablement collectées et de l'analyse de la répartition statistique de la population étudiée (ayant servi à bâtir les algorithmes de reconnaissance de mouvements).

Les informations de reconnaissance obtenues à l'issue de l'étape de reconnaissance Ei sont des données réduites {e.g. revers, vitesse, effet) qui peuvent être transmises à l'application PG3 exécutée par le téléphone portable 3 pour indiquer à l'utilisateur les mouvements reconnus et leurs caractéristiques, au moyen de l'interface homme-machine 37. Contrairement aux données brutes, les informations réduites ne peuvent pas être exploitées afin d'améliorer les algorithmes de reconnaissance de mouvements, car les données réduites sont le résultat de cette reconnaissance.

De manière optionnelle, l'étape de collecte E 4 est initiée en fonction du profil de l'utilisateur (sportif) et/ou de ses performances sportives, à l'issue d'une deuxième étape de test E 3 .

Par exemple, l'étape de collecte E 4 peut être initiée si au moins l'une quelconque des conditions suivantes est respectée :

l'utilisateur appartient à une catégorie de sportifs prédéterminée (e.g. professionnel) ;

la distance de Hamming est trop souvent inférieure à un seuil.

De telles conditions sont vérifiées par l'applicatif PG1 du capteur de données 1 lors de la deuxième étape de test E 3 , en fonction d'informations de profil et/ou de performances de l'utilisateur, tout ou partie de ces informations pouvant être fournies par l'application PG3 exécutée sur le téléphone portable 3.

En fonction du type de sport préalablement sélectionné par l'utilisateur, l'application PG3 présente à celui-ci au moyen de l'interface homme -machine 37 une séquence de mouvements prédéterminée à réaliser pendant l'étape de collecte E 4 des données.

Par exemple, dans le cas du tennis, l'application PG3 fournira à l'utilisateur les instructions pour réaliser l'enchaînement de mouvements suivant : cinq revers, cinq coups droits et trois services. Ainsi, les données collectées peuvent être associées à des mouvements prédéterminés selon la séquence proposée.

Cette séquence comprend une liste L d'identifiants qualifiant le type de mouvements à réaliser. Par exemple, cette liste L est pré-enregistrée dans l'applicatif PG1 du capteur 1. Elle peut être également transmise au capteur par l'application PG3 du téléphone portable 3 dès lors qu'un sport a été sélectionné sur l'application PG3. Ainsi, un identifiant I précisant le type de mouvement à effectuer est associé automatiquement aux données brutes collectées selon la séquence de mouvement présentée à l'utilisateur.

Selon l'exemple illustré à la figure 3, on suppose qu'à un instant donné, un premier identifiant Ii désignant, par exemple, un revers de tennis est associé aux données brutes Dl . l et D 1.2a obtenues auprès des capteurs de données 1.1 et 1.2a suite à l'exécution d'un revers par chacun des deux sportifs. Ces données sont transmises au serveur 5 en association avec le premier identifiant Ii par les téléphones portables 3.1 et 3.2 respectivement. De même, un deuxième identifiant I 2 , désignant, par exemple, un coup droit de tennis est associées aux données brutes D1.2b et Dl .n fournies par les capteurs de données 1.2b et l .n, ces données étant transmises au serveur 5 par les téléphones portables 3.2 et 3.n respectivement.

Ainsi, les données Dl . l et D1.2a associées au premier identifiant Ii et les données D1.2b et Dl .n associées au deuxième identifiant I2 sont stockées dans la base de données 7.

Selon une variante de réalisation, les données brutes collectées sont qualifiées manuellement par l'utilisateur, par exemple, lorsque celui-ci sélectionne dans l'application PG3 un mouvement parmi une liste de mouvements prédéfinie avant d'effectuer ce mouvement, lors de l'étape de collecte E 4 . Cette qualification a pour effet d'associer l'identifiant I du mouvement effectué aux données brutes collectées pendant la réalisation de ce mouvement.

Dans le deuxième mode de réalisation, en l'absence de l'utilisation d'un téléphone portable 3, la séquence de mouvements est présentée au moyen de l'interface homme-machine 17 incluse dans le capteur de données .

Dans tous les cas, la nature du mouvement réalisé par le sportif est qualifiée et associée aux données brutes collectées lors de la réalisation de ce mouvement.

Lors de l'étape de collecte E 4 , ces données sont enregistrées par le capteur de données, par exemple sous la forme d'un fichier local. Dans le présent exemple, le fichier local contient l'ensemble des données mesurées par le gyromètre Mi, l'accéléromètre linéaire local M 2 , l'accéléromètre linéaire universelle M 3 et éventuellement des données de pression et de température obtenues par des capteur de pression et de température pendant l'étape de collecte E 4 .

Les données brutes collectées sont empaquetées lors d'une étape d'empaquetage

Es. L'empaquetage des données consiste à convertir les données mesurées en une structure de données brutes calibrées par rapport à des valeurs de référence et exprimées selon des unités interprétables par exemple par un humain ou par un algorithme de traitement statistique. Dans le présent exemple, les données empaquetées constituent une structure de données brutes comprenant :

des données de vitesse angulaire Di mesurées par le gyromètre Mi et exprimées selon trois axes orthogonaux dans un système de coordonnées lié au capteur de données 1 ;

des données d'accélération locale D 2 mesurées par l'accéléromètre linéaire local M 2 et tenant compte de la gravité et exprimées en m/s 2 selon les trois axes de l'accéléromètre dans le système de coordonnées local lié au capteur de données 1 ; et

des données d'accélération universelle D 3 mesurées par l'accéléromètre linéaire universel M 3 , ne tenant pas compte de la gravité et exprimées en m/s 2 selon les trois axes de l'accéléromètre dans le système de coordonnées universel.

Les données empaquetées peuvent également comprendre : une structure de données spéciales dite « Quaternion » décrivant l'orientation du capteur de données dans l'espace ; et/ou

des données de pression atmosphérique exprimées en Pascal (Pa) ; et/ou des données de température atmosphérique exprimées en degré Celsius (°C). Ces données empaquetées constituent une structure de données comprenant des données inertielles et d'éventuelles données de pression et de température brutes, toutes ces données étant calibrées par rapport à des valeurs de référence pour chacune des grandeurs concernées.

Les données brutes collectées et empaquetées D sont envoyées par le capteur de données 1 au téléphone mobile 3 au moyen d'une communication Bluetooth®, lors d'une première étape de transmission E 7 .

Pour chaque mouvement réalisé lors de l'étape de collecte E 4 , les informations brutes empaquetées D sont envoyées par l'interface de communication 15, ces données étant envoyées en association avec l'identifiant I permettant d'identifier la nature ou le type du mouvement réalisé. Selon l'exemple de la figure 3, les données empaquetées Du associées à l'identifiant Ii fournies par le capteur de données 1.1 sont transmises par le téléphone portable 3.1. au serveur de données 5.

Sur réception, les données Du, Di.2a, Di. n sont stockées sur le téléphone portable 3 avant d'être transférées par celui-ci au serveur 5 via le réseau 9, lors d'une deuxième étape de transmission Es.

Dans le présent exemple de réalisation, l'envoi des données brutes est automatiquement proposé à l'utilisateur sur l'application PG3 exécutée sur son téléphone portable 3. Dans ce cas, l'applicatif PG1 exécuté sur le capteur de données 1 envoie une requête à l'application PG3 du téléphone portable pour demander à l'utilisateur d'accepter l'envoi des données brutes collectées à la base de données distante 7.

Selon une variante de réalisation, l'envoi des données brutes est effectuée sans intervention de l'utilisateur, par exemple de manière aléatoire ou automatiquement dès lors que la condition de fiabilité de la reconnaissance n'est pas remplie.

Le caractère aléatoire est particulièrement avantageux pour accroître la connaissance du parc d'utilisateurs et affiner les algorithmes en conséquence. Par exemple, en supposant que dans une région du monde particulière ou pour une catégorie de personnes donnée les performances de reconnaissance des mouvements soient moins bonnes, l'obtention de données brutes complémentaires est particulièrement avantageuse pour réaliser une campagne de création et/ou de modification d'algorithmes de reconnaissance de mouvements. Le serveur peut contacter une dizaine d'utilisateurs de la catégorie mentionnée pour la campagne par l'intermédiaire de l'application PG3 exécutée sur leur téléphone portable. Dans ce cas, une requête est émise par le serveur à destination de ces téléphones. En réponse à cette requête, l'utilisateur renseigne au moyen de l'application PG3 l'identifiant I permettant d'identifier la nature ou le type du mouvement réalisé, de sorte que celui-ci soit transmis en association avec les données brutes.

Selon une autre variante de réalisation, il est prévu que l'utilisateur souhaitant améliorer la reconnaissance des mouvements effectuée par son capteur de données puisse initier de son propre gré les étapes de collecte E 4 , d'empaquetage Es et d'envoi E 7 des données brutes, à partir de l'application PG3 exécutée sur son téléphone portable 3, sans la mise en œuvre de l'étape de test optionnelle E 2 . Dans ce cas, l'utilisateur renseigne la nature ou le type de mouvement réalisé, de sorte que celui-ci soit transmis en association avec les données brutes.

Dans le deuxième mode de réalisation, en l'absence de téléphone portable, la collecte de données brutes est initiée par l'utilisateur au moyen d'une interface prévue sur le capteur de données, ces données étant ensuite envoyées par le capteur de données 1 ' directement à la base de données distante 7. Dans ce cas, l'applicatif du capteur inclut tout ou partie des fonctionnalités prévues sur l'application PG3 du téléphone portable décrites ci-avant.

Dans tous les cas, les données brutes empaquetées ne sont pas envoyées de manière continue ce qui permet de limiter la quantité de données transmises. Ceci est particulièrement avantageux dans la mesure où les données brutes sont volumineuses.

Par exemple, en utilisant un accéléromètre cadencé à une fréquence d'échantillonnage de 500 Hz, la caractérisation d'un mouvement pendant une durée d'une seconde nécessite plusieurs kilo-octets de données.

Un envoi ponctuel de ces données permet de réduire sensiblement la consommation électrique du capteur de données par rapport au cas où les données brutes seraient envoyées de manière continue. Ainsi l'autonomie énergétique du capteur peut être optimisée.

Par ailleurs, compte-tenu de la prolifération des capteurs de données connectés, il est important de veiller à ne pas encombrer inutilement les réseaux de communication radio-mobiles dont les capacités de transmission sont limitées. A cet égard, l'envoi des données brutes sous conditions est avantageux.

Sur réception des données brutes, le serveur 5 stocke ces données dans la base de données distante 7 lors d'une étape de stockage Eio. Etant donné que ces données brutes sont associées à des mouvements connus selon la séquence de mouvements présentée à l'utilisateur lors de l'étape de collecte E 4 , celles-ci constituent un ensemble de données exploitables pour augmenter la fiabilité de la reconnaissance de mouvements mise en œuvre par différents capteurs de données.

La base de données distante 7 comprend pour chacune de données brutes issues d'un capteur un identifiant du type de mouvement concerné. Par exemple, la base de données peut comprendre plusieurs ensembles de données caractéristiques d'un même type de mouvement pour un sport donné. Selon l'exemple illustré à la figure 3, les données brutes D1.2b et Dl .n issues respectivement des capteurs 1.2b et l .n sont stockées dans la base de données 7 en association à le même identifiant I 2 désignant, par exemple, un revers de tennis.

Le stockage centralisé dans la base de données 7 permet à l'ensemble des capteurs déployés de contribuer à l'enrichissement du contenu de cette base lors de l'étape de collecte E 4 . L'alimentation de cette base de données de manière centralisée par un grand nombre de capteurs permet de constituer un ensemble de données suffisamment complet pour être analysé statistiquement.

L'enrichissement du contenu de la base de données permet notamment de constituer une liste étendue des façons possibles d'effectuer différents mouvements.

L'enrichissement régulier du contenu de cette base par des données brutes issues de différents capteurs est particulièrement avantageux pour améliorer la fiabilité globale de reconnaissance des mouvements mis en œuvre sur un ou plusieurs capteurs.

Le serveur est adapté à mettre en œuvre au moins un algorithme de reconnaissance de mouvement pour chaque sport pratiqué. Pour cela, le serveur est adapté à mettre œuvre au moins les trois modules suivant : un qualificateur d'activité (activity qualifier) destiné à identifier la nature d'un mouvement caractéristique d'une pratique sportive, en détectant les différentes phases d'un mouvement à partir des données brutes mesurées, un flux de données d'activité correspondant étant fourni en sortie du qualificateur d'activité ;

- un classificateur (classifier) pour classer les données d'activité issues du qualificateur ; et

un analyseur pour traiter les données d'activités classées issues du classificateur.

Le qualificateur d'activité fournit au classificateur un flux de données d'activité comprenant des valeurs de qualification dites qualifier values, telles que des valeurs efficace et/ou moyenne de l'accélération et de la vitesse de rotation suivant un ou plusieurs axes, exprimées par exemple dans le système de coordonnées locales au capteur et/ou dans le système de coordonnées du repère terrestre.

Le choix des qualifier values est réalisé en fonction de chaque sport considéré, par exemple, à la suite d'une analyse humaine. Ce choix peut s'effectuer en fonction de tests de type essais/erreur appuyés par des analyses statistiques de corrélation.

Par exemple, dans le cas d'un mouvement réalisé par un boxeur, le qualificateur détecte, à partir des données brutes mesurées, qu'un coup de poing a été effectué par le boxeur et fournit au classificateur des données d'accélération selon l'axe X local (composante γχ) mesurées par l'accéléromètre linéaire local M 2 .

En fonction du sport considéré, d'autres exemples de qualifier values pourront être considérés, tels que l'amplitude du mouvement et/ou des éléments de projection de la trajectoire du mouvement dans un plan de référence.

Par exemple, la trajectoire détectée par le capteur pourra être projetée dans un plan horizontal et les deux dimensions (longueur Ll et largeur L2) d'un rectangle dans lequel s'inscrit la trajectoire projetée seront calculées. Dans ce cas, la longueur Ll et la largeur L2 du rectangle sont considérées comme des qualifier values qui s'avèrent être très utiles pour faire la différence entre un coup de poing direct et un crochet de boxe, par exemple.

D'autres qualifier values pourront également être obtenues en procédant de même, suivant un plan perpendiculaire au plan horizontal. Dans ce cas, le plan principal du mouvement est détecté puis la trajectoire du mouvement est projetée sur ce plan principal.

Selon une variante de réalisation, la trajectoire pourra être temporellement découpée en une pluralité de segments, de sorte que des qualifier values tels que décrits ci-dessus soient calculés sur chacun de ces segments.

Pour assurer une bonne fiabilité de reconnaissance des mouvements, le classifïcateur pourra être adapté en fonction du sport pratiqué. Ce module permet la reconnaissance de formes (pattern récognition) par la mise en œuvre d'algorithmes d'apprentissage artificiel (machine learning), à partir des qualifier values fournies par le qualificateur d'activités. De tels algorithmes se basent, par exemple, sur des arbres décisionnels de type C45, la régression logistique ou les réseaux de neurones. Cette méthode de classification est supervisée, dans le sens où la nature du mouvement est connue au préalable pour réaliser la classification grâce au flux de données d'activité fourni par le classifïcateur.

Un algorithme de régression linéaire peut également être utilisé pour classifier les différents mouvements. L'établissement des règles de classification peut s'effectuer en utilisant des méthodes d'apprentissage par arbre de décision. L'arbre de décision ainsi déterminé permet de classifier les mouvements, c'est-à-dire de les reconnaître en s'appuyant sur une importante base de données de gestes sportifs déjà classifîés.

Le résultat fourni par le classifïcateur est un ensemble de mouvements reconnus auxquels sont associées généralement les données d'accélération et d'attitude du capteur dans le repère terrestre. Ces données sont utilisées par l'analyseur mettant en œuvre des algorithmes spécifiques à chaque sport et à chaque mouvement reconnu par le classifïcateur pour calculer des métriques intéressantes pour l'utilisateur, telles que la vitesse de la raquette juste avant l'impact avec la balle dans le cas du tennis, la hauteur d'un saut dans le cas de l'équitation ou du ski, ou l'accélération au moment de l'impact dans le cas de la boxe. C'est ainsi qu'à la sortie du module analyseur un flux de mouvements ou gestes sportifs est disponible, chaque mouvement étant identifié, daté et caractérisé par des métriques adaptées au sport pratiqué.

Lors d'une étape d'analyse statistique E12, le serveur 5 exécute un traitement statistique de tout ou partie des données brutes contenues dans la base de données 7 pour améliorer des algorithmes de reconnaissance de mouvements. A cet effet, les données brutes sont traitées par le serveur 5 selon des méthodes d'analyse statistique, de manière à fournir à un ou plusieurs capteurs de données:

des paramètres de configuration de l'algorithme mieux adaptés ; ou une version améliorée de l'algorithme.

En fonction de la gestuelle particulière d'un sportif pour un sport donné, la configuration de l'algorithme de reconnaissance de mouvements mis en œuvre par un ou plusieurs capteurs peut être telle que la fiabilité de classification des mouvements n'est pas optimale.

Dans ce cas, les données brutes fournies par le capteur de ce sportif et enregistrées dans la base de données distante lors d'une séance d'entraînement sont exploitées par le serveur de données 5 pour adapter l'algorithme de classification du classifïcateur et par conséquent le classifïcateur mis en œuvre par le serveur.

L'adaptation de ce classifïcateur permet d'améliorer la fiabilité de reconnaissance de l'algorithme suivant l'analyse statistique des données brutes d'un sportif particulier ou d'un groupe de sportifs, l'algorithme de reconnaissance d'un capteur étant issu du classifïcateur mis en œuvre sur le serveur.

Ainsi, l'algorithme de classification peut être adapté ou reconfiguré en fonction de données spécifiques du sportif. Cette adaptation est réalisée selon des méthodes d'analyse statistique connues pour personnaliser l'algorithme de reconnaissance, par exemple de type C4.5.

Les méthodes d'analyse statistique permettent avantageusement la prise en compte d'un nombre très élevé de données individuelles qui ne pourraient pas être traitées manuellement par un être humain. C'est notamment le cas pour l'amélioration de la fiabilité de reconnaissance d'un algorithme générique pour un sport pratiqué par un grand nombre d'utilisateurs.

A titre d'exemple illustratif, les méthodes d'analyse statistiques peuvent exploiter le critère de la distance de Hamming pour reconfigurer ou adapter l'algorithme de classification du module classifïcateur mis en œuvre sur le serveur. Ainsi, l'algorithme de reconnaissance de mouvements est reconfiguré ou adapté, de sorte que la distance de Hamming soit la plus grande possible pour limiter le risque de confondre des mouvements. L'adaptation de l'algorithme de classification du module classificateur en fonction de la distance de Hamming par des méthodes d'analyse statistique constitue un moyen pour déterminer des paramètres de configuration de l'algorithme permettant, par exemple, de maximiser la distance de Hamming pour une reconnaissance optimale des mouvements.

A titre d'exemple, on suppose que dans l'algorithme de reconnaissance de mouvements initialement mis en œuvre sur les capteurs, seulement deux qualificateurs (Qualifiers) sont utilisés et que la distance de Hamming minimale constatée pour l'ensemble de la population de sportifs est égale à 0,25 (distance de Hamming normalisée). Si un sportif particulier (i.e. non inclus dans la population initiale) présente une distance de Hamming égale à 0, il y a lieu d'essayer d'améliorer les conditions de reconnaissance des gestes de ce sportif.

Dans le cadre de la boxe, les inventeurs ont constaté initialement que la distance de Hamming était de 0,25 en considérant les deux Qualifiers suivant : « Variance de l'accélération suivant l'axe local X » et « Variance de la vitesse de rotation autour de l'axe local Z ». Puis en effectuant des tests plus complets avec de nouveaux types de sportifs, cette distance est passée à 0 indiquant une confusion pour la reconnaissance de certains gestes, ceci étant dû à un mouvement plus prononcé de la rotation autour de l'axe local X.

Dans ce cas, la correction ou adaptation de l'algorithme consiste à remplacer les

Qualifiers précédents par la « Variance de l'accélération dans le plan fixe terrestre X,Y » et la « Variance de la vitesse de rotation autour de l'axe fixe terrestre Z », afin de voir augmenter la distance de Hamming normalisée pour l'ensemble des sportifs (en incluant le sportif particulier) à une valeur égale à 0,3. C'est typiquement le genre de situation qui peut se produire pour un nouveau sportif avec une gestuelle très particulière.

Tout ou partie des données brutes stockées dans la base de données distante peuvent être présentées sous forme de nuages de points de mesure sur un diagramme à deux dimensions, selon l'exemple illustré à la figure 5a, où l'axe des abscisses représente la variance de l'accélération moyenne linéaire suivant l'axe local X (Vyx) et l'axe des ordonnées représente la valeur efficace de la vitesse de rotation autour de l'axe Z local (Vooz). Selon cette représentation, un premier nuage de points Gl est centré sur un premier point de référence A de coordonnées (Vyx(A), Vcoz(A)) désignant le centre de gravité relatif à un premier geste, tandis qu'un deuxième nuage de points G2 est centré sur un deuxième point de référence B de coordonnées ((Vyx(B), Vcoz(B)) désignant le centre de gravité relatif à un deuxième geste.

La distance de Hamming constatée pour une population de sportifs testés est illustrée par le vecteur dl. Dans cette représentation, on utilise la distance de Hamming normalisée. Pour exprimer les distances normalisées, on divise les valeurs Vœz selon l'axe des ordonnées par la valeur de l'ordonnée Vcoz(A) du premier point de référence A et on divise les valeurs Vyx selon l'axe des abscisses par la valeur de l'abscisse Vyx(B) du deuxième point de référence B. La normalisation facilite la comparaison de performances de différents algorithmes.

A l'issue de l'analyse E12 des données brutes collectées, l'algorithme de reconnaissance de mouvements utilisé par le(s) capteur(s) de données ayant fourni les données brutes est adapté, de manière à maximiser la distance de Hamming caractérisant la différence de signature de chaque mouvement.

Par exemple, on s'intéresse à la distance de Hamming entre deux types de mouvements détectés caractérisés par deux paramètres, tels que la moyenne de l'accélération et la valeur efficace de la vitesse de rotation autour d'un axe.

Dans cet exemple, la méthode d'analyse statistique mise en œuvre par le serveur 7 comprend:

une étape de partitionnement qui consiste à définir, sur la représentation de la figure 5a, trois zones disjointes SI, S2, S3 selon l'exemple illustré à la figure 5b : une première zone SI correspondant au premier geste, une deuxième zone S2 correspondant au deuxième geste, et une troisième zone S3 intermédiaire située entre les premier et deuxième nuages de points ; - une étape de test qui consiste à vérifier si chacun des points de mesure appartient à l'une des trois zones prédéfinies.

Dans le présent exemple, le partitionnement est défini comme suit :

la première zone SI est définie comme l'intersection de deux droites xl, x2 parallèles à l'axe des ordonnées et deux droites y3, y4 parallèles à l'axe des abscisses ; la deuxième zone S2 est définie comme l'intersection de deux droites x3, x4 parallèles à l'axe des ordonnées et deux droites yl, y2 parallèles à l'axe des abscisses ;

la troisième zone S3 est définie par la surface comprise entre d'une part une première droite NI tangente au premier nuage de points Gl et passant par le point de repère O formée par l'intersection de l'axe des abscisses et de l'axe des ordonnées, et d'autre part une deuxième droite N2 tangente au deuxième nuage de points G2 passant par le point de repère O, ces deux droites formant un angle minimal entre elles.

Dans l'exemple décrit ci-dessus, les paramètres de configuration de l'algorithme de reconnaissance de mouvements sont les suivants :

la variance de l'accélération dans le plan fixe terrestre X, Y (Vyx, y ) et la variance de la vitesse de rotation autour de l'axe Z (Vcoz) étant sélectionnés en tant que qualificateurs (qualifiers ou qualifier values) adaptés, - les paramètres xl, x2, y3, y4 définissant la première zone SI, les paramètres x3, x4, yl, y2 définissant la deuxième zone S2, et les deux droites tangentes NI, N2 définissant la troisième zone S3.

En fonction du positionnement des valeurs mesurées par l'accéléromètre et le gyromètre sur ces zones, on pourra distinguer les mouvements entre eux. Pour des raisons de simplicité, seulement deux qualificateurs (qualifier values) ont été utilisés dans l'exemple ci-dessus. Toutefois, en pratique, on pourra disposer de cinq ou six qualificateurs pour caractériser chacun des mouvements.

Un utilisateur ayant des mouvements dont la reconnaissance conduit trop souvent à des points proches (i.e. distance de Hamming faible, par exemple égale à 0) sera jugé moins fiable qu'une personne produisant des mouvements avec une distance de Hamming élevée. Une distance de Hamming faible constitue un indicateur de fiabilité de reconnaissance réduite.

L'analyse statistique des données brutes collectées conduit à augmenter la distance de Hamming, ce qui a pour effet de rendre plus fiable la reconnaissance de mouvement effectuée par l'algorithme de reconnaissance de mouvements. Les algorithmes d'analyse statistique pourront être alimentés par davantage de qualifier values permettant potentiellement d'augmenter la distance de Hamming pour améliorer encore plus la fiabilité de reconnaissance.

En fonction des résultats de l'analyse statistique effectuée sur les données brutes collectées, on détermine si des améliorations peuvent être apportées à l'algorithme de reconnaissance des mouvements ou au firmware du capteur de données incluant l'algorithme de reconnaissance.

Dans le cas de l'apprentissage supervisé, l'adaptation du classifïcateur au niveau du serveur peut être assistée par un être humain qui définit au préalable les types de mouvement considérés pour l'analyse statistique. Si le mouvement a été classifïé au préalable par l'utilisateur, le module classifïcateur mise en œuvre au niveau du serveur peut fonctionner de façon autonome et le firmware peut être en conséquence modifié ou généré automatiquement. Une intervention humaine est prévue pour vérifier le bon fonctionnement et autoriser la diffusion officielle du firmware modifié ou généré.

Par la suite, on désignera par firmware l'applicatif du capteur de données, cet applicatif contenant un ou plusieurs algorithmes de reconnaissance de mouvements, et d'autres fonctions telles que la gestion de la charge de la batterie, la gestion de l'affichage, de la communication Bluetooth.

On suppose que les données brutes sont issues d'un même capteur de données utilisé par un même sportif pour la reconnaissance de mouvements d'un sport donné. Dans ce cas, l'étape d'analyse statistique permet avantageusement d'extraire des paramètres de configuration destinés à configurer l'applicatif exécuté sur le capteur de données selon les spécificités du capteur et/ou du sportif considéré.

En supposant que les données brutes sont issues d'une pluralité de capteurs de données utilisés par différents sportifs pour la reconnaissance de mouvements d'un sport donné, l'étape d'analyse statistique permet avantageusement d'extraire des paramètres de mise à jour utiles pour faire évoluer l'applicatif déployé sur l'ensemble des capteurs concernés.

Lors d'une étape de mise à jour E 14 , on génère une nouvelle version de firmware destinée à un ou plusieurs capteurs nécessitant une telle mise à jour, en fonction des résultats de l'étape d'analyse statistique E12, cette génération pouvant être mise en œuvre par le serveur, sans ou avec l'intervention d'un être humain notamment pour des besoins de contrôle ou vérification.

A titre d'exemple illustratif, la valeur de la distance de Hamming résultante de la mise en œuvre de l'algorithme de classification du module classifîcateur par le serveur 5 constitue un résultat permettant de décider d'une modification du firmware. Ainsi, une mise à jour peut être réalisée en fonction de la distance de Hamming calculée lors de l'étape d'analyse statistique portant sur tout ou partie des données stockées dans la base de données. En ce sens, la distance de Hamming constitue un paramètre déclenchant potentiellement une mise à jour du firmware.

En cas de modification, le nouveau firmware est envoyé par le serveur 5 au téléphone portable 3 qui le transmet au(x) capteur(s) de données 1 concerné(s) par cette mise à jour. L'installation du nouveau firmware sur le(s) capteur(s) de données peut être pilotée par l'utilisateur au moyen de l'application installée sur son téléphone portable.

La génération et la transmission du nouveau firmware par le serveur et l'exécution de son installation sur le capteur de données constituent l'étape de mise à jour Ei4 de l'applicatif, cet applicatif étant contenu dans ledit firmware.

En fonction des résultats de l'analyse statistique, une mise à jour de l'applicatif exécuté sur le capteur de données n'est pas indispensable pour améliorer la reconnaissance de mouvements.

II est alors suffisant de reconfigurer l'applicatif selon les paramètres de configuration obtenus à l'issue de l'étape d'analyse statistique E 12 . Dans ce cas, les paramètres de configuration sont envoyés par le serveur 5 au capteur de données 1 via le téléphone portable 3. Sur réception de ces paramètres, le capteur de données configure l'applicatif de reconnaissance de mouvements en fonction des paramètres reçus.

L'obtention et l'envoi des paramètres de configuration et l'application de ces paramètres sur l'applicatif du capteur constituent l'étape de configuration E 15 .

Dans un mode de réalisation particulier, le serveur 5 fournit à un ou plusieurs capteurs de données un paramètre de classification du mouvement, ledit paramètre étant déterminé en fonction de paramètres d'analyse, tels que la distance de Hamming.

Dans ce cas, le paramètre de classification du mouvement constitue un paramètre de configuration déterminé en fonction des résultats de l'étape d'analyse statistique E 12 . Naturellement, pour satisfaire des besoins spécifiques, une personne compétente dans le domaine de l'invention pourra appliquer des modifications à l'invention telle que décrite ci-dessus sans sortir du cadre de l'invention. Par exemple, l'algorithme de reconnaissance de mouvements pourra être exécuté par l'application installée sur le téléphone portable plutôt que par l'applicatif du capteur de données.

La présente invention n'est pas limitée aux modes de réalisation spécifiques qui ont été décrits ci-dessus, et les modifications qui se trouvent dans le champ d'application de la présente invention seront évidentes pour une personne versée dans l'art.