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

Важно

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

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

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

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

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

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

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

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

  2. Нажмите + Новый счетчик.

    counter_create_ru

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

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

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

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

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

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

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

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

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

    counter_ru

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

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

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

    counter_roi_ru

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

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

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

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

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

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

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

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

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

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

counters_monitor_ru

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

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

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

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

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

Совет

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

sudo vi /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.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,
    ...
}

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

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

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

Для просмотра записей счетчика перейдите на вкладку Счетчики. Нажмите на счетчик. Перейдите на вкладку Скриншоты .

counter_records_ru

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

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

  • Название содержит

  • ID счетчика

  • Камеры

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

  • Дистанция

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

  • Камеры

  • Дата и время

  • Считать лица

  • Считать силуэты

  • Считать транспортные средства

  • ID записи счетчика

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

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

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

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

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

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

Для настройки счетчиков откройте файл конфигурации /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.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 /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py

# deduplicate objects on multi-camera counters
 'COUNTERS_DEDUP_OPTIONS': {
     'face': {
         'enabled': False,
         'threshold': 0.714,  # model: [mango_320]
     },
     'body': {
         'enabled': False,
         'threshold': 0.65,  # model: [clio]
     },
     '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-multi-findface-multi-legacy-1.

sudo docker container restart findface-multi-findface-multi-legacy-1