I had a few questions about the facial recognition algorithm in the SDK:
1. Does the algorithm use only RGB or does it also use depth streaming? (I checked in the forum, and as of December, 2015 it seemed like it's only RGB) Checking in to see if the new SDK improved on that.
2. One major security flaw I'm running into is that pictures are being recognized as people. I have considered doing something like 3d depth mapping by using the 3d scan module in the sdk. However, I am unsure of how to integrate that with face recognition. In particular, how to compare scans to scans stored in the database to see if the person is registered.
3. The user id for registering users seems to start at 100. I'm currently unregistering all users when the db is deleted using a very naive for loop that assumes that the first user id always starts at 100 (this is definitely not always true). Is there any way to reset where the user id starts?
4. I have integrated the facial recognition algorithm to a arduino such that if a face is recognized/not recognized it sends a signal to the Serial port. However, it seems like the arduino only executes the program when I put break points in the Intel RealSense program at the lines where I write to the Serial Port. Ex: With breakpoints at lines like (Serial.write(1)), the arduino turns on a LED. Without the breakpoints nothing happens. Any ideas on why this is happening?
Thank you so much!
I can't help with any of your other queries, but for point 2:
The easiest way to get depth information on the image is to query the depth image, and map it to the colour image to check the depth of different points on the face and make sure they're not all on the same flat plane. As a hint, check out PXCMProjection.CreateDepthImageMappedToColor. 3DScan works very differently and would be much more complex to integrate (I'm not sure if it would even be possible).