Skip to content

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

Видеоаналитикой мы называем процесс, который с помощью алгоритмов компьютерного зрения регистрирует в системе эпизоды с описанием объектов в кадре. Чтобы воспользоваться ей, необходимо установить специальное ПО. Это ПО далее по тексту мы будем называть модуль аналитики.

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

Note

Для тестирования допускается:

  • запуск аналитики на том же сервере, где ведется захват и запись IP-камер
  • запуск аналитики на CPU

Аналитика хорошо работает на процессоре, но не оставит свободных ресурсов для других программ.

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

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

Выполните команды:

apt update
apt install --no-install-recommends nvidia-driver-525
apt install flussonic-vision-transition

После установки пакетов перейдите в интерфейс Watcher и добавьте новые стримеры с ролью аналитики, как описано далее.

Добавление аналитики в Watcher

Модуль аналитики состоит из двух компонентов: Inference и Identification. Один нужен для "снятия образов" с потока, другой для их идентификации.

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

Добавление Inference

  1. Откройте страницу Стримеры.
  2. Нажмите +, чтобы добавить стример.
  3. В форме укажите имя сервера. Можно указать реальный хостнейм, а можно произвольную строку. Укажите inference1, это подойдет для первой установки.
  4. Выберите роль Inference. Сохраните.
  5. Перейдите на страницу с настройками стримера и укажите API_URL сервера: http://secret@vision.example.com:9030

Запомните имя inference1 и пароль secret — они пригодятся на последнем шаге.

Добавление Identification

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

Обратите внимание, что имя сервера уникальное. Если вы установили два компонента, то в Watcher это будет выглядеть как отдельные стримеры.

  1. Откройте страницу Стримеры.
  2. Нажмите +, чтобы добавить стример.
  3. В форме укажите имя сервера. Можно указать реальный хостнейм, а можно произвольную строку. Укажите identification1, это подойдет для первой установки.
  4. Выберите роль Identification. Сохраните.
  5. На странице с настройками стримера укажите API_URL сервера: http://secret@vision.example.com:9050.

Запомните имя identification1 и пароль secret — они пригодятся на последнем шаге.

В данном примере secret — это API_KEY и он указывается как часть URL. Указывать его в поле Cluster key не нужно.

Пример конфигурации для тестового окружения

  • 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.

Откройте их и укажите следующие параметры:

  1. API_KEY, который мы придумали на шаге выше.
  2. По умолчанию, в конфиге указан HW=cuda. Это означает, что модуль будет пытать работать с видеокартой NVIDIA. Укажите HW=cpu, если видеокарты пока нет.
  3. CONFIG_EXTERNAL — адрес сервера с Watcher, от которого аналитика получит информацию о том, какие камеры анализировать.

В примере ниже нужно заменить:

  • CENTRAL_KEY на API-ключ, который находится в файле /etc/central/central.conf.
  • watcher.lab на реальный адрес вашего сервера с Watcher.
  • NAME на имена серверов. Выше в примере мы указали inference1 и identification1
HTTP_PORT=9030
API_KEY=secret
HW=cuda
CONFIG_EXTERNAL=http://CENTRAL_KEY@watcher.lab/central/api/v3/streamers/NAME/streams

Конфиг для /etc/vision/vision-identification.conf будет отличаться портом и отсутствием HW.

Запуск и проверка

После этого можно запустить оба компонента:

systemctl start vision-inference vision-identification

Если все правильно, то в интерфейсе будут зеленые индикаторы на странице Стримеры.