Skip to content

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

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

Note

Это руководство по установке модуля на чистую систему.

Для обновления модуля с версии пакета flussonic-vision 23.12 и старше следуйте инструкции Обновление пакета видеоаналитики с версии 23.12.

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

Note

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

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

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

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

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

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

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

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

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

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

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

Добавление Inference

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

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

Добавление Identification

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

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

  1. Откройте страницу Стримеры.
  2. Нажмите +, чтобы добавить стример.
  3. В форме укажите имя сервера. Можно указать реальный хостнейм, а можно произвольную строку. Укажите identification1, это подойдет для первой установки.
  4. Выберите роль Identification. Сохраните.
  5. На странице с настройками стримера укажите 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 и укажите следующие параметры:

  1. API_KEY, который мы придумали на шаге выше.
  2. HW. По умолчанию, в конфиге указан HW=cuda. Это означает, что модуль будет пытать работать с видеокартой NVIDIA. Укажите HW=cpu, если видеокарты пока нет.
  3. 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 и укажите следующие параметры:

  1. API_KEY, который мы придумали на шаге выше.
  2. 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

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