Перейти к основному содержимому
Версия: 2.8.1

Распознавание лиц и силуэтов

OMNI Agent детектирует лица и силуэты, определяет атрибуты лиц (пол, возраст, эмоции и др.), строит биометрические шаблоны, выполняет по ним поиск задетектированных лиц в базе данных и отслеживает перемещения лица и силуэта в поле зрения камер или на видеозаписях. По умолчанию синхронизация базы лиц OMNI Agent с базой лиц OMNI Platform происходит в среднем 1 раз в минуту.

img.png

Распознавание лиц

Для детекции и идентификации лиц (1:N) в OMNI Agent используются детекторы и методы распознавания Face SDK — набора библиотек для разработки решений по распознаванию лиц.

Идентификация (1:N) представляет собой процесс сравнения одного биометрического шаблона (лица) с другими шаблонами (лицами), поиск и оценку совпадений. При сравнении шаблонов лиц вычисляется разница между биометрическими признаками лиц. Результат вычислений является мерой соответствия изображений лиц и отражает вероятность их принадлежности одному человеку.

Основные настройки

примечание

Все параметры, указанные ниже, настраиваются в файле конфигурации config/run_params.json.

к сведению

Основные настройки также можно изменить через веб-интерфейс. Для этого перейдите в Настройки в правом верхнем углу веб-интерфейса OMNI Agent.

img.png

Включить / отключить распознавание лиц

Установите значение параметра enable_face_tracking:(Boolean) как true (включен) или false (отключен).

ВАЖНО

При отключении детекции лиц также отключается синхронизация с локальной базой данных лиц.

Параметры распознавания лиц

score

Параметр показывает степень схожести лиц от 0 (0%) до 1 (100%). Высокая степень схожести означает, что два биометрических шаблона принадлежат одному и тому же человеку.

Изменить значение score можно в поле desired_score (float) файла run.params.json. Значение по умолчанию — 0.876.

При указанном score значения faR и frR не учитываются при распознавании.

подсказка

Убедитесь, что значения score, указанные для OMNI Agent и OMNI Platform совпадают. В противном случае, часть активностей, сформированных из переданных процессов, не будет привязана к соответствующему профилю.

Например:

  • score, указанный на стороне OMNI Agent = 0.7
  • score, указанный на OMNI Platform = 0.85

В этом случае активности, сформированные из процессов со значением score в диапазоне [0.7, 0.85), не будут прикреплены к соответствующему профилю.

faR

False acceptance rate (FAR) — коэффициент ложной идентификации, который показывает уровень сопротивления системы ошибкам ложной идентификации. Такая ошибка возникает, когда биометрическая система определяет новое лицо как ранее распознанное. Коэффициент измеряется количеством ложных распознаваний, деленным на общее количество попыток распознавания. Изменить значение faR можно в параметре desired_far (float). По умолчанию в файле конфигурации указано значение faR, равное 1e-5.

frR

False rejection rate (FRR). В случае если система не способна распознать ранее обнаруженное лицо, происходит ложное отклонение. Коэффициент ложного отклонения показывает процент попыток распознавания с ложным отклонением. Изменить значение frR можно в параметре desired_frr (float). По умолчанию в файле конфигурации указано значение frR, равное 0.

Число кандидатов на идентификацию

Кандидат — это профиль из базы лиц, с которым произошла идентификация (лицо с подаваемого кадра и лицо из базы имеют высокую степень схожести). Число допустимых кандидатов можно указать в поле pipelines.face.video_worker_override_parameters.search_k: int. Значение по умолчанию — 3.

Включить / отключить оценку пола и возраста

Установите значение параметра pipelines.age_gender.enabled:(Boolean) как true (включен) или false (отключен).

Включить / отключить оценку эмоций

Установите значение параметра pipelines.emotions.enabled:(Boolean) как true (включен) или false (отключен).

Биометрические шаблоны

Настройка построения шаблонов

При попадании человека в кадр OMNI Agent строит биометрический шаблон по первому изображению его лица, которое проходит по установленному в системе порогу качества изображения. Генерацию шаблонов можно включить / отключить в Настройках OMNI Agent (включена по умолчанию).

Настройка числа потоков построения шаблонов

По умолчанию на генерацию биометрических шаблонов выделено 1 ядро (1 поток) процессора на 1 камеру, чего может быть недостаточно при работе OMNI Agent в многопоточном (мультикамерном) режиме. Чтобы увеличить число потоков генерации шаблонов, откройте файл конфигурации config/run_params.json и измените значение множителя масштабирования:

  • pipelines.face.processing_scale_factor: float, значение по умолчанию — 1.5.

Лучшие кадры (best shots)

Лучший кадр (best shot) — это лучшее по качеству изображение лица, взятое за определенное время нахождения человека в кадре.

Непрерывный поиск лучшего кадра

По умолчанию OMNI Agent настроен на непрерывный поиск лучшего кадра лица на протяжении всего времени нахождения человека в поле зрения камеры.

Для непрерывного поиска можно также указать временной таймаут (по умолчанию 3000 мс). Это означает, что во время нахождения человека в кадре каждые 3000 мс будет выполняться поиск нового лучшего кадра его лица.

img.png

Таким образом, при выходе человека из кадра мы получим самое качественное изображение лица за весь трек. Полученное изображение можно использовать для автоматической идентификации по базе разыскиваемых, а также для опознания свидетелями, распечатки для служб охраны, поиска в соцсетях и т.д.

img.png

Таймаут поиска лучшего кадра

Для идентификации лиц на видеопотоках с камер важно не только обеспечить точность результата, но и уложиться во время, отводимое на идентификацию в рамках пользовательских сценариев (Например, для СКУД часто необходима мгновенная идентификация, чтобы не создавать очередей перед турникетом, а для сбора аналитики посещений время на идентификацию можно не ограничивать).

При этом точность и время на идентификацию определяются временем, которое система может потратить на поиск на видеопотоке с камеры лучшего кадра лица, который и будет отправлен на идентификацию.

Здесь работает негласное правило: чем больше времени на идентификацию, тем больше кадров одного и того же лица можно получить и сравнить между собой, и выбрать их них наиболее качественный кадр, который и будет отправлен на идентификацию. А чем качественнее кадр, подаваемый на идентификацию, тем точнее результат идентификации.

Начиная с версии 2.7.0, через веб-интерфейс OMNI Agent доступна настройка времени поиска лучшего кадра. Мы рекомендуем указывать следующие временные значения в зависимости от сценария использования:

Сценарий использованияВремя поиска лучшего кадраКомментарийСКУД (биометрический терминал)0 мс Биометрический терминал, как правило, установлен так, что сразу захватывает качественное изображение лица (Подходящий к турникету человек смотрит на него сверху вниз). Благодаря этому на детекцию, поиск совпадения по базе лиц и открытие турникета при нахождении лица в списке должно уходить не более 2 сек.СКУД (камера направлена на поток людей)3000 мс Камера размещена таким образом, что лицо детектируется еще за несколько секунд до подхода человека к турникету. Это позволяет потратить больше времени на поиск лучшего кадра лица и потенциально получить более точный результат идентификации.Безопасный город3000-5000 мс Такой временной интервал позволяет потратить достаточно времени на поиск лучшего кадра лица (с учетом погодных условий, загрязнения камеры и т.д.), а значит потенциально получить более точный результат идентификации (например, чтобы избежать ложных вызовов полиции / охраны).Сбор аналитики посещений / перемещенийНе ограниченоПри сборе аналитики время на идентификацию не ограничено, т.к. в этом случае не требуется мгновенная или быстрая реакция на результат идентификации. Как правило, аналитика просматривается через определенное время после выхода человека из кадра (например, на следующий день, один раз в неделю и т.д.)

Отправка лучших кадров по вебхукам​

Для отправки лучших кадров по вебхукам включите опцию «Отправка лучших кадров по вебхукам» в Настройках веб-интерфейса OMNI Agent, либо укажите значение true для поля enable_webhook_image2jpg_conversion. Значение по умолчанию — false. Лучший кадр кодируется в base64 как jpeg изображение.

Распознавание силуэтов

Включить / отключить распознавание силуэтов

Настройка через файл конфигурации

Установите значение параметра enable_body_tracking:(Boolean) как true (включен) или false (отключен).

Чтобы исключить совпадения с низкой достоверностью, можно изменить пороговые значения достоверности детекции и сравнения тел.

  • Пороговое значение достоверности детекции тела указано в параметре detector_confidence (float) и по умолчанию равно 0,9. Диапазон значений: от 0 до 1.

  • Пороговое значение достоверности сравнения тел указано в параметре cos_reident_confidence (float) и по умолчанию равно 0,6. Диапазон значений: от -1 до 1.

Настройка через веб-интерфейс

Включить или отключить детекцию тел также можно через веб-интерфейс. Для этого нажмите на Настройки в правом верхнем углу веб-интерфейса OMNI Agent.

img.png