API function to Add User
Product Reference : Intel RealSense F455
RealSenseID::FaceAuthenticator Class Reference
We have multiple F455 devices and want to do physical enrollment of faces only on one device and need to call api function to programmatically do enrollment on other fresh devices.
Please let us know which api function can do the add-user by sending faceprint in parameter.
In the architecture diagram it shows in the beginning that there are api to add/remove user. We are not able to find the api function to add-user programmatically.
For this scenario, you would use the "Host Mode" methods in which the faceprints database exists on the host, rather than on the RealSenseID device. The C# Wrapper shows how you can build faceprint database management methods. There is no way for RealSenseID devices to communicate directly with each other.
The steps you would follow to achieve your use case are:
- Enroll users on the single enrollment device.
- Save the faceprints database to the host.
- Send the faceprints db to the hosts of other devices.
- From the other devices, follow the host mode methods to authenticate and match using the faceprints db.
Intel Customer Support
Hello Jesus G,
Thanks for your response.
a) We are not looking to inter connect two f455 devices. We try to explain it to you by a use case scenario. Lets say we have to install 2 devices on 2 different gates of same factory : IN and OUT. What we want is that we should not have to enroll each user on both the devices separately. We should enroll on one device only and be able to push the FacePrint on to the second device. We have a centralised pc based management software to handle the template deployment on multiple devices. To explain this requirement further, as with 'Remove User' function is available where in we pass UserID to remove the user from the device memory. What we are looking for a similar function 'Add User' where we would pass UserID and FacePrint as parameters to add the user.
b) There is another issues which has come up in our development environment using Android sdk. Here we are not able to UN-Pair on the same device and use with PC. It is giving security error. Please suggest how to un-pair or do factory reset to use with a third host.
c) below given Host Mode api function are not working in Android sdk (maybe it is not fully implemented on android) :
1) Faceprints-Extraction for enrollment
2) Faceprints-Extraction for authentication
3) 'matching' function which predicts whether two faceprints belong to the same person.
a) In your scenario, the faceprints database cannot live on each F455 device. The faceprints database has to live on a host. The host is the device that your F455 directly connects to. You will use the Host Mode APIs to enroll, authenticate, and match users as you see fit from whichever device you want. In host mode, the faceprints db exists on the host and cannot be put back into the device. In this mode, you cannot use the Device Mode functions such as RemoveUser. The host, or central PC, manages the database. The examples in the SDK show that in C++, the database is of type std::map. This allows you to perform functions such as db.clear, db.size, etc. Those functions are not part of the RealSenseID SDK. In the C# example, the database is of type List.
What you will have to do is the following:
- Enroll users on the enrollment device and use ExtractFaceprintsForEnroll to add the faceprint to the db on the host.
- Use your own method to sync the updated db from the host to the central management PC.
- Use your own method to sync the db from the central management PC to the hosts of all other RealSenseID devices.
- On every other host/device pair, use ExtractFaceprintsForAuth or ExtractFaceprintsForAuthLoop to authenticate users.
- While the db lives on the central management PC, you can do whatever you want to the db, such as remove users, clear the db, find it's size, etc. Again, these functions are independent of the RealSenseID SDK. It is up to you how you want to manage that database on the central management PC.
- Your task will be to ensure each host that is connected to a RealSenseID device has a current copy of the faceprints db.
b), c) I am following up with engineering on your options regarding Android. When connecting your F455 to different devices during development, you should use the unsecured Android stack so that you can move the device from computer to computer. I am finding out for you how to unpair, if possible.
In order to help you with your Android issues, we need some information about your F455.
- The serial number of your F455, which is listed on the box.
- A screenshot of your order confirmation when you purchased the F455.
- RealSenseID SDK version.
- F455 Firmware version
Intel Customer Support
In the c# view sample there is an option in setting to go into host mode and than it loads the db .
How can I set the hostmode to true on c++?
ion other words I have a db file i wish to copy and import on another PI device running the sdk with c/c++ - how can we import the db file and update the camera memory?
Please sign in to leave a comment.