Функциональность

Дедупликация Event’ов car face

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

Примечание

Дедупликация работает для событий со всех подключенных к системе камер.

Это означает, что в FindFace Lite вы можете установить период времени, в течение которого Event’ы с одним и тем же человеком или автомобилем будут считаться дубликатами. Система будет реагировать только на первое событие, а последующие повторяющиеся будут игнорироваться.

Возможные сценарии дупликации Event’ов

  • События с автомобилем могут дублироваться, если транспортное средство останавливается на некоторое время перед шлагбаумом, или если камера выезда распознает задний номер автомобиля, уже проехавшего через шлагбаум.

  • События с лицом могут дублироваться, если камера зафиксировала лицо человека, уже прошедшего через СКУД, который по какой-либо причине снова посмотрел в камеру.

Больше о сценариях использования сервиса читайте в статье.

Как настроить дедупликацию

  1. Откройте конфигурационный файл, расположенный в FFlite -> api_config.yml, используя один из редакторов (например, команду nano).

  2. Включите эту функциональность, установив для параметра dedup_enabled значение true.

  3. Настройте параметры сохранения для дубликатов в save_dedup_event: выберите true, чтобы сохранить дубликаты, и false, чтобы не сохранять.

  4. Задайте параметры для распознавания car – автомобилей и faces – лиц отдельно.

Параметры

Значение по умолчанию

Описание

face_dedup_confidence

0.9

Порог совпадения между двумя дублирующими Event’ами.

Если результат совпадения Event’ов равен или превышает установленное значение, событие помечается как дублирующее.

car_dedup_confidence

0.9

face_dedup_interval

5

Временной интервал в секундах, в течение которого несколько Event’ов с одним автомобилей или лицом отмечаются как дубликаты.

car_dedup_interval:

5

  1. Сохраните изменения в файле и закройте редактор.

  2. Примените новые параметры, перезагрузив сервис api. Для этого используйте команду:

docker compose restart api

Совет

Читайте подробное описание работы с конфигурационным файлом в статье.

Антиспам Event’ов car face

Антиспам Event’ов — это функциональность, которая используется для того, чтобы отличить реальный Event, подлежащий обработке, от «спамового» Event’а, зафиксированного в системе по ошибке.

Это означает, что в момент создания Event’a камеры или отправки Event’a с периферийного устройства через POST-запрос вы можете установить область обнаружения изображения и опустить ее спам-часть.

Возможные сценарии фиксации спам Event’ов

  • Event’ы с автомобилем могут считаться спам-событиями, если транспортное средство припарковано возле шлагбаума и номерной знак попадает в поле зрения видеокамеры, в таком случае без использования этой функциональности будет сгенерировано несколько Event’ов.

    Если номерной знак найден в базе данных СКУД, шлагбаум будет открыт.

  • События с лицом могут считаться спам-событиями, если человек находится рядом с камерой, но не собирается проходить через СКУД. В таком случае, если человек будет найден в базе данных СКУД, доступ на закрытую территорию будет открыт.

Больше о сценариях использования сервиса читайте в статье.

Как настроить функциональность

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

Совет

В настоящее время настройки доступны только в запросах через API

  • Чтобы настроить параметр roi для видеопотоков, используйте запросы ниже и формат WxH+X+Y для параметра roi:

    • POST /v1/cameras/ для создания объекта Camera.

    • PATCH /v1/cameras/{camera_id} для обновления объекта Camera.

{
  "name": "test cam",
  "url": "rtmp://example.com/test_cam",
  "active": true,
  "single_pass": false,
  "stream_settings": {
    "rot": "",
    "play_speed": -1,
    "disable_drops": false,
    "ffmpeg_format": "",
    "ffmpeg_params": [],
    "video_transform": "",
    "use_stream_timestamp": false,
    "start_stream_timestamp": 0,
    "detectors": {
      "face": {
        "roi": "1740x915+76+88", <<-- roi
        "jpeg_quality": 95,
        "overall_only": false,
        "filter_max_size": 8192,
        "filter_min_size": 1,
        "fullframe_use_png": false,
        "filter_min_quality": 0.45,
        "fullframe_crop_rot": false,
        "track_send_history": false,
        "track_miss_interval": 1,
        "post_best_track_frame": true,
        "post_last_track_frame": false,
        "post_first_track_frame": false,
        "realtime_post_interval": 1,
        "track_overlap_threshold": 0.25,
        "track_interpolate_bboxes": true,
        "post_best_track_normalize": true,
        "track_max_duration_frames": 0,
        "realtime_post_every_interval": false,
        "realtime_post_first_immediately": false
      }
    }
  }
}
  • Чтобы настроить параметр roi для изображений, полученных с периферийных устройств, используйте запрос ниже и формат [left, top, right, bottom] для параметра roi:

    • POST /v1/events/{object_type}/add для создания Event’а через POST-запрос.

{
  "object_type": "face",
  "token": "change_me",
  "camera": 2,
  "fullframe": "somehash.jpg",
  "rotate": true,
  "timestamp": "2000-10-31T01:30:00.000-05:00",
  "mf_selector": "biggest",
  "roi": 15,20,12,14 <<-- roi
}

Лайвнес face

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

FindFace Lite использует пассивный метод применения Лайвнес. Метод использует алгоритмы для анализа различных особенностей лица человека, таких как движение зрачков, выражение лица или наличие микродвижений, чтобы определить живого человека.

Этот метод требует меньше подготовки и использования сторонних средств, чем другие, а также:

  • не требует дополнительных действий от пользователя.

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

  • не требует дополнительного оборудования или датчиков;

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

Возможные сценарии для применения Лайвнес

Лайвнес можно использовать в следующих сценариях:

  • Банковская сфера: для подтверждения личности пользователя.

    Например, попросить пользователей показать свое лицо на камеру во время видеозвонка с банковским сотрудником, в течение которого система с использованием Лайвнес функциональности поможет удостовериться, что пользователь реален и не использует поддельное изображение.

  • Контроль доступа сотрудников: для осуществления контроля доступа к рабочему месту.

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

Как настроить Лайвнес

  1. Откройте конфигурационный файл, расположенный в FFlite -> api_config.yml, используя один из редакторов (например, команду nano).

  2. Включите эту функциональность, добавив значение liveness к параметру face_features.

  3. Настройте источник для Лайвнес в параметрах liveness_source.

  • Если источником для функциональности будет картинка (Event’ы будут создаваться через POST /{object_type}/add), установите значение eapi.

  • Если источником для обнаружения будет видеопоток (Event’ы будут создаваться в FindFace Lite автоматически после распознания из видеопотока), установите значение vw.

  1. Сохраните изменения в файле и закройте редактор.

  2. Примените новые параметры, перезагрузив сервис api. Для этого используйте команду:

docker compose restart api

Совет

Читайте подробное описание работы с конфигурационным файлом в статье.

Положение головы face

Функциональность распознавания положения головы — это возможность камеры обнаруживать и отслеживать положение и движение головы человека относительно камеры видеонаблюдения в реальном времени.

Предупреждение

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

Для распознавания положения головы в двумерном пространстве FindFace Lite использует параметры pitch and yaw.

  • Pitch — угол наклона головы вверх/вниз (т.е.относительно горизонтальной оси). Положительный pitch показывает, что голова наклонена вперед, а отрицательный указывает на наклон головы назад.

  • Yaw — угол поворота головы вправо/влево (т.е. относительно вертикальной оси). Положительный yaw указывает на то, что голова повернута направо, а отрицательный — налево.

_images/headpose.jpg

Возможные сценарии использования распознавания положения головы

Функциональность распознавания положения головы можно использовать в сценариях для улучшения точности и повышения безопасности, например:

  • Улучшение системы контроля доступа сотрудников с помощью фиксации того, что лицо сотрудника совпадает с ожидаемым положением.

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

  • Повышение комфорта сотрудников во время использования СКУД системы. Если сотрудник подходит к контрольно-пропускному пункту под неудобным углом, камера видеонаблюдения может подать сигнал системе контроля доступа, чтобы переместить камеру.

Как настроить функциональность распознавания положения головы

  1. Откройте конфигурационный файл, расположенный в FFlite -> api_config.yml, используя один из редакторов (например, команду nano).

  2. Включите эту функциональность, установив для параметра face_features* значение headpose.

  3. Сохраните изменения в файле и закройте редактор.

  4. Примените новые параметры, перезагрузив сервис api. Для этого используйте команду:

docker compose restart api

Совет

Читайте подробное описание работы с конфигурационным файлом в статье.