How To: Kinect for Windows SDK Face Recognition Series

Sign in to queue


Today's How To series is from the one and only elbruno and walks us through the Kinect for Windows SDK Facial Recognition capability, from concept to code...

[#KINECT] HowTo: Use Face Recognition with #KinectSdk (i)


One of the innovations that were incorporated into the Kinect SDK 1.5 was the ability to detect points of the face. Be careful, some people think that this can give us the ability to perform facial recognition, then not. What we can do is to identify more than 80 points of a face and from the same…. well what we want. A model that we could have reference is as follows:

If we are lucky to have eastern ancestry, because a face recognition points will be similar to the previous photo. If on the other hand are ugly like myself, since we will see something similar to the following:


And how facial recognition? the first thing we will see is that the code is open so anyone can fiddling with it and play with it to suit your needs.

The idea is that from the position of the Joint of the head (Head) which recognizes the Kinect sensor recognizes a virtual area around the head and Face Tracing classes return us an array with points in only 2 dimensions in order to have the references as the previous model. (there is much more to explain about how to get to the 3D of the 2D, but that goes for later).

Part II

Today we will see how to use this functionality in a WPF project. To do this follow these steps:

1 Create a new WPF project. In my case I called [ElBruno.FaceTracking02] and also I added the reference to [Microsoft.Kinect].

2. From the installation folder of the Kinect SDK Developer Toolkit, add references to the assemblies in Face Tracking. The location is similar to:

C:\Program Files\Microsoft SDKs\Kinect\Developer Toolkit v1.5.2\Samples\bin

and the references should be added to




Part III

Today we will see how to modify the “network” that is drawn in our face using the example from the previous post. Reviewing a little how is it mounted, we see that the UserControl [FaceTracking.xaml] is showing the network with the face on an image which shows the output of the camera of the Kinect sensor.


To paint the network, the [SkeletonFaceTracker.cs] class uses the routine DrawFaceModel()which creates a collection of triangles and then paints them.


Project Information URL:,,

Project Source URL:,


Contact Information:

The Discussion

  • User profile image

    I don't get the point. Why do you talk about face recognition ? You don't recognize anything, isn't this example just face detection ?

  • User profile image

    Can you please share the source code for the image where we can see all the face tracking point numbers? Are these points the same as the points returned by GetProjected3DShape(), because I am getting 121 points there. Please share the code for seeing the numbers.

    Thanks !

  • User profile image

    @AniketBera: Best bet would be to click through to the original article and ask him directly. That way he's sure to see the request.

Add Your 2 Cents