Professor : Tsung Fu Chien Student’s name : Nguyen Trong Tuyen Student ID: MA02B208 An application Kinect camera controls Vehicles by Gesture 1 Southern Taiwan University of Science and Technology Department of Electrical Engineering
CONTENT 1. Introduction to Kinect 2. Some Libraries for Kinect 3. Implement 4. Conclusion & Future works 2
Introduction to Kinect 1. Kinect camera Kinect is a motion sensing input device by Microsoft for the Xbox 360 video game console and Windows PCs. Based around a webcam- style add-on peripheral for the Xbox 360 console, it enables users to control and interact with Xbox 360 without the need to touch a game controller, through a natural user interface using gestures and spoken Kinect included of: * A camera RGB with sensitive 640x480 * 3D depth sensor * Microphone * A motor to control kinect up and down 3
Introduction to Kinect Figure 1.1 Kinect camera 4
Introduction to Kinect 2. Calculating the depth on Kinect On Kinect, we have IR projector combined IR camera to calculate value image depth by Light Coding technology of Primesense. 5
Introduction to Kinect 6
Suppose, Projector send a single light along the red line. It will be captured by the camera once it hits a surface. We have 3 plane, a reference plane, a plane close and a distant plane. When the point hits a surface in the close plane it will appear right in the image than if it was hitting a surface in the reference plane. Likewise, when the point is projected onto an object on a plane which is more distant than the reference plane, the point will appear more to the left. When the origin and direction of the light is known beforehand, and the horizontal position of the dot is known for a reference depth, then it is possible to find out the depth of the surface which the point hits based on its horizontal position in the cameras image plane 7
Introduction to Kinect According to Nicolas Burrus, who pioneered with information about the Kinect from his own experiments, the depth of a point z can be calculated in meters from the raw disparity of the point d (as provided by the Kinect hardware) using the following equation[9]: z = 1.0/( x d ) d is an 11-bit integer which ranges from 0 to z will change sign from positive to negative when d is around 1084, so values beyond that are useless for depth measurement. 8
Introduction to Kinect 9 Implementation tests with the Kinect pointing straight at a wall and found that it is was to unable to reliability measure depth values below 50 cm (see gure 2). These facts mean that only d values of about 434 to 1084 represent actual measurable depth values
Some Libraries for Kinect Kinect SDK beta SDK beta released by Microsoft on 16 th June 2011, SDK beta allow to access all function of Kinect but This library only support on Visual studio * Support: - Process sound - Control motor angle of repose on Kinect. - Good for the applications Skeleton tracking.
Some Libraries for Kinect Open NI Open NI supports many API functions, can combine middleware to increase ability for Kinect. * Support: - Detect gesture. - Skeleton tracking - Windows, Linux, Mac OSX
Some Libraries for Kinect Point cloud library Point cloud is library to process image in 3D space. Having many algorithms such as: filtering, surface reconstruction, segmentation, feature estimation… PCL can apply on many platforms such as: Window, Mac OS, Linux, Android,…
Implement 1. System design Figure 4.1 General design 13
Implement 1. System design Figure 4.2 Detail design Kinect IDE MCU IDE Kinect Driver
Implement 15 Define pin Start Set communication UpDown LeftRight Val 1, Val 2, Val 3 Val 1 = 1Val 1 = 2Val 1 = 0 Yes No Yes No Yes Val 2 = 1Val 2 = 2 Yes No Val 2 = 0 No Disable Yes Stop
Conclusions 16 The Kinect has been one of the pioneer in the consumer market of the human / virtual environment interaction without using some actual buttons or controller, but only by using natural gesture or speech. We have seen that this field has progressed a lot since the Kinect has been released (a bit more than 1 year) and find its application in many different domain whereas the Kinect was orignally planed to be mostly used for games. The Kinect has opened the doors of the Virtual and Augmented Reality to everybody but it is not the perfect device, it still needs a better reliability (better sensors, cameras and microphones) also related components, or combined (screens, robotics...) need to be improved to develop all the capacity of the Kinect.
17 References [1] Chumbley, Eric M., Francis G. O'Connor, and Robert P. Nirschl. "Evaluation of Overuse Elbow Injuries - February 1, American Academy of Family Physicians." American Academy of Family Physicians. American Academy of Family Physicians, 1 Feb Web. 12 July [2] “Golf Swing Tips.” Golf Swing Tips. Golfswingtips.4u.com, Web. 9 July [3] “OpenNI Modules.” Downloads. OpenNI TM, Nov Web. June-July [4] “Physical Therapy Charges.” Akron General. Akron General Health System, Web. 14 July [5] “Shoulder Problems and Injuries – Topic Overview.” WebMD. WebMD, LLC, 2011.
18 Thank you for your attention