Method for detecting golf motion using an electronic device such as a watch
A wrist-worn device with embedded sensors and algorithms automatically detects golf strokes and impacts, addressing the need for real-time scoring without additional sensors, enhancing scoring efficiency for amateur golfers.
Patent Information
- Application Number
- FR2022014526
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-11-30
- Filing Date
- 2022-12-27
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2042-12-27
AI Technical Summary
Amateur golfers face the tedious task of manually tracking their shots to calculate scores, and existing technologies for detecting golf swings require sensors on the club or ball, lacking a practical method for real-time automatic scoring.
A method utilizing sensors embedded in a wrist-worn electronic device, such as a watch, to detect golf strokes and impacts by implementing angular and linear measurement means, including accelerometers and gyroscopes, with algorithms to identify and validate golf swings and impacts.
Enables real-time automatic scoring by accurately detecting golf strokes and impacts without additional sensors on the club or ball, improving efficiency and accuracy for amateur players.
Smart Images

Figure 00000022_0000 
Figure 00000022_0001 
Figure 00000022_0002
Abstract
Description
Title of the invention: Method for detecting golf motion from an electronic device such as a watch technical field
[0001] The present invention relates to the field of electronic devices worn on the wrist or other part of the arm, such as electronic bracelets or watches, also known as connected watches or "smartwatches." More specifically, the present invention relates to an electronic device worn on the wrist or other part of the arm, in particular a watch, equipped with hardware and software means for detecting golf shots.
[0002] Golfers playing on a course generally need to keep track of their score, that is, the number of strokes it took them to get the ball in the hole. The cumulative score for each hole gives the player's score for the course. By comparing their score to the course's par, the player can then assess their performance. In competition, this allows competitors to be ranked.
[0003] Particularly for amateur players, or those not in competition, it is tedious for players to note each shot played in order to know their scores.
[0004] There is therefore a need for a process capable of calculating in real time the score of a golf player by automatically detecting each of his shots.
[0005] US patent 10,709,945 B2 describes a concept for detecting golf swings using sensors embedded in a wristband or watch case. However, this patent is limited to describing expected results, without disclosing a specific method for achieving this golf swing detection. Furthermore, this patent outlines a concept requiring an impact or vibration sensor embedded on the object (presumably the club or ball) involved in the impact.
[0006] The invention thus aims to eliminate at least some of these drawbacks. In particular, the invention makes it possible to dispense with a sensor carried by the club or the ball. PRESENTATION OF THE INVENTION
[0007] More specifically, the invention relates to a golf motion detection method configured to operate on an electronic device worn on the wrist or other part of the arm, such as a bracelet or watch, comprising one or more angular or linear measurement means, particularly for orientation, velocity, or acceleration. In particular, to implement the invention, the electronic device in question may include at least one three-axis accelerometer and / or a three-axis gyroscope and / or at least one three-axis magnetometer, cooperating with a unit of calculation and memory space.
[0008] A golf stroke being defined as a golf stroke performed by a user manipulating a golf club, the club having a face, and causing said club to describe a typical trajectory resulting in an impact between the face of the golf club and a golf ball, the method includes the implementation of a golf stroke detection function and an impact detection function, the stroke detection function being configured to, at any time, detect the execution of a golf stroke associated with a golf stroke from among a set of predefined golf strokes, including a drive, a swing and a putt, and the impact detection function being configured to detect, synchronously, an impact between the golf club and the golf ball, from measurements made by at least one sensor embedded in the electronic device.
[0009] According to one embodiment, the golf motion detection function and the impact detection function are implemented solely from measurements taken by at least one sensor embedded in the electronic device, such as a bracelet or a watch, excluding sensors embedded in the club or the ball, from among at least one three-axis accelerometer and at least one three-axis gyroscope.
[0010] Preferably, the measurements taken come from six on-board sensors: accelerometers and gyroscopes along three direct orthogonal axes, respectively.
[0011] According to one embodiment, the measurements are carried out continuously and are recorded at a first sampling step of at least 10 Hz, in particular approximately equal to 50 Hz plus or minus 10%, and at a second sampling step of at least 100 Hz for measurements carried out over at least a reduced time window.
[0012] According to one embodiment, the implementation of the golf motion detection function includes, in particular provided that at least one signal corresponding to a measurement has an amplitude exceeding a predefined amplitude threshold:
[0013] the application of a low-pass filter to the signals corresponding to the measurements, in particular a first-order low-pass filter, in particular to remove noise and high-frequency residues contained in the signals corresponding to the measurements;
[0014] the normalization of each of the signals corresponding to the measurements taken, in particular in acceleration, from measurements taken by at least one accelerometer, and / or in rotational speed, from measurements taken by at least one gyroscope;
[0015] the comparison of normalized signals at respective simple thresholds;
[0016] the identification, for each normalized signal, of at least one peak, when the amplitude of the normalized signal exceeds a simple threshold;
[0017] the recording, for each normalized signal, of a date of occurrence of the peak of greatest amplitude.
[0018] According to one embodiment, the method further comprises:
[0019] if at least one peak has been detected, the characterization, for each normalized signal, of 1 with 3 peaks having the greatest amplitudes in height and / or width and / or prominence;
[0020] the comparison, for each normalized signal, of its height, its width and its prominence to a respective threshold of minimum width and / or minimum height and / or minimum prominence so as to confirm or refute the existence of a corresponding peak;
[0021] the regularization of each normalized signal comprising at least one confirmed peak, by means of a temporal homothety consisting of:
[0022] contract or stretch each normalized signal, in the temporal plane, so that each normalized signal has, over a time window having a predefined regularized duration, for example equal to 2.5 seconds, a main peak regularized at a predefined main peak date, for example at 1.5 seconds in the time window, and where appropriate at least one secondary peak having a secondary peak date at a predefined date in the time window, for example 0.67 seconds before the main peak with a time having undergone the temporal homothety.
[0023] According to one embodiment, the method further comprises:
[0024] the regularization of each normalized signal by means of an amplitude homothety consisting of:
[0025] contract or stretch each normalized signal, in amplitude, so that the normalized signal has, over the time window, a main peak amplitude equal to a predefined value.
[0026] The implementation of the golf motion detection function may include the execution of a golf motion recognition algorithm comprising, from golf shot datasets:
[0027] the comparison between each regularized normalized signal and a model signal corresponding to an average golf swing for a set of golf swing types, including a drive and a putt, said comparison including verification that the regularized normalized signal is within a defined envelope between each model signal shifted by a negative offset and the same model signal shifted by a positive offset;
[0028] based on the comparison, the identification of a type of golf movement.
[0029] According to one embodiment, the method further comprises:
[0030] the calculation of a normalized error for each normalized signal regularized with respect to the model signal of the identified type of hit and the verification that the normalized error is less than a threshold and that the sum of normalized errors over all normalized regularized signals is less than a threshold;
[0031] depending on the comparison, validation or invalidation of the detection of a type of golf movement.
[0032] According to one embodiment, the method further comprises:
[0033] the calculation of an instability of the normalized error for each regularized normalized signal and the verification that the instability of the normalized error is less than a threshold for each regularized normalized signal and that the sum of the instabilities of the normalized errors on the set of regularized normalized signals is less than a threshold;
[0034] depending on the comparison, validation or invalidation of the detection of a type of golf movement.
[0035] According to one embodiment, the implementation of the impact detection function comprises:
[0036] carrying out measurements with a sampling step greater than 100 Hz, for example equal to about 400 Hz or about 800 Hz plus or minus 10%, and storing the measurements in memory over the duration of the time window;
[0037] the creation of a time sub-window in the time window, centered on a peak having the greatest amplitude in each normalized regularized signal, the width of the sub-window having in particular a duration approximately equal to half the duration of the time window;
[0038] the comparison, on said time sub-window, between each regularized normalized signal and a sinusoidal signal of the same period and amplitude as said peak on the basis of a modeling of the quadratic error between said regularized normalized signal and said sinusoidal signal;
[0039] the detection of a confirmed impact when the quadratic error for each regularized normalized signal is less than a threshold.
[0040] According to one embodiment, the implementation of the impact detection function may include:
[0041] the calculation of a credibility score for impact detection and the verification that the credibility score is greater than a threshold.
[0042] According to one embodiment, the implementation of the impact detection function comprises:
[0043] the detection of the exceeding of a peak in at least one of the normalized and regularized signals, by exceeding a threshold, then of an opposite peak, in the same signal, by exceeding a threshold of opposite sign;
[0044] In this case, recording the measurements with a second sampling step greater than 100 Hz, for example equal to approximately 400 Hz plus or minus 10% or to approximately 800 Hz plus or minus 10%, and the storage in memory of the measurements over the duration of a reduced time window including at least a portion of the normalized and regularized signal including the peak and the opposite peak;
[0045] the comparison, on said reduced time window, between the normalized and regularized signal and a sinusoidal signal of the same period and of the same amplitude as said peak and opposite peak.
[0046] According to one embodiment, the comparison, over said reduced time frame, between at least one normalized regularized signal and the sinusoidal signal comprises:
[0047] modeling the squared error between said normalized regularized signal and said sinusoidal signal and detecting a confirmed impact when the squared error is less than a threshold; and / or
[0048] the discrete Fourier series decomposition of the normalized and regularized signal and the detection of a confirmed impact as long as the duration for which the absolute value of the discrete Fourier series decomposition remains, for coefficients of interest of the decomposition, that is to say in particular for coefficients of the discrete Fourier series decomposition corresponding to the lowest non-zero frequency on the reduced time window, greater than or equal to a threshold equal to half the peak of this absolute value, is between a predefined minimum threshold and a predefined maximum threshold.In other words, we then verify that the absolute value of the discrete Fourier series decomposition, considering only the coefficient(s) corresponding to the frequency band sought for impact detection (corresponding to the sinusoidal signal), remains greater than or equal to half the peak of this absolute value for a duration between a minimum threshold and a maximum threshold.
[0049] The invention also relates to a computer program type product, comprising at least one sequence of instructions stored and readable by a processor and which, once read by this processor, causes the execution of the steps of the process as previously presented.
[0050] The invention further relates to a computer-readable medium containing the computer program-type product as described above. PRESENTATION OF FIGURES
[0051] The invention will be better understood upon reading the following description, given by way of example, and referring to the following figures, given by way of non-limiting examples, in which identical references are given to similar objects.
[0052] Fig. 1 is a graph representing signals from filtered IMU sensors;
[0053] Fig. 2 is a graph representing a peak in a signal from an IMU sensor;
[0054] Fig. 3 represents the characterization of a peak in a signal from a sensor IMU;
[0055] Fig. 4 represents the normalization of signals from IMU sensors;
[0056] Fig. 5 shows graphs representing model envelopes for normalized signals;
[0057] Fig. 6 represents a zoom on a time sub-window applied to normalized and regularized signals, for impact detection;
[0058] Fig. 7 shows a comparison between a normalized and regularized signal, on a time sub-window, with an "expected" sinusoidal signal.
[0059] It should be noted that the figures set out the invention in detail to implement the invention, said figures being of course able to serve to better define the invention where appropriate. DETAILED DESCRIPTION OF THE INVENTION
[0060] The invention relates to a golf motion detection method implemented by means of sensors embedded in an electronic device, such as a bracelet or watch, worn by the player, particularly on the wrist or possibly on another part of the arm. The embedded sensor means cooperate with computing, display, and memory means, which can preferably also be embedded in the electronic device, particularly the watch, for greater compactness.
[0061] Alternatively, at least part of the computing, display means and at least part of the memory can be hosted by an external device, such as a smartphone, a tablet or a computer for example.
[0062] To detect a golf swing, the method according to the invention implements two distinct functions, namely the detection of a golf swing, corresponding to a golf swing, and the detection of an impact, between the ball and the club, from, in particular exclusively, data from sensors embedded in the electronic device worn by the player on the wrist or on another part of the arm, in particular the watch.
[0063] In what follows, the present invention is described more particularly in the context of an implementation using a watch worn by the player. This is, however, an example, and the invention also applies in the case where the player wears, for example, a bracelet or any other similar electronic device, worn on the wrist or on another part of the arm.
[0064] The on-board sensors implemented include, in particular, IMU (Inertial Measurement Unit) type sensors, such as accelerometers and / or gyroscopes and / or magnetometers, following one to three axes.
[0065] The measurements are carried out continuously at a frequency greater than 100 Hz and recorded with a first sampling step preferably greater than 10 Hz, in particular equal to 50 Hz plus or minus 10%, and, over at least a reduced time window (described below), with a second sampling step greater than 100 Hz.
[0066] For each function, the invention notably provides for the implementation of successive and progressive detection layers. Initially not very selective, the detection layers become more discriminating and make it possible to determine with certainty whether a real golf swing has been played.
[0067] In practice, the golf motion detection function thus includes the continuous recording of data measured by sensors embedded in the electronic device, in particular the watch, in particular an IMU sensor integrating for example three accelerometers and three gyroscopes along three respective axes orthogonal to each other.
[0068] According to one embodiment, the accelerometers allow for the measurement of accelerations of the watch, and therefore of the user's wrist, along three mutually orthogonal axes. The gyroscopes allow for the measurement of rotational speeds of the watch, and therefore of the user's wrist, along three mutually orthogonal axes.
[0069] Thanks to the measurements carried out by these sensors, we obtain time signals formed of a plurality of values of acceleration or angular velocity as a function of time.
[0070] In particular, the time signals from these sensors are first filtered to filter out noise and high-frequency residues. This yields filtered signals accx, accy, accz (from accelerometers) and gyrx, gyry, gyrz (from gyroscopes), as shown in [Fig. 1].
[0071] A different filter may be implemented for the purposes of implementing the golf motion detection function and, respectively, for the purposes of implementing the impact detection function.
[0072] For the golf motion detection function, for example, a filtering of the time signals is implemented by a low-pass filter, in particular a first-order low-pass filter.
[0073] We detail below some embodiments of the golf motion detection function.
[0074] As shown in [Fig. 2], for each signal, a peak is identified whenever the signal amplitude exceeds a simple threshold, designated "POSIBLE SWING" in [Fig. 2], specifically chosen to be "permissive," i.e., not very discriminating, and a date of occurrence of the peak of greatest amplitude is recorded in a memory embedded in the watch or in a separate device. A potential golf swing is thus detected when the "POSIBLE SWING" threshold is crossed. Below this point, there is no movement ("NO SWING") and there is no need to continue the analysis at this stage.
[0075] When a golf swing is executed, whether it is a real shot or a practice swing, at least one peak is detected, generally two peaks, potentially three or more. In any case, one to three peaks with the greatest amplitudes are stored in memory, along with the time of occurrence of the peak with the greatest amplitude, for at least one, preferably several, filtered time signals. According to the invention, as shown in [Fig. 3], these one to three peaks are characterized in terms of height, width, and prominence.
[0076] According to one embodiment, each of the height, width and prominence of each peak is then compared to a respective threshold of minimum height, minimum width and minimum prominence so as to confirm or refute the existence of a corresponding peak.
[0077] In particular, the respective thresholds can be predefined empirically. For this first part of the process according to the invention, simple, so-called "permissive" thresholds are chosen, i.e., thresholds with low discriminatory power, because it is important not to miss the detection of a golf swing. However, the following steps make it possible to sufficiently discriminate against "false positives," particularly thanks to the impact detection function.
[0078] Once the detection of at least one peak has been confirmed, according to the invention, it is determined that the recorded time signals correspond to possible golf swings. The time signals corresponding to the measurements taken by the various IMU sensors are then preferably normalized, as shown in [Fig. 4]. The normalization applies in particular to each of the signals delivered by the IMU sensors, corresponding to the measurements taken, in terms of acceleration, from measurements taken by at least one accelerometer, and / or, in terms of rotational speed, from measurements taken by at least one gyroscope.
[0079] Normalization consists in particular, according to one embodiment, of transposing the signal so that the maximum norm achieved is equal to 1. The general principle of signal normalization is known.
[0080] The invention then preferably comprises the implementation of a regularization of each normalized signal, as shown in [Fig. 5]. The regularization of the normalized signals includes, in particular, the implementation of a temporal homothety consisting of: • contract or stretch each normalized signal, temporally, so that a normalized signal, after regularization, has, over a time window having a predefined regularized duration, for example equal to 2.5 seconds, a regularized main peak at a predefined main peak date, for example at 1.5 seconds within the time window, and where applicable, at least one secondary peak with a secondary peak date at a predefined date within the time window, for example, 0.67 seconds before the main peak, with a time that has undergone temporal homothety. This homothety yields a time contraction or dilation coefficient that is the same for all normalized signals.
[0081] In other words, the common time base of the normalized signals is translated and contracted or dilated so as to bring the main peak and any secondary peak to chosen reference abscissas. This facilitates subsequent calculations and analyses by working with normalized and regularized signals.
[0082] Said time base dilation or contraction coefficient can be mathematically constrained by imposed bounds and used separately to contribute to the evaluation of the credibility of the original signal.
[0083] Next, according to one embodiment, the implementation of the golf motion detection function includes the execution of a golf motion recognition algorithm comprising, from a database of golf shots, in other words a database comprising a set of signals (accelerations and / or angular velocities on three axes) corresponding to trajectories of the electronic device during proven golf shots, the establishment of a vector q and a covariance matrix P of the set of regularized normalized signals, such that said covariance matrix P mathematically represents an ellipsoid from which to evaluate the probability that a candidate trajectory, in other words a possible golf shot, is actually a golf shot.
[0084] To establish the covariance matrix P, the following methods can be implemented in particular.
[0085] According to a first method, a statistical vector variable X is considered, of which each signal in the database is a realization. Each time value of the signal is considered as a scalar variable distinct from X, such that the dimension n of X is equal to the product of the number of signals (typically 6 in the case of an IMU sensor allowing the measurement of acceleration and angular velocity respectively along three axes) and the number of values forming said signals over the time window considered (typically about one hundred time values recorded with the first sampling step). Each trajectory in the database is then considered as a realization of the statistical variable X, whose mean q and covariance matrix P are then established from the set of realizations.
[0086] According to a second method, the time signals are first subsampled to reduce the dimensionality n of X, q and the co matrix variance P, this reduction aims to decrease the computational volume without sacrificing representativeness. In one implementation, a simple convolution (averaging or simple linear filtering) is applied to each time-domain signal so that the subsampling is as non-destructive as possible.
[0087] From this covariance matrix P, subsequent calculations can be made more robust by ensuring a minimum value for the eigenvalues of said covariance matrix P. To do this, according to this implementation: • we diagonalize the covariance matrix P obtained; • we threshold the absolute value of the eigenvalues by replacing the values deemed too low (which would be abnormally discriminating) with a higher value; • we then obtain the new modified covariance matrix P.
[0088] Starting from the covariance matrix P, established once and stored, we then seek to evaluate the probability that a possible golf swing, in other words a candidate trajectory, is an actual golf swing. To do this: • According to this implementation, the upper root Cholesky matrix, denoted by S, of the covariance matrix P is also calculated once, such that S is upper triangular and STS=P. S is therefore stored in memory and calculated once and is provided as input to the algorithm described below, along with the vector q already established. • For a possible golf shot given as input, we evaluate the specific value of the associated vector variable X as before. • We then calculate Xa=ST\(Xq), Xa being the vector equal to the left division of the vector (Xq) by the matrix ST (ST being lower triangular). • Mathematically, Xa represents the realization of the random draws of each centered, reduced, independent Gaussian variable that would be necessary to obtain the candidate move if it came from the multidimensional Gaussian distribution N(q, P) described by q and P. If the candidate move respects the underlying distribution N(q, P), then in particular follows a l°i of the / 2 with n degrees of freedom. • We can then, according to this implementation, evaluate the quantile corresponding to the candidate motion as a realization of N(q, P), from the distribution function of the law of the / 2 with n degrees of freedom, given by rü / 2)
[0089] where T is the gamma function and y is the incomplete gamma function.
[0090] According to this implementation, the candidate move is then considered to be an effective golf move if the corresponding quantile is less than a threshold quantile fixed.
[0091] According to another embodiment, the implementation of the golf swing detection function comprises executing a golf swing recognition algorithm which, using a database of golf shots, compares each regularized normalized signal with a model signal corresponding to a typical golf swing for each type of golf swing, including at least one drive, one swing, and one putt. This comparison includes verifying that the regularized normalized signal lies within a defined probabilistic envelope that includes the possible variability of an actual golf swing. This probabilistic envelope is determined from a database of golf swings and the application of appropriately chosen margins.
[0092] For example, the golf movement database can be enriched by collecting new data, including user data. In particular, according to one embodiment, the database differs between right-handed and left-handed users and depending on whether the watch is worn on the right or left wrist.
[0093] Based on the comparison, a type of golf movement is identified.
[0094] The comparison can then implement a learning algorithm capable of improving the model signals used.
[0095] According to one embodiment, to validate the golf motion detection, a normalized error is calculated for each regularized normalized signal with respect to the model signal of the type of shot identified, and it is verified that the normalized error is less than a threshold and that the sum of the normalized errors on all the regularized normalized signals is less than a threshold.
[0096] For example, the normalized error is calculated according to the equation:
[0097] [Math.l] Etotx = 22^ | Ex ( i) j
[0098] where the error is written:
[0099] [Math.2]
[0100] The threshold can be predefined or adjustable.
[0101] In addition, one can also calculate an instability of the normalized error for each regularized normalized signal and verify that the instability of the normalized error is less than a threshold for each regularized normalized signal and that the sum of the instabilities of the normalized errors over all the regularized normalized signals is less than a threshold. This instability of the normalized error can, for example, be obtained by calculating the integral or the direct sum of the absolute value of the derivative of the normalized error.
[0102] For example, the instability of the normalized error is calculated according to the equation:
[0103] [Math.3] Estabx = ¢, | Ex (i) - E^ -1) |
[0104] The threshold can be predefined or adjustable.
[0105] In the preceding equations, we denote N the number of measurements present in the time window (for example 0 to 2.5 seconds) after application of the time homothety.
[0106] p is the envelope average for the signal from a normalized and regularized IMU sensor X.
[0107] o is the standard deviation of the envelope for the normalized and regularized signal X.
[0108] According to one embodiment of the invention, to validate the detection of a golf swing, the conditions are:
[0109] for each normalised and regularised signal, Etot must be less than a given threshold;
[0110] Optionally, for each normalised and regularised signal, Estab must be less than a given threshold;
[0111] Optionally, the sum of the Etot for all normalised and regularised signals must be less than a given threshold;
[0112] Optionally, the sum of the Estab for all normalised and regularised signals must be less than a given threshold.
[0113] According to one embodiment, several of these conditions must be met to validate the detection of a golf swing. In particular, all of these conditions may have to be cumulatively satisfied.
[0114] According to one embodiment, several thresholds, in particular two thresholds—a lower threshold and an upper threshold—can be defined for each parameter. Validation of a golf swing is then achieved, for example, when at least one parameter remains below two of the lower thresholds, or at least two parameters remain below the upper thresholds.
[0115] The examples of setting conditions to validate the detection of a golf swing, given above, should not be interpreted restrictively, being only illustrative.
[0116] It should be noted that other methods of signal comparison can be implemented. For example, an error function can be defined, always constructed from the database described above. Reduced variables are then established, constructed as linear combinations of the individual time values of each normalized and regularized signal at each sampling step, the coefficients of these linear combinations being established so as to maximize the difference between the The values taken by the reduced variable are compared between, on the one hand, a normalized and regularized signal that accurately represents a golf swing to be detected, and on the other hand, a normalized and regularized signal that does not. These coefficients of linear combinations are then applied to the normalized and regularized signals to validate or invalidate the detection of a golf swing. This error function can also be applied to the impact detection function.
[0117] For the impact detection function, measurements recorded with a larger sampling interval are analyzed. The sampling interval is chosen, in particular greater than 100 Hz, for example, approximately 400 Hz plus or minus 10% (in particular 416 Hz) or approximately 800 Hz plus or minus 10% (in particular 833 Hz). The measurements are stored in memory over a short time window.
[0118] In practical terms, according to the invention, the IMU sensor (preferably an accelerometer and / or gyroscope and / or magnetometer) performs measurements with a high sampling rate, greater than 100 Hz, in particular on the order of 400 Hz or on the order of 800 Hz. The measurements taken are recorded continuously with the first sampling rate, greater than 10 Hz, and the golf motion detection function is implemented on these measurements recorded with the first sampling rate.
[0119] The impact detection function is preferably implemented over a reduced time window on measurements recorded with the second sampling step, which is greater than 100 Hz, for example on the order of 400 Hz or on the order of 800 Hz.
[0120] To this end, just as for the motion detection function, continuous checks are applied on threshold criteria in signal amplitude at each time step and at high frequency, i.e. at the measurement frequency.
[0121] According to one embodiment, the amplitude threshold criterion is applied, in particular, to a derivative of the signal corresponding to the measurements taken, which can be obtained by digital filtering, typically using a first-order differentiator filter, of the signal from the three-axis accelerometer. The time constant of the differentiator filter is chosen to be particularly low (a few milliseconds) so as not to cut off the frequencies of interest, it being understood that an impact is detected over a small time window of approximately 15 to 30 ms.
[0122] According to the invention, as shown in [Fig. 6], if the absolute value of this derivative daccz takes values greater than a predefined threshold, it is checked whether a change of sign and an exceedance of the threshold in the opposite direction occurs. If so, it is considered that an impact may have occurred and a detailed analysis of the signal is carried out over a reduced time window of a few tens of milliseconds, including the portion of the signal containing the two crossings of threshold opposite in sign.
[0123] It should be noted that this predefined threshold for identifying a potential impact can be chosen dynamically, based, for example, on the current amplitude of the acceleration or rotational speed itself. In this case, if the acceleration or rotational speed corresponding to the golf swing identified in parallel is high, then the threshold for identifying a potential impact will be higher, and vice versa.
[0124] The reduced time window dedicated to the detailed analysis of an impact lasts for example between 100 ms and 150 ms.
[0125] As shown in [Fig.7], on this fine analysis window, according to one embodiment of the invention, we seek to verify whether the signal corresponding to the measurements recorded with the second sampling step is similar to a sinusoid having a period twice the date difference between the two peaks of opposite sign mentioned above.
[0126] According to one embodiment, the realistic nature of the period thus defined is first verified by comparing the period corresponding to twice the date difference between the two peaks with a predefined minimum and maximum period. For example, the period must be between 15 ms and 30 ms.
[0127] As shown in [Fig.7], each normalized regularized signal can thus be compared to a sinusoidal signal, designated sinus_approx, whose period corresponds to twice the time difference between the aforementioned peak and opposite peak.
[0128] For example, an error, in particular a quadratic error, is then calculated between the signal corresponding to the measurements and a sinusoidal signal equal to one period. Preferably, the error is therefore calculated only over the time subinterval equal to this period, the said sinusoid being signed and temporally positioned so that its maximum coincides with the first identified peak.
[0129] Modeling the quadratic error between said normalized regularized signal and said sinusoidal signal, and a confirmed impact is detected as soon as the quadratic error for each normalized regularized signal is less than a threshold. For example, the threshold for the quadratic error in this comparison is defined by the equation:
[0130] [Math.4] rmsd = jq- (daccz, (z) - sinus_approx{ï))2
[0131] where N is the number of measurements in the normalized and regularized IMU sensor signal daccz (in this case an acceleration along the vertical z axis) present over the period.
[0132] Impact detection will then be validated if the root mean square error rmsd is less than a threshold. The threshold may be predefined, configurable, or adjustable.
[0133] If this error is less than a threshold, and, optionally, if its instability (as before) is less than a threshold, then the detection of an impact is confirmed.
[0134] It is evident that, according to the invention, it is possible to exit the impact detection function as soon as a condition is not met.
[0135] According to another embodiment, a Discrete Fourier Transform (DFT) is performed over a sliding time window on the high-frequency signal, i.e., on the signal corresponding to measurements taken with the high sampling step of the measurements. This sliding time window is chosen to be likely to correspond to a nominal sinusoidal period as described above. This period is typically between 15 ms and 30 ms, for example, approximately 20 ms. The Fourier analysis can be limited to the coefficients of interest of the decomposition, i.e., those of the lowest possible non-zero frequency over such a sliding time window.
[0136] If the absolute value of the DFT exceeds a certain predefined threshold which, as before, can be adapted to the signal amplitude, acceleration or rotational speed, then the analysis continues. Otherwise, it can be considered that there has been no impact.
[0137] If we continue the analysis, we determine the duration during which this threshold is exceeded. We then evaluate the maximum reached over this duration.
[0138] According to one embodiment, it is also possible to evaluate whether this absolute value of the DFT is consistent with the amplitudes of the signals in acceleration and / or rotational speed as recorded with the first sampling step.
[0139] If so, the duration for which the absolute value of the DFT remains greater than or equal to a threshold equal to half the peak of this absolute value can be evaluated. It is then determined whether this duration falls between a predefined minimum threshold and a predefined maximum threshold.
[0140] If so, the impact detection can be confirmed. Otherwise, it can be considered that there was no impact.
[0141] According to the invention, it should be noted that the criteria and checks listed above can be implemented cumulatively. Alternatively, only some of these criteria and checks are implemented.
[0142] In the end, the existence of an impact between the ball and the golf club is detected, or not.
[0143] According to a particular embodiment, “permissive” thresholds are defined for This allows for the analysis of more potential golf swings and impacts, thus avoiding the possibility of missing some. To prevent the opposite problem of detecting "false positives," a probability is calculated for each threshold crossing, based on whether or not the threshold was reached. A value within and far from the thresholds is associated with a high probability, while a value within but close to a threshold is associated with a low (or even very low) probability. The final decision to detect a The probability of a golf swing or impact is then based on the total probability obtained by aggregating (in other words by multiplying) the different probabilities thus obtained.
[0144] Alternatively or in addition, the validation of the impact detection may include the calculation of error and error instability as described by means of equations [Math. 1], [Math. 2] and [Math. 3].
[0145] According to one embodiment, the confirmed detection of an impact further includes verifying consistency between motion detection and impact detection. In particular, the motion and the impact must, for example, be detected substantially simultaneously, typically within a narrow time window, such as a few tenths of a second, for example 400 ms. Thus, an impact detected, for example, one second after a movement would be eliminated and would not allow for the identification of a genuine golf swing.
[0146] In addition, for example, the amplitude of the time signals of the IMU sensors must be consistent between the detected movement and the detected impact.
Claims
Demands
1. A golf motion detection method configured to operate on an electronic device, worn on the wrist or other part of the arm, such as a bracelet or watch, comprising at least one or more angular or linear measurement means, in particular in orientation, velocity or acceleration, such as a three-axis accelerometer and / or a three-axis gyroscope and / or a three-axis magnetometer, cooperating with a computing unit and a memory space;a golf stroke being defined as a golf stroke performed by a user manipulating a golf club, the club having a face, and causing said club to describe a typical trajectory resulting in an impact between the face of the golf club and a golf ball, the method comprising the implementation of a golf stroke detection function and an impact detection function, the stroke detection function being configured to, at any time, detect the execution of a golf stroke associated with a golf stroke from among a set of predefined golf strokes, including a drive, a swing and a putt, and the impact detection function being configured to synchronously detect an impact between the golf club and the golf ball, from measurements (accx, accy, accz, gyrx, gyry, gyrz) made by at least one sensor embedded in the electronic device.;
2. A method according to claim 1, wherein the golf motion detection function and the impact detection function are implemented solely from measurements (accx, accy, accz, gyrx, gyry, gyrz) made by at least one sensor embedded in the electronic device, excluding sensors embedded in the club or the ball, from among at least one three-axis accelerometer and at least one three-axis gyroscope.
3. A method according to any one of the preceding claims, wherein the measurements (accx, accy, accz, gyrx, gyry, gyrz) are carried out continuously and are recorded at a first sampling step of at least 10 Hz, in particular equal to 50 Hz plus or minus 10%, and at a second sampling step of at least 100 Hz for measurements carried out over at least a reduced time window.
4. A method according to any one of the preceding claims, wherein the implementation of the golf motion detection function comprises: • applying a low-pass filter to the corresponding signals to the measurements (accx, accy, accz, gyrx, gyry, gyrz) carried out, in particular of a first-order low-pass filter; • the normalization of each of the signals corresponding to the measurements carried out, in particular in acceleration, from measurements carried out by at least one accelerometer, and / or in rotational speed, from measurements carried out by at least one gyroscope; • the comparison of at least one of the normalized signals to respective simple thresholds; • the identification, for each normalized signal, of at least one peak, when the amplitude of the normalized signal exceeds a simple threshold; • the recording, for each normalized signal, of a date of occurrence of the peak of greatest amplitude.
5. A method according to any one of claims 1 to 3, wherein the implementation of the golf motion detection function comprises, only if at least one signal corresponding to a measurement has an amplitude greater than or equal to a predefined amplitude threshold: • applying a low-pass filter to the signals corresponding to the measurements (accx, accy, accz, gyrx, gyry, gyrz) taken, in particular a first-order low-pass filter; • normalizing each of the signals corresponding to the measurements taken, in particular in acceleration, from measurements (accx, accy, accz, gyrx, gyry, gyrz) taken by at least one accelerometer, and / or in rotational speed, from measurements taken by at least one gyroscope; • comparing the normalized signals to respective simple thresholds;• the identification, for each normalized signal, of at least one peak, when the amplitude of the normalized signal exceeds a simple threshold; • the recording, for each normalized signal, of a date of occurrence of the peak of greatest amplitude.
6. A method according to claim 4 or 5, further comprising: • if at least one peak has been identified, the characterization, for each normalized signal, of 1 to 3 peaks having the greatest amplitudes in height and / or width and / or prominence; • the comparison, for each normalized signal, of its height and / or width and / or prominence to a respective threshold of minimum width, minimum height and / or minimum prominence so as to confirm or refute the existence of a corresponding peak;• the regularization of each normalized signal comprising at least one confirmed peak, by means of a temporal homothety consisting of: • contracting or stretching each normalized signal, in the temporal plane, so that each normalized signal has, over a reduced time window having a predefined regularized duration, for example equal to 2.5 seconds, a main peak regularized at a predefined main peak date, for example at 1.5 seconds in the time window, and where appropriate at least one secondary peak having a secondary peak date at a predefined date in the time window, for example 0.67 seconds before the main peak with a time having undergone the temporal homothety.;
7. A method according to claim 6, further comprising: • regularizing each normalized signal by means of an amplitude homothety consisting of: • contracting or stretching each normalized signal, in amplitude, so that the normalized signal has, over the time window, a main peak amplitude equal to a predefined value.
8. A method according to claim 6 or 7, wherein the implementation of the golf motion detection function comprises the execution of a golf motion recognition algorithm comprising, from a database of golf shots: • the comparison between each regularized normalized signal and a set of model signals corresponding respectively to an average golf swing for a set of golf swing types, including a drive, a swing and a putt, said comparison including the verification that the regularized normalized signal is within a defined envelope between each model signal shifted by a negative offset and the same model signal shifted by a positive offset; • based on the comparison, the identification of a golf swing type.
9. A method according to claim 8, further comprising: • calculating a normalized error for each normalized signal regularized with respect to the model signal of the identified golf movement type and verifying that the normalized error is less than a threshold and that the sum of the normalized errors on all the normalized signals regularized is less than a threshold; • depending on the comparison, validating or invalidating the detection of a golf movement type.
10. A method according to claim 9, further comprising: • calculating a normalized error instability for each regularized normalized signal and verifying that the normalized error instability is less than a threshold for each regularized normalized signal and that the sum of the normalized error instabilities over all the regularized normalized signals is less than a threshold; • depending on the comparison, validating or invalidating the detection of a type of golf movement.
11. A method according to any one of claims 6 to 10, wherein the implementation of the impact detection function comprises: • detecting the exceeding of a peak in at least one of the normalized and regularized signals, by exceeding a threshold, then an opposite peak, in the same signal, by exceeding a threshold of opposite sign; • in this case, recording the measurements with a second sampling step greater than 100 Hz, for example equal to about 400 Hz plus or minus 10% or about 800 Hz plus or minus 10%, and storing the measurements in memory over the duration of a reduced time window including at least a portion of the normalized and regularized signal including the peak and the opposite peak; • the comparison, over the said reduced time window, between the normalized and regularized signal and a sinusoidal signal (sinus_approx) of the same period and the same amplitude as the said peak and opposite peak.
12. A method according to claim 11, wherein the comparison, on said reduced time frame, between at least one normalized regularized signal and the sinusoidal signal comprises: • the modeling of the squared error between said normalized regularized signal and said sinusoidal signal (sinus_approx) and the detection of a confirmed impact as soon as the squared error is less than a threshold; and / or • the discrete Fourier series decomposition of the normalized and regularized signal and the detection of a confirmed impact as long as the duration for which the absolute value of the discrete Fourier series decomposition remains, for coefficients of interest of the discrete Fourier series decomposition, greater than or equal to a threshold equal to half the peak of this absolute value is between a predefined minimum threshold and a predefined maximum threshold.