Документация Flussonic Watcher

Содержание

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

Система Flussonic Watcher имеет возможность распознавания человеческих лиц. Данная возможность применяется для решения различных задач:

  • Организация прохода без прикладывания карты в системе контроля доступа
  • Учет рабочего времени сотрудников
  • Учет входящего/выходящего трафика людей
  • Автоматическая идентификация или верификация персон при выполнении различных действий

Содержание:

Вначале необходимо установить модуль видеоаналитики.

Установка модуля видеоаналитики

Функции видеоаналитики работают как в одиночной установке Flussonic вместе с Watcher, так и в кластере.

Важно. Необходимы Flussonic Media Server и Flussonic Watcher. В кластерной установке система распознавания работает на транслирующем сервере (стримере), где уже должен быть установлен Flussonic Media Server. В одиночной установке система распознавания требует установленного Flussonic Watcher вместе с Flussonic Media Server.

Распознавание номеров и лиц происходит на транслирующем сервере (в кластерной установке) или на управляющем сервере (в обычной установке). К серверу нужно подключить камеру, с которой вы хотите распознавать номера или лица. Необходимо, чтобы сервер имел минимум одну производительную видеокарту NVIDIA GPU, у которой не менее 6 Гб видеопамяти.

Требования к системе, на которой будет работать видеоаналитика

  • ОС: x64 Ubuntu 16.04, 18.04, 20.04
  • GPU: Nvidia (Pascal) от 6 Гб VRAM (более точные рекомендации мы можем дать только для конкретного проекта).
  • Процессор: не менее 4-х ядер.
  • Память: не менее 8 ГБ ОЗУ.
  • Flussonic Media Server (для стримера в кластерной установке)
  • Flussonic Media Server + Watcher (в одиночной установке)

Установка драйвера видеокарты Nvidia в Ubuntu 16.04

Установите драйвер из официального репозитория Nvidia:

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
dpkg -i cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

Установка драйвера видеокарты Nvidia в Ubuntu 18.04 и 20.04

Установите драйвер из официального репозитория Nvidia:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda-10-0

Установка плагина видеоаналитики Flussonic

После установки драйвера видеокарты можно приступить к установке плагина видеоаналитики Flussonic Vision. Для этого выполните команды:

apt update
apt install flussonic-vision

Включение распознавания лиц на камере

Предварительное условие

  1. Обновите Flussonic Watcher до последней версии.
  2. Включите плагин видеоаналитики. Для этого в файл /etc/flussonic/flussonic.conf добавьте строку:
plugin vision {
  jpeg_vector_helper 1;
}

Включение распознавания лиц на камере

Чтобы включить детекцию и распознавание лиц камерой:

  1. В Watcher UI перейдите в раздел Камеры. Найдите камеру в списке камер и откройте ее настройки, щелкнув в правом верхнем углу плеера значок настроек.

  2. Выберите опцию Распознавание лиц и нажмите Сохранить.

  3. Открыть файл /etc/flussonic/flussonic.conf и для выбранной камеры прописать опцию vision, указав алгоритм faces и номер GPU:

stream face-detection-test {
  url fake://fake;
  auth auth://vsaas;
  vision alg=faces gpu=0;
...
}
  • gpu (обязательная опция) – номер видеокарты, его можно получить с помощью утилиты nvidia-smi.

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

Детектирование лиц

Режим детектирования лиц будет полезен, если необходимо:

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

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

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

Списки лиц

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

Чтобы посмотреть текущие списки лиц, перейдите в раздел События -> Лица и нажмите на кнопку Списки персон.

Откроются текущие списки лиц в системе, которые были созданы ранее, а также список найденных на видео лиц, которые не относятся ни к одному списку.

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

Для просмотра списка персон и информации о персонах в нем, нажмите на списке и выберите интересующую вас персону. Откроется информация о ней.

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

Для добавления нового списка нажмите на кнопку Создать список, введите его название и укажите, с каких камер будет происходить поиск персон по данному списку. Одна камера может обслуживать только один список лиц.

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

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

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

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

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

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

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

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

Подписка на события распознавания

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

Для этого мы используем механизм подписок на события распознавания. Механизм подписок настраивается с использованием соответствующих методов (будут скоро добавлены) API (https://flussonic.github.io/watcher-docs/api.html).

Подсчет уникальных лиц

Во Flussonic Watcher есть возможность организовать подсчет уникальных лиц, который имеет преимущество перед стандартным подсчетом голов для многих кейсов применения, в частности, для ритейла, где более важны данные о количественном появлении новых лиц, нежели об общем количестве проходов, где значительную долю будут занимать проходы сотрудников, а не потенциальных покупателей.

Вы можете использовать подсчет уникальных лиц при построении собственных пользовательских интерфейсов и графиков в личных кабинетах. При этом исходные данные будут получены из Flussonic Watcher.

Для получения данных о количестве уникальных проходов необходимо использовать метод API (https://flussonic.github.io/watcher-docs/api.html), которому сообщается временной интервал, за который необходимо получить количество уникальных лиц, а также параметры распределения — по часам, дням, неделям, месяцам.