FR3137203A1 - SYSTEM AND METHOD OF ASSISTANCE IN PERFORMING PHYSICAL MOVEMENTS - Google Patents

SYSTEM AND METHOD OF ASSISTANCE IN PERFORMING PHYSICAL MOVEMENTS Download PDF

Info

Publication number
FR3137203A1
FR3137203A1 FR2206204A FR2206204A FR3137203A1 FR 3137203 A1 FR3137203 A1 FR 3137203A1 FR 2206204 A FR2206204 A FR 2206204A FR 2206204 A FR2206204 A FR 2206204A FR 3137203 A1 FR3137203 A1 FR 3137203A1
Authority
FR
France
Prior art keywords
sequence
movement
images
characteristic
skeleton
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
FR2206204A
Other languages
French (fr)
Inventor
Ouael MOUELHI
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.)
Ai Bright
Original Assignee
Ai Bright
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 Ai Bright filed Critical Ai Bright
Priority to FR2206204A priority Critical patent/FR3137203A1/en
Priority to PCT/EP2023/067050 priority patent/WO2023247734A1/en
Publication of FR3137203A1 publication Critical patent/FR3137203A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Orthopedics, Nursing, And Contraception (AREA)

Abstract

SYSTEME ET METHODE D’ASSISTANCE A LA REALISATION D’EXERCICES PHYSIQUES L’invention concerne un procédé et un système de détection d’une posture physique et de génération d’une consigne d’aide à la réalisation d’exercices physiques et de correction de posture qui comprend une détection de la posture et la génération de consignes aidant un utilisateur à réaliser un exercice physique. Figure pour l’abrégé : Fig.1SYSTEM AND METHOD FOR ASSISTANCE IN PERFORMING PHYSICAL EXERCISES The invention relates to a method and a system for detecting a physical posture and generating an instruction for assisting in carrying out physical exercises and correcting posture. posture which includes posture detection and the generation of instructions helping a user to perform a physical exercise. Figure for abstract: Fig.1

Description

SYSTEME ET METHODE D’ASSISTANCE A LA REALISATION DE MOUVEMENTS PHYSIQUESSYSTEM AND METHOD OF ASSISTANCE IN PERFORMING PHYSICAL MOVEMENTS Domaine de l’inventionField of the invention

L’invention concerne le domaine des procédés d’assistance à la réalisation de mouvements physiques. Plus particulièrement, l’invention concerne le domaine des procédés comprenant l’utilisation d’une image ou d’une pluralité d’images d’un individu réalisant un exercice physique afin d’analyser la bonne réalisation de celui-ci et d’effectuer un suivi des performances de l’utilisateur.The invention relates to the field of methods of assisting the performance of physical movements. More particularly, the invention relates to the field of methods comprising the use of an image or a plurality of images of an individual performing physical exercise in order to analyze the correct performance thereof and to carry out monitoring of user performance.

État de la techniqueState of the art

Actuellement, il existe un besoin pour assister des personnes souhaitant débuter l’entrainement physique sans pour autant pouvoir faire appel à un entraineur. Il existe également ce besoin pour des sportifs plus confirmés souhaitant avoir un guide lors de séances de sport qu’ils effectuent seuls.Currently, there is a need to assist people wishing to start physical training without being able to call on a trainer. There is also a need for more experienced athletes wishing to have a guide during sports sessions that they carry out alone.

Un problème pour les personnes souhaitant effectuer des exercices seules ou sans la supervision d’un entraineur est qu’elles risquent de ne pas réaliser correctement les exercices physiques qu’elles vont effectuer. Plusieurs problèmes peuvent survenir d’une mauvaise réalisation des exercices physiques. Ce problème se pose identiquement dans le cadre professionnel lorsqu’un individu n’effectue pas correctement une manipulation et qu’il risque de se blesser, par exemple dans le cadre d’un mouvement répétitif.A problem for people wishing to perform exercises alone or without the supervision of a trainer is that they risk not correctly performing the physical exercises they are going to perform. Several problems can arise from poor performance of physical exercises. This problem arises in the same way in the professional context when an individual does not carry out a manipulation correctly and risks injury, for example in the context of a repetitive movement.

Premièrement, il est possible que l’utilisateur effectue un mouvement qui soit très peu, voire pas efficace du tout dans son entrainement physique ou dans l’exercice de son travail. De cette manière, l’utilisateur risque de s’entrainer sans obtenir les résultats escomptés ou de réaliser des tâches en se blessant.First, it is possible that the user performs a movement that is very little, or even not at all, effective in their physical training or in their work. In this way, the user risks training without obtaining the expected results or carrying out tasks while injuring themselves.

Deuxièmement, un utilisateur qui effectue des mouvements incorrects risque de se blesser en effectuant de mauvais mouvements, soit par accident lors d’une répétition du mouvement mal effectuée, soit par répétition sur plusieurs séances d’un mauvais mouvement.Second, a user who performs incorrect movements risks injury by performing incorrect movements, either by accident during a repetition of the incorrectly performed movement, or by repetition over several sessions of a wrong movement.

Il existe des solutions permettant de visualiser ces mouvements, telles que la mise en place d’un miroir ou de marquages, tels que des marquages pour positionner les pieds ou les mains dans certains exercices ou manipulations. Toutefois ces solutions sont encombrantes, peu flexibles et nécessitent des ajustements spécifiques pour chaque personne.There are solutions to visualize these movements, such as setting up a mirror or markings, such as markings to position the feet or hands in certain exercises or manipulations. However, these solutions are bulky, not very flexible and require specific adjustments for each person.

Il existe donc un besoin de fournir à tout individu pratiquant des mouvements dont on connait une référence posturale et de mouvement une aide à la détection de l’exécution d’une mauvaise posture ou d’un mauvais mouvement pouvant affecter la santé dudit individu, voire de le blesser sur le court ou le long terme.There is therefore a need to provide any individual practicing movements for which a postural and movement reference is known with assistance in detecting the execution of a bad posture or a bad movement which could affect the health of said individual, or even to hurt him in the short or long term.

En particulier, il existe un besoin de fournir aux sportifs débutants et plus confirmés un système et une méthode permettant la surveillance de leur activité physique et de leurs mouvements afin de sécuriser et augmenter l’efficacité de leur entrainement.In particular, there is a need to provide beginners and more experienced athletes with a system and a method allowing the monitoring of their physical activity and their movements in order to secure and increase the effectiveness of their training.

Enfin, dans le contexte professionnel, un mouvement répertorié et recommandé pour accomplir une action peut être mal exécuté sans pour autant que l’individu ne s’en rende compte.Finally, in the professional context, a movement listed and recommended to accomplish an action can be poorly executed without the individual realizing it.

Un problème des solutions actuelles est qu’elles ne permettent pas une analyse basée sur l’analyse des images qui prennent en compte la qualité de la réalisation de l’exercice physique.A problem with current solutions is that they do not allow an analysis based on the analysis of images which take into account the quality of the performance of the physical exercise.

L’invention ci-après détaillée permet de pallier les inconvénients précités.The invention detailed below makes it possible to overcome the aforementioned drawbacks.

Selon un aspect, l’invention concerne un procédé de détection d’une posture physique et de génération d’une consigne, qui comprend la suite d’étapes suivantes :

  • Acquisition d’une séquence de premières images d’un premier individu ;
According to one aspect, the invention relates to a method for detecting a physical posture and generating an instruction, which comprises the following series of steps:
  • Acquisition of a sequence of first images of a first individual;

la suite d’étapes comprenant les suivantes mises en œuvre par ordinateur :

  • Traitement des premières images comprenant une extraction automatique d’au moins une zone utile du corps dudit premier individu de chaque première image pour générer une séquence de deuxièmes images de la zone utile ;
  • Identification d’un type de mouvement physique par une première fonction d’apprentissage traitant des deuxièmes images de manière à sélectionner une première classe de mouvements parmi une pluralité de classes des mouvements ;
  • Première génération d’une séquence de premiers squelettes du premier individu par application d’un algorithme de squelettisation à la séquence de deuxièmes images, chaque premier squelette comportant un ensemble de points caractéristiques du squelette de la zone utile ;
  • Extraction de squelettes caractéristiques de la séquence de premiers squelettes par un premier algorithme, les squelettes caractéristiques correspondant à des postures caractéristiques de la première classe de mouvement ;
  • Troisième génération d’un premier indicateur d’erreur de posture par comparaison d’un ensemble postures de référence définies pour les postures caractéristiques respectives et de l’ensemble de postures caractéristiques dudit individu ;
  • Comparaison d’une valeur du premier indicateur d’erreur avec au moins une valeur seuil prédéterminée ;
  • Lorsque la valeur de l’indicateur d’erreur est supérieure ou égale à la valeur seuil, génération automatique d’une première consigne numérique pour afficher une séquence d’images de référence représentative de la première classe de mouvement à une première vitesse inférieure à un seuil de vitesse prédéfini.
the sequence of steps including the following implemented by computer:
  • Processing of the first images comprising automatic extraction of at least one useful area of the body of said first individual from each first image to generate a sequence of second images of the useful area;
  • Identification of a type of physical movement by a first learning function processing second images so as to select a first class of movements from a plurality of classes of movements;
  • First generation of a sequence of first skeletons of the first individual by application of a skeletonization algorithm to the sequence of second images, each first skeleton comprising a set of characteristic points of the skeleton of the useful zone;
  • Extraction of characteristic skeletons from the sequence of first skeletons by a first algorithm, the characteristic skeletons corresponding to characteristic postures of the first movement class;
  • Third generation of a first posture error indicator by comparison of a set of reference postures defined for the respective characteristic postures and the set of characteristic postures of said individual;
  • Comparison of a value of the first error indicator with at least one predetermined threshold value;
  • When the value of the error indicator is greater than or equal to the threshold value, automatic generation of a first digital setpoint to display a sequence of reference images representative of the first class of movement at a first speed less than one predefined speed threshold.

Le procédé selon l’invention permet, par l’acquisition et le traitement d’une pluralité d’images d’un individu, de faire un traitement et une analyse des mouvements réels de celui-ci. Le procédé permet l’identification de l’exercice que l’utilisateur réalise et, par comparaison de postures de l’utilisateur lors dudit exercice avec des postures de références correspondant au même mouvement, de générer un indicateur d’erreur permettant d’évaluer la qualité du mouvement effectué. La méthode permet également de lire une séquence d’images de référence lorsque la valeur de l’indicateur d’erreur est supérieure à un seuil prédéfini.The method according to the invention makes it possible, by acquiring and processing a plurality of images of an individual, to process and analyze their actual movements. The method allows the identification of the exercise that the user is carrying out and, by comparing postures of the user during said exercise with reference postures corresponding to the same movement, to generate an error indicator making it possible to evaluate the quality of the movement performed. The method also makes it possible to read a sequence of reference images when the value of the error indicator is greater than a predefined threshold.

Ainsi, la méthode selon l’invention permet de détecter la qualité de réalisation de l’exercice par l’utilisateur et de l’en informer. De plus, si le mouvement est mal réalisé, la méthode permet de montrer à l’utilisateur une séquence d’images correspondant à la bonne réalisation du mouvement mal effectué afin de lui permettre de se corriger. De ce fait, la méthode selon l’invention permet d’éviter à l’utilisateur d’effectuer un mouvement qui est inefficace dans son entrainement ou qui potentiellement le soumet à un risque de blessure.Thus, the method according to the invention makes it possible to detect the quality of performance of the exercise by the user and to inform them thereof. In addition, if the movement is performed incorrectly, the method makes it possible to show the user a sequence of images corresponding to the correct execution of the incorrectly performed movement in order to allow him to correct himself. As a result, the method according to the invention makes it possible to prevent the user from performing a movement which is ineffective in their training or which potentially subjects them to a risk of injury.

Selon un autre aspect, l’invention concerne un procédé de détection d’une posture physique et de génération d’une consigne, qui comprend la suite d’étapes suivantes :

  • Acquisition d’une séquence de premières images d’un premier individu ;
According to another aspect, the invention relates to a method for detecting a physical posture and generating an instruction, which comprises the following series of steps:
  • Acquisition of a sequence of first images of a first individual;

la suite d’étapes comprenant les suivantes mises en œuvre par ordinateur :

  • Traitement des premières images comprenant une extraction automatique d’au moins une zone utile du corps dudit premier individu de chaque première image pour générer une séquence de deuxièmes images de la zone utile ;
  • Identification d’un type de mouvement physique par une première fonction d’apprentissage traitant des deuxièmes images de manière à sélectionner une première classe de mouvements parmi une pluralité de classes des mouvements ;
  • Première génération d’une séquence de premiers squelettes du premier individu par application d’un algorithme de squelettisation à la séquence de deuxièmes images, chaque premier squelette comportant un ensemble de points caractéristiques du squelette de la zone utile ;
  • Extraction de squelettes caractéristiques de la séquence de premiers squelettes par un premier algorithme, les squelettes caractéristiques correspondant à des postures caractéristiques de la première classe de mouvement ;
  • Troisième génération d’un premier indicateur d’erreur de posture par comparaison d’un ensemble postures de référence définies pour les postures caractéristiques respectives et de l’ensemble de postures caractéristiques dudit individu ;
  • Comparaison d’une valeur du premier indicateur d’erreur avec au moins une valeur seuil prédéterminée ;
  • Lorsque la valeur de l’indicateur d’erreur est supérieure ou égale à la valeur seuil, génération automatique d’une première consigne numérique pour émettre une notification permettant d’accéder à une séquence d’images de référence représentative de la première classe de mouvement à une première vitesse inférieure à un seuil de vitesse prédéfini.
the sequence of steps including the following implemented by computer:
  • Processing of the first images comprising automatic extraction of at least one useful area of the body of said first individual from each first image to generate a sequence of second images of the useful area;
  • Identification of a type of physical movement by a first learning function processing second images so as to select a first class of movements from a plurality of classes of movements;
  • First generation of a sequence of first skeletons of the first individual by application of a skeletonization algorithm to the sequence of second images, each first skeleton comprising a set of characteristic points of the skeleton of the useful zone;
  • Extraction of characteristic skeletons from the sequence of first skeletons by a first algorithm, the characteristic skeletons corresponding to characteristic postures of the first movement class;
  • Third generation of a first posture error indicator by comparison of a set of reference postures defined for the respective characteristic postures and the set of characteristic postures of said individual;
  • Comparison of a value of the first error indicator with at least one predetermined threshold value;
  • When the value of the error indicator is greater than or equal to the threshold value, automatic generation of a first digital instruction to issue a notification allowing access to a sequence of reference images representative of the first movement class at a first speed lower than a predefined speed threshold.

Un intérêt de ce mode de réalisation est de permettre de visualiser les images après une période de temps donnée. Ce mode de réalisation est particulièrement intéressant dans le cadre d’une application de l’invention à la détection de posture dans le contexte professionnel. Dans ce cas, l’utilisateur peut accéder par exemple à la fin de la journée à l’ensemble des séquences pour lesquelles l’indicateur d’erreur a été supérieure à un seuil pour une ou plusieurs classes de mouvements. Ainsi, l’invention permet de rejouer un mouvement à une vitesse plus lente pour aider l’utilisateur à comprendre et à apprendre à corriger un mouvement. Un effet technique est d’éviter les blessures, notamment liées à des mauvaises postures répétées.An advantage of this embodiment is that it allows the images to be viewed after a given period of time. This embodiment is particularly interesting in the context of an application of the invention to posture detection in the professional context. In this case, the user can access, for example, at the end of the day all the sequences for which the error indicator was greater than a threshold for one or more classes of movements. Thus, the invention makes it possible to replay a movement at a slower speed to help the user understand and learn how to correct a movement. A technical effect is to avoid injuries, particularly linked to repeated bad postures.

Dans ce cas d’exemple, les postures ou mouvements de référence peuvent être enregistrées dans une mémoire. Les mouvements et les postures de références peuvent être des séquences vidéo animées ou réelles d’un squelette ou un avatar, respectivement d’une personne permettant de définir des gestes et une marge d’amplitude de ces gestes.In this example case, the reference postures or movements can be recorded in a memory. The reference movements and postures can be animated or real video sequences of a skeleton or an avatar, respectively of a person allowing gestures and a margin of amplitude of these gestures to be defined.

Selon un aspect, le procédé selon l’invention comprend, lorsque la valeur de l’indicateur d’erreur est inférieure à la valeur seuil, une étape de génération d’une deuxième consigne numérique pour informer l’utilisateur d’une instruction de mouvement associée à une consigne de vitesse d’exécution du mouvement par une interface de sortie. Cette disposition permet d’informer l’utilisateur d’effectuer la suite de son mouvement.According to one aspect, the method according to the invention comprises, when the value of the error indicator is lower than the threshold value, a step of generating a second digital instruction to inform the user of a movement instruction associated with a movement execution speed instruction by an output interface. This provision makes it possible to inform the user to carry out the rest of their movement.

Selon un aspect, la troisième génération de l’indicateur d’erreur de posture comprend les étapes suivantes, pour au moins un des squelettes caractéristiques :

  • Mesure d’un écart entre un point du squelette caractéristique et un segment d’un squelette de la posture de référence définie pour la posture caractéristique associée au squelette caractéristique ; et/ou
  • Mesure d’un écart d’un ou plusieurs segments du squelette caractéristique par rapport à un ou plusieurs segments du squelette de la posture de référence ; et/ou
  • Mesure d’un alignement angulaire d’un ou plusieurs segments du squelette caractéristique par rapport à un ou plusieurs segments du squelette d’une des postures de référence et/ou par rapport à un axe horizontal ; et/ou
  • Mesure d’un intervalle de temps séparant les instants d’acquisition des deux squelettes caractéristiques, et comparaison de l’intervalle de temps avec un intervalle de temps de référence caractéristique de la classe de mouvements ; et/ou
  • Mesure de la trajectoire d’un point du squelette et comparaison de la trajectoire avec la trajectoire d’un ou plusieurs points du squelette de la posture de référence déterminée.
According to one aspect, the third generation of the posture error indicator comprises the following steps, for at least one of the characteristic skeletons:
  • Measurement of a difference between a point of the characteristic skeleton and a segment of a skeleton of the reference posture defined for the characteristic posture associated with the characteristic skeleton; and or
  • Measurement of a deviation of one or more segments of the characteristic skeleton in relation to one or more segments of the skeleton of the reference posture; and or
  • Measurement of an angular alignment of one or more segments of the characteristic skeleton in relation to one or more segments of the skeleton of one of the reference postures and/or in relation to a horizontal axis; and or
  • Measurement of a time interval separating the moments of acquisition of the two characteristic skeletons, and comparison of the time interval with a reference time interval characteristic of the class of movements; and or
  • Measurement of the trajectory of a point of the skeleton and comparison of the trajectory with the trajectory of one or more points of the skeleton of the determined reference posture.

Ces dispositions permettent une analyse de la posture de l’utilisateur qui est fine et prend en compte la position de différentes parties du corps de l’utilisateur et sa comparaison avec un squelette de référence.These arrangements allow a detailed analysis of the user's posture and take into account the position of different parts of the user's body and its comparison with a reference skeleton.

Selon un aspect, la suite d’étapes est répétée tant que la valeur de l’indicateur d’erreur est supérieure ou égale à la valeur seuil, la suite d’étape comprenant, lors de sa répétition, l’extraction, dans la première classe de mouvement d’une sous-séquence de la séquence de premiers squelettes, la première consigne numérique étant générée pour afficher la sous-séquence. Cette disposition permet de focaliser l’utilisateur sur une partie du mouvement effectué pour laquelle la réalisation du mouvement n’est pas optimale. De ce fait, l‘utilisateur répète la partie du mouvement à corriger pour s’améliorer.According to one aspect, the sequence of steps is repeated as long as the value of the error indicator is greater than or equal to the threshold value, the sequence of steps comprising, during its repetition, the extraction, in the first movement class of a subsequence of the sequence of first skeletons, the first digital instruction being generated to display the subsequence. This arrangement allows the user to focus on a part of the movement performed for which the execution of the movement is not optimal. As a result, the user repeats the part of the movement to correct to improve.

Selon un aspect, la suite d’étapes comprend la mémorisation de la valeur de l’indicateur d’erreur dans une mémoire, la suite d’étapes comprenant lorsqu’elle est répétée, la comparaison de la valeur de l’indicateur à au moins une valeur de l’indicateur mémorisée dans la mémoire lors d’une répétition de la suite d’étapes et la génération d’une recommandation dépendant de la comparaison. Cette disposition permet de comparer les différentes répétitions du mouvement et d’adapter la recommandation suivant que l’utilisateur progresse ou régresse dans la qualité de réalisation du mouvement.According to one aspect, the sequence of steps comprises storing the value of the error indicator in a memory, the sequence of steps comprising when repeated, comparing the value of the indicator to at least a value of the indicator stored in the memory during a repetition of the sequence of steps and the generation of a recommendation depending on the comparison. This arrangement makes it possible to compare the different repetitions of the movement and to adapt the recommendation depending on whether the user progresses or regresses in the quality of the movement.

Selon un aspect, la première consigne déclenche l’information de l’utilisateur d’une diminution de la vitesse d’exécution de la première séquence cinématique par une interface de sortie. Cette disposition permet d’instruire l’utilisateur de diminuer sa vitesse d’exécution du mouvement pour que celui-ci puisse plus facilement corriger celui-ci et progresser dans son exécution.According to one aspect, the first instruction triggers information to the user of a reduction in the speed of execution of the first kinematic sequence via an output interface. This provision makes it possible to instruct the user to reduce their speed of execution of the movement so that they can more easily correct it and progress in their execution.

Selon un aspect, la première consigne déclenche l’information de l’utilisateur d’une diminution du nombre de répétitions du mouvement à effectuer. Cette disposition permet de diminuer le risque de blessure lorsqu’une dégradation de la qualité d’exécution est détectée.According to one aspect, the first instruction triggers information to the user of a reduction in the number of repetitions of the movement to be performed. This provision helps reduce the risk of injury when a deterioration in the quality of execution is detected.

Selon un aspect, le procédé selon l’invention comprend en temps réel l’affichage, sur un écran, d’un premier indicateur visuel d’erreur représentatif du premier indicateur d’erreur. Cette disposition permet une visualisation par l’utilisateur d’un indicateur qui est représentatif d’une erreur de posture dans son mouvement. De ce fait, l’utilisateur sait quoi corriger dans son mouvement.According to one aspect, the method according to the invention comprises in real time the display, on a screen, of a first visual error indicator representative of the first error indicator. This arrangement allows the user to view an indicator which is representative of a posture error in his movement. As a result, the user knows what to correct in their movement.

Selon un aspect, le procédé comprend la génération du premier indicateur visuel à partir de l’indicateur d’erreur et l’affichage en temps réel, sur un écran, de la première séquence d’images ou de la deuxième séquence d’images superposée à l’indicateur visuel d’erreur. La superposition des images aves l’indicateur d’erreur permet à l’utilisateur de visualiser clairement les zones et parties de son mouvement qui sont à corriger. Cette disposition permet donc d’augmenter l’amélioration du mouvement de l’utilisateur.According to one aspect, the method comprises generating the first visual indicator from the error indicator and displaying in real time, on a screen, the first sequence of images or the second superimposed sequence of images to the visual error indicator. The superposition of images with the error indicator allows the user to clearly visualize the areas and parts of their movement that need to be corrected. This arrangement therefore makes it possible to increase the improvement of the user's movement.

Selon un aspect, l’indicateur d’erreur visuel comprend l’affichage de :

  • Un indicateur cinématique de translation comprenant une première position, un vecteur et une seconde position, la première position étant représentative d’une position d’une zone du corps de l’utilisateur au début du mouvement et la deuxième représentation étant représentative de la position de la même partie du corps de l’utilisateur à la fin du mouvement ; et/ou
  • au moins un des deuxièmes squelettes de la séquence de deuxièmes squelettes ; et/ou
  • un avatar généré à partir de la séquence de premiers squelette et/ou de la séquence de deuxièmes squelettes ; et/ou
  • une indication d’une zone à atteindre matérialisée par un polygone ou une forme.
According to one aspect, the visual error indicator includes the display of:
  • A kinematic translation indicator comprising a first position, a vector and a second position, the first position being representative of a position of a zone of the user's body at the start of the movement and the second representation being representative of the position of the same part of the user's body at the end of the movement; and or
  • at least one of the second skeletons of the sequence of second skeletons; and or
  • an avatar generated from the sequence of first skeletons and/or the sequence of second skeletons; and or
  • an indication of an area to be reached materialized by a polygon or a shape.

Cette disposition permet d’indiquer précisément à l’utilisateur les gestes qu’il doit effectuer dans son mouvement. Elle améliore donc l’apprentissage et la correction du mouvement.This arrangement makes it possible to precisely indicate to the user the gestures they must perform during their movement. It therefore improves learning and correction of movement.

Selon un aspect, le procédé selon l’invention comprend l’identification automatique d’un individu et de chargement d’un profil d’entrainement relatif audit individu, ladite étape d’identification automatique étant réalisée par reconnaissance faciale. Cette disposition permet avantageusement d’associer un profil utilisateur à un utilisateur pour effectuer un suivi sur le temps et les séances de la progression de celui-ci, et de la correction de ses erreurs de posture. La reconnaissance faciale permet de plus d’automatiser l’association.According to one aspect, the method according to the invention comprises the automatic identification of an individual and loading a training profile relating to said individual, said automatic identification step being carried out by facial recognition. This arrangement advantageously makes it possible to associate a user profile with a user to monitor their progress over time and sessions, and the correction of their posture errors. Facial recognition also makes it possible to automate the association.

Selon un aspect, le procédé selon l’invention comprend une étape de comptage du nombre de répétitions de la première séquence cinématique.According to one aspect, the method according to the invention comprises a step of counting the number of repetitions of the first kinematic sequence.

Selon un aspect, le procédé selon l’invention comprend le comptage du nombre de répétitions du mouvement lors desquelles la valeur de l’indicateur d’erreur est inférieure à la valeur seuil. Cette disposition permet de donner un score de réalisation des répétitions du mouvement.According to one aspect, the method according to the invention comprises counting the number of repetitions of the movement during which the value of the error indicator is less than the threshold value. This arrangement makes it possible to give a score for completing the repetitions of the movement.

Selon un aspect, l’invention concerne également un système d’assistance à la réalisation d’exercices physiques caractérisé en ce qu’il comprend :

  • Au moins un dispositif optique configuré pour réaliser l’acquisition d’une pluralité de premières images d’un individu ;
  • Au moins un premier calculateur et une mémoire configurés pour effectuer :
    • Un traitement des premières images comprenant une extraction automatique d’au moins une zone utile du corps dudit premier individu de chaque première image pour générer une séquence de deuxièmes images de la zone utile ;
    • Une identification d’un type de mouvement physique par une première fonction d’apprentissage traitant des deuxièmes images de manière à sélectionner une première classe de mouvements parmi une pluralité de classes des mouvements ;
    • Une première génération d’une séquence de premiers squelettes du premier individu par application d’un algorithme de squelettisation à la séquence de deuxièmes images, chaque premier squelette comportant un ensemble de points caractéristiques du squelette de la zone utile ;
    • Une extraction de squelettes caractéristiques de la séquence de premiers squelettes par un premier algorithme, les squelettes caractéristiques correspondant à des postures caractéristiques de la première classe de mouvement ;
    • Une deuxième génération d’un premier indicateur d’erreur de posture par comparaison d’un ensemble postures de référence définies pour les postures caractéristiques respectives et de l’ensemble de postures caractéristiques dudit individu ;
    • Une comparaison d’une valeur du premier indicateur d’erreur avec au moins une valeur seuil prédéterminée ;
    • Lorsque la valeur de l’indicateur d’erreur est supérieure ou égale à la valeur seuil, une génération automatique d’une première consigne numérique pour afficher une séquence d’images de référence représentative de la première classe de mouvement à une première vitesse inférieure à un seuil de vitesse prédéfini
  • Au moins un afficheur configuré pour lire la séquence de premières images et/ou la séquence de secondes images ; et
  • Au moins un boitier comprenant le dispositif optique.
According to one aspect, the invention also relates to a system for assisting in carrying out physical exercises, characterized in that it comprises:
  • At least one optical device configured to acquire a plurality of first images of an individual;
  • At least a first calculator and a memory configured to perform:
    • Processing of the first images comprising automatic extraction of at least one useful area of the body of said first individual from each first image to generate a sequence of second images of the useful area;
    • An identification of a type of physical movement by a first learning function processing the second images so as to select a first class of movements from a plurality of classes of movements;
    • A first generation of a sequence of first skeletons of the first individual by application of a skeletonization algorithm to the sequence of second images, each first skeleton comprising a set of characteristic points of the skeleton of the useful zone;
    • An extraction of characteristic skeletons from the sequence of first skeletons by a first algorithm, the characteristic skeletons corresponding to characteristic postures of the first movement class;
    • A second generation of a first posture error indicator by comparison of a set of reference postures defined for the respective characteristic postures and the set of characteristic postures of said individual;
    • A comparison of a value of the first error indicator with at least one predetermined threshold value;
    • When the value of the error indicator is greater than or equal to the threshold value, automatic generation of a first digital instruction to display a sequence of reference images representative of the first class of movement at a first speed less than a predefined speed threshold
  • At least one display configured to read the sequence of first images and/or the sequence of second images; And
  • At least one box comprising the optical device.

Brève description des figuresBrief description of the figures

D’autres caractéristiques et avantages de l’invention ressortiront à la lecture de la description détaillée qui suit, en référence aux figures annexées, qui illustrent :Other characteristics and advantages of the invention will emerge on reading the detailed description which follows, with reference to the appended figures, which illustrate:

: une vue d’un logigramme reprenant les étapes de la méthode selon l’invention ; : a view of a flowchart showing the steps of the method according to the invention;

: une vue d’une posture générée d’un utilisateur par la méthode selon l’invention ; : a view of a posture generated by a user by the method according to the invention;

: une illustration de la méthode de calcul d’un indicateur d’erreur selon l’invention ; : an illustration of the method of calculating an error indicator according to the invention;

: une illustration d’un indicateur d’erreur visuel selon l’invention ; : an illustration of a visual error indicator according to the invention;

: une vue d’un système selon un mode de réalisation de l’invention ; et : a view of a system according to one embodiment of the invention; And

: un logigramme illustrant le fonctionnement d’un système selon un mode de réalisation de l’invention. : a flowchart illustrating the operation of a system according to one embodiment of the invention.

Description de l’inventionDescription of the invention

Dans le contexte de l’invention, une fonction d’apprentissage, ou algorithme d’apprentissage automatique est un processus ou un ensemble de procédures qui aide un modèle mathématique à s'adapter aux données en fonction d'un objectif. Un algorithme d’apprentissage spécifie normalement la manière dont le retour d'information est utilisé pour permettre au modèle d'apprendre le mappage approprié de l'entrée à la sortie. Le modèle spécifie la fonction de correspondance et conserve les paramètres tandis que l'algorithme d'apprentissage met à jour les paramètres pour aider le modèle à satisfaire l'objectif.In the context of the invention, a learning function, or machine learning algorithm, is a process or set of procedures that helps a mathematical model adapt to data according to an objective. A learning algorithm normally specifies how feedback is used to enable the model to learn the appropriate mapping from input to output. The model specifies the matching function and maintains the parameters while the learning algorithm updates the parameters to help the model satisfy the objective.

Les algorithmes d’apprentissage peuvent généralement être divisés en grandes catégories telles que l'apprentissage supervisé, l'apprentissage non supervisé et l'apprentissage par renforcement. L'apprentissage supervisé consiste à présenter à un algorithme d'apprentissage automatique des données d'entraînement constituées d'entrées et de sorties étiquetées par des évaluateurs, l'objectif étant d'entraîner l'algorithme d'apprentissage automatique de manière à ce qu'il apprenne une règle générale de correspondance entre les entrées et les sorties. L'apprentissage non supervisé consiste à présenter à l'algorithme d'apprentissage automatique des données non étiquetées, l'objectif étant que l'algorithme d'apprentissage automatique trouve une structure ou des modèles cachés dans les données. L'apprentissage par renforcement implique qu'un algorithme évolue dans un environnement dynamique, guidé uniquement par un renforcement positif ou négatif.Learning algorithms can generally be divided into broad categories such as supervised learning, unsupervised learning, and reinforcement learning. Supervised learning involves presenting a machine learning algorithm with training data consisting of inputs and outputs labeled by evaluators, the objective being to train the machine learning algorithm in such a way that 'it learns a general rule of correspondence between inputs and outputs. Unsupervised learning involves presenting the machine learning algorithm with unlabeled data, the goal being for the machine learning algorithm to find hidden structure or patterns in the data. Reinforcement learning involves an algorithm evolving in a dynamic environment, guided only by positive or negative reinforcement.

Les modèles utilisés par les algorithmes d’apprentissage comprennent les réseaux neuronaux (y compris par apprentissage profond ou « deep learning »), les arbres de décision, les machines à vecteurs de support, les réseaux bayésiens et les algorithmes génétiques.The models used by learning algorithms include neural networks (including deep learning), decision trees, support vector machines, Bayesian networks and genetic algorithms.

Les réseaux neuronaux, également connus sous le nom de réseaux neuronaux artificiels, sont une classe de modèles non linéaires établissant une correspondance entre les entrées et les sorties et composés de couches qui peuvent potentiellement apprendre des représentations utiles pour prédire les sorties. Les réseaux neuronaux sont généralement organisés en couches, composées d'un certain nombre de nœuds interconnectés qui contiennent des fonctions d'activation. Les modèles peuvent être présentés au réseau via une couche d'entrée connectée aux couches cachées, et le traitement peut être effectué via les connexions pondérées des nœuds. La réponse est ensuite fournie par une couche de sortie connectée aux couches cachées.Neural networks, also known as artificial neural networks, are a class of nonlinear models mapping inputs to outputs and composed of layers that can potentially learn representations useful for predicting outputs. Neural networks are typically organized in layers, composed of a number of interconnected nodes that contain activation functions. The models can be presented to the network through an input layer connected to the hidden layers, and processing can be done through the weighted connections of the nodes. The response is then provided by an output layer connected to the hidden layers.

Un perceptron multicouche est une classe de réseaux neuronaux artificiels à action directe. Un perceptron multicouche se compose d'au moins trois couches de nœuds : une couche d'entrée, une couche cachée et une couche de sortie. À l'exception des nœuds d'entrée, chaque nœud est un neurone qui utilise une fonction d'activation non linéaire. Un perceptron multicouche utilise une technique d'apprentissage supervisé appelée rétropropagation pour la formation. Un perceptron multicouche peut distinguer des données qui ne sont pas linéairement séparables.A multilayer perceptron is a class of feed-forward artificial neural networks. A multilayer perceptron consists of at least three layers of nodes: an input layer, a hidden layer, and an output layer. Except for the input nodes, each node is a neuron that uses a nonlinear activation function. A multi-layer perceptron uses a supervised learning technique called backpropagation for training. A multilayer perceptron can distinguish data that is not linearly separable.

Un réseau neuronal convolutif est un réseau neuronal qui est une version régularisée d'un perceptron multicouche. Un réseau neuronal convolutif utilise la convolution à la place de la multiplication matricielle générale dans au moins une couche.A convolutional neural network is a neural network that is a regularized version of a multi-layer perceptron. A convolutional neural network uses convolution instead of general matrix multiplication in at least one layer.

Un réseau neuronal récurrent est un réseau neuronal où les connexions entre les nœuds forment un graphe dirigé le long d'une séquence temporelle. Cela lui permet de présenter un comportement dynamique temporel. Chaque nœud d'une couche donnée est relié par une connexion dirigée (unidirectionnelle) à chaque autre nœud de la couche suivante. Chaque nœud (neurone) a une activation à valeur réelle variant dans le temps. Chaque connexion (synapse) a un poids réel modifiable. Les nœuds sont soit des nœuds d'entrée (recevant des données de l'extérieur du réseau), soit des nœuds de sortie (produisant des résultats), soit des nœuds cachés (qui modifient les données en cours de route entre l'entrée et la sortie).A recurrent neural network is a neural network where the connections between nodes form a directed graph along a temporal sequence. This allows it to exhibit dynamic temporal behavior. Each node in a given layer is connected by a directed (unidirectional) connection to every other node in the next layer. Each node (neuron) has a time-varying real-valued activation. Each connection (synapse) has a real modifiable weight. Nodes are either input nodes (receiving data from outside the network), output nodes (producing results), or hidden nodes (which modify data along the way between input and the exit).

Dans la description suivante, chaque fonction apprenante mentionnée fait référence à une fonction déterminée par un algorithme d’apprentissage.In the following description, each learning function mentioned refers to a function determined by a learning algorithm.

La est un logigramme représentant les étapes de la méthode selon l’invention.There is a flowchart representing the steps of the method according to the invention.

Une première étape de la méthode comprend une acquisition ACQU1 d’une pluralité de premières images IM1 d’un premier individu. La pluralité de premières images représente une séquence de premières images IM1 du premier individu. La séquence de premières images comporte la pluralité de premières images IM1. Les premières images sont acquises successivement afin de représenter l’individu tout au long d’un mouvement qu’il effectue. La pluralité de premières images IM1 correspondant à l’individu en train de réaliser un mouvement ou un exercice physique ou un geste caractéristique d’une manipulation d’un objet dans le monde professionnel. La pluralité de premières images peut comporter un champ de vue dans lequel est présent l’utilisateur, mais dans lequel peuvent aussi être présents d’autres éléments, tels que du mobilier, d’autres personnes, des animaux domestiques.A first step of the method comprises an acquisition ACQU1 of a plurality of first images IM1 of a first individual. The plurality of first images represents a sequence of first images IM1 of the first individual. The sequence of first images comprises the plurality of first images IM1. The first images are acquired successively in order to represent the individual throughout a movement he is performing. The plurality of first images IM1 corresponding to the individual performing a movement or a physical exercise or a gesture characteristic of handling an object in the professional world. The plurality of first images may include a field of view in which the user is present, but in which other elements may also be present, such as furniture, other people, domestic animals.

Les étapes suivantes de la méthode sont mises en œuvre par ordinateur.The following steps of the method are implemented by computer.

La méthode comporte ensuite une étape de traitement TRAI1 des premières images IM1 de la séquence de premières images. Cette étape de traitement comprend une extraction automatique d’une zone utile du corps du premier individu. Par zone utile du corps du premier individu, on entend une extraction de la zone dans laquelle se situe le premier individu. Cette extraction permet d’isoler les zones du champ de l’image occupées par le premier individu des autres éléments qui peuvent apparaître dans chaque image de la pluralité de premières images IM1. De cette manière, les étapes suivantes du procédé pourront être effectuées sur un champ qui ne comprend pas d’autres éléments qui pourraient perturber une analyse de l’image. De tels éléments peuvent être d’autres individus, du mobilier se trouvant dans la pièce dans laquelle le premier individu effectue son exercice ou un geste caractéristique d’une manipulation d’un objet, des animaux de compagnie, ou autre. L’extraction de la zone utile sur chaque image de la séquence de premières images IM1 permet de générer une séquence de secondes images IM2. Selon un mode de réalisation, l’extraction de la zone utile est réalisée par analyse de l’image pour extraire un squelette de l’individu. Un cadrage est ensuite réalisé autour du squelette de l’individu par apposition d’un cadre rectangulaire circonscrit audit squelette. Une fois le cadre rectangulaire défini, l’algorithme suit les mouvements et les changements de position et d’orientation de l’utilisateur afin de mettre à jour la position et la taille dudit cadre rectangulaire à chaque image de la pluralité de premières images IM1. Avantageusement, cette méthode permet de toujours centrer l’utilisateur dans chaque image de la pluralité de secondes images IM2. Selon un exemple, on utilise un algorithme appelé « HOURGLASS » et/ou un algorithme appelé « MlKit » pour effectuer l’extraction de squelette. Selon un mode de réalisation, l’algorithme de squelettisation pour l’extraction de la zone utile effectue une squelettisation comportant 17 points sur ledit squelette généré. Une telle génération d’un squelette en 17 points est avantageusement rapide et peu couteuse en ressources informatiques pour le calcul.The method then includes a processing step TRAI1 of the first images IM1 of the sequence of first images. This processing step includes automatic extraction of a useful area of the body of the first individual. By useful area of the body of the first individual, we mean an extraction of the area in which the first individual is located. This extraction makes it possible to isolate the areas of the image field occupied by the first individual from the other elements which may appear in each image of the plurality of first images IM1. In this way, the following steps of the process can be carried out on a field which does not include other elements which could disrupt an analysis of the image. Such elements may be other individuals, furniture located in the room in which the first individual is exercising or a gesture characteristic of handling an object, pets, or other. Extracting the useful area on each image of the sequence of first images IM1 makes it possible to generate a sequence of second images IM2. According to one embodiment, the extraction of the useful area is carried out by analysis of the image to extract a skeleton of the individual. A framing is then made around the skeleton of the individual by affixing a rectangular frame circumscribed to said skeleton. Once the rectangular frame is defined, the algorithm follows the movements and changes in position and orientation of the user in order to update the position and size of said rectangular frame at each image of the plurality of first images IM1. Advantageously, this method makes it possible to always center the user in each image of the plurality of second images IM2. According to one example, an algorithm called “HOURGLASS” and/or an algorithm called “MlKit” is used to perform skeleton extraction. According to one embodiment, the skeletonization algorithm for extracting the useful area performs a skeletonization comprising 17 points on said generated skeleton. Such generation of a 17-point skeleton is advantageously fast and inexpensive in computing resources for the calculation.

La méthode comporte ensuite une étape d’identification d’un type de mouvement physique mettant en œuvre une première fonction d’apprentissage CCN1. La première fonction d’apprentissage CCN1 reçoit en entrée les secondes images IM2. La fonction d’apprentissage attribue une première classe C1 de mouvement à la séquence de deuxièmes images IM2. La première classe de mouvement C1 appartient à une pluralité de classe de mouvement Ci. La pluralité de classes de mouvement Ci correspond à l’ensemble des mouvements pris en compte par la méthode selon l’invention. Cette étape de la méthode permet de déterminer le type d’exercice qui est effectué à partir de la pluralité d’images acquises. Alternativement, il peut s’agir d’un type de geste de manipulation.The method then includes a step of identifying a type of physical movement implementing a first learning function CCN1. The first learning function CCN1 receives the second images IM2 as input. The learning function assigns a first movement class C1 to the sequence of second images IM2. The first movement class C1 belongs to a plurality of movement classes Ci. The plurality of movement classes Ci corresponds to all of the movements taken into account by the method according to the invention. This step of the method makes it possible to determine the type of exercise which is carried out from the plurality of images acquired. Alternatively, it may be a type of manipulative gesture.

La méthode comporte ensuite une étape de première génération GEN1 d’au moins un premier squelette SQ1 de l’individu. Préférentiellement, cette étape comprend la génération d’une séquence de premiers squelettes SQ1. Cette génération du premier squelette SQ1 est effectuée à partir d’un algorithme de squelettisation à partir de la séquence de deuxièmes images IM2. En d’autres termes, l’algorithme de squelettisation traite la séquence de deuxièmes images IM2 afin d’extraire la séquence de premiers squelettes SQ1 de l’individu. Le premier squelette SQ1 comporte un ensemble de points caractéristiques du corps de l’individu apparaissant sur la séquence de deuxièmes images IM2. Par points caractéristiques, on entend des points qui correspondent à des zones spécifiques prédéterminées de l’anatomie de l’individu. Par exemple, le premier squelette SQ1 peut comprendre des points qui correspondent à des articulations de l’individu, tels des genoux, des coudes, des épaules. Il peut également comprendre des points correspondant par exemple au centre de gravité de l’individu, c’est-à-dire au niveau du nombril de celui-ci.The method then comprises a first generation step GEN1 of at least one first skeleton SQ1 of the individual. Preferably, this step comprises the generation of a sequence of first skeletons SQ 1 . This generation of the first skeleton SQ1 is carried out using a skeletonization algorithm from the sequence of second images IM2. In other words, the skeletonization algorithm processes the sequence of second images IM2 in order to extract the sequence of first skeletons SQ1 of the individual. The first skeleton SQ1 comprises a set of characteristic points of the body of the individual appearing on the sequence of second images IM2. By characteristic points, we mean points which correspond to specific predetermined areas of the anatomy of the individual. For example, the first skeleton SQ1 may include points which correspond to joints of the individual, such as knees, elbows, shoulders. It can also include points corresponding for example to the center of gravity of the individual, that is to say at the level of the navel of the latter.

Selon un mode de réalisation, l’algorithme de squelettisation comprend un modèle cinématique renvoyant le premier squelette SQ1 en deux dimensions ou en trois dimensions. Selon un mode de réalisation, l’algorithme de squelettisation utilise un modèle planaire. Le modèle planaire permet de délimiter les contours d’une zone du corps de l’utilisateur. Selon un mode de réalisation, l’algorithme de squelettisation utilise un modèle volumétrique dans lequel qui fournit un squelette sous forme de formes géométriques représentant les parties du corps de l’utilisateur. Selon un mode de réalisation, on utilise un algorithme appelé « HOURGLASS » et/ou un algorithme appelé « MlKit » pour effectuer l’extraction de squelette. Selon un mode de réalisation, un algorithme appelé « Pixie » et/ou un algorithme appelé « OpenPose » peut être utilisé.According to one embodiment, the skeletonization algorithm comprises a kinematic model returning the first skeleton SQ1 in two dimensions or in three dimensions. According to one embodiment, the skeletonization algorithm uses a planar model. The planar model makes it possible to delimit the contours of an area of the user's body. According to one embodiment, the skeletonization algorithm uses a volumetric model in which which provides a skeleton in the form of geometric shapes representing the parts of the user's body. According to one embodiment, an algorithm called “HOURGLASS” and/or an algorithm called “MlKit” is used to perform skeleton extraction. According to one embodiment, an algorithm called “Pixie” and/or an algorithm called “OpenPose” can be used.

Selon un mode de réalisation, lors de l’étape de première génération d’un squelette SQ1, l’algorithme de squelettisation effectue une squelettisation effectue une squelettisation comportant 33 points sur ledit squelette généré. Une telle génération d’un squelette en 33 points est avantageusement rapide et peu couteuse en ressources informatiques pour le calcul. Elle permet de plus d’avoir une précision et une définition du squelette suffisante.According to one embodiment, during the first generation step of a skeleton SQ 1 , the skeletonization algorithm carries out a skeletonization carrying out a skeletonization comprising 33 points on said generated skeleton. Such generation of a 33-point skeleton is advantageously fast and inexpensive in computing resources for the calculation. It also allows for sufficient precision and definition of the skeleton.

La méthode comporte ensuite une étape de deuxième génération GEN2 d’un ensemble de postures caractéristiques POS1 de la première classe de mouvement C1. Cette génération GEN2 est effectuée par deuxième algorithme ALG2 à partir du premier squelette SQ1 de l’individu. Cette génération permet d’obtenir l’ensemble de postures caractéristiques POS1 qui est caractéristique de la première classe de mouvement C1. En d’autres termes, la méthode sélectionne des postures importantes dans l’exécution du mouvement physique par l’individu à partir du premier squelette SQ1 au cours dudit mouvement.The method then includes a second generation step GEN2 of a set of characteristic postures POS1 of the first movement class C1. This GEN2 generation is carried out by a second ALG2 algorithm from the first SQ1 skeleton of the individual. This generation makes it possible to obtain the set of characteristic postures POS1 which is characteristic of the first movement class C1. In other words, the method selects important postures in the execution of the physical movement by the individual from the first skeleton SQ1 during said movement.

La méthode comporte ensuite une étape d’extraction de squelettes caractéristiques SQR. Les squelettes caractéristiques SQRsont caractéristiques de la classe de mouvement C1 qui a été sélectionnée. Ces squelettes caractéristiques SQRcorrespondent à des postures caractéristiques POS1 de la classe de mouvement C1. Ces postures caractéristiques prennent en compte des points intéressants du mouvement tels que des sommets de trajectoires de points du corps lors de la répétition du mouvement. L’extraction est effectuée par un premier algorithme ALG1. Le premier algorithme prend en compte la trajectoire des points des premiers squelettes SQ1pour trouver la posture correspondant à un sommet ou une vallée dans la trajectoire dudit point du squelette au long de la séquence de premiers squelettes.The method then includes a step of extracting characteristic skeletons SQ R. The characteristic skeletons SQ R are characteristic of the C1 movement class which has been selected. These characteristic skeletons SQ R correspond to characteristic postures POS1 of movement class C1. These characteristic postures take into account interesting points of the movement such as peaks of body point trajectories during the repetition of the movement. The extraction is carried out by a first ALG1 algorithm. The first algorithm takes into account the trajectory of the points of the first skeletons SQ 1 to find the posture corresponding to a vertex or a valley in the trajectory of said point of the skeleton along the sequence of first skeletons.

La méthode comporte ensuite une étape de deuxième génération GEN2 d’un premier indicateur d’erreur ERR1 de postures. Cette deuxième génération GEN2 est effectuée par la comparaison des postures caractéristiques POS1 des squelettes caractéristiques SQRavec des postures de références POS1R. Les postures de référence POS1R sont des postures de référence correspondant à au mouvement type correspondant à la classe mouvement C1 sélectionnée. Ainsi, on compare des postures de référence avec celles de l’individu pour générer le premier indicateur d’erreur ERR1. Ainsi, le premier indicateur d’erreur ERR1 est représentatif d’un écart de l’ensemble des postures générées de l’individu par rapport à l’ensemble des postures de références POS1R. Dans un premier cas, les postures de références correspondent par exemple à des postures de mouvements d’une classe de mouvement se rapportant à un exercice physique. Selon différents exemples, la classe de mouvement peut comprendre de manière non restrictive : une classe des pompes, une classe des squats, une classe d’abdominaux, une classe de traction, etc.The method then includes a second generation step GEN2 of a first posture error indicator ERR1. This second generation GEN2 is carried out by comparing the characteristic postures POS1 of the characteristic skeletons SQ R with reference postures POS1R. The POS1R reference postures are reference postures corresponding to the typical movement corresponding to the selected C1 movement class. Thus, reference postures are compared with those of the individual to generate the first error indicator ERR1. Thus, the first error indicator ERR1 is representative of a deviation of all of the generated postures of the individual compared to all of the reference postures POS1R. In a first case, the reference postures correspond for example to movement postures of a movement class relating to a physical exercise. According to different examples, the movement class can include in a non-restrictive manner: a push-up class, a squat class, an abdominal class, a pull-up class, etc.

Dans un second cas, les postures de références correspondent par exemple à des postures de mouvements d’une classe de mouvement se rapportant à un geste donné caractérisant une action dans un contexte professionnel. Selon différents exemples, la classe de mouvement peut comprendre de manière non restrictive : une classe d’actionnement d’une machine-outil donnée, une classe de chargement ou déchargement d’un colis ou d’une charge, une classe de mouvement d’une action réalisée sur une ligne de production industrielle visant à trier des éléments ou à apposer une étiquette, etc.In a second case, the reference postures correspond for example to movement postures of a movement class relating to a given gesture characterizing an action in a professional context. According to different examples, the movement class can include in a non-restrictive manner: a class of actuation of a given machine tool, a class of loading or unloading of a package or a load, a class of movement of an action carried out on an industrial production line aimed at sorting elements or affixing a label, etc.

La méthode comporte ensuite une étape de comparaison COMP1 d’une valeur du premier indicateur d’erreur ERR1 avec au moins une valeur seuil. Cette étape permet de déterminer si l’écart entre les postures de l’utilisateur et les postures de référence est significatif ou non. De ce fait, par cette comparaison avec la au moins une valeur seuil, on détermine si l’utilisateur fait l’exercice avec une déviation dans ses postures qui est problématique ou si cette déviation est suffisamment faible pour que l’exercice soit considéré comme étant bien exécuté.The method then includes a step of comparing COMP1 of a value of the first error indicator ERR1 with at least one threshold value. This step makes it possible to determine whether the difference between the user's postures and the reference postures is significant or not. Therefore, by this comparison with the at least one threshold value, it is determined whether the user is doing the exercise with a deviation in his postures which is problematic or whether this deviation is sufficiently low for the exercise to be considered to be well executed.

La méthode comporte ensuite, lorsque la valeur de l’indicateur d’erreur ERR1 est supérieure ou égale à une valeur seuil Vs, une étape de génération automatique GEN3 d’une première consigne numérique. Cette première consigne numérique déclenche l’affichage d’une séquence d’images de référence, par un afficheur. Cette pluralité d’images de référence correspond aux images de l’exercice réalisé correctement. La séquence d’images est préférentiellement affichée à une vitesse inférieure à un seuil prédéfini. Selon un mode de réalisation, le seuil prédéfini est une vitesse de diffusion des images qui est de 50% de la vitesse normale. Selon un mode de réalisation, la séquence d’images de référence est superposée à un affichage de la séquence de premières images IM1 ou de la séquence de deuxièmes images IM2.The method then comprises, when the value of the error indicator ERR1 is greater than or equal to a threshold value Vs, a step of automatic generation GEN3 of a first digital setpoint. This first digital instruction triggers the display of a sequence of reference images, by a display. This plurality of reference images corresponds to the images of the exercise performed correctly. The sequence of images is preferably displayed at a speed lower than a predefined threshold. According to one embodiment, the predefined threshold is an image broadcast speed which is 50% of the normal speed. According to one embodiment, the sequence of reference images is superimposed on a display of the sequence of first images IM1 or the sequence of second images IM2.

Ainsi, le procédé selon l’invention permet l’analyse des mouvements effectués par l’utilisateur ainsi que la comparaison de ceux-ci avec des postures de référence. Il permet de détecter automatiquement le type d’exercice qui est effectué par l’utilisateur lors de l’étape d’identification ID1. Il permet également de déterminer si le mouvement est correctement effectué ou non. Enfin, il permet en affichant à faible vitesse la séquence cinématique contenant le mouvement correctement effectué, de guider l’utilisateur vers une bonne réalisation dudit mouvement. De ce fait, le procédé selon l’invention permet un contrôle et un accompagnement de l’utilisateur dans la réalisation d’exercices physiques. Ce contrôle permet de limiter le risque de blessure pour l’utilisateur en cas de mauvaise réalisation du mouvement. Le procédé permet également une amélioration de l’efficacité de l’entrainement en guidant l’utilisateur vers la réalisation de mouvements corrects et efficaces. Le procédé selon l’invention permet une progression de l’utilisateur dans la réalisation de mouvements physique. Enfin, il permet une supervision automatique de l’utilisateur dans la réalisation du mouvement physique sans avoir recours à la présence d’un entraineur guidant l’utilisateur.Thus, the method according to the invention allows the analysis of the movements carried out by the user as well as the comparison of these with reference postures. It makes it possible to automatically detect the type of exercise that is carried out by the user during the ID1 identification step. It also helps determine whether the movement is performed correctly or not. Finally, by displaying at low speed the kinematic sequence containing the correctly performed movement, it allows the user to be guided towards correctly carrying out said movement. As a result, the method according to the invention allows control and support of the user in carrying out physical exercises. This control limits the risk of injury to the user in the event of incorrect execution of the movement. The method also allows an improvement in the effectiveness of training by guiding the user towards the realization of correct and efficient movements. The method according to the invention allows the user to progress in carrying out physical movements. Finally, it allows automatic supervision of the user in carrying out the physical movement without resorting to the presence of a trainer guiding the user.

Selon un mode de réalisation, la première fonction d’apprentissage est déterminée par entrainement par un algorithme d’apprentissage. L’entrainement de la première fonction d’apprentissage est avantageusement réalisé à partir d’une pluralité de séquences d’images d’entraînement réalisant des exercices physiques mémorisées dans une base de sorte que la fonction associe chaque séquence d’image d’entraînement à un type d’exercice ou de mouvement physique réalisé est associé à la séquence d’images d’entraînement dans la base. Un tel entrainement est similaire à un entrainement supervisé.According to one embodiment, the first learning function is determined by training by a learning algorithm. The training of the first learning function is advantageously carried out from a plurality of training image sequences carrying out physical exercises stored in a base so that the function associates each training image sequence with a type of exercise or physical movement performed is associated with the sequence of training images in the base. Such training is similar to supervised training.

Évaluation de la qualité du mouvement effectuéAssessment of the quality of the movement performed

Selon un mode de réalisation, le procédé selon l’invention comporte, lorsque la valeur de l’indicateur d’erreur ERR1 est inférieure à la valeur seuil Vs, une étape de quatrième génération GEN4 d’une deuxième consigne numérique. La deuxième consigne numérique est transmise à un afficheur. La deuxième consigne numérique comprend une instruction de mouvement et une instruction de vitesse d’exécution du mouvement de sorte que la deuxième consigne déclenche l’affichage, par l’afficheur, de l’instruction de mouvement et de la consigne de vitesse d’exécution du mouvement. Selon un mode de réalisation, la consigne de vitesse d’exécution du mouvement est un affichage de la séquence d’images de référence à une vitesse prédéterminée. Selon un mode de réalisation, la consigne de vitesse d’exécution comprend la diffusion par un système de diffusion de son de messages audio rythmant les différentes phases de la classe de mouvement C1. Selon un mode de réalisation, la consigne de vitesse d’exécution comprend l’affichage par l’afficheur de messages rythmant les différentes phases de la classe de mouvement C1. Ainsi, la deuxième consigne numérique est générée lorsque le mouvement est bien effectué. L’instruction de mouvement correspond à la suite de l’exercice physique à effectuer par l’utilisateur. De cette manière, lorsque le mouvement est correctement effectué par l’utilisateur, ce dernier est invité à réaliser la suite de son exercice à une vitesse d’exécution qui est spécifiée par le système.According to one embodiment, the method according to the invention comprises, when the value of the error indicator ERR1 is lower than the threshold value Vs, a fourth generation step GEN4 of a second digital setpoint. The second digital instruction is transmitted to a display. The second digital instruction includes a movement instruction and a movement execution speed instruction so that the second instruction triggers the display, by the display, of the movement instruction and the execution speed instruction movement. According to one embodiment, the movement execution speed setpoint is a display of the sequence of reference images at a predetermined speed. According to one embodiment, the execution speed instruction includes the broadcast by a sound broadcast system of audio messages punctuating the different phases of movement class C1. According to one embodiment, the execution speed instruction includes the display by the display of messages punctuating the different phases of movement class C1. Thus, the second digital instruction is generated when the movement is carried out correctly. The movement instruction corresponds to the rest of the physical exercise to be performed by the user. In this way, when the movement is correctly performed by the user, the latter is invited to carry out the rest of his exercise at an execution speed which is specified by the system.

Selon un mode de réalisation, la consigne de vitesse d’exécution dépend de la valeur de l’indicateur d’erreur ERR1. Ainsi, on peut de cette manière avoir une vitesse d’exécution qui est adaptée à la qualité du mouvement effectué par l’utilisateur. Par exemple, lorsque la valeur de l’indicateur d’erreur ERR1 est inférieure à la valeur seuil Vs, le procédé selon l’invention peut comprendre la comparaison de la valeur de l’indicateur d’erreur ERR1 à une deuxième valeur seuil VS2inférieure à la valeur seuil Vs et définie pour la première classe de mouvement C1. Avantageusement, la seconde valeur seuil VS2correspond à une exécution optimale du mouvement de la première classe de mouvement C1 effectué. De cette manière, lorsque le mouvement est effectué suffisamment correctement par l’utilisateur pour que celui-ci n'ait pas à recommencer ledit mouvement depuis le début pour l’apprendre (ce qui correspond à une valeur de l’indicateur d’erreur ERR1 supérieure à la valeur seuil Vs), la qualité du mouvement est tout de même évaluée en mesurant la proximité de la valeur de l’indicateur d’erreur ERR1 avec la seconde valeur seuil VS2. En d’autres termes, lorsque la valeur de l’indicateur d’erreur ERR1 est comprise entre la première valeur seuil Vs et la deuxième valeur seuil Vs2 on peut dire que l’erreur constatée est mineure. Ainsi, la seconde consigne numérique est générée et l’affichage de l’instruction de mouvement est donnée.According to one embodiment, the execution speed setpoint depends on the value of the error indicator ERR1. Thus, we can in this way have a speed of execution which is adapted to the quality of the movement carried out by the user. For example, when the value of the error indicator ERR1 is less than the threshold value Vs, the method according to the invention may comprise comparing the value of the error indicator ERR1 to a second threshold value V S2 lower than the threshold value Vs and defined for the first movement class C1. Advantageously, the second threshold value V S2 corresponds to optimal execution of the movement of the first movement class C1 carried out. In this way, when the movement is performed sufficiently correctly by the user so that he does not have to start said movement from the beginning to learn it (which corresponds to a value of the error indicator ERR1 greater than the threshold value Vs), the quality of the movement is still evaluated by measuring the proximity of the value of the error indicator ERR1 to the second threshold value V S2 . In other words, when the value of the error indicator ERR1 is between the first threshold value Vs and the second threshold value Vs2 we can say that the error observed is minor. Thus, the second digital instruction is generated and the display of the movement instruction is given.

Génération de l’indicateur d’erreurGenerating the error indicator

Selon un mode de réalisation, l’indicateur d’erreur de postures est généré à partir de la mesure d’un écart d’un ou plusieurs segments SEG1du squelette caractéristique SQRpar rapport à un ou plusieurs segments SEGR1du squelette de la posture de référence POS1R. Chaque segment est obtenu en liant des points caractéristiques du squelette considéré. Ainsi, selon un exemple, tel que représenté en , un premier segment SEG1du premier squelette caractéristique SQRcorrespond au fémur droit de l’utilisateur (sur la gauche de la figure). Le premier segment SEGR1correspondant sur le squelette de la posture de référence POS1R est également le segment représentant le fémur droit de ce squelette (sur la droite de la figure). Selon ce mode de réalisation, un écart est mesuré entre le premier segment SEG1du squelette de référence et le premier segment SEGR1. Cet écart est présenté sur la , qui représente les deux segments superposés et grossis par rapport à la . La superposition des segments est obtenue en plaçant les deux squelettes dans un référentiel en utilisant des points de références desdits squelettes. Par exemple, on utilise un point représentant le pied droit du squelette comme référentiel pour les deux squelettes. Cet écart correspond par exemple à une distance minimale séparant les deux segments lorsque les squelettes SQ1et SQRsont superposés. Ce type de détermination de l’indicateur d’erreur est particulièrement avantageux car il permet de détecter un écart entre une « bonne posture » et la posture de l’utilisateur lors d’un mouvement physique en se focalisant sur une ou deux zones d’intérêt pour celui-ci. Selon un mode de réalisation, l’indicateur d’erreur comprend la mesure de l’écart entre plusieurs segments du squelette SQRet du squelette de la posture de référence POS1R.According to one embodiment, the posture error indicator is generated from the measurement of a deviation of one or more segments SEG 1 of the characteristic skeleton SQ R relative to one or more segments SEG R1 of the skeleton of the reference posture POS1R. Each segment is obtained by linking characteristic points of the skeleton considered. Thus, according to an example, as represented in , a first segment SEG 1 of the first characteristic skeleton SQ R corresponds to the right femur of the user (on the left of the figure). The first corresponding SEG R1 segment on the skeleton of the reference posture POS1R is also the segment representing the right femur of this skeleton (on the right of the figure). According to this embodiment, a difference is measured between the first segment SEG 1 of the reference skeleton and the first segment SEG R1 . This difference is presented on the , which represents the two segments superimposed and magnified in relation to the . The superposition of the segments is obtained by placing the two skeletons in a frame of reference using reference points of said skeletons. For example, we use a point representing the right foot of the skeleton as a reference for the two skeletons. This difference corresponds for example to a minimum distance separating the two segments when the skeletons SQ 1 and SQ R are superimposed. This type of determination of the error indicator is particularly advantageous because it makes it possible to detect a discrepancy between a "good posture" and the posture of the user during a physical movement by focusing on one or two areas of interest in it. According to one embodiment, the error indicator comprises the measurement of the difference between several segments of the skeleton SQ R and the skeleton of the reference posture POS1R.

Selon un mode de réalisation, l’indicateur d’erreur de posture est généré à partir de la mesure d’un écart entre un ou plusieurs points du squelette caractéristique SQRet un ou plusieurs points du squelette de la posture de référence déterminée POS1R. Selon un mode de réalisation, l’écart est une distance mesurée entre un point du premier squelette SQRet le point correspondant du squelette de la posture de référence POS1R. En variante, la mesure de l’écart est la mesure de la distance entre un point du squelette caractéristique SQRde l’utilisateur correspondant à une articulation de celui-ci, et un point correspondant à la même articulation sur le squelette de la posture de référence POS1R. Selon un exemple, l’écart mesuré est la distance estimée entre un point de la base du fémur droit du squelette caractéristique SQRet la base du fémur droit du squelette de la posture de référence POS1R. Le point sélectionné correspond selon un mode de réalisation à un coude gauche ou droit des squelettes. Selon un mode de réalisation, le point correspond à une épaule gauche ou droite du squelette. Selon un mode de réalisation, le point correspond à un genou gauche ou du squelette. Toutes les articulations du corps peuvent être prises comme point pour la mesure des écarts entre le squelette caractéristique SQRet le squelette de la posture de référence POS1R. Selon un mode de réalisation, les écarts mesurés sont comparés à des longueurs de référence pour prendre en compte la morphologie de l’utilisateur. Cette disposition permet de prendre en compte la variabilité des morphologies entre différents utilisateurs. À cet effet, les longueurs mesurées sont comparées à une longueur de référence mesurée sur le squelette de l’utilisateur. La longueur de référence est avantageusement choisie parmi : la largeur du bassin, la largeur des épaules, la taille du torse, la hauteur du torse, la longueur de la jambe et des bras (en position tendue), et/ou la largeur du visage, par exemple la distance oreille nez.According to one embodiment, the posture error indicator is generated from the measurement of a difference between one or more points of the characteristic skeleton SQ R and one or more points of the skeleton of the determined reference posture POS1R. According to one embodiment, the difference is a distance measured between a point of the first skeleton SQ R and the corresponding point of the skeleton of the reference posture POS1R. Alternatively, the measurement of the difference is the measurement of the distance between a point of the characteristic skeleton SQ R of the user corresponding to a joint thereof, and a point corresponding to the same joint on the skeleton of the posture reference POS1R. According to one example, the measured difference is the estimated distance between a point of the base of the right femur of the characteristic skeleton SQ R and the base of the right femur of the skeleton of the reference posture POS1R. The selected point corresponds, according to one embodiment, to a left or right elbow of the skeletons. According to one embodiment, the point corresponds to a left or right shoulder of the skeleton. According to one embodiment, the point corresponds to a left knee or the skeleton. All joints of the body can be taken as points for measuring the differences between the characteristic skeleton SQ R and the skeleton of the reference posture POS1R. According to one embodiment, the measured deviations are compared to reference lengths to take into account the morphology of the user. This arrangement makes it possible to take into account the variability of morphologies between different users. For this purpose, the measured lengths are compared to a reference length measured on the user's skeleton. The reference length is advantageously chosen from: the width of the pelvis, the width of the shoulders, the size of the torso, the height of the torso, the length of the leg and arms (in a stretched position), and/or the width of the face , for example the ear-nose distance.

Selon un mode de réalisation, l’indicateur d’erreur de posture est généré à partir de la mesure d’un alignement angulaire d’un ou plusieurs segments du squelette caractéristique SQRpar rapport à un ou plusieurs segments du squelette de la posture de référence déterminée POS1R. Une telle disposition est montrée en , où un angle ANG1est mesuré. Selon ce mode de réalisation, un angle entre la droite portant le premier segment SEG1et celle portant le premier segment de référence SEGR1est mesuré. Cette mesure est effectuée dans le plan à partir de squelettes en deux dimensions. Selon un mode de réalisation, la mesure précitée est effectuée dans l’espace à partir des squelettes en trois dimensions. L’avantage de la mesure de cet angle est qu’elle permet de comparer l’orientation dans le plan ou dans l’espace tridimensionnel d’un membre de l’utilisateur avec l’orientation d’un membre de la posture de référence. Cette caractéristique représente donc un moyen efficace de contrôle de la qualité de la posture au cours du mouvement physique effectué.According to one embodiment, the posture error indicator is generated from the measurement of an angular alignment of one or more segments of the characteristic skeleton SQ R relative to one or more segments of the skeleton of the posture of determined reference POS1R. Such an arrangement is shown in , where an angle ANG 1 is measured. According to this embodiment, an angle between the straight line carrying the first segment SEG 1 and that carrying the first reference segment SEG R1 is measured. This measurement is carried out in the plane using two-dimensional skeletons. According to one embodiment, the aforementioned measurement is carried out in space from three-dimensional skeletons. The advantage of measuring this angle is that it makes it possible to compare the orientation in the plane or in three-dimensional space of a member of the user with the orientation of a member of the reference posture. This characteristic therefore represents an effective means of controlling the quality of posture during the physical movement performed.

Selon un mode de réalisation, l’indicateur d’erreur de posture est généré à partir de la mesure de l’intervalle de temps séparant une première posture caractéristique d’une seconde posture caractéristique du premier squelette SQ1. En d’autres termes, la génération de l’indicateur comprend la mesure de l’intervalle de temps séparant les instants d’acquisition de deux images de la séquence de deuxièmes images IM2 à partir desquelles sont générées les deux postures de référence. Avantageusement, ces deux postures sont caractéristiques de deux phases importantes d’un mouvement. Selon un exemple, les deux postures représentent le début et la fin d’une phase de mouvement. Selon un exemple, on mesure la durée de montée des bras lors d’un exercice de type « Jumping jack ». L’intervalle de temps mesuré pour générer l’indicateur de posture correspond dans cet exemple au temps séparant l’acquisition de l’image de début de mouvement et l’acquisition de l’image de fin de mouvement. En d’autres termes, l’intervalle de temps correspond au temps nécessaire à l’utilisateur lors de la phase de montée de ses bras.According to one embodiment, the posture error indicator is generated from the measurement of the time interval separating a first characteristic posture from a second characteristic posture of the first skeleton SQ1. In other words, the generation of the indicator includes the measurement of the time interval separating the instants of acquisition of two images from the sequence of second images IM2 from which the two reference postures are generated. Advantageously, these two postures are characteristic of two important phases of a movement. According to one example, the two postures represent the beginning and the end of a movement phase. According to an example, we measure the duration of raising the arms during a “Jumping jack” type exercise. The time interval measured to generate the posture indicator corresponds in this example to the time separating the acquisition of the start of movement image and the acquisition of the end of movement image. In other words, the time interval corresponds to the time required for the user to raise their arms.

Selon un mode de réalisation, l’indicateur d’erreur de posture est généré à partir de la mesure de la trajectoire d’un ou plusieurs points du squelette SQ1 et de la comparaison de cette trajectoire avec la trajectoire d’un ou plusieurs points du squelette de la posture de référence déterminée POSR1. Selon cet exemple, la trajectoire formée par le point du premier squelette SQ1 au cours du mouvement est comparée avec la trajectoire formée par au moins un point du squelette de la posture de référence au cours du même mouvement. La comparaison de la trajectoire d’un point de chaque squelette est un bon moyen d’estimer l’indicateur d’erreur de posture tant elle permet de voir la qualité de la réalisation du mouvement. Selon l’exemple de la , la trajectoire du point P1correspondant au pied droit du premier squelette SQ1 est comparée avec la trajectoire du pied droit P1du squelette de la posture de référence POS1R. Une mesure effectuée pour comparer les deux trajectoires est la longueur de l’arc de cercle formé. Par exemple, dans le mouvement de « jumping jack », les pieds de l’utilisateur vont former un arc de cercle dans un référentiel formé autour du centre de gravité de la personne. La longueur de l’arc de cercle est une bonne mesure pour comparer l’amplitude du mouvement effectué par l’utilisateur et la comparer avec l’amplitude du mouvement de référence. Selon un mode de réalisation, une erreur quadratique moyenne est calculée pour estimer la proximité entre les deux trajectoires considérées. Selon un mode de réalisation, la distance maximale entre les deux trajectoires est mesurée. Cette mesure est particulièrement efficace car elle permet de détecter des mouvements parasites venant faire baisser l’efficacité du mouvement global.According to one embodiment, the posture error indicator is generated from measuring the trajectory of one or more points of the skeleton SQ1 and comparing this trajectory with the trajectory of one or more points of the skeleton of the reference posture determined POSR1. According to this example, the trajectory formed by the point of the first skeleton SQ1 during the movement is compared with the trajectory formed by at least one point of the skeleton of the reference posture during the same movement. Comparing the trajectory of a point on each skeleton is a good way to estimate the posture error indicator as it allows us to see the quality of the movement. According to the example of the , the trajectory of the point P 1 corresponding to the right foot of the first skeleton SQ1 is compared with the trajectory of the right foot P 1 of the skeleton of the reference posture POS1R. A measurement made to compare the two trajectories is the length of the arc formed. For example, in the “jumping jack” movement, the user's feet will form an arc in a frame of reference formed around the person's center of gravity. The length of the arc is a good measure to compare the range of movement performed by the user and compare it with the reference range of movement. According to one embodiment, a mean square error is calculated to estimate the proximity between the two trajectories considered. According to one embodiment, the maximum distance between the two trajectories is measured. This measure is particularly effective because it makes it possible to detect parasitic movements that reduce the efficiency of the overall movement.

Selon un mode de réalisation, le l’indicateur d’erreur ERR1est calculé par une mesure de courbure sur la trajectoire d’un point du squelette SQ1. Selon un mode de réalisation, l’indicateur d’erreur ERR1 est calculé par calcul de la courbure de la courbe formée par plusieurs points du premier squelette SQ1. Selon un mode de réalisation, la courbure est comparée à celle des mêmes points pris sur le squelette de la posture de référence POS1R. Selon un exemple, les points du premier squelette SQ1 et du squelette de la posture de référence utilisés sont des points correspondant à la courbure du dos sur lesdits squelettes. Selon un mode de réalisation, une analyse de contours est réalisée sur la pluralité de secondes images afin d’extraire une courbure d’une partie du corps, de préférence du dos. Selon un mode de réalisation, une comparaison des mesures de courbures effectuées sur le squelette et des mesures de courbure effectuées à partir des contours est effectuée. Cette disposition permet avantageusement de limiter les erreurs d’estimation de courbure en combinant deux modes de calcul de celle-ci. Cette disposition permet notamment de limiter les erreurs liées aux changements d’angle de vue lors du mouvement.According to one embodiment, the error indicator ERR 1 is calculated by measuring curvature on the trajectory of a point of the skeleton SQ1. According to one embodiment, the error indicator ERR1 is calculated by calculating the curvature of the curve formed by several points of the first skeleton SQ1. According to one embodiment, the curvature is compared to that of the same points taken on the skeleton of the reference posture POS1R. According to one example, the points of the first skeleton SQ1 and of the skeleton of the reference posture used are points corresponding to the curvature of the back on said skeletons. According to one embodiment, a contour analysis is carried out on the plurality of second images in order to extract a curvature of a part of the body, preferably of the back. According to one embodiment, a comparison of the curvature measurements carried out on the skeleton and the curvature measurements carried out from the contours is carried out. This arrangement advantageously makes it possible to limit curvature estimation errors by combining two methods of calculating it. This arrangement makes it possible in particular to limit errors linked to changes in viewing angle during movement.

Génération de recommandations à l’utilisateurGeneration of recommendations to the user

Selon un mode de réalisation, les étapes mises en œuvre par ordinateur de la méthode sont répétées tant que la valeur de l’indicateur d’erreur ERR1 est supérieure ou égale à la valeur seuil Vs prédéfinie. Selon ce mode de réalisation, la suite d’étapes répétées comprend lors de sa répétition l’extraction, dans la première classe de mouvement C1, d’une sous-séquence de premiers squelettes SQ1. Par sous-séquence, on entend une séquence de premiers squelettes SQ1 qui correspond à une fraction temporelle de la séquence de premiers squelettes SQ1. En d’autres termes, la sous-séquence concerne une petite partie de la séquence de premiers squelettes SQ1 initiale. Cette disposition est particulièrement avantageuse car elle permet d’effectuer l’analyse sur une fraction du mouvement considéré. De cette manière, l’utilisateur peut se focaliser sur une partie du mouvement physique qui est mal réalisée. Cette disposition améliore la correction du mouvement de l’utilisateur. Selon un mode de réalisation, la première consigne numérique est générée pour afficher la sous-séquence. De cette manière, l’utilisateur est guidé sur son mouvement sur la sous-séquence grâce à la consigne numérique. Par exemple, dans le cas de la réalisation d’un mouvement de « jumping jacks », la classe de mouvement représente le mouvement complet de « jumping jack », à savoir un premier saut lors duquel la personne lève les bras et écarte les jambes, puis un deuxième saut lors duquel l’utilisateur baisse les bras et ressert ses deux jambes. Selon cet exemple, la sous-séquence représente la séquence du mouvement correspondant au premier saut de l’utilisateur. Selon un mode de réalisation, la première classe de mouvement est décomposée en une pluralité de sous-séquences. Par pluralité, on entend, deux séquences, trois séquences, quatre séquences, cinq séquences ou plus. Le nombre de séquences de la pluralité de séquences cinématiques dépend du mouvement de la classe de mouvement. Ainsi, l’homme du métier pourra décider du nombre de séquences nécessaires à la décomposition de la classe de mouvement. L’utilité de décomposer le mouvement selon des séquences est de pouvoir utiliser les outils d’analyses précédemment cités sur des portions du mouvement global de la classe de mouvement.According to one embodiment, the computer-implemented steps of the method are repeated as long as the value of the error indicator ERR1 is greater than or equal to the predefined threshold value Vs. According to this embodiment, the sequence of repeated steps comprises, during its repetition, the extraction, in the first movement class C1, of a subsequence of first skeletons SQ1. By subsequence is meant a sequence of first skeletons SQ1 which corresponds to a temporal fraction of the sequence of first skeletons SQ1. In other words, the subsequence concerns a small part of the sequence of initial SQ1 first skeletons. This arrangement is particularly advantageous because it allows the analysis to be carried out on a fraction of the movement considered. In this way, the user can focus on a part of the physical movement that is poorly performed. This arrangement improves the correction of the user's movement. According to one embodiment, the first digital instruction is generated to display the subsequence. In this way, the user is guided on his movement on the sub-sequence thanks to the digital instructions. For example, in the case of performing a “jumping jacks” movement, the movement class represents the complete “jumping jack” movement, namely a first jump during which the person raises their arms and spreads their legs, then a second jump during which the user lowers their arms and tightens both legs. According to this example, the subsequence represents the sequence of movement corresponding to the user's first jump. According to one embodiment, the first movement class is broken down into a plurality of subsequences. By plurality we mean two sequences, three sequences, four sequences, five sequences or more. The number of sequences of the plurality of kinematic sequences depends on the movement of the movement class. Thus, those skilled in the art will be able to decide on the number of sequences necessary to decompose the movement class. The usefulness of breaking down the movement into sequences is to be able to use the analysis tools previously mentioned on portions of the overall movement of the movement class.

Selon un mode de réalisation, la première consigne numérique comprend une indication à l’utilisateur de recommencer le mouvement correspondant à la sous-séquence. Cette caractéristique permet de donner la consigne à l’utilisateur de recommencer une partie du mouvement qu’il a effectué précédemment. La première consigne numérique est générée en fonction de la comparaison de l’indicateur d’erreur ERR1avec la au moins une valeur seuil Vs, ainsi, la consigne permet de donner une indication à l’utilisateur de recommencer la partie de son mouvement correspondant à la première séquence cinématique. Cette disposition est particulièrement avantageuse car elle permet à l’utilisateur de travailler spécifiquement la partie du mouvement dans laquelle l’erreur a été détectée. Elle permet donc d’améliorer l’entrainement de l’utilisateur. En d’autres termes, les itérations de la méthode se rapportant à l’analyse de la sous-séquence sont répétées tant que la qualité du mouvement effectué par l’utilisateur ne s’est pas améliorée. Cette disposition est particulièrement avantageuse car elle permet de faire refaire la partie du mouvement est effectuée à plusieurs reprises pour apprendre à l’utilisateur à bien effectuer ladite partie du mouvement. De cette manière, l’utilisateur se focalise sur les parties du mouvement qui ne sont pas bien effectuées. Cette disposition est particulièrement avantageuse car elle permet de limiter la fatigue excessive de l’utilisateur et de diminuer le risque de blessure de celui-ci. Selon un mode de réalisation, la première consigne numérique comprend une indication d’arrêter l’exercice.According to one embodiment, the first digital instruction includes an indication to the user to restart the movement corresponding to the subsequence. This characteristic makes it possible to instruct the user to repeat part of the movement that they performed previously. The first digital instruction is generated according to the comparison of the error indicator ERR 1 with the at least one threshold value Vs, thus, the instruction makes it possible to give an indication to the user to restart the part of his corresponding movement at the first cinematic sequence. This arrangement is particularly advantageous because it allows the user to work specifically on the part of the movement in which the error was detected. It therefore makes it possible to improve user training. In other words, the iterations of the method relating to the analysis of the subsequence are repeated as long as the quality of the movement performed by the user has not improved. This arrangement is particularly advantageous because it allows the part of the movement to be repeated several times to teach the user to properly perform said part of the movement. In this way, the user focuses on the parts of the movement that are not performed well. This arrangement is particularly advantageous because it limits excessive user fatigue and reduces the risk of injury to the user. According to one embodiment, the first digital instruction includes an indication to stop the exercise.

Cette caractéristique est particulièrement avantageuse suivant le type d’erreur qui est détecté. Ainsi, lorsqu’une erreur caractéristique d’une réalisation dangereuse ou d’une posture dangereuse pour l’utilisateur est détectée par comparaison des postures de l’utilisateur avec les postures de référence de la classe de mouvement, le procédé donne l’instruction à l’utilisateur d’arrêter son mouvement. Cette disposition permet avantageusement de limiter le risque de blessure de l’utilisateur. Selon un mode de réalisation, la première consigne numérique comprend une indication d’afficher le nombre de répétitions à effectuer par l’utilisateur. De cette manière, lorsqu’une dégradation de la qualité d’exécution est détectée, l’utilisateur peut recevoir une consigne de diminuer le nombre de répétitions à effectuer. Cette caractéristique est particulièrement avantageuse suivant le type d’erreur qui est détecté. Ainsi, lorsqu’une erreur caractéristique d’une fatigue excessive est détectée par comparaison des postures de l’utilisateur avec les postures de référence de la classe de mouvement, le procédé donne l’instruction à l’utilisateur de réduire la durée de son exercice. Le procédé suivant ces étapes permet d’effectuer l’analyse de la posture et du mouvement de l’utilisateur sur la première séquence SEQ1en isolant celle-ci du reste du mouvement. Ainsi, lorsque la méthode détecte un défaut dans la posture de l’utilisateur ou dans sa manière de réaliser l’exercice, le procédé permet d’extraire un « sous-mouvement » qui représente une petite partie du mouvement total effectué par l’utilisateur. Une fois ce sous-mouvement isolé, le procédé permet de réaliser l’analyse uniquement sur celui-ci pour focaliser l’attention et le travail de l’utilisateur sur celui-ci. Ainsi, la partie du mouvement concernant la sous-séquence est analysée par squelettisation et comparaison des postures de l’utilisateur avec les postures caractéristiques correspondant à la partie du mouvement effectué. Finalement, si la valeur du nouvel indicateur d’erreur ERR1 calculé est supérieure à la valeur seuil, une lecture de la séquence d’images correspondant à la classe de mouvement est lue. De cette manière, l’utilisateur dispose d’un exemple de la partie du mouvement correspondant à la sous-séquence. Cet exemple permet à l’utilisateur d’améliorer son mouvement en s’inspirant de l’exemple. De plus, la diffusion de cette séquence sert aussi à donner à l’utilisateur l’indication de recommencer la séquence qu’il a mal exécutée. Enfin, la séquence d’images lues est lue à une vitesse inférieure à la vitesse normale d’exécution du mouvement considéré. De cette manière, l’utilisateur peut plus facilement identifier les passages du mouvement qu’il n’a pas bien effectué, et réaliser le mouvement à vitesse réduite en suivant la séquence d’image qui est lue. De cette manière, il est mis dans les meilleures conditions pour réaliser le mouvement de la meilleure manière possible. Selon un mode de réalisation, la suite d’étapes comprend la mémorisation des valeurs successives du premier indicateur d’erreur ERR1dans une mémoire. Selon ce mode de réalisation, la suite d’étapes comprend également la comparaison de la valeur du dernier indicateur d’erreur ERR1calculé avec les valeurs de l’indicateur d’erreur ERR1mémorisées. Enfin, la suite d’étapes comprend la génération d’une recommandation dépendant ladite comparaison. Selon ce mode de réalisation, l’évolution de la valeur de l’indicateur d’erreur ERR1est étudiée pour permettre une adaptation des consignes en fonction de l’évolution dudit indicateur d’erreur. Par exemple, en cas d’augmentation de l’indicateur d’erreur ERR1, au cours des répétitions du mouvement, une recommandation peut être générée pour afficher une instruction à l’utilisateur d’arrêter son mouvement.This characteristic is particularly advantageous depending on the type of error that is detected. Thus, when an error characteristic of a dangerous achievement or a dangerous posture for the user is detected by comparing the postures of the user with the reference postures of the movement class, the method gives the instruction to the user to stop their movement. This arrangement advantageously makes it possible to limit the risk of injury to the user. According to one embodiment, the first digital instruction includes an indication to display the number of repetitions to be performed by the user. In this way, when a degradation in execution quality is detected, the user can receive an instruction to reduce the number of repetitions to be performed. This characteristic is particularly advantageous depending on the type of error that is detected. Thus, when an error characteristic of excessive fatigue is detected by comparison of the user's postures with the reference postures of the movement class, the method instructs the user to reduce the duration of their exercise . The method following these steps makes it possible to analyze the posture and movement of the user on the first sequence SEQ 1 by isolating it from the rest of the movement. Thus, when the method detects a defect in the user's posture or in their way of carrying out the exercise, the method makes it possible to extract a "sub-movement" which represents a small part of the total movement carried out by the user . Once this sub-movement is isolated, the process allows the analysis to be carried out only on it to focus the user's attention and work on it. Thus, the part of the movement concerning the subsequence is analyzed by skeletonization and comparison of the user's postures with the characteristic postures corresponding to the part of the movement performed. Finally, if the value of the new calculated error indicator ERR1 is greater than the threshold value, a reading of the sequence of images corresponding to the movement class is read. In this way, the user has an example of the part of the movement corresponding to the subsequence. This example allows the user to improve their movement by drawing inspiration from the example. In addition, the broadcast of this sequence also serves to give the user the indication to restart the sequence that he has executed incorrectly. Finally, the sequence of images read is read at a speed lower than the normal speed of execution of the movement considered. In this way, the user can more easily identify the passages of the movement which he has not performed well, and carry out the movement at reduced speed by following the image sequence which is read. In this way, it is put in the best conditions to carry out the movement in the best possible way. According to one embodiment, the sequence of steps comprises storing the successive values of the first error indicator ERR 1 in a memory. According to this embodiment, the sequence of steps also includes the comparison of the value of the last error indicator ERR 1 calculated with the values of the error indicator ERR 1 stored. Finally, the sequence of steps includes the generation of a recommendation depending on said comparison. According to this embodiment, the evolution of the value of the error indicator ERR 1 is studied to allow adaptation of the instructions according to the evolution of said error indicator. For example, in the event of an increase in the error indicator ERR 1 , during repetitions of the movement, a recommendation can be generated to display an instruction to the user to stop their movement.

Cette disposition permet d’enregistrer des données relatives à la qualité de réalisation de l’utilisateur au cours du temps et des séances que celui-ci effectue. Elle permet d’effectuer de cette manière un suivi des performances et de la qualité d’exécution des exercices par l’utilisateur. Selon un mode de réalisation, la valeur du premier indicateur d’erreur ERR1est comparée avec de précédentes valeurs du premier indicateur d’erreur ERR1et. Cette disposition est particulièrement avantageuse car elle permet une comparaison de la valeur des indicateurs d’erreur au cours des séances d’exercice que l’utilisateur fait. Selon un mode de réalisation, une recommandation est générée en fonction de l’évolution du premier indicateur d’erreur ERR1. La recommandation inclut selon un mode de réalisation une consigne de diminution du nombre de répétitions. Selon un mode de réalisation, la consigne comporte une indication d’arrêt de l’exercice. Selon un mode de réalisation, la recommandation comporte une indication de recommencer le mouvement correspondant à la première séquence cinématique. De cette manière, si une dégradation de la qualité d’exécution du mouvement ou du sous-mouvement est détectée, l’utilisateur reçoit une consigne de réexécuter le mouvement ou le sous-mouvement en question afin de corriger le défaut de posture qui est apparu lors de cette séance. De la même manière, si une amélioration de la posture de l’utilisateur lors du mouvement est détectée, l’utilisateur peut recevoir une indication lui indiquant son progrès dans la réalisation de l’exercice. De cette manière, l’utilisateur est conforté dans sa bonne pratique. De plus, une telle information vient récompenser des efforts fournis par l’utilisateur, ce qui a pour effet de renforcer la motivation de l’utilisateur, qui est informé des progrès qu’il effectue. Un renforcement de la motivation de l’utilisateur est particulièrement efficace pour que celui-ci continue à suivre à entrainement régulier, ce qui augmente la progression de l’utilisateur sur le long terme. Selon un mode de réalisation, les informations relatives aux différentes valeurs de l’indicateur d’erreur sont enregistrées dans un profil utilisateur. Selon un mode de réalisation, une reconnaissance faciale est effectuée pour identifier l’utilisateur et l’associer à son profil utilisateur. Selon un mode de réalisation, l’identification faciale est réalisée par un algorithme de reconnaissance faciale appliqué à la séquence de premières images et/ou à la séquence de secondes images. Selon un mode de réalisation, l’algorithme de reconnaissance faciale utilisée est un algorithme appelé « FaceNet ».This provision makes it possible to record data relating to the quality of the user's work over the time and sessions that the user carries out. In this way, it makes it possible to monitor the performance and quality of execution of the exercises by the user. According to one embodiment, the value of the first error indicator ERR 1 is compared with previous values of the first error indicator ERR 1 and. This arrangement is particularly advantageous because it allows a comparison of the value of the error indicators during the exercise sessions that the user does. According to one embodiment, a recommendation is generated based on the evolution of the first error indicator ERR 1 . The recommendation includes, according to one embodiment, an instruction to reduce the number of repetitions. According to one embodiment, the instruction includes an indication to stop the exercise. According to one embodiment, the recommendation includes an indication to restart the movement corresponding to the first kinematic sequence. In this way, if a deterioration in the quality of execution of the movement or sub-movement is detected, the user receives an instruction to re-execute the movement or sub-movement in question in order to correct the posture defect which has appeared. during this session. Likewise, if an improvement in the user's posture during the movement is detected, the user can receive an indication of their progress in performing the exercise. In this way, the user is reassured in his good practice. In addition, such information rewards the efforts made by the user, which has the effect of reinforcing the motivation of the user, who is informed of the progress he is making. Strengthening the user's motivation is particularly effective so that the user continues to follow regular training, which increases the user's progress in the long term. According to one embodiment, the information relating to the different values of the error indicator is recorded in a user profile. According to one embodiment, facial recognition is performed to identify the user and associate them with their user profile. According to one embodiment, facial identification is carried out by a facial recognition algorithm applied to the sequence of first images and/or to the sequence of second images. According to one embodiment, the facial recognition algorithm used is an algorithm called “FaceNet”.

Données affichées à l’utilisateurData displayed to the user

Selon un mode de réalisation, le premier indicateur d’erreur ERR1et est affiché sur un écran en temps réel. Avantageusement, à chaque fois qu’une nouvelle valeur de l’indicateur d’erreur ERR1est calculée, celle-ci est affichée. Cette disposition est particulièrement avantageuse car elle permet à l’utilisateur de corriger en temps réel sa posture lors de la réalisation de l’exercice. Selon un mode de réalisation, un score prenant en compte la valeur du premier indicateur d’erreur ERR1est affiché en temps réel sur l’écran. Le score affiché comprend par exemple un pourcentage généré à partir des valeurs de l’indicateur d’erreur ERR1. Selon un mode de réalisation, le score prend en compte plusieurs premiers indicateurs d’erreur ERR1. De cette manière, il est possible d’afficher un score prenant en compte plusieurs données différentes de la posture de l’utilisateur lorsqu’il effectue un exercice. De cette manière, le score prend en compte la réalisation globale de l’exercice plutôt que de prendre en compte une seule donnée de celui-ci.According to one embodiment, the first error indicator ERR 1 and is displayed on a screen in real time. Advantageously, each time a new value of the error indicator ERR 1 is calculated, it is displayed. This arrangement is particularly advantageous because it allows the user to correct their posture in real time while performing the exercise. According to one embodiment, a score taking into account the value of the first error indicator ERR 1 is displayed in real time on the screen. The displayed score includes for example a percentage generated from the values of the error indicator ERR 1 . According to one embodiment, the score takes into account several first error indicators ERR 1 . In this way, it is possible to display a score taking into account several different data from the user's posture when performing an exercise. In this way, the score takes into account the overall performance of the exercise rather than taking into account a single piece of data from it.

Selon un exemple, l’indicateur d’erreur comprend un premier indicateur de répétition. Par premier indicateur de répétition, on entend un indicateur qui est évalué pour chaque répétition du mouvement réalisé par l’utilisateur. Le premier indicateur de répétition est évalué tel que décrit précédemment dans cette description. Selon un mode de réalisation, l’indicateur d’erreur comprend un indicateur de mouvement. L’indicateur de mouvement sert à évaluer la qualité globale du mouvement en prenant en comptage plusieurs répétitions de celui-ci. Ainsi, il prend en compte les valeurs du premier indicateur de répétition de chaque répétition du mouvement. L’indicateur de mouvement prend avantageusement en compte le nombre de répétitions du mouvement effectuées. Il prend également en compte le temps moyen de chaque répétition du mouvement effectué. L’indicateur de mouvement permet avantageusement de calculer un score représentant la qualité de l’exécution du mouvement de l’utilisateur. Selon un mode de réalisation, la valeur de l’indicateur de mouvement est enregistrée dans une mémoire. Selon un mode de réalisation, cette valeur est associée au profil de l’utilisateur. Selon un mode de réalisation, la valeur de l’indicateur de mouvement est comparée à des valeurs précédentes de l’indicateur de mouvement. La comparaison permet avantageusement de déduire un état de forme de l’utilisateur pendant la session de travail. Par exemple, si le score de l’utilisateur est inférieur aux scores mémorisés dans le profil utilisateur lors de sessions précédentes, on peut en déduire que l’état de forme de l’utilisateur est moins bon que lors de sessions précédentes. Avantageusement, on peut afficher une recommandation à l’utilisateur de diminuer le nombre de répétitions du mouvement à effectuer, et/ou à diminuer le nombre de répétitions de mouvements suivants lors de la séance afin de tenir compte de l’état de fatigue de l’utilisateur. Cette disposition est particulièrement avantageuse car elle permet de diminuer le risque de blessure pour un individu qui est fatigué. De la même manière, un indicateur de mouvement faible permet d’évaluer la maitrise et la bonne exécution du mouvement par l’utilisateur. Cette disposition permet notamment de générer une recommandation à l’utilisateur pour lui permettre d’apprendre à mieux réaliser le mouvement, par exemple en diminuant la vitesse d’exécution ou en se concentrant sur une petite partie de l’exercice, comme cela a été décrit précédemment.According to one example, the error indicator includes a first repetition indicator. By first repetition indicator, we mean an indicator which is evaluated for each repetition of the movement performed by the user. The first repetition indicator is evaluated as described previously in this description. According to one embodiment, the error indicator includes a movement indicator. The movement indicator is used to evaluate the overall quality of the movement by counting several repetitions of it. Thus, it takes into account the values of the first repetition indicator of each repetition of the movement. The movement indicator advantageously takes into account the number of repetitions of the movement performed. It also takes into account the average time for each repetition of the movement performed. The movement indicator advantageously makes it possible to calculate a score representing the quality of the execution of the user's movement. According to one embodiment, the value of the movement indicator is recorded in a memory. According to one embodiment, this value is associated with the user profile. According to one embodiment, the value of the movement indicator is compared to previous values of the movement indicator. The comparison advantageously makes it possible to deduce a state of fitness of the user during the work session. For example, if the user's score is lower than the scores stored in the user profile during previous sessions, we can deduce that the user's state of fitness is less good than during previous sessions. Advantageously, a recommendation can be displayed to the user to reduce the number of repetitions of the movement to be performed, and/or to reduce the number of repetitions of following movements during the session in order to take into account the state of fatigue of the user. 'user. This arrangement is particularly advantageous because it reduces the risk of injury for an individual who is tired. In the same way, a weak movement indicator makes it possible to evaluate the mastery and good execution of the movement by the user. This arrangement makes it possible in particular to generate a recommendation to the user to enable him to learn to perform the movement better, for example by reducing the speed of execution or by concentrating on a small part of the exercise, as has been described previously.

Selon un exemple, lorsque l’utilisateur effectue un mouvement de flexion sur jambes (autrement appelé « squat »), un indicateur d’erreur est calculé en prenant en compte sur la séquence de premiers squelettes SQ1 ou sur la séquence de squelettes caractéristiques SQR de l’orientation de la tête de l’individu. En d’autres termes, on vérifie si l’utilisateur regarde bien devant lui. Une valeur de l’indicateur d’erreur dans ce cas est le pourcentage d’images de la séquence sur laquelle l’utilisateur regarde devant lui. Selon cet exemple, un autre indicateur d’erreur est calculé. Cet indicateur d’erreur prend en compte sur la séquence de squelettes caractéristiques les angles formés entre le buste et les jambes en des points du mouvement caractéristiques. Par exemple, ces angles sont estimés au point bas du mouvement (lorsque l’utilisateur est en position de chaise) et au point haut du mouvement (lorsque l’utilisateur est en position debout). Selon un mode de réalisation, un autre indicateur d’erreur est calculé lors de la position basse du mouvement. Cet indicateur est calculé en prenant en compte la courbure du dos sur le squelette caractéristique. Si le dos n’est pas droit (c’est-à-dire lorsque la valeur du rayon de courbure de la courbe formée par les points du dos est très grande), alors un malus est attribué au score des autres indicateurs. Si un rayon de courbure est détecté trop faible est détecté, alors une indication d’arrêter le mouvement peut être affichée à l’utilisateur. Avantageusement, cette disposition permet de limiter le risque de blessure lors de la réalisation de ce mouvement.According to one example, when the user performs a leg bending movement (otherwise called "squat"), an error indicator is calculated by taking into account the sequence of first skeletons SQ1 or the sequence of characteristic skeletons SQR of the orientation of the individual's head. In other words, we check whether the user is looking straight ahead. An error indicator value in this case is the percentage of frames in the sequence that the user is looking at in front of them. According to this example, another error indicator is calculated. This error indicator takes into account on the sequence of characteristic skeletons the angles formed between the bust and the legs at characteristic points of the movement. For example, these angles are estimated at the low point of the movement (when the user is in a chair position) and at the high point of the movement (when the user is in a standing position). According to one embodiment, another error indicator is calculated during the low position of the movement. This indicator is calculated taking into account the curvature of the back on the characteristic skeleton. If the back is not straight (i.e. when the value of the radius of curvature of the curve formed by the points of the back is very large), then a penalty is assigned to the score of the other indicators. If too small a radius of curvature is detected, then an indication to stop movement may be displayed to the user. Advantageously, this arrangement makes it possible to limit the risk of injury when carrying out this movement.

Selon un mode de réalisation, l’écran affiche en temps réel une vidéo de l’utilisateur générée à partir de la séquence de premières images IM1 et/ou de la séquence de deuxièmes images IM2. Par vidéo on entend un affichage séquentiel des images de la séquence de premières images ou de la séquence de deuxièmes images. Cette disposition permet avantageusement à l’utilisateur de voir d’un autre point de vue la manière dont il réalise l’exercice. Selon un mode réalisation, le premier indicateur d’erreur ERR1est utilisé pour générer un indicateur visuel d’erreur EVR1qui est superposé à la vidéo de l’utilisateur diffusée lorsqu’il réalise son exercice. Par exemple, dans le cas où l’indicateur d’erreur ERR1concerne une mesure de la distance d’un segment du squelette SQ1 de l’utilisateur avec le même segment sur le squelette de la posture de référence, l’indicateur visuel d’erreur EVR1 affiche en temps réel la distance mesurée entre les deux squelettes superposés sur la vidéo de l’utilisateur. Avantageusement, l’indicateur visuel d’erreur est affiché sur la zone du corps de l’utilisateur sur laquelle la distance est mesurée. Selon un mode de réalisation, l’indicateur visuel d’erreur EVR1comporte une flèche ou un segment représentant l’écart entre la posture de l’utilisateur et la posture de référence.According to one embodiment, the screen displays in real time a video of the user generated from the sequence of first images IM1 and/or the sequence of second images IM2. By video we mean a sequential display of images from the sequence of first images or the sequence of second images. This arrangement advantageously allows the user to see from another point of view the way in which he carries out the exercise. According to one embodiment, the first error indicator ERR 1 is used to generate a visual error indicator EVR 1 which is superimposed on the video of the user broadcast when he performs his exercise. For example, in the case where the error indicator ERR 1 concerns a measurement of the distance of a segment of the skeleton SQ1 of the user with the same segment on the skeleton of the reference posture, the visual indicator d The EVR1 error displays in real time the distance measured between the two skeletons superimposed on the user's video. Advantageously, the visual error indicator is displayed on the area of the user's body over which the distance is measured. According to one embodiment, the visual error indicator EVR 1 includes an arrow or a segment representing the difference between the user's posture and the reference posture.

Selon un mode de réalisation, l’indicateur visuel d’erreur EVR1comprend un indicateur cinématique de translation comprenant une première position, un vecteur et une seconde position. La première position est représentative d’une position d’une zone du corps de l’utilisateur au début du mouvement et la deuxième position est représentative de la position de la même partie du corps de l’utilisateur à la fin du mouvement Cette disposition est très avantageuse car elle permet de représenter la position dans laquelle est l’utilisateur, ainsi qu’un vecteur représentant le mouvement que doit effectuer une partie de son corps pour atteindre la posture correcte représentée par la posture de référence, ainsi que la position de la posture de référence. De cette manière, une visualisation des étapes à effectuer pour que l’utilisateur atteigne la posture de référence est affichée à l’utilisateur. Ainsi, celui-ci peut, sans qu’il ne doive se poser de questions, se rendre compte très facilement des ajustements qu’il doit effectuer dans sa posture.According to one embodiment, the visual error indicator EVR 1 comprises a kinematic translation indicator comprising a first position, a vector and a second position. The first position is representative of a position of an area of the user's body at the start of the movement and the second position is representative of the position of the same part of the user's body at the end of the movement. This arrangement is very advantageous because it makes it possible to represent the position in which the user is, as well as a vector representing the movement that a part of his body must make to reach the correct posture represented by the reference posture, as well as the position of the reference posture. In this way, a visualization of the steps to be carried out for the user to reach the reference posture is displayed to the user. Thus, he can, without having to ask himself any questions, very easily realize the adjustments he must make in his posture.

Selon un mode de réalisation, l’indicateur visuel d’erreur EVR1comporte l’affichage d’au moins un des seconds squelettes SQ2 de la séquence de seconds squelettes. Cette disposition est particulièrement avantageuse car elle permet à l’utilisateur de visualiser précisément les étapes de l’exercice ou de la séquence que l’utilisateur doit effectuer, chaque second squelette correspondant à une posture caractéristique de la classe de mouvements C1. Il est donc facile pour lui de voir de quelle manière réaliser l’exercice de manière qualitative.According to one embodiment, the visual error indicator EVR 1 includes the display of at least one of the second skeletons SQ2 of the sequence of second skeletons. This arrangement is particularly advantageous because it allows the user to precisely visualize the steps of the exercise or sequence that the user must perform, each second skeleton corresponding to a posture characteristic of movement class C1. It is therefore easy for him to see how to carry out the exercise in a qualitative manner.

Selon un mode de réalisation, l’indicateur visuel d’erreur EVR1comporte l’affichage d’un avatar. Par avatar, on entend une représentation numérique de l’utilisateur. L’avatar est de préférence configuré pour ressembler à l’utilisateur. L’avatar suit les mouvements de l’utilisateur au cours du temps. Selon un mode de réalisation, l’avatar est généré à partir du premier squelette SQR1. De cette manière, l’avatar généré suit les mouvements de l’utilisateur. Cette disposition est particulièrement avantageuse car elle permet à l’utilisateur de suivre et d’évaluer ses propres mouvements en temps réel.According to one embodiment, the visual error indicator EVR 1 includes the display of an avatar. By avatar we mean a digital representation of the user. The avatar is preferably configured to resemble the user. The avatar tracks the user's movements over time. According to one embodiment, the avatar is generated from the first skeleton SQR 1 . In this way, the generated avatar follows the user's movements. This arrangement is particularly advantageous because it allows the user to track and evaluate their own movements in real time.

Selon un mode de réalisation, l’avatar est généré à partir du second squelette SQR2de la posture de plusieurs postures de l’ensemble de postures de référence. Selon ce mode de réalisation, l’avatar, qui est une représentation virtuelle de l’utilisateur lui ressemblant, suit les mouvements de la ou des postures de référence successives de la classe de mouvement Ci réalisée. De cette manière, l’utilisateur voit en temps réel une représentation de lui-même en train de réaliser un mouvement correct et efficace. De cette manière, l’utilisateur est parfaitement incité à réaliser l’exercice de la meilleure manière possible.According to one embodiment, the avatar is generated from the second skeleton SQR 2 of the posture of several postures from the set of reference postures. According to this embodiment, the avatar, which is a virtual representation of the user resembling him, follows the movements of the successive reference posture(s) of the movement class Ci produced. In this way, the user sees in real time a representation of themselves performing a correct and efficient movement. In this way, the user is perfectly encouraged to perform the exercise in the best possible way.

Selon un mode de réalisation, l’avatar est généré par une troisième fonction d’apprentissage CCN3. Selon ce mode de réalisation, l’avatar est généré en prenant en entrée le premier squelette SQR1et/ou le second squelette SQR2. Selon un mode de réalisation, l’avatar est également généré en fonction d’une image prise de l’individu. Selon un mode de réalisation, l’image de l’individu est issue de la pluralité de premières images IM1. Selon un mode de réalisation, l’avatar prend en compte une image prise précédemment de l’individu. L’utilisation d’une image de l’individu permet de générer un avatar avec des caractéristiques physiques qui sont ressemblantes à celle de l’individu. De cette manière, l’utilisateur dispose d’un avatar qui suit ses mouvements et qui lui ressemble.According to one embodiment, the avatar is generated by a third learning function CCN3. According to this embodiment, the avatar is generated by taking as input the first skeleton SQR 1 and/or the second skeleton SQR 2 . According to one embodiment, the avatar is also generated based on an image taken of the individual. According to one embodiment, the image of the individual comes from the plurality of first images IM1. According to one embodiment, the avatar takes into account an image previously taken of the individual. Using an image of the individual makes it possible to generate an avatar with physical characteristics that are similar to those of the individual. In this way, the user has an avatar which follows his movements and which resembles him.

Selon un mode de réalisation, la troisième fonction apprenante est déterminée par entrainement par un algorithme d’apprentissage. L’entrainement de la troisième fonction d’apprentissage est réalisé avantageusement en injectant en entrée de la fonction d’apprentissage des squelettes de personnes réalisant des exercices physiques qui sont associés à des images d’avatars respectifs, de sorte que la troisième fonction d’apprentissage entraînée associe chaque squelette de personnes à l’image d’avatar de la base. De cette manière, on réalise un apprentissage supervisé de la troisième fonction apprenante. Selon un mode de réalisation, la génération de l’avatar est réalisée par un algorithme générant un habillage autour de la structure définie par ledit troisième squelette.According to one embodiment, the third learning function is determined by training by a learning algorithm. The training of the third learning function is advantageously carried out by injecting as input to the learning function skeletons of people performing physical exercises which are associated with images of respective avatars, so that the third function of Driven learning associates each people skeleton with the base avatar image. In this way, supervised learning of the third learning function is carried out. According to one embodiment, the generation of the avatar is carried out by an algorithm generating a skin around the structure defined by said third skeleton.

Selon un mode de réalisation, l’indicateur visuel d’erreur EVR1 comprend l’affichage d’une zone à atteindre. La zone à atteindre est de préférence une zone correspondant à la position qu’une partie du corps de l’utilisateur doit atteindre à la fin du mouvement, ou à la fin du mouvement correspondant à la séquence cinématique. Selon un mode de réalisation, l’indicateur visuel d’erreur EVR1comprend l’affichage d’une zone sous forme de polygone. De cette manière, la zone à atteindre est matérialisée sur l’affichage. Cette disposition est avantageuse car elle permet à l’utilisateur de se visualiser la zone qu’il doit atteindre. Selon un mode de réalisation, l’indicateur visuel d’erreur EVR1est matérialisé sous la forme d’un cercle, ou de toute autre forme géométrique simple. Selon un mode de réalisation, l’indicateur visuel d’erreur EVR1comprend également un affichage de la zone du corps de l’utilisateur qui doit se déplacer pour atteindre la zone à atteindre. Selon un exemple, l’indicateur visuel d’erreur EVR1comprend un cercle, un polygone ou toute forme géométrique entourant ou indiquant la zone du corps de l’utilisateur qui doit se déplacer vers la zone à atteindre. De cette manière, il n’y a aucune ambiguïté pour l’utilisateur pour connaître les actions à effectuer pour effectuer correctement les exercices physiques. Une telle disposition est présentée en , dans laquelle deux indicateurs visuels d’erreur sont superposés sur les mains de l’utilisateur lors de son exercice. On peut voir que l’indicateur de la main gauche indique une zone dans laquelle la main gauche de l’utilisateur devrait être placée.According to one embodiment, the visual error indicator EVR1 includes the display of an area to be reached. The area to be reached is preferably an area corresponding to the position that a part of the user's body must reach at the end of the movement, or at the end of the movement corresponding to the kinematic sequence. According to one embodiment, the visual error indicator EVR 1 includes the display of an area in the form of a polygon. In this way, the area to be reached is shown on the display. This arrangement is advantageous because it allows the user to visualize the area he must reach. According to one embodiment, the visual error indicator EVR 1 is materialized in the form of a circle, or any other simple geometric shape. According to one embodiment, the visual error indicator EVR 1 also includes a display of the area of the user's body which must move to reach the area to be reached. According to one example, the visual error indicator EVR 1 comprises a circle, a polygon or any geometric shape surrounding or indicating the area of the user's body which must move towards the area to be reached. In this way, there is no ambiguity for the user to know the actions to perform to correctly perform the physical exercises. Such a provision is presented in , in which two visual error indicators are superimposed on the user's hands during exercise. It can be seen that the left hand indicator indicates an area in which the user's left hand should be placed.

Système d’assistanceAssistance system

Selon un aspect, l’invention concerne un système d’assistance 100 à la réalisation d’exercices physiques. Le système comprend au moins un dispositif optique 110 configuré pour réaliser l’acquisition ACQU1 de la pluralité de premières images IM1 de l’individu. Par dispositif optique 110 on entend tout dispositif comprenant une optique et un moyen d’acquisition de données relatives à un flux optique. Un tel dispositif optique 110 est par exemple un appareil photo, une caméra, ou bien un capteur infrarouge. Selon un mode de réalisation, le dispositif optique est compris dans un boitier 160.According to one aspect, the invention relates to an assistance system 100 for performing physical exercises. The system comprises at least one optical device 110 configured to perform the acquisition ACQU1 of the plurality of first images IM1 of the individual. By optical device 110 is meant any device comprising optics and a means of acquiring data relating to an optical flow. Such an optical device 110 is for example a camera, a camera, or an infrared sensor. According to one embodiment, the optical device is included in a housing 160.

Le système d’assistance comporte également au moins un premier calculateur 130 et une mémoire 132 configurés pour effectuer :The assistance system also includes at least a first computer 130 and a memory 132 configured to perform:

- le traitement TRAI1 des images comprenant une extraction automatique d’au moins une zone utile du corps de l’individu de chaque image acquise pour générer une pluralité de secondes images IM2 ;- the TRAI1 processing of the images comprising an automatic extraction of at least one useful area of the body of the individual from each image acquired to generate a plurality of second images IM2;

- l’identification ID1 d’un type de mouvement physique à partir d’un premier algorithme ALG1 traitant en entrée des images traitées à partir d’une première fonction apprenante CCN1 et d’une première classification CLASS1 de manière à sélectionner une classe de mouvements Ci ;- identification ID1 of a type of physical movement from a first algorithm ALG1 processing as input images processed from a first learning function CCN1 and a first classification CLASS1 so as to select a class of movements This ;

- la génération GEN1 d’un premier squelette SQ1 en deux dimensions de l’individu par application d’un algorithme de squelettisation sur la pluralité d’images acquises IM1, ledit premier squelette SQ1 comportant un ensemble de points caractéristiques du corps humain des images traitées ;- the generation GEN1 of a first skeleton SQ1 in two dimensions of the individual by application of a skeletonization algorithm on the plurality of acquired images IM1, said first skeleton SQ1 comprising a set of points characteristic of the human body of the processed images ;

- la génération GEN2 d’un ensemble de postures caractéristiques POS1 de la classe de mouvement Ci à partir d’un second algorithme ALG2 traitant en entrée le premier squelette SQ1 en deux dimensions de l’individu ;- the generation GEN2 of a set of characteristic postures POS1 of the movement class Ci from a second algorithm ALG2 processing as input the first skeleton SQ1 in two dimensions of the individual;

- la génération GEN3 d’un indicateur d’erreur ERR1 de postures à partir d’un ensemble postures de référence déterminé à partir de la classe de mouvements Ci et de l’ensemble de postures générées dudit individu ;- the generation GEN3 of an error indicator ERR1 of postures from a set of reference postures determined from the class of movements Ci and the set of postures generated by said individual;

- la comparaison COMP1 d’une valeur de l’indicateur d’erreur avec au moins une valeur seuil ;- the COMP1 comparison of a value of the error indicator with at least one threshold value;

- la génération automatique GEN4 d’une première consigne numérique entrainant la lecture d’une séquence d’images d’une pluralité d’images de référence correspondant à la classe de mouvement Ci sélectionnée à une première vitesse inférieure à un seuil prédéfini lorsque la valeur de l’indicateur d’erreur est supérieure à la valeur seuil ;- the automatic generation GEN4 of a first digital instruction resulting in the reading of a sequence of images of a plurality of reference images corresponding to the movement class Ci selected at a first speed lower than a predefined threshold when the value of the error indicator is greater than the threshold value;

- la génération automatique GEN5 d’une seconde consigne numérique pour afficher une instruction de mouvement associé à une consigne de vitesse d’exécution du mouvement lorsque la valeur de l’indicateur d’erreur est inférieure à la valeur seuil.- the GEN5 automatic generation of a second digital setpoint to display a movement instruction associated with a movement execution speed setpoint when the value of the error indicator is lower than the threshold value.

Le système comporte en outre au moins un afficheur 150 configuré pour lire la séquence d’images et/ou l’instruction de mouvement. Par afficheur 150, on entend tout moyen permettant l’affichage d’images ou d’informations. Selon un mode de réalisation, l’afficheur est un écran. Selon un mode de réalisation, l’afficheur est le terminal d’un téléphone mobile ou smartphone.The system further comprises at least one display 150 configured to read the sequence of images and/or the movement instruction. By display 150, we mean any means allowing the display of images or information. According to one embodiment, the display is a screen. According to one embodiment, the display is the terminal of a mobile phone or smartphone.

La présente une partie du système selon l’invention et un utilisateur effectuant des mouvements en étant filmé par deux dispositifs optiques 110.There presents part of the system according to the invention and a user performing movements while being filmed by two optical devices 110.

La est un schéma illustrant un exemple de configuration matérielle du système d’aide à la configuration 100 selon l’invention.There is a diagram illustrating an example of hardware configuration of the configuration assistance system 100 according to the invention.

D’un point de vue matériel, le système d’aide à la configuration 100 peut être vu comme un premier calculateur interagissant avec un produit programme d’ordinateur mettant en œuvre le procédé selon l’invention.From a hardware point of view, the configuration assistance system 100 can be seen as a first calculator interacting with a computer program product implementing the method according to the invention.

Le système 100 est un ordinateur, par exemple, un micro-ordinateur, un réseau d’ordinateurs, un composant électronique une tablette, un smartphone ou un assistant numérique personnel (PDA).The system 100 is a computer, for example, a microcomputer, a computer network, an electronic component, a tablet, a smartphone or a personal digital assistant (PDA).

Le système 100 comprend un premier calculateur 130. Ce premier calculateur 130 comprend, par exemple, un ou plusieurs processeurs aptes à interpréter des instructions sous forme de programme informatique, un circuit logique programmable, comme un circuit intégré spécifique à une application (ASIC), un réseau de portes programmables in situ (FPGA), un dispositif logique programmable (PLD) et des réseaux logiques programmables (PLA), un système sur puce (SOC)), une carte électronique dans laquelle des étapes du procédé selon l’invention sont implémentées dans des éléments matériels. Le traitement peut être exécuté par un processeur, ou de façon simultanée ou séquentielle, ou selon un autre procédé, par un ou plusieurs processeurs.The system 100 comprises a first calculator 130. This first calculator 130 comprises, for example, one or more processors capable of interpreting instructions in the form of a computer program, a programmable logic circuit, such as an application-specific integrated circuit (ASIC), an in situ programmable gate array (FPGA), a programmable logic device (PLD) and programmable logic arrays (PLA), a system on chip (SOC)), an electronic card in which steps of the method according to the invention are implemented in hardware elements. The processing can be executed by a processor, or simultaneously or sequentially, or according to another method, by one or more processors.

Le premier calculateur 130 comprend, un module de traitement de données 131 pour effectuer des calculs, une mémoire 132, couplée opérationnellement au circuit traitement de données 131, un support lisible par ordinateur 134 et éventuellement un lecteur 133 adapté à lire le support lisible par ordinateur 134.The first calculator 130 comprises a data processing module 131 for carrying out calculations, a memory 132, operationally coupled to the data processing circuit 131, a computer-readable medium 134 and optionally a reader 133 adapted to read the computer-readable medium 134.

Le système 100 comprend également un dispositif d’entrée, un dispositif de sortie et un dispositif de communication.The system 100 also includes an input device, an output device, and a communication device.

Chaque fonction du système 100 est exécutée en amenant le module de traitement de données 131 à lire un programme prédéterminé sur un matériel tel que la mémoire 132 de telle sorte que le module de traitement de données 131 exécute des calculs, commande des communications effectuées par le dispositif de communication et à lire et/ou écrire des données dans la mémoire 132 et le support lisible par ordinateur 134.Each function of the system 100 is executed by causing the data processing module 131 to read a predetermined program on hardware such as the memory 132 such that the data processing module 131 executes calculations, controls communications carried out by the communication device and reading and/or writing data in the memory 132 and the computer readable medium 134.

Le procédé est exécuté sur un ordinateur unique ou sur un système distribué entre plusieurs ordinateurs (notamment via l’utilisation de l’informatique en nuage).The process is executed on a single computer or on a system distributed between several computers (in particular via the use of cloud computing).

La mémoire 132 est un support d'enregistrement lisible par ordinateur, et peut être configurée avec, par exemple, au moins l'un des éléments suivants : une mémoire morte (ROM, de l'anglais Read-Only Memory), une mémoire morte effaçable et programmable (EPROM, de l'anglais Erasable Programmable Read-Only Memory), une mémoire morte programmable et effaçable électriquement (ÉEPROM, de l'anglais Electrically Erasable Programmable Read-Only Memory), une mémoire vive (RAM, de l'anglais Random Access Memory) et un autre support de stockage adéquat. La mémoire 132 peut comporter un système d’exploitation et charger les programmes selon l’invention. Elle comporte des registres adaptés à enregistrer des variables de paramètres créés et modifiés eu cours de l’exécution des programmes précités.The memory 132 is a computer-readable recording medium, and can be configured with, for example, at least one of the following elements: a read-only memory (ROM), a read-only memory erasable and programmable (EPROM, from English Erasable Programmable Read-Only Memory), a programmable and electrically erasable read-only memory (ÉEPROM, from English Electrically Erasable Programmable Read-Only Memory), a random access memory (RAM, from English Random Access Memory) and another suitable storage medium. Memory 132 can include an operating system and load programs according to the invention. It includes registers suitable for recording parameter variables created and modified during the execution of the aforementioned programs.

Le produit programme peut comprendre le support d’enregistrement lisible par ordinateur 134 qui est un dispositif tangible, n’étant pas un signal transitoire en soi, peut être configuré avec, par exemple, au moins un des éléments suivants : un support amovible, comme par exemple, de façon non limitative, un disque magnéto-optique (par exemple, un disque compact à lecture seule (CD-ROM, de l'anglais Compact Disc Read-Only Memory), un disque numérique polyvalent ou DVD (de l'anglais Digital Versatile Disc), un disque amovible, une unité de disque dur, une carte à puce, un dispositif à mémoire flash (par exemple, une carte, une clé), une bande magnétique, une base de données, un serveur, et un autre support de stockage adéquat.The program product may include computer readable recording media 134 which is a tangible device, not being a transient signal per se, may be configured with, for example, at least one of the following: removable media, such as for example, in a non-limiting manner, a magneto-optical disc (for example, a read-only compact disc (CD-ROM, from English Compact Disc Read-Only Memory), a versatile digital disc or DVD (from English Digital Versatile Disc), a removable disk, a hard disk drive, a smart card, a flash memory device (e.g., a card, a key), a magnetic tape, a database, a server, and another suitable storage medium.

En variante, les instructions du programme sont issues d’une source externe et téléchargées via un réseau. C’est notamment le cas pour les applications. Dans ce cas, le produit programme d'ordinateur comprend un support de données lisible par ordinateur sur lequel sont stockées les instructions de programme ou un signal de support de données sur lequel sont codées les instructions de programme.Alternatively, program instructions are taken from an external source and downloaded over a network. This is particularly the case for applications. In this case, the computer program product comprises a computer-readable data carrier on which the program instructions are stored or a data carrier signal on which the program instructions are encoded.

L’invention se rapporte à un produit programme d’ordinateur comprenant le support lisible par ordinateur 134 contenant des instructions qui, lorsqu'elles sont exécutées par le circuit, amènent le système 100 à mettre en œuvre l’étape du procédé d’aide à la configuration selon l’invention.A computer program product includes computer readable media 134 containing instructions which, when executed by the circuit, cause the system 100 to implement the step of the method of assisting in the configuration according to the invention.

La forme des instructions de programme est, par exemple, une forme de code source, une forme exécutable par ordinateur ou toute forme intermédiaire entre un code source et une forme exécutable par ordinateur, telle que la forme résultant de la conversion du code source via un interpréteur, un assembleur, un compilateur, un éditeur de liens ou un localisateur. En variante, les instructions de programme sont un microcode, des instructions firmware, des données de définition d’état, des données de configuration pour circuit intégré (par exemple du VHDL) ou un code objet. Les instructions de programme sont écrites dans n’importe quelle combinaison d’un ou de plusieurs langages de programmation, par exemple un langage de programmation orienté objet (C++, JAVA, Python), un langage de programmation procédural (langage C par exemple).The form of the program instructions is, for example, a source code form, a computer executable form or any intermediate form between a source code and a computer executable form, such as the form resulting from the conversion of the source code via a interpreter, assembler, compiler, linker or locator. Alternatively, the program instructions are microcode, firmware instructions, state definition data, integrated circuit configuration data (e.g. VHDL), or object code. Program instructions are written in any combination of one or more programming languages, for example, object-oriented programming language (C++, JAVA, Python), procedural programming language (C language for example).

Le système 100 comprend en outre une interface utilisateur 120 comprenant dispositif d’entrée 121 et un dispositif de sortie 122.The system 100 further comprises a user interface 120 comprising an input device 121 and an output device 122.

L'interface utilisateur 120 comprend un dispositif d'entrée 121 pour permettre à utilisateur de saisir des données ou des commandes de façon à pouvoir interagir avec les programmes selon l’invention. Le dispositif d’entrée 121 comprend, par exemple, un clavier ou un une interface de pointage, tel qu’une souris, un crayon optique, un pavé tactile, une télécommande, un dispositif de reconnaissance vocale, un dispositif haptique, un dispositif de reconnaissance gestuelle.The user interface 120 includes an input device 121 to allow the user to enter data or commands so as to be able to interact with the programs according to the invention. The input device 121 comprises, for example, a keyboard or a pointing interface, such as a mouse, an optical pencil, a touchpad, a remote control, a voice recognition device, a haptic device, a gesture recognition.

Le dispositif de sortie 122 est conçu pour restituer des informations à un utilisateur, de façon sensorielle ou électrique, comme, par exemple de façon visuelle ou sonore. L’interface de sortie 122 comprend, par exemple, une interface graphique. L’interface de sortie 122 peut être le dispositif d’entrée, par exemple, dans le cas d’une tablette tactile.The output device 122 is designed to return information to a user, sensory or electrical, such as, for example, visually or audibly. The output interface 122 includes, for example, a graphical interface. The output interface 122 can be the input device, for example, in the case of a touchscreen tablet.

L’ensemble d’au moins un dispositif de communication permet une communication entre les éléments du système 100 et éventuellement entre au moins un élément du système et un dispositif extérieur au système 100. Ce dispositif de communication peut établir un lien physique entre des éléments du système 100 et/ou entre un élément du système 100 et un dispositif extérieur au système 100 et/ou un lien en communication à distance (sans fil) entre des éléments du système 100 et/ou entre un élément du système et un dispositif extérieur au système 100.The set of at least one communication device allows communication between the elements of the system 100 and possibly between at least one element of the system and a device external to the system 100. This communication device can establish a physical link between elements of the system. system 100 and/or between an element of the system 100 and a device external to the system 100 and/or a remote (wireless) communication link between elements of the system 100 and/or between an element of the system and a device external to the system 100.

Nomenclature :Nomenclature :

ACQU1 : Première acquisitionACQU1: First acquisition

ACQU2 : seconde acquisitionACQU2: second acquisition

IM1 : pluralité de premières imagesIM1: plurality of first images

IM2 : pluralité de secondes imagesIM2: plurality of second images

IM3 : pluralité de troisièmes imagesIM3: plurality of third images

IM2 : pluralité de quatrièmes imagesIM2: plurality of fourth images

TRAI1 : traitement des images de la pluralité de premières imagesTRAI1: image processing of the plurality of first images

TRAI2 : traitement des images de la pluralité de secondes imagesTRAI2: processing of images of the plurality of second images

ALG1 : premier algorithmeALG1: first algorithm

ALG2 : second algorithmeALG2: second algorithm

CCN1 : première fonction apprenanteCCN1: first learning function

Ci : première classe de mouvementCi: first class of movement

GEN1, 2, 3, 4, 5, 6, 7, 8, 9 : étapes de générationGEN1, 2, 3, 4, 5, 6, 7, 8, 9: generation steps

ID1 : première identificationID1: first identification

SQ1 : premier squelette de l’individuSQ1: first skeleton of the individual

SQ2 : second squelette de l’individuSQ2: second skeleton of the individual

SQR: squelette de la posture de référenceSQ R : skeleton of the reference posture

SEG1: premier segmentSEG 1 : first segment

SEGR1: premier segment du squelette de la posture de référenceSEG R1 : first segment of the skeleton of the reference posture

Vs : valeur seuilVs: threshold value

EVR1 : indicateur visuel d’erreurEVR1: visual error indicator

POS1 : ensemble de postures caractéristiquesPOS1: set of characteristic postures

POS1R : ensemble de postures de référencePOS1R: set of reference postures

ERR1 : premier indicateur d’erreurERR1: first error indicator

SEQ1: première séquence cinématiqueSEQ 1 : first cinematic sequence

COMP1, COMP2 : comparaisons de l’indicateur d’erreur avec la valeur seuilCOMP1, COMP2: comparisons of the error indicator with the threshold value

ANG1: angle mesuré entre deux segmentsANG 1 : angle measured between two segments

P1: point du squeletteP 1 : skeleton point

100 : système d’assistance à la réalisation d’exercices physiques100: assistance system for performing physical exercises

110 : dispositif optique110: optical device

120 : interface utilisateur120: user interface

121 : dispositif d’entrée de l’interface utilisateur121: User interface input device

122 : dispositif de sortie de l’interface utilisateur122: User interface output device

130 : premier calculateur130: first calculator

131 : module de traitement de données131: data processing module

132 : mémoire132: memory

133 : lecteur133: reader

134 : support lisible par ordinateur134: computer-readable media

150 : afficheur150: display

160 : boitier160: case

Claims (14)

Procédé de détection d’une posture physique et de génération d’une consigne, caractérisé en ce qu’il comprend la suite d’étapes suivantes :
  • Acquisition (ACQU1) d’une séquence de premières images (IM1) d’un premier individu ;
la suite d’étapes comprenant les suivantes mises en œuvre par ordinateur :
  • Traitement (TRAI1) des premières images (IM1) comprenant une extraction automatique d’au moins une zone utile du corps dudit premier individu de chaque première image (IM1) pour générer une séquence de deuxièmes images (IM2) de la zone utile ;
  • Identification (ID1) d’un type de mouvement physique par une première fonction d’apprentissage (CCN1) traitant des deuxièmes images (IM2) de manière à sélectionner une première classe (C1) de mouvements parmi une pluralité de classes des mouvements (Ci) ;
  • Première génération (GEN1) d’une séquence de premiers squelettes (SQ1) du premier individu par application d’un algorithme de squelettisation à la séquence de deuxièmes images (IM2), chaque premier squelette (SQ1) comportant un ensemble de points caractéristiques du squelette de la zone utile ;
  • Extraction (EXT) de squelettes caractéristiques (SQR) de la séquence de premiers squelettes par un premier algorithme (ALG1), les squelettes caractéristiques correspondant à des postures caractéristiques (POS1) de la première classe de mouvement (C1) ;
  • Deuxième génération (GEN2) d’un premier indicateur d’erreur (ERR1) de posture par comparaison d’un ensemble postures de référence (POS1R) définies pour les postures caractéristiques respectives et de l’ensemble de postures caractéristiques (POS1) dudit individu ;
  • Comparaison (COMP1) d’une valeur du premier indicateur d’erreur (ERR1) avec au moins une valeur seuil prédéterminée ;
  • Lorsque la valeur de l’indicateur d’erreur (ERR1) est supérieure ou égale à la valeur seuil (VS), génération automatique (GEN3) d’une première consigne numérique pour afficher une séquence d’images de référence représentative de la première classe de mouvement (C1) à une première vitesse inférieure à un seuil de vitesse prédéfini.
Method for detecting a physical posture and generating an instruction, characterized in that it comprises the following series of steps:
  • Acquisition (ACQU1) of a sequence of first images (IM1) of a first individual;
the sequence of steps including the following implemented by computer:
  • Processing (TRAI1) of the first images (IM1) comprising automatic extraction of at least one useful area of the body of said first individual from each first image (IM1) to generate a sequence of second images (IM2) of the useful area;
  • Identification (ID1) of a type of physical movement by a first learning function (CCN1) processing second images (IM2) so as to select a first class (C1) of movements among a plurality of classes of movements (Ci) ;
  • First generation (GEN1) of a sequence of first skeletons (SQ1) of the first individual by application of a skeletonization algorithm to the sequence of second images (IM2), each first skeleton (SQ1) comprising a set of characteristic points of the skeleton of the useful area;
  • Extraction (EXT) of characteristic skeletons (SQ R ) from the sequence of first skeletons by a first algorithm (ALG1), the characteristic skeletons corresponding to characteristic postures (POS1) of the first movement class (C1);
  • Second generation (GEN2) of a first posture error indicator (ERR1) by comparison of a set of reference postures (POS1R) defined for the respective characteristic postures and the set of characteristic postures (POS1) of said individual;
  • Comparison (COMP1) of a value of the first error indicator (ERR 1 ) with at least one predetermined threshold value;
  • When the value of the error indicator (ERR 1 ) is greater than or equal to the threshold value (V S ), automatic generation (GEN3) of a first digital instruction to display a sequence of reference images representative of the first movement class (C1) at a first speed lower than a predefined speed threshold.
Procédé selon la revendication précédente, comprenant, lorsque la valeur de l’indicateur d’erreur (ERR1) est inférieure à la valeur seuil (VS), une étape de génération (GEN4) d’une deuxième consigne numérique pour informer l’utilisateur d’une instruction de mouvement associée à une consigne de vitesse d’exécution du mouvement par une interface de sortie.Method according to the preceding claim, comprising, when the value of the error indicator (ERR 1 ) is less than the threshold value (V S ), a step of generating (GEN4) a second digital instruction to inform the user of a movement instruction associated with a movement execution speed instruction by an output interface. Procédé selon l’une quelconque des revendications précédentes, dans lequel la troisième génération de l’indicateur d’erreur de posture (ERR1) comprend les étapes suivantes, pour au moins un des squelettes caractéristiques :
  • Mesure d’un écart entre un point du squelette caractéristique (SQR) et un segment d’un squelette de la posture de référence (POS1R) définie pour la posture caractéristique associée au squelette caractéristique ; et/ou
  • Mesure d’un écart d’un ou plusieurs segments du squelette caractéristique (SQR) par rapport à un ou plusieurs segments du squelette de la posture de référence (POS1R) ; et/ou
  • Mesure d’un alignement angulaire d’un ou plusieurs segments du squelette caractéristique (SQR) par rapport à un ou plusieurs segments du squelette d’une des postures de référence (POS1R) et/ou par rapport à un axe horizontal ; et/ou
  • Mesure d’un intervalle de temps séparant les instants d’acquisition des deux squelettes caractéristiques (SQR), et comparaison de l’intervalle de temps avec un intervalle de temps de référence caractéristique de la classe de mouvements (C1) ; et/ou
  • Mesure de la trajectoire d’un point du squelette (SQ1) et comparaison de la trajectoire avec la trajectoire d’un ou plusieurs points du squelette de la posture de référence déterminée (POS1R).
Method according to any one of the preceding claims, in which the third generation of the posture error indicator (ERR1) includes the following steps, for at least one of the characteristic skeletons:
  • Measurement of a difference between a point of the characteristic skeleton (SQ R ) and a segment of a skeleton of the reference posture (POS1R) defined for the characteristic posture associated with the characteristic skeleton; and or
  • Measurement of a deviation of one or more segments of the characteristic skeleton (SQ R ) in relation to one or more segments of the skeleton of the reference posture (POS1R); and or
  • Measurement of an angular alignment of one or more segments of the characteristic skeleton (SQ R ) in relation to one or more segments of the skeleton of one of the reference postures (POS1R) and/or in relation to a horizontal axis; and or
  • Measurement of a time interval separating the moments of acquisition of the two characteristic skeletons (SQ R ), and comparison of the time interval with a reference time interval characteristic of the movement class (C1); and or
  • Measurement of the trajectory of a point of the skeleton (SQ1) and comparison of the trajectory with the trajectory of one or more points of the skeleton of the determined reference posture (POS1R).
Procédé selon l’une quelconque des revendications précédentes, dans lequel la suite d’étapes est répétée tant que la valeur de l’indicateur d’erreur (ERR1) est supérieure ou égale à la valeur seuil (VS), la suite d’étape comprenant, lors de sa répétition, l’extraction, dans la première classe de mouvement (C1) d’une sous-séquence de la séquence de premiers squelettes, la première consigne numérique étant générée pour afficher la sous-séquence.Method according to any one of the preceding claims, in which the sequence of steps is repeated as long as the value of the error indicator (ERR 1 ) is greater than or equal to the threshold value (V S ), the sequence d the step comprising, during its repetition, the extraction, in the first movement class (C1) of a subsequence of the sequence of first skeletons, the first digital instruction being generated to display the subsequence. Procédé selon la revendication précédente, dans lequel la suite d’étapes comprend la mémorisation de la valeur de l’indicateur d’erreur dans une mémoire, la suite d’étapes comprenant lorsqu’elle est répétée, la comparaison de la valeur de l’indicateur à au moins une valeur de l’indicateur mémorisée dans la mémoire lors d’une répétition de la suite d’étapes et la génération d’une recommandation dépendant de la comparaison.Method according to the preceding claim, in which the sequence of steps comprises storing the value of the error indicator in a memory, the sequence of steps comprising when repeated, the comparison of the value of the indicator to at least one value of the indicator stored in the memory during a repetition of the sequence of steps and the generation of a recommendation depending on the comparison. Procédé selon l’une quelconque des revendications 4 et 5, dans lequel la première consigne déclenche l’information de l’utilisateur d’une diminution de la vitesse d’exécution de la première séquence cinématique par une interface de sortie.Method according to any one of claims 4 and 5, in which the first instruction triggers information to the user of a reduction in the speed of execution of the first kinematic sequence by an output interface. Procédé selon l’une quelconque des revendications 4 à 6, dans lequel la première consigne déclenche l’information de l’utilisateur d’une diminution du nombre de répétitions du mouvement à effectuer.Method according to any one of claims 4 to 6, in which the first instruction triggers information to the user of a reduction in the number of repetitions of the movement to be performed. Procédé selon l’une quelconque des revendications précédentes, comprenant en temps réel l’affichage, sur un écran, d’un premier indicateur visuel d’erreur (EVR1) représentatif du premier indicateur d’erreur (ERR1).Method according to any one of the preceding claims, comprising in real time the display, on a screen, of a first visual error indicator (EVR 1 ) representative of the first error indicator (ERR 1 ). Procédé selon la revendication précédente, comprenant la génération du premier indicateur visuel (EVR1) à partir de l’indicateur d’erreur (ERR1) et l’affichage en temps réel, sur un écran, de la première séquence d’images ou de la deuxième séquence d’images superposée à l’indicateur visuel d’erreur (EVR1).Method according to the preceding claim, comprising the generation of the first visual indicator (EVR 1 ) from the error indicator (ERR 1 ) and the display in real time, on a screen, of the first sequence of images or of the second sequence of images superimposed on the visual error indicator (EVR1). Procédé selon la revendication précédente, caractérisée en ce que l’indicateur d’erreur visuel (EVR1) comprend l’affichage de :
  • Un indicateur cinématique de translation comprenant une première position, un vecteur et une seconde position, la première position étant représentative d’une position d’une zone du corps de l’utilisateur au début du mouvement et la deuxième représentation étant représentative de la position de la même partie du corps de l’utilisateur à la fin du mouvement ; et/ou
  • un avatar généré à partir de la séquence de premiers squelette (SQ1) ; et/ou
  • une indication d’une zone à atteindre matérialisée par un polygone ou une forme.
Method according to the preceding claim, characterized in that the visual error indicator (EVR1) comprises the display of:
  • A kinematic translation indicator comprising a first position, a vector and a second position, the first position being representative of a position of a zone of the user's body at the start of the movement and the second representation being representative of the position of the same part of the user's body at the end of the movement; and or
  • an avatar generated from the sequence of first skeletons (SQ 1 ); and or
  • an indication of an area to be reached materialized by a polygon or a shape.
Procédé selon l’une quelconque des revendications précédentes, comprenant l’identification automatique d’un individu et de chargement d’un profil d’entrainement relatif audit individu, ladite étape d’identification automatique étant réalisée par reconnaissance faciale.Method according to any one of the preceding claims, comprising the automatic identification of an individual and loading a training profile relating to said individual, said automatic identification step being carried out by facial recognition. Procédé selon l’une quelconque des revendications précédentes, comprenant une étape de comptage du nombre de répétitions de la première séquence cinématique.Method according to any one of the preceding claims, comprising a step of counting the number of repetitions of the first kinematic sequence. Procédé selon la revendication précédente, comprenant le comptage du nombre de répétitions du mouvement lors desquelles la valeur de l’indicateur d’erreur (ERR1) est inférieure à la valeur seuil (VS).Method according to the preceding claim, comprising counting the number of repetitions of the movement during which the value of the error indicator (ERR 1 ) is less than the threshold value (V S ). Système d’assistance à la réalisation d’exercices physiques caractérisé en ce qu’il comprend :
  • Au moins un dispositif optique configuré pour réaliser l’acquisition (ACQU1) d’une pluralité de premières images (IM1) d’un individu ;
  • Au moins un premier calculateur et une mémoire configurés pour effectuer :
    • Un traitement (TRAI1) des premières images (IM1) comprenant une extraction automatique d’au moins une zone utile du corps dudit premier individu de chaque première image (IM1) pour générer une séquence de deuxièmes images (IM2) de la zone utile ;
    • Une identification (ID1) d’un type de mouvement physique par une première fonction d’apprentissage (CCN1) traitant des deuxièmes images (IM2) de manière à sélectionner une première classe (C1) de mouvements parmi une pluralité de classes des mouvements (Ci) ;
    • Une première génération (GEN1) d’une séquence de premiers squelettes (SQ1) du premier individu par application d’un algorithme de squelettisation à la séquence de deuxièmes images (IM2), chaque premier squelette (SQ1) comportant un ensemble de points caractéristiques du squelette de la zone utile ;
    • Une extraction de squelettes caractéristiques (SQR) de la séquence de premiers squelettes par un premier algorithme (ALG1), les squelettes caractéristiques correspondant à des postures caractéristiques (POS1) de la première classe de mouvement (C1) ;
    • Une deuxième génération (GEN2) d’un premier indicateur d’erreur (ERR1) de posture par comparaison d’un ensemble postures de référence (POS1R) définies pour les postures caractéristiques respectives et de l’ensemble de postures caractéristiques (POS1) dudit individu ;
    • Une comparaison (COMP1) d’une valeur du premier indicateur d’erreur (ERR1) avec au moins une valeur seuil prédéterminée ;
    • Lorsque la valeur de l’indicateur d’erreur (ERR1) est supérieure ou égale à la valeur seuil (VS), une génération automatique (GEN3) d’une première consigne numérique pour afficher une séquence d’images de référence représentative de la première classe de mouvement (C1) à une première vitesse inférieure à un seuil de vitesse prédéfini
  • Au moins un afficheur configuré pour lire la séquence de premières images et/ou la séquence de secondes images ; et
  • Au moins un boitier comprenant le dispositif optique.
System of assistance for carrying out physical exercises characterized in that it comprises:
  • At least one optical device configured to perform the acquisition (ACQU1) of a plurality of first images (IM1) of an individual;
  • At least a first calculator and a memory configured to perform:
    • A processing (TRAI1) of the first images (IM1) comprising an automatic extraction of at least one useful area of the body of said first individual from each first image (IM1) to generate a sequence of second images (IM2) of the useful area;
    • An identification (ID1) of a type of physical movement by a first learning function (CCN1) processing second images (IM2) so as to select a first class (C1) of movements among a plurality of classes of movements (Ci ) ;
    • A first generation (GEN1) of a sequence of first skeletons (SQ1) of the first individual by application of a skeletonization algorithm to the sequence of second images (IM2), each first skeleton (SQ1) comprising a set of characteristic points of the skeleton of the useful area;
    • An extraction of characteristic skeletons (SQ R ) from the sequence of first skeletons by a first algorithm (ALG1), the characteristic skeletons corresponding to characteristic postures (POS1) of the first movement class (C1);
    • A second generation (GEN2) of a first posture error indicator (ERR1) by comparison of a set of reference postures (POS1R) defined for the respective characteristic postures and the set of characteristic postures (POS1) of said individual ;
    • A comparison (COMP1) of a value of the first error indicator (ERR 1 ) with at least one predetermined threshold value;
    • When the value of the error indicator (ERR 1 ) is greater than or equal to the threshold value (V S ), an automatic generation (GEN3) of a first digital instruction to display a sequence of reference images representative of the first movement class (C1) at a first speed lower than a predefined speed threshold
  • At least one display configured to read the sequence of first images and/or the sequence of second images; And
  • At least one box comprising the optical device.
FR2206204A 2022-06-22 2022-06-22 SYSTEM AND METHOD OF ASSISTANCE IN PERFORMING PHYSICAL MOVEMENTS Pending FR3137203A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2206204A FR3137203A1 (en) 2022-06-22 2022-06-22 SYSTEM AND METHOD OF ASSISTANCE IN PERFORMING PHYSICAL MOVEMENTS
PCT/EP2023/067050 WO2023247734A1 (en) 2022-06-22 2023-06-22 System and method for the assisted performance of physical movements

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2206204 2022-06-22
FR2206204A FR3137203A1 (en) 2022-06-22 2022-06-22 SYSTEM AND METHOD OF ASSISTANCE IN PERFORMING PHYSICAL MOVEMENTS

Publications (1)

Publication Number Publication Date
FR3137203A1 true FR3137203A1 (en) 2023-12-29

Family

ID=83690497

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2206204A Pending FR3137203A1 (en) 2022-06-22 2022-06-22 SYSTEM AND METHOD OF ASSISTANCE IN PERFORMING PHYSICAL MOVEMENTS

Country Status (2)

Country Link
FR (1) FR3137203A1 (en)
WO (1) WO2023247734A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120269393A1 (en) * 2011-01-26 2012-10-25 Ayako Komoto Articulation region display apparatus, articulation region detecting apparatus, articulation region belongingness calculating apparatus, articulated object region belongingness calculating apparatus, and articulation region display method
US20210133985A1 (en) * 2019-11-01 2021-05-06 Wistron Corporation Method, system, and computer-accessible recording medium for motion recognition based on an atomic pose
US20220176200A1 (en) * 2019-08-30 2022-06-09 Huawei Technologies Co., Ltd. Method for Assisting Fitness and Electronic Apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120269393A1 (en) * 2011-01-26 2012-10-25 Ayako Komoto Articulation region display apparatus, articulation region detecting apparatus, articulation region belongingness calculating apparatus, articulated object region belongingness calculating apparatus, and articulation region display method
US20220176200A1 (en) * 2019-08-30 2022-06-09 Huawei Technologies Co., Ltd. Method for Assisting Fitness and Electronic Apparatus
US20210133985A1 (en) * 2019-11-01 2021-05-06 Wistron Corporation Method, system, and computer-accessible recording medium for motion recognition based on an atomic pose

Also Published As

Publication number Publication date
WO2023247734A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
US10839578B2 (en) Artificial-intelligence enhanced visualization of non-invasive, minimally-invasive and surgical aesthetic medical procedures
Kaur et al. Prediction and localization of student engagement in the wild
CN108256433A (en) A kind of athletic posture appraisal procedure and system
US11475788B2 (en) Method and system for evaluating and monitoring compliance using emotion detection
WO2019111165A1 (en) Interactive and adaptive learning, neurocognitive disorder diagnosis, and noncompliance detection systems using pupillary response and face tracking and emotion detection with associated methods
CN109925678A (en) A kind of training method based on eye movement tracer technique, training device and equipment
US10610109B2 (en) Emotion representative image to derive health rating
Kai et al. A Comparison of Video-Based and Interaction-Based Affect Detectors in Physics Playground.
Baptista et al. Video-based feedback for assisting physical activity
Zhang et al. A human-in-the-loop deep learning paradigm for synergic visual evaluation in children
Irfan et al. Personalised socially assistive robot for cardiac rehabilitation: Critical reflections on long-term interactions in the real world
CN117438048A (en) Method and system for assessing psychological disorder of psychiatric patient
Devanne Multi-level motion analysis for physical exercises assessment in kinaesthetic rehabilitation
Vollmer et al. A user study on robot skill learning without a cost function: Optimization of dynamic movement primitives via naive user feedback
US20230105077A1 (en) Method and system for evaluating and monitoring compliance, interactive and adaptive learning, and neurocognitive disorder diagnosis using pupillary response, face tracking emotion detection
WO2023247734A1 (en) System and method for the assisted performance of physical movements
Wei et al. Human action understanding and movement error identification for the treatment of patients with Parkinson's disease
Zhong Reliable deep learning for intelligent wearable systems
Mandalapu et al. Understanding Affective Dynamics of Learning Toward a Ubiquitous Learning System
Jaafar et al. A New Approach in Islamic Learning: Performance Evaluation of Motion Recognition System for Salat Movement
Cacciatori et al. On Developing Facial Stress Analysis and Expression Recognition Platform
Parashar et al. Improved Yoga Pose Detection Using MediaPipe and MoveNet in a Deep Learning Model.
Singh et al. Yoga Pose Detection Using Artificial Intelligence and Machine Learning
Pagliuca et al. Automated categorization of behavioral quality through deep neural networks
Fassina et al. Development of an interactive total body robot enhanced imitation therapy for ASD children

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20231229