Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Face detection using Kinect

I want to do face detection using Microsoft Kinect, I'm able to crop a part of RGB video and able to make a rectangle around the face in Skeleton View, but I'm not able to detect the RGB (normal image) of a face, in WPF. How can I accomplish this?

like image 263
abcd Avatar asked Dec 26 '11 07:12

abcd


2 Answers

Check out the new SDK (1.5), it has Face Tracking Tool.

http://blogs.msdn.com/b/kinectforwindows/archive/2012/05/21/kinect-for-windows-runtime-and-sdk-version-1-5-released.aspx

http://www.microsoft.com/en-us/kinectforwindows/develop/learn.aspx

like image 51
MDaldoss Avatar answered Oct 12 '22 06:10

MDaldoss


Well the way that kinect identifies someone on the Xbox, is that it takes the different characteristics of a humans face (using depth images), for example I have a 1/2 inch nose, while you have a 3/8 inch nose. This is determined my the depth from certain parts of a person's face. The algorithm for calculating depth(V1.0) is:

DepthImageFrame depthFrame

short[] rawDepthData = new short[depthFrame.PixelDataLength];
depthFrame.CopyPixelDataTo(rawDepthData); 

int depth = rawDepthData[depthIndex] >> DepthImageFrame.PlayerIndexBitmaskWidth;

Then you can say things like:

if(depth > 500)
 {
      //do something
 }

See Channel 9 for more details on depth. Hope this helps!

like image 22
Liam McInroy Avatar answered Oct 12 '22 06:10

Liam McInroy