Счетчики лиц, силуэтов и машин. Определение дистанции

Важно

Для подсчета человеческих силуэтов или автомобилей нужно предварительно включить детектирование силуэтов или машин.

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

Метод подсчета основан на временных срезах. Это означает, что счетчик считает лица, силуэты и машины на статических скриншотах, которые делаются с заданным интервалом. Счетчик показывает, как количество лиц и силуэтов меняется со временем.

Вы можете вести подсчет лиц/силуэтов/автомобилей на каждой отдельной камере или же совместно на всех выбранных камерах.

В этом разделе:

Создание счетчика

Для создания счетчика выполните следующие действия:

  1. Перейдите на вкладку Счетчики.

  2. Нажмите +.

    create_counter_ru

  3. Укажите имя счетчика.

  4. Выберите одну или несколько групп камер для подсчета.

    Совет

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

  5. Задайте интервал в секундах между двумя последовательными скриншотами, используемыми для подсчета лиц и силуэтов.

  6. Установите флажок Определение лиц для подсчета лиц.

  7. Установите флажок Определение силуэтов для подсчета силуэтов. Детектирование силуэтов должно быть включено.

  8. Установите флажок Определение автомобилей для подсчета автомобилей. Детектирование автомобилей должно быть включено.

  9. Установите флажок Определение дистанции для измерения расстояния между силуэтами. Данный флажок доступен в том случае, если установлен флажок Определение силуэтов.

  10. Убедитесь, что для счетчика установлен флажок Активный.

  11. Нажмите Сохранить.

    counter_ru

  12. (Опционально) Перейдите на вкладку Области интереса, чтобы задать регион отслеживания лиц и силуэтов в поле зрения камер(ы).

    counter_roi_ru

Калибровка счетчика для определения дистанции

Если включено Определение дистанции, необходимо выполнить калибровку счетчика.

Для калибровки счетчика:

  1. Попросите человека встать перед выбранной камерой в полный рост.

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

  3. Введите период калибровки счетчика (от 15 до 300 секунд) и нажмите Откалибровать счетчик.

Если нужно откалибровать счетчик для нескольких камер, выполните шаги 1-3 для каждой камеры, выбранной в поле Камеры.

Если результат калибровки вас не удовлетворил, нажмите Удалить калибровку и выполните калибровку еще раз.

График счетчика

Для того чтобы увидеть график счетчика за последние час, сутки или неделю, перейдите на вкладку График в настройках счетчика.

counter_chart_ru

Мониторинг работы счетчиков

Мониторинг работы счетчиков выполняется на вкладке Счетчики.

monitor_counters_ru

Статусы счетчиков:

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

  • Желтый: количество ошибок превышает пороговое значение.

  • Красный: количество ошибок является критическим.

  • Серый: счетчик отключен.

Совет

Вы можете настроить желтый и красный статусы на основании доли неудачных записей, а также изменить продолжительность временного окна между двумя последовательными проверками состояния счетчика. Для этого отредактируйте следующие параметры в файле конфигурации /etc/findface-security/config.py:

sudo vi /etc/findface-security/config.py

FFSECURITY = {
    ...
    # Counter health status config:
    # max percent of camera records with errors
    'MAX_COUNTER_ERROR_RECORDS': {'yellow': 0.3, 'red': 0.5},
    # time window for computing health status (in seconds)
    'COUNTER_HEALTH_STATUS_TIME_WINDOW': 30,
    ...
}

Работа с записями счетчика

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

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

Для просмотра записей счетчика перейдите на вкладку Счетчики. В соответствующей счетчику строке нажмите на любой столбец, кроме ID (ведет в настройки счетчика).

counter_records_ru

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

counter_scale_ru

Для работы с записями счетчика используйте следующие фильтры:

  • Счетчик

  • Камеры

  • Группы камер

  • Период времени

  • Количество лиц в записи

  • Количество силуэтов в записи

  • Количество автомобилей в записи

  • ID записи

  • Минимальная дистанция

  • Максимальная дистанция

  • Средняя дистанция

Настройка вебхука для счетчика

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

Настройка счетчиков

Для настройки счетчиков откройте файл конфигурации /etc/findface-security/config.py и измените следующие параметры:

  • COUNTERS_DEDUP_OPTIONS: набор опций, которые позволяют избежать дублирования объектов при подсчете в многокамерных счетчиках, т. е. ситуации, когда один и тот же объект считается на нескольких камерах одновременно, что ведет к чрезмерно завышенному результату подсчета. Для каждого типа объектов доступны две опции (face, body, car): enabled - включает дедупликацию объектов, threshold - определяет порог схожести, при котором объекты считаются дубликатами.

  • COUNTERS_SAVE_FULLFRAME определяет параметры сохранения полных кадров при работе счетчиков: always (всегда), detect - сохранять, только если были обнаружены лица, силуэты или автомобили, never (никогда).

  • COUNTERS_FULLFRAME_JPEG_QUALITY: качество JPEG полных кадров,

  • COUNTERS_THUMBNAIL_JPEG_QUALITY: качество JPEG миниатюр.

  • COUNTERS_ROI_INTERSECTION_THRESHOLD: требуемый процент пересечения между прямоугольником вокруг объекта (bbox) и областью интереса, определенной для счетчика.

sudo vi /etc/findface-security/config.py

# deduplicate objects on multi-camera counters
 'COUNTERS_DEDUP_OPTIONS': {
     'face': {
         'enabled': False,
         'threshold': 0.723,  # model: [kiwi_320]
     },
     'body': {
         'enabled': False,
         'threshold': 0.65,  # model: [andariel]
     },
     'car': {
         'enabled': False,
         'threshold': 0.65,  # model: [alonso]
     },
},
# counters full frame saving options:
# `always` - save always
# `detect` - save only if faces or bodies have been detected
# `never` - never save full frames
'COUNTERS_SAVE_FULLFRAME': 'always',
'COUNTERS_FULLFRAME_JPEG_QUALITY': 75,
'COUNTERS_THUMBNAIL_JPEG_QUALITY': 75,
# required percentage of bbox intersection with ROI
'COUNTERS_ROI_INTERSECTION_THRESHOLD': 0.75,
...

После внесения изменений обязательно перезапустите сервис findface-security.

sudo systemctl restart findface-security.service