Документация для версии Face-Интеллект 9.0. Документация на другие версии также доступна.

Предыдущая страница Следующая страница

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

На странице:

Общие сведения о скриптах

При настройке программного комплекса Face-Интеллект с целью частичной автоматизации процессов используются пользовательские скрипты. В документе Программный комплекс Интеллект. Руководство по созданию скриптов (программирование) дано описание объектов и методов программирования, необходимых для разработки скриптов в программном комплексе Интеллект.

Скрипт для верификации лиц 

Режим верификации по команде сравнивает захваченное лицо в кадре с фотографией пользователя, которая хранится на диске по адресу: <Директория установки ПК Интеллект>\Bmp\<Person>, а также определяет параметры лица: эмоции, температуру, сокрытие лица (маску), пол, растительность на лице.

Для верификации лица необходимо выполнить следующее:

  1. Создать скрипт:

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

    Параметры:

    • 1 –  идентификатор объекта Сервер распознавания лиц;
    • VERIFY_START – команда верификации пользователя;
    • cam_id<1> – идентификатор камеры. В случае, если используется модуль распознавания лиц VisionLabs, то вместо идентификатора камеры необходимо указать идентификатор объекта Детектор лиц.
    • p_id<15> –  имя файла с фото в папке <Директория установки ПК Интеллект>\Bmp\<Person> без разрешения (например, 15 для файла 15.bmp);
    • wait<10> –  время ожидания появления лица в секундах.
  2. Выполнить первую макрокоманду. Если в течение 10 секунд перед камерой не появится пользователь с фотографии, то будет отображено событие Верификация отклонена. В случае, если пользователь появился, то сразу после его появления будет выведено событие Успешная верификация с выводом процента схожести захваченного лица с фотографией пользователя, которая хранится на диске.
    Пример успешной верификации с выводом процента схожести захваченного лица с фотографией пользователя, а также его пола, температуры тела, наличия растительности на лице, сокрытия лица и эмоций:

    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>


    Пример события, когда фотография не соответствует верифицируемому лицу:

    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>

    Пример события, когда у пользователя нет фотографии:

    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>

Верификация лица завершена.

Внимание!

Файл с фотографией должен иметь расширение .bmp. При этом формат файла может быть любым из списка: JPG, BMP, PNG.

Скрипт для добавления эталонного лица в базу данных из файла

Добавлять эталонное лицо в базу данных при наличии файла с фотографией можно с помощью реакции ADD_PERSON_FROM_FILE объекта FIRSERVER.

Примечание.

При добавлении эталонного лица в базу данных в ПК Face-Интеллект автоматически создается новый пользователь и ему назначается фотография из заданного файла.

Параметры:

  • filename – полное имя файла с фотографией. Допускаются файлы с расширением JPG, BMP, GIF, PNG.
  • name – имя добавляемого пользователя.
  • surname – фамилия добавляемого пользователя.
  • department – отдел, в который будет добавлен пользователь.
  • comment – комментарий.

Пример использования данной реакции приведен ниже.

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<>");
}

В случае успешного добавления эталонного лица в базу данных в Отладочном окне будет отображено событие ADD_PERSON_FROM_FILE_OK. В случае ошибки при добавлении эталонного лица отображается событие ADD_PERSON_FROM_FILE_ERROR (см. События FIRSERVER).

Скрипт для проверки качества сохраненной фотографии одного пользователя 

Проверить качество сохраненной фотографии пользователя можно с помощью команды CHECK_QUALITY_START, для этого:

  1. Создать скрипт:

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

    Параметры:

    • 1 –  идентификатор объекта Сервер распознавания лиц;
    • CHECK_QUALITY_START – команда проверки качества сохраненной фотографии пользователя;
    • p_id<1> – идентификатор пользователя, чью фотографию нужно проверить.
  2. Запустить первую макрокоманду. 
    Если качество фото выше минимального качества лица на сервере распознавания лица, то выдается событие следующего вида:

    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>

    Если качество фото ниже минимального качества лица на сервере распознавания лица, то выдается событие следующего вида:

    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>

    Если фото отсутствует, то выдается событие следующего вида:

    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. При успешной проверке качества фотографии можно провести верификацию пользователя (скрипт для верификации пользователя см. выше). При обнаружении фотографии низкого качества пользователь будет отмечен, чтобы найти его в Бюро пропусков и заменить фотографию.

    Примечание

    Если качество фотографии выше, чем качество лица, заданное на объекте Сервер распознавания лиц, то это еще не гарантирует, что верификация будет проходить корректно в 100% случаев. Результат верификации зависит от расположения и настройки камеры, от освещения лица, ракурса и прочих производных. Рекомендуем задавать Уровень схожести на панели настройки Сервер распознавания лиц не выше 50% и корректировать опытным путем для достижения желаемого результата.

Скрипт для распознавания по запросу для определенной камеры 

Распознать лицо по запросу для определенной камеры можно с помощью команды QUERY_RECOGNIZE_START. 

Доступно только для модулей распознавания Tevian и VisionLabs.

Пример отправки запроса для распознавания лица по одной из нескольких видеокамер приведен ниже.

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

       Параметры:

  • 1 – идентификатор объекта Сервер распознавания лиц;
  • QUERY_RECOGNIZE_START – команда распознавания лица по запросу;
  • from_script<1>, cam_facecapture<3,1> – идентификатор скрипта, Детектор лиц<идентификатор объекта Детектор лиц>.

В случае успешного распознавания лица по запросу в Отладочном окне будет отображено событие Face detected.

  • No labels