Method for automatic recognition of a predetermined move of a user
11167170 · 2021-11-09
Assignee
Inventors
Cpc classification
International classification
A63B24/00
HUMAN NECESSITIES
Abstract
A method for automatic recognition of a predetermined move of a user includes the construction of several characteristic physical quantities of the move of the user from acquired measurements performed by a tri-axial accelerometer only within a time interval [t.sub.d; t.sub.i], where the instant t.sub.i is an instant, later than the instant t.sub.d, at which the measured acceleration of a fist of the user in a direction X.sub.m changes sign and becomes negative, the direction X.sub.m being the direction parallel to a forearm of the user, directed from the elbow of the user to the fist of the user, then the classification of the move of the user in a predefined move category, chosen from among several possible predefined categories of moves, from these constructed characteristic physical quantities.
Claims
1. A method for automatic recognition of a predetermined move of a user, the method comprising: acquiring, at a predetermined sampling frequency, measurements of a tri-axial accelerometer and of a tri-axial gyrometer, each fixed onto a forearm of the user, determining characteristic physical quantities of the move of the user from the acquired measurements that correspond to times after an instant t.sub.d at a beginning of the move of the user, without taking into account the measurements acquired from the accelerometer and from the gyrometer before the instant t.sub.d, and classifying the move of the user into a predefined move category, chosen from among at least three possible predefined move categories, based only on the determined characteristic physical quantities, wherein the determining step comprises determining the characteristic physical quantities from the acquired measurements corresponding only to a time interval [t.sub.d; t.sub.i], where an instant t.sub.i is an instant, later than the instant t.sub.d, at which a measured acceleration of a fist of the user in a direction X.sub.m, changes sign and becomes negative, before an abrupt deceleration marking an end of the move of the user, the direction X.sub.m is a direction parallel to the forearm of the user, directed from an elbow of the user toward the fist of the user, and a negative acceleration in the direction X.sub.m corresponds to a slowing down of a speed of the list of the user in the direction X.sub.m, such that the determined characteristic physical quantities are independent of the measurements from the accelerometer after the instant t.sub.i, and independent of the measurements of the accelerometer during the abrupt deceleration marking the end of the move of the user.
2. The method as claimed in claim 1, further comprising automatically resetting determination of the characteristic physical quantities when one of the following conditions is met: a variation of an angular speed, about at least one of an axis parallel to the direction X.sub.m and an axis parallel to a direction orthogonal to the direction X.sub.m, exceeds a predetermined threshold, and an elapsed time interval from the instant t.sub.d exceeds a predetermined time.
3. The method as claimed in claim 1, wherein, the determining step further comprises determining at least one characteristic physical quantity of the characteristic physical quantities from the measurements of the accelerometer, which are expressed in an inertial reference frame.
4. The method as claimed in claim 1, wherein the classifying step is performed by a neural network comprising a single hidden layer.
5. The method as claimed in claim 1, wherein: after execution of the determining step and before execution of the classifying step, the method further comprises confirming that the determined characteristic physical quantities correspond to a possible move of the user to be recognized, the confirming being made from the acquired measurements, and response to confirming that the determined characteristic physical quantities correspond to the possible move of the user to be recognized, triggering the classifying step and, in a contrary case, inhibiting triggering of the classifying step and resetting the determined characteristic physical quantities to default values.
6. The method as claimed in claim 5, wherein the confirming step is performed by a state machine.
7. The method as claimed in claim 1, wherein, the determining step further comprises determining the characteristic physical quantities including: a maximum, a minimum, and an average of instantaneous accelerations measured during the time interval [t.sub.d; t.sub.i] in three mutually orthogonal directions, a maximum, a minimum, and an average of instantaneous speeds of the forearm during the time interval [t.sub.d; t.sub.i] in three mutually orthogonal directions, a maximum, a minimum, and an average of instantaneous angular speeds measured during the time interval [t.sub.d; t.sub.i] about three orthogonal axes of rotation, and a maximum, a minimum, and an average of instantaneous distances traveled, in three mutually orthogonal directions, during the time interval [t.sub.d; t.sub.i].
8. The method as claimed in claim 1, wherein the predetermined move is a predetermined move of a boxer.
9. The method as claimed in claim 1, wherein, the determining step further comprises determining the characteristic physical quantities from the acquired measurements of the accelerometer and the gyrometer only within the time interval [t.sub.d; t.sub.i].
10. A non-transitory microprocessor-readable information storage medium comprising instructions for executing a method according to claim 1, when said instructions are executed by the microprocessor.
11. The method of claim 1, further comprising determining the time instant t.sub.i at which the measured acceleration in the direction X.sub.m changes sign and becomes negative, based on the measured acceleration of the list of the user.
12. A device for automatic recognition of a predetermined move of a user, the device comprising: a tri-axial accelerometer and a tri-axial gyrometer fixed on a forearm of a user, and processing circuitry configured to acquire, at a predetermined sampling frequency, the measurements of the tri-axial accelerometer and of the tri-axial gyrometer, when each is fixed onto the forearm of the user, determine characteristic physical quantities of the move of the user from the acquired measurements corresponding to times after an instant t.sub.d at a beginning of the move of the user, without taking into account the measurements acquired from the accelerometer and from the gyrometer before the instant t.sub.d, and classify the move of the user into a predefined move category, chosen from among at least three possible predefined move categories based only on the determined characteristic physical quantities, wherein the processing circuitry is further configured to determine the characteristic physical quantities, from the acquired measurements corresponding only to a time interval [t.sub.d; t.sub.i], where an instant t.sub.i is an instant, later than the instant t.sub.d, at which a measured acceleration of a fist of the user in a direction X.sub.m changes sign and becomes negative, before an abrupt deceleration marking an end of the move of the user, the direction X.sub.m is a direction parallel to the forearm of the user, directed from an elbow of the user toward the fist of the user, and a negative acceleration in the direction X.sub.m, corresponds to a slowing down of a speed of the fist of the user in the direction X.sub.m, such that the determined characteristic physical quantities are independent of the measurements from the accelerometer after the instant t.sub.i, and independent of the measurements of the accelerometer during the abrupt deceleration marking the end of the move of the user.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The invention will be better understood on reading the following description, given purely as a nonlimiting example, and with reference to the drawings in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8) In these figures, the same numeric references denote the same elements.
DETAILED DESCRIPTION
(9) Chapter I: Examples of Embodiments
(10)
(11) Here, the forearm 8 is, for example, the right forearm of the boxer.
(12)
(13)
(14) The inertial unit 20 comprises in particular a tri-axial accelerometer 30 and a tri-axial gyrometer 32.
(15) The microprocessor 10 implements in particular: a module 24 for confirming the moves to be recognized, and a classifier 26 capable of classifying the moves to be recognized in a predefined category of moves.
(16) The module 24 and the classifier 26 can be implemented in hardware or software form. Here, for example, they are implemented in software form.
(17) The accelerometer 30 measures the acceleration of the housing 4, and therefore of the forearm 8, along three distinct measurement axes. Preferably, the three measurement axes of the accelerometer 30 are respectively parallel to the directions X.sub.m, Y.sub.m and Z.sub.m.
(18) The gyrometer 32 measures the angular speed of the housing 4, and therefore of the forearm 8, about three distinct axes. Preferably, the three measurement axes of the gyrometer 32 are respectively parallel to the directions X.sub.m, Y.sub.m and Z.sub.m.
(19) The module 24 is, here, implemented in the form of a state machine. The different states of this machine and the transitions between these states are represented in
(20) The module 24 is designed to confirm that the actual move of the boxer is indeed a move to be recognized. The actual move is the one that the boxer is in the process of executing. Thus, the module 24 eliminates the stray moves, that is to say moves of the boxer which modify the measurements of the accelerometer 30 or of the gyrometer 32 but which are not moves to be recognized. Here, the moves of the boxer that are sought to be recognized are blows delivered by fists on a physical target or in empty space whereas the stray moves correspond for example to moves due to the skipping around of the boxer.
(21) As an illustration,
(22)
(23)
(24) Examples of additional stray moves that the module 24 must eliminate can also include: a blow delivered to the boxer by another boxer, a blow delivered by the boxer on a target with the fist on the other forearm, not the forearm 8.
(25) The module 24 is designed to confirm whether the current move of the boxer is or is not a move to be recognized. The classifier 26 is executed only if the module 24 has previously confirmed that the current move is a move to be recognized.
(26) The module 24 is, here, also designed to construct, while it proceeds with the confirmation of the move of the boxer, characteristic physical quantities of the move of the boxer. These characteristic physical quantities are intended to be processed by the classifier 26 to recognize this move. For that, the module 24 constructs these characteristic physical quantities only from the measurements performed within a time interval [t.sub.d; t.sub.i]. The instant t.sub.d corresponds to the instant of the start of the move of the boxer. The instant t.sub.i is an instant, later than the instant t.sub.d, at which the acceleration measured in the direction X.sub.m by the accelerometer 30 changes sign and becomes, for example, negative. The instant t.sub.i is prior to the abrupt deceleration which marks the end of the move of the boxer. For example, the instant t.sub.i is the last instant, later than the instant t.sub.d, at which the acceleration changes sign to become negative before this abrupt deceleration. By convention, here, the acceleration is positive along a measurement axis when the forearm 8 accelerates in the direction of the direction X.sub.m represented in
(27)
(28) Hereinbelow, t.sub.c denotes the most recent instant at which the microprocessor 10 has acquired new measurements from the inertial unit 20. The new measurements from this inertial unit 20 are acquired at a sampling frequency f.sub.e. Thus, the instants t.sub.c are repeated periodically at the frequency f.sub.e. The new measurements of the accelerometer 30 in the directions X.sub.m, Y.sub.m and Z.sub.m acquired at the instant t.sub.c are denoted, respectively, A.sub.tcXm, A.sub.tcYm and A.sub.tcZm. The new measurements of the gyrometer 32 in the directions X.sub.m, Y.sub.m and Z.sub.m acquired at the instant t.sub.c are denoted G.sub.tcXm, G.sub.tcYm and G.sub.tcZm.
(29) In each state of the state machine, the module 24 waits for the condition associated with the transitions which allow it to go to a next state to be satisfied.
(30) The state “0” corresponds to the state of the state machine in the absence of significant movement of the forearm 8. Significant movement here denotes a move which provokes an acceleration of the forearm 8 such that the norm of the acceleration measured by the accelerometer 30 exceeds a predetermined threshold THR0. Typically, the threshold THR0 lies between 0 and 0.8 g (1 g=9.80 m/s.sup.2). For example, the threshold THR0 is greater than 0.3 g or 0.5 g and less than 0.8 g.
(31) Each time that the state machine arrives in the state “0”, the module 24 executes the following operations: resetting, to their default values, of the variables whose values are constructed by the module 24 as a function of the measurements of the accelerometer 30 and of the gyrometer 32, and therefore in particular, resetting to their default values of the values of the constructed characteristic physical quantities, and resetting, to their initial values, of the different time counters updated during the execution of the state machine.
(32) Here, the default values of the variables, and in particular of the constructed characteristic physical quantities, are zero.
(33) In this embodiment, the state machine uses time counters whose names are given in the table below.
(34) TABLE-US-00001 Time counter name Initial value Unit CAR0 50 ± 25 Milliseconds CAR1 Lying between 500 and 1000 CAR2 50 ± 25 CAR3 Less than 100 CAR4 50 ± 25
(35) In this table, for each time counter, a range of initial values is indicated. Preferably, the initial value of each counter is therefore chosen from the range indicated in the above table.
(36) The state “1” corresponds to the state of the module 24 when a significant movement of the forearm 8 begins. The module 24 remains in this state as long as the forearm 8 does not decelerate significantly in the direction X.sub.m.
(37) In the state “1”, each time new measurements are acquired by the module 24 at the current instant t.sub.c, the module 24 executes the following operations: computation of the norm A.sub.tc of the instantaneous acceleration of the forearm 8 from the most recent acquired measurements of the acceleration measured in the directions X.sub.m, Y.sub.m and Z.sub.m by the accelerometer 30, only if the norm A.sub.tc of the instantaneous acceleration is below the threshold THR0, decrementation by T.sub.e of the counter CAR0, in which T.sub.e is the sampling period (T.sub.e=1/f.sub.e), independently of the computed norm A.sub.tc of the instantaneous acceleration, decrementation by T.sub.e of the counter CAR1, independently of the computed norm A.sub.tc of the instantaneous acceleration, determination whether the present instant corresponds to the instant t.sub.i at which the acceleration in the direction X.sub.m changes sign and, for example, becomes negative, and independently of the computed norm A.sub.tc of the instantaneous acceleration, construction of the characteristic physical quantities of the move currently performed by the boxer.
(38) In this embodiment, the constructed characteristic physical quantities that are in the state “1” at each instant t.sub.c are as follows: the minima A.sub.minXm, A.sub.minYm and A.sub.minZm of the instantaneous accelerations measured, respectively, in the directions X.sub.m, Y.sub.m and Z.sub.m during the time interval [t.sub.d; t.sub.c], the maxima A.sub.maxXm, A.sub.maxYm and A.sub.maxZm of the instantaneous accelerations measured, respectively, in the directions X.sub.m, Y.sub.m and Z.sub.m during the time interval [t.sub.d; t.sub.c], the average values A.sub.moyXm, A.sub.moyYm and A.sub.moyZm of the instantaneous accelerations measured, respectively, in the directions X.sub.m, Y.sub.m and Z.sub.m during the time interval [t.sub.d; t.sub.c], the minima V.sub.minXm, V.sub.minYm and V.sub.minZm of the instantaneous speeds of the forearm 8 in the directions, respectively, X.sub.m, Y.sub.m and Z.sub.m during the time interval [t.sub.d; t.sub.c], the maxima V.sub.maxXm, V.sub.maxYm and V.sub.maxZm of the instantaneous speeds of the forearm 8 in the directions, respectively, X.sub.m, Y.sub.m and Z.sub.m during the time interval [t.sub.d; t.sub.c], the average values V.sub.moyXm, V.sub.moyYm and V.sub.moyZm of the instantaneous speeds of the forearm 8 in the directions, respectively, X.sub.m, Y.sub.m and Z.sub.m during the time interval [t.sub.d; t.sub.c], the minima G.sub.mimXm, G.sub.minYm and G.sub.minZm of the instantaneous angular speeds of the forearm 8 about the axes parallel to the directions, respectively, X.sub.m, Y.sub.m and Z.sub.m during the time interval [t.sub.d; t.sub.c], the maxima G.sub.maxXm, G.sub.maxYm and G.sub.maxZm of the instantaneous angular speeds of the forearm 8 about the axes parallel to the directions, respectively, X.sub.m, Y.sub.m and Z.sub.m during the time interval [t.sub.d; t.sub.c], the average values G.sub.moyXm, G.sub.moyYm and G.sub.moyZm of the instantaneous angular speeds of the forearm 8 about the axes parallel to the directions, respectively, X.sub.m, Y.sub.m and Z.sub.m during the time interval [t.sub.d; t.sub.c], the minima D.sub.minXm, D.sub.minYm and D.sub.minZm of the instantaneous distances traveled by the forearm 8 in the directions, respectively, X.sub.m, Y.sub.m and Z.sub.m during the time interval [t.sub.d; t.sub.c], the maxima D.sub.maxXm, D.sub.maxYm and D.sub.maxZm of the instantaneous distances traveled by the forearm 8 in the directions, respectively, X.sub.m, Y.sub.m and Z.sub.m during the time interval [t.sub.d; t.sub.c], and the average values D.sub.moyXm, D.sub.moyYm and D.sub.moyZm of the instantaneous distances traveled by the forearm 8 in the directions, respectively, X.sub.m, Y.sub.m and Z.sub.m during the time interval [t.sub.d; t.sub.c].
(39) The instant t.sub.d is equal to the first instant t.sub.c at which the module 24 is in the state “1” and therefore corresponds to the instant of the beginning of the move of the boxer.
(40) Here, the module 24 determines, at each successive instant t.sub.c: the instantaneous speeds V.sub.tcXm, V.sub.tcYm and V.sub.tcZm in the directions, respectively, X.sub.m, Y.sub.m and Z.sub.m, the norm V.sub.tc of the instantaneous speed from the instantaneous speeds V.sub.tcXm, V.sub.tcYm and V.sub.tcZm, the instantaneous distances traveled D.sub.tcXm, D.sub.tcYm and D.sub.tcZm in the interval [t.sub.d; t.sub.c] in the directions, respectively, X.sub.m, Y.sub.m and Z.sub.m, and the norm A.sub.tc of the instantaneous acceleration from the accelerations acquired in the directions X.sub.m, Y.sub.m and Z.sub.m.
(41) For example, here, the module 24 determines the speeds V.sub.tcXm, V.sub.tcYm and V.sub.tcZm by integration of the measurements of the accelerometer 30 in the directions X.sub.m, Y.sub.m and Z.sub.m. The instantaneous distance D.sub.tcXm is for example computed by adding to the instantaneous distance D.sub.(tc-1)Xm computed at the preceding instant t.sub.c-1, the additional distance traveled between the instants t.sub.c-1 and t.sub.c. This additional distance is positive if the movement is in the direction X.sub.m and negative if the movement is in the opposite direction.
(42) At each instant t.sub.c, in the state “1”, the module 24 searches for the instant t.sub.i. For that, here, at each instant t.sub.c, the module 24 checks whether this instant t.sub.c corresponds to the instant t.sub.i, that is to say to an instant at which the acceleration A.sub.tcXm in the direction X.sub.m changes sign to become negative. For example, to do that, the module 24 checks whether the acquired acceleration A.sub.tcXm is negative and whether the acquired acceleration A.sub.tc-1,Xm at the preceding instant t.sub.c-1 is positive. In the affirmative, this instant t.sub.c is then the instant t.sub.i at which the acceleration in the direction X.sub.m changes sign to become negative. At this instant t.sub.i, the module 24 stores in the memory 12: the instantaneous speeds V.sub.tiXm, V.sub.tiYm and V.sub.tiZm, the norm V.sub.ti of the instantaneous speed at the instant t.sub.i, the norm A.sub.ti of the instantaneous acceleration at the instant t.sub.i.
(43) The module 24 also saves in the memory 12 the current values of the characteristic physical quantities constructed at this instant t.sub.i. Thus, the characteristic physical quantities stored are only constructed from the measurements of the inertial unit 20 performed in the interval [t.sub.d; t.sub.i].
(44) Finally, in the state “1”, the module 24 resets the counter CAR3 to its initial value if the condition associated with a transition t.sub.16 is satisfied. The transition t.sub.16 is described later in a table of the conditions which associates, with each transition of the state machine of
(45) The state “2” corresponds to the state of the state machine when approaching the end of the move of the boxer. The state “2” corresponds therefore to a phase of deceleration of the forearm 8.
(46) In the state “2”, the module 24: computes the norm A.sub.tc of the instantaneous acceleration, only if the norm A.sub.tc is below the threshold THR0, it decrements by T.sub.e the counter CAR0, and only if the condition associated with the transition t.sub.24 is satisfied, it resets the counter CAR4 to its initial value (see below, the table of the conditions which associates with this transition t.sub.24 a condition).
(47) The states “3”, “4”, “6” and “7” are states used to confirm or deny that the current move of the boxer is a move to be recognized and not a stray move. In the case where the current move is indeed a move to be recognized, the state machine switches to the state “5”. In the case where it is not possible to confirm that the current move is a move to be recognized: either the state machine returns to the state “0” if it is established that the current move is a stray move, or the state machine returns to the state “1” if it has not been possible, at this stage, either to confirm or deny that the current move is a move to be recognized.
(48) The return to the state “1” makes it possible, if necessary, to subsequently confirm that the current move is indeed a move to be recognized.
(49) When the state machine switches from the state “5” to the state “0”, that means that the move to be recognized is finished. Upon its return to the state “0”, the module 24 is capable of identifying the next move of the boxer.
(50) In each of the states “3”, “4”, “5”, “6” and “7”, the module 24 performs the following operations: it computes the norm A.sub.tc of the instantaneous acceleration, only if the norm A.sub.tc is below the threshold THR0 it decrements by T.sub.e the counter CAR0.
(51) In addition, in the state “3”, the module 24: if the condition associated with the transition t.sub.35 is satisfied, resets the counter CAR2 to its initial value and raises a flag here called “blow detected”, and if the condition associated with the transition t.sub.31 is satisfied, resets the counter CAR1 to its initial value and reinitializes the search for the instant t.sub.i implemented in the state “1”.
(52) The reinitialization of the search for the instant t.sub.i consists in considering that the instant t.sub.i has not yet been reached and in relaunching the search for this instant t.sub.i. Thus, when there is a return to the state “1”, the construction of the characteristic physical quantities is resumed until the next instant t.sub.i found.
(53) In the state “4”, the module 24: decrements, at each instant t.sub.c, the counter CAR0 by T.sub.e, if the condition associated with the transition t.sub.45 is satisfied, resets the counter CAR2 to its initial value and raises the “blow detected” flag, if the condition associated with the transition t.sub.41 is satisfied, resets the counter CAR1 to its initial value and reinitializes the search for the instant t.sub.i.
(54) In the state “5”, the module 24 decrements, at each instant t.sub.c, the counter CAR2 by T.sub.e.
(55) In the state “6”, the module 24: decrements, at each instant t.sub.c, the counter CAR3 by T.sub.e, resets the counter CAR2 to its initial value and raises the “blow detected” flag if the condition associated with the transition t.sub.65 is satisfied, if the condition associated with the transition t.sub.61 is satisfied, resets the counter CAR1 to its initial value and reinitializes the search for the instant t.sub.i implemented in the state “1”.
(56) In the state “7”, the module 24: if the condition associated with the transition t.sub.75 is satisfied, resets the counter CAR2 to its initial value and raises the “blow detected” flag, and if the condition associated with the transition t.sub.71 is satisfied, resets the counter CAR1 to its initial value and reinitializes the search for the instant t.sub.i implemented in the state “1”.
(57) The conditions associated with the different transitions t.sub.ij of the state machine represented in
(58) TABLE-US-00002 Transition Condition associated with the transition t.sub.01 A.sub.tc > THR0 t.sub.10 CAR1 = 0 OR CAR0 = 0 t.sub.12 A.sub.tcXm < THR1 AND V.sub.tiXm > 0 t.sub.16 A.sub.tcXm < THR1 AND V.sub.tiXm ≤ 0 AND (V.sub.tiYm/V.sub.tc > 0.7 OR V.sub.tiZm/V.sub.tc > 0.7) t.sub.61 CAR3 = 0 t.sub.20 CAR0 = 0 t.sub.24 V.sub.tcXm ≤ 0 t.sub.27 V.sub.tcXm > 0 AND (V.sub.tiXm/V.sub.ti > 0.3 OR V.sub.tiYm/V.sub.ti > 0.7) t.sub.23 V.sub.tcXm > 0 AND (V.sub.tiXm/V.sub.ti ≤ 0.3 OR V.sub.tiYm/V.sub.ti ≤ 0.7) t.sub.71 (A.sub.tcXm > 0) OR ((V.sub.tcXm ≤ 0) AND (A.sub.tcXm ≥ (1 − V.sub.tiXm/V.sub.ti ) × THR3)) t.sub.41 CAR4 = 0 t.sub.30 CAR0 = 0 t.sub.31 V.sub.tcXm < 0 AND A.sub.tcXm ≥ THR3 t.sub.35 V.sub.tcXm < 0 AND A.sub.tcXm < THR3 t.sub.40 CAR0 = 0 t.sub.45 A.sub.tcXm < THR5 t.sub.70 CAR0 = 0 t.sub.75 (V.sub.tcXm > 0 AND A.sub.tcXm < THR4) OR (V.sub.tcXm ≤ 0 AND A.sub.tcXm < (1 − V.sub.tiXm/V.sub.ti) × THR3) t.sub.60 CAR0 = 0 t.sub.65 A.sub.tcXm < THR2 t.sub.50 (Variance (G.sub.tcXm) > THR6 AND Variance (G.sub.tcZm) > THR6) OR CAR2 = 0 OR CAR0 = 0
(59) In the above table: the symbol “x” denotes the multiplication operation, the symbol “Variance ( . . . )” denotes a function which computes the variance of the measurement, this variance being computed from the measurements performed during a sliding window during the interval [t.sub.d; t.sub.c].
(60) The values of the different predefined thresholds appearing in the conditions are chosen in accordance with the indications given in the table below:
(61) TABLE-US-00003 Unit of the Thresholds Numeric values numeric values THR0 Lying between 0 G (1 g = and 0.8 9.81 m/s.sup.2) THR1 −2.5 ± 0.5 THR2 Lower than −7 THR3 −4 ± 1 THR4 −5 ± 1 THR5 −4 THR6 Above 20 000 Degree/second
(62) The transition t.sub.12 corresponds to the detection of a first strong deceleration preceded by a forward movement of the forearm 8 during which the speed in the direction X.sub.m is definitely positive. This situation is encountered, for example, when the move which is executed by the boxer is one of those represented in
(63) The transitions t.sub.16 and t.sub.65 correspond to the detection of a first strong deceleration and, in the case of the transition t.sub.16, preceded by a move in which the speed in the direction Y.sub.m or Z.sub.m is predominant at the start of this deceleration. This situation is encountered for example when the move executed by the boxer is one of those represented in
(64) The state “2” is reached when, at the start of the deceleration, the speed V.sub.tiXm is positive. Consequently, cancellation of the speed V.sub.tcXm (transition t.sub.24) indicates the complete stopping of the move. The state “4” then makes it possible to test whether the stopping of the move is abrupt and, if it is, to confirm that it is a move to be recognized (transition t.sub.45).
(65) Some boxers do not suddenly stop their move when they perform it without making contact, particularly when performing a hook. In this case, there is nevertheless an abrupt deceleration of the forearm 8 when the maximum extension of the arm is reached. The transition t.sub.27 makes it possible to test whether this move is fairly rapid for it to be confirmed as being a move to be recognized.
(66) The transitions t.sub.31, t.sub.35, t.sub.71 and t.sub.75 were designed experimentally to eliminate stray moves.
(67) An abrupt variation of the angular speeds G.sub.tcYm and G.sub.tcZm occurs generally toward the end of the move of the boxer, that it to say for the maximum extension of the arm, particularly when the boxer strings together several consecutive moves. The transition t.sub.50 detects the presence of this situation which marks the end of the move and allows the module 24 to return to the initial state “0”. This way of proceeding by using the angular speeds has proven more reliable than the use of the measurements of the acceleration. In effect, toward the end of the move of the boxer, the device 2 vibrates such that the end of the move of the boxer is difficult to identify from just measurements of acceleration.
(68) In addition, when the boxer strings the moves together, the norm A.sub.tc can remain above the threshold THR0 such that only the transition t.sub.50 makes it possible to revert to the state “0” and correctly recognize several moves strung together one after the other.
(69) The various counters make it possible to limit the duration of the step of confirmation of a move as being a move to be recognized. The initial values of the counters are in particular adjusted so as to prevent this step from being able to be extended over a fairly long time to cover two successive moves of the boxer.
(70) The step of confirmation of the move of the boxer is, here, also limited by the duration of the counter CAR1 in order to limit the accumulation of measurement errors in the integrations implemented to compute the instantaneous speeds and distances.
(71) There now follows a description of the operation of the classifier 26.
(72) To simplify
(73)
in which: the index i is an identifier of a constructed characteristic physical quantity, x.sub.i is the value of the constructed physical quantity, w.sub.ij a weight predetermined by learning, b.sub.j is a bias predetermined by learning.
(74) Then, the neuron generates a value N.sub.j on its output according to the following relationship N.sub.j=f(S.sub.j), in which the function f is an activation function. Here, the activation function used for each neuron of the layer 50 is the hyperbolic tangent function or the sigmoid function.
(75) To simplify the illustration and the description, here, the device 2 is described in the particular case where it is designed to recognize only the following three boxing moves: a long straight punch of the forearm known as “jab”, a hook of the forearm known as “hook”, and an upward blow known as “uppercut”.
(76) However, from the teaching given in this application, the person skilled in the art knows how to adapt this neural network to recognize other additional moves.
(77) The classifier 26 is designed to classify the characteristic physical quantities received in three predefined classes or categories, each corresponding to a respective move out of the three moves listed above.
(78) For that, the layer 52 comprises only three neurons, 52.sub.1, 52.sub.2 and 52.sub.3. Each of these three neurons corresponds to a respective predefined category of boxing moves. Each of the neurons 52.sub.1 to 52.sub.3 is connected to the output of each of the neurons of the layer 50.
(79) In a way similar to what has been described for the neurons of the layer 50, each neuron 52.sub.1 to 52.sub.3 computes a weighted sum from the outputs N.sub.j of the neurons of the layer 50.
(80) The activation function of the neurons 52.sub.1 to 52.sub.3 is, here, a function which identifies the neuron, out of the three neurons 52.sub.1 to 52.sub.3, which has computed the highest weighted sum and therefore the category in which the characteristic physical quantities processed are classified. The duly identified neuron corresponds to the recognized predefined move of the boxer.
(81) The method for automatic recognition of a move of a boxer using the device 2 will now be described with reference to
(82) In a learning step 80, the weights w.sub.ij and the biases b.sub.j of each neuron of the neural network of the classifier 26 are determined. For that, the neural network is trained on a database containing sets of constructed characteristic physical quantities and, for each of these sets, the predefined category of boxing moves to which it belongs. Each set of characteristic physical quantities is constructed, preferably, by the module 24, upon the execution of the boxing move by a boxer or by several boxers. For example, the phase 80 is executed when the device 2 is being designed, then the values of the different weights and different biases are stored in the memory 12.
(83) Then, in a recognition phase 90, the device 2 is used to automatically recognize the predefined moves. During this phase 90, the device 2 is fixed on the forearm 8. Initially, the state machine is in the state “0”.
(84) Then, in a measurement step 92, the inertial unit 20 permanently measures different physical quantities as a function of the movement of the forearm 8. In particular, in the step 92, the accelerometer 30 permanently measures the acceleration in the directions X.sub.m, Y.sub.m and Z.sub.m and the gyrometer 32 permanently measures the angular speed about axes parallel to the directions X.sub.m, Y.sub.m and Z.sub.m.
(85) In parallel, in an acquisition step 96, at each instant t.sub.c, the microprocessor 10 acquires the measurements from the inertial unit 20. These measurements successively acquired at different instants form a temporal sequence of successive measurements of the acceleration and of the angular speed of the forearm 8.
(86) Then, in an execution step 98, the module 24 executes, at each instant t.sub.c, the state machine described previously. In each state, the module 24 checks whether a condition associated with one of the transitions is satisfied. For that, the module 24 uses the values of the variables, described with reference to
(87) In addition, the module 24 executes the operations specifically associated with the current state of the state machine and described with reference to
(88) Thus, in the execution step 98, the module 24: confirms and, alternatively denies, that the move currently performed by the boxer is a move to be recognized, that is to say that the move is other than a stray move and, in parallel, constructs characteristic physical quantities of this move from just the measurements performed in the interval [t.sub.d; t.sub.i].
(89) Here, the characteristic physical quantities are constructed in the state “1”. The current move of the boxer is a move to be recognized by the classifier 26 if the state machine switches into one of the states “3”, “4”, “6” or “7” then through the state “5”. In the contrary case, it is a stray move which is not intended to be recognized by the classifier 26. The state machine returns to the state “0” when the move to be recognized is finished or when it is a stray move.
(90) In parallel, in step 110, the classifier 26 is executed. For example, the step 110 is triggered as soon as the “blow delivered” flag is raised by the module 24. In response, the characteristic physical quantities currently stored in the memory 12 are then processed using the neural network previously described. Following this processing, the characteristic physical quantities processed are automatically classified in one of the three predefined categories of boxing moves. At this stage, the boxing move is then considered as having been recognized.
(91) Possibly, in a step 112, each time a boxing move is recognized, this information is automatically transmitted to the server 18 via the wireless link 16. The server 18 can then perform additional processing operations such as, for example, displaying this information on a screen, transmitting it to other devices, or the like.
(92)
A.sub.tcRi=q*.Math.A.sub.tcRm.Math.q
in which: A.sub.tcRi is the acceleration vector expressed in the reference frame R.sub.i, A.sub.tcRm is the acceleration vector expressed in the reference frame R.sub.m, q and q* are, respectively, the attitude quaternion and its conjugate, and the symbol “.Math.” is the quaternion multiplication operator.
(93) The value of the attitude quaternion q is typically delivered by the inertial unit 20 and acquired by the microprocessor 10.
(94) Then, the state machine implemented is the same as that described with reference to
(95) Chapter II: Variants:
(96) Chapter II.1: Variants of the Device:
(97) The sensors can be arranged at any point on the forearm of the boxer to measure the acceleration and the angular speed of the fist. For example, in a variant, the sensors are incorporated in a boxing glove. In another variant, they are fixed onto the elbow of the boxer.
(98) The sensors are not necessarily incorporated in one and the same housing. For example, the accelerometer and the gyrometer are housed in different housings mechanically independent of one another. In this case, the accelerometer and the gyrometer can be fixed at different locations on the forearm 8.
(99) The means 6 for fixing the housing 4 onto the forearm of the boxer is not necessarily a bracelet. For example, this fixing means can also be a boxing glove. In the latter case, the housing 4 is for example incorporated in this boxing glove.
(100) The components of the device 2 can be remote. For example, the module 24 and the classifier 26 can be implemented in the server 18. In this case, the measurements acquired by the microprocessor 10 are directly transmitted to the server 18 and it is the server 18 which executes the module 24 and the classifier 26 on the measurements received. In an intermediate variant, only the classifier 26 is remote in the server 18.
(101) The inertial unit 20 can comprise additional sensors that are useful for characterizing the move of the boxer. For example, the inertial unit 20 can in addition comprise a tri-axial magnetometer. The measurements from this tri-axial magnetometer are then used to construct additional characteristic physical quantities that are different from those previously described. These additional physical quantities are then used by the classifier 26 to classify the move of the boxer in a predefined category. The inertial unit 20 can also comprise a velocimeter which directly measures the instantaneous speed of the forearm 8 in the directions X.sub.m, Y.sub.m and Z.sub.m. In this latter case, the instantaneous speeds are not computed by integration of the measured acceleration.
(102) Chapter II.2: Variants of the module 24:
(103) The search for the instant t.sub.i can be performed differently. For example, if the sign conventions for the acceleration are reversed, that is to say that the acceleration is negative when the fist accelerates in the direction X.sub.m, then the instant t.sub.i corresponds to the instant at which the acceleration in the direction X.sub.m changes sign to become positive.
(104) The module 24 can be produced differently. For example, the module 24 is not necessarily implemented in the form of a state machine. As an illustration, the module 24 can be produced as described in the document US20160263458. Thus, the module 24 determines an instant t.sub.f which corresponds to the end instant of the move to be recognized. For example, the instant t.sub.f is determined as described in the document US20140372440 or as described in the document US20160263458. If an instant t.sub.f has been able to be determined, this confirms the fact that the measurements performed in the interval [t.sub.d; t.sub.f] do indeed correspond to a move of the boxer to be recognized.
(105) The instant t.sub.d can be determined differently. For example, it can be determined as described in the document US20160263458, that is to say computed by subtracting a predetermined time ΔT from the determined instant t.sub.f.
(106) In the above variants, the instant t.sub.i is then identified in the interval [t.sub.d; t.sub.f] by searching in this interval, for example, for the last instant t.sub.i at which the instantaneous acceleration in the direction X.sub.m changes sign to become negative. Note that, in this variant, the module 24 determines the instant t.sub.i only after it has confirmed that the current move of the boxer is indeed a move to be recognized.
(107) As indicated above, the module 24 can construct other characteristic physical quantities that can be used by the classifier 26.
(108) In another variant, the construction of the characteristic physical quantities is not performed by the module 24 but by another software module of the microprocessor 10. For example, this other software module is only executed after the module 24 has confirmed that the current move is indeed a move to be recognized. In this case, the construction of the characteristic physical quantities is not executed concurrently with the module 24 confirming that the current move is indeed a move to be recognized, but only after, and only in the case where it has been confirmed that the current move is indeed a move to be recognized.
(109) State machines other than that described with reference to
(110) Chapter II.3: Variants of the Classifier:
(111) Here, the classifier has been described as being preferably produced in the form of a shallow neural network. However, as a variant, the classifier can be produced using a neural network comprising several hidden layers.
(112) The classifier can also be produced by using a technology other than neural networks. For example, as a variant, the classifier is a support vector machine known by its acronym SVM, a naïve Bayes classifier, or the like. The classifier can also be produced as described in the document US20160263458.
(113) The number of boxing moves that are sought to be recognized can be more or less than in the exemplary embodiment described previously. For example, in a simplified version, the device 2 and therefore the classifier 26 is designed to recognize a single predefined move of the boxer.
(114) Conversely, the classifier 26 can also easily be adapted to recognize other additional moves in addition to or instead of the three particular moves previously described. To this end, the number of neurons of the layer 52 is adjusted accordingly. For example, an additional neuron is added to the layer 52 to recognize the move known as long straight punch of the rear arm, or “cross”. Additional neurons can be also added to the layer 52, each of these neurons corresponding to one of the moves described with reference to
(115) Chapter II.4: Other Variants:
(116) What has been described here in the particular case of a right forearm is easily transposed to the case where the device 2 is fixed onto the left forearm of the boxer. However, in this case, for example, the signs of the measurements performed along or about the axis in the direction Y.sub.m are systematically reversed. Thanks to such a reversal, the conditions associated with the different transitions of the state machine of
(117) As a variant, the steps 98 and 110 are not executed in parallel with the measurement step 92, but after. Thus, in a particular embodiment, the measurements are acquired and stored in the memory 12 when the boxer is training. Then, for example, after the end of the training of the boxer, the steps 98 and 110 are executed to automatically recognize the moves that the boxer has performed in his training.
(118) The device 2 can equally be used in the context of a boxing match, of training of a boxer but also in any other context, such as that of video games, in which one of the players simulates boxing moves.
(119) More generally, the device 2 can be adapted to recognize predetermined moves other than boxing moves. For example, the teaching given here in the particular case of boxing moves can be adapted to recognize other predetermined moves, such as those performed in all contact sports. Illustrations of other contact sports that can be cited include all the combat sports and all the sports involving an impact with the fist or the forearm on an object or another player. Thus, the device 2 can also be adapted to team sports such as rugby, American football or the like.
(120) Chapter III: Advantages of the Embodiments Described:
(121) The fact that the characteristic physical quantities used by the classifier are constructed only from the measurements performed in the interval [t.sub.d; t.sub.i] means that the measurements performed just before or during the abrupt deceleration which occurs at the moment of the impact on the target or when the extension of the arm is maximal are disregarded for the classification. It has been observed that by disregarding these measurements which immediately precede the impact or the stopping of the move of the boxer, the reliability of the method for recognizing the move of the boxer is greatly improved. It is assumed that that stems from the fact that by proceeding in this way, the very strong variations of the acceleration and of the angular speed that are observed at the end of the move of the boxer are disregarded. In effect, it seems that the measurements performed by the accelerometer at the end of the move of the boxer are less reliable than those performed during the phase of acceleration of the forearm of the boxer.
(122) The fact that the module 24 is reset for it to be capable of identifying a new move of the boxer from a condition on the angular speeds G.sub.tcYm and/or G.sub.tcZm makes it possible to reliably detect the end of a move of the boxer when the boxer strings together several moves immediately one after the other.
(123) The fact that the characteristic physical quantities are constructed in an inertial reference frame rather than in the mobile reference frame R.sub.m increases the reliability of the recognition method.
(124) Surprisingly, it has been determined that a neural network with a single hidden layer improves the reliability of the recognition process compared to the case where a neural network with several hidden layers would be used.
(125) Proceeding with the construction of the characteristic physical quantities before the module 24 has confirmed that the current move of the boxer is a move to be recognized makes it possible to speed up the method for automatic recognition of this move.