WO2017050140A1 - 一种人体动作识别方法、识别用户动作的方法和智能终端 - Google Patents

一种人体动作识别方法、识别用户动作的方法和智能终端 Download PDF

Info

Publication number
WO2017050140A1
WO2017050140A1 PCT/CN2016/098582 CN2016098582W WO2017050140A1 WO 2017050140 A1 WO2017050140 A1 WO 2017050140A1 CN 2016098582 W CN2016098582 W CN 2016098582W WO 2017050140 A1 WO2017050140 A1 WO 2017050140A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence
data
data sequence
template
training
Prior art date
Application number
PCT/CN2016/098582
Other languages
English (en)
French (fr)
Inventor
苏鹏程
Original Assignee
歌尔股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201510613543.5A external-priority patent/CN105184325B/zh
Priority claimed from CN201510613465.9A external-priority patent/CN105242779B/zh
Application filed by 歌尔股份有限公司 filed Critical 歌尔股份有限公司
Priority to US15/541,234 priority Critical patent/US10339371B2/en
Publication of WO2017050140A1 publication Critical patent/WO2017050140A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/02Preprocessing
    • G06F2218/04Denoising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/08Feature extraction

Definitions

  • the present invention relates to the field of motion recognition technology in human-computer interaction, and in particular, to a human motion recognition method, a method for recognizing a user action, and an intelligent terminal.
  • gesture recognition schemes in human-computer interaction systems can be mainly divided into two categories: vision-based schemes and sensor-based schemes.
  • the concept of gesture-based gesture recognition is earlier, and the recognition method is more mature.
  • the scheme has the disadvantages of being sensitive to the environment, complicated system and large amount of calculation.
  • Sensor-based gesture recognition although it has a late start time, is flexible and reliable, is not affected by the environment and light, and is simple to implement. It is a recognition method with potential for development.
  • the essence of gesture recognition is to use gesture recognition algorithms to classify gestures according to gesture models.
  • the pros and cons of gesture recognition algorithms are directly related to the efficiency and accuracy of gesture recognition.
  • the current gesture recognition algorithms mainly include the following:
  • DTW Dynamic Time Warping
  • HMM Hidden Markov Model Due to the individual differences of users, there is a big difference in the same gesture action, and it is difficult to establish an accurate gesture action template and a recessive Markov model. Moreover, the hidden Markov model HMM is too complicated in analyzing gestures, which makes the calculation of training and recognition larger;
  • the invention provides a human body motion recognition method, a method for recognizing a user action and an intelligent terminal, so as to solve or partially solve the above technical problems, improve the accuracy of human motion recognition, reduce computational complexity, and optimize user experience.
  • a human motion recognition method which collects human motion data for training to obtain a feature extraction parameter and a template data sequence, and the method further includes:
  • Feature extraction is performed on the original data sequence by using feature extraction parameters, and the data dimension of the original data sequence is reduced, and the test data sequence after dimension reduction is obtained;
  • test data sequence is matched with the template data sequence, and when there is a successfully matched test data sequence, it is confirmed that the human body action corresponding to the template data sequence associated with the test data sequence occurs.
  • an intelligent terminal includes: a parameter acquisition unit, a data collection unit, a dimension reduction unit, and a matching unit;
  • a parameter obtaining unit configured to acquire a feature extraction parameter and a template data sequence
  • a data acquisition unit configured to collect data that needs to perform human motion recognition, and obtain a raw data sequence
  • the dimension reduction unit is configured to extract feature data of the original data sequence by using the feature extraction parameter of the parameter acquisition unit, reduce the data dimension of the original data sequence, and obtain a test data sequence after the dimension reduction;
  • a matching unit configured to match the test data sequence with the template data sequence of the parameter obtaining unit, and when there is a successfully matched test data sequence, confirm that the human body action corresponding to the template data sequence associated with the test data sequence occurs.
  • a method for recognizing a user action is provided, the user action data is acquired, the user action data is trained, and the feature extraction parameter and the template symbol sequence are obtained.
  • the method further includes:
  • Feature extraction is performed on the original data sequence by using feature extraction parameters, and the data dimension of the original data sequence is reduced, and the test data sequence after dimension reduction is obtained;
  • the symbol sequence of the test data sequence is matched with the template symbol sequence.
  • the matching is successful, the user action corresponding to the template symbol sequence is confirmed to occur.
  • an intelligent terminal includes: a parameter acquisition unit, a data acquisition unit, a dimensionality reduction processing unit, a symbolization unit, and a matching unit;
  • a parameter obtaining unit configured to acquire a feature extraction parameter and a template symbol sequence
  • a data collecting unit configured to collect data that needs to perform user motion recognition in a user motion recognition, to obtain a raw data sequence
  • the dimension reduction processing unit is configured to extract feature data of the original data sequence by using the feature extraction parameter of the parameter acquisition unit, reduce the data dimension of the original data sequence, and obtain a test data sequence after the dimension reduction;
  • a symbolization unit for converting a test data sequence into a discrete character string to obtain a symbol sequence of the test data sequence
  • the matching unit is configured to match the symbol sequence of the test data sequence with the template symbol sequence of the parameter acquisition unit, and when the matching is successful, confirm that the user action corresponding to the template symbol sequence occurs.
  • the invention has the beneficial effects that the human motion recognition and the user motion recognition scheme provided by the embodiments of the present invention obtain the feature extraction parameter and the template data sequence (or the template symbol sequence) through pre-training, and use the feature extraction parameter to test one time.
  • the collected test data sequence is subjected to dimensionality reduction, for example, reducing the original three-dimensional acceleration signal to one dimension, compared to the prior art directly operating on the three-dimensional data to identify human motion (or user motion),
  • the invention greatly reduces the computational complexity, and because of the conversion of the three-dimensional data to the one-dimensional data, the noise is also removed, and the requirement of the device posture when the user issues the gesture instruction is reduced, thereby allowing the user to perform the gesture action more flexibly. Improve the user experience.
  • the solution of the embodiment can accurately recognize the human body movements such as the user raising the hand and flipping the wrist, and the recognition precision is high, and there is no strict requirement on the user action posture and the starting point position, and the comparison can be made. Feel free to perform actions and the user experience is better.
  • the intelligent terminal provided by the embodiment of the present invention can reduce and calculate the data dimension in the process of human body motion and user motion, so that the calculation amount is small and the power consumption is low, and the mobile intelligent terminal device can be operated and detected in real time in a real-time manner.
  • the requirements of the practical application are improved, and the competitiveness of the mobile intelligent terminal provided by the embodiment of the present invention is also improved.
  • FIG. 1 is a flow chart of a human body motion recognition method according to an embodiment of the present invention.
  • FIG. 2 is a schematic flow chart of a human body motion recognition method according to still another embodiment of the present invention.
  • FIG. 3 is a schematic diagram of data acquisition according to still another embodiment of the present invention.
  • FIG. 4 is a schematic view showing the processing of adding a sliding window according to still another embodiment of the present invention.
  • FIG. 5 is a block diagram of a mobile intelligent terminal according to an embodiment of the present invention.
  • FIG. 6 is a flow chart of a method for recognizing a user action according to an embodiment of the present invention.
  • FIG. 7 is a schematic flow chart of a method for recognizing a user action according to still another embodiment of the present invention.
  • FIG. 8 is a schematic diagram of converting a data sequence into a discrete character string according to an embodiment of the present invention.
  • FIG. 9 is a block diagram of a mobile intelligent terminal according to still another embodiment of the present invention.
  • the main idea of the embodiment of the present invention is: for the existing problem of the existing sensor-based human motion recognition solution, the embodiment of the present invention pre-collects the human motion data for training, and obtains the feature extraction parameter and the template data sequence (or the template symbol sequence).
  • the feature extraction parameter is used to reduce the data dimension of the test data sequence, and the requirement for the posture of the device when performing the human body motion is reduced compared with the existing scheme of directly operating on the collected high-dimensional data to identify the human body motion. Noise is removed, and the reduced-dimensional data sequence is matched with the template data sequence, which can achieve accurate human body motion (or user motion) recognition while reducing computational complexity.
  • FIG. 1 is a flowchart of a human motion recognition method according to an embodiment of the present invention. Referring to FIG. 1, in any human motion recognition, the method includes The following steps S11 to S13:
  • Step S11 collecting data that needs to perform human motion recognition to obtain a raw data sequence
  • the embodiment Before performing the human motion recognition, the embodiment further includes a template training process, and the human motion data is collected during the template training process to obtain the feature extraction parameter and the template data sequence.
  • the template training process is not necessarily required before each execution of the human motion recognition.
  • the feature extraction parameter and the template data sequence can be obtained through a template training process and used for all subsequent human motion recognition before performing all human motion recognition.
  • Step S12 performing feature extraction on the original data sequence by using the feature extraction parameter, reducing the data dimension of the original data sequence, and obtaining the test data sequence after the dimension reduction;
  • step S13 the test data sequence is matched with the template data sequence.
  • the human body action corresponding to the template data sequence associated with the test data sequence occurs.
  • the acquired original data sequence is reduced in dimension by using the pre-acquired feature extraction parameters, thereby reducing the high-dimensional original data sequence to a low dimension (specifically, it can be reduced.
  • One-dimensional reduces the computational complexity of the human motion recognition method, saves the power consumption of the system, ensures the efficiency of the human motion recognition, removes the noise, thereby reducing the restrictions and requirements for performing the human body posture, and improving the user. Use experience.
  • the accuracy of the human body motion recognition is ensured.
  • FIG. 2 is a schematic flow chart of a human body motion recognition method according to still another embodiment of the present invention.
  • this embodiment may be pre-trained to obtain one or more template data sequences, and each template data sequence corresponds to a human body motion (for example, One template data sequence corresponds to the user's action of raising the hand, and the other template data sequence corresponds to the user's action of flipping the wrist.
  • the template data sequence is stored, and the template data sequence can be directly used in subsequent tests without further training.
  • the template training includes the following steps: sensor acquisition data; sliding window processing; filtering processing; step 205 training data sequence processing (specifically, step 2051 uses principal component analysis to perform data dimensionality reduction processing on the training data sequence, step 2052, Template data sequence).
  • the testing process includes the following steps: step 201, the sensor collects data; step 202, sliding window processing; step 203, filtering processing; step 204, original data sequence processing (specifically including step 2041, using feature extraction parameter pairs obtained from principal component analysis)
  • step 204 original data sequence processing (specifically including step 2041, using feature extraction parameter pairs obtained from principal component analysis)
  • the training data sequence performs data dimensionality reduction processing, step 2042, obtains a test data sequence), and, in step S206, the human motion matching identification.
  • the sensor acquisition data, the sliding window processing, and the filtering processing in the template training respectively correspond to the steps 201, 202, and 203 in the testing process, and the operations performed by the two are basically the same, so in FIG. 2 Steps 204 and 205 are shown simultaneously to clearly illustrate the two processes of template training and human motion recognition.
  • a human body motion recognition process includes:
  • Step 201 the sensor collects data
  • the three-axis acceleration data and/or the three-axis angular velocity data are collected by the sensor, and the collected three-axis acceleration data and/or the three-axis angular velocity data are respectively saved into corresponding ring buffers;
  • the sensor here may be a three-axis acceleration sensor or a three-axis gyro sensor.
  • the sensor collects human motion data, and the collected data is the three-axis acceleration or the three-axis angular velocity of the X-axis, the Y-axis, and the Z-axis of the human motion.
  • the collected data is saved in a ring buffer of length Len.
  • FIG. 3 is a schematic diagram of data acquisition according to still another embodiment of the present invention.
  • 31 represents a three-axis acceleration sensor
  • 32 represents acquired acceleration data
  • 33 represents a ring buffer
  • a three-axis acceleration sensor 31 collects human motion.
  • the triaxial acceleration data 32 is used to put the acquired triaxial acceleration data 32 into the corresponding ring buffer 33 (shown in FIG. 3 as a ring buffer 33).
  • the design of the ring buffer 33 in this embodiment can save the system.
  • the storage space also facilitates subsequent sampling of the acquired acceleration data and the addition of sliding window processing.
  • the collected acceleration data 32 may not be placed in the ring buffer 33, which is not limited thereto.
  • FIG. 3 is a schematic illustration of taking the three-axis acceleration of the human body motion by the acceleration sensor as an example, and the subsequent training and the dimensionality reduction and matching operation of the test data are taken as an example of the three-axis acceleration data.
  • the triaxial angular velocity data of the human motion may also be collected by the gyro sensor, or the triaxial acceleration data may be acquired by the acceleration sensor and the triaxial angular velocity data may be acquired by the gyro sensor, and then the acceleration is respectively performed.
  • the data sequence and the angular velocity data sequence are trained to obtain a template data sequence corresponding to the acceleration data sequence and a template data sequence corresponding to the angular velocity data, which is not limited thereto. Similarly, if the three-axis angular velocity data is acquired or both the acceleration data and the angular velocity data are acquired, the angular velocity data is also collected during the test; or both the acceleration data and the angular velocity data are acquired, and the processed corresponding data sequence is acquired. Match the corresponding template separately to determine if the match is successful.
  • weights may be respectively designed for the matching results of the acceleration data sequence and the angular velocity data sequence and their templates, for example, the weight of the acceleration data sequence matching result is designed. Larger, and the weighted matching result is used as the judgment result of the test data sequence.
  • the sensor acquisition data during the template training is basically the same as the sensor acquisition data during the human motion recognition test.
  • the main difference is that the template training requires multiple data acquisitions for the same individual body motion, and the human body motion is performed. When the data is collected, the data of any human motion that is actually generated is collected. Therefore, the data collected by the sensor during the template training process can be referred to the related description, and is not described here.
  • Step 202 sliding window processing
  • the three-axis acceleration data is taken out from the three ring buffers to add a sliding window. That is, the sampled data is simultaneously windowed at a predetermined frequency and the sampled data is windowed in a predetermined step (Step) to obtain a predetermined length of the original data sequence.
  • FIG. 4 is a schematic diagram of processing of adding a sliding window according to still another embodiment of the present invention; as shown in FIG. 4, sampling data according to a predetermined frequency from a ring buffer of three-axis acceleration data of the X-axis, the Y-axis, and the Z-axis; Window processing is performed.
  • the sampling frequency is 50 Hz (50 data is obtained in one minute sampling)
  • the size of each sliding window is 50 sampling data
  • the moving step of the sliding window is 5 sampling data.
  • the size of the sliding window is the length of the obtained original data sequence, that is, 50 sample data are respectively taken out from the three ring buffers of the X-axis, the Y-axis, and the Z-axis for test identification.
  • the window function used in the windowing process in this embodiment is a rectangular window, and the rectangular window belongs to a zero-power window of a time variable.
  • the window function is not limited to a rectangular window, and other window functions may be used, and there is no limitation on the window function.
  • the sliding window processing process during the template training is substantially the same as the sliding window processing step 203 in the single body motion recognition test. Therefore, the sliding window processing in the template training process can be referred to the foregoing related description.
  • Step 203 filtering processing
  • the original data sequence of a predetermined length obtained after windowing is filtered to filter out interference noise.
  • filtering the original data sequence of the predetermined length to filter the interference noise includes: filtering data points of each axial direction of the original data sequence of a predetermined length, and selecting the left side adjacent to the data point a predetermined number of data points and a predetermined number of adjacent ones to the right of the data point The destination data point, the mean value of the selected data points is calculated and the value of the filtered data point is replaced by the mean value.
  • the K-time nearest neighbor equalization filtering is used for filtering processing.
  • the K-time neighbor neighboring equalization filtering is performed by setting the number K of nearest neighbors in advance, and then, in the time series of each axis acceleration data, the K neighboring data points and the K neighboring data points on the left side of any data point.
  • the mean of the sequence is taken as the value of the data point after filtering.
  • special processing is required, and as many neighbor data points as possible are taken as the objects of the equalization processing.
  • the K-time nearest neighbor mean filtering formula is:
  • N is the length of the X-axis data sequence, that is, the size of the sliding window (in this embodiment, the length of the data sequence is 50)
  • K is the number of neighbors selected in advance, that is, how many recent and left data points are selected.
  • Neighboring neighbors a xj is the component of the acceleration signal a j on the X axis, and a' xi is the filtered data corresponding to a x j .
  • the filtering process during the template training is substantially the same as the filtering process step 203 in the process of the human body motion recognition test. Therefore, the filtering process in the template training process can be referred to the foregoing related description.
  • Step 204 Processing the original data sequence includes: obtaining feature extraction parameters and performing step 2041, data dimensionality reduction processing according to the feature extraction parameters; and performing step 2042 after the processing in step 2041, calculating a test data sequence. The following description will be respectively made.
  • Step 2041 data dimensionality reduction processing
  • the feature extraction parameters of the data dimensionality reduction processing include three, namely: each axial mean value of the training data sequence corresponding to the template data sequence, a standard deviation vector, and a transformation matrix for data dimensionality reduction.
  • the feature extraction parameter and the template data sequence obtained by the training may be saved.
  • the feature extraction parameter in the data dimensionality reduction process is performed by using the principal component analysis to perform the training data sequence from the template training process step 205. Obtained during training.
  • the training data sequence processing in step 205 is performed by principal component analysis to perform step 2051 data dimensionality reduction processing.
  • PCA Principal Components Analysis
  • the principle of the principal component analysis PCA method is: Let F 1 denote the principal component index formed by the first linear combination of the original variables A 1 , A 2 , ... A P , and the amount of information extracted by each principal component can be used The variance is measured. The larger the variance Var(F 1 ), the more information indicates the original indicator contained in F 1 . Therefore, the F 1 selected in all linear combinations should be the largest among all linear combinations of multivariables, so F 1 is called the first principal component. If the first principal component is not enough to represent the information of the original multiple indicators, then consider selecting the second principal component index F 2 , and so on, constructing F 1 , F 2 ... F P as the original variable principal component index A 1 , A 2 , ... A P of the first, second, ..., P main component. These principal components are not only irrelevant, but their variances are successively decreasing.
  • step 1 to step 3 are as follows:
  • Step 1 Filter each collected training data sequence, and normalize the filtered training data sequence
  • the training data sequence is normalized and converted into a data sequence with a mean of 0 and a variance of 1.
  • Step 2 calculating all the feature values of the covariance matrix of the training data sequence and the unit feature vector corresponding to each feature value, step 2 specifically includes steps 21 and 22;
  • Step 21 calculating a covariance matrix
  • Step 22 obtaining the eigenvalue ⁇ i of the covariance matrix ⁇ and the corresponding unit eigenvector u i ;
  • the i-th principal component F i of the triaxial acceleration training data sequence is:
  • the eigenvalues of the covariance matrix of the training data sequence are calculated to be ⁇ 2.7799, 0.2071, 0.0130 ⁇ .
  • Step 3 Select an optimal feature value from the feature values; that is, select the principal component.
  • the first m principal components are selected to represent the information of the original variables, and the determination of m is determined by the cumulative contribution rate G(m) of the variance information:
  • the processing of this step is based on the main component, that is, the eigenvalue ⁇ i calculated in the previous step, and specifically, several eigenvalues are selected in the embodiment to better represent the three axes.
  • the information of the acceleration training data sequence is determined by calculating the cumulative contribution rate of the variance information of each feature value. In this embodiment, when the cumulative contribution rate G(m) of the variance information is greater than 85%, the determination is sufficient to reflect the three axes.
  • the information of the acceleration training data sequence is, and the corresponding m is the number of the first few principal components to be extracted. For example, when m is 2, the first two principal components are extracted.
  • Calculate the cumulative contribution rate of the variance information when selecting a principal component ie, the eigenvalue. If the cumulative contribution rate of the variance information of the first principal component is greater than 85%, then only the first principal component is selected, if only the selected one is selected. When the cumulative contribution rate of the variance information of a first principal component is less than or equal to 85%, it is necessary to calculate the second principal component and calculate the variance when the two principal components (ie, the first principal component and the second principal component) are selected. Whether the cumulative contribution rate of information is greater than 85%, and so on, to determine the value of m is to determine the number of selected principal components.
  • the cumulative contribution ratio of the variance information of the first principal component is calculated to be 92.66% (greater than 85%), so that only the first principal component is selected, and the information of the original variable is well preserved ( That is, one of the three eigenvalues is selected.
  • Step 2051 data dimensionality reduction processing
  • the transformation matrix composed of the unit feature vector corresponding to the optimal eigenvalue is used to reduce the dimension of the training data sequence, and the mapping of the training data sequence on the transformation matrix is calculated, and the training data sequence after the dimension reduction is obtained.
  • the score of the triaxial acceleration training data sequence on the first principal component is calculated by the following formula, that is, the projection F 1 on the first principal component:
  • u 1 ⁇ u 11 , u 12 , u 13 ⁇ is the transformation matrix of the feature extraction parameters obtained by the training, that is, the unit feature vector corresponding to the first principal component (eigenvalue).
  • the dimensionally reduced one-dimensional data can be used as a training data sequence. Or, further, framing the one-dimensional data sequence, obtaining an average value of each frame, and then using a data sequence composed of average values of each frame as a training data sequence, which can further remove noise and improve system robustness.
  • the present invention does not limit this.
  • Step 2052 a template data sequence
  • data is collected multiple times for the same individual body motion, and multiple training data sequences are obtained;
  • Principal component analysis is used to extract features of each training data sequence, reduce the data dimension of the training data sequence, and obtain the training data sequence after dimension reduction. According to the distance between the training data sequences after dimension reduction, the human body motion corresponding is determined.
  • a template data sequence A template data sequence.
  • N standard human body motions are collected, and after the above steps, N training data sequences are obtained, and then the distance between each training data sequence and other N-1 training data sequences is calculated respectively. And average. Finally, N average distances are obtained, and a minimum value is selected from the N average distances, and the training data sequence in which the minimum average distance is located is stored as a template data sequence corresponding to the human body motion for use in subsequent actual human body motion recognition.
  • the axial mean values and standard deviation vectors of the corresponding three-axis acceleration training data sequences in the template data sequence training process are also saved as feature extraction parameters.
  • Step 205 processing the training data sequence by using principal component analysis, and obtaining the feature extraction parameter, and outputting the feature extraction parameter to step 204, so that the obtained feature extraction parameter can be directly used in the step 2041 to perform the filtered original data sequence.
  • Data dimensionality reduction processing
  • the transformation matrix u ⁇ u 11 , u 12 , u 13 ⁇ , and perform the following operations on the filtered original data sequence:
  • the X-axis, Y-axis, and Z-axis acceleration data are normalized by the feature extraction parameters:
  • a' x (a x -M ax )/ ⁇ ax
  • a 'z (a z -M az) / ⁇ az
  • a x , a y , and a z are the acceleration data on the X-axis, the Y-axis, and the Z-axis before normalization, respectively, and a x ', a y ', and a z ' are a x , a y , and a z respectively. Corresponding data after processing.
  • Step 2042 testing the data sequence
  • a one-dimensional test data sequence corresponding to the original data sequence is obtained. Further, the one-dimensional data sequence may be framed, and the average value of each frame is obtained, and then the data sequence composed of the average values is used as the one-dimensional test data sequence corresponding to the original data sequence, and whether the framing is performed according to whether Whether the template training process template data sequence is subjected to framing processing to determine that the length of the training data sequence obtained here should be consistent with the length of the aforementioned template data sequence.
  • Step 206 human motion matching and recognition
  • template matching is used for human body recognition.
  • the template matching is to match the processed test data sequence with the pre-stored template data sequence, and the recognition task is completed by measuring the similarity (ie, distance) between the two data sequences. If the distance between them is less than a given threshold, then the test data sequence is considered to match the template data sequence and the human body action corresponding to the template data sequence occurs.
  • the distance between the two data sequences is calculated by the distance function DIST, and the calculation formula is expressed as follows:
  • A is the template data sequence
  • a i represents the i-th element in the template data sequence
  • D is the test data sequence
  • d i represents the i-th element in the test data sequence
  • N is the template data sequence and the test data sequence.
  • the length, DIST(D, A), represents the distance between D and A.
  • test data sequence After obtaining the distance between the test data sequence and the template data sequence, if the distance is less than a set threshold, the test data sequence is considered to match the template data sequence, and the human body action corresponding to the template data sequence occurs.
  • the corresponding recognition result can be obtained, so that it can be determined whether the collected data sequence corresponds to a valid human motion.
  • the collected data sequence corresponds to a human body motion, it can further identify which template is matched.
  • the human body action that is, can bring about the effect of recognizing a specific human motion.
  • the above is the flow of the human motion recognition method according to an embodiment of the present invention.
  • the feature extraction parameter and the template data sequence are obtained by using the principal component analysis training, and the data extraction dimension of the collected original data sequence is further reduced by using the feature extraction parameter.
  • Dimensional raw data sequence down to one-dimensional data Sequence, which reduces the computational complexity, removes noise, reduces the device pose requirements for human motion, and enhances the user experience; then, the dimensionality-reduced test data sequence is matched with the template data sequence, and When the matching is successful, the human body action corresponding to the template is confirmed, the accuracy of the human motion recognition is ensured, and the beneficial effect of improving the efficiency of the human motion recognition and ensuring the recognition accuracy is achieved.
  • the technical solution of the embodiment further includes an operation of filtering the original data sequence to reduce the false trigger rate. That is to say, before data reduction of the original data sequence, it is first determined whether the original data sequence is a valid original data sequence, so as to further improve the efficiency of human motion recognition and save system power consumption.
  • one or more of the following measures are used to ensure that the true human body motion to be identified is recognized, and the false trigger rate is minimized.
  • related content not described in this embodiment can be referred to the description of other embodiments of the present invention.
  • each axial average of the three-axis acceleration data has a corresponding range of possible values, and if the calculated axial average values exceed the preset value
  • the possible range of values can be judged as not being a real human motion to be recognized, but a false trigger.
  • a particular implementation is, calculate the average value M x, M y, M z of acceleration data in all three sliding window, and the average value M x, M y, M z and the range corresponding to each Compare to determine whether it is the real human movement to be identified;
  • each sliding window having a length of N (for example, N is 50)
  • the respective axial average values M x , M y , M z in the three-axis acceleration data are calculated.
  • N for example, N is 50
  • M x , M y , M z fall within the corresponding range in each sliding window. If it exceeds this range, it is considered that it is not a human body motion.
  • each axial average corresponds to a possible range of values, and each axial mean calculated from a raw data sequence is compared with its corresponding range of values.
  • Another specific implementation method calculates the mean values EndM x , EndM y , EndM z of the last predetermined number of data points in the three sliding windows:
  • the three axial upper endpoints are the average values EndM x , EndM y , EndM z of the acceleration data.
  • the average standard deviation ⁇ is less than a given threshold, it is considered that it is not a true human body motion to be recognized, and is directly returned without further processing.
  • the last predetermined number of data points of each sliding window are selected, and the minimum and maximum values of the last predetermined number of data points in each axial direction are respectively found: MinA x , MaxA x , MinA y , MaxA y , MinA z , MaxA z , calculate the average fluctuation range MeanRange based on these maximum and minimum values:
  • MeanRange (MaxA x -MinA x +MaxA y -MinA y +MaxA z -MinA z )/3;
  • an embodiment of the present invention further provides an intelligent terminal.
  • 5 is a block diagram of a smart terminal according to an embodiment of the present invention.
  • the smart terminal 50 includes: a parameter obtaining unit 501, a data collecting unit 502, a dimension reducing unit 503, and a matching unit 504.
  • the parameter obtaining unit 501 is configured to acquire a feature extraction parameter and a template data sequence.
  • the parameter obtaining unit 501 can obtain the feature extraction parameter and the template data sequence from the information input by the external device, or the parameter acquisition unit 501 can also set a template training module internally, and the template training module collects the human motion data for training to obtain the feature extraction.
  • the parameter and template data sequence, and the feature extraction parameter and the template data sequence are output to the parameter acquisition unit 501.
  • the data collection unit 502 is configured to collect data that needs to perform human motion recognition to obtain a raw data sequence.
  • the dimension reduction unit 503 is configured to perform feature extraction on the original data sequence by using the feature extraction parameter of the parameter obtaining unit 501, reduce the data dimension of the original data sequence, and obtain a reduced-dimensional test data sequence;
  • the matching unit 504 is configured to match the test data sequence with the template data sequence acquired by the parameter obtaining unit 501, and when there is a test data sequence with a successful match, confirm that the human body action corresponding to the template data sequence associated with the test data sequence occurs.
  • the parameter obtaining unit 501 internally sets a template training module.
  • the template training template is used to collect data for the same individual body motion multiple times, and obtain multiple training data sequences; use principal component analysis to extract features of each training data sequence, reduce the data dimension of the training data sequence, and obtain dimensionality reduction.
  • the subsequent training data sequence determines a template data sequence corresponding to the human motion according to the distance between the dimensioned training data sequences.
  • the data acquisition unit 502 is configured to collect the three-axis acceleration data and/or the three-axis angular velocity data by using the sensor, and save the collected three-axis acceleration data and/or the three-axis angular velocity data to corresponding ones.
  • the ring buffer sampling from the ring buffer at a predetermined frequency, and windowing the sampled data with a sliding window of a predetermined step size to obtain a sequence of original data of a predetermined length.
  • the smart terminal 50 further includes a filtering unit, configured to filter a predetermined length of the original data sequence to filter out interference noise.
  • the filtering unit is specifically configured to filter data points in each axial direction of the original data sequence of a predetermined length, select a predetermined number of data points adjacent to the left side of the data point, and select A predetermined number of data points adjacent to the right side of the data point, the mean value of the selected data points is calculated and the value of the filtered data point is replaced by the mean value.
  • the template training template is specifically configured to: filter each collected training data sequence, and normalize the filtered training data sequence; calculate a covariance matrix of the training data sequence. All eigenvalues and unit eigenvectors corresponding to each eigenvalue; selecting an optimal eigenvalue from the eigenvalues; using a transformation matrix composed of unit eigenvectors corresponding to the eigenvalues to perform dimensionality reduction on the training data sequence, Calculating the mapping of the training data sequence on the transformation matrix, and obtaining the dimensioned training data sequence; respectively calculating the distance between each training data sequence after the dimension reduction and other training data sequences, and for each training data sequence The distance is averaged, and the minimum value is selected from the average distance of each training data sequence obtained, and the training data sequence in which the minimum value is located is used as a template data sequence corresponding to the human body motion.
  • the feature extraction parameter includes: each axial mean value of the training data sequence corresponding to the template data sequence, a standard deviation vector, and a transformation matrix for data dimensionality reduction;
  • the dimension reduction unit 503 is specifically configured to normalize the filtered original data sequence by using the axial mean value and the standard deviation vector of the training data sequence; and using the transformation matrix to perform the normalized original data sequence by using the transformation matrix Feature extraction reduces the data dimension of the original data sequence and obtains the reduced test data sequence.
  • the matching unit 504 is specifically configured to calculate a distance between the template data sequence and the test data sequence by using the following formula:
  • A is the template data sequence
  • a i represents the i-th element in the template data sequence
  • D is the test data sequence
  • d i represents the i-th element in the test data sequence
  • N is the template data sequence and the test data sequence.
  • Length, DIST (D, A) indicates the distance between D and A;
  • the distance is compared with a predetermined threshold. When the distance is less than the predetermined threshold, the matching is successful, and the human body action corresponding to the template data sequence associated with the test data sequence is confirmed to occur.
  • the smart terminal further includes: a screening unit, configured to filter the collected original data sequence, and after training the valid original data sequence, using the effective original data sequence to obtain training Feature extraction parameters for feature extraction.
  • a screening unit configured to filter the collected original data sequence, and after training the valid original data sequence, using the effective original data sequence to obtain training Feature extraction parameters for feature extraction.
  • the human motion recognition solution obtained by the embodiment of the present invention obtains the feature extraction parameter and the template data sequence through pre-training, and uses the feature extraction parameter to reduce the dimension of the test data sequence, for example, reducing the original three-dimensional acceleration signal to One-dimensional, compared with the prior art directly operating on three-dimensional data, greatly reduces the computational complexity, and can remove noise by converting three-dimensional data into one-dimensional data. And reduce the user's posture requirements when issuing gesture commands, allowing the user to perform gestures more flexibly.
  • the experiment proves that the solution of the embodiment can accurately recognize the human body movements such as raising the hand and flipping the wrist compared with the prior art, and the recognition precision is high, and there is no strict requirement on the user action posture and the starting point position, and the method can be relatively random. Performing actions on the ground greatly improves the user experience.
  • the smart terminal provided by the embodiment of the present invention includes, but is not limited to, a smart watch, a smart bracelet, a mobile phone, etc., and has a small amount of calculation and low power consumption in the process of human motion recognition, and can be in the smart terminal device.
  • the real-time operation and detection and identification can better meet the needs of the actual application, and improve the competitiveness of the intelligent terminal provided by the embodiment of the present invention.
  • the embodiment of the present invention further provides a method for recognizing user actions and a smart terminal that belongs to the same inventive concept as the user action recognition method.
  • the method for recognizing user actions is described in detail below through the fifth embodiment.
  • FIG. 6 is a flowchart of a method for recognizing a user action according to an embodiment of the present invention.
  • the method for recognizing a user action includes: acquiring user action data, training user action data, obtaining a feature extraction parameter and a template symbol sequence, and further including the following Steps S61 to S64, see Fig. 6,
  • Step S61 in a user motion recognition, collecting data that needs to perform user motion recognition, to obtain a raw data sequence
  • the embodiment Before performing the user motion recognition, the embodiment further includes a template training process, and the user motion data is collected during the template training process to obtain the feature extraction parameter and the template data sequence.
  • the template training process is not an operation that is necessary before each user motion recognition is performed.
  • the feature extraction parameter and the template data sequence can be obtained through a template training process and used for all subsequent user motion recognition before performing all user motion recognition.
  • Step S62 performing feature extraction on the original data sequence by using the feature extraction parameter, reducing the data dimension of the original data sequence, and obtaining the test data sequence after the dimension reduction;
  • Step S63 converting the test data sequence into a discrete character string to obtain a symbol sequence of the test data sequence
  • Step S64 matching the symbol sequence of the test data sequence with the template symbol sequence, and when the matching is successful, confirming that the user action corresponding to the template symbol sequence occurs.
  • the feature extraction parameter is used for data dimensionality reduction, and the dimensionality-reduced data is converted into a discrete character string to obtain a symbol sequence corresponding to the test data sequence.
  • the symbol sequence is matched with the template symbol sequence, and if the matching is successful, the user action associated with the template symbol sequence is confirmed to occur.
  • Symbolizing the obtained low-dimensional test data sequence and converting it into discrete character strings can further remove noise, reduce computational complexity, and improve the accuracy of user motion recognition, without requiring the user to strictly follow a predetermined trajectory (for example, an action)
  • the starting point performs actions to improve the user experience.
  • FIG. 7 is a schematic flowchart of a method for recognizing a user action according to still another embodiment of the present invention.
  • the embodiment is pre-trained to obtain one or more template symbol sequences, and each template symbol sequence corresponds to one user action (for example, one
  • the template symbol sequence corresponds to the user's action of raising the hand, and the other template symbol sequence corresponds to the user's action of flipping the wrist.
  • the template symbol sequence is stored, and the template symbol sequence can be used in subsequent tests without further training.
  • the template training includes the following steps: sensor acquisition data; sliding window processing; filtering processing; step 705 training data sequence processing (specifically, step 7051 uses principal component analysis to perform data dimensionality reduction on the training data sequence; step 7052, symbol Aggregation approximation; step 7053, obtaining a template symbol sequence).
  • the testing process includes the following steps: step 701, the sensor collects data; step 702, sliding window processing; step 703, filtering processing; step 704, original data sequence processing (specifically, step 7041 utilizes feature extraction parameter pairs obtained from principal component analysis
  • step 7041 utilizes feature extraction parameter pairs obtained from principal component analysis
  • the original data sequence is subjected to data dimensionality reduction processing, step 7042, symbolized aggregation approximation; step 7043, obtaining a symbol sequence corresponding to the test data sequence) and step 706, user action matching identification.
  • the sensor acquisition data, the sliding window processing, and the filtering processing in the template training respectively correspond to the step 701, the step 702, and the step 703 in the testing process, and the operations performed by the two are basically the same, so in FIG. 7 Steps 704 and 705 are shown simultaneously to clearly illustrate the two processes of template training and user motion recognition.
  • the user action recognition process of this embodiment includes:
  • Step 701 The sensor collects data.
  • the three-axis acceleration data and/or the three-axis angular velocity data are collected by the sensor, and the collected three-axis acceleration data and/or the three-axis angular velocity data are respectively saved into corresponding ring buffers;
  • the sensor here can be a three-axis acceleration sensor or a three-axis gyroscope sensor.
  • the sensor collection data during the template training is basically the same as the processing procedure of the sensor collection data in the user motion recognition process.
  • the main difference is that the template training requires multiple data acquisitions for the same user action, and user actions are performed.
  • the data is collected, the data of any user action that is actually generated is collected. Therefore, the data collected by the sensor during the template training process can be referred to the related descriptions, and will not be described later.
  • the process of collecting data by the step 701 in the embodiment is the same as the process of acquiring the data by the step 201 of the second embodiment. Therefore, for more information about the data collected by the sensor, refer to the related description in the foregoing second embodiment. , will not repeat them here.
  • Step 702 sliding window processing
  • the three-axis acceleration data is taken out from the three ring buffers to add a sliding window.
  • the sampled data is simultaneously sampled by a sliding window of a predetermined step (Step) according to a predetermined frequency to obtain a predetermined length of the original data sequence.
  • the sampling data is windowed according to a predetermined frequency sampling.
  • the process of the sliding window processing of the step 702 in the embodiment is the same as the implementation process of the sliding window processing of the step 202 of the foregoing second embodiment. Therefore, for more information about the sliding window processing, refer to the foregoing second embodiment. The related description is not repeated here.
  • the sliding window processing procedure during template training is substantially the same as the sliding window processing step 702 in one user motion recognition. Therefore, the sliding window processing in the template training process can also refer to the foregoing related description.
  • Step 703 filtering processing
  • the original data sequence of a predetermined length obtained after windowing is filtered to filter out interference noise.
  • filtering the original data sequence of the predetermined length to filter the interference noise includes: filtering data points for each axial direction of the original data sequence of a predetermined length, and selecting the left side of the data point adjacent to the data point The predetermined number of data points and the predetermined number of data points adjacent to the right side of the data point are selected, the mean value of the selected data points is calculated, and the value of the filtered data point is replaced by the mean value.
  • step 703 in the embodiment is the same as the process of the filtering process of the step 203 of the second embodiment. Therefore, for more information about the filtering process, refer to step 203 of the foregoing second embodiment. The description is not repeated here.
  • the filtering process in the template training process is the same as the filtering process step 703 in the process of the user motion recognition. Therefore, the filtering process in the template training process can also refer to the related description in the foregoing second embodiment.
  • Step 704 Processing the original data sequence (including specifically acquiring feature extraction parameters, step 7041, data dimensionality reduction processing, 7042, symbolic aggregation approximation; 7043, obtaining a symbol sequence corresponding to the test data sequence). The following description will be respectively made.
  • Step 7041 data dimension reduction processing
  • the feature extraction parameter in the data dimensionality reduction process of step 7041 of this embodiment is obtained by training the training data sequence by principal component analysis from the template training process step 705.
  • step 7051 is performed. Specifically, step 7051 is to perform a dimensionality reduction process on the training data sequence by using a transformation matrix composed of unit feature vectors corresponding to the optimal feature values. The mapping of the training data sequence on the transformation matrix is calculated, and the training data sequence after the dimension reduction is obtained. It should be noted that the process of the step 7051 in the embodiment is the same as the process of the data reduction process in the step 2051 of the foregoing embodiment. For details, refer to the description in step 2051 of the foregoing second embodiment, and details are not described herein again.
  • the standard deviation vector of the training data sequence, each axial mean value, and the unit feature vector corresponding to the optimal feature value may be calculated ( That is, the conversion matrix).
  • the set of parameters (for example, including: standard deviation vector, each axial mean value, and conversion matrix) of the training data sequence corresponding to the template symbol sequence are output to the set of parameters for subsequent determination of the template symbol sequence.
  • Step 704 in the testing process such that the set of parameters can be used in step 704 to perform data dimensionality reduction on the original data sequence.
  • Step 7041 data dimensionality reduction processing
  • the feature extraction parameters are used to extract the original data sequence, and the data dimension of the original data sequence is reduced, and the test data sequence after dimension reduction is obtained.
  • the feature extraction parameter includes: an axial mean value, a standard deviation vector, and a transformation matrix for data dimensionality reduction of the training data sequence corresponding to the template SAX symbol sequence, and the training data sequence is obtained by user motion data collected during training. Normalizing the original data sequence by using the axial mean and standard deviation vector of the training data sequence; using the transformation matrix to perform feature extraction on the normalized original data sequence, reducing the data dimension of the original data sequence , get the test data sequence after dimension reduction.
  • the data reduction process in the step 7041 is substantially the same as the process of the data reduction process in the step 2041 of the foregoing embodiment.
  • the data reduction process in the step 7041 is substantially the same as the process of the data reduction process in the step 2041 of the foregoing embodiment.
  • the data reduction process in the step 7041 is substantially the same as the process of the data reduction process in the step 2041 of the foregoing embodiment.
  • the description in the step 2041 of the foregoing embodiment 2 and details are not described herein again.
  • the dimensionally reduced one-dimensional data may be used as a test data sequence.
  • the one-dimensional data sequence is further framed, the average value of each frame is obtained, and then the data sequence composed of the average values of the frames is used as a test data sequence, which can further remove noise.
  • the embodiment of the present invention reduces the original acceleration data sequence to one dimension by using the principal component analysis PCA, and the conventional methods basically operate on the three-dimensional data separately, thereby greatly reducing the computational complexity; By selecting the most important principal component and discarding the secondary component, part of the noise can be removed.
  • the device posture requirement for the user to perform the action can be reduced, so that the user can execute the experiment at random. Actions improve the user experience.
  • test data sequence is converted into a discrete character string by symbolic aggregation approximation SAX.
  • SAX symbolization process of the test data sequence and the SAX symbolization process when training the template are described. the same.
  • how to convert the test data sequence into discrete strings using symbolized aggregate approximation SAX will be illustrated in step 7042.
  • Step 7042 symbolic aggregation approximation
  • step 7041 the original data sequence is subjected to dimensionality reduction processing by using feature extraction parameters obtained during the training process, and a one-dimensional test data sequence can be calculated;
  • the symbolic aggregation approximation is an effective time series data discretization method based on Piecewise Aggregate Approximation (PAA). It uses the statistical rules of time series to convert continuous data into symbol sequences (ie strings). ). It is capable of reducing dimensions and performing similarity measures.
  • PAA is used to reduce the dimension of the training data sequence.
  • the training data sequence is discretized, and the numerical sequence is represented by symbols, and the similarity between the time series is measured.
  • a time series of length N can be converted to a SAX word of length W by symbolic aggregation approximation of SAX.
  • the SAX method has a higher compression ratio while retaining the local information of the data, and has higher tolerance to noise.
  • the segmentation process not only eliminates noise but also implements data smoothing processing.
  • N is the length of the sequence.
  • N 50;
  • the process of symbolic aggregation approximation of SAX includes the following steps 1 to 2:
  • Acceleration test data sequence A of length N can use vector of W-dimensional space To represent. among them
  • the i-th element is calculated as follows:
  • the length of the test data sequence is reduced from N to W by PAA processing.
  • W represents the length of the dimensionally reduced one-dimensional test data sequence, that is, the number of data included in the test data sequence.
  • the mapped alphabetic symbols are required to have equal probability of occurrence.
  • it approximates a Gaussian distribution, so the entire range of values of the data sequence can be divided into r equal probability intervals, that is, under the Gaussian probability density curve, divided into r parts of equal area.
  • the same letter symbol to represent the sequence values in the same interval, thus obtaining a symbolic representation of the value, wherein the correspondence between the value of the base r and the probability space partition is as shown in Table 1:
  • Table 1 is a breakpoint lookup table with a base r from 3 to 10.
  • the base r represents the number of intervals divided into a time series (for example, a test data sequence) when the values in this time series are roughly evenly distributed;
  • the point ⁇ represents the boundary point of the two intervals.
  • the break point can be understood as a data point: data larger than the data point will fall into one interval, and data less than or equal to the data point will fall into another interval.
  • a time series is divided into three intervals, wherein the value in the time series is smaller than the break point ⁇ 1 (ie ⁇ 0.43). It is divided into an interval, which is greater than or equal to ⁇ 1 and smaller than ⁇ 2 (ie, 0.43), and is divided into the second interval, and greater than or equal to ⁇ 2 is assigned to the third interval.
  • the test data sequence can be converted into a PAA sequence of length W, and then the PAA sequence of length W and the given SAX letter are used with breakpoints in a given SAX alphabet.
  • the letters in the table establish a correspondence, and a sequence of discrete SAX symbols composed of letters corresponding to the PAA sequence is obtained.
  • Step 7043 testing a sequence of symbols corresponding to the data sequence
  • FIG. 8 is a schematic diagram of converting a data sequence into a discrete character string according to still another embodiment of the present invention.
  • a PAA sequence 82 of length W is obtained after PAA processing.
  • 83 in 8 represents a breakpoint of the divided interval, and two are shown in FIG. The breakpoint divides the entire interval into three cells, and each cell corresponds to one letter, that is, the letters a, b, and c, and the elements in the PAA sequence are respectively compared with the breakpoints, and the PAA sequence in FIG. 8 corresponds to
  • the SAX symbol sequence is: baabccbc.
  • the above formula can be used to map each value in the PAA sequence to a letter in a given SAX alphabet, thereby obtaining a sequence of SAX symbols corresponding to the test data sequence.
  • the one-dimensional training data sequence is converted into a discrete SAX character string by using step 7052 symbolized aggregation approximation (SAX) to obtain the template symbol sequence of step 7053. .
  • SAX symbolized aggregation approximation
  • the step 7052 of the template training process is a symbolic aggregation approximation; the operation step of the symbolic aggregation approximation of step 7042 in a user action test process is basically the same, therefore, the symbolic aggregation approximation process of the training data sequence during template training Please refer to the foregoing description, and details are not described herein again.
  • step 7053 is a sequence of template symbols.
  • the template symbol sequence is determined by separately calculating the distance between each reduced SAX symbol sequence and the remaining other training SAX symbol sequences, and averaging all distances of each training SAX symbol sequence from each training SAX.
  • the minimum value is selected from the average distance of the symbol sequence, and the training SAX symbol sequence in which the minimum value is located is used as a template SAX symbol sequence corresponding to the user action.
  • the same user action is collected N times, and N training SAX symbol sequences are processed, and then the SAX symbol sequence distance formula is used to calculate the sequence between each training SAX symbol sequence and other SAX symbol sequences.
  • the minimum MINDIST distance is averaged, and finally N average MINDIST distances are obtained, and the training SAX symbol sequence in which the minimum average MINDIST distance is located is selected as the template SAX symbol sequence of the user action.
  • SAX symbol sequence distance formula for calculating the distance between two SAX symbol sequences is expressed as:
  • Represents a training SAX symbol sequence Representing another training SAX symbol sequence, W representing the length of two training SAX symbol sequences, Express The ith element, Express The ith element.
  • step 706 the user action matches the identification.
  • template matching is used to perform user motion recognition.
  • the template matching is to match the symbol sequence corresponding to the processed test data sequence with the pre-stored template symbol sequence, and the recognition task is completed by measuring the similarity (ie, distance) between the two symbol sequences. If the distance between them is less than a given threshold, then the sequence of symbols corresponding to the test data sequence is considered to match the sequence of template symbols, and the user action corresponding to the sequence of template symbols occurs.
  • a template symbol sequence obtained after processing in step 7053 is The sequence of symbols corresponding to the test sample sequence obtained after processing in step 7043 is The distance between the two SAX symbol sequences is represented by the aforementioned SAX symbol sequence distance formula MINDIST, which calculates the distance between two SAX symbol sequences.
  • the i-th element in the SAX symbol sequence representing the test data sequence Represents the i-th element in the template SAX symbol sequence, w is the length of the template SAX symbol sequence and the SAX symbol sequence of the test data sequence, N is the length of the test data sequence, and the dist() function represents the distance to be obtained;
  • the dist() function is expressed as the following formula:
  • r is OK, representative Position index in a given SAX alphabet
  • c by OK representative a position index in a given SAX alphabet
  • represents a breakpoint for a given SAX alphabet
  • the value of the dist() function can be obtained by looking up the distance of the SAX letter.
  • the SAX letter distance table only needs to be calculated once and then stored for subsequent use. quick search.
  • Table 2 is a schematic of the SAX letter distance table, see Table 2, r in dist(r,c) represents the row or column value in Table 2, and c represents the column or row value in Table 2.
  • r represents the row value
  • c represents the column value
  • the letter c is an element of the SAX symbol sequence of the test data sequence Ok
  • the letter e is composed of elements in the template SAX symbol sequence determine.
  • dist(r,c) can also be calculated by the above dist() function formula. Since both calculation methods are based on the same given SAX alphabet, the calculation results obtained in the two modes are In the same way, the actual application can be selected as needed, and there is no limitation on this.
  • the distance MINDIST After obtaining the distance MINDIST between the template SAX symbol sequence and the SAX symbol sequence of the test data sequence, the distance MINDIST is compared with a predetermined threshold. When the distance MINDIST is less than the predetermined threshold, the matching is successful, and the template SAX symbol sequence is confirmed. The corresponding user action occurs.
  • the corresponding recognition result can be obtained by step 706, so that it can be determined whether the collected data sequence corresponds to a valid user action, and when it is a user action, it can further identify which template matches the user action.
  • the embodiment of the present invention may first obtain a template symbol sequence corresponding to a user action and a feature extraction parameter of the training data sequence corresponding to the template symbol sequence according to the sensor acquisition data ⁇ sliding window processing ⁇ filtering processing ⁇ step 705 execution sequence.
  • the feature extraction parameters and the template symbol sequence are saved for repeated use in subsequent actual user action recognition.
  • an operation of filtering the original data sequence is also included.
  • the following focuses on how to filter the original data sequence.
  • one or more of the following measures are used to ensure that the true user action to be identified is recognized, and the false trigger rate is minimized.
  • each axial average of the three-axis acceleration data has a corresponding range of possible values, and if the calculated axial average exceeds a preset probability If the value range is determined, it can be judged that it is not the real user action to be recognized, but is triggered by mistake.
  • the spoofing prevention measures include two specific implementation manners.
  • the two specific implementation manners refer to the related description in the foregoing Embodiment 3, and details are not described herein again.
  • the maximum value and the minimum value of the predetermined number of data tails in each axial direction of the original data sequence are respectively selected, and the average fluctuation range of the data at the end of the operation is calculated according to the maximum value and the minimum value, and each axial direction is calculated.
  • the action end time corresponding to the predetermined number of data tails is determined to be in a stationary state.
  • the first user motion recognition method of the present invention reduces the original data sequence to one dimension. While the conventional methods basically operate directly on the three-dimensional data, the method of the present invention greatly reduces the computational complexity; and, by reducing the data dimension, a part of the noise can be removed; in addition, since the three-dimensional data sequence is converted into a one-dimensional data sequence The device posture requirement when the user performs an action can be reduced, and the user can perform the action relatively arbitrarily.
  • the data dimension is further reduced, and the computational complexity is reduced. User action recognition is guaranteed.
  • the use of a string to represent a sequence of values also simplifies the next step of matching.
  • FIG. 9 is a block diagram of a smart terminal according to still another embodiment of the present invention.
  • the smart terminal 90 includes: a parameter obtaining unit 901, a data collecting unit 902, and a dimensionality reduction process.
  • the parameter obtaining unit 901 is configured to obtain the feature extraction parameter and the template symbol sequence.
  • the parameter obtaining unit 901 may obtain the feature extraction parameter and the template symbol sequence from the information input by the external device, or the parameter acquisition unit 901 may also set a template training.
  • the module collects human motion data from the template training module to obtain a feature extraction parameter and a template symbol sequence, and outputs the feature extraction parameter and the template symbol sequence to the parameter acquisition unit 901.
  • the data collection unit 902 is configured to collect data that needs to perform user motion recognition in a user motion recognition to obtain a raw data sequence.
  • the dimension reduction processing unit 903 is configured to perform feature extraction on the original data sequence by using the feature extraction parameter of the parameter obtaining unit 901, reduce the data dimension of the original data sequence, and obtain a reduced-dimensional test data sequence;
  • the symbolizing unit 904 is configured to convert the test data sequence into a discrete character string to obtain a symbol sequence of the test data sequence
  • the matching unit 905 is configured to match the symbol sequence of the test data sequence with the template symbol sequence of the parameter obtaining unit 901, and when the matching is successful, confirm that the user action corresponding to the template symbol sequence occurs.
  • the smart terminal 90 further includes: a false trigger determination unit;
  • the false triggering determining unit is configured to filter the collected original data sequence, and after filtering the valid original data sequence, triggering the dimensionality reducing processing unit to perform feature extraction on the valid original data sequence using the feature extraction parameter of the parameter obtaining unit 901 ;
  • the false trigger judging unit is configured to filter the collected original data sequence by:
  • the template symbol sequence is a template SAX symbol sequence obtained by using symbolized aggregation approximation SAX when training user action data; the symbolization unit 904 is configured to approximate SAX by using the same symbolic aggregation as the training user action data.
  • the test data sequence is converted to a discrete SAX string to obtain a sequence of SAX symbols for the test data sequence.
  • a parameter training unit 901 is provided with a template training module for collecting data for the same user action multiple times, and obtaining multiple Training data sequence; using principal component analysis to extract features of each training data sequence, reducing the data dimension of the training data sequence, and obtaining the training data sequence after dimension reduction; using the symbolic aggregation approximation SAX to calculate each dimension reduction training
  • the training SAX symbol sequence of the data sequence determines a template SAX symbol sequence corresponding to the user action according to the distance between each training SAX symbol sequence.
  • the data collection unit 902 is specifically configured to collect the three-axis acceleration data and/or the three-axis angular velocity data by using the sensor, and save the collected three-axis acceleration data and/or the three-axis angular velocity data to the corresponding ring buffer respectively.
  • Medium sampling from the ring buffer at a predetermined frequency, and windowing the sampled data with a sliding window of a predetermined step size to obtain a raw data sequence of a predetermined length; filtering the original data sequence of a predetermined length to filter Except for interference noise;
  • a parameter training unit 901 is provided with a template training module for performing feature extraction on each training data sequence by using principal component analysis, reducing data dimension of the training data sequence, and obtaining a training data sequence after dimension reduction; using symbolization Aggregating approximation SAX calculates a training SAX symbol sequence of each dimension-reduced training data sequence, and determines a template SAX symbol sequence corresponding to the user action according to the distance between each training SAX symbol sequence, including: each training data collected The sequence is filtered, and the filtered training data sequence is normalized; all eigenvalues of the covariance matrix of the training data sequence and the unit eigenvector corresponding to each eigenvalue are calculated; and an optimal feature is selected from the eigenvalues Value; using a transformation matrix composed of unit eigenvectors corresponding to the optimal eigenvalues, performing dimensionality reduction on the training data sequence, calculating a mapping of the training data sequence on the transformation matrix, and obtaining a training data sequence after dimensionality reduction; using symbolic
  • the feature extraction parameter includes: an axial mean value, a standard deviation vector, and a transformation matrix for data dimensionality reduction of the training data sequence corresponding to the template SAX symbol sequence, and the training data sequence is obtained by user motion data;
  • the processing unit 903 is specifically configured to perform normalization processing on the original data sequence by using the axial mean value and the standard deviation vector of the training data sequence; and using the transformation matrix to perform feature extraction on the normalized original data sequence to reduce the original
  • the data dimension of the data sequence is obtained as a sequence of test data after dimensionality reduction.
  • the symbolization unit 904 is specifically configured to convert a test data sequence of length N into a segment cumulative approximate PAA sequence of length W; wherein the value of W is less than N;
  • a PAA sequence of length W is associated with a letter in the given SAX alphabet to obtain a sequence of discrete SAX symbols consisting of the corresponding letters of the PAA sequence.
  • the matching unit 905 is specifically configured to calculate the distance between the SAX symbol sequence of the test data sequence and the template SAX symbol sequence by using the following formula:
  • the i-th element in the sequence of SAX symbols representing the test sequence Represents the i-th element in the template SAX symbol sequence, W is the length of the template SAX symbol sequence and the SAX symbol sequence of the test data sequence, N is the length of the test data sequence, and the dist() function represents the distance to be obtained;
  • the dist() function is expressed as the following formula:
  • the distance is compared with a predetermined threshold. When the distance is less than the predetermined threshold, the matching is successful, and the user action corresponding to the template SAX symbol sequence is confirmed to occur. .
  • the smart terminal 90 in the embodiment first performs data dimensionality reduction, converts the reduced dimensional data into discrete character strings, and then matches the string of the test data sequence with the template symbol sequence. If the matching succeeds, the user action corresponding to the template symbol sequence is confirmed, thereby avoiding the problem that the existing intelligent terminal directly performs processing and calculation on the three-dimensional data, and at the same time, part of the noise can be removed by data dimensionality reduction, and the numerical value is converted into characters.
  • the string further reduces the amount of calculation and improves the recognition accuracy.
  • the smart terminal also includes a function of preventing false triggering when performing user motion recognition, which can further improve the accuracy of motion recognition, reduce unnecessary power consumption loss, and improve product competitiveness.
  • the user motion recognition scheme of the present embodiment performs data dimensionality reduction on the original data sequence to be identified by using the feature extraction parameters obtained by the training, for example, reducing the triaxial acceleration or the triaxial angular velocity data to one dimension, and then The test data sequence obtained after dimension reduction is symbolized, so that the multi-dimensional user action data is finally transformed into a string sequence, and only the string sequence is matched with the trained template symbol sequence.
  • the scheme greatly reduces the computational complexity, and since the three-dimensional data is transformed into one-dimensional data, It is possible to reduce the requirement for the posture of the device when the user gives a gesture instruction, allowing the user to perform the gesture action more flexibly.
  • the symbolization process is used to further reduce the dimensionality of the data sequence and measure the similarity, further reduce the computational complexity, and further remove the noise and improve the accuracy of the motion recognition on the basis of ensuring the matching performance.
  • the user motion recognition method of the present invention can accurately detect the user actions such as the whole, half of the hand-lifting action and the flipping wrist, and there is no strict requirement for the posture and the starting point position when the user performs the action, and Feel free to perform actions and the user experience is better.
  • the smart terminal provided by the embodiment of the present invention includes, but is not limited to, a smart watch, a smart wristband, a mobile phone, etc.
  • the intelligent terminal of the present invention adopts the method for recognizing a user action according to the embodiment of the present invention. Therefore, in the process of user motion recognition, the calculation amount is small, the power consumption is low, and the operation and recognition can be performed in real time, which satisfies the needs of practical applications well, and improves the user experience and competitiveness of the intelligent terminal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

一种人体动作识别方法、识别用户动作的方法和智能终端,该人体动作识别方法包括:采集人体动作数据进行训练得到特征提取参数和模板数据序列,在一次人体动作识别中,采集需要执行人体动作识别的数据,得到原始数据序列(S11);利用特征提取参数对原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列(S12);将测试数据序列与模板数据序列进行匹配,当存在匹配成功的测试数据序列时,确认该测试数据序列关联的模板数据序列对应的人体动作发生(S13)。上述方法通过对测试数据序列进行降维,降低了对人体动作姿态的要求,去除了噪声,再将降维后的数据与模板匹配,在降低计算复杂度的同时实现人体动作的准确识别,提高了用户体验。

Description

一种人体动作识别方法、识别用户动作的方法和智能终端 技术领域
本发明涉及人机交互中的动作识别技术领域,具体涉及一种人体动作识别方法、识别用户动作的方法和智能终端。
发明背景
目前,人机交互系统中的手势识别方案主要可以分为两类:基于视觉的方案和基于传感器的方案。基于视觉的手势识别研究较早,识别方法也较为成熟,但是该方案存在对环境敏感,系统复杂,计算量大等弊端。而基于传感器的手势识别虽然起步时间较晚,但是灵活可靠,不受环境、光线的影响,实现简单,是一种具有发展潜力的识别方法。手势识别的本质是根据手势模型利用手势识别算法将手势分类。手势识别算法的优劣直接关系到手势识别的效率和精度。
目前的手势识别算法主要有以下几种:
(1)DTW(Dynamic Time Warping,动态时间规整)。DTW算法虽然能解决输入数据序列和模板数据序列长度不一致的问题,但匹配性能对用户的依赖性较大;
(2)HMM(Hidden Markov Model,隐马尔可夫模型)。由于用户的个体差异,同一手势动作存在着较大差异,难以建立准确的手势动作模板和隐性马尔可夫模型。而且,隐马尔可夫模型HMM在分析手势动作时过于复杂,使得训练和识别的计算量较大;
(3)人工神经网络。人工神经网络识别算法需要大量的训练数据,而且算法复杂度高。
因此,现有基于传感器的识别方案在智能终端上的应用仍然面临着很多待解决的问题,例如:
(1)如何基于传感器实现较高精度的识别。
(2)如何降低识别计算的复杂度。由于智能终端是资源受限的设备,在手势识别过程中,智能终端的持续感知需要消耗不少的能量,所以智能终端的手势识别需要考虑计算量和功耗问题。
(3)现有技术一般要求在给定的智能终端姿态或一个固定的平面上操作,限制了用户动作的范围,对设备的姿态要求较高,这样就给用户使用造成了极大的不便,用户体验较差。
发明内容
本发明提供了一种人体动作识别方法、识别用户动作的方法和智能终端,以解决或部分解决上述技术问题,提高人体动作识别的精度,降低计算复杂度,优化用户体验。
为了达到上述目的,本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种人体动作识别方法,采集人体动作数据进行训练得到特征提取参数和模板数据序列,方法还包括:
在一次人体动作识别中,采集需要执行人体动作识别的数据,得到原始数据序列;
利用特征提取参数对原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列;
将测试数据序列与模板数据序列进行匹配,当存在匹配成功的测试数据序列时,确认该测试数据序列关联的模板数据序列对应的人体动作发生。
根据本发明的另一个方面,提供了一种智能终端,智能终端包括:参数获取单元、数据采集单元、降维单元和匹配单元;
参数获取单元,用于获取特征提取参数和模板数据序列;
数据采集单元,用于采集需要执行人体动作识别的数据,得到原始数据序列;
降维单元,用于利用参数获取单元的特征提取参数对原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列;
匹配单元,用于将测试数据序列与参数获取单元的模板数据序列进行匹配,当存在匹配成功的测试数据序列时,确认该测试数据序列关联的模板数据序列对应的人体动作发生。
根据本发明的又一个方面,提供了一种识别用户动作的方法,获取用户动作数据,对用户动作数据进行训练,得到特征提取参数以及模板符号序列,该方法还包括:
在一次用户动作识别中,采集需要执行用户动作识别的数据,得到原始数据序列;
利用特征提取参数对原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列;
将测试数据序列转换为离散的字符串,得到测试数据序列的符号序列;
将测试数据序列的符号序列与模板符号序列进行匹配,当匹配成功时,确认模板符号序列对应的用户动作发生。
根据本发明的再一个方面,提供了一种智能终端,智能终端包括:参数获取单元、数据采集单元、降维处理单元、符号化单元和匹配单元;
参数获取单元,用于获取特征提取参数和模板符号序列;
数据采集单元,用于在一次用户动作识别中,采集需要执行用户动作识别的数据,得到原始数据序列;
降维处理单元,用于利用参数获取单元的特征提取参数对原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列;
符号化单元,用于将测试数据序列转换为离散的字符串,得到测试数据序列的符号序列;
匹配单元,用于将测试数据序列的符号序列与参数获取单元的模板符号序列进行匹配,当匹配成功时,确认模板符号序列对应的用户动作发生。
本发明的有益效果是:本发明实施例提供的人体动作识别和识别用户动作的方案,通过预先训练获得特征提取参数和模板数据序列(或模板符号序列),并利用特征提取参数对一次测试时采集的测试数据序列进行降维,例如,将原始的三维加速度信号降低至一维,相比于现有技术中直接在三维数据上分别进行操作以识别人体动作(或用户动作)的方案,本发明大大降低了计算的复杂度,并且,由于将三维数据转换至一维数据,也去除了噪声,并降低了用户发出手势指令时对设备姿态的要求,从而允许用户更加灵活地执行手势动作,提高了用户体验。实验证明,本实施例的方案与现有技术相比,可以准确识别出用户抬手以及翻转手腕等人体动作,识别精度高,而且对用户动作姿态、起始点位置都没有严格的要求,可以较为随意地执行动作,用户体验更好。
另外,本发明实施例提供的智能终端,在人体动作、用户动作识别过程中通过降低数据维数使得计算量小、功耗低,可以在移动智能终端设备中实时地运行和检测识别,更好地满足了实际应用的需要,也提高了本发明实施例提供的移动智能终端的竞争力。
附图简要说明
图1是本发明一个实施例的一种人体动作识别方法的流程图;
图2是本发明又一个实施例的一种人体动作识别方法的流程示意图;
图3是本发明又一个实施例的数据采集示意图;
图4是本发明又一个实施例的添加滑动窗处理示意图;
图5是本发明一个实施例的一种移动智能终端的框图;
图6是本发明一个实施例的一种识别用户动作方法的流程图;
图7是本发明又一个实施例的一种识别用户动作方法的流程示意图;
图8是本发明一个实施例的数据序列转换为离散字符串的示意图;
图9是本发明又一个实施例的一种移动智能终端的框图。
实施本发明的方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步的详细描述。
本发明实施例的主要构思是:针对现有基于传感器的人体动作识别方案存在的问题,本发明实施例预先采集人体动作数据进行训练,得到特征提取参数和模板数据序列(或模板符号序列),并利用该特征提取参数降低测试数据序列的数据维数,与现有在采集到的高维数据上直接进行操作以识别人体动作的方案相比,降低了执行人体动作时对设备姿态的要求,去除了噪声,并且,将降维后的数据序列与模板数据序列进行匹配,能够在降低计算复杂度的同时实现准确的人体动作(或用户动作)识别。
实施例一
本发明实施例的人体动作识别方法可应用在移动智能终端中,图1是本发明一个实施例的一种人体动作识别方法的流程图,参见图1,在任一次人体动作识别中,该方法包括下述步骤S11至S13:
步骤S11,采集需要执行人体动作识别的数据,得到原始数据序列;
在执行人体动作识别之前,本实施例还包括一个模板训练过程,在模板训练过程中采集人体动作数据进行训练得到特征提取参数和模板数据序列。模板训练过程并不是每次执行人体动作识别之前都必须的操作,例如,可以在执行所有人体动作识别之前,通过一次模板训练过程得到特征提取参数和模板数据序列并用于后续所有的人体动作识别。
步骤S12,利用特征提取参数对原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列;
步骤S13,将测试数据序列与模板数据序列进行匹配,当存在匹配成功的测试数据序列时,确认该测试数据序列关联的模板数据序列对应的人体动作发生。
通过图1所示的方法,在一次人体动作识别中,对采集的原始数据序列利用预先获取的特征提取参数进行降维,从而将高维的原始数据序列降低到低维(具体的可以降至一维),降低了人体动作识别方法的计算复杂度,节省了系统的功耗,保证了人体动作识别的效率,去除了噪声,从而减少了对执行人体动作姿态的限制和要求,提高了用户使用体验。并且通过将降维后测试数据序列与预先获取的模板数据序列进行匹配,并在匹配成功时确认模板对应的人体动作发生,保证了人体动作识别的精度。
实施例二
图2是本发明又一个实施例的一种人体动作识别方法的流程示意图;参见图2,本实施例可以预先训练得到一个或多个模板数据序列,每个模板数据序列对应一个人体动作(例如一个模板数据序列对应用户的抬手这一动作,另一个模板数据序列对应用户翻转手腕这一动作),将模板数据序列存储下来,后续测试时可以直接使用该模板数据序列而不必再进行训练。
参见图2,模板训练包括下列步骤:传感器采集数据;滑动窗处理;滤波处理;步骤205训练数据序列处理(具体包括步骤2051利用主成分分析对训练数据序列进行数据降维处理,步骤2052,获得模板数据序列)。
测试过程包括下列步骤:步骤201,传感器采集数据;步骤202,滑动窗处理;步骤203,滤波处理;步骤204,原始数据序列处理(具体包括步骤2041利用从主成分分析中获得的特征提取参数对训练数据序列进行数据降维处理,步骤2042,获得测试数据序列),以及,步骤S206人体动作匹配识别。
需要说明的是,模板训练中的传感器采集数据、滑动窗处理、滤波处理分别与测试过程中的步骤201、步骤202、步骤203相对应,且两两执行的操作基本相同,所以在图2中同时示出步骤204和205以清楚说明模板训练和人体动作识别两个过程。
以下以一次人体动作识别测试为例,对本发明实施例的这种人体动作识别方法的流程进行说明。
参见图2,本实施例的,一次人体动作识别过程包括:
步骤201,传感器采集数据;
利用传感器采集三轴加速度数据和/或三轴角速度数据,将采集的三轴加速度数据和/或三轴角速度数据分别保存到对应的环形缓冲区中;
这里的传感器可以是三轴加速度传感器或者是三轴陀螺仪传感器,传感器采集得到人体动作数据,所采集的数据为人体动作的X轴、Y轴、Z轴的三轴加速度或三轴角速度。采集的数据分别保存到长度为Len的环形缓冲区中。
图3是本发明又一个实施例的数据采集示意图,参见图3,其中,31表示三轴加速度传感器,32表示采集得到的加速度数据,33表示环形缓冲区;三轴加速度传感器31采集人体动作的三轴加速度数据32,将采集的三轴加速度数据32放入对应的环形缓冲区33(图3示出了一个环形缓冲区33)中,本实施例采用环形缓冲区33的设计可以节省系统的存储空间,也方便对采集的加速度数据后续进行采样以及添加滑动窗处理。本领域技术人员能够理解在本发明的其他实施例中,也可以不采用环形缓冲区33放置采集的加速度数据32,对此不作限制。
此外需要强调的是,图3是以通过加速度传感器采集人体动作的三轴加速度为例进行的示意性说明,后续也是以三轴加速度数据为例进行的训练和对测试数据的降维、匹配操作。但是在本发明的其他实施例中,也可以通过陀螺仪传感器采集人体动作的三轴角速度数据,或者既通过加速度传感器采集三轴加速度数据又通过陀螺仪传感器采集三轴角速度数据,然后分别对加速度数据序列和角速度数据序列进行训练,得到加速度数据序列对应的模板数据序列和角速度数据对应的模板数据序列,对此不做限制。同样的,如果是采集三轴角速度数据或者既采集加速度数据又采集角速度数据的话,在测试时,也需要采集角速度数据;或,既采集加速度数据又采集角速度数据,并将处理后的相应数据序列分别和对应的模板进行匹配,以确定是否匹配成功。进一步地,如果既采集人体动作的加速度数据又采集角速度数据时,可以对加速度数据序列和角速度数据序列与它们模板的匹配结果分别设计不同的权重,例如,将加速度数据序列匹配结果的权重设计的较大,并将加权后的匹配结果作为测试数据序列的判断结果。
需要说明的是,模板训练时的传感器采集数据与人体动作识别测试过程中的传感器采集数据的步骤基本相同,主要区别在于模板训练时需要对同一个人体动作多次采集数据,而在执行人体动作识别时,会对实际发生的任一人体动作的数据进行采集,因此,模板训练过程中的传感器采集数据可以参见前述相关描述,此处不再赘述。
步骤202,滑动窗处理;
在采集到三轴加速度数据后,从三个环形缓冲区中取出三轴加速度数据分别添加滑动窗。即,按照预定的频率同时从环形缓冲区中采样,并以预定步长(Step)的滑动窗对采样数据进行加窗处理,得到预定长度的原始数据序列。
图4是本发明又一个实施例的添加滑动窗处理示意图;如图4所示,从X轴、Y轴、Z轴三轴加速度数据的环形缓冲区中,按照预定的频率采样,对采样数据进行加窗处理。本实施例中,采样频率为50Hz(一分钟采样得到50个数据),每个滑动窗的大小为50个采样数据,滑动窗的移动步长为5个采样数据。滑动窗的大小即为得到的原始数据序列的长度,也就是说,同时从X轴、Y轴、Z轴三个环形缓冲区中每次分别取出50个采样数据进行测试识别。
需要说明的是,本实施例中加窗处理采用的窗函数为矩形窗,矩形窗属于时间变量的零次幂窗。但是在本发明的其他实施例中窗函数不限于矩形窗,也可以使用其它窗函数,对窗函数没有限制。
另外,模板训练时的滑动窗处理过程与一次人体动作识别测试过程中的滑动窗处理步骤203基本相同,因此,模板训练过程中的滑动窗处理可以参见前述相关描述。
步骤203,滤波处理;
对加窗后得到的预定长度的原始数据序列进行滤波处理,以滤除干扰噪声。
本实施例中,对预定长度的原始数据序列进行滤波处理以滤除干扰噪声包括:对预定长度的原始数据序列的每个轴向的数据点进行滤波处理,选取该数据点左侧相邻的预定数目的数据点以及选取该数据点右侧相邻的预定数 目的数据点,计算选取出的数据点的均值并由该均值替换滤波处理的数据点的数值。
具体的,本实施例采用K时间近邻均值化滤波进行滤波处理。K时间近邻均值化滤波是通过事先设定时间最近邻的个数K,然后在各轴加速度数据时间序列中,把任意一数据点左边K个近邻数据点和右边K个近邻数据点所组成的序列的均值作为滤波处理后该数据点的值。对于时间序列中前K个数据点和最后K个数据点,须做特殊处理,取尽可能多的邻居数据点作为均值化处理的对象。
以三轴加速度数据中的X轴数据序列为例,K时间近邻均值化滤波公式为:
Figure PCTCN2016098582-appb-000001
其中,N是X轴数据序列的长度,即滑动窗的大小(本实施例中数据序列长度为50),K是预先选取的邻居个数,即选取某一个数据点左、右各多少个最近邻的邻居,axj为加速度信号aj在X轴上的分量,a′xi是axj对应的滤波后的数据。
需要说明的是,本发明其他实施例中,除了K时间近邻均值化滤波之外,还可以采用其它滤波处理方法,例如,中值滤波,巴特沃斯(Butterworth)滤波等,只要能够实现对原始数据序列进行滤波处理即可,对此不作限制。
另外,模板训练时的滤波处理过程与一次人体动作识别测试过程中的滤波处理步骤203基本相同,因此,模板训练过程中的滤波处理可以参见前述相关描述。
步骤204,对原始数据序列处理包括:获得特征提取参数以及根据特征提取参数执行步骤2041,数据降维处理;经过步骤2041处理后执行步骤2042,计算得到测试数据序列。以下分别进行说明。
步骤2041,数据降维处理
本实施例中,数据降维处理时的特征提取参数包括三个,分别为:模板数据序列对应的训练数据序列的各轴向均值,标准差向量以及用于数据降维的转换矩阵。
具体的,在模板训练过程中可以对训练得到的特征提取参数和模板数据序列进行保存,步骤2041数据降维处理中特征提取参数是从模板训练过程步骤205中利用主成分分析对训练数据序列进行训练时得到的。步骤205中的训练数据序列处理是利用主成分分析进行步骤2051数据降维处理。
这里的主成分分析PCA(Principal Components Analysis)是设法将原来众多的(比如P个)具有一定相关性的指标,重新组合成一组新的互相无关的综合指标来代替原来的指标。PCA通过少数几个主成分来揭示多个变量间的内部结构,即从原始变量中导出少数几个主成分,使它们尽可能多地保留原始变量的信息,且彼此间互不相关。
主成分分析PCA方法的原理为:设F1表示原变量A1,A2,...AP的第一个线性组合所形成的主成分指标,每一个主成分所提取的信息量可用其方差来度量,方差Var(F1)越大,表示F1包含的原指标的信息越多。因此在所有的线性组合中选取的F1应该是多变量的所有线性组合中方差最大的,故称F1为第一主成分。如果第一主成分不足以代表原来多个指标的信息,再考虑选取第二个主成分指标F2,依此类推构造出的F1,F2...FP为原变量主成分指标A1,A2,...AP的第一个、第二个、...、第P个主成分。这些主成分之间不仅不相关,而且它们的方差依次递减。
本实施例中利用主成分分析挑选前几个最大主成分对训练数据序列进行处理(而无需处理全部指标)实现了对训练数据序列的特征提取。具体的包括如下步骤1至步骤3的操作:
步骤1,对采集的每个训练数据序列进行滤波,并对滤波后的训练数据序列进行归一化处理;
本实施例中,在进行主成分分析PCA处理之前,要对训练数据序列进行归一化处理,将它变换为均值为0,方差为1的数据序列。
具体的,设三个滑动窗中得到的三轴加速度训练数据组成的N×P矩阵为A=[A1,...AP],其中,N为滑动窗的长度,P是数据维数,本实施例中P=3,即训练数据序列为三维数据,该矩阵A中的元素表示为aij,i=1,...N;j=1,...P。
步骤2,计算训练数据序列的协方差矩阵的所有特征值以及每个特征值对应的单位特征向量,步骤2具体包括步骤21和步骤22;
步骤21,计算协方差矩阵;
计算三轴加速度训练数据序列各轴向均值M={Max,May,Maz},以及标准差向量σ={σaxayaz};各轴向均值和标准差向量的计算方法为公知常识,这里不再赘述。
计算训练数据序列组成的矩阵A的协方差矩阵Σ,即Σ=(sij)P×P,其中
Figure PCTCN2016098582-appb-000002
Figure PCTCN2016098582-appb-000003
分别为aki和akj(k=1,2,...,N)的均值,即计算三轴加速度训练数据序列各轴向的均值,i=1,...P;j=1,...P,本实施例中N为50,P=3;
步骤22,求出协方差矩阵Σ的特征值λi及相应的单位特征向量ui
设协方差矩阵Σ的特征值λ1≥λ2≥...≥λP>0,相应的单位特征向量为u1,u2,...,uP。A1,A2,...AP的主成分就是以协方差矩阵Σ的特征向量为系数的线性组合,它们互不相关,其方差为Σ的特征值。
设某个时刻采集到的三轴加速度训练数据为a={ax,ay,az},则λi对应的单位特征向量ui={ui1,ui2,ui3}就是主成分Fi关于加速度训练数据a的组合系数,则三轴加速度训练数据序列的第i个主成分Fi为:
Fi=a·ui=axui1+ayui2+azui3
本实施例中,例如,经过计算得到训练数据序列的协方差矩阵的特征值为{2.7799,0.2071,0.0130}。
步骤3,从特征值中选择一个最优特征值;即选择主成分。
选择前m个主成分来表示原变量的信息,m的确定是通过方差信息累计贡献率G(m)来确定:
Figure PCTCN2016098582-appb-000004
在本实施例中P=3,这一步骤的处理过程是根据上一步骤中计算得到的主成分即特征值λi,具体在本实施例中选取几个特征值能够更好地代表三轴加速度训练数据序列的信息,是通过计算每个特征值的方差信息累计贡献率来确定的,本实施例中当方差信息累计贡献率G(m)大于85%时,就判定能足够反映三轴加速度训练数据序列的信息了,此时对应的m就是待抽取的前几个主成分的个数。举例而言,当m为2时,则抽取前2个主成分。
计算选取一个主成分(即特征值)时的方差信息累计贡献率,如果第一个主成分的方差信息累计贡献率大于85%时,则只需选取第一个主成分即可,如果只选取一个第一主成分时的方差信息累计贡献率小于等于85%,则需要接着计算第二主成分,并计算在选取两个主成分(即,第一主成分和第二主成分)时的方差信息累计贡献率是否大于85%,以此类推,来确定m的值即确定选取的主成分的数量。
本实施例中,例如,通过计算得到第一个主成分的方差信息累计贡献率为92.66%(大于85%),所以只选择一个第一个主成分就很好地保留了原变量的信息(即从三个特征值中选取一个最优特征值)。
此外,如何通过主成分分析进行计算选取主成分可以采用现有方案,因而更加详细的原理和计算步骤可以参考现有技术中主成分分析选取主成分的记载,在此不再赘述。
步骤2051,数据降维处理
利用最优特征值对应的单位特征向量构成的转换矩阵,对训练数据序列进行降维处理,计算训练数据序列在转换矩阵上的映射,得到降维后的训练数据序列。
通过下述公式,计算三轴加速度训练数据序列在第一个主成分(特征值)上的得分,也就是在第一主成分上的投影F1
F1=a·u1=axu11+ayu12+azu13
从而将三维的加速度训练数据序列降为了一维数据。其中u1={u11,u12,u13}即训练得到的特征提取参数之转换矩阵,也就是第一个主成分(特征值)对应的单位特征向量。
需要强调的是,在实际应用中,可以将该降维后的一维数据作为一个训练数据序列。或者,进一步的,将该一维数据序列进行分帧,求各帧的平均值,然后将各帧平均值组成的数据序列作为一个训练数据序列,这样做能够进一步去除噪声,提高系统的鲁棒性,本发明对此不作限制。
步骤2052,模板数据序列;
分别计算降维后的每个训练数据序列与其它训练数据序列之间的距离,并对每个训练数据序列的所有距离求平均,从每个训练数据序列得到的平均距离中选择最小值,并将最小值所在的训练数据序列,作为该人体动作对应 的一个模板数据序列。
本实施例中,对同一个人体动作多次采集数据,得到多个训练数据序列;
利用主成分分析对每个训练数据序列进行特征提取,降低训练数据序列的数据维数,得到降维后的训练数据序列,根据降维后的训练数据序列之间的距离,确定出人体动作对应的一个模板数据序列。
在对训练数据序列进行训练时,采集N次标准人体动作,经过上述步骤处理后得到N个训练数据序列,然后分别计算出每个训练数据序列与其它N-1个训练数据序列之间的距离,并求平均。最终得到N个平均距离,从N个平均距离中选择一个最小值,将最小平均距离所在的训练数据序列作为对应的人体动作的模板数据序列存储下来,以供后续实际执行人体动作识别时使用。
此外,在确定了模板数据序列后,将模板数据序列训练过程中对应的三轴加速度训练数据序列各轴向均值、标准差向量也作为特征提取参数对应保存下来。
步骤205利用主成分分析对训练数据序列进行处理,可以得到特征提取参数,将该特征提取参数输出给步骤204,使得步骤2041中可以直接利用获得的特征提取参数对滤波处理后的原始数据序列进行数据降维处理。
具体的,步骤2041,利用得到的模板数据序列对应的训练数据序列的各轴向均值M={Max,May,Maz}和标准差向量σ={σaxayaz},以及转换矩阵u={u11,u12,u13},对滤波处理后的原始数据序列作如下操作:
利用训练数据序列的各轴向均值和标准差向量对原始数据序列进行归一化处理;
在三个滑动窗内,利用特征提取参数对X轴、Y轴、Z轴加速度数据进行归一化处理:
a'x=(ax-Max)/σax
a'y=(ay-May)/σay
a'z=(az-Maz)/σaz
ax、ay、az分别是归一化处理之前X轴、Y轴、Z轴上的加速度数据,ax’、ay’、az’分别是ax、ay、az归一化处理后对应的数据。
利用转换矩阵,对归一化处理后的原始数据序列进行特征提取,降低原始数据序列的数据维数,得到原始数据序列降维后的测试数据序列。
步骤2042,测试数据序列
将归一化后的原始数据序列乘以转换矩阵u,得到降维后的一维测试数据序列:
d=a’·U=a’xu11+a’yu12+a’zu13
即得到原始数据序列对应的一维测试数据序列。进一步的,还可以将该一维数据序列进行分帧,并求各帧平均值,然后将各平均值组成的数据序列作为原始数据序列对应的一维测试数据序列,具体是否进行分帧要根据模板训练过程模板数据序列是否进行了分帧处理来确定,这里得到的训练数据序列的长度应当和前述模板数据序列的长度保持一致。
步骤206,人体动作匹配识别
本实施例中采用模板匹配进行人体识别。模板匹配是将处理后得到的测试数据序列与预先存储的模板数据序列进行匹配,通过测量两个数据序列之间的相似度(即距离)来完成识别任务。如果它们之间的距离小于一个给定的阈值,则认为测试数据序列与模板数据序列匹配,模板数据序列对应的人体动作发生。
具体的,例如,经过前面训练处理后的得到的模板数据序列为A=a1,a2,...,aN,测试数据序列为D=d1,d2,...,dN。通过距离函数DIST来计算这两个数据序列之间的距离,计算公式表示如下:
Figure PCTCN2016098582-appb-000005
其中,A为模板数据序列,ai表示模板数据序列中的第i个元素,D为测试数据序列,di表示测试数据序列中的第i个元素,N为模板数据序列和测试数据序列的长度,DIST(D,A)表示求取D与A之间的距离。
在得到测试数据序列和模板数据序列之间的距离后,如果该距离小于一个设定的阈值,则认为测试数据序列与模板数据序列匹配,模板数据序列对应的人体动作发生。
识别结果。
根据步骤206可以得到相应的识别结果,从而可以判断出采集的数据序列对应的是否是一个有效的人体动作,当采集的数据序列对应的是一个人体动作时,还可以进一步识别出是哪个模板匹配的人体动作,即,能带来识别出具体人体动作的效果。
以上即为本发明一个实施例的人体动作识别方法的流程,通过利用主成分分析进行训练得到特征提取参数和模板数据序列,再利用特征提取参数对采集的原始数据序列进行数据降维,将高维的原始数据序列降至一维的数据 序列,从而降低了计算的复杂度,去除了噪声,并降低了对人体动作的设备姿态要求,增强了用户使用体验;接着,将降维后的测试数据序列与模板数据序列进行匹配,并在匹配成功时确认模板对应的人体动作发生,保证了人体动作识别的准确度,实现了既提高人体动作识别的效率又保证了识别精度的有益效果。
实施例三
在本发明又一实施例中,进行人体动作识别时,当采集得到预定长度的原始数据序列后,本实施例技术方案还包括对原始数据序列进行筛选的操作以降低误触发率。也就是说,在对原始数据序列进行数据降维之前,先判断该原始数据序列是否是有效的原始数据序列,以进一步提高人体动作识别的效率,节省系统功耗。
具体的,采用如下措施中的一种或多种保证识别出的是真正的待识别人体动作,尽量降低误触发率。另外,本实施例中未说明的相关内容可以参见本发明其他实施例的描述。
措施一,均值判断
这种防止误触发措施基于的原理是:对于真正的待识别人体动作,三轴加速度数据的各轴向平均值具有对应的可能取值范围,如果计算得到的各轴向平均值超出预先设定的可能取值范围,则可判断为不是真正的待识别人体动作,而是误触发。
这种防止误触发措施包括两种具体实现方式:
一种具体实现方式是,分别计算前述三个滑动窗内所有加速度数据的平均值Mx、My、Mz,并将平均值Mx、My、Mz和各自对应的取值范围进行比较,以判断是否是真正的待识别人体动作;
具体的,在长度为N(例如,N为50)的每个滑动窗内,计算三轴加速度数据中各轴向平均值Mx、My、Mz。这种方式需要分别计算各轴向全部数据的平均值,然后在每个滑动窗内判断Mx、My、Mz是否落在相应的范围内,如果超出这个范围,则认为不是人体动作,不做进一步处理而直接返回。即,每个轴向平均值都对应一个可能的取值范围,将根据一个原始数据序列计算得到的各轴向均值与其对应的取值范围比较。
另一种具体实现方式,分别计算三个滑动窗内最后预定数量的数据点的均值EndMx,EndMy,EndMz
对于真正的待识别用户动作,例如抬手动作,三个轴向上端点(即每个滑动窗最后预定数据量的数据点表示的位置)加速度数据的平均值EndMx,EndMy,EndMz也具有相应的可能取值范围。在每个滑动窗内判断EndMx,EndMy,EndMz是否落在相应的范围内,如果超出这个范围,则认为不是真正的待识别人体动作,不做进一步处理而直接返回。
措施二,平均差判断
在长度为N的三个滑动窗内,分别计算三轴加速度数据的标准差σx、σy、σz,并计算平均标准差σ:
σ=(σxyz)/3
如果平均标准差σ小于一个给定的阈值,则认为不是真正的待识别人体动作,不做进一步处理而直接返回。
措施三,动作结束时刻的状态判断
对于真正的待识别人体动作,在动作结束时刻会有短暂的停顿,因此可以根据这一原理判断采集的原始数据序列代表的是否是真正的待识别人体动作。
具体的,对于三轴加速度数据,选取每个滑动窗的最后预定数量的数据点,分别找出每个轴向上最后预定数量数据点的最小值和最大值:MinAx,MaxAx,MinAy,MaxAy,MinAz,MaxAz,根据这些最大值和最小值计算出平均波动范围MeanRange:
MeanRange=(MaxAx-MinAx+MaxAy-MinAy+MaxAz-MinAz)/3;
并计算各轴向均值MeanAx,MeanAy,MeanAz
MeanAx=(MinAx+MaxAx)/2
MeanAy=(MinAy+MaxAy)/2
MeanAz=(MinAz+MaxAz)/2
进一步计算均值判断量MeanA:
Figure PCTCN2016098582-appb-000006
如果平均波动范围MeanRange<E0,且|MeanA-G|<E1,则认为最后预定数量的数据点对应的动作 结束时刻处于接近静止状态,则认为该数据序列为有效的原始数据序列,继续进行下面的处理,否则,认为最后预定数量的数据点对应的不是真正的待识别人体动作,不做进一步处理而直接返回。其中,G为重力加速度,E0和E1为给定的阈值。
实施例四
另外,本发明实施例还提供了一种智能终端。图5是本发明一个实施例的一种智能终端的框图,参见图5,该智能终端50包括:参数获取单元501,数据采集单元502,降维单元503,匹配单元504;
参数获取单元501,用于获取特征提取参数和模板数据序列。
参数获取单元501可以从外部设备输入的信息中得到特征提取参数和模板数据序列,或者,参数获取单元501内部也可以设置一个模板训练模块,由该模板训练模块采集人体动作数据进行训练得到特征提取参数和模板数据序列,并将特征提取参数和模板数据序列输出给参数获取单元501。
数据采集单元502,用于采集需要执行人体动作识别的数据,得到原始数据序列;
降维单元503,用于利用参数获取单元501的特征提取参数对原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列;
匹配单元504,用于将测试数据序列与参数获取单元501获取到的模板数据序列进行匹配,当存在匹配成功的测试数据序列时,确认该测试数据序列关联的模板数据序列对应的人体动作发生。
在本发明的一个实施例中,参数获取单元501内部设置一个模板训练模块,
该模板训练模板用于,对同一个人体动作多次采集数据,得到多个训练数据序列;利用主成分分析对每个训练数据序列进行特征提取,降低训练数据序列的数据维数,得到降维后的训练数据序列,根据降维后的训练数据序列之间的距离,确定出人体动作对应的一个模板数据序列。
在本发明的一个实施例中,数据采集单元502,用于利用传感器采集三轴加速度数据和/或三轴角速度数据,将采集的三轴加速度数据和/或三轴角速度数据分别保存到对应的环形缓冲区中;按照预定的频率同时从环形缓冲区中采样,并以预定步长的滑动窗对采样数据进行加窗处理,得到预定长度的原始数据序列。
在本发明的一个实施例中,该智能终端50还包括滤波单元,滤波单元用于对预定长度的原始数据序列进行滤波处理以滤除干扰噪声。
在本发明的一个实施例中,滤波单元具体用于对预定长度的原始数据序列的每个轴向上的数据点进行滤波处理,选取该数据点左侧相邻的预定数目的数据点以及选取该数据点右侧相邻的预定数目的数据点,计算选取出的数据点的均值并由该均值替换滤波处理的数据点的数值。
在本发明的一个实施例中,该模板训练模板具体用于,对采集的每个训练数据序列进行滤波,并对滤波后的训练数据序列进行归一化处理;计算训练数据序列的协方差矩阵的所有特征值以及每个特征值对应的单位特征向量;从特征值中选择一个最优特征值;利用最优特征值对应的单位特征向量构成的转换矩阵,对训练数据序列进行降维处理,计算训练数据序列在转换矩阵上的映射,得到降维后的训练数据序列;分别计算降维后的每个训练数据序列与其它训练数据序列之间的距离,并对每个训练数据序列的所有距离求平均,从得到的每个训练数据序列的平均距离中选择最小值,并将最小值所在的训练数据序列,作为该人体动作对应的一个模板数据序列。
在本发明的一个实施例中,特征提取参数包括:模板数据序列对应的训练数据序列的各轴向均值,标准差向量以及用于数据降维的转换矩阵;
降维单元503具体用于,利用训练数据序列的各轴向均值和标准差向量对滤波处理后的原始数据序列进行归一化处理;利用转换矩阵,对归一化处理后的原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列。
在本发明的一个实施例中,匹配单元504具体用于,通过如下公式计算模板数据序列与测试数据序列之间的距离:
Figure PCTCN2016098582-appb-000007
其中,A为模板数据序列,ai表示模板数据序列中的第i个元素,D为测试数据序列,di表示测试数据序列中的第i个元素,N为模板数据序列和测试数据序列的长度,DIST(D,A)表示求取D与A之间的距离;
在得到模板数据序列与测试数据序列之间的距离后,将距离与一预定阈值进行比较,当距离小于预定阈值时匹配成功,确认该测试数据序列关联的模板数据序列对应的人体动作发生。
在本发明的一个实施例中,该智能终端还包括:筛选单元,用于对采集的原始数据序列进行筛选,并在筛选到有效的原始数据序列后,对该有效的原始数据序列利用训练得到的特征提取参数进行特征提取。
本发明产品实施例中各单元的具体工作方式可以参见本发明方法实施例中的相关内容,在此不再赘述。
由上可知,本发明实施例提供的人体动作识别方案,通过预先训练获得特征提取参数和模板数据序列,并利用特征提取参数对测试数据序列进行降维,例如,将原始的三维加速度信号降低至一维,相比于现有技术中直接在三维数据上分别进行操作的方案,大大降低了计算的复杂度,并且由于将三维数据转换成了一维数据,能够去除噪声, 并降低用户发出手势指令时对设备姿态的要求,允许用户更加灵活地执行手势动作。实验证明,本实施例的方案与现有技术相比可以准确识别出用户抬手以及翻转手腕等人体动作,识别精度高,而且对用户动作姿态、起始点位置都没有严格的要求,可以较为随意地执行动作,大大提高了用户体验。
另外,本发明实施例提供的智能终端,该智能终端包括但不局限于智能手表、智能手环、手机等,在人体动作识别过程中计算量较小,功耗低,可以在智能终端设备中实时地运行和检测识别,更好地满足了实际应用的需要,提高了本发明实施例提供的智能终端的竞争力。
另外,本发明实施例还提供了一种用户动作识别的方法以及与该用户动作识别方法属于同一发明构思的智能终端,以下通过实施例五对识别用户动作的方法进行详细说明。
实施例五
图6是本发明一个实施例的一种识别用户动作方法的流程图,识别用户动作的方法包括:获取用户动作数据,对用户动作数据进行训练,得到特征提取参数以及模板符号序列,还包括下列步骤S61至S64,参见图6,
步骤S61,在一次用户动作识别中,采集需要执行用户动作识别的数据,得到原始数据序列;
在执行用户动作识别之前,本实施例,还包括一个模板训练过程,在模板训练过程中采集用户动作数据进行训练得到特征提取参数和模板数据序列。模板训练过程并不是每次执行用户动作识别之前都必须的操作,例如,可以在执行所有用户动作识别之前,通过一次模板训练过程得到特征提取参数和模板数据序列并用于后续所有的用户动作识别。
步骤S62,利用特征提取参数对原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列;
步骤S63,将测试数据序列转换为离散的字符串,得到测试数据序列的符号序列;
步骤S64,将测试数据序列的符号序列与模板符号序列进行匹配,当匹配成功时,确认模板符号序列对应的用户动作发生。
经过图6所示的方法,采集需要执行用户动作识别的数据,利用特征提取参数进行数据降维,并将降维后的数据转换为离散的字符串,得到测试数据序列对应的符号序列,将该符号序列与模板符号序列进行匹配,如果匹配成功,则确认模板符号序列关联的用户动作发生。由此可知,通过采用特征提取参数进行数据降维,例如将高维的三轴加速度数据降至一维,可以降低用户动作识别算法的复杂度,并平滑噪声。对得到的低维的测试数据序列进行符号化,转换为离散的字符串,能够进一步去除噪声,降低计算复杂性,并提高用户动作识别的准确度,不需要用户严格按照预定轨迹(例如,动作起始点)执行动作,提高了用户使用体验。
实施例六
本实施例中重点对识别用户动作方法的流程进行说明,其他内容参见本发明的其他实施例。
图7是本发明又一个实施例的一种识别用户动作方法的流程示意图;参见图7,本实施例预先训练得到一个或多个模板符号序列,每个模板符号序列对应一个用户动作(例如一个模板符号序列对应用户的抬手这一动作,另一个模板符号序列对应用户翻转手腕这一动作),将模板符号序列存储下来,后续测试时可使用该模板符号序列而不必再进行训练。
参见图7,模板训练包括下列步骤:传感器采集数据;滑动窗处理;滤波处理;步骤705训练数据序列处理(具体包括步骤7051利用主成分分析对训练数据序列进行数据降维处理;步骤7052,符号化聚合近似;步骤7053,获得模板符号序列)。
测试过程包括下列步骤:步骤701,传感器采集数据;步骤702,滑动窗处理;步骤703,滤波处理;步骤704,原始数据序列处理(具体包括步骤7041利用从主成分分析中获得的特征提取参数对原始数据序列进行数据降维处理,步骤7042,符号化聚合近似;步骤7043,获得测试数据序列对应的符号序列)以及步骤706,用户动作匹配识别。
需要说明的是,模板训练中的传感器采集数据、滑动窗处理、滤波处理分别与测试过程中的步骤701、步骤702、步骤703相对应,且两两执行的操作基本相同,所以在图7中同时示出步骤704和705以清楚说明模板训练和用户动作识别两个过程。
以下以一次用户动作识别为例,对本发明实施例的这种用户动作识别方法的流程进行说明。
参见图7,本实施例的一次用户动作识别过程包括:
步骤701,传感器采集数据;
利用传感器采集三轴加速度数据和/或三轴角速度数据,将采集的三轴加速度数据和/或三轴角速度数据分别保存到对应的环形缓冲区中;
这里的传感器可以是三轴加速度传感器或者是三轴陀螺仪传感器。
需要说明的是,模板训练时的传感器采集数据与用户动作识别过程中的传感器采集数据的处理步骤基本相同,主要区别在于模板训练时需要对同一个用户动作多次采集数据,而在执行用户动作识别时,会对实际发生的任一用户动作的数据进行采集,因此,模板训练过程中的传感器采集数据可以参见前述相关描述,后续不再赘述。
另外,本实施例中的步骤701传感器采集数据的过程和前述实施例二的步骤201传感器采集数据的实现过程相同,因此,有关传感器采集数据更多的内容可以参见前面实施例二中的相关描述,此处不再赘述。
步骤702,滑动窗处理;
在采集到三轴加速度数据后,从三个环形缓冲区中取出三轴加速度数据分别添加滑动窗。按照预定的频率同时从环形缓冲区中采样,并以预定步长(Step)的滑动窗对采样数据进行加窗处理,得到预定长度的原始数据序列。
如图4所示,从X轴、Y轴、Z轴三轴加速度数据的环形缓冲区中,按照预定的频率采样,对采样数据进行加窗处理。需要说明的是,本实施例中的步骤702滑动窗处理的过程和前述实施例二的步骤202滑动窗处理的实现过程相同,因此,有关滑动窗处理更多的内容可以参见前面实施例二中的相关描述,此处不再赘述。
另外,模板训练时的滑动窗处理过程与一次用户动作识别中的滑动窗处理步骤702基本相同,因此,模板训练过程中的滑动窗处理也可以参见前述相关描述。
步骤703,滤波处理;
对加窗后得到的预定长度的原始数据序列进行滤波处理,以滤除干扰噪声。
本实施例中,对预定长度的原始数据序列进行滤波处理以滤除干扰噪声包括:对预定长度的原始数据序列的每个轴向上进行滤波处理的数据点,选取该数据点左侧相邻的预定数目的数据点以及选取该数据点右侧相邻的预定数目的数据点,计算选取出的数据点的均值并由该均值替换滤波处理的数据点的数值。
需要说明的是,本实施例中的步骤703滤波处理的过程和前述实施例二的步骤203滤波处理的实现过程相同,因此,有关滤波处理更多的内容可参见前述实施例二的步骤203中的说明,这里不再赘述。
另外,模板训练时的滤波处理过程与一次用户动作识别过程中的滤波处理步骤703相同,因此,模板训练过程中的滤波处理也可以参见前述实施例二中的相关描述。
步骤704,对原始数据序列进行处理(具体包括获取特征提取参数,步骤7041,数据降维处理,7042,符号化聚合近似;7043,获得测试数据序列对应的符号序列)。以下分别进行说明。
步骤7041,数据降维处理;
本实施例步骤7041数据降维处理中的特征提取参数是从模板训练过程步骤705中利用主成分分析对训练数据序列进行训练时得到的。
主成分分析PCA的原理和计算过程可以参见前述实施例二的相关说明,这里不再赘述。
在从步骤705中的主成分分析中获得特征提取参数后,执行步骤7051,具体的,步骤7051是利用最优特征值对应的单位特征向量构成的转换矩阵,对训练数据序列进行降维处理,计算训练数据序列在转换矩阵上的映射,得到降维后的训练数据序列。需要说明的是,本实施例中的步骤7051的过程和前述实施例二的步骤2051数据降维处理的实现过程相同,可参见前述实施例二的步骤2051中的说明,这里不再赘述。
在训练过程中,针对每个训练数据序列,经过步骤7051的数据降维处理,都可以计算出该训练数据序列的标准差向量,各轴向均值,以及最优特征值对应的单位特征向量(即,转换矩阵)。将这一套参数保存下来,以便后续确定出模板符号序列时,把模板符号序列对应的训练数据序列的这一套参数(即包括:标准差向量,各轴向均值,以及转换矩阵)输出给测试过程中的步骤704,使得步骤704中可以利用这一套参数对原始数据序列进行数据降维。
步骤7041,数据降维处理
利用特征提取参数对原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列。本实施例中,特征提取参数包括:模板SAX符号序列对应的训练数据序列的各轴向均值、标准差向量以及用于数据降维的转换矩阵,训练数据序列由训练时采集的用户动作数据得到;利用训练数据序列的各轴向均值和标准差向量对原始数据序列进行归一化处理;利用转换矩阵,对归一化处理后的原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列。
具体地,步骤7041中的数据降维处理过程和前述实施例二的步骤2041数据降维处理的实现过程基本相同,可参见前述实施例二的步骤2041中的说明,这里不再赘述。
本实施例中,在得到原始数据序列对应的一维测试数据序列后,可以将该降维后的一维数据作为一个测试数据序列。或者,进一步的将该一维数据序列进行分帧,求各帧的平均值,然后将各帧平均值组成的数据序列作为一个测试数据序列,这样做能够进一步去除噪声。
与现有技术相比,本发明实施例通过采用主成分分析PCA将原始加速度数据序列降至一维,而以往方法基本都是在三维数据上分别进行操作,因此大大降低了计算复杂度;并且,通过选择最重要的主成分,舍弃次要的成分,可以去除一部分噪声;另外,由于三维数据降为一维数据,可以降低对用户执行动作时的设备姿态要求,使得用户可以比较随意地执行动作,提高了用户使用体验。
在获得了一维测试数据序列之后,利用符号化聚合近似SAX将该测试数据序列转换为离散的字符串,需要说明的是,测试数据序列的SAX符号化过程和训练模板时的SAX符号化过程相同。在获得一维测试数据序列之后,如何利用符号化聚合近似SAX将该测试数据序列转换为离散的字符串将在步骤7042中说明。
步骤7042,符号化聚合近似;
在步骤7041中,利用训练过程中得到的特征提取参数对原始数据序列进行降维处理,可以计算得到一维测试数据序列;
在本实施例中,为了进一步的去除噪声,需要对该一维测试数据序列中的数据进行符号化聚合近似,即执行步 骤7042。
符号化聚合近似是在分段累积近似(Piecewise Aggregate Approximation,PAA)基础上提出的一种有效的时间序列数据离散化方法,运用时间序列内在的统计规律将连续数据转化为符号序列(即字符串)。它能够约减维数以及进行相似性度量。本实施例中采用PAA对训练数据序列降维,在此基础上将训练数据序列离散化,实现用符号表示数值序列,并度量时间序列之间的相似性的效果。
通过符号化聚合近似SAX可将长度为N的时间序列转化成长度为W的SAX词。SAX方法在保留数据局部信息的同时有较高的压缩率,对噪声有较高的承受能力,分段过程既实现了消除噪声,又实现了数据平滑处理。
具体的,设步骤7041中得到的一维加速度原始数据序列为A=a1,a2,...,aN。N为序列长度。例如,在本实施例中N=50;
符号化聚合近似SAX的过程包括下述步骤①至②:
①PAA处理,得到长度为W的PAA序列;
将长度为N的测试数据序列转换成长度为W的分段累积近似PAA序列;其中,W的数值小于N;
长度为N的加速度测试数据序列A可以用W维空间的向量
Figure PCTCN2016098582-appb-000008
来表示。其中
Figure PCTCN2016098582-appb-000009
的第i个元素计算如下:
Figure PCTCN2016098582-appb-000010
通过PAA处理,将测试数据序列的长度从N降到了W。W代表降维后的一维测试数据序列的长度,也就是测试数据序列中所包含数据的个数。
②离散化
离散化时,映射的字母符号要求具有相等的出现概率。对于一般的时间序列来说,它近似服从高斯分布,因此可以将数据序列的整个取值范围划分为r个等概率的区间,即,在高斯概率密度曲线下,划分成面积相等的r个部分,并用相同的字母符号表示处于同一个区间的序列数值,从而得到数值的符号化表示,其中基数r的值与概率空间划分的对应关系如表1所示:
Figure PCTCN2016098582-appb-000011
表1
这里表1是一个基数r从3到10的断点查找表,基数r表示对一个时间序列(例如测试数据序列),将这个时间序列中数值大致均匀分布时所划分成的区间个数;断点β表示两个区间的分界点,断点可以理解为这样的数据点:大于该数据点的数据会落入一个区间,而小于等于该数据点的数据会落入另一个区间。例如,当基数r=3,断点β1=-0.43,β2=0.43时,将一个时间序列分为了3个区间,其中,时间序列中的数值小于断点β1(即-0.43)的分到一个区间,大于等于β1且小于β2(即0.43)的分到第二个区间,大于等于β2的分到第三个区间。
根据前面的分阶段累积近似PAA处理,可以将测试数据序列转换为一个长度为W的PAA序列,接着利用给定SAX字母表中的断点,将长度为W的PAA序列与该给定SAX字母表中的字母建立对应关系,得到由PAA序列对应字母组成的离散的SAX符号序列。
步骤7043,测试数据序列对应的符号序列;
设给定的SAX序列字母表为:ALPHABET={a,b,c,d,…}。在获得PAA序列后,将PAA序列中的所有数据(即元素)分别与划分字母表中字母的断点进行比较,小于最小断点的元素映射为“a”,所有大于等于最小断点而小于第二个断点的元素映射为符号“b”,以此类推。可以将PAA时间序列中的所有数值都用对应的字母来表示。
图8是本发明又一个实施例的数据序列转换为离散字符串的示意图,参见图8,对于一个长度为N的测试数据序列81,经过PAA处理后得到一个长度为W的PAA序列82,图8中的83表示划分区间的断点,图8中示出了两个 断点将整个区间划分为3个小区间,每个小区间对应一个字母,即字母a、b、c,将PAA序列中的元素分别和断点进行比较,则图8中的PAA序列对应的SAX符号序列为:baabccbc。
设alphal代表给定SAX字母表的第i个元素,而结合前述给定的SAX序列字母表为:ALPHABET={a,b,c,d,…},则alpha1=a,alpha2=b,以此类推。从PAA序列
Figure PCTCN2016098582-appb-000012
到SAX字母序列的映射公式为:
Figure PCTCN2016098582-appb-000013
其中,
Figure PCTCN2016098582-appb-000014
表示PAA序列中的第i个元素,alphaj表示给定SAX字母表的第j个元素,βj是给定SAX字母表第j个元素所对应的断点;
通过上述公式可以将PAA序列中的每个数值映射为给定SAX字母表中的一个字母,从而得到测试数据序列对应的SAX符号序列
Figure PCTCN2016098582-appb-000015
此外,训练时,在步骤7051得到的一维训练数据序列的基础上,利用步骤7052符号化聚合近似(SAX)将该一维训练数据序列转换为离散的SAX字符串得到步骤7053的模板符号序列。
而模板训练过程的步骤7052,符号化聚合近似;与一次用户动作测试过程中的步骤7042的符号化聚合近似的操作步骤基本相同,因此,模板训练时,对训练数据序列的符号化聚合近似过程可以参见前述说明,这里不再赘述。
接下来介绍,步骤7053模板符号序列。
模板符号序列的确定是通过分别计算降维后的每个训练SAX符号序列与剩余其它训练SAX符号序列之间的距离,并对每个训练SAX符号序列的所有距离求平均,从每个训练SAX符号序列的平均距离中选择最小值,并将最小值所在的训练SAX符号序列,作为该用户动作对应的一个模板SAX符号序列。
例如,在对模板进行训练时,对同一个用户动作采集N次,处理得到N个训练SAX符号序列,然后利用SAX符号序列距离公式计算出每个训练SAX符号序列与其它SAX符号序列之间的最小MINDIST距离,并求平均,最终得到N个平均MINDIST距离,选择最小平均MINDIST距离所在的训练SAX符号序列作为该用户动作的模板SAX符号序列。
其中,计算两个SAX符号序列之间距离的SAX符号序列距离公式表示为:
Figure PCTCN2016098582-appb-000016
在该公式中,
Figure PCTCN2016098582-appb-000017
代表一个训练SAX符号序列,
Figure PCTCN2016098582-appb-000018
代表另一个训练SAX符号序列,W代表两个训练SAX符号序列的长度,
Figure PCTCN2016098582-appb-000019
表示
Figure PCTCN2016098582-appb-000020
的第i个元素,
Figure PCTCN2016098582-appb-000021
表示
Figure PCTCN2016098582-appb-000022
的第i个元素。
步骤706,用户动作匹配识别。
本实施例中采用模板匹配进行用户动作识别。模板匹配是将处理后得到的测试数据序列对应的符号序列与预先存储的模板符号序列进行匹配,通过测量两个符号序列之间的相似度(即距离)来完成识别任务。如果它们之间的距离小于一个给定的阈值,则认为测试数据序列对应的符号序列与模板符号序列匹配,模板符号序列对应的用户动作发生。
具体的,设经过步骤7053处理后得到的一个模板符号序列为
Figure PCTCN2016098582-appb-000023
经过步骤7043处理后得到的测试样本序列对应的符号序列为
Figure PCTCN2016098582-appb-000024
利用前述计算两个SAX符号序列之间距离的SAX符号序列距离公式MINDIST来表示这两个SAX符号序列之间的距离。
Figure PCTCN2016098582-appb-000025
其中,
Figure PCTCN2016098582-appb-000026
为测试数据序列的SAX符号序列,
Figure PCTCN2016098582-appb-000027
表示测试数据序列的SAX符号序列中的第i个元素,
Figure PCTCN2016098582-appb-000028
为模板SAX符号序列,
Figure PCTCN2016098582-appb-000029
表示模板SAX符号序列中的第i个元素,w为模板SAX符号序列和测试数据序列的SAX符号序列的长度,N为测试数据序列的长度,dist()函数表示求取距离;
dist()函数表示为如下公式:
Figure PCTCN2016098582-appb-000030
其中,r由
Figure PCTCN2016098582-appb-000031
确定,代表
Figure PCTCN2016098582-appb-000032
在给定SAX字母表中的位置索引,c由
Figure PCTCN2016098582-appb-000033
确定,代表
Figure PCTCN2016098582-appb-000034
在给定SAX字母表中的位 置索引;β表示给定的SAX字母表的断点;
需要说明的是,在给定了SAX字母表的大小后,dist()函数的取值通过查找SAX字母距离即可得到,其中SAX字母距离表只需要计算一次,然后存储下来供后续使用时进行快速查找。
  a b c d e f g h
a 0 0 0.48 0.83 1.15 1.47 1.82 2.30
b 0 0 0 0.35 0.67 0.99 1.34 1.82
c 0.48 0 0 0 0.32 0.64 0.99 1.47
d 0.83 0.35 0 0 0 0.32 0.67 1.15
e 1.15 0.67 0.32 0 0 0 0.35 0.83
f 1.47 0.99 0.64 0.32 0 0 0 0.48
g 1.82 1.34 0.99 0.67 0.35 0 0 0
h 2.30 1.82 1.47 1.15 0.83 0.48 0 0
表2
表2是一个SAX字母距离表的示意,参见表2,dist(r,c)中的r代表了表2中的行值或列值,c代表了表2中的列值或行值。例如,r表示行值,c表示列值,r=3,c=5;则查找表2第3行第5列的值可得,字母c与字母e之间的距离为0.32,即dist(c,e)的值为0.32。字母c是由测试数据序列的SAX符号序列的元素
Figure PCTCN2016098582-appb-000035
确定,字母e由模板SAX符号序列中元素
Figure PCTCN2016098582-appb-000036
确定。
通过查找上述表2,可以计算得到两个符号序列中任意两个字母之间的距离,并进而求出两个SAX符号序列中所有字母距离的平方和的平方根,计算得到MINDIST。
当然,dist(r,c)的值也可以具体通过上述dist()函数公式计算得到,由于两种计算方式都是基于同一个给定的SAX字母表,所以两种方式下得到的计算结果是一样的,实际应用中可以根据需要进行选择,对此不作限制。
在得到模板SAX符号序列与测试数据序列的SAX符号序列之间的距离MINDIST后,将这一距离MINDIST与一预定阈值进行比较,当距离MINDIST小于预定阈值时则匹配成功,确认该模板SAX符号序列对应的用户动作发生。
通过步骤706可以得到相应的识别结果,从而可以判断出采集的数据序列对应的是否是一个有效的用户动作,当是一个用户动作时,还可以进一步识别出是哪个模板匹配的用户动作。
需要强调的是,本实施例中是结合图7对一次用户动作识别过程进行的详细说明,在具体描述测试过程中也顺便对模板训练过程中的相应步骤进行了介绍,但是,可以理解在具体实施时,本发明实施例可以先按照传感器采集数据→滑动窗处理→滤波处理→步骤705的执行顺序得到一个用户动作对应的模板符号序列以及该模板符号序列对应的训练数据序列的特征提取参数,并将特征提取参数和模板符号序列保存下来,以便后续实际执行用户动作识别时重复使用。
实施例七
根据本发明的又一个实施例,在采集得到原始数据序列,并对原始数据序列进行数据降维处理之前,还包括筛选原始数据序列的操作。以下重点介绍如何对原始数据序列进行筛选,,本实施例的未尽事项可以参见本发明其他实施例的说明。具体的,本实施例中采用如下措施中的一种或多种保证识别出的是真正的待识别用户动作,尽量降低误触发率。
措施一,均值判断;
这种防止误触发措施基于的原理是:对于真正的用户动作,三轴加速度数据的各轴向平均值具有对应的可能取值范围,如果计算得到的各轴向平均值超出预先设定的可能取值范围,则可判断为不是真正的待识别用户动作,而是误触发。
分别计算预定长度的原始数据序列每个轴向上所有数据的平均值或者每个轴向上数据尾部预定个数的数据的平均值,判断平均值是否落入对应的预定平均值取值范围内,是则,确定原始数据序列为有效的原始数据序列;
这种防止误触发措施包括两种具体实现方式,这里的两种具体实现方式可以参见前述实施例三中的相关说明,此处不再赘述。
措施二,平均差判断;
分别计算预定长度的原始数据序列每个轴向上所有数据的标准差,并由该标准差计算得到平均标准差,判断平均标准差是否小于预定的平均标准差阈值,是则,确定原始数据序列为有效的原始数据序列;
平均差判断的具体实现方式可以参见前述实施例三中的相关说明,这里不再赘述。
措施三,动作结束时刻的状态判断;
对于真正的用户动作,在动作结束时刻会有短暂的停顿,因此可以根据这一原理判断采集的原始数据序列代表的是否是用户动作。
选取预定长度的原始数据序列每个轴向上数据尾部预定个数的数据进行计算,判断数据尾部预定个数的数据对应的动作结束时刻是否都处于静止状态,是则,确定该数据序列为有效的原始数据序列。
具体地,分别选出原始数据序列每个轴向上数据尾部预定个数的数据中最大值和最小值,根据最大值和最小值,计算动作结束时刻数据的平均波动范围,以及每个轴向均值;根据每个轴向均值,计算每个轴向均值的平方和的平方根得到均值判决量;当平均波动范围小于第一预定阈值且均值判决量与重力加速度差的绝对值小于第二阈值时,确定数据尾部预定个数的数据对应的动作结束时刻处于静止状态。
动作结束时刻的状态判断的具体实现方式可以参见前述实施例三中的相关说明,这里不再赘述。
本实施例中介绍了采用的几种防止误触发的措施,可以看出本实施例中通过深入分析用户动作波形的内在变化规律,进而设置用户动作应满足的限制条件(如三轴加速度的均值变化范围,动作波形终点可能的变化范围,以及动作结束后会有短暂的停顿等),可以很好地抑制误触发的情况,大大降低了将非用户动作误识别为用户动作的概率。
以上即为本发明实施例的一次用户动作识别方法的流程描述,由上可知,与现有技术相比,第一,本发明的这种用户动作识别方法通过将原始数据序列降至一维,而以往方法基本都是在三维数据上直接进行操作,因此本发明的方法大大降低了计算复杂度;并且,通过降低数据维度可以去除一部分噪声;另外,由于将三维数据序列转换为一维数据序列,可以降低对用户执行动作时的设备姿态要求,用户可以比较随意地执行动作。
第二,通过将一维的测试数据序列转换为字符串序列,进一步降低了数据维数,降低了计算复杂度。保证了用户动作识别效果。此外,用字符串表示数值序列,也简化了下一步的匹配操作。
第三,通过深入分析手势动作波形的内在变化规律,设置手势动作应满足的限制条件(如三轴加速度的均值变化范围,手势波形终点可能的变化范围,以及手势结束后会有短暂的停顿等),可以很好地抑制误触发的情况,大大降低了用户动作误识别的概率。
实施例八
本发明还提供了一种智能终端,图9是本发明又一个实施例的一种智能终端的框图,参见图9,该智能终端90包括:参数获取单元901、数据采集单元902、降维处理单元903、符号化单元904和匹配单元905;
参数获取单元901,用于获取特征提取参数和模板符号序列;参数获取单元901可以从外部设备输入的信息中得到特征提取参数和模板符号序列,或者,参数获取单元901内部也可以设置一个模板训练模块,由该模板训练模块采集人体动作数据进行训练得到特征提取参数和模板符号序列,并将特征提取参数和模板符号序列输出给参数获取单元901。
数据采集单元902,用于在一次用户动作识别中,采集需要执行用户动作识别的数据,得到原始数据序列;
降维处理单元903,用于利用参数获取单元901的特征提取参数对原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列;
符号化单元904,用于将测试数据序列转换为离散的字符串,得到测试数据序列的符号序列;
匹配单元905,用于将测试数据序列的符号序列与参数获取单元901的模板符号序列进行匹配,当匹配成功时,确认模板符号序列对应的用户动作发生。
在本实施例中,智能终端90还包括:误触发判断单元;
误触发判断单元,用于对采集的原始数据序列进行筛选,并在筛选到有效的原始数据序列后,触发降维处理单元对有效的原始数据序列利用参数获取单元901的特征提取参数进行特征提取;
误触发判断单元,用于通过如下方式筛选采集的原始数据序列:
分别计算预定长度的原始数据序列每个轴向上所有数据的平均值或者每个轴向上数据尾部预定个数的数据的平均值,判断平均值是否落入对应的预定平均值取值范围内,是则,确定原始数据序列为有效的原始数据序列;
或者,分别计算预定长度的原始数据序列每个轴向上所有数据的标准差,并由该标准差计算得到平均标准差,判断平均标准差是否小于预定的平均标准差阈值,是则,确定原始数据序列为有效的原始数据序列;或者,
选取预定长度的原始数据序列每个轴向上数据尾部预定个数的数据进行计算,判断数据尾部预定个数的数据对应的动作结束时刻是否处于静止状态,是则,确定原始数据序列为有效的原始数据序列。
在本实施例中,模板符号序列为在对用户动作数据训练时采用符号化聚合近似SAX得到的模板SAX符号序列;符号化单元904用于,利用与训练用户动作数据相同的符号化聚合近似SAX将测试数据序列转换为离散的SAX字符串,得到测试数据序列的SAX符号序列。
在本实施例中,参数获取单元901内设置有一个模板训练模块用于对同一个用户动作多次采集数据,得到多个 训练数据序列;利用主成分分析对每个训练数据序列进行特征提取,降低训练数据序列的数据维数,得到降维后的训练数据序列;利用符号化聚合近似SAX计算每个降维后的训练数据序列的训练SAX符号序列,根据各个训练SAX符号序列之间的距离,确定出用户动作对应的一个模板SAX符号序列。
在本实施例中,数据采集单元902具体用于利用传感器采集三轴加速度数据和/或三轴角速度数据,将采集的三轴加速度数据和/或三轴角速度数据分别保存到对应的环形缓冲区中;按照预定的频率同时从环形缓冲区中采样,并以预定步长的滑动窗对采样数据进行加窗处理,得到预定长度的原始数据序列;对预定长度的原始数据序列进行滤波处理以滤除干扰噪声;
以及,参数获取单元901内设置有一个模板训练模块用于利用主成分分析对每个训练数据序列进行特征提取,降低训练数据序列的数据维数,得到降维后的训练数据序列;利用符号化聚合近似SAX计算每个降维后的训练数据序列的训练SAX符号序列,根据各个训练SAX符号序列之间的距离,确定出用户动作对应的一个模板SAX符号序列包括:对采集的每个训练数据序列进行滤波,并对滤波后的训练数据序列进行归一化处理;计算训练数据序列的协方差矩阵的所有特征值以及每个特征值对应的单位特征向量;从特征值中选择一个最优特征值;利用最优特征值对应的单位特征向量构成的转换矩阵,对训练数据序列进行降维处理,计算训练数据序列在转换矩阵上的映射,得到降维后的训练数据序列;利用符号化聚合近似SAX计算每个降维后的训练数据序列的训练SAX符号序列;分别计算降维后的每个训练SAX符号序列与剩余其它训练SAX符号序列之间的距离,并对每个训练SAX符号序列的所有距离求平均,从每个训练SAX符号序列的平均距离中选择最小值,并将最小值所在的训练SAX符号序列,作为该用户动作对应的一个模板SAX符号序列。
在本实施例中,特征提取参数包括:模板SAX符号序列对应的训练数据序列的各轴向均值、标准差向量以及用于数据降维的转换矩阵,训练数据序列由用户动作数据得到;降维处理单元903具体用于,利用训练数据序列的各轴向均值和标准差向量对原始数据序列进行归一化处理;利用转换矩阵,对归一化处理后的原始数据序列进行特征提取,降低原始数据序列的数据维数,得到降维后的测试数据序列。
在本实施例中,符号化单元904具体用于,将长度为N的测试数据序列转换成长度为W的分段累积近似PAA序列;其中,W的数值小于N;
利用给定SAX字母表中的断点,将长度为W的PAA序列与该给定SAX字母表中的字母建立对应关系,得到由PAA序列对应字母组成的离散的SAX符号序列。
在本实施例中,匹配单元905具体用于,通过如下公式计算测试数据序列的SAX符号序列与模板SAX符号序列之间的距离:
Figure PCTCN2016098582-appb-000037
其中,
Figure PCTCN2016098582-appb-000038
为测试数据序列的SAX符号序列,
Figure PCTCN2016098582-appb-000039
表示测试序列的SAX符号序列中的第i个元素
Figure PCTCN2016098582-appb-000040
为模板SAX符号序列,
Figure PCTCN2016098582-appb-000041
表示模板SAX符号序列中的第i个元素,W为模板SAX符号序列和测试数据序列的SAX符号序列的长度,N为测试数据序列的长度,dist()函数表示求取距离;
dist()函数表示为如下公式:
Figure PCTCN2016098582-appb-000042
其中,r由
Figure PCTCN2016098582-appb-000043
确定,c由
Figure PCTCN2016098582-appb-000044
确定;β表示给定的SAX字母表的断点;
在得到模板SAX符号序列与测试数据序列的SAX符号序列之间的距离后,将距离与一预定阈值进行比较,当距离小于预定阈值时则匹配成功,确认该模板SAX符号序列对应的用户动作发生。
本实施例中智能终端90的各单元的具体工作方式可以参见本发明方法实施例六中的相关内容,在此不再赘述。
本实施例中的智能终端90在进行用户动作识别方法时,先进行数据降维,在将降维后的数据转换为离散的字符串,接着将测试数据序列的字符串与模板符号序列进行匹配,匹配成功则确认模板符号序列对应的用户动作发生,从而避免了现有智能终端直接在三维数据上进行处理计算复杂的问题,同时,通过数据降维能够去除一部分噪声,通过将数值转换为字符串进一步降低计算量,提高识别精度。此外,该智能终端在进行用户动作识别时还包括了防止误触发的功能,能够进一步的提高动作识别的准确性,减少不必要的功耗损失,提高了产品竞争力。
综上所述,本实施例的用户动作识别方案通过利用训练得到的特征提取参数对需要识别的原始数据序列进行数据降维,例如将三轴加速度或三轴角速度数据降低至一维,再对降维后得到的测试数据序列进行符号化处理,从而将多维度的用户动作数据最终变换为一个字符串序列,仅利用该字符串序列与训练得到的模板符号序列匹配。相比于现有在三维数据上分别进行操作的方案,本方案大大降低了计算的复杂度,并且由于将三维数据变成了一维数据, 能够降低当用户发出手势指令时对设备姿态的要求,允许用户更加灵活地执行手势动作。
而采用符号化处理进一步对数据序列降维以及进行相似性度量,进一步降低计算复杂度,并能够在保证匹配性能的基础上进一步去除噪声,提高动作识别的准确度。实验证明,本发明的这种用户动作识别方法,可以准确检测出整个、半个抬手动作以及翻转手腕等用户动作,而且对用户执行动作时的姿态、起始点位置都没有严格的要求,可以随意地执行动作,用户体验更好。
此外,本发明实施例提供的智能终端,该智能终端包括但不局限于智能手表、智能手环、手机等,由于本发明的智能终端采用了本发明实施例的这种识别用户动作的方法,因而在用户动作识别过程中计算量小、功耗低,可以实时地运行和识别,很好地满足了实际应用的需要,提高了智能终端的用户体验和竞争力。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (15)

  1. 一种人体动作识别方法,其中,采集人体动作数据进行训练得到特征提取参数和模板数据序列,所述方法包括:
    在一次人体动作识别中,采集需要执行人体动作识别的数据,得到原始数据序列;
    利用所述特征提取参数对所述原始数据序列进行特征提取,降低所述原始数据序列的数据维数,得到降维后的测试数据序列;
    将所述测试数据序列与所述模板数据序列进行匹配,当存在匹配成功的测试数据序列时,确认该测试数据序列关联的模板数据序列对应的人体动作发生。
  2. 根据权利要求1所述的方法,其中,所述采集人体动作数据进行训练得到特征提取参数和模板数据序列包括:
    对同一个人体动作多次采集数据,得到多个训练数据序列;
    利用主成分分析对每个所述训练数据序列进行特征提取,降低所述训练数据序列的数据维数,得到降维后的训练数据序列,根据所述降维后的训练数据序列之间的距离,确定出所述人体动作对应的一个模板数据序列。
  3. 根据权利要求1所述的方法,其中,所述采集需要执行人体动作识别的数据,得到原始数据序列包括:
    利用传感器采集三轴加速度数据和/或三轴角速度数据,将采集的所述三轴加速度数据和/或三轴角速度数据分别保存到对应的环形缓冲区中;
    按照预定的频率同时从所述环形缓冲区中采样,并以预定步长的滑动窗对采样数据进行加窗处理,得到预定长度的原始数据序列;
    所述方法还包括:对所述预定长度的原始数据序列进行滤波处理以滤除干扰噪声。
  4. 根据权利要求3所述的方法,其中,所述对预定长度的原始数据序列进行滤波处理以滤除干扰噪声包括:
    对所述预定长度的原始数据序列的每个轴向上进行滤波处理的数据点,选取该数据点左侧相邻的预定数目的数据点以及选取该数据点右侧相邻的预定数目的数据点,计算选取出的数据点的均值并由该均值替换滤波处理的数据点的数值。
  5. 根据权利要求2所述的方法,其中,所述利用主成分分析对每个所述训练数据序列进行特征提取,降低所述训练数据序列的数据维数,得到降维后的训练数据序列包括:
    对采集的每个训练数据序列进行滤波,并对滤波后的所述训练数据序列进行归一化处理;
    计算所述训练数据序列的协方差矩阵的所有特征值以及每个特征值对应的单位特征向量;
    从所述特征值中选择一个最优特征值;
    利用所述最优特征值对应的单位特征向量构成的转换矩阵,对所述训练数据序列进行降维处理,计算所述训练数据序列在所述转换矩阵上的映射,得到降维后的训练数据序列;
    所述根据降维后的训练数据序列之间的距离,确定出所述人体动作对应的一个模板数据序列包括:
    分别计算降维后的每个训练数据序列与其它训练数据序列之间的距离,并对每个训练数据序列的所有距离求平均,从得到的每个训练数据序列的平均距离中选择最小值,并将所述最小值所在的训练数据序列,作为该人体动作对应的一个模板数据序列。
  6. 根据权利要求5所述的方法,其中,所述利用特征提取参数对所述原始数据序列进行特征提取,降低所述原始数据序列的数据维数,得到降维后的测试数据序列包括:
    所述特征提取参数包括:所述模板数据序列对应的训练数据序列的各轴向均值,标准差向量以及用于数据降维的转换矩阵;
    利用所述训练数据序列的各轴向均值和标准差向量对滤波处理后的原始数据序列进行归一化处理;
    利用所述转换矩阵,对归一化处理后的原始数据序列进行特征提取,降低所述原始数据序列的数据维数,得到降维后的测试数据序列。
  7. 根据权利要求1所述的方法,其中,所述将测试数据序列与所述模板数据序列进行匹配,当存在匹配成功的测试数据序列时,确认该测试数据序列关联的模板数据序列对应的人体动作发生包括:
    通过如下公式计算所述模板数据序列与所述测试数据序列之间的距离:
    Figure PCTCN2016098582-appb-100001
    其中,A为模板数据序列,ai表示模板数据序列中的第i个元素,D为测试数据序列,di表 示测试数据序列中的第i个元素,N为模板数据序列和测试数据序列的长度,DIST(D,A)表示求取D与A之间的距离;
    在得到所述模板数据序列与所述测试数据序列之间的距离后,将所述距离与一预定阈值进行比较,当所述距离小于所述预定阈值时匹配成功,确认该测试数据序列关联的模板数据序列对应的人体动作发生。
  8. 一种智能终端,其中,所述智能终端包括:参数获取单元、数据采集单元、降维单元和匹配单元;
    所述参数获取单元,用于获取特征提取参数和模板数据序列;
    所述数据采集单元,用于采集需要执行人体动作识别的数据,得到原始数据序列;
    所述降维单元,用于利用所述参数获取单元的特征提取参数对所述原始数据序列进行特征提取,降低所述原始数据序列的数据维数,得到降维后的测试数据序列;
    所述匹配单元,用于将所述测试数据序列与所述参数获取单元的模板数据序列进行匹配,当存在匹配成功的测试数据序列时,确认该测试数据序列关联的模板数据序列对应的人体动作发生。
  9. 一种识别用户动作的方法,其中,获取用户动作数据,对所述用户动作数据进行训练,得到特征提取参数以及模板符号序列,所述方法还包括:
    在一次用户动作识别中,采集需要执行用户动作识别的数据,得到原始数据序列;
    利用所述特征提取参数对所述原始数据序列进行特征提取,降低所述原始数据序列的数据维数,得到降维后的测试数据序列;
    将所述测试数据序列转换为离散的字符串,得到所述测试数据序列的符号序列;
    将所述测试数据序列的符号序列与所述模板符号序列进行匹配,当匹配成功时,确认所述模板符号序列对应的用户动作发生。
  10. 根据权利要求9所述的方法,其中,所述模板符号序列为在对用户动作数据训练时采用符号化聚合近似SAX得到的模板SAX符号序列;
    所述将测试数据序列转换为离散的字符串,得到所述测试数据序列的符号序列包括:
    利用与训练所述用户动作数据相同的符号化聚合近似SAX将所述测试数据序列转换为离散的SAX字符串,得到所述测试数据序列的SAX符号序列;
    所述获取用户动作数据,对所述用户动作数据进行训练,得到特征提取参数以及模板符号序列包括:
    对同一个用户动作多次采集数据,得到多个训练数据序列;
    利用主成分分析对每个所述训练数据序列进行特征提取,降低所述训练数据序列的数据维数,得到降维后的训练数据序列;
    利用符号化聚合近似SAX计算每个所述降维后的训练数据序列的训练SAX符号序列,根据各个训练SAX符号序列之间的距离,确定出所述用户动作对应的一个模板SAX符号序列。
  11. 根据权利要求10所述的方法,其中,
    所述利用符号化聚合近似SAX计算每个所述降维后的训练数据序列的训练SAX符号序列,根据各个训练SAX符号序列之间的距离,确定出所述用户动作对应的一个模板SAX符号序列包括:
    利用符号化聚合近似SAX计算每个所述降维后的训练数据序列的训练SAX符号序列;
    分别计算降维后的每个训练SAX符号序列与剩余其它训练SAX符号序列之间的距离,并对每个训练SAX符号序列的所有距离求平均,从每个训练SAX符号序列的平均距离中选择最小值,并将最小值所在的训练SAX符号序列,作为该用户动作对应的一个模板SAX符号序列。
  12. 根据权利要求10所述的方法,其中,所述利用与训练所述用户动作数据相同的符号化聚合近似SAX将所述测试数据序列转换为离散的SAX字符串,得到所述测试数据序列的SAX符号序列包括:
    将长度为N的测试数据序列转换成长度为W的分段累积近似PAA序列;其中,W的数值小于N;
    利用给定SAX字母表中的断点,将长度为W的所述PAA序列与该给定SAX字母表中的字母建立对应关系,得到由所述PAA序列对应字母组成的离散的SAX符号序列。
  13. 根据权利要求11所述的方法,其中,所述将测试数据序列的符号序列与所述模板符号序列进行匹配,当匹配成功时,确认所述模板符号序列对应的用户动作发生包括:
    通过如下公式计算测试数据序列的SAX符号序列与模板SAX符号序列之间的距离:
    Figure PCTCN2016098582-appb-100002
    其中,
    Figure PCTCN2016098582-appb-100003
    为测试数据序列的SAX符号序列,
    Figure PCTCN2016098582-appb-100004
    表示测试序列的SAX符号序列中的第i个元素,
    Figure PCTCN2016098582-appb-100005
    为模板SAX符号序列,
    Figure PCTCN2016098582-appb-100006
    表示模板SAX符号序列中的第i个元素,W为模板SAX符号序列和测试数据序列的SAX符号序列的长度,N为测试数据序列的长度,dist()函数表示求取距离;
    dist()函数表示为如下公式:
    Figure PCTCN2016098582-appb-100007
    其中,r由所述
    Figure PCTCN2016098582-appb-100008
    确定,c由所述
    Figure PCTCN2016098582-appb-100009
    确定;β表示给定的SAX字母表的断点;
    在得到所述模板SAX符号序列与所述测试数据序列的SAX符号序列之间的距离后,将所述距离与一预定阈值进行比较,当所述距离小于所述预定阈值时则匹配成功,确认该模板SAX符号序列对应的用户动作发生。
  14. 根据权利要求9所述的方法,其中,在利用所述特征提取参数对所述原始数据序列进行特征提取之前,所述方法还包括:
    对采集的原始数据序列进行筛选,并在筛选到有效的原始数据序列后,对该有效的原始数据序列利用特征提取参数进行特征提取;
    所述对采集的原始数据序列进行筛选包括:
    分别计算预定长度的所述原始数据序列每个轴向上所有数据的平均值或者每个轴向上数据尾部预定个数的数据的平均值,判断所述平均值是否落入对应的预定平均值取值范围内,是则,确定所述原始数据序列为有效的原始数据序列;
    或者,
    分别计算预定长度的所述原始数据序列每个轴向上所有数据的标准差,并由该标准差计算得到平均标准差,判断所述平均标准差是否小于预定的平均标准差阈值,是则,确定所述原始数据序列为有效的原始数据序列;
    或者,
    选取预定长度的所述原始数据序列每个轴向上数据尾部预定个数的数据进行计算,判断所述数据尾部预定个数的数据对应的动作结束时刻是否处于静止状态,是则,确定所述原始数据序列为有效的原始数据序列;
    所述判断数据尾部预定个数的数据对应的动作结束时刻是否处于静止状态包括:
    分别选出所述原始数据序列每个轴向上数据尾部预定个数的数据中最大值和最小值,根据所述最大值和最小值,计算动作结束时刻数据的平均波动范围,以及每个轴向均值;
    根据所述每个轴向均值,计算每个轴向均值的平方和的平方根得到均值判决量;
    当所述平均波动范围小于第一预定阈值且所述均值判决量与重力加速度差的绝对值小于第二阈值时,确定所述数据尾部预定个数的数据对应的动作结束时刻处于静止状态。
  15. 一种智能终端,其中,所述智能终端包括:参数获取单元、数据采集单元、降维处理单元、符号化单元和匹配单元;
    所述参数获取单元,用于获取特征提取参数和模板符号序列;
    所述数据采集单元,用于在一次用户动作识别中,采集需要执行用户动作识别的数据,得到原始数据序列;
    所述降维处理单元,用于利用所述参数获取单元的特征提取参数对所述原始数据序列进行特征提取,降低所述原始数据序列的数据维数,得到降维后的测试数据序列;
    所述符号化单元,用于将所述测试数据序列转换为离散的字符串,得到测试数据序列的符号序列;
    所述匹配单元,用于将所述测试数据序列的符号序列与所述参数获取单元的模板符号序列进行匹配,当匹配成功时,确认所述模板符号序列对应的用户动作发生。
PCT/CN2016/098582 2015-09-23 2016-09-09 一种人体动作识别方法、识别用户动作的方法和智能终端 WO2017050140A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/541,234 US10339371B2 (en) 2015-09-23 2016-09-09 Method for recognizing a human motion, method for recognizing a user action and smart terminal

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201510613543.5A CN105184325B (zh) 2015-09-23 2015-09-23 一种移动智能终端
CN201510613465.9A CN105242779B (zh) 2015-09-23 2015-09-23 一种识别用户动作的方法和移动智能终端
CN201510613465.9 2015-09-23
CN201510613543.5 2015-09-23

Publications (1)

Publication Number Publication Date
WO2017050140A1 true WO2017050140A1 (zh) 2017-03-30

Family

ID=58385620

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/098582 WO2017050140A1 (zh) 2015-09-23 2016-09-09 一种人体动作识别方法、识别用户动作的方法和智能终端

Country Status (2)

Country Link
US (1) US10339371B2 (zh)
WO (1) WO2017050140A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109540132A (zh) * 2018-11-22 2019-03-29 中国矿业大学 基于传感器融合的可移动设备在人身上的定位方法
CN112527118A (zh) * 2020-12-16 2021-03-19 郑州轻工业大学 一种基于动态时间规整的头部姿态识别方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017050140A1 (zh) * 2015-09-23 2017-03-30 歌尔股份有限公司 一种人体动作识别方法、识别用户动作的方法和智能终端
CN106175781B (zh) 2016-08-25 2019-08-20 歌尔股份有限公司 利用可穿戴设备监测游泳状态的方法及可穿戴设备
US11294921B2 (en) * 2019-03-12 2022-04-05 General Electric Company Multivariate time-series data search
CN110472659B (zh) * 2019-07-05 2024-03-08 中国平安人寿保险股份有限公司 数据处理方法、装置、计算机可读存储介质和计算机设备
CN110598569B (zh) * 2019-08-20 2022-03-08 江西憶源多媒体科技有限公司 一种基于人体姿态数据的动作识别方法
CN112826474B (zh) * 2019-11-05 2023-05-02 深圳市大富智慧健康科技有限公司 血压检测装置、血压检测系统及血压监测方法
CN111166340B (zh) * 2019-12-31 2022-11-18 石家庄学院 基于自适应加速度信号分割的人体姿势实时识别方法
CN111401435B (zh) * 2020-03-13 2023-04-07 安徽工业大学 一种基于运动手环的人体运动模式识别方法
CN111982149B (zh) * 2020-08-20 2023-02-17 歌尔科技有限公司 一种计步识别方法、装置、设备及可读存储介质
CN112115978A (zh) * 2020-08-24 2020-12-22 中国人民健康保险股份有限公司 一种运动识别方法、装置及存储介质
CN113554072B (zh) * 2021-07-09 2024-04-16 北京军懋国兴科技股份有限公司 一种飞行动作划分方法、计算机可读存储介质及终端设备
CN113760881B (zh) * 2021-09-13 2023-09-19 国网冀北电力有限公司秦皇岛供电公司 一种基于sax的电能质量数据处理的方法及电子设备
CN116010783A (zh) * 2023-01-06 2023-04-25 上海大学 一种rsvp弱隐目标诱发脑电识别方法、装置及存储介质
CN116704405A (zh) * 2023-05-22 2023-09-05 阿里巴巴(中国)有限公司 行为识别方法、电子设备及存储介质
CN116722876B (zh) * 2023-08-08 2023-10-20 北京点聚信息技术有限公司 一种用于版式轻阅读的用户数据智能存储方法
CN117075556B (zh) * 2023-08-25 2024-05-14 安徽鸿凌智能仪表科技有限公司 一种基于物联网的智能仪表装配方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103472917A (zh) * 2013-09-06 2013-12-25 浙江大学 一种与加速度传感器的放置方式和位置无关的运动识别方法
CN103543826A (zh) * 2013-07-30 2014-01-29 广东工业大学 一种基于加速度传感器的手势识别方法
US20140257743A1 (en) * 2013-03-07 2014-09-11 Alpinereplay, Inc. Systems and methods for identifying and characterizing athletic maneuvers
CN104484644A (zh) * 2014-11-06 2015-04-01 三星电子(中国)研发中心 一种手势识别方法和装置
CN105184325A (zh) * 2015-09-23 2015-12-23 歌尔声学股份有限公司 一种人体动作识别方法和移动智能终端
CN105242779A (zh) * 2015-09-23 2016-01-13 歌尔声学股份有限公司 一种识别用户动作的方法和移动智能终端

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447334B1 (en) * 2005-03-30 2008-11-04 Hrl Laboratories, Llc Motion recognition system
US7616779B2 (en) * 2005-11-09 2009-11-10 National Chiao Tung University Method for automatic key posture information abstraction
US20110025834A1 (en) * 2009-07-31 2011-02-03 Samsung Electronics Co., Ltd. Method and apparatus of identifying human body posture
WO2011020446A1 (en) 2009-08-21 2011-02-24 The Chinese University Of Hong Kong Systems and methods for reproducing body motions via networks
CN101995947B (zh) 2009-08-21 2012-07-04 香港中文大学 通过网络感知用户动作的系统和方法
CN101719216B (zh) 2009-12-21 2012-01-04 西安电子科技大学 基于模板匹配的运动人体异常行为识别方法
CN102136066B (zh) 2011-04-29 2013-04-03 电子科技大学 一种视频序列中人体动作的识别方法
US8971572B1 (en) * 2011-08-12 2015-03-03 The Research Foundation For The State University Of New York Hand pointing estimation for human computer interaction
US8934675B2 (en) 2012-06-25 2015-01-13 Aquifi, Inc. Systems and methods for tracking human hands by performing parts based template matching using images from multiple viewpoints
US9829984B2 (en) * 2013-05-23 2017-11-28 Fastvdo Llc Motion-assisted visual language for human computer interfaces
CN104182411B (zh) 2013-05-24 2018-08-17 日电(中国)有限公司 基于Map-Reduce的高维数据相似性连接方法和装置
CN104038738B (zh) 2014-06-04 2017-02-15 东北大学 一种提取人体关节点坐标的智能监控系统及方法
CN104834907A (zh) 2015-05-06 2015-08-12 江苏惠通集团有限责任公司 手势识别方法、装置、设备以及基于手势识别的操作方法
US9568594B2 (en) * 2015-06-29 2017-02-14 Echocare Technologies Ltd. Human posture feature extraction in personal emergency response systems and methods
US10037671B2 (en) * 2015-06-29 2018-07-31 Echocare Technologies Ltd. Human respiration feature extraction in personal emergency response systems and methods
WO2017050140A1 (zh) * 2015-09-23 2017-03-30 歌尔股份有限公司 一种人体动作识别方法、识别用户动作的方法和智能终端
US10432853B2 (en) * 2017-02-27 2019-10-01 Sony Corporation Image processing for automatic detection of focus area

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140257743A1 (en) * 2013-03-07 2014-09-11 Alpinereplay, Inc. Systems and methods for identifying and characterizing athletic maneuvers
CN103543826A (zh) * 2013-07-30 2014-01-29 广东工业大学 一种基于加速度传感器的手势识别方法
CN103472917A (zh) * 2013-09-06 2013-12-25 浙江大学 一种与加速度传感器的放置方式和位置无关的运动识别方法
CN104484644A (zh) * 2014-11-06 2015-04-01 三星电子(中国)研发中心 一种手势识别方法和装置
CN105184325A (zh) * 2015-09-23 2015-12-23 歌尔声学股份有限公司 一种人体动作识别方法和移动智能终端
CN105242779A (zh) * 2015-09-23 2016-01-13 歌尔声学股份有限公司 一种识别用户动作的方法和移动智能终端

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109540132A (zh) * 2018-11-22 2019-03-29 中国矿业大学 基于传感器融合的可移动设备在人身上的定位方法
CN112527118A (zh) * 2020-12-16 2021-03-19 郑州轻工业大学 一种基于动态时间规整的头部姿态识别方法
CN112527118B (zh) * 2020-12-16 2022-11-25 郑州轻工业大学 一种基于动态时间规整的头部姿态识别方法

Also Published As

Publication number Publication date
US20170357848A1 (en) 2017-12-14
US10339371B2 (en) 2019-07-02

Similar Documents

Publication Publication Date Title
WO2017050140A1 (zh) 一种人体动作识别方法、识别用户动作的方法和智能终端
CN105184325B (zh) 一种移动智能终端
CN105242779B (zh) 一种识别用户动作的方法和移动智能终端
CN108875833B (zh) 神经网络的训练方法、人脸识别方法及装置
Seto et al. Multivariate time series classification using dynamic time warping template selection for human activity recognition
WO2018040757A1 (zh) 可穿戴设备及利用其监测运动状态的方法
WO2015149696A1 (en) Method and system for extracting characteristic of three-dimensional face image
CN107688790B (zh) 人体行为识别方法、装置、存储介质及电子设备
KR101612605B1 (ko) 얼굴 특징점 추출 방법 및 이를 수행하는 장치
Shen et al. On motion-sensor behavior analysis for human-activity recognition via smartphones
WO2009090584A2 (en) Method and system for activity recognition and its application in fall detection
Ghanem et al. A survey on sign language recognition using smartphones
KR20120052610A (ko) 신경망 학습을 통한 동작 인식 방법 및 장치
Fernandez-Lopez et al. Optimizing resources on smartphone gait recognition
Zhang et al. SmartHandwriting: Handwritten Chinese character recognition with smartwatch
CN104484644A (zh) 一种手势识别方法和装置
CN108898623A (zh) 目标跟踪方法及设备
Hausberger et al. IMU-based smart fitness devices for weight training
Mace et al. Accelerometer-based hand gesture recognition using feature weighted naïve bayesian classifiers and dynamic time warping
CN112037929A (zh) 基于多模态机器学习的分类方法、在线新冠肺炎预警模型训练方法及预警方法
KR101299031B1 (ko) 손 제스처 인식 장치 및 그 방법
Iyer et al. Generalized hand gesture recognition for wearable devices in IoT: Application and implementation challenges
WO2015131710A1 (zh) 人眼定位方法及装置
Rahagiyanto et al. Hand gesture classification for sign language using artificial neural network
CN106709442B (zh) 一种人脸识别方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16848022

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15541234

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16848022

Country of ref document: EP

Kind code of ref document: A1