Documentation for Face PSIM 1.0.1.

Previous page FIRSERVER events  Appendix 4. Description of the utilities for working with Face PSIM software Next page

On the page:

General information about scripts

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 are used for scripts creation in Axxon PSIM.

Script for faces verification

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, facial hair.

To perform face verification, do the following:

  1. Create the script:

    if(Event.SourceType == "MACRO" && Event.Action == "RUN" && Event.SourceID == "1")
    {
       DoReactStr("FIRSERVER","1","VERIFY_START","cam_id<1>,p_id<15>,wait<10>");
    }

    Parameters:

    • 1—the identifier of the Face recognition server object;
    • VERIFY_START—user verification command;
    • cam_id<1>—camera identifier. If you use the VisionLabs face recognition module, instead of the camera identifier, specify the identifier of the Face detection object; 
    • p_id<15>—the name of the file with a photo in the <Axxon PSIM installation folder>\Bmp\<Person> folder without resolution (for example, 15 for the 15.bmp file);
    • wait<10>—the waiting time in seconds for the face to appear.
  2. 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:

    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:

    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:

    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.

Attention!

File with a photo must have the .bmp extension. But the file format can be one from the list: JPG, BMP, or PNG.

Script for adding a reference face to the database from a file

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.

Note

When you add a reference face to the Face PSIM database, a new user is automatically created and assigned a photo from the specified file.

Parameters:

  • filename—full name of the file with the photo. Files with the JPG, BMP, GIF, PNG extension are acceptable;
  • namethe name of the added user;
  • surnamethe surname of the added user;
  • departmentthe department to which the user will be added;
  • comment—any text commentary.

Example of the script usage:

if(Event.SourceType == "MACRO" && Event.Action == "RUN" && Event.SourceID == "1")
{
   DoReactStr("FIRSERVER","1","ADD_PERSON_FROM_FILE","filename<c:\\iso_small.jpg>,name<Jane>,surname<Kramer>,department<Department 1>,comment<>");
}

If the face was successfully added to the reference face database, the ADD_PERSON_FROM_FILE_OK event will be displayed in the Debug window. If there are any errors when adding the reference face, the ADD_PERSON_FROM_FILE_ERROR event will be displayed (see FIRSERVER events).

Script for checking the quality of a saved user photo

You can check the quality of a saved user photo using the CHECK_QUALITY_START command:

  1. Create the script:

    if(Event.SourceType == "MACRO" && Event.Action == "RUN" && Event.SourceID == "1")
    {
    DoReactStr("FIRSERVER","1","CHECK_QUALITY_START","p_id<1>");
    }

    Parameters:

      • 1—the identifier of the Face recognition server object;
      • CHECK_QUALITY_START—the command for checking the quality of a saved user photo;
      • p_id<1>—the identifier of the user whose photo must be checked. 
  2. Run the first macro.

    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:

    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:

    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:

    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>
  3. 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.

    Note

    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.

Script for recognition upon request for a specific camera

You can recognize a face for a specific camera using the QUERY_RECOGNIZE_START command.

Face recognition upon request is only available for VA and VisioLabs modules.

Example of sending a request to recognize a face from one of several cameras is shown below.

if (Event.SourceType == "CAM" && Event.SourceId == "3" && Event.Action == "MD_START")
{
DoReactStr("FIRSERVER","1","QUERY_RECOGNIZE_START","from_script<1>,cam_facecapture<3.1>");
}

Parameters:

  • 1—the identifier of the Face recognition server object;
  • QUERY_RECOGNIZE_START—command to recognize a face upon request;
  • from_script<1>, cam_facecapture<3,1>—the identifier of the script, Face Detection<identifier of the Face Detection object>.

If face was successfully recognized upon request, the Face detected event is displayed in the Debug window.

  • No labels