Архитектура
Все модули OMNI-агента можно условно разделить на основные и инфраструктурные. Основные модули реализованы в виде пайплайнов обработки лиц и тел людей.
Основные модули | Функции |
Camera Handler | Разбиение видеопотока с камеры или видеофайла на кадры и подготовка кадров к обработке |
Обработка кадров тел людей | |
Body Detector Processing Block | Детекция тел людей на кадрах |
Embeddings Processing Block | Создание эмбеддингов по кропам тел. В данном случае эмбеддинг - это векторное представление задетектированного тела |
Reidentification Handler | Формирование треков людей и реидентификация. В процессе детекции каждому кадру присваивается track_id. Если на последовательности кадров идентифицируется один и тот же человек, track_id всех относящихся к нему кадров меняются на track_id первого кадра, принадлежащего этому человеку |
Body Track Handler | Формирование и обработка путей перемещения людей на кадрах (трекинг) |
Обработка кадров лиц людей | |
Videoworker Callbacks Handler | Детекция лиц |
Face Track Handler | Оценка атрибутов лиц в кадре (пол, возраст, эмоции, liveness, наличие маски), поиск похожих лиц по базе данных агента и платформы (через модуль Database Sync Handler). При наличии совпадений с базой, ID изображения из базы также записывается в результат обработки |
Attentions Handler | Оценка внимания человека (смотрит ли человек на кадре в камеру) |
Human Process Handler | Результаты обработки лиц и тел людей передаются в модуль Human Process Module, где преобразуются в форму процессов агента для последующей передачи в OMNI Platform или внешний сервис через вебхуки |
Процесс агента является одним из форматов представления результатов работы системы компьютерного зрения, в рамках которого реализуется происходящее во времени событие. Каждый процесс содержит набор данных по распознаванию и трекингу человека:
- ID процесса;
- Временной интервал процесса (начало и окончание процесса);
- Тип процесса (трек, человек, лицо, тело, эмоция и др.);
- Объект детекции с определёнными атрибутами лица (объектом выступает человек, попавший в поле зрения камеры);
- Лучший кадр (best shot) и массив всех кадров, полученных, пока человек не вышел из поля зрения камеры.
Инфраструктурные модули | Функции |
Activation Module | Модуль отвечает за активацию агента |
Webhooks Handler | Передача процессов по вебхукам во внешний сервис |
Server Connection Handler | Передача процессов в OMNI Platform |
Database Sync Handler | Синхронизация локальной базы данных с базой данных OMNI Platform |
Reconfiguration Handler | Доступ к файлам конфигурации, перенастройка агента без перезапуска приложения |
Preview Handler | Создание превью (кадров с камеры с отрисованными детекциями, которые передаются в веб-интерфейс OMNI-агента) |
Frontend Handler | Управление агента как веб-приложения |
External Process Handler | Приведение сигналов начала и окончания внешних событий к интервальному виду (процессов) |
Http Redirection Module | Перенаправление запросов на сервер платформы |
Multisource Handler | Модуль создает пайплайн модулей обработки для каждого нового видеопотока |
Trace Handler | Модуль отвечает за сборку трейсов (логов) с модуля Body Detector |