CN109758154B - Motion state determination method, device, equipment and storage medium - Google Patents
Motion state determination method, device, equipment and storage medium Download PDFInfo
- Publication number
- CN109758154B CN109758154B CN201910019662.6A CN201910019662A CN109758154B CN 109758154 B CN109758154 B CN 109758154B CN 201910019662 A CN201910019662 A CN 201910019662A CN 109758154 B CN109758154 B CN 109758154B
- Authority
- CN
- China
- Prior art keywords
- motion
- track
- determining
- point
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 241
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000009471 action Effects 0.000 claims description 53
- 230000009182 swimming Effects 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 24
- 238000001514 detection method Methods 0.000 claims description 16
- 230000009467 reduction Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 9
- 230000007704 transition Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000036544 posture Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- BXNJHAXVSOCGBA-UHFFFAOYSA-N Harmine Chemical compound N1=CC=C2C3=CC=C(OC)C=C3NC2=C1C BXNJHAXVSOCGBA-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
The invention discloses a motion state determination method, a motion state determination device, motion state determination equipment and a storage medium. The method comprises the following steps: acquiring data and a time sequence of a user during movement through a six-axis sensor; generating a motion track according to the data and the time sequence; the motion state of the user is determined according to the motion track, and the technical scheme of the invention can be suitable for carrying six-axis sensors, and can reduce power consumption, cost and occupied computing resources.
Description
Technical Field
The present invention relates to computer technologies, and in particular, to a method, an apparatus, a device, and a storage medium for determining a motion state.
Background
With the increasing concern of people on health, the enthusiasm for participating in sports is also rising at all times, and the sports population is continuously increased. Swimming is second to ball sports as the second largest sport outside running, and also the second largest sport type that reduces mortality, second only. However, most swimmers need to count manually or use equipment to record, but at present, the equipment and the method for recording the swimming state and parameters mainly use wearable equipment equipped with a GPS and a nine-axis sensor, such as Apple Watch and Garmin watches, which are more than one thousand yuan in price and relatively high in cost, wherein the GPS module has relatively high power consumption and is difficult to position indoors, and even if the GPS module is positioned in place, the positioning accuracy is poor; most wearable devices on the market today are three-axis (acceleration sensor) or six-axis sensors, and are rarely equipped with nine-axis sensors.
Wearable equipment for swimming in the current market is generally loaded with a GPS and a three-axis or six-axis sensor, the price of the wearable equipment provided with the nine-axis sensor or the GPS and nine-axis sensor is over thousands of yuan, and the market share of medium and low-end equipment only loaded with the three-axis or six-axis sensor is about 70%. In addition, the GPS module has high cost and high cost due to a radio frequency antenna structure required by the GPS module, and the GPS module has high power consumption, and can only record the track change and the lap in swimming, and needs to load at least one three-axis accelerometer, three-axis gyroscope, or six-axis sensor when swimming analysis such as the number of times of water hammering is performed. In addition, the GPS is difficult to be positioned indoors, and the positioning precision is poor. The equipment matched with the nine-axis sensor uses the magnetometer to judge the direction and further analyze the direction, the magnetometer is easy to lose effectiveness due to the interference of an environmental magnetic field, and the calculation of parameters such as the water beating times and the swimming postures is still based on the characteristic statistics of the accelerometer or the analysis of data obtained by fusing nine-axis data. The swimming analysis is carried out by only using the three-axis accelerometer, and the recognition of the turning motion is easy to interfere and difficult to recognize.
Disclosure of Invention
The embodiment of the invention provides a motion state determination method, a motion state determination device, motion state determination equipment and a storage medium, which are suitable for carrying a six-axis sensor and can reduce power consumption, cost and occupied computing resources.
In a first aspect, an embodiment of the present invention provides a motion state determination method, including:
acquiring data and a time sequence of a user during movement through a six-axis sensor;
generating a motion track according to the data and the time sequence;
and determining the motion state of the user according to the motion track.
Further, determining the motion state of the user according to the motion trajectory includes:
performing dimension reduction processing on the motion trail to obtain a one-dimensional motion trail;
carrying out peak value detection on the one-dimensional motion track to obtain a peak value and a valley value;
matching the motion state according to the peak value and the valley value;
and determining the motion state of the user according to the matching result, wherein the motion state comprises a swimming state.
Further, performing peak detection on the one-dimensional trajectory to obtain a peak value and a valley value includes:
obtaining the difference value of the positions of the track points in the one-dimensional motion track;
if the difference value between the target track point and the position of the adjacent track point is larger than a preset difference value, obtaining a vector of the track point before the target track point, wherein the vector comprises numerical values corresponding to the direction and the position;
if the direction of the track point before the target track point is the positive direction, determining the track point with the minimum numerical value before the target track point as a wave trough, and determining the track point with the maximum numerical value after the target track point as a wave crest;
if the direction of the track point before the target track point is a negative direction, determining the track point with the maximum numerical value before the target track point as a wave crest, and determining the track point with the minimum numerical value after the target track point as a wave trough;
and obtaining corresponding peak values and valley values according to the peaks and the valleys.
Further, determining the motion state of the user according to the motion trajectory includes:
determining the position of a wave peak point and/or a wave valley point according to the motion track;
intercepting data in a preset time length before and after a wave crest point and/or a wave valley point in the motion trail to perform template matching;
and determining the motion state of the user according to the matching result.
Further, determining the position of the peak point and/or the valley point according to the motion trajectory includes:
performing dimension reduction processing on the motion trail to obtain a one-dimensional motion trail;
determining a time point corresponding to a wave peak point and/or a wave valley point according to the one-dimensional motion track;
and determining the position of a peak point and/or a valley point according to the time point and the motion trail.
Further, determining the motion state of the user according to the motion trajectory includes:
pre-storing the characteristic data;
performing characteristic matching on the motion track and characteristic data;
and determining the motion state of the user according to the matching result.
Further, before determining the motion state of the user according to the motion trajectory, the method further includes:
obtaining the difference value between the data and/or the difference value of the positions of the track points in the motion trail;
correspondingly, determining the motion state of the user according to the motion trail includes:
and if the difference value between the data is greater than a first threshold value and/or the difference value of the positions of the track points in the motion track is greater than a second threshold value, determining the motion state of the user according to the motion track.
Further, the method also comprises the following steps:
acquiring a target action, a target action point and a track among the target action points according to the motion track;
and matching the target action, the target action point and the track among the target action points with pre-stored standard data, and determining whether the target action, the target action point and the track among the target action points are wrong actions according to a matching result.
In a second aspect, an embodiment of the present invention further provides a motion state determining apparatus, where the apparatus includes:
the acquisition module is used for acquiring data and time sequence sequences of the user during movement through the six-axis sensor;
the generating module is used for generating a motion track according to the data and the time sequence;
and the determining module is used for determining the motion state of the user according to the motion track.
In a third aspect, an embodiment of the present invention further provides a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, where the processor implements the motion state determination method according to any one of the embodiments of the present invention when executing the program.
In a fourth aspect, the embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the motion state determination method according to any one of the embodiments of the present invention.
The embodiment of the invention collects data and time sequence of user movement through a six-axis sensor; generating a motion track according to the data and the time sequence; the motion state of the user is determined according to the motion track, the six-axis sensor can be suitable for being carried, and power consumption, cost and occupied computing resources can be reduced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present invention and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained according to the drawings without inventive efforts.
Fig. 1A is a flowchart of a motion state determination method according to a first embodiment of the present invention;
FIG. 1B is a block diagram of a system according to a first embodiment of the invention;
fig. 2A is a flowchart of a motion state determination method according to a second embodiment of the present invention;
FIG. 2B is a three-dimensional trace diagram of a stroke of a user during breaststroke in accordance with a second embodiment of the present invention;
FIG. 2C is a schematic diagram illustrating a peak-valley detection principle in the second embodiment of the present invention;
FIG. 2D is a block diagram of a system according to a second embodiment of the present invention;
fig. 3 is a schematic structural diagram of a motion state determination apparatus according to a third embodiment of the present invention;
fig. 4 is a schematic structural diagram of a computer device in the fourth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures. Meanwhile, in the description of the present invention, the terms "first", "second", and the like are used only for distinguishing the description, and are not to be construed as indicating or implying relative importance.
Example one
Fig. 1A is a flowchart of a motion state determining method according to an embodiment of the present invention, where this embodiment is applicable to a motion state determining situation, and the method may be executed by a motion state determining apparatus according to an embodiment of the present invention, where the apparatus may be implemented in a software and/or hardware manner, as shown in fig. 1A, the method specifically includes the following steps:
and S110, acquiring data and time sequence sequences of the user during movement through a six-axis sensor.
Wherein, six sensor comprises three-axis accelerometer and three-axis gyroscope. The six-axis sensor is arranged inside the wearable device, the wearable device at least comprises an MCU and a six-axis sensor, and the six-axis sensor can be an encapsulation module of a three-axis accelerometer and a three-axis gyroscope. Preferably, the wearable device wearing position is at the wrist of the user. The calibration parameters are obtained by calibrating the raw data output by the six-axis sensor, and preferably, the calibration is performed only once before the product is delivered or after the calibration parameters are cleared.
Wherein the data may be six-axis data.
Specifically, data and time sequence sequences of the data during the movement process of the user are acquired through a six-axis sensor, the data of the six-axis sensor includes but is not limited to three-axis acceleration values and three-axis gyroscope values, the six-axis sensor can acquire data according to a certain frequency, the data acquisition frequency can be set to be 10-100Hz, and preferably, the data acquisition frequency is set to be 50 Hz.
Optionally, after the data and the time sequence of the user during the movement are collected by the six-axis sensor, the collected six-axis data and the time sequence thereof may be subjected to data conversion and data correction, where the data conversion includes, but is not limited to, data unit conversion, and the data correction is used to calibrate the six-axis data and the time sequence thereof using the calibration parameters obtained by the sensor calibration module, including, but not limited to, coordinate system transformation, data filtering, and/or data rectification.
And S120, generating a motion track according to the data and the time sequence.
Specifically, the collected six-axis data and the time sequence are used for generating motion tracks of the positions of the human body and the worn sensor, wherein the motion tracks include but are not limited to three-dimensional space tracks and two-dimensional space tracks.
Optionally, the motion trajectory may be transmitted to a terminal device, where the terminal device includes but is not limited to a smart phone and a tablet computer. The data transmission can be transmitted in a wireless mode such as bluetooth and/or wifi, which is not limited in the embodiment of the present invention.
And S130, determining the motion state of the user according to the motion track.
Wherein the motion state comprises at least one of swimming state, swimming posture type, water hitting frequency, time interval of two continuous water hits, turn moment, turn frequency, swimming speed obtained by combining swimming pool length and swimming moving time, distance of each water hit and swimming efficiency.
Specifically, the method for determining the motion state of the user according to the motion trajectory may be that the motion trajectory is subjected to signal processing and analysis to obtain swimming related parameters, and the motion trajectory is subjected to dimension reduction processing to obtain one-dimensional data, where the dimension reduction processing includes, but is not limited to, directly selecting a trajectory on one or two coordinate axes (selecting an x-axis or y-axis trajectory), PCA processing, signal synthesis processing, and the like, preferably, the three-dimensional motion trajectory is subjected to PCA processing, and a first principal component PC1 is selected to perform signal analysis to obtain the swimming related parameters, where the signal analysis includes, but is not limited to, trend analysis, peak-valley detection, and/or data screening. The swimming related parameters include, but are not limited to, swimming stroke, stroke frequency, time interval between two consecutive strokes, turn moment, turn frequency, swimming speed and distance of each stroke and/or swimming efficiency obtained by combining the length of the swimming pool and the length of swimming movement, and the swimming efficiency includes, but is not limited to, swolf value. The pool length can be estimated by a user manually input or by height, weight, past swimming data, etc.
It should be noted that, in the prior art, a plurality of three-axis accelerometers are used for swimming analysis, wherein one sensor is placed on the chest or the back and is mainly used for judging the turn, and one sensor is worn on the wrist and is mainly used for judging the swimming stroke and the stroke frequency. The embodiment of the invention provides a swimming analysis method of wearable equipment, which has the advantages of low cost, low power consumption, less occupied computing resources and capability of serving most users who purchase middle-low-end watches/bracelets, and only uses a six-axis sensor (a three-axis accelerometer and a three-axis gyroscope).
Optionally, determining the motion state of the user according to the motion trajectory includes:
determining the position of a wave peak point and/or a wave valley point according to the motion track;
intercepting data in a preset time length before and after a wave crest point and/or a wave valley point in the motion trail to perform template matching;
and determining the motion state of the user according to the matching result.
The length of the data truncation may be a fixed value, which is obtained empirically, for example, the longest length of the truncation of the three-axis data may be selected as the final length. Or may be determined based on signal characteristics including, but not limited to, adjacent peaks or valleys. The embodiments of the present invention are not limited in this regard.
The template matching method includes, but is not limited to, overall similarity calculation and curvature similarity calculation.
Optionally, the intercepted data may be input into a classification model for classification, where the classification model includes, but is not limited to, a decision tree and an SVM. Types of swimming include, but are not limited to, breaststroke, freestyle, butterfly, and backstroke.
Specifically, the template matching or classification can be performed by intercepting data in a period of time before and after the peak point/valley point in the three-dimensional motion trajectory according to the position of the peak point/valley point determined by the swimming parameters.
Optionally, determining the position of the peak point and/or the valley point according to the motion trajectory includes:
performing dimension reduction processing on the motion trail to obtain a one-dimensional motion trail;
determining a time point corresponding to a wave peak point and/or a wave valley point according to the one-dimensional motion track;
and determining the position of a peak point and/or a valley point according to the time point and the motion trail.
Specifically, because the motion trajectory is two-dimensional or three-dimensional data, the motion trajectory needs to be reduced in dimension to obtain a one-dimensional motion trajectory, time points (i.e., a maximum value or a minimum value) corresponding to the peak point and/or the valley point are determined through the one-dimensional motion trajectory, then the time points corresponding to the peak point and/or the valley point are mapped to the three-dimensional or two-dimensional motion trajectory, only data between the peak and the valley can be intercepted, data between a previous segment of the peak and the valley can be intercepted, data between a next segment of the valley and data between the peak and the valley can be intercepted, and then template matching or classification is performed on the intercepted data.
Optionally, determining the motion state of the user according to the motion trajectory includes:
pre-storing the characteristic data;
performing characteristic matching on the motion track and characteristic data;
and determining the motion state of the user according to the matching result.
The characteristic data includes, but is not limited to, a motion trajectory, a time interval between consecutive motions, and the like, wherein the characteristic data is a characteristic of a one-stroke cycle, and the characteristic data is pre-stored and can be continuously corrected by subsequent data.
Specifically, the swimming stroke determination may be performed based on feature data generated from the trajectory data.
Optionally, before determining the motion state of the user according to the motion trajectory, the method further includes:
obtaining the difference value between the data and/or the difference value of the positions of the track points in the motion trail;
correspondingly, determining the motion state of the user according to the motion trail includes:
and if the difference value between the data is greater than a first threshold value and/or the difference value of the positions of the track points in the motion track is greater than a second threshold value, determining the motion state of the user according to the motion track.
Specifically, the embodiment of the invention is applied to other action identification by combining a bracelet or a foot ring, and increases the judgment of whether the action starts. As shown in fig. 1B, the wearable device includes: the system comprises at least one MCU and six-axis sensors, a sensor calibration module used for calibrating the six-axis sensors, a data acquisition module used for acquiring six-axis data and a time sequence through the six-axis sensors, a data processing module used for processing the acquired six-axis data and the time sequence, a track generation module used for generating a motion track and determining whether an action starts or not according to an amplitude relation between original data or track point data, and when the amplitude is larger than a given threshold value, the action starts. The data transmission module is used for transmitting data to the terminal equipment, and executing the action recognition module after the action is determined to start, so that the computing resources are saved; the swimming analysis module is configured to perform swimming analysis according to the generated trajectory, for example, whether the swimming action is accurate or wrong or not may be analyzed, which is not limited in the embodiment of the present invention, and the swimming data is output by the swimming data output module after the swimming analysis module finishes analyzing.
Optionally, the method further includes:
acquiring a target action, a target action point and a track among the target action points according to the motion track;
and matching the target action, the target action point and the track among the target action points with pre-stored standard data, and determining whether the target action, the target action point and the track among the target action points are wrong actions according to a matching result.
Specifically, a target action and a target action point in one stroke action and a process between the target action points (namely a track state from a previous target action point to a next target action point) are obtained for analysis, and relevance and stability between two or more continuous stroke actions are obtained.
Optionally, the swimming stroke and the swimming data obtained by the swimming analysis may be output and/or displayed on the wearable device itself or a terminal device such as a mobile phone. When the wearable device is provided with the display module, the swimming data result can be directly checked in real time through the display module without connecting devices such as a mobile phone. When the wearable device is not equipped with the display module, data can be output or displayed on the terminal device in a Bluetooth or wifi or other wireless communication mode.
According to the technical scheme of the embodiment, data and time sequence sequences of a user during movement are acquired through a six-axis sensor; generating a motion track according to the data and the time sequence; the motion state of the user is determined according to the motion track, the six-axis sensor can be suitable for being carried, and power consumption, cost and occupied computing resources can be reduced.
Example two
Fig. 2A is a flowchart of a motion state determination method in a second embodiment of the present invention, and this embodiment is optimized based on the above embodiment, and in this embodiment, determining the motion state of the user according to the motion trajectory includes: performing dimension reduction processing on the motion trail to obtain a one-dimensional motion trail; carrying out peak value detection on the one-dimensional motion track to obtain a peak value and a valley value; matching the motion state according to the peak value and the valley value; and determining the motion state of the user according to the matching result, wherein the motion state comprises a swimming state.
As shown in fig. 2A, the method of this embodiment specifically includes the following steps:
and S210, acquiring data and time sequence sequences of the user during movement through a six-axis sensor.
And S220, generating a motion track according to the data and the time sequence.
The motion trajectory may be a two-dimensional motion trajectory or a three-dimensional motion trajectory, for example, a three-dimensional trajectory of a certain stroke when the user performs breaststroke as shown in fig. 2B.
And S230, performing dimension reduction processing on the motion track to obtain a one-dimensional motion track.
And S240, performing peak value detection on the one-dimensional motion track to obtain a peak value and a valley value.
Specifically, the peak detection method for the one-dimensional motion trajectory may select a peak value and a valley value according to the amplitude of the signal, or may also select the peak value and the valley value after analyzing the one-dimensional motion trajectory in advance, which is not limited in this embodiment of the present invention.
Optionally, performing peak detection on the one-dimensional trajectory, and obtaining a peak value and a valley value includes:
obtaining the difference value of the positions of the track points in the one-dimensional motion track;
if the difference value between the target track point and the position of the adjacent track point is larger than a preset difference value, obtaining a vector of the track point before the target track point, wherein the vector comprises numerical values corresponding to the direction and the position;
if the direction of the track point before the target track point is the positive direction, determining the track point with the minimum numerical value before the target track point as a wave trough, and determining the track point with the maximum numerical value after the target track point as a wave crest;
if the direction of the track point before the target track point is a negative direction, determining the track point with the maximum numerical value before the target track point as a wave crest, and determining the track point with the minimum numerical value after the target track point as a wave trough;
and obtaining corresponding peak values and valley values according to the peaks and the valleys.
In a specific example, as shown in fig. 2C, a trend analysis is performed to determine whether the current signal is above or below, and specifically, whether the current signal is above or below as a whole can be determined by averaging a certain length of data segment before or after the current data. The top-to-bottom transition and/or the bottom-to-top transition is noted as a turn. The length of the intercepted data is 0.1-2 times of the sampling rate, preferably, the length is 0.6 times of sampling rate, and real-time performance and accuracy can be guaranteed. Peaks and/or troughs are detected, in particular troughs when the signal is above and peaks when the signal is below. And carrying out validity confirmation of peak values and/or valley values and validity judgment of turning the body on the result of peak value detection, wherein the validity confirmation comprises but is not limited to threshold judgment and is used for removing abnormal peak values and/or valley values which do not meet the conditions. The abnormal peak and/or valley includes, but is not limited to, an amplitude out-of-range, and the validity judgment of the transition, including, but not limited to, time domain limitations such as a time interval between two adjacent transitions, the number of times of water-hammering before and after the transition, and/or a time interval between the last water-hammering before the transition and the transition, and is used for obtaining more accurate transition time and/or transition number.
Preferably, the more pronounced signals are used for trend analysis and the larger amplitude signals are used for peak detection. The signals processed by the trend analysis and the peak-valley detection may be the same signal (such as an x-axis trajectory signal), or may be two signals that are processed separately, specifically, a y-axis trajectory signal is used for the trend analysis, and an x-axis trajectory signal is used for the peak detection.
And S250, matching the motion state according to the peak value and the valley value.
The motion state matching according to the peak value and the valley value may be performed by performing motion cycle matching according to the peak value and the valley value, for example, selecting a peak value and a valley value adjacent to the peak value, calculating a signal amplitude difference and a signal time difference respectively, and calculating similarity of temporally adjacent motions according to the amplitude difference and the time difference.
Specifically, the stroke frequency is determined according to the peak value and the valley value, and when the stroke frequency reaches the preset frequency, the motion state of the user is determined to be the swimming state.
And S260, determining the motion state of the user according to the matching result, wherein the motion state comprises a swimming state.
In one specific example, as shown in fig. 2D, the wearable device includes: the system comprises at least one MCU and six-axis sensors, a sensor calibration module used for calibrating the six-axis sensors, a data acquisition module used for acquiring six-axis data and a time sequence through the six-axis sensors, a data processing module used for processing the acquired six-axis data and the time sequence, a track generation module used for generating a motion track and determining whether an action starts or not according to an amplitude relation between original data or track point data, and when the amplitude is larger than a given threshold value, the action starts. The data transmission module is used for transmitting data to the terminal equipment, and executing the action recognition module after the action is determined to start, so that the computing resources are saved; the motion recognition module analyzes and processes the six-axis data obtained by the data processing module, the time sequence of the six-axis data and/or the motion track generated by the track generation module through peak detection, template matching and the like, recognizes the motion of the motion, counts the times of completing the motion, and evaluates the degree of completion of the completed motion. The completeness evaluation is used for quantifying the completeness according to an evaluation rule, including but not limited to giving an overall score of each action and giving reasons for deducting scores of different links of each action. The evaluation rules include, but are not limited to, calculating a score for completing the action based on the matching of the motion trajectory and/or velocity. The track can also be processed to remove the influence on the track due to factors such as the height of an individual, and the processing method includes but is not limited to calculating the curvature of each point of the track, and obtaining the matching degree of the curvature to measure the completion degree of the track. The actions include but are not limited to russian swivel, breaststroke arm slide, whole body stretching, bow step body stretching, open and close jumping and other body building actions.
According to the technical scheme of the embodiment, data and time sequence sequences of a user during movement are acquired through a six-axis sensor; generating a motion track according to the data and the time sequence; the motion state of the user is determined according to the motion track, the six-axis sensor can be suitable for being carried, and power consumption, cost and occupied computing resources can be reduced.
EXAMPLE III
Fig. 3 is a schematic structural diagram of a motion state determination apparatus according to a third embodiment of the present invention. The present embodiment may be applicable to the case of determining a motion state, where the apparatus may be implemented in a software and/or hardware manner, and the apparatus may be integrated into any device that provides a function of determining a motion state, as shown in fig. 3, where the motion state determining apparatus specifically includes: an acquisition module 310, a generation module 320, and a determination module 330.
The acquisition module 310 is used for acquiring data and time sequence sequences of the user during movement through a six-axis sensor;
a generating module 320, configured to generate a motion trajectory according to the data and the time sequence;
a determining module 330, configured to determine a motion state of the user according to the motion trajectory.
The product can execute the method provided by any embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method.
According to the technical scheme of the embodiment, data and time sequence sequences of a user during movement are acquired through a six-axis sensor; generating a motion track according to the data and the time sequence; the motion state of the user is determined according to the motion track, the six-axis sensor can be suitable for being carried, and power consumption, cost and occupied computing resources can be reduced.
Example four
Fig. 4 is a schematic structural diagram of a computer device in the fourth embodiment of the present invention. FIG. 4 illustrates a block diagram of an exemplary computer device 12 suitable for use in implementing embodiments of the present invention. The computer device 12 shown in FIG. 4 is only one example and should not bring any limitations to the functionality or scope of use of embodiments of the present invention.
As shown in FIG. 4, computer device 12 is in the form of a general purpose computing device. The components of computer device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including the system memory 28 and the processing unit 16.
The system memory 28 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM)30 and/or cache memory 32. Computer device 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown in FIG. 4, and commonly referred to as a "hard drive"). Although not shown in FIG. 4, a magnetic disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 by one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
A program/utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may comprise an implementation of a network environment. Program modules 42 generally carry out the functions and/or methodologies of the described embodiments of the invention.
The processing unit 16 executes various functional applications and data processing by executing programs stored in the system memory 28, for example, implementing a motion state determination method provided by an embodiment of the present invention: acquiring data and a time sequence of a user during movement through a six-axis sensor; generating a motion track according to the data and the time sequence; and determining the motion state of the user according to the motion track.
EXAMPLE five
An embodiment five of the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the motion state determining method provided in all the inventive embodiments of the present application: acquiring data and a time sequence of a user during movement through a six-axis sensor; generating a motion track according to the data and the time sequence; and determining the motion state of the user according to the motion track.
Any combination of one or more computer-readable media may be employed. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.
Claims (7)
1. A motion state determination method, comprising:
acquiring data and a time sequence of a user during movement through a six-axis sensor;
generating a motion track according to the data and the time sequence;
determining the motion state of the user according to the motion track;
before determining the motion state of the user according to the motion trajectory, the method further includes:
obtaining the difference value between the data and/or the difference value of the positions of the track points in the motion trail;
correspondingly, determining the motion state of the user according to the motion trail includes:
if the difference value between the data is larger than a first threshold value and/or the difference value of the positions of track points in the motion track is larger than a second threshold value, determining the motion state of the user according to the motion track;
wherein determining the motion state of the user according to the motion trajectory comprises:
performing dimension reduction processing on the motion trail to obtain a one-dimensional motion trail;
carrying out peak value detection on the one-dimensional motion track to obtain a peak value and a valley value;
matching the motion state according to the peak value and the valley value;
determining a motion state of the user according to the matching result, wherein the motion state comprises a swimming state;
or,
determining the motion state of the user according to the motion trajectory comprises:
determining the position of a wave peak point and/or a wave valley point according to the motion track;
intercepting data in a preset time length before and after a wave crest point and/or a wave valley point in the motion trail to perform template matching;
determining the motion state of the user according to the matching result;
or,
determining the motion state of the user according to the motion trajectory comprises:
pre-storing the characteristic data;
performing characteristic matching on the motion track and characteristic data;
and determining the motion state of the user according to the matching result.
2. The method of claim 1, wherein performing peak detection on the one-dimensional motion trajectory to obtain peaks and valleys comprises:
obtaining the difference value of the positions of the track points in the one-dimensional motion track;
if the difference value between the target track point and the position of the adjacent track point is larger than a preset difference value, obtaining a vector of the track point before the target track point, wherein the vector comprises numerical values corresponding to the direction and the position;
if the direction of the track point before the target track point is the positive direction, determining the track point with the minimum numerical value before the target track point as a wave trough, and determining the track point with the maximum numerical value after the target track point as a wave crest;
if the direction of the track point before the target track point is a negative direction, determining the track point with the maximum numerical value before the target track point as a wave crest, and determining the track point with the minimum numerical value after the target track point as a wave trough;
and obtaining corresponding peak values and valley values according to the peaks and the valleys.
3. The method of claim 1, wherein determining the location of a peak point and/or a valley point from the motion profile comprises:
performing dimension reduction processing on the motion trail to obtain a one-dimensional motion trail;
determining a time point corresponding to a wave peak point and/or a wave valley point according to the one-dimensional motion track;
and determining the position of a peak point and/or a valley point according to the time point and the motion trail.
4. The method of claim 1, further comprising:
acquiring a target action, a target action point and a track among the target action points according to the motion track;
and matching the target action, the target action point and the track among the target action points with pre-stored standard data, and determining whether the target action, the target action point and the track among the target action points are wrong actions according to a matching result.
5. A motion state determination apparatus, comprising:
the acquisition module is used for acquiring data and time sequence sequences of the user during movement through the six-axis sensor;
the generating module is used for generating a motion track according to the data and the time sequence;
the determining module is used for determining the motion state of the user according to the motion track;
wherein, still include:
the acquisition module is used for acquiring the difference value between the data and/or the difference value of the positions of track points in the motion trail before determining the motion state of the user according to the motion trail;
correspondingly, the determining module is specifically configured to:
if the difference value between the data is larger than a first threshold value and/or the difference value of the positions of track points in the motion track is larger than a second threshold value, determining the motion state of the user according to the motion track;
wherein the determining module is specifically configured to:
performing dimension reduction processing on the motion trail to obtain a one-dimensional motion trail;
carrying out peak value detection on the one-dimensional motion track to obtain a peak value and a valley value;
matching the motion state according to the peak value and the valley value;
determining a motion state of the user according to the matching result, wherein the motion state comprises a swimming state;
or,
the determining module is specifically configured to:
determining the position of a wave peak point and/or a wave valley point according to the motion track;
intercepting data in a preset time length before and after a wave crest point and/or a wave valley point in the motion trail to perform template matching;
determining the motion state of the user according to the matching result;
or,
the determining module is specifically configured to:
pre-storing the characteristic data;
performing characteristic matching on the motion track and characteristic data;
and determining the motion state of the user according to the matching result.
6. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the method according to any of claims 1-4 when executing the program.
7. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910019662.6A CN109758154B (en) | 2019-01-09 | 2019-01-09 | Motion state determination method, device, equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910019662.6A CN109758154B (en) | 2019-01-09 | 2019-01-09 | Motion state determination method, device, equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109758154A CN109758154A (en) | 2019-05-17 |
CN109758154B true CN109758154B (en) | 2022-02-25 |
Family
ID=66453613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910019662.6A Active CN109758154B (en) | 2019-01-09 | 2019-01-09 | Motion state determination method, device, equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109758154B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110236560A (en) * | 2019-06-06 | 2019-09-17 | 深圳市联邦佳维工业装备有限公司 | Six axis attitude detecting methods of intelligent wearable device, system |
CN110471999B (en) * | 2019-08-05 | 2022-03-18 | 北京百度网讯科技有限公司 | Trajectory processing method, apparatus, device and medium |
CN111444245B (en) * | 2020-04-22 | 2023-05-02 | 南京工业职业技术学院 | Human motion data processing method, medium and device based on intelligent mobile terminal |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102667672A (en) * | 2009-07-07 | 2012-09-12 | 韩铮 | Acceleration motion identify method and system thereof |
JP2014042757A (en) * | 2012-08-28 | 2014-03-13 | Seiko Instruments Inc | Electronic equipment, method for determining swimming form, and swimming form determination program |
KR20150141213A (en) * | 2014-06-09 | 2015-12-18 | (주)앱스톤 | Motion counting measurement and display device |
CN106175781A (en) * | 2016-08-25 | 2016-12-07 | 歌尔股份有限公司 | Utilize method and the wearable device of wearable device monitoring swimming state |
CN106237604A (en) * | 2016-08-31 | 2016-12-21 | 歌尔股份有限公司 | Wearable device and the method utilizing its monitoring kinestate |
CN106491105A (en) * | 2016-11-02 | 2017-03-15 | 沈阳大学 | A kind of home for the aged's intelligent guarding system |
CN107049324A (en) * | 2016-11-23 | 2017-08-18 | 深圳大学 | The determination methods and device of a kind of limb motion posture |
-
2019
- 2019-01-09 CN CN201910019662.6A patent/CN109758154B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102667672A (en) * | 2009-07-07 | 2012-09-12 | 韩铮 | Acceleration motion identify method and system thereof |
JP2014042757A (en) * | 2012-08-28 | 2014-03-13 | Seiko Instruments Inc | Electronic equipment, method for determining swimming form, and swimming form determination program |
KR20150141213A (en) * | 2014-06-09 | 2015-12-18 | (주)앱스톤 | Motion counting measurement and display device |
CN106175781A (en) * | 2016-08-25 | 2016-12-07 | 歌尔股份有限公司 | Utilize method and the wearable device of wearable device monitoring swimming state |
CN106237604A (en) * | 2016-08-31 | 2016-12-21 | 歌尔股份有限公司 | Wearable device and the method utilizing its monitoring kinestate |
CN106491105A (en) * | 2016-11-02 | 2017-03-15 | 沈阳大学 | A kind of home for the aged's intelligent guarding system |
CN107049324A (en) * | 2016-11-23 | 2017-08-18 | 深圳大学 | The determination methods and device of a kind of limb motion posture |
Also Published As
Publication number | Publication date |
---|---|
CN109758154A (en) | 2019-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220241641A1 (en) | Systems and Methods of Swimming Analysis | |
Wang et al. | Hear sign language: A real-time end-to-end sign language recognition system | |
WO2021051579A1 (en) | Body pose recognition method, system, and apparatus, and storage medium | |
US20180249908A1 (en) | Multi-state performance monitoring system | |
JP6064280B2 (en) | System and method for recognizing gestures | |
CN109758154B (en) | Motion state determination method, device, equipment and storage medium | |
CN108245869B (en) | Swimming information detection method and device and electronic equipment | |
Jensen et al. | Classification of kinematic swimming data with emphasis on resource consumption | |
CN110113116B (en) | Human behavior identification method based on WIFI channel information | |
CN103892840B (en) | The feature extracting method of a kind of Intelligent worn device and human motion | |
CN111288986A (en) | Motion recognition method and motion recognition device | |
Malawski | Depth versus inertial sensors in real-time sports analysis: A case study on fencing | |
CN111265841B (en) | Swimming lap number determining method, device, equipment and storage medium | |
CN107247974B (en) | Body-building exercise identification method and system based on multi-source data fusion | |
CN210078765U (en) | Motion capture recognition and evaluation device based on wearable sensor | |
CN111803902B (en) | Swimming stroke identification method and device, wearable device and storage medium | |
WO2023182726A1 (en) | Electronic device and method for segmentation of movement repetitions and extraction of performance metrics | |
US20220151511A1 (en) | System, apparatus and method for activity classification for a watch sensor | |
CN111353345B (en) | Method, apparatus, system, electronic device, and storage medium for providing training feedback | |
CN117109567A (en) | Riding gesture monitoring method and system for dynamic bicycle movement and wearable riding gesture monitoring equipment | |
CN110624217A (en) | Rehabilitation glove based on multi-sensor fusion and implementation method thereof | |
CN113749650A (en) | Motion information acquisition method and device | |
Michaels et al. | The use of a cap-mounted tri-axial accelerometer for measurement of distance, lap times and stroke rates in swim training | |
US20230397838A1 (en) | System, apparatus and method for activity classification | |
Bai et al. | Using a wearable device to assist the training of the throwing motion of baseball players |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |