Установка видеоаналитики¶
Видеоаналитикой мы называем процесс, который с помощью алгоритмов компьютерного зрения регистрирует в системе эпизоды с описанием объектов в кадре. Чтобы воспользоваться ей, необходимо установить специальное ПО. Это ПО далее по тексту мы будем называть модуль аналитики.
Note
Это руководство по установке модуля на чистую систему.
Для обновления модуля с версии пакета flussonic-vision 23.12 и старше следуйте инструкции Обновление пакета видеоаналитики с версии 23.12.
Модуль аналитики требует много вычислительных ресурсов, поэтому мы настоятельно рекомендуем выделить отдельный сервер и использовать аппаратные ускорители.
Note
Для тестирования допускается:
- запуск аналитики на том же сервере, где ведется захват и запись IP-камер
- запуск аналитики на CPU
Аналитика хорошо работает на процессоре, но не оставит свободных ресурсов для других программ.
Требования к серверу, на котором будет работать видеоаналитика¶
- ОС: x64 Ubuntu 20.04 или 22.04.
- GPU: NVIDIA от 6 Гб VRAM.
- Процессор: не менее 4 ядер.
-
Память: не менее 8 ГБ ОЗУ.
Основной характеристикой при выборе совместимой видеокарты является версия Compute Capability: требуется 6.1 и выше. Подобрать видеокарту можно на официальном веб-сайте Nvidia.
Установка модуля видеоаналитики¶
Выполните команды:
apt update
apt install --no-install-recommends nvidia-driver-525
apt install flussonic-vision
После установки пакетов перейдите в интерфейс Watcher и добавьте новые стримеры с ролью аналитики, как описано далее.
Добавление аналитики в Watcher¶
Модуль аналитики состоит из двух компонентов: Inference и Identification. Один нужен для "снятия образов" с потока, другой для их идентификации.
Если у вас один сервер под аналитику, то установите оба компонента. Если у вас несколько серверов, то устанавливать на каждый сервер оба компонента не обязательно, но желательно: это повышает производительность и отказоустойчивость системы.
Добавление Inference¶
- Откройте страницу Стримеры.
- Нажмите +, чтобы добавить стример.
- В форме укажите имя сервера. Можно указать реальный хостнейм, а можно произвольную строку. Укажите
inference1
, это подойдет для первой установки. - Выберите роль Inference. Сохраните.
- Перейдите на страницу с настройками стримера и укажите
API_URL
сервера:http://secret@vision.example.com:9030
Запомните имя inference1
и API ключ secret
— они пригодятся на последнем шаге.
Добавление Identification¶
Действия аналогичны добавлению Inference, но указываем другую роль и порт.
Обратите внимание, что имя сервера уникальное. Если вы установили два компонента, то в Watcher это будет выглядеть как отдельные стримеры.
- Откройте страницу Стримеры.
- Нажмите +, чтобы добавить стример.
- В форме укажите имя сервера. Можно указать реальный хостнейм, а можно произвольную строку. Укажите
identification1
, это подойдет для первой установки. - Выберите роль Identification. Сохраните.
- На странице с настройками стримера укажите
API_URL
сервера:http://secret@vision.example.com:9050
.
В данном примере secret
— это API_KEY
и он указывается как часть URL. Указывать его в поле Cluster key не нужно.
Запомните API ключ secret
— он пригодится на последнем шаге.
Пример конфигурации для тестового окружения¶
- Hostname:
streamer.lab
. API_URL:http://streamer.lab
. Role:Streamer
. - Hostname:
inference1
. API_URL:http://secret@vision.lab:9030
. Role:Inference
. - Hostname:
id1
. API_URL:http://secret@vision.lab:9050
. Role:Identification
.
Настройка модуля аналитики¶
Вернитесь на сервер с модулем аналитики. Теперь заполним конфигурационные файлы /etc/vision/vision-inference.conf
и /etc/vision/vision-identification.conf
.
Конфигурация Inference¶
Откройте файл конфигурации /etc/vision/vision-inference.conf
и укажите следующие параметры:
API_KEY
, который мы придумали на шаге выше.HW
. По умолчанию, в конфиге указанHW=cuda
. Это означает, что модуль будет пытать работать с видеокартой NVIDIA. УкажитеHW=cpu
, если видеокарты пока нет.CONFIG_EXTERNAL
— адрес сервера с Watcher, от которого аналитика получит информацию о том, какие камеры анализировать.
В примере ниже нужно заменить:
CENTRAL_KEY
на API-ключ, который находится в файле/etc/central/central.conf
.watcher.lab
на реальный адрес вашего сервера с Watcher.NAME
на имя сервера. Выше в примере мы указалиinference1
HTTP_PORT=9030
API_KEY=secret
HW=cuda
CONFIG_EXTERNAL=http://CENTRAL_KEY@watcher.lab/central/api/v3/streamers/NAME/streams
HTTP_PORT
должен соответствовать тому, который указан в Watcher у стримера с ролью inference
Конфигурация Identification¶
Откройте файл конфигурации /etc/vision/vision-identification.conf
и укажите следующие параметры:
API_KEY
, который мы придумали на шаге выше.CENTRAL_URL
— адрес сервера с Watcher, от которого сервис идентификации получит информацию о существующих персонах.
В примере ниже нужно заменить:
CENTRAL_KEY
на API-ключ, который находится в файле/etc/central/central.conf
.
HTTP_PORT=9050
API_KEY=secret
CENTRAL_URL=http://CENTRAL_KEY@watcher.lab/central/api/v3
HTTP_PORT
должен соответствовать тому, который указан в Watcher у стримера с ролью identification
Запуск и проверка¶
После этого можно запустить оба компонента:
systemctl start vision-inference vision-identification
Если все правильно, то в интерфейсе будут зеленые индикаторы на странице Стримеры.