Перейти к содержанию

Архитектура CARS Analytics#

Архитектура CARS Analytics (Рисунок 1).

Архитектура CARS Analytics

Таблица 1. Описание архитектуры CARS Analytics

Компонент Описание
Источники RTSP-поток видео с камеры или видео из файла, содержащее области с ТС, ГРЗ, пешеходами и животными в кадре
CARS Stream Подсистема детекции и трекинга ТС, ГРЗ, пешеходов и животных в видеопотоке и определения лучших кадров
ANPR Stream Подсистема интеграции ANPR-камер в CARS Analytics
CARS API Подсистема детекции и распознавания атрибутов ТС и ГРЗ
Балансировщик нагрузки Сервис для распределения запросов и ответов между несколькими запущенными копиями CARS API/CARS Stream и CARS Analytics backend. Поддерживается работу только с Nginx
CARS Analytics frontend Компонент системы CARS Analytics, включающий пользовательский интерфейс
CARS Analytics UI Пользовательский интерфейс CARS Analytics
CARS Analytics backend Программная часть CARS Analytics, включающая в себя CARS Analytics backend server, БД, vehicle plugin и балансировщики нагрузки для взаимодействия с внешними системами
CARS Analytics backend server Программная часть CARS Analytics, отвечающая за функционирование CARS Analytics, которая принимает на вход кадр от CARS Stream и направляет его в CARS API для обработки кадра с применением классификаторов
PostgreSQL БД, предназначена для хранения изображений ТС и ГРЗ, отложенных задач, настроек отложенных задач, событий и инцидентов с распознанными атрибутами ТС и ГРЗ
Vehicle plugin Плагин с набором обработчиков и их параметрами для ТС, ГРЗ, пешеходов и животных

Диаграмма последовательностей взаимодействия компонентов CARS Analytics с подсистемами LUNA CARS#

Диаграмма взаимодействия компонентов CARS Analytics с другими подсистемами LUNA CARS (Рисунок 2).

Диаграмма последовательности работы CARS Analytics

Подробное описание диаграммы приведено в Таблице 2.

Таблица 2. Описание диаграммы последовательности взаимодействия компонентов CARS Analytics с подсистемами LUNA CARS

Шаг Описание
(1) Сообщение, содержащее лучший кадре поступает от CARS Stream. или ANPR Stream (в зависимости от выбранного источника). Сообщение передается с помощью функции «callback_manager.py» и включает в себя кадр начала трека объекта, кадр конца трека и лучшие кадры трека объекта (ТС, ГРЗ, дыма и/или огня, пешехода или животного) и информацию о положении объекта, а также информацию о типе объекта. Подробнее о работе подсистемы CARS Stream см. «CARS Stream. Руководство администратора»
(2) CARS Analytics backend server обрабатывает полученное сообщение:
- Создает фоновую задачу на обработку изображения;
- Помещает задачу в очередь Celery;
- Обновляет список очереди задач
(3) CARS Analytics backend server отправляет запрос в CARS API на определение атрибутов ТС и ГРЗ со списком классификаторов и лучшим кадром
(4) Запрос обрабатывается балансировщиком нагрузки и отправляется в CARS API
(5) CARS API обрабатывает запрос по списку классификаторов, определяет атрибуты ТС и ГРЗ. Подробнее о работе CARS API см. в «CARS API. Руководство администратора».
(6) CARS API возвращает атрибуты ТС и ГРЗ в балансировщик
(7) Ответ обрабатывается балансировщиком нагрузки и отправляется в CARS Analytics backend server
(8) CARS Analytics backend server формирует запрос на определение положения объектов в vehicle plugin для определения принадлежности к типу сценария (событие или инцидент) по типу объекта
(9) Vehicle plugin обрабатывает запрос
(10) Vehicle plugin возвращает CARS Analytics backend server информацию о типе сценария
(11) CARS Analytics backend server обрабатывает полученный ответ, агрегирует полученные результаты и проводит проверку на соответствие результатов примененным фильтрам (при наличии)
(12) CARS Analytics backend server отправляет запрос в БД на сохранение атрибутов ТС и ГРЗ
(13) PostgreSQL возвращает ответ о результате сохранения лучшего кадра и атрибутов ТС и ГРЗ в базу данных
(14) CARS Analytics backend server отправляет лучший кадр, распознанные атрибуты ТС и ГРЗ в CARS Analytics UI