EVI Analytics — модуль видеоаналитики, предназначен для обнаружения, распознавания, подсчета, трекинга объектов согласно моделям.
Рекомендуется обновить ядро системы перед установкой видеодрайвера.
Системные требования для видеоаналитики
Перед началом работы необходимо ознакомиться с требованиями к модулю Видеоалитики в разделе Системные требования Платформы EVI.
Требования для модуля Видеоаналитика
Использование виртуализации
Система видеоаналитики требует наличия видеокарты.
Для работы в виртуальном окружении гипервизор должен поддерживать аппаратный проброс устройств PCI/PCI-E, включая видеокарту.
Совместимость с виртуализацией не обеспечивает стабильной работы модуля видеоаналитики.
Для работы модуля требуется дискретная видеокарта. Ниже приведена минимальная конфигурация для запуска:
| OS | GPU | SERIES | VRAM | DRIVER |
|---|---|---|---|---|
| Ubuntu 22.04 | NVIDIA | Quadro или RTX | 8 GB | 545 |
Пример установленных версий ядра и драйвера
Возможны проблемы установки драйвера из-за ядра Linux, ниже приведены примеры рабочих вариантов:
| OS | Kernel | Driver |
|---|---|---|
| Ubuntu 22.04.4 LTS | GNU/Linux 6.5.0-44-generic x86_64 | NVIDIA-SMI 545.29.06 |
| Ubuntu 22.04.4 LTS | GNU/Linux 6.5.0-45-generic x86_64 | NVIDIA-SMI 575.64.05 |
Ручная установка docker и драйвера
Версия драйвера
Рекомендуем использовать доступный актуальный драйвер в репозитории OC.
Для работы с видеокартой необходимо установить драйвер:
sudo apt install -yfqq nvidia-driver-575
Далее необходимо установить docker для работы с контейнером аналитики и nvidia-docker2 для работы с видеокартой:
sudo apt-get update sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl https://get.docker.com | sh \ && sudo systemctl --now enable docker distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \ && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update sudo apt-get install docker-ce docker-compose nvidia-docker2
sudo systemctl restart docker
Добавить пользователя в группу docker:
sudo usermod -aG docker $(whoami)
sudo reboot
Необходимо проверить наличие запущенного драйвера в системе после его установки:
nvidia-smi
Ошибка при выполнении команды nvidia-smi указывает на то, что видеодрайвер не смог запуститься и/или отсутствует дискретная видеокарта. Запуск видеоаналитики без рабочего драйвера NVIDIA невозможен.
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 575.144.03 Driver Version: 575.144.03 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3080 Off | 00000000:01:00.0 Off | N/A |
| 0% 41C P2 113W / 370W | 3902MiB / 10240MiB | 5% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 2144100 C tritonserver 1296MiB |
| 0 N/A N/A 2144155 C tritonserver 1296MiB |
| 0 N/A N/A 2144163 C tritonserver 1296MiB |
+-----------------------------------------------------------------------------------------+
Настройка доступа к базе данных для подключения контейнера
Перед началом настройки необходимо остановить сервисы EVI.
sudo systemctl stop evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service
Необходимо открыть доступ для подключения контейнера аналитики к базе данных.
/etc/postgresql/17/main/pg_hba.conf
В раздел IPv4 local connections добавьте строку по примеру ниже и сохраните файл.
Так как контейнеры по умолчанию получают IP-адреса из подсети 172.16.0.0/12, необходимо указать его.
# IPv4 local connections: host all all 127.0.0.1/32 scram-sha-256 host all all 172.16.0.0/12 md5
Откройте файл конфигурации базы данных. Уберите символ решётки (#), чтобы активировать параметр listen_addresses, и укажите в нем IP-адрес сервера. После этого сохраните изменения в файле.
/etc/postgresql/17/main/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
#listen_addresses = 'localhost' # what IP address(es) to listen on;
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = 'localhost, 192.168.1.10' # what IP address(es) to listen on;
Для применения изменений перезапустите сервис базы данных postgresql:
sudo systemctl restart postgresql
sudo systemctl start evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service
Загрузка образа и запуск контейнера evi-analytics
Образы аналитики имеют большой объем, поэтому их загрузка может занять некоторое время.
После настройки доступа к базе данных необходимо загрузить на сервер аналитики скрипт evi-analytics_1.4.0.sh:
wget --no-check-certificate https://archive.eltex-co.ru/evi-raw/evi-1.4.0/evi-analytics_1.4.0.sh
bash evi-analytics_1.4.0.sh EFNRS_DB_HOST="IP-АДРЕС ВАШЕЙ БАЗЫ ДАННЫХ"
bash evi-analytics_1.4.0.sh EFNRS_DB_HOST="192.168.1.10"
Проверка работоспособности
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
Пример успешно запущенных контейнеров
CONTAINER ID NAMES STATUS
f01deee7d6a5 user-triton1-1 Up 23 hours
d70d9e7004ac user-triton3-1 Up 23 hours
c011105320e9 user-triton2-1 Up 23 hours
d17d6261648f user-evi-analytics-haproxy-1 Up 23 hours
fa2db6812f3b user-evi-analytics-1 Up 23 hours