Go to documentation repository
...
You can use custom scripts for partial automation of processes when configuring Face PSIM. In the Guide for creating scripts (programming) document , there is a description of programming objects and methods which that are used for scripts script creation in Axxon PSIM.
...
The verification mode compares the face captured in the frame with the user photo stored on the disk at <Axxon PSIM installation folder>\Bmp\<Person>. It also determines the face parameters: emotions, temperature, face concealment (mask), gender, and facial hair.
To perform face verification, do the following:
Create the script:
| Code Block |
|---|
if(Event.SourceType == "MACRO" && Event.Action == "RUN" && Event.SourceID == "1")
{
DoReactStr("FIRSERVER","1","VERIFY_START","cam_id<1>,p_id<15>,wait<10>,firstRecognition<1>");
} |
Parameters:
Run the first macro. If the user from the photo does not appear in front of the camera in 10 seconds, the Verification declined event will be displayed. In case the user appears, the Successful verification event will be displayed immediately, showing the similarity percentage of the captured face with the user photo stored on the disk.
Example of a successful verification with output of the similarity percentage of a captured face to the user's photo, as well as the user's gender, body temperature, facial hair, evasion, and emotions:
| Code Block |
|---|
Event : FIRSERVER|1|IDENTIFY_ACCEPT|temperature_alarm <37>, imageBase64.0<>, emotion<neutral>,fraction<285>,int_obj_id<1>,temperature<36,6>,evasion<normal>,owner<PC>,gender<male>,
sim<99.60>,facialHair<gm>,date<11-10-21>,from_script<1>,guid_pk<{1CCF1800-772A-EC11-94B6-D8BBC1166DF4}>,core_global<1>,p_id<11176>,wait<10>,cam_id<13>,time<12:38:42>,param0<Timeout>,
imageBase64Count<1>, liveness<not_liveness> |
Example of an event when a photo doesn't match the face being verified:
| Code Block |
|---|
Event : FIRSERVER|1|IDENTIFY_DECLINE|temperature_alarm<>,fraction<371>,int_obj_id<1>,owner<PC>,noImage<0>,date<10-02-22>,from_script<1>,
guid_pk<{51A469CC-438A-EC11-94E5-D8BBC1166DF4}>,timeout<1>,core_global<1>,p_id<1>,quality<83.864>,wait<10>,cam_id<2>,time<10:34:01>,param0<Timeout> |
Example of an event when a user doesn't have a photo:
| Code Block |
|---|
Event : FIRSERVER|1|IDENTIFY_DECLINE|temperature_alarm<>,fraction<367>,int_obj_id<1>,owner<PC>,noImage<1>,date<10-02-22>,from_script<1>,
guid_pk<{B314D117-458A-EC11-94E5-D8BBC1166DF4}>,timeout<1>,core_global<1>,p_id<4>,quality<0>,wait<10>,cam_id<2>,time<10:43:14>,param0<Timeout> |
The face verification is completed.
| Note | ||
|---|---|---|
| ||
File A file with a photo must have the .bmp extension. But the file format can be one from the list: JPG, BMP, or PNG. |
A You can add a reference face can be added to the database from a file with a photo using the ADD_PERSON_FROM_FILE reaction of the FIRSERVER object.
...
...
Create the script:
| Code Block |
|---|
if(Event.SourceType == "MACRO" && Event.Action == "RUN" && Event.SourceID == "1")
{
DoReactStr("FIRSERVER","1","CHECK_QUALITY_START","p_id<1>");
} |
Parameters:
If the quality of the photo is higher than the minimum quality of the face on the face recognition server, the following event is generated:
| Code Block |
|---|
Event : FIRSERVER|1|QUALITY_OK|fraction<413>,int_obj_id<1>,owner<PC>,date<08-02-22>,guid_pk<{11DB55C9-F188-EC11-94E4-D8BBC1166DF4}>,
core_global<1>,p_id<3>,time<18:14:24>,param0<92.4644> |
If the quality of the photo is lower than the minimum quality of the face on the face recognition server, the following event is generated:
| Code Block |
|---|
Event : FIRSERVER|1|QUALITY_BAD|fraction<281>,int_obj_id<1>,owner<PC>,date<08-02-22>,guid_pk<{0742EBE0-F288-EC11-94E4-D8BBC1166DF4}>,
core_global<1>,p_id<3>,time<18:22:12>,param0<92.4644> |
If there is no photo, the following event is generated:
| Code Block |
|---|
Event : FIRSERVER|1|QUALITY_BAD|fraction<517>,int_obj_id<1>,owner<PC>,date<24-02-22>,guid_pk<{1C9609E4-7795-EC11-A50D-74D435D0E19B}>,
core_global<1>,p_id<3>,time<17:44:34>,param0<0> |
If the photo quality is successfully checked, the user can also be verified (see the script for user verification above). If a photo of a low quality is detected, the user will be marked to find them in the Access Manager and replace the photo.
| Info | ||
|---|---|---|
| ||
If the photo quality is higher than the quality of the face, set on the Face recognition server object, it doesn’t guarantee that the verification will be performed correctly 100% of the time. The verification result depends on the position and settings of the camera, on the lighting of the face, the camera angle, and other derivatives. It is recommended to set the Similarity level on the Face recognition server settings panel to no higher than 50% and adjust it on a trial basis to get the required result. |
...
If the face was successfully recognized upon request, the Face detected event is displayed in the Debug window.