Affected FW Version: FaceStation F2 v1.1.0, v.1.1.1, v1.1.2, v.1.1.3

When transmitting FaceStation F2 to the user through SDK,
If you send only BS2 FaceEx's template EX, not all data in BS2 FaceEx, the problem occurs.



SDK Error: 
Name
Error Code
Description
SDK results-759
BS_SDK_ERROR_NO_FACE_CREDENTIAL = -759


Below version of FaceStation F2 firmware go through the process of extracting template with the imageData in the struct BS2FaceEx to be compatible with the enhanced Face Recognition Algorithm.


- v1.1.0, v.1.1.1, v1.1.2, v.1.1.3


Therefore, if the data in the struct BS2FaceEx including image data is not transmitted properly, user face enrollment is not possible because there is no template to extract by the device firmware.


We highly recommend you considering the structure of BioStar 2 Device SDK and the firmware before starting the BioStar 2 Device SDK development.


Reference manual: 

http://kb.supremainc.com/bs2sdk./doku.php?id=en:face_api#bs2faceex 


BS2FaceEx 
typedef struct { uint8_t faceIndex; uint8_t numOfTemplate; uint8_t flag; uint8_t reserved; uint32_t imageLen; union { struct { uint16_t irImageLen; uint8_t unused[6]; ///< 6 bytes (packing)



uint8_t imageData[BS2_MAX_WARPED_IMAGE_LENGTH]; ///< 40 * 1024 bytes uint8_t irImageData[BS2_MAX_WARPED_IR_IMAGE_LENGTH]; ///< 30 * 1024 bytes BS2TemplateEx templateEx[BS2_MAX_TEMPLATES_PER_FACE_EX]; ///< 20 * 556 bytes }; uint8_t *rawImageData;



}; } BS2FaceEx;


If you did not have the existing imageData of the users in your database system, there are alternative ways as follows.


[Making the user wrapped image data]


Please note that the template from v1.0.5 is not compatible with the template from v1.1.x or 2.x.x.


the 1.0.5 or lower version


1) Enable Image log and active it with the user authentication success


2) Request to authenticate the user to store the image log data accordingly


3) Get the image log data with the user IDs


3-1) Manage the Image log data in your application


with v1.1.1 device


4) Call BS2_GetNormalizedImageFaceEx while the device v1.1.1 is connecting 

http://kb.supremainc.com/bs2sdk/doku.php?id=en:bs2_getnormalizedimagefaceex


5) Get the warped image with the above function


6) Update the warped image data to your system in accordance with the user IDs


[Making the newly updated user face template data with user re-enrollment]


If you do not want to store the wrapped image data on the database due to your company policy, then, you can re-enroll the user face information with v2.x.x firmware.


1) Call BS2_ScanFaceEx to scan the user face through the camera of connected FaceStation F2 in BioStar 2 Device SDK


2) Store the extracted user face template to your system


3) Call BS2_EnrollUserFaceEx to enroll the newly updated user data


Please consider your project extension and follow the proper way.


For more questions on this subject, please feel free to contact Suprema team.