Распознавание персон

FindFace Security может автоматически распознавать лица одного и того же человека (персоны) и кластеризовать их. В этом случае в системных базах данных появляется сущность «person event» (событие появления персоны), связанная со всеми эпизодами, в которых фигурировало лицо той или иной персоны. Работа с галереей персон производится на вкладке Персоны.

Важно

По умолчанию кластеризация персон отключена. Включите и настройте ее через файл конфигурации findface-security.

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

Методы кластеризации

FindFace Security использует следующие методы группировки лиц, принадлежащих одному и тому же человеку:

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

    Примечание

    Технические детали заключаются в следующем. Не каждый эпизод является подходящим: число событий в нем должно быть равно или больше значения параметра PERSON_EVENT_MIN_EPISODE_EVENTS (задается через файл конфигурации findface-security). Если эпизод соответствует данному требованию, система выбирает событие наилучшего качества и выполняет следующие операции:

    • Создает новую сущность PersonEvent в основной базе данных PostgreSQL. Сущность содержит метаданные события, биометрический образец и миниатюру лица, а также ссылку на родительский эпизод.
    • Выполняет поиск похожего центроида лица в галерее person_events биометрической базы данных Tarantool. Центроид лица — это виртуальный биометрический образец, усредненный по всем обнаруженным лицам персоны. Если похожий центроид найден, система обновляет его, используя биометрический образец из нового события. В противном случае создается новый центроид.
  • Кластеризация по расписанию. Мы рекомендуем планировать ее на поздние ночные часы, так как процесс занимает много времени и ресурсов.

    Примечание

    Расписание задается в формате RRULE в параметре PERSONS_CLUSTERIZATION_SCHEDULE файла конфигурации findface-security. В остальном техническая реализация напоминает динамический метод. Однако качество центроида лица при кластеризации по расписанию лучше, поскольку в этом случае центроиды усредняются по большему массиву накопленных биометрических образцов.

    Важно

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

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

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

sudo vi /etc/ffsecurity/config.py

...
SERVICES = {
    "ffsecurity": {
        ...
        "persons": True,
    }
...

В результате в веб-интерфейсе FindFace Security появится вкладка Персоны.

В том же файле конфигурации можно изменить следующие параметры:

  • PERSON_EVENT_MIN_QUALITY: минимальное качество лиц, используемых в кластеризации персон.

  • PERSON_EVENT_MIN_EPISODE_EVENTS: минимальное количество событий в эпизодах, участвующих в кластеризации персон.

  • PERSONS_CONFIDENCE_THRESHOLD: пороговая степень схожести для принятия решения о принадлежности лица персоне.

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

    Перед изменением данного параметра проконсультируйтесь с нашими специалистами по адресу support@ntechlab.com.

  • PERSONS_CLUSTERIZATION_SCHEDULE: рекуррентное правило (RRULE), задающее расписание плановой кластеризации персон.

    Совет

    См. калькулятор RRULE.

# -- Persons configuration --
# rrule (recurrence rule) for scheduling persons clusterization
'PERSONS_CLUSTERIZATION_SCHEDULE': 'RRULE:FREQ=DAILY;INTERVAL=1;WKST=MO;BYHOUR=0;BYMINUTE=0',
# face to person matching confidence threshold
'PERSONS_CONFIDENCE_THRESHOLD': 0.739,
# minimum face quality for handle face in person service
'PERSON_EVENT_MIN_QUALITY': -2,