[Next][Up][Previous]
Next:Resolving
OcclusionUp:Virtual
Kathakali: Gesture-Driven Previous:Outline
Real Time detection of User's
Arm Pose
In the initial pose, the user stands with his arms separated wide apart
and the following calibration data are obtained :-
-
arm-length
-
range of pixel intensity within which the pixels corresponding to his body
tone lie
-
arm width
-
width of his shoulders
To simplify the image processing costs, the user is required to stand in
front of a dark background. This permits image binarization based on a
dynamic threshold, set at a point of sharp variation in the intensity histogram.
Noise may yet interfere with the robust determination of arm posture, and
Gaussian convolution is used to smooth out some of the noise.
The pose of the user's arms at each instant is obtained by identifying
the elbow and wrist in the image. The body width is identified based on
points of high intensity change in the lower parts of the image. The elbow
and wrist are distinguished by different techniques depending on whether
the hand is occluding the body (Section 3.1)
or not. In the latter case, a fast and simple technique is to locate the
extreme points in the image and test if the line joining it to the shoulder
is part of the arm or not (Figure 5).
Based on this and the initial calibration information, the 3D pose of the
arm is estimated based on foreshortening.
Figure 3: Calibration phase. User stands with arms apart.
The body width, arm length and arm width are detected. The histogram for
the box B (shown below the image) is used to detect body width, and a similar
analysis in the region A is used to obtain the skin shade.
Figure 4: Resolving Occlusion. The pixel intensity range
for the user's skin colour / clothes are used to distinguish parts of the
arm that may be occluding the user's body.
[Next][Up][Previous]
Next:Resolving
OcclusionUp:Virtual
Kathakali: Gesture-Driven Previous:Outline