This disclosure relates generally to wearable electronics, and more specifically, to wearable electronic devices in game play applications.
In recent years, with the rapid development of MicroElectroMechancial System (MEMS) technology, inertial sensor production has made a leap forward in terms of chip-size minimization, low-cost manufacturing, lower power consumption and simplification in operation. Due to these advantages, various types of inertial MEMS sensors have become appropriate for multiple applications, such as vehicle or person navigation, motion tracking system, consumer electronic devices, such as smartphones. The emergence of wearable electronic devices during the last few years also make use of the low-cost MEMS inertial sensor, and are becoming more and more popular in the consumer market.
The term “wearable electronic devices” refer to electronic technologies or devices that are incorporated into items of clothing and accessories which can comfortably be worn on the body. Generally, these devices can perform communications and allow the wearer access to their activity and behavior information. The implications and uses of wearable technology are far reaching, and can influence the fields of health and medicine, fitness, aging, disabilities, education, transportation, enterprise, finance, and sports. Currently, numerous types of wearable electronic devices have been developed and employed in various applications.
In the medical field, the wearable electronic devices are designed to provide opportunities for improving personalized healthcare. They can be applied to monitor the critical physiological parameters of patients and caregivers, such as body temperature, heart rate, brain activity, muscle motion and other data. With the development of smart mobile device, the collected human health care data can be transmitted to their family member or doctor for reference. The use of wearable sensors has made it possible to have the necessary treatment at home for patients after an attack of diseases such as heart-attacks, sleep apnea, Parkinson disease and so on.
In the sports and fitness field, the daily activities and sports performed by the subjects can be recognized. The energy expenditure during the sports movement can also be estimated to access the activity level of a subject. Additionally, the sweat rate, gait analysis during walking, kinematic changes evoked by fatigue in running, etc. can all be accomplished with wearable electronic devices. The FitBit™, the Nike+™ and FuelBand™ are representative of wearable electronic products in the sports market. These devices are very popular in younger market segments, and have experienced a period of rapid growth during last few years.
Except for the medical and sports field, the application of wearable device has also made it possible to aid patients' rehabilitation at home. Such networks can ensure that patient motion can be monitored by doctor or family members. The wearable obstacle detection/avoidance systems (ETAs) has been developed to assist visually impaired people during navigation in known or unknown, indoor or outdoor environments. There are even wearable devices specially designed for wild animals, aiming to record their normal life and activity range.
Wearable electronic devices have made a great improvement and attracted attention in various industries. Prior devices have digitalized human motions or activities to provide users with vital information. However, the functionality of most wearable devices has been limited. For example, many devices are limited in functionality to the mere role of a step counter, vital signs information monitor, motion data recorder, calorie calculator right, or the like. Devices have not developed with multi-function capability for entertainment, game play, and Human Computer Interaction (HCl) fields.
On the other side, these systems have the problem that they can only provide user's general motion information, such as discrimination of movement activity from rest, classification of activities (i.e. running, walking, sleeping), and the quantization of general movement intensity (i.e. percentage of time spent moving, sleeping, sitting). These systems are just playing a role of human motion data recorder or monitor, and their performance does not have a direct effect on the utilization because the user cannot experience whether the motion identification is accurate or not. Additionally, several work adopt a heavy burden feature extraction procedure and post processing techniques, so it is impossible to derive a real time human motion result. The test or validation of real time application has not been discussed in previous work.
In human body motion capture field, multiple inertial sensor nodes are attached to different body parts, and the detailed movement information of human body, including human head, upper limb, lower limb, foots can be derived accurately in real time. Several attractive research works have been proposed in this area and most of them focused on the determination of attitude to correct the accumulated error caused by sensor drift. Nevertheless, this kind of system needs at least seventeen inertial nodes attached to body parts, and requires a setup up and calibration session before usage, which brings a heavy burden and is not comfortable or convenient for people to wear and serve for our regular utilization. Therefore, this system is only employed in some specific applications (i.e. movie making, cartoon producing), and rarely applied in our daily life.
Embodiments of wearable electronic devices are presented for applications. In an embodiment, the wearable electronic device may be attached to a user's foot. In such an embodiment, the wearable electronic devices may detect the user's steps in different directions to control the player's move presented in an application, such as a game.
In an embodiment a method may include receiving a signal characteristic of movement of a MEMS inertial sensor configured to generate data in response to movement of a human foot. The method may also include processing the signal received from the MEMS inertial sensor, in a processing device, to generate a command input for an application processing device. Additionally, the method may include communicating the command input to the application processing device for control of an application hosted on the application processing device.
Embodiments of an apparatus may include a MEMS inertial sensor configured to generate a signal characteristic of movement of the MEMS inertial sensor, a processing device configured to process signals received from the MEMS inertial sensor to generate command inputs for the application processing device, and an output interface, coupled to the processing device and in communication with the input interface of the application processing device, the output interface configured to communicate the command inputs to the application processing device for control of the application.
Embodiments of a system may include an application processing device configured to execute operational commands of an application, the application processing device comprising an input interface. The system may also include a wearable motion detection device coupled to the application processing device via the input interface. The wearable motion detection device may include a MEMS inertial sensor configured to generate a signal characteristic of movement of the MEMS inertial sensor, a processing device configured to process signals received from the MEMS inertial sensor to generate command inputs for the application processing device, and an output interface, coupled to the processing device and in communication with the input interface of the application processing device, the output interface configured to communicate the command inputs to the application processing device for control of the application.
Further embodiments of a hardware platform for a wearable electronic device are described, which include a low cost microcontroller and a 9-axis MEMS inertial sensor. The described embodiments may be linked with software applications, such as gaming applications for an interactive experience in playing action games and widen the wearable electronic devices' function.
The present invention(s) is/are illustrated by way of example and is/are not limited by the accompanying figures, in which like references indicate similar elements. Elements in the figures are illustrated for simplicity and clarity, and have not necessarily been drawn to scale.
The present embodiments include foot-mounted wearable electronic devices for use in game play and for user interface for other applications. In an embodiment, the system may identify human foot stepping directions in real time, and coordinate these foot actions to control the player presented in game or application control. In an embodiment, one IMU configuration is selected to make it convenient and suitable for user to wear. In an embodiment, a method may include preprocessing collected dynamic data to compensate error and correct the sensor misalignment, detecting the peak points of acceleration norm for data segmentation and to extract the feature in the vicinity of each peak point, and putting the features into the machine learning classifier to determine the stepping motion type. In a further embodiment, the corresponding classifier may be trained for individual motion type to improve the robustness of the system.
The present embodiments may employ a foot-mounted wearable electronic device to play a game. Additionally, the present embodiments may compute efficient, real time applicability foot moving direction identification algorithm. Such embodiments do not require specific sensor orientation on the shoe, that it can be generally applied for different shoe styles and placement manners. The embodiments may provide a low-cost, small size, portable, wireless inertial measurement unit and a game play software platform to synchronize the foot motion with the game or other application operation.
The present embodiments provide several benefits and advantages. First, such embodiments extend the current electronic wearable devices to game play beyond human activity recognition and monitoring. Also, with the present embodiments, kinetic games need not to be limited to a confined space (i.e. living room) or played on any specific processing consul or system, but instead may be playable with various convention processing devices, such as smartphones or tablets. Such embodiments also enable building of low-cost, portable, wearable, real time exercising and entertainment platform, that people are able to perform virtual sports or exercise in an interesting manner without environmental constrains, which is convenient to use and beneficial for their health.
One of the most commonly used and traditional game operating mode is that user controls the subject's directions (forward, backward, left or right), aiming to avoid obstacles, or to achieve more bonuses in several popular smartphone running games. Based on this user's operation mode, a benefit of a foot-mounted system is to utilize people step moving directions to control the player avatar or object presented in a game or application, instead of the conventional manner (i.e. finger sliding, button press). Specifically, the inertial sensor may be attached on the human foot, process the sensor data collected during the moving phase to derive the stepping directions, and correlate the human step direction to the subject control in games.
This system has a high real time and detection accuracy requirement because any lag or wrong step detection result will cause the user discontinue playing game normally, and lead to a worse user experience. Hence, a challenge resolved by the present system is to determine step motion and moving directions correctly when the step event happens with less delay, and synchronize to game control to give the user feedback. Moreover, due to the diversity of shoe styles and sensor mounted manners, the compatibility of algorithms with different users, and the system robustness are other difficult challenges to overcome by the present embodiments.
System Architecture
Hardware Platform
The system hardware platform may include a processing device 203, such as a CC2540 microprocessor, an inertial sensor 202, such as a 9-axis inertial sensor MPU9150, and other electronic components, such as communication components, power supply circuits, etc. The processor 203, may include a 2.4 GHz Bluetooth low energy System on Chip (SOC) and a high performance and low-power 8051 microcontroller. Such an embodiment can run both application and BLE protocol stack, so it may be compatible with multiple mobile devices (i.e., smartphones 206, tablets 208, etc.). The inertial sensor may include an integrated 9-axis MEMS motion tracking device that combines a 3-axis gyroscope, a 3-axis accelerometer, and a 3-axis magnetometer, for example.
Software Platform
The system software platform may be developed in any suitable programming language or syntax, such as C, C++, C#, Python, etc. In an embodiment, the software modules, when executed by the processing device 203, may be configured to receive and decode data from the internal sensors 202, log user's motion data, calculate the attitude of the motion, run the human foot detection algorithm, and interact the human motion with game or application control on the host. For real-time processing, a multi-threaded program may simultaneously implement these functions. Multithreading is a widespread programming and execution model that allows multiple threads to exist within the context of a single process. These threads share the process's resources, but are able to execute independently. Hence, this multithreading software can guarantee the whole system's real-time application, and owns a clear structure which is beneficial for further revision or development.
Methodology
The inertial sensor 202 may be attached on a foot or shoe, and the measured rotation information and acceleration information received from the accelerometer 402 and the gyroscope 404 may be applied for stepping direction classification. The motion recognition process of the present embodiments is illustrated in
As shown in
Preprocessing
MEMS inertial sensor has the advantageous of small size and affordability, but they suffer from various error sources that cause a negative effect on their performance. Therefore, the calibration experiments are dispensable operation before usage of MEMS sensor to remove the deterministic errors, such as bias, scale factor error, misalignment. Currently, because of the advanced MEMS manufacturing technology, the inertial sensor is highly integrated and non-orthogonally errors are relatively smaller compared with other errors. Hence, only bias and scale factor errors are considered here, and the error compensation model is described as follows:
{tilde over (f)}
b
=S
b
·f
b
+b
a
{tilde over (ω)}b=Sω·ωb+bω (1)
Where, {tilde over (f)}b, {tilde over (ω)}b denote the measurement of specific force and rotation, and fb, ωb denote the true specific force and angular velocity. Sb, Sω, ba, bω respectively denote the scale factors and biases of accelerometer and gyroscope, and they are all derived from the calibration experiment.
In the present embodiments, the IMU may be attached to a shoe to detect the user's foot motion to control the game. However, due to the difference between various shoe styles and the sensor placement, the IMU orientation (pitch and roll) varies when mounting on different user's shoes, which causes the misalignment with different users.
Hence, in order to achieve a satisfactory identification results for different shoe styles or placement manners, the data may be collected under various attachment conditions and put into a training process to derive the classifier, but this process is time consuming and the performance is not guaranteed if the sensor is attached with a new misalignment condition which is not included in the training set. Therefore, the present embodiments may project the acceleration and rotation measurement from body-frame (shoe frame) to user frame, and use the information in user frame for motion classification, where the user frame separately denotes the user's right, left and up directions as three axes to construct the coordinate. This operation is able to effectively eliminate the misalignment caused by different shoes styles and sensor placement because it aligns all the collected data in the same frame.
Hence, a reliable and accurate attitude result is beneficial because it can correctly project the inertial measurement in user frame with the rotation matrix to perform the data standardization process (align in the same frame), and consequently derive a dependable feature extraction. With the given initial attitude and the gyroscope measurement, the orientation results by integrating the angular velocity can be derived. However, due to the error of MEMS gyroscope, the attitude result drifts quickly with time and is not able to provide long term solution. The accelerometer can provide attitude angles without suffering from long term drift which is complementary with gyroscope data, and is effective to compensate the attitude drift error. The present embodiments may use an attitude filter to integrate the gyroscope and accelerometer measurement data together to derive the non-drift attitude solution. A Kalman filter may be used to fuse the information, the dynamic model, measurement model of the filter, and an adaptive measurement noise tuning strategy are described as follows.
Dynamic Model
The attitude angle error model, which is the angle difference between true navigation frame and the computed navigation frame, is employed as the dynamic model. This model is expressed in linear form, and easy to implement. The 3-axis gyro biases are also included in the dynamic model, they are estimated in the filter and work in the feedback loop to mitigate the error from raw measurement. The equation of dynamic model may be expressed as:
{dot over (Φ)}=Φ×ωinn+Cbnεb
{dot over (ε)}b=(−1/τb){dot over (ε)}b+ωb (2)
Where, Φ denotes the attitude error, ωinn denotes the n frame rotation angular rate vector relative to the inertial frame (i frame) expressed in the n frame. Cbn denotes the Direction Cosine Matrix (DCM) from b-frame (i.e., the body frame) to n-frame (i.e., the navigation frame). The symbol “x” denotes cross product of two vectors. εb denotes the gyros output error. Such embodiments only require consideration of the effect of gyro bias and it is modeled as first order Gauss-Markov process, τb denotes the correlation time of the gyro biases and ωb is the driving noise vector.
Measurement Model
The acceleration residuals in the body frame may be used to derive the system measurement model. In an embodiment, the acceleration difference may be used instead of using attitude difference separately derived by accelerometer and gyroscope is to avoid the singularity problem when the pitch angle is ±90°. The acceleration residuals in body frame are defined as the difference of accelerometer direct measurement and the project of local gravity.
δa=amb−an
a
n
b
=C
n
b
a
n (3)
Where, amb denotes the accelerometer measurement, an
C
n
b
=C
m
b
C
n
n
C
n
n
=I−[Φx] (4)
Where, [Φx] denotes the skew matrix of attitude error. Substituting equation (4) into equation (3), the relationship between acceleration residuals in body frame and attitude error is written as:
Then, the measurement model can be obtained by equation (5), the measurement z is the acceleration in body frame [δax δay δaz]T, and the measurement matrix H is expressed as
The attitude filter works effectively under stationary or low acceleration conditions, because the attitude estimated by accelerometer measurements perform well and is positive in fixing the accumulated attitude error. While in high dynamic situation, the accelerometer will sense the external dynamic acceleration, so if the contribution of measurement update still keeps same with that in low dynamic situation, a side effect will be introduced and lead to a degraded performance. Hence, to achieve an optimal attitude estimation result, the present embodiments may adaptively tune the measurement covariance matrix R according to a system dynamic index E and it is designed as:
ε=|f−g| (7)
Where, f denotes the norm of measured acceleration, g denotes the local gravity. Then the specific tuning strategy of covariance matrix R may include a stationary mode, a low acceleration mode, or and a high dynamic mode. In stationary mode, when ε<Thres1, it denotes that the system is in stationary or low acceleration status, correspondingly, the covariance matrix R is set as R=diag[σx2 σy2 σz2], σx2, σy2, σz2 denote the velocity random walk of three-axis accelerometer. In low acceleration mode, when Thres1<ε<Thres2, it means that the system suffers from low external acceleration and the covariance matrix R is set as R=diag[σx2 σy2 σz2]+kε2, where k is the scale. In high dynamic mode, when ε>Thres2, norm of the three accelerations is far from the specific force which equals to gravity acceleration. The acceleration residuals are not reliable. In this situation, the filter only performs the prediction loop, and has no measurement update.
Data Segmentation
Data segmentation may divide the continuous stream of collected sensor data into multiple subsequences, and a selected subset of information for the activity recognition. In an embodiment a sliding windows algorithms may be used to segment data in various applications. However, this approach is not suitable in all embodiments because the entire human stepping motion signal may not be included in the current detected window, and is separated in two adjacent windows, which may cause poor results in some cases. Moreover, the sliding windows algorithm works with a complexity of O(nL), where L is the average length of a segment, and affect the system real time ability.
In further embodiments, the relationship between gait cycle and acceleration signal may be analyzed to derive a practical approach to segment data. Generally, a gait cycle can be divided into four phases, namely: (1) Push-off—heel off the ground and toe on the ground; (2) Swing—both heel and toe off the ground; (3) Heel Strike—heel on the ground and toe off the ground; and (4) Foot stance phase—heel and toe on the ground at rest.
The reason for using peak point is that one peak point is always available in the push-off phase when the foot leaves ground and it facilitates to detect the beginning of a user step, which will not vary for different users or stepping patterns, and ensures the reliable real time performance. On the other side, the algorithm complexity works with the O(peak point number) that the classification process is only performed when the peak point is detected, which decreases the computation burden. Moreover, the present embodiments do not require classification of the specific phase of each walking circle, and it simplifies the identification process
Additionally, the present embodiments may ascertain the length of data for feature extraction. A tradeoff is available here between discrimination accuracy of motion types and real time applicability. Involving more data in data segmentation is beneficial to correctly identify human motion, lead to good result, but will cause a lag response. While, less data can achieve a quick and less delay judgment on human motion, but may does not include enough information for the classification. The present embodiments include analyzing the distribution of three separate axis acceleration signal of different motions, to figure out the length of data segment for feature extraction.
Additionally, each figure illustrates the acceleration distribution of 500 same motions performed by different testers, and extract data in the vicinity of first peak point, and calculate the mean and standard deviation of these data. The solid lines and dot lines separately present the mean and standard deviation. The acceleration distribution shown in the figure provides an intuitive statistical result of acceleration in the beginning phase of a step and is helpful for us to confirm the data segment length. The data segmentation length was select to extract features is 31 samples and it is presented in rectangle in the figure, where it is composed of 20 samples before the peak point with 10 samples after the peak point and the peak point itself. The main reason to choose this length of data is: first, the feature extracted in the selected interval is able to provide enough distinguished information for the motion identification and moreover, it ensures a reliable real time applicability. The data shown in
Feature Extraction
Generally, features can be defined as the abstractions of raw data. The objective of feature extraction is to find the main characteristics of a data segment which can accurately represent the original data and identify valid, useful and understandable patterns. In an embodiment, the features can be divided into various categories, time domain and frequency domain are most commonly used for recognition. The feature selection is an extremely important step because a good feature space can lead to a clear and easy classification and poor feature space may be time-consuming, computationally-expensive, and cannot lead to good result. Not all of the commonly used features in activity recognition field in selected in the system, but were analyzed the collected signal and consider the foot moving physical discipline to choose the features, which is not only effective to discriminate motion types, but also has less computation complexity. In the present embodiments, the selected features for foot motion classification are described as follows.
Mean and Variance
The mean and variance value of the three axis accelerometer and gyroscope measurement are derived from the data segment to consider as the feature, according to the following equation:
Where xi denotes the signal, N denotes the data length,
Signal Magnitude Area
The signal magnitude area (SMA or sma) is a statistical measure of the magnitude of a varying quantity, and actually is the absolute values of the signal. SMA is calculated according to equation (9).
f
SMA=∫t
where, x denotes the signal and (t1, t2) denotes the integration time period.
Position Change
Position change is an intuitive feature for the foot direction identification, because different foot moving directions cause various position change. For example, jumping features a larger change in vertical direction, and stepping right and left lead to an obvious position change in horizontal plane. The Inertial Navigation System (INS) mechanization equation is able to provide the trajectory of a moving object in three dimensions with the measured rotation and acceleration. While, due to the double integration strategy of INS mechanization and the noise of sensor, the accumulated error will be involved in the trajectory estimation and lead to a drift of position, especially when using MEMS sensor.
Hence, it is not feasible to calculate the position during the whole identification process, the position is only derived in the data segmentation, with an initial velocity (0,0,0), initial position (0,0,0), and an zero azimuth during the calculation process. The inertial sensor has the characteristic of being accurate in short term, so the position result computed in the 30 samples interval is reliable and trustworthy. The position calculation equation is described as follows:
Where, ab, an denotes the measured acceleration in body frame and, Cbn is the rotation matrix that projects the acceleration from body frame to the navigation frame (local-level frame) and an denotes the projected acceleration in navigation frame. v, p denote the computed velocity and position and v0, p0 denote the initial velocity and position
Ratio
The ratio feature is to calculate the proportion of feature in single axis and the norm of features in three axes. The aim of introducing the ratio metric is to normalize the feature of three axes to best deal with the motion performed in different strength and users. For example, for the jump motion, the position change in up direction (jump height) is more than that in horizontal plane and is dominant in the position change, though the jump height is different for various users, the proportion of jump height in position change still occupy significantly. Specifically, the position feature (the position change) derived from a heavy jump motion maybe (0.2, 0.2, 0.5), and is (0.05, 0.05, 0.2) from a slight jump motion, though the jump height amplitude varies significantly depending on different user habits, the ratio of jump height occupies over 50% of whole position change for the both groups. Hence, the ratio feature of position change in different directions is a good metric to distinguish and evaluate the motion types with different strengths. The ratio feature introduced here is calculated as equation (11)
Where Feature X, Y, Z denote the features calculated in different axis and the ratioFeature denote the ratio. In the present embodiments, the position, mean, variance, SMA features calculated in three directions or axes are all accounted to derive the ratio feature.
Classification
The classification is a process to predict or give the motion reorganization with the extracted features. In order to achieve a good motion classification performance, three popular supervised classification approaches are employed in our research work for validation and these three classifiers are described as follows.
Decision Tree
A decision tree is a decision support tool that uses a tree-like graph or model of decisions and their possible consequences. Generally, internal node, branch, leaf nodes are included in a decision tree classifier, where, the internal node represents a test on the selected feature, branch denotes the outcome of the test, and the leaf nodes represent the class labels (different moving directions).
The tree generation is the training stage of this classifier and it works in a recursive process. The general tree generation process is that, for each feature of the samples, a metric (the splitting measure) is computed from splitting on that feature. Then, the feature which generates the optimal index (highest or lowest) is selected and a decision node is created to splits the data based on that feature. The recursion procedure stops when the samples in a node belong to the same class (majority), or when there are no remaining features on which to split. Depending on different splitting measures, the decision tree can be categorized as: ID3, Quest, CART, C4.5, etc.
K-Nearest Neighbors
K-nearest neighbors algorithm (kNN) is an approach based on the closest training samples in the feature space, and k denotes the number of classes. In the kNN approach, an object is classified by a majority vote of its neighbors, with the object being assigned to the class most common amongst its nearest neighbors. Similarity measures may be components in such an algorithm and different distance measures can be used to find the distance between data points.
As shown in
Support Vector Machine
The support vector machine (SVM) is to construct a hyperplane or set of hyperplanes in a high- or infinite-dimensional space for classification, regression, or other tasks. Because several available hyperplanes are able to classify the data, and the SVM is to use the one which represents the largest separation, or margin, between the two classes to classify. The hyperplane chosen in SVM maximize the distance from it to the nearest data point on each side.
As shown in the figure, the optimal separating hyper-plane (line) locates the samples with different label (circles 1, square −1) in the two sides of the plane, and the distances of the closest samples to the hyper-plane in each side become maximum. These samples are called support vectors and the distance is optimal margin. The specific illustration of the SVM classifier can be found in the literatures.
Experiments and Results
The experiment is designed to include two parts. In the first part, different tests are invited to perform the five foot motions in their own manners. Then we collect the data, preprocess data to remove error, divide the data into segments, extract the features and put them into the training process of introduced machine learning algorithm to derive the classifiers. Additionally, the classifiers are tested by two cross validation approaches. In the second part, the data processing procedure is transformed in our software platform and is programmed in C++, the program is also connected to the game control interface to perform the practical game playing experiment.
Date Set
In order to obtain a sufficient amount of data for training, ten testers—two females and eight males—were invited to participate in experiments. All the testers were in good health condition without any abnormality in their gait cycles. The IMU sensor was attached on their shoes, and they were asked to perform the five stepping motions in their natural manners. Moreover, in order to have diverse characteristic of each motion, some actions of the testers are conducted in different strength (heavy or slight), different frequency (fast or slow), different scope (large or small amplitude), and some actions were performed by the same tester in different days. The data collected during the experiment is stored to form the training dataset and it is reported in Table 1.
Classification Result
In the present embodiments, the corresponding classifier may be trained for each motion for the motion identification instead of using one classifier for the five motions, which is beneficial to improve the robustness because one classifier only needs to recognize two classes instead of five, and it brings the possibility that the typical feature may be selected for each motion based on motion principle or data analysis in future work.
In order to have a better evaluation of the classification performance, two separate cross-validation approaches were selected for test, and they are k-fold cross validation and holdout validation. In k-fold cross-validation, the original sample is randomly partitioned into k equal sized subsamples. Of the k subsamples, a single subsample is retained as the validation data for testing the model, and the remaining k−1 subsamples are used as training data. The cross-validation process is then repeated k−1 times, with each of the k−1 subsamples used exactly once as the validation data. The k−1 results from the folds can then be averaged to produce a single estimation. The advantage of this method over repeated random sub-sampling is that all observations are used for both training and validation, and each observation is used for validation exactly once. In such an embodiment, a commonly used 10-fold test may be used. In holdout validation, a subset of observations is chosen randomly from the initial sample to form a validation or testing set, and the remaining observations are retained as the training data. Twenty-five percent of the initial samples for test and validation were chosen.
The two cross validation approaches are performed to the three classifiers and the classification results are listed in Table 2 and 3.
Table 2 and 3 list the stepping motion identification result of the three classifiers. For each motion, the column tagged with Class 1 shows the correct detection result of actual motions and the column tagged with Class 0 denotes the undesired jump motion detected from other motions. Specifically, for the jump motion detected by decision tree classifier, 813 motions are successfully identified out of 895 jump motions (where 82 actual jump motions are miss or mistakenly detected), and 75 motions of totally 2880 other motions (the sum of left, right, forward and backward) are wrongly considered as jump motions.
Additionally, in order to have a quantification evaluation of the classifier performance, the metrics of Accuracy, Precision, Recall, are also introduced here to evaluate recognition performance. The definition and calculation equations are described below.
Accuracy: The accuracy is the most standard metric to summarize the overall classification performance for all classes and it is defined as follows:
Precision: often referred to as positive predictive value, is the ratio of correctly classified positive instances to the total number of instances classified as positive:
Recall, also called true positive rate, is the ratio of correctly classified positive instances to the total number of positive instances:
Where TP (True Positive) indicates the number of true positive or correctly classified results, TN (True Negatives) is the number of negative instances that were classified as negative, FP (False Positives) is the number of negative instances that were classified as positive and FN (False Negatives) is the number of positive instances that were classified as negative. According to the evaluation metrics, the accuracy, precision, recall, for the test result of each motion are calculated and listed in Table 4, 5 and 6.
Based on the evaluation metrics listed in Table 4, 5, and 6, and according to the graphically comparison of accuracy and precision, the SVM classifier has an overall better performance than the other approaches. Moreover, the average time for each classifier to make the decision on the motion type is: decision 0.0056 ms, kNN, 0.53 ms, SVM 0.0632 ms. Though the decision tree classifier has the least response time for identification, its performance on the motion type is not satisfied. The response time for SVM is 0.06 ms and it is in an acceptable time frame because this level lag will not cause an observable delay on user experience. Hence, combined with the performance and the decision time of each classifier, the SVM classifier achieve the best result and is selected in the present embodiments to classify the stepping motions.
Practical Game Play Test
The present embodiments were tested with a commercially available game application on a commercially available processing platform. In this game, an avatar is running on a railway with numerous obstacles and the traditional play manner is that the user needs to control the avatar to jump, go left, go right or get down to avoid the obstacles. In such an embodiment, foot movement direction may be used to control the avatar and the result is shown in following figures.
It should be understood that various operations described herein may be implemented in software executed by logic or processing circuitry, hardware, or a combination thereof. The order in which each operation of a given method is performed may be changed, and various operations may be added, reordered, combined, omitted, modified, etc. It is intended that the invention(s) described herein embrace all such modifications and changes and, accordingly, the above description should be regarded in an illustrative rather than a restrictive sense.
Although the invention(s) is/are described herein with reference to specific embodiments, various modifications and changes can be made without departing from the scope of the present invention(s), as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of the present invention(s). Any benefits, advantages, or solutions to problems that are described herein with regard to specific embodiments are not intended to be construed as a critical, required, or essential feature or element of any or all the claims.
Unless stated otherwise, terms such as “first” and “second” are used to arbitrarily distinguish between the elements such terms describe. Thus, these terms are not necessarily intended to indicate temporal or other prioritization of such elements. The terms “coupled” or “operably coupled” are defined as connected, although not necessarily directly, and not necessarily mechanically. The terms “a” and “an” are defined as one or more unless stated otherwise. The terms “comprise” (and any form of comprise, such as “comprises” and “comprising”), “have” (and any form of have, such as “has” and “having”), “include” (and any form of include, such as “includes” and “including”) and “contain” (and any form of contain, such as “contains” and “containing”) are open-ended linking verbs. As a result, a system, device, or apparatus that “comprises,” “has,” “includes” or “contains” one or more elements possesses those one or more elements but is not limited to possessing only those one or more elements. Similarly, a method or process that “comprises,” “has,” “includes” or “contains” one or more operations possesses those one or more operations but is not limited to possessing only those one or more operations.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/IB2016/055091 | 8/26/2016 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62262987 | Dec 2015 | US |