There are IR-based authentication devices and RGB-based visual face authentication devices for face authentication devices.
IR-based devices include FaceStation 2 and FaceLite.
RGB-based visual face authentication devices include FaceStation F2, BioStation 3, BioEntry W3, etc.
There are some differences between these two types.
|
|
IR-based authentication devices |
RGB-based visual face authentication devices |
FaceData |
flag |
BS2_FACE_FLAG_NONE |
BS2_FACE_FLAG_WARPED / BS2_FACE_FLAG_EX / BS2_FACE_FLAG_TEMPLATE_ONLY |
|
templates |
Maximum 30 |
Maximum 10 |
|
imageData |
Visual Image |
Visual Image |
|
irTemplates |
Not Used |
Maximum 10 |
|
irImageData |
Not Used |
IR Image |
Auth Group |
|
Supported |
Not Supported |
Scan
enum FaceFlag {
BS2_FACE_FLAG_NONE = 0x00;
BS2_FACE_FLAG_WARPED = 0x01;
BS2_FACE_FLAG_TEMPLATE_ONLY = 0x20;
BS2_FACE_FLAG_EX = 0x100;
}
message FaceData {
int32 index;
uint32 flag;
repeated bytes templates; // When BS2_FACE_FLAG_TEMPLATE_ONLY, only templates is used.
bytes imageData;
// only for RGB-Based Visual Face Authentication Device (flag & BS2_FACE_FLAG_EX is true)
repeated bytes irTemplates;
bytes irImageData;
}
- index
- Can be used for managing face data in your applications. Not used by the device.
- flag
- If BS2_FACE_FLAG_EX is set, it means that the face data is acquired by RGB-based visual face authentication devices. And, the data will include irTemplates and irImageData. Otherwise, it is from IR-based authentication devices, and there will be neither irTemplates nor irImageData. BS2_FACE_FLAG_WARPED indicates that the image has been normalized.
[+ 1.7.1] When registered users, The BS2_FACE_FLAG_TEMPLATE_ONLY flag is supported so that only templates can be transmitted.
Templates are specified via the templates field.
Basically, the IR-based face recognition device (FaceStation 2, FaceLite) is very different from the visual camera-based face recognition device (FaceStation F2, BioStation 3) in its method.
G-SDK’s FaceData message structure is a single structure designed to transmit face data to both IR-based and visual camera-based devices of different styles.
This does not mean that template mixing is supported.
For example, you can set FaceStation 2 face data in the FaceData message and send it to FaceStation 2 or FaceLite.
That data cannot be transferred to BioStation 3 and used as is.
- templates
- Maximum 30 face templates can be returned from IR-based authentication devices. For RGB-based visual face authentication devices, the maximum number is 10.
[+ 1.7.1] You can register users with only templates by setting templates with the BS2_FACE_FLAG_TEMPLATE_ONLY flag.
- imageData
- A BMP image of the face will be returned.
- irTemplates
- Maximum 10 IR templates can be returned from RGB-based visual face authentication devices.
- irImageData
- An IR image of the face will be returned.
enum FaceEnrollThreshold {
BS2_FACE_ENROLL_THRESHOLD_0 = 0x00;
BS2_FACE_ENROLL_THRESHOLD_1 = 0x01;
BS2_FACE_ENROLL_THRESHOLD_2 = 0x02;
BS2_FACE_ENROLL_THRESHOLD_3 = 0x03;
BS2_FACE_ENROLL_THRESHOLD_4 = 0x04;
BS2_FACE_ENROLL_THRESHOLD_5 = 0x05;
BS2_FACE_ENROLL_THRESHOLD_6 = 0x06;
BS2_FACE_ENROLL_THRESHOLD_7 = 0x07;
BS2_FACE_ENROLL_THRESHOLD_8 = 0x08;
BS2_FACE_ENROLL_THRESHOLD_9 = 0x09;
}
- BS2_FACE_ENROLL_THRESHOLD_0
- The least strict threshold.
- BS2_FACE_ENROLL_THRESHOLD_4
- The default.
- BS2_FACE_ENROLL_THRESHOLD_9
- The most strict threshold.
Scan
Scan a face and get its template data. With higher enrollThreshold, you can get face templates with better qualities. However, it will take more time to scan a face.
Parameter |
Type |
Description |
deviceID |
uint32 |
The ID of the device |
enrollThreshold |
FaceEnrollThreshold |
The strictness of face enrollment |
Parameter |
Type |
Description |
faceData |
FaceData |
The scanned face data |
Extract face templates from normalized images.
It can be used to write a face template on a smart card.
Only supported by FaceStation F2 and BioStation 3. If the image file is not acquired by FaceStation F2 or BioStation 3, the image data should be in JPG or PNG file format.
Parameter |
Type |
Description |
deviceID |
uint32 |
The ID of the device |
imageData |
byte[] |
If the image file is acquired by FaceStation F2 or BioStation 3, it will be in BMP file format. Otherwise, only JPG file format is supported. |
isWarped |
bool |
If the image file is acquired by FaceStation F2 or BioStation 3, it should be true. Otherwise, it should be false. |
Parameter |
Type |
Description |
templateData |
byte[] |
The template data extracted from the image |
Normalize
Extract warped images from unwarped images.
Parameter |
Type |
Description |
deviceID |
uint32 |
The ID of the device |
unwrappedImageData |
byte[] |
Unwarped image data. |
Parameter |
Type |
Description |
wrappedImageData |
byte[] |
Warped image data. |
Config
The default values would be good for most cases. Since some of these parameters could have a bad effect on the authentication performance, read the descriptions carefully before changing them.
message FaceConfig {
FaceSecurityLevel securityLevel;
FaceLightCondition lightCondition;
FaceEnrollThreshold enrollThreshold;
FaceDetectSensitivity detectSensitivity;
uint32 enrollTimeout;
FaceLFDLevel LFDLevel;
bool quickEnrollment;
FacePreviewOption previewOption;
bool checkDuplicate;
FaceOperationMode operationMode;
uint32 maxRotation;
uint32 faceWidthMin;
uint32 faceWidthMax;
uint32 searchRangeX;
uint32 searchRangeWidth;
uint32 detectDistanceMin;
uint32 detectDistanceMax;
bool wideSearch;
bool unableToSaveImageOfVisualFace;
}
- securityLevel
- With more secure levels, False Acceptance Ratio(FAR) would get lower. However, False Rejection Ratio(FRR) would become higher. The default is BS2_FACE_SECURITY_NORMAL.
- lightCondition
- The lighting condition could have a big effect on the authentication performance. The default is BS2_FACE_LIGHT_CONDITION_INDOOR.
- enrollThreshold
- The strictness of face enrollment. The default is BS2_FACE_ENROLL_THRESHOLD_4.
- detectSensitivity
- Face authentication starts automatically after detecting a face. This parameter specifies the sensitivity of detecting faces. The default is BS2_FACE_DETECT_SENSITIVITY_MIDDLE.
- enrollTimeout
- Timeout in seconds for enrolling a face. The default is 60 seconds.
- LFDLevel
- Configuration for the LFD(Live Face Detection - fake face detection) sensitivity.
Device Type |
Default |
IR-Based Face Authentication Device |
0 |
RGB-Based Visual Face Authentication Device |
1 |
Value |
Description |
0 |
Not use |
1 |
Strict |
2 |
More Strict |
3 |
Most Strict |
- quickEnrollment
- Quick face enrollment process. Please use false if you want to enroll with a high quality of face templates.
Value |
Description |
true |
Face enrollment process with a single step |
false |
Face enrollment process with 3 steps |
- previewOption
- IR camera preview option when you authenticate with the face.
Only used to FaceLite.
Value |
Description |
0 |
Preview not used |
1 |
Preview not used at first of authentication, preview at 1/2 stage |
2 |
Preview of all stages on authentication |
- checkDuplicate
- Check whether the scanned face is duplicated in the device.
operationMode
- FaceStation F2 V1.0.0 can be set to the following operation modes, default is Fusion mode.
Value |
Mode |
Description |
Default |
0 |
Fusion Mode |
Visual matching + IR matching |
Default |
1 |
Visual Mode |
Visual matching |
|
2 |
Visual + IR |
Visual matching, IR detects only face |
|
- FaceStation F2 V1.0.1 or later versions, RGB-Based Visual Face Authentication Device are used in the following sense.
Value |
Mode |
Description |
Default |
0 |
Fusion Mode Visual matching + IR matching |
Default |
|
1 |
Fast Mode Visual matching |
|
|
- maxRotation
- RGB-Based Visual Face Authentication Device
When face is recognized normally it’s front side.
Still, it is possible to determine how many degrees the image has been rotated from the front when device detects a face.
This enables detection failure in the case of images rotated over a certain angle.
maxRotation represents the maximum allowable value in this case, and the default value is 15 degrees.
Definition |
Value |
BS2_MAX_ROTATION_DEFAULT |
15 |
BS2_MAX_ROTATION_ANGLE_15 |
15 |
BS2_MAX_ROTATION_ANGLE_30 |
30 |
BS2_MAX_ROTATION_ANGLE_45 |
45 |
BS2_MAX_ROTATION_ANGLE_60 |
60 |
BS2_MAX_ROTATION_ANGLE_75 |
75 |
BS2_MAX_ROTATION_ANGLE_90 |
90 |
BS2_MAX_ROTATION_ANGLE_MAX |
90 |
- faceWidthMin
- Not used. Replaced by detectDistanceMin.
- faceWidthMax
- Not used. Replaced by detectDistanceMax.
- searchRangeX
- Not used. Replaced by wideSearch.
- searchRangeWidth
- Not used. Replaced by wideSearch.
- detectDistance (detectDistanceMin, detectDistanceMax)
- RGB-Based Visual Face Authentication Device
This configures the minimum and maximun detection range for facial recognition.
We no longer support faceWidth to pinpoint the face location using pixel units due to its complexity.
Instead, we set the detection range of the subject(face). The unit is set to cm, and the value must be inputted as a multiple of 10.
Type |
Min limit for min detection range |
Max limit for min detection range |
Min detection range(Default) |
Min limit for max detection range |
Max limit for max detection range |
Max sensing range(No limit) |
Max sensing range(Default) |
FSF2 |
30 |
130 |
30 |
40 |
130 |
255 |
130 |
BS3 |
30 |
100 |
30 |
40 |
100 |
255 |
100 |
BEW3 |
30 |
100 |
30 |
40 |
100 |
255 |
100 |
- detectDistanceMin
- The minimum detection range for facial recognition.
- detectDistanceMax
- The maximum detection range for facial recognition.
- wideSearch
- RGB-Based Visual Face Authentication Device except FSF2
This can increase the detection range for face detection.
We no longer support searchRange to set the x-coordinate and width due to its complexity.
Instead, we set the face detection setting as default(FALSE), or a wide area(TRUE).
The details of the settings and protocols for the detection of wide area is set within the device, which the user cannot change.
If this setting is set to TRUE, the camera detects subjects within a large range, and unintentionally detect and authenticate multiple subjects at once.
Therefore, the default setting is at FALSE.
- unableToSaveImageOfVisualFace
- [+ 1.7.1] Indicates whether devices that use visual face as a credential will store facial images on the device.
Enabling this setting will immediately delete image information from all user’s facial data stored in the device, leaving only the templates.
Additionally, even if face information containing user images is obtained through the User.Enroll API, the device will ignore it.
The default value is false, which means both facial data and images are stored.
enum FaceSecurityLevel {
BS2_FACE_SECURITY_NORMAL = 0x00;
BS2_FACE_SECURITY_SECURE = 0x01;
BS2_FACE_SECURITY_MORE_SECURE = 0x02;
}
enum FaceLightCondition {
BS2_FACE_LIGHT_CONDITION_INDOOR = 0x00;
BS2_FACE_LIGHT_CONDITION_OUTDOOR = 0x01;
BS2_FACE_LIGHT_CONDITION_AUTO = 0x02;
BS2_FACE_LIGHT_CONDITION_DARK = 0x03;
}
enum FaceDetectSensitivity {
BS2_FACE_DETECT_SENSITIVITY_OFF = 0x00;
BS2_FACE_DETECT_SENSITIVITY_LOW = 0x01;
BS2_FACE_DETECT_SENSITIVITY_MIDDLE = 0x02;
BS2_FACE_DETECT_SENSITIVITY_HIGH = 0x03;
}
GetConfig
Get the face configuration of a device.
Parameter |
Type |
Description |
deviceID |
uint32 |
The ID of the device |
Parameter |
Type |
Description |
config |
FaceConfig |
The face configuration of the device |
SetConfig
Change the face configuration of a device.
Parameter |
Type |
Description |
deviceID |
uint32 |
The ID of the device |
config |
FaceConfig |
The face configuration to be written to the device |
SetConfigMulti
Change the face configurations of multiple devices.
Parameter |
Type |
Description |
deviceIDs |
uint32[] |
The IDs of the devices |
config |
FaceConfig |
The face configuration to be written to the devices |
Auth group
The more the number of face templates, the higher the False Acceptance Ratio(FAR). To lower this error, you can divide users into several groups, and try face authentication in a specific group only. To use this feature, you have to do the followings.
Authentication groups are not supported by FaceStation F2 and BioStation 3.
message AuthGroup {
uint32 ID;
string name;
}
GetAuthGroup
Get the list of authentication groups stored in a device.
Parameter |
Type |
Description |
deviceID |
uint32 |
The ID of the device |
Parameter |
Type |
Description |
authGroups |
AuthGroup[] |
The authentication groups stored in the device |
AddAuthGroup
Add authentication groups to a device.
Parameter |
Type |
Description |
deviceID |
uint32 |
The ID of the device |
authGroups |
AuthGroup[] |
The authentication groups to be added to the device |
AddAuthGroupMulti
Add authentication groups to multiple devices.
Parameter |
Type |
Description |
deviceIDs |
uint32[] |
The IDs of the devices |
authGroups |
AuthGroup[] |
The authentication groups to be added to the devices |
DeleteAuthGroup
Delete authentication groups from a device.
Parameter |
Type |
Description |
deviceID |
uint32 |
The ID of the device |
groupIDs |
uint32[] |
The IDs of the groups to be deleted from the device |
DeleteAuthGroupMulti
Delete authentication groups from multiple devices.
Parameter |
Type |
Description |
deviceIDs |
uint32[] |
The IDs of the devices |
groupIDs |
uint32[] |
The IDs of the groups to be deleted from the devices |
DeleteAllAuthGroup
Delete all authentication groups from a device.
Parameter |
Type |
Description |
deviceID |
uint32 |
The ID of the device |
DeleteAllAuthGroupMulti
Delete all authentication groups from multiple devices.
Parameter |
Type |
Description |
deviceIDs |
uint32[] |
The IDs of the devices |