Архитектура CARS Analytics#
Архитектура CARS Analytics (Рисунок 1).
Таблица 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).
Подробное описание диаграммы приведено в Таблице 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 |