SYSTEM AND METHOD FOR ASSISTANCE IN THE PERFORMANCE OF PHYSICAL MOVEMENTS

A method and system using image processing and machine learning to analyze and correct physical movements, ensuring effective exercise performance and reducing injury risk by providing real-time feedback.

FR3137203B1Active Publication Date: 2025-01-17AI BRIGHT
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
FR2022006204
Authority / Receiving Office
FR · FR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-22
Publication Date
2025-01-17
Estimated Expiration
2042-06-22

AI Technical Summary

Technical Problem

Individuals performing physical exercises without supervision risk performing movements incorrectly, leading to ineffective training or potential injury due to poor posture and lack of real-time feedback.

Method used

A method and system that analyzes user movements through image processing, identifies the type of exercise, generates a posture error indicator, and provides real-time feedback to correct movements, using machine learning algorithms to compare user postures with reference postures and display corrective images at reduced speed.

Benefits of technology

Enables effective exercise performance by providing real-time feedback to correct posture errors, reducing the risk of injury and improving training efficiency without the need for a trainer.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000035_0000
    Figure 00000035_0000
  • Figure 00000035_0001
    Figure 00000035_0001
  • Figure 00000035_0002
    Figure 00000035_0002
Patent Text Reader

Abstract

SYSTEM AND METHOD FOR ASSISTANCE IN PERFORMING PHYSICAL EXERCISES The invention relates to a method and a system for detecting a physical posture and generating instructions to assist in performing physical exercises and correcting posture. The system comprises posture detection and the generation of instructions to help a user perform a physical exercise. Figure for the abstract: Fig. 1
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: SYSTEM AND METHOD FOR ASSISTANCE IN THE PERFORMANCE OF PHYSICAL MOVEMENTS Field of the invention

[0001] The invention relates to the field of methods for assisting in 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 a physical exercise in order to analyze the correct performance thereof and to monitor the user's performance. State of the art

[0002] Currently, there is a need to assist people who want to start physical training but who do not have access to a trainer. There is also a need for more experienced athletes who want to have a guide during sports sessions that they do alone.

[0003] A problem for people who want to perform exercises alone or without the supervision of a trainer is that they risk not performing the physical exercises they are going to do correctly. Several problems can arise from poor performance of physical exercises. This problem arises identically in the professional context when an individual does not perform a manipulation correctly and risks injuring themselves, for example in the context of a repetitive movement.

[0004] First, it is possible that the user performs a movement that is very little, or not at all, effective in his physical training or in the performance of his work. In this way, the user risks training without obtaining the expected results or performing tasks while injuring himself.

[0005] Second, a user who performs incorrect movements risks injuring themselves by performing bad movements, either accidentally during a repetition of the movement performed incorrectly, or by repeating a bad movement over several sessions.

[0006] There are solutions for visualizing these movements, such as the installation of a mirror or markings, such as markings for positioning the feet or hands in certain exercises or manipulations. However, these solutions are cumbersome, not very flexible and require specific adjustments for each person.

[0007] 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 the said individual, or even injure him in the short or long term.

[0008] In particular, there is a need to provide beginners and more experienced athletes with a system and method for monitoring their physical activity and movements in order to secure and increase the effectiveness of their training.

[0009] Finally, in the professional context, a movement listed and recommended to accomplish an action can be poorly executed without the individual realizing it.

[0010] 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. Summary of the invention

[0011] The invention detailed below makes it possible to overcome the aforementioned drawbacks.

[0012] 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;

[0013] the sequence of steps comprising 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 the 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 applying 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 postures characteristic of the first class of movement; • Third generation of a first posture error indicator by comparing 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 display a sequence of reference images representative of the first class of movement at a first speed lower than a predefined speed threshold.

[0014] The method according to the invention makes it possible, by acquiring and processing a plurality of images of an individual, to process and analyze the actual movements of the individual. The method makes it possible to identify the exercise that the user is performing and, by comparing the user's postures 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.

[0015] 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 him of it. 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 performance of the incorrectly performed movement in order to allow him to correct it. As a result, the method according to the invention makes it possible to prevent the user from performing a movement which is ineffective in his training or which potentially exposes him to a risk of injury.

[0016] 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;

[0017] the sequence of steps comprising 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 the 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 applying 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 postures characteristic of the first class of movement; • Third generation of a first posture error indicator by comparing 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 class of movement at a first speed lower than a predefined speed threshold.

[0018] 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 a 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 allows a movement to be replayed at a slower speed to help the user understand and learn to correct a movement. A technical effect is to avoid injuries, particularly those linked to repeated bad postures.

[0019] 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 making it possible to define gestures and a margin of amplitude of these gestures.

[0020] 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 speed instruction for executing the movement by an output interface. This arrangement makes it possible to inform the user to carry out the rest of his movement.

[0021] 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 deviation 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 compared to one or more segments of the skeleton of the reference posture; and / Or • Measurement of an angular alignment of one or more characteristic skeletal segments relative to one or more skeletal segments of one of the reference postures and / or relative to a horizontal axis; and / or • Measurement of a time interval separating the acquisition times 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.

[0022] These arrangements allow for a detailed analysis of the user's posture which takes into account the position of different parts of the user's body and its comparison with a reference skeleton.

[0023] 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 sub-sequence of the sequence of first skeletons, the first digital instruction being generated to display the sub-sequence. This arrangement makes it possible to focus the user 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 be corrected in order to improve.

[0024] 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 one value of the indicator stored in the memory during a repetition of the sequence of steps and generating a recommendation dependent 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 execution of the movement.

[0025] According to one aspect, the first instruction triggers the user to be informed of a reduction in the speed of execution of the first kinematic sequence via an output interface. This arrangement makes it possible to instruct the user to reduce his speed of execution of the movement so that he can more easily correct it and progress in its execution.

[0026] According to one aspect, the first instruction triggers the user to be informed of a reduction in the number of repetitions of the movement to be performed. This arrangement makes it possible to reduce the risk of injury when a deterioration in the quality execution is detected.

[0027] 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 visualize an indicator which is representative of a posture error in his movement. As a result, the user knows what to correct in his movement.

[0028] 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 sequence of images superimposed on the visual error indicator. The superposition of the images with the error indicator allows the user to clearly visualize the areas and parts of his movement which are to be corrected. This arrangement therefore makes it possible to increase the improvement of the user's movement.

[0029] According to one aspect, the visual error indicator comprises displaying: • A translational kinematic indicator comprising a first position, a vector and a second position, the first position being representative of a position of an area 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.

[0030] This arrangement makes it possible to indicate precisely to the user the gestures that he must carry out in his movement. It therefore improves the learning and correction of the movement.

[0031] According to one aspect, the method according to the invention comprises the automatic identification of an individual and loading of 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 in order to monitor the user's progress over time and sessions, and to correct their posture errors. Facial recognition also makes it possible to automate the association.

[0032] According to one aspect, the method according to the invention comprises a step of counting the number of repetitions of the first kinematic sequence.

[0033] According to one aspect, the method according to the invention comprises counting the number of repetitions of the movement in which the value of the error indicator is lower than the threshold value. This arrangement makes it possible to give a score for the completion of the repetitions of the movement.

[0034] 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 one first calculator and one 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 applying 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 class of movement; • A second generation of a first posture error indicator by comparing 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 lower than a predefined speed threshold • At least one display configured to play the sequence of first images and / or the sequence of second images; and • At least one housing comprising the optical device. Brief description of the figures

[0035] Other characteristics and advantages of the invention will emerge on reading the detailed description which follows, with reference to the appended figures, which illustrate:

[0036] [Fig-1]: a view of a flowchart showing the steps of the method according to the invention;

[0037] [Fig.2]: a view of a posture generated by a user using the method according to the invention;

[0038] [Fig.3]: an illustration of the method of calculating an error indicator according to the invention;

[0039] [Fig.4]: an illustration of a visual error indicator according to the invention;

[0040] [Fig.5]: a view of a system according to an embodiment of the invention; and

[0041] [Fig.6]: a flowchart illustrating the operation of a system according to an embodiment of the invention. Description of the invention

[0042] 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 a goal. 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 goal.

[0043] 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 to learn a general rule for matching inputs to outputs. Unsupervised learning involves presenting the machine learning algorithm with unlabeled data, the objective 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.

[0044] Models used by learning algorithms include neural networks (including deep learning), tree structures, and decision, support vector machines, Bayesian networks and genetic algorithms.

[0045] Neural networks, also known as artificial neural networks, are a class of nonlinear models that map inputs to outputs and are composed of layers that can potentially learn useful representations for predicting outputs. Neural networks are typically organized into layers, composed of a number of interconnected nodes that contain activation functions. Patterns can be presented to the network via an input layer connected to hidden layers, and processing can be performed via the weighted connections of the nodes. The response is then provided by an output layer connected to the hidden layers.

[0046] A multilayer perceptron is a class of feedforward 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 multilayer perceptron uses a supervised learning technique called backpropagation for training. A multilayer perceptron can distinguish data that is not linearly separable.

[0047] 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.

[0048] A recurrent neural network is a neural network where the connections between nodes form a directed graph along a time sequence. This allows it to exhibit temporal dynamic 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 modifiable real-valued weight. Nodes are either input nodes (receiving data from outside the network), output nodes (producing results), or hidden nodes (modifying data en route between input and output).

[0049] In the following description, each learning function mentioned refers to a function determined by a learning algorithm.

[0050] [Fig.l] is a flowchart representing the steps of the method according to the invention.

[0051] 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 that he performs. The plurality of first images IM1 corresponding to the individual performing a movement or 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.

[0052] The following steps of the method are implemented by computer.

[0053] The method then comprises a processing step TRAI1 of the first images IM1 of the sequence of first images. This processing step comprises an 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 field of the image 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 method can be carried out on a field which does not include other elements which could disturb an analysis of the image. Such elements may be other individuals, furniture located in the room in which the first individual is carrying out his exercise 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 analyzing the image to extract a skeleton of the individual. Framing is then carried out 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 “MIKit” for performing 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 calculation.

[0054] The method then comprises a step of identifying a type of physical movement implementing a first learning function CCN1. The first learning function CCN1 receives as input the second images IM2. The learning function assigns a first class Cl of movement to the sequence of second images IM2. The first movement class Cl belongs to a plurality of movement classes Ci. The plurality of movement classes Ci corresponds to all 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 acquired images. Alternatively, it may be a type of manipulation gesture.

[0055] 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 SQi. 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 comprise points which correspond to joints of the individual, such as knees, elbows, shoulders.It can also include points corresponding, for example, to the individual's center of gravity, that is to say, at the level of the individual's navel.

[0056] 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 "MIKit" is used to perform the skeleton extraction. According to one embodiment, an algorithm called "Pixie" and / or an algorithm called "OpenPose" may be used.

[0057] According to one embodiment, during the first generation step of a skeleton SQi, the skeletonization algorithm performs a skeletonization comprising 33 points on said generated skeleton. Such generation of a 33-point skeleton is advantageously fast and inexpensive in terms of computing resources for the calculation. It also makes it possible to have sufficient precision and definition of the skeleton.

[0058] The method then comprises a second generation step GEN2 of a set of characteristic postures POS1 of the first movement class Cl. This generation GEN2 is carried out by second algorithm ALG2 from the first skeleton SQ1 of the individual. This generation makes it possible to obtain the set of characteristic postures POS1 which is characteristic of the first movement class Cl. 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.

[0059] The method then comprises a step of extracting characteristic skeletons SQr. The characteristic skeletons SQR are characteristic of the movement class Cl which has been selected. These characteristic skeletons SQR correspond to characteristic postures POS1 of the movement class CL. These characteristic postures take into account interesting points of the movement such as vertices of trajectories of points of the body during the repetition of the movement. The extraction is carried out by a first algorithm ALG1. The first algorithm takes into account the trajectory of the points of the first skeletons SQi 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.

[0060] The method then comprises a second generation step GEN2 of a first error indicator ERR1 of postures. This second generation GEN2 is carried out by comparing the characteristic postures POS1 of the characteristic skeletons SQr with reference postures POS1R. The reference postures POS1R are reference postures corresponding to the typical movement corresponding to the selected movement class Cl. 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 the set of generated postures of the individual with respect to the set of 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 without limitation: a push-up class, a squat class, an abs class, a pull-up class, etc.

[0061] 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 may 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 movement class of an action carried out on an industrial production line aimed at sorting elements or affixing a label, etc.

[0062] The method then comprises a step of comparing COMP1 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 small for the exercise to be considered as being well executed.

[0063] 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 instruction. 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 a speed of diffusion of the images 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 of the sequence of second images IM2.

[0064] Thus, the method according to the invention allows the analysis of the movements performed by the user as well as the comparison of these with reference postures. It allows the automatic detection of the type of exercise that is performed by the user during the identification step ID1. It also allows determining whether the movement is correctly performed or not. Finally, by displaying at low speed the kinematic sequence containing the correctly performed movement, it allows the user to be guided towards a correct execution of said movement. As a result, the method according to the invention allows control and support of the user in the performance of physical exercises. This control makes it possible to limit the risk of injury for the user in the event of incorrect execution of the movement. The method also allows an improvement in the effectiveness of the training by guiding the user towards the performance of correct and effective movements.The method according to the invention allows the user to progress in performing physical movements. Finally, it allows automatic supervision of the user in performing the physical movement without having to rely on the presence of a trainer guiding the user.

[0065] 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 performing 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 training image sequence in the base. Such training is similar to supervised training. Evaluation of the quality of the movement performed

[0066] 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 instruction. The second digital instruction is transmitted to a display. The second digital instruction comprises a movement instruction and a movement execution speed instruction such that the second instruction triggers the display, by the display, of the movement instruction and the movement execution speed instruction. According to one embodiment, the movement execution speed instruction is a display of the reference image sequence at a predetermined speed.According to one embodiment, the execution speed instruction comprises the broadcasting by a sound broadcasting system of audio messages punctuating the different phases of the movement class CL According to one embodiment, the execution speed instruction comprises the display by the display of messages punctuating the different phases of the movement class CL Thus, the second digital instruction is generated when the movement is correctly performed. The movement instruction corresponds to the continuation 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.

[0067] According to one embodiment, the execution speed instruction depends on the value of the error indicator ERR1. Thus, it is possible in this way to have an execution speed which is adapted to the quality of the movement performed by the user. For example, when the value of the error indicator ERR1 is lower than the threshold value Vs, the method according to the invention can comprise comparing the value of the error indicator ERR1 with a second threshold value VS2 lower than the threshold value Vs and defined for the first movement class CL. Advantageously, the second threshold value VS2 corresponds to an optimal execution of the movement of the first movement class Cl performed.In this way, when the movement is performed correctly enough by the user so that the user does not have to start the movement again 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 VS2 - 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. Generating the error indicator

[0068] According to one embodiment, the posture error indicator is generated from the measurement of a deviation of one or more segments SEGi of the characteristic skeleton SQR with respect to one or more segments SEGR[ of the skeleton of the reference posture POS1R. Each segment is obtained by linking characteristic points of the skeleton considered. Thus, according to one example, as represented in [Fig.2], a first segment SEGi of the first characteristic skeleton SQR corresponds to the right femur of the user (on the left of the figure). The first segment SEGR[ corresponding to 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 deviation is measured between the first segment SEGi of the reference skeleton and the first segment SEGR[. This deviation is presented in [Fig.3], which represents the two segments superimposed and enlarged with respect to [Fig.2].The superposition of the segments is obtained by placing the two skeletons in a reference frame using reference points of said skeletons. For example, a point representing the right foot of the skeleton is used as a reference frame for the two skeletons. This difference corresponds for example to a minimum distance separating the two segments when the skeletons SQi and SQr are superimposed. This type of determination of the error indicator is particularly advantageous because it makes it possible to detect a difference between a “good posture” and the posture of the user during a physical movement by focusing on one or two areas of interest for the latter. According to one embodiment, the error indicator comprises the measurement of the difference between several segments of the skeleton SQR and the skeleton of the reference posture POS1R.

[0069] According to one embodiment, the posture error indicator is generated from the measurement of a deviation between one or more points of the characteristic skeleton SQR and one or more points of the skeleton of the determined reference posture POS1R. According to one embodiment, the deviation is a distance measured between a point of the first skeleton SQR and the corresponding point of the skeleton of the reference posture POS1R. Alternatively, the measurement of the deviation is the measurement of the distance between a point of the characteristic skeleton SQR of the user corresponding to a joint of the latter, and a point corresponding to the same joint on the skeleton of the reference posture POS1R. According to one example, the measured deviation is the estimated distance between a point of the base of the right femur of the characteristic skeleton SQR and the base of the right femur of the skeleton of the reference posture POS1R. The selected point corresponds according to a 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 or right knee of the skeleton. All joints of the body can be taken as a point for measuring the deviations between the characteristic skeleton SQR 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 skeleton of the user.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 distance from ear to nose.

[0070] 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 SQr with respect to one or more segments of the skeleton of the determined reference posture POS1R. Such an arrangement is shown in [Fig.3], where an angle ANGi is measured. According to this embodiment, an angle between the straight line carrying the first segment SEGi and that carrying the first reference segment SEGri is measured. This measurement is carried out in the plane from two-dimensional skeletons. According to one embodiment, the aforementioned measurement is carried out in space from the 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.

[0071] 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 SQL skeleton. In other words, the generation of the indicator comprises the measurement of the time interval separating the acquisition times of two images of 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 start and the end of a movement phase. According to one example, the duration of raising the arms during a “Jumping jack” type exercise is measured. 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 needed by the user during the arm raising phase.

[0072] According to one embodiment, the posture error indicator is generated from the measurement of the trajectory of one or more points of the skeleton SQ1 and the comparison of this trajectory with the trajectory of one or more points of the skeleton of the determined reference posture 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 of each skeleton is a good way of estimating the posture error indicator as it allows the quality of the execution of the movement to be seen. According to the example of [Fig.2], the trajectory of the point Pi corresponding to the right foot of the first skeleton SQ1 is compared with the trajectory of the right foot Pi of the skeleton of the reference posture POS1R.One measurement used to compare the two trajectories is the length of the circular 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 circular arc is a good measurement for comparing the amplitude of the movement performed by the user and comparing it with the amplitude of the reference 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 measurement is particularly effective because it makes it possible to detect unwanted movements that reduce the efficiency of the overall movement.

[0073] According to one embodiment, the error indicator ERRi is calculated by a measurement of curvature on the trajectory of a point of the skeleton SQL. According to one embodiment, the error indicator ERRI is calculated by calculating the curvature of the curve formed by several points of the first skeleton SQL. 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. Generating user recommendations

[0074] 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, from 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 initial sequence of first skeletons SQ1. 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 which 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 subsequence thanks to the digital instruction. 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 his arms and spreads his legs, then a second jump during which the user lowers his arms and tightens his two legs. According to this example, the subsequence represents the sequence of the 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, the person skilled in the art will be able to decide on the number of sequences necessary for the decomposition of the movement class. The usefulness of decomposing the movement according to sequences is to be able to use the analysis tools previously mentioned on portions of the overall movement of the movement class.

[0075] According to one embodiment, the first digital instruction comprises an indication to the user to restart the movement corresponding to the sub-sequence. This characteristic makes it possible to give the instruction to the user to restart a part of the movement that he previously performed. The first digital instruction is generated according to the comparison of the error indicator ERRi 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 movement corresponding to the first kinematic 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 the user's training. In other words, the iterations of the method relating to the analysis of the sub-sequence are repeated until the quality of the movement performed by the user has improved. This arrangement is particularly advantageous because it makes it possible to redo the part of the movement performed several times to teach the user to perform said part of the movement correctly. In this way, the user focuses on the parts of the movement that are not performed correctly. This arrangement is particularly advantageous because it makes it possible to limit excessive fatigue of the user and to reduce the risk of injury to the user. According to one embodiment, the first digital instruction includes an indication to stop the exercise.

[0076] This feature is particularly advantageous depending on the type of error that is detected. Thus, when an error characteristic of a dangerous execution 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 instructs the user to stop his movement. This arrangement advantageously makes it possible to limit the risk of injury to the user. According to one embodiment, the first digital instruction comprises an indication to display the number of repetitions to be performed by the user. In this way, when a deterioration in the quality of execution is detected, the user can receive an instruction to reduce the number of repetitions to be performed. This feature is particularly advantageous depending on the type of error that is detected.Thus, when an error characteristic of excessive fatigue is detected by comparing 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 perform the analysis of the user's posture and movement on the first sequence SEQi by isolating it from the rest of the movement. Thus, when the method detects a defect in the user's posture or in the way they perform the exercise, the method makes it possible to extract a "sub-movement" which represents a small part of the total movement performed by the user. Once this sub-movement is isolated, the method makes it possible to perform the analysis 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 image sequence 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 his 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 that he has not executed correctly, and carry out the movement at reduced speed by following the sequence of images which is read. In this way, he is put in the best conditions to carry out the movement in the best possible way. According to one embodiment, the series of steps includes the storage of the successive values ​​of the first error indicator ERRi in a memory.According to this embodiment, the sequence of steps also comprises the comparison of the value of the last calculated error indicator ERRi with the stored values ​​of the error indicator ERRi. Finally, the sequence of steps comprises the generation of a recommendation depending on said comparison. According to this embodiment, the evolution of the value of the error indicator ERRi is studied to allow an adaptation of the instructions according to the evolution of said error indicator. For example, in the event of an increase in the error indicator ERRi, during repetitions of the movement, a recommendation can be generated to display an instruction to the user to stop his movement.

[0077] This arrangement makes it possible to record data relating to the quality of performance of the user over time and the sessions that the user performs. It makes it possible in this way 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 ERRi is compared with previous values ​​of the first error indicator ERRi 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 performs. According to one embodiment, a recommendation is generated according to the evolution of the first error indicator ERRb. 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 that appeared during this session. In the same way, if an improvement in the user's posture during the movement is detected, the user can receive an indication indicating his 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. Reinforcing the user's motivation is particularly effective for the user to continue to follow regular training, which increases the user's progress over 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 him with his user profile. According to one embodiment, facial identification is performed 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”. Data displayed to the user

[0078] According to one embodiment, the first error indicator ERRi and is displayed on a screen in real time. Advantageously, each time a new value of the error indicator ERRi is calculated, it is displayed. This arrangement is particularly advantageous because it allows the user to correct his posture in real time when performing the exercise. According to one embodiment, a score taking into account the value of the first error indicator ERRi is displayed in real time on the screen. The displayed score comprises, for example, a percentage generated from the values ​​of the error indicator ERRb. According to one embodiment, the score takes into account several first error indicators ERRi. In this way, it is possible to display a score taking into account several different data of the user's posture when performing an exercise.In this way, the score takes into account the overall achievement of the exercise rather than taking into account a single piece of data from it.

[0079] According to one example, the error indicator comprises a first repetition indicator. By first repetition indicator is meant an indicator that 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 comprises a movement indicator. The movement indicator is used to evaluate the overall quality of the movement by counting several repetitions thereof. 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 of each repetition of the movement performed. The movement indicator advantageously makes it possible to calculate a score representing the quality of the user's movement execution. 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's 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 fitness state 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, it can be deduced that the user's fitness state 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 subsequent movements during the session in order to take into account the user's state of fatigue. This arrangement is particularly advantageous because it reduces the risk of injury for an individual who is tired. In the same way, a low movement indicator makes it possible to evaluate the mastery and correct 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 described previously.

[0080] According to one example, when the user performs a leg bending movement (otherwise called a "squat"), an error indicator is calculated by taking into account on the sequence of first skeletons SQ1 or on the sequence of characteristic skeletons SQR the orientation of the individual's head. In other words, it is checked whether the user is looking in front of him. A value of the error indicator in this case is the percentage of images in the sequence on which the user is looking in front of him. 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 by 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 a radius of curvature is detected as too small, then an indication to stop the movement can be displayed to the user. Advantageously, this arrangement makes it possible to limit the risk of injury when performing this movement.

[0081] 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 is meant a sequential display of the images of 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 performs the exercise. According to one embodiment, the first error indicator ERRi is used to generate a visual error indicator EVRi which is superimposed on the video of the user broadcast when he performs his exercise.For example, in the case where the error indicator ERRi relates to a measurement of the distance of a segment of the user's skeleton SQ1 with the same segment on the skeleton of the reference posture, the visual error indicator EVRI 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 on which the distance is measured. According to one embodiment, the visual error indicator EVRi comprises an arrow or a segment representing the difference between the user's posture and the reference posture.

[0082] According to one embodiment, the visual error indicator EVRi comprises a translation kinematic 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 perform 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 performed for the user to reach the reference posture is displayed to the user.This way, the user can easily see the adjustments he needs to make to his posture without having to ask any questions.

[0083] According to one embodiment, the visual error indicator EVRi comprises 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 the class of movements Cl. It is therefore easy for him to see how to perform the exercise qualitatively.

[0084] According to one embodiment, the visual error indicator EVRi comprises 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 SQRi skeleton. In this way, the generated avatar tracks the user's movements. This arrangement is particularly advantageous because it allows the user to track and evaluate their own movements in real time.

[0085] According to one embodiment, the avatar is generated from the second skeleton SQR2 of the posture of several postures of 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 performed. In this way, the user sees in real time a representation of himself performing a correct and efficient movement. In this way, the user is perfectly encouraged to perform the exercise in the best possible way.

[0086] 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 SQRi and / or the second skeleton SQR2. 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 a previously taken image of the individual. The use of 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 that follows his movements and that resembles him.

[0087] 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 into the learning function skeletons of people performing physical exercises which are associated with respective avatar images, so that the trained third learning function associates each skeleton of people with the avatar image of the base. 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 covering around the structure defined by said third skeleton.

[0088] According to one embodiment, the visual error indicator EVR1 comprises the display of a target area. The target area 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 EVRi comprises the display of a area in the form of a polygon. In this way, the area to be reached is materialized 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 EVRi is materialized in the form of a circle, or any other simple geometric shape. According to one embodiment, the visual error indicator EVRi also includes a display of the area of ​​the user's body that must move to reach the area to be reached. According to one example, the visual error indicator EVRi includes a circle, a polygon or any geometric shape surrounding or indicating the area of ​​the user's body that must move towards the area to be reached. In this way, there is no ambiguity for the user to know the actions to be taken to correctly perform the physical exercises. Such an arrangement is shown in [Fig.4], in which two visual error indicators are superimposed on the user's hands during their exercise. It can be seen that the left hand indicator indicates an area in which the user's left hand should be placed. Assistance system

[0089] According to one aspect, the invention relates to a system 100 for assisting in performing physical exercises. The system comprises at least one optical device 110 configured to carry out the acquisition ACQU1 of the plurality of first images IM1 of the individual. By optical device 110 is meant any device comprising an optic and a means for acquiring data relating to an optical flow. Such an optical device 110 is for example a camera, a video camera, or an infrared sensor. According to one embodiment, the optical device is included in a housing 160.

[0090] The assistance system also comprises at least a first calculator 130 and a memory 132 configured to perform:

[0091] - TRAI1 processing of images comprising automatic extraction of at least a useful area of ​​the individual's body of each acquired image for generating a plurality of second IM2 images;

[0092] - the identification ID1 of a type of physical movement from a first al 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 Ci;

[0093] - the GEN1 generation of a first two-dimensional SQ1 skeleton of the individual by applying a skeletonization algorithm to the plurality of acquired images IM1, said first skeleton SQ1 comprising a set of characteristic points of the human body of the processed images;

[0094] - the generation GEN2 of a set of characteristic postures POS1 of the class of movement Ci from a second algorithm ALG2 processing as input the first skeleton SQ1 in two dimensions of the individual;

[0095] - 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;

[0096] - the COMP1 comparison of a value of the error indicator with at least one threshold value;

[0097] - the automatic generation GEN4 of a first digital instruction leading to the reading an image sequence of a plurality of reference images corresponding to the selected motion class Ci at a first speed lower than a predefined threshold when the value of the error indicator is greater than the threshold value;

[0098] - the automatic generation GEN5 of a second digital instruction to display a movement instruction associated with a movement execution speed instruction when the value of the error indicator is lower than the threshold value.

[0099] The system further comprises at least one display 150 configured to read the sequence of images and / or the movement instruction. By display 150 is meant 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 telephone or smartphone.

[0100] [Fig.5] shows a part of the system according to the invention and a user making movements while being filmed by two optical devices 110.

[0101] [Fig.6] is a diagram illustrating an example of hardware configuration of the configuration assistance system 100 according to the invention.

[0102] 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.

[0103] 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).

[0104] The system 100 comprises a first computer 130. This first computer 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), a field-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.

[0105] The first computer 130 comprises a data processing module 131 for performing calculations, a memory 132, operatively coupled to the data processing circuit 131, a computer-readable medium 134 and possibly a reader 133 adapted to read the computer-readable medium 134.

[0106] The system 100 also includes an input device, an output device, and a communication device.

[0107] Each function of the system 100 is performed by causing the data processing module 131 to read a predetermined program from hardware such as the memory 132 such that the data processing module 131 performs calculations, controls communications performed by the communication device, and reads and / or writes data to the memory 132 and the computer-readable medium 134.

[0108] The method is executed on a single computer or on a system distributed between several computers (in particular via the use of cloud computing).

[0109] The memory 132 is a computer-readable storage medium, and may be configured with, for example, at least one of the following: a read-only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a random access memory (RAM), and another suitable storage medium. The memory 132 may include an operating system and load the programs according to the invention. It includes registers adapted to record parameter variables created and modified during the execution of the aforementioned programs.

[0110] The program product may include the computer-readable recording medium 134 which is a tangible device, not being a transient signal in itself, may be configured with, for example, at least one of the following: a removable medium, such as, but not limited to, a magneto-optical disk (e.g., a Compact Disc Read-Only Memory (CD-ROM), a Digital Versatile Disc or DVD), 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 other suitable storage medium.

[0111] Alternatively, the program instructions are obtained from an external source and downloaded via 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.

[0112] The invention relates to a computer program product comprising the support computer-readable circuit 134 containing instructions which, when executed by the circuit, cause the system 100 to implement the step of the configuration assistance method according to the invention.

[0113] 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 an interpreter, an assembler, a compiler, a linker, or a locator. Alternatively, the program instructions are microcode, firmware instructions, state definition data, integrated circuit configuration data (e.g., VHDL), or object code. The program instructions are written in any combination of one or more programming languages, for example, an object-oriented programming language (C++, JAVA, Python), a procedural programming language (e.g., C language).

[0114] The system 100 further comprises a user interface 120 comprising an input device 121 and an output device 122.

[0115] The user interface 120 comprises an input device 121 for allowing 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, a light pen, a touchpad, a remote control, a voice recognition device, a haptic device, a gesture recognition device.

[0116] The output device 122 is designed to output information to a user, sensorily or electrically, such as, for example, visually or audibly. The output interface 122 comprises, for example, a graphical interface. The output interface 122 may be the input device, for example, in the case of a touch pad.

[0117] 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 100 and / or between an element of the system 100 and a device external to the system 100 and / or a remote communication link (wireless) between elements of the system 100 and / or between an element of the system and a device external to the system 100.

[0118] Nomenclature:

[0119] ACQU1: First acquisition

[0120] ACQU2: second acquisition

[0121] IM1: plurality of first images

[0122] IM2: plurality of second images

[0123] IM3: plurality of third images

[0124] IM2: plurality of fourth images

[0125] TRAI1: processing of the images of the plurality of first images

[0126] TRAI2: processing of the images of the plurality of second images

[0127] ALG1: first algorithm

[0128] ALG2: second algorithm

[0129] CCN1: first learning function

[0130] Ci: first motion class

[0131] GEN1, 2, 3, 4, 5, 6, 7, 8,9: generation steps

[0132] ID1: first identification

[0133] SQ1: first skeleton of the individual

[0134] SQ2: second skeleton of the individual

[0135] SQr: skeleton of the reference posture

[0136] SEGi: first segment

[0137] SEGri: first segment of the skeleton of the reference posture

[0138] Vs: threshold value

[0139] EVR1: visual error indicator

[0140] POS1: set of characteristic postures

[0141] POS1R: set of reference postures

[0142] ERR1: first error indicator

[0143] SEQi: first kinematic sequence

[0144] COMP1,COMP2: comparisons of the error indicator with the threshold value

[0145] ANGi: angle measured between two segments

[0146] Pi: point of the skeleton

[0147] 100: system for assisting in performing physical exercises

[0148] 110: optical device

[0149] 120: user interface

[0150] 121: user interface input device

[0151] 122: user interface output device

[0152] 130: first computer

[0153] 131: data processing module

[0154] 132: memory

[0155] 133: reader

[0156] 134: computer-readable medium

[0157] 150: display

[0158] 160: case,

Claims

Claims

1. Computer-implemented 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 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; • 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 (Cl) of movements from a plurality of classes of movements (Ci); • First generation (GEN1) of a sequence of first skeletons (SQ1) of the first individual by applying 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 zone; • Extraction (EXT) of characteristic skeletons (SQr) from the sequence of first skeletons by a first algorithm (ALG1), the characteristic skeletons corresponding to characteristic postures (POS1) of the first class of movement (Cl); • 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 indicator error indicator (ERRi) with at least one predetermined threshold value; • When the value of the error indicator (ERRi) is greater than or equal to the threshold value (Vs), automatic generation (GEN3) of a first digital instruction to display a sequence of reference images representative of the first class of movement (Cl) at a first speed lower than a predefined speed threshold.

2. Method according to the preceding claim, comprising, when the value of the error indicator (ERRi) is lower than the threshold value (Vs), a step of generating (GEN4) a second digital instruction to inform the user of a movement instruction associated with a speed instruction for executing the movement via an output interface.

3. Method according to any one of the preceding claims, in which the third generation of the posture error indicator (ERRi) comprises the following steps, for at least one of the characteristic skeletons: • Measurement of a deviation between a point of the characteristic skeleton (SQr) 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 (SQr) with respect 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 (SQr) with respect to one or more segments of the skeleton of one of the reference postures (POS1R) and / or with respect to a horizontal axis;and / or • Measurement of a time interval separating the acquisition times of the two characteristic skeletons (SQR), and comparison of the time interval with a reference time interval characteristic of the class of movements (Cl); 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).

4. Method according to any one of the preceding claims, in which the series of steps is repeated as long as the value of the error indicator (ERRi) is greater than or equal to the threshold value (Vs), the series of steps comprising, during its repetition, the extraction, in the first class of movement (Cl) of a sub-sequence of the sequence of first skeletons, the first digital instruction being generated to display the sub-sequence.

5. 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, comparing 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 generating a recommendation dependent on the comparison.

6. Method according to any one of claims 4 and 5, in which the first instruction triggers the user to be informed of a reduction in the speed of execution of the first kinematic sequence via an output interface.

7. Method according to any one of claims 4 to 6, in which the first instruction triggers the user to be informed of a reduction in the number of repetitions of the movement to be performed.

8. Method according to any one of the preceding claims, comprising in real time the display, on a screen, of a first visual error indicator (EVRi) representative of the first error indicator (ERRi).

9. Method according to the preceding claim, comprising generating the first visual indicator (EVRi) from the error indicator (ERRi) and displaying in real time, on a screen, the first sequence of images or the second sequence of images superimposed on the visual error indicator (EVRI).

10. Method according to the preceding claim, characterized in that the visual error indicator (EVRI) comprises the display of: • A translation kinematic indicator comprising a first position, a vector and a second position, the first position being representative of a position of an area 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 (SQi); and / or • an indication of an area to be reached materialized by a polygon or a shape.

11. A method according to any one of the preceding claims, comprising automatically identifying an individual and loading a training profile relating to said individual, said automatic identification step being carried out by facial recognition.

12. A method according to any preceding claim, comprising a step of counting the number of repetitions of the first kinematic sequence.

13. Method according to the preceding claim, comprising counting the number of repetitions of the movement during which the value of the error indicator (ERRi) is less than the threshold value (Vs).

14. Data processing and assistance system for performing physical exercises characterized in that it comprises: • At least one optical device configured to carry out the acquisition (ACQU1) of a plurality of first images (IM1) of an individual; • At least one first computer and one memory configured to carry out: • 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 the second images (IM2) so as to select a first class (Cl) 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 applying 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 zone; • An extraction of characteristic skeletons (SQR) from the sequence of first skeletons by a first algorithm (ALG1), the characteristic skeletons corresponding to characteristic postures (POS1) of the first class of movement (Cl); • 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 (C0MP1) of a value of the first error indicator (ERRi) with at least one predetermined threshold value; • When the value of the error indicator (ERRi) is greater than or equal to the threshold value (Vs), an automatic generation (GEN3) of a first digital instruction to display a sequence of reference images representative of the first class of movement (Cl) 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 housing comprising the optical device.