Game Development Reference
In-Depth Information
parts by assigning different weights for each activity. An HMM can be
represented by using the notation
λ
=( A,B,
π
) (Huang et al., 1990), where A , B , and
represent the transition, output, and initial probabilities, respectively. The
movement of the body parts is described as a spatio-temporal sequence of
feature vectors that consist of the direction of the body part movement. Since we
use discrete HMMs, we generate eight directional code words. We check the up,
down, right, left, and circular movements of the body parts. Our models are
trained using the Baum-Welch algorithm. Note that the detected movement of
the body part may be a part of a more complex activity. We check the current
pattern and combine it with the immediately following one and generate a new
pattern. Using dynamic programming, we calculate the probabilities for the first
and combined patterns and choose the pattern with the highest probability as the
recognized activity. If the probability of the observed activity is below a
threshold, we reject the activity. Furthermore, we use the gap between different
gestures/activities, e.g., moving the hand out of camera, stopping the body for a
while. Another feature in the activity recognition is the speed of the body parts.
We use the speed of each body part (slow/fast) for one activity period as an
additional input for the classification. The next step is the generation of a feature
vector by using the observed activities of the body parts. The activity feature
vector is compared with the known activities via a distance classifier, based on
the Mahalanobis metric. The output of the classifier detects the overall activity
of the person. The proposed activity classification algorithm is given in Figure 4.
Figure 5 displays some of the activity patterns, namely waving one hand, opening
and closing hands, and left-right movement of the body. It displays cumulative
π
Figure 4. Overview of the activity classification.
Search WWH ::




Custom Search