Установка видеоаналитики¶
Видеоаналитикой мы называем процесс, который с помощью алгоритмов компьютерного зрения регистрирует в системе эпизоды с описанием объектов в кадре. Чтобы воспользоваться ей, необходимо установить специальное ПО. Это ПО далее по тексту мы будем называть модуль аналитики.
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
Если все правильно, то в интерфейсе будут зеленые индикаторы на странице Стримеры.