3 Replies Latest reply on Jul 13, 2017 12:45 PM by MartyG

    Starting Out: Confirming that a face is real?


      Just bought the R200 and downloaded the SDK for faces and 3D scanning, but I'm a bit lost about where to start!


      The first thing I want to do is verify if a face is... well... on someone's head and not just someone holding up a photo on some paper. Will I need both libraries for this? Will any of the samples provide a good starting point? Will I always need to give the camera several seconds to scan so that the difference between a face and a curved piece of paper is great enough? I'm ok with working either the C++ or the C# portions of the SDK, but would really appreciate a pointer to start with - there's a lot in there!


      Thanks in advance!

        • 1. Re: Starting Out: Confirming that a face is real?

          In my experience, the camera's facial recognition technology is not fooled by a piece of paper.  So you should not be concerned about someone trying to cheat ID security with a crude method like that. 


          When you installed the RealSense SDK, a folder called Intel RealSense SDK Gold should have been placed on your desktop.  This contains a Sample Browser application, from which you can easily launch the sample programs that come packaged with the SDK.


          One of these samples is called Face Tracking, available in both C# and C++ versions in the "Common Samples" section of the Browser.  On its side panel, you can tick and untick options to customize what the camera sees, including facial landmark points and facial recognition.



          I did a test where I scanned my face with the 'Detection' and 'Recognition' options only, and the program tracked my face with a box around it.  The program also contains Register and Unregister buttons, and can detect when the face is occluded due to being too close to the lens, or out of view of the camera.  When I successfully registered my face, the text in the box updated to reflect this.


          If you are planning to develop a facial recognition project, I recommend uninstalling the '2016 R3' SDK and using '2016 R2' instead.  This is because R3 has known issues with facial recognition in regard to crashing when multiple faces are detected, including people casually walking into camera view as they pass the person being scanned.


          Known Issue: Crash in libpxcface_idc.dll in RealSense SDK R3


          If you wish to download R2 (which is an 'all in one' SDK where you do not need to install individual modules) then you can launch an immediate 1.8 gb download in your browser with the following link:




          1 of 1 people found this helpful
          • 2. Re: Starting Out: Confirming that a face is real?

            I'll definitely check out the browser when I can play with it again tomorrow, thank you. I'm sure it'll be a much more pleasant experience than running random executables in the bin folder! I'll also install R2 as you suggest - I've already encountered the crash that you mention.


            However, I tested the face tracker at the top of your picture and it was fooled consistently by a large print-out of Mr. bean. (Very) Occasionally it even fooled the face tracker in the 'depth' screen. Perhaps it could be to do with the reflectiveness of the paper varying between skin and face or something? This is why I ask if there's a way for it to do a proper check.

            • 3. Re: Starting Out: Confirming that a face is real?

              I did some further research into scientific papers of face recognition using RealSense.  They believed that the system was less likely to have false results if additional face details such as landmark points and expressions were scanned and taken into account.  If you have not already done so, maybe you could try the sample again with Detection, Recognition and Landmarks enabled.


              Scan confidence may also be greater if multiple face scans are taken and compared, since a static image of a face will not change.