The present invention relates generally to three dimensional (3D) technology, and more particularly, to method and apparatus of PUSH & PULL gesture recognition in 3D system.
With the advent of more and more 3D movies, 3D rendering devices for home users are becoming more and more common. Followed by the arrival of a 3D user interface (UI), it is clear that the use of gesture recognition is the most direct way for 3D UI controls. PULL and PUSH are two popular gestures among those to be recognized. It can be appreciated that a PULL gesture can be understood as user takes object closer to him/her, and a PUSH gesture can be understood as user push the object away.
Conventional PULL and PUSH recognition is based on the distance variation between the hand of a user and a camera. Specifically, if the camera detects that the above distance is reduced, then the gesture will be determined as PUSH; while if the distance is increased, then the gesture will be determined as PULL.
As shown in
The left camera L and the right camera R which have the same optical parameter are respectively allocated at ol and or, with their lens axis being vertical to the connection line between ol and or. Point P is the object to be reconstructed, which is the user's finger in this case. Point P needs to be located within the lens of two cameras for the recognition.
Parameter f in
At above formula, d is the disparity which is defined simply as by d=xl−xr.
However, in 3D user interface, there are many other gestures to be recognized, such as RIGNT, LEFT, UP, DOWN, VICTORY, CIRCLE, PUSH, PULL and PRESS, which may also result in the depth variation in the camera. Therefore, in the conventional art where PULL and PUSH are determined solely based on the depth information, there might be a false recognition.
According to one aspect of the invention, there is provided a method of gesture recognition by two cameras, comprising determining whether the gesture is PUSH or PULL as a function of distances from the object performing the gesture to the cameras and the characteristics of moving traces of the object in the image planes of the two cameras.
According to another aspect of the invention, there is provided an apparatus of gesture recognition by two cameras, comprising means for determining whether the gesture is PUSH or PULL as a function of distances from the object performing the gesture to the cameras and the characteristics of moving traces of the object in the image planes of the two cameras.
These and other aspects, features and advantages of the present invention will become apparent from the following description in connection with the accompanying drawings in which:
In the following description, various aspects of an embodiment of the present invention will be described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding. However, it will also be apparent to one skilled in the art that the present invention may be practiced without the specific details present herein.
In view of the foregoing disadvantages of the prior art, an embodiment of the present invention provides method and apparatus of PUSH & PULL gesture recognition in 3D system, which recognizes the PUSH & PULL gesture as a function of the depth variation and movement trace imaged in a plane vertical to the depth direction of the two cameras.
Firstly, the study of the inventor on the finger trace in the left and right cameras for a plurality of gestures will be described with reference to
In
Thus it can be seen, in addition to the depth variation, the movement directions of the finger trace in the X-axis for the PUSH and PULL gestures in the left and right cameras are quite different from those of the UP, DOWN, RIGHT, LEFT gestures.
In addition, the movement ratio of the finger trace in the X-axis and Y-axis in the left and right cameras is also different between the PUSH, PULL gestures and the other gestures mentioned above.
Since LEFT, RIGHT, UP and DOWN gestures may also introduce variations in the Z axis, if the recognition of the PUSH and PULL gestures is only based on the depth variation, that is ΔZ (the end-point's z minus the begin-point's z) in this case, the LEFT, RIGHT, UP and DOWN gestures may also be recognized as PUSH or PULL.
In view of the above, the embodiment of the invention proposes to recognize the PUSH & PULL gesture based on the ΔZ and the movement directions of finger trace in the X axis in the left and right cameras.
In addition, the scale in the X and Y axis can also be considered for the gesture recognition.
The following table shows the gesture recognition criteria based on the above parameters.
In the above table, scale
TH_Z is a threshold set for the ΔZ.
In the above table, the arrow line means the movement direction of X-axis for every gesture. It can be seen that x-axis movement direction and scale(x/y) can be used to distinguish PUSH/PULL from LEFT/RIGHT, because for LEFT/RIGHT gesture the x-axis movement have the same direction in two cameras and scale(x/y) will be very large for LEFT/RIGHT gesture. Scale(x/y) can be used to distinguish PUSH/PULL from UP/DOWM, because scale(x/y) will be very small for UP/DOWN gesture.
As shown in
It should be noted that the notion of left and right camera is from the logical point of view. That is, they are both logic cameras. For example, the left camera is not the camera which is set at the left position of the screen). Therefore, in the following step, the recognition system detects a camera switch, the ArrayL and ArrayR will be switched.
Then in the following steps, gestures will be recognized based on the depth variation, the movement directions of the finger trace in the X-axis for in the left and right cameras, and the Scale (X/Y), as described in the above-described table.
As shown by
If set stereo cameras were set as frontal parallel, then depth view range may be small in some usage scenarios. Therefore, in some cases the stereo cameras will be placed with certain angles.
The actual image plane is the lens convergence surface, so the actual image plane should behind the lens. Under the premise of guaranteeing the correctness, for ease of understanding we will draw the image plane in front of the camera and make lens into one point.
If the stereo cameras have a angle in placement as shown by
If the image plane (or camera) relative to the horizontal deflection angle of α, according to the triangle on the above figure, we can see that the distance Z between critical line and the camera as this formula:
Z=tan(α)*T
After the critical line of stereo camera placed with α angle is estimated, the logical left or right camera can be detected.
As shown in
Next, the system will determine whether the plane is before the critical line or not.
If the plane is before the critical line, the logical camera will be detected based on the value of X-axis coordinate in the two cameras after the user clicks the two points. In particular, if the Lx>Rx, then it is not necessary to exchange the two logical cameras. Otherwise, the two logical cameras need to be exchanged.
If the plane is not before the critical line, the logical camera will be detected based on the value of X-axis coordinate in the two cameras after the user clicks the two points. In particular, if the Lx>Rx, then it is necessary to exchange the two logical cameras. Otherwise, the two logical cameras need not to be exchanged.
It can be appreciated by a person skilled in the art that if the stereo cameras have frontal parallel placement, the calibrate plane will be at infinite place. Therefore, we only need compare Lx and Rx to judge the camera exchange or not. Because in frontal parallel placement, Lx and Rx for logical left and right camera will have the fixed relationship, for example Lx>Rx. If we detect Lx>Rx, then camera do not exchange, if we detect Lx<Rx, then camera have been exchanged, that is to say logical left camera at the right position and logical right camera at the left position.
It is to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the appended claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CN10/00602 | 4/30/2010 | WO | 00 | 10/29/2012 |