average Telegram

CVmap

От детекции людей к аналитике их перемещения

Система видеоаналитики производства: детекция людей, multi-object tracking, spaghetti tracking, ReID, тепловые карты, события пересечения линий, анализ зон и сменные отчёты.

Цель

Превратить потоки с камер наблюдения в структурированные данные о движении людей на производстве: присутствие в зонах, посещения, маршруты, пересечения контрольных линий и интенсивность перемещений.

Видеопайплайн

Основной GPU-контур построил на NVIDIA DeepStream 8.0. PeopleNet отвечает за детекцию, NvDCF — за сопровождение объектов. Поверх локальных треков рассчитываются события, временные ряды присутствия, heatmaps и статистика зон.

Отдельно реализовал spaghetti tracking: накопленные траектории отображаются поверх видеопотока. Можно посмотреть, как люди перемещались по наблюдаемому пространству в течение последнего часа, где чаще проходили и какие участки использовали.

ReID и проблема идентичности

Локальный track_id не равен идентичности человека. После выхода из кадра и возвращения трекер может создать новый идентификатор. При наблюдении с нескольких камер эта проблема становится ещё сложнее.

Для повторного сопоставления tracklets я разработал дополнительный ReID-контур. Body embeddings дают оценку визуального сходства, но одного cosine similarity недостаточно: сотрудники могут быть одеты одинаково.

Поэтому matching учитывает также время, интервалы присутствия, пространственную совместимость и разрешённые переходы между камерами. Кандидаты проходят ограничения, затем выбираются с помощью Hungarian assignment.

При неоднозначном сопоставлении система может оставить два отдельных идентификатора вместо ложного объединения.

Отдельно предусмотрено распознавание лиц через YuNet/SFace.

Продуктовый слой

Реализовал backend и браузерный интерфейс для работы с камерами и зонами, просмотра потока с разметкой, включения траекторий, исследования событий и подготовки сменных отчётов.

Результат

CVmap объединяет видеодетекцию, multi-object tracking, опциональный ReID и прикладную аналитику в одном продукте.

Основная инженерная сложность — переход от последовательности кадров к событиям и траекториям с осмысленной идентичностью.

Стек: NVIDIA DeepStream 8.0, TensorRT, PeopleNet, NvDCF, OpenVINO, ReID, YuNet, SFace, Python, FastAPI, PostgreSQL, React, TypeScript.