Biomedical Engineering Reference
In-Depth Information
16.3.2 Research the Algorithm Options Suited for the Data
The process of turning data streams into useful data for gesture recognition and full
body locomotion is handled by a range of algorithms. In this sub-section, we provide
several algorithm examples that have either been used or have potential to be used
to resolve virtual locomotion problems [ 6 , 27 , 28 ]. The examples shall include:
Linear Classifiers—Ideal for recognizing discrete gestures with definitive start and
stop points.
Kalman Filters—Provide continuous predictions of an unknown state from con-
tinuous data inputs and corrections.
Hidden Markov Models—Take in discrete or continuous inputs to predict discrete
hidden states.
Heuristic Algorithms—Quick, understandable and easy algorithms that normally
solve a single problem given the context of the project.
Linear Classifiers . Briefly, this algorithm uses a feature vector, which represents key
features of the input data, and has weights per gesture that indicate the importance
of each feature to the gesture. In Hoffman et al. [ 6 ] a linear classification algorithm
was used on Wiimote accelerometer data to recognize discrete gestures useful to
game developers such as chopping, circles, whipping motions, etc. While the clas-
sifier's weights could be hand tuned, collected sample data can be used to set the
weights to maximally differentiate between gestures. Then when a user performs an
action, the classifier computes the feature vector values, weights themper gesture and
determines which gesture was likely performed. A strength of this approach is the
explainability of the classifier as one can look at the weights and readily determine
if new features need to be created to differentiate between gestures.
An example of a linear classifier would be the Rubine algorithm [ 16 ], which
evaluates the probability of a gesture by
F
g c =
w c 0 +
w ci f i
i
=
1
where g c is the probability of gesture c, of w c 0 is a starting weight, a feature set of
size F, w ci is the weight of feature f i for gesture c. In this algorithm training data
is taken in to compute the weights each feature provides to a gesture. This process
begins with a mean feature vector calculated by
E c 1
1
E c
f ci =
f cei
e
=
0
where f ci is the mean vector of feature i for gesture c, E c is the number of training
samples for gesture c, and f cei is feature i, for gesture c, sample e.
 
Search WWH ::




Custom Search