Skip to content

Releases: Koldim2001/TrafficAnalyzer

TrafficAnalyzer_prod_v3.1.0_multiple_cameras_triton

Версия полностью под докер компоуз на большое количество камер где инференс сети производится на с помощью 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 у каждой камеры свой дашборд между которыми можно переходит по кнопке:

grafana

TrafficAnalyzer_prod_v3.0.1_multiple_cameras

18 Sep 20:05
cbee7ce
Compare
Choose a tag to compare

Версия полностью под докер компоуз на большое количество камер


Установка:

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

Каждая новая камера добавляется как +1 инстанс бекенда traffic_analyzer_camera_N в котором надо указать лишь разные scr и конфигурации через переменные окружения

У каждой камеры свой дашборд между которыми можно переходит по кнопке:

grafana

Анализ трафика на круговом движении

16 Sep 21:53
Compare
Choose a tag to compare

Доработанная версия кода из видео с Ютуба - https://www.youtube.com/watch?v=u9EtqHz4Vqc

Все сервисы запускаются в докере кроме главного бэкенда который надо запустить через локальное окружение на компе. Чтоб работало на винде стоит поставить Visual C++ Build tools. Тогда все библиотеки встанут без проблем.

Данная программа осуществляет анализ входящего трафика на участке кругового движения. Алгоритм определяет загруженность примыкающих дорог и выводит интерактивную статистику.

PS: Итоговая версия к релизу с возможностью вести логирование в постграс + визуализировать результаты на дашборде графана + выводить в веб-интерфейс результаты обработки кадров (риалтайм стриминг с помощью Flask)

Пример того, как можно запустить проект и иметь возможность одновременно смотреть стрим по порту 8100 и наблюдать интерактивный дашборд в Grafana по порту 3111:

web+grafana

TrafficAnalyzer_prod_v2.2.0

16 Sep 21:26
Compare
Choose a tag to compare

Версия полностью под докер компоуз


Установка:

docker-compose -p traffic_analyzer up -d --build

Данная программа осуществляет анализ входящего трафика на участке кругового движения. Алгоритм определяет загруженность примыкающих дорог и выводит интерактивную статистику.


Теперь можно передавать все данные прямо через переменные окружения в конфиг hydra + все секреты хранить в файле secrets.txt. Вынес grafana.db чтобы автоматом поднимался готовый дашборд + прокинул в него сразу видео стрим. Код написан под одну камеру но готов к расширению сразу на много (стоит добавить новые инстасы докера с новыми переменными окружения)

image

TrafficAnalyzer_prod_v2.1.1

16 Sep 19:13
Compare
Choose a tag to compare

Версия полностью под докер компоуз


Установка:

docker-compose -p traffic_analyzer up -d --build

Данная программа осуществляет анализ входящего трафика на участке кругового движения. Алгоритм определяет загруженность примыкающих дорог и выводит интерактивную статистику.

PS: Итоговая версия к релизу с возможностью вести логирование в постграс + визуализировать результаты на дашборде графана + выводить в веб-интерфейс результаты обработки кадров (риалтайм стриминг с помощью Flask)

Пример того, как можно запустить проект и иметь возможность одновременно смотреть стрим по порту 8100 и наблюдать интерактивный дашборд в Grafana по порту 3111:

web+grafana

Анализ трафика на круговом движении

05 May 13:23
Compare
Choose a tag to compare

Данная программа осуществляет анализ входящего трафика на участке кругового движения. Алгоритм определяет загруженность примыкающих дорог и выводит интерактивную статистику.

PS: Итоговая версия к релизу с возможностью вести логирование в постграс + визуализировать результаты на дашборде графана + выводить в веб-интерфейс результаты обработки кадров (риалтайм стриминг с помощью Flask)

Пример того, как можно запустить проект и иметь возможность одновременно смотреть стрим по порту 8100 и наблюдать интерактивный дашборд в Grafana по порту 3111:

web+grafana

Анализ трафика на круговом движении

21 Mar 08:50
Compare
Choose a tag to compare

Данная программа осуществляет анализ входящего трафика на участке кругового движения. Алгоритм определяет загруженность примыкающих дорог и выводит интерактивную статистику.

PS: Итоговая версия к релизу с возможностью вести логирование в постграс + визуализировать результаты на дашборде графана

По данной версии кода есть туториал на ютубе:
Подробный туториал по проекту - ссылка на видео

Анализ трафика на круговом движении (версия без сторонних микросервисов)

07 Mar 07:26
Compare
Choose a tag to compare

Данная программа осуществляет анализ входящего трафика на участке кругового движения. Алгоритм определяет загруженность примыкающих дорог и выводит интерактивную статистику.

PS: В данной версии программного обеспечения отсутствует возможность сохранения результатов аналитики в базе данных и отображения их через графический интерфейс Grafana. Вместо этого все результаты выводятся непосредственно в открывающемся окне библиотеки OpenCV при запуске кода.

Трекинг машин на круговом движении

07 Mar 07:38
Compare
Choose a tag to compare

PS: Версия кода, реализующая исключительно трекинг (Bytetrack) без анализа загруженности перекрестков