Версия полностью под докер компоуз на большое количество камер где инференс сети производится на с помощью Triton сервера
Установка:
docker-compose -p traffic_analyzer up -d --build
Необходимо в главной директории создать файл с переменными окружения, которые будут прокинуты во все контейнеры. Для этого создайте файл secrets.txt
и положите подобный текст с паролями:
POSTGRES_DB=traffic_analyzer_db
POSTGRES_USER=user
POSTGRES_PASSWORD=pwd
GF_SECURITY_ADMIN_USER=admin
GF_SECURITY_ADMIN_PASSWORD=admin
Работа с программой:
Перед запуском необходимо в файле configs/app_config.yaml указать все желаемые параметры. Далее можно запускать код.
Чтобы запустить проект с определенным видео, необходимо указать путь к нему в докер компоузе переменной окружения
Каждая новая камера добавляется как +1 инстанс бекенда traffic_analyzer_camera_N в котором надо указать лишь разные scr и конфигурации через переменные окружения
Каждый новый контейнер не требует наличия gpu. Весь инференс на видеокарте осуществляется отдельным сервисом-контейнером triton. В нем крутится модель yolo в onnx формате и по gRPC можно слать на данный сервис запросы в виде изображений и получать ответ сети. Благодаря этому можно проще масштабировать решение на огромное количество камер.
В Grafana у каждой камеры свой дашборд между которыми можно переходит по кнопке: