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?
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
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!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With