ReID и трекинг: высокая частота кадров на GPU

Задача страницы. Практически показать, как собирать онлайн‑трекинг объектов с ReID на облачных GPU: архитектура, выбор детектора и ассоциации, параметры (IoU/скор/время жизни), профили VRAM/скорости, мультикамерные сценарии, метрики качества (IDF1/MOTA) и экономика. Страница дополняет детекцию (YOLO) и видео‑аналитику.

TL;DR

Сценарии применения

  • Безопасность и подсчёт: люди/Т.С., контроль зон, статистика.
  • Ритейл/склады: потоки покупателей/тележек/паллет, «тепловые карты».
  • Транспорт: мультикамерные перекрёстки, пересадки между камерами.
  • Аналитика производства: трекинг изделий/этапов.
  • Событийная телеметрия: длинные треки + бизнес‑правила (вход/выход/остановки).

Архитектура пайплайна и роли компонентов

RTSP → GPU-декод → Препроц (resize/letterbox) → Детектор (YOLO FP16/INT8) → NMS

→ Трекер (ассоциация IoU/скорость + ReID) → Бизнес-правила/алерты

→ (опц.) Overlay + NVENC → Вывод/шина событий

↘ Логи/метрики/трейсы → Дашборды и отчёты

Алгоритмы ассоциации: что подходит

Схема

**Идея** **Плюсы** **Когда**
**IoU + Hungarian** Стоимость = 1−IoU, решаем назначение Проста, быстра Низкая плотность сцены, стабильный fps
**ByteTrack‑подход** Сначала high‑conf детекции, затем добор low‑conf Устойчив к мимопроходам Плотные сцены, шумные детекции
**Kalman + IoU‑gating** Прогноз бокса → гейт по IoU Сглаживает траектории Подвижные объекты, средняя плотность
**IoU + ReID (косинус)** Комбинируем геометрию и эмбеддинги Минимум ID‑switch Пересечения, люди/Т.С., многокамера

Практика: в онлайне чаще всего берут ByteTrack‑подобную схему + ReID: IoU‑совпадение «подкрепляется» косинусным сходством эмбеддингов.

ReID‑эмбеддинги: как использовать

  • Векторы 128–512‑dim, L2‑нормализация; метрика — косинус.
  • Галерея трека: EMA‑усреднение представлений последних K кадров.
  • Gating: кандидаты, у которых cos_dist > τ_embed, отсекаются.
  • ROI: эмбеддинги по cropped‑patch (по детекции) со стабильным resize.

Ориентиры памяти на 1 000 активных треков:

**dim** **fp16 (MB)** **fp32 (MB)** **Комментарий**
128 ~0.25 ~0.50 Лёгкая галерея
256 ~0.50 ~1.00 Баланс
512 ~1.00 ~2.00 Лучше качество, чуть дороже

Эмбеддинги/поиск похожих — см. https://cloudcompute.ru/solutions/computer-vision/dinov2/

Параметры трекера: стартовые значения

**Параметр** **Описание** **Старт**
conf\_high Порог «надёжных» детекций 0.40–0.60
conf\_low Порог «слабых» (ByteTrack‑добор) 0.10–0.20
iou\_match Порог для матчинга 0.3–0.6 (по сцене)
max\_age Сколько кадров «жить» без детекции 20–40
min\_hits Сколько раз «подтвердиться», чтобы стать треком 3–5
τ\_embed Порог косинусной дистанции ReID 0.25–0.40
ema\_momentum EMA обновления галереи 0.8–0.95
**Профили GPU, VRAM и throughput**

Оценки для 1080p, детектор FP16, прогретые веса, ReID 256‑dim.

**Профиль** **Потоки (25 fps)** **Комментарии**
**24 ГБ (Compact)** 2–4 Детектор + трекер, без тяжёлого overlay
**48 ГБ (Balanced)** 4–8 Мультикамеры, ReID, лёгкий overlay
**80 ГБ (HQ)** 8–16 Плотные сцены, несколько моделей/веток

Фактические цифры зависят от детектора, постпроцесса, I/O и бизнес‑логики. Подбор профилей — https://cloudcompute.ru/solutions/cost-planner/ и https://cloudcompute.ru/solutions/performance-tuning/

Конфиг пайплайна (пример YAML)

pipeline: tracking-reid-realtime
video:
 inputs:
 - id: cam01
 url: rtsp://cam01/stream
 decode: gpu
 - id: cam02
 url: rtsp://cam02/stream
 decode: gpu
preprocess:
 size: 1280x736
 letterbox: true
detector:
 family: yolo_v9m
 precision: fp16
 nms: { conf: 0.35, iou: 0.6 }
tracker:
 mode: bytetrack_reid
 conf_high: 0.5
 conf_low: 0.15
 iou_match: 0.5
 max_age: 30
 min_hits: 3
 reid:
 dim: 256
 metric: cosine
 tau_embed: 0.35
 ema_momentum: 0.9
output:
 events_bus: bus://events/cv/tracks
 store_crops: false
sla:
 target_fps: 25
 p95_latency_ms: 120
limits:
 max_streams_per_gpu: 6

Сервинг ансамблей (preproc→детект→трек→постпроц) — https://cloudcompute.ru/solutions/triton-inference-server/ UI/API‑демо — https://cloudcompute.ru/solutions/gradio-fastapi/

Мультикамерный трекинг (cross‑camera)

  • Синхронизация времени между потоками и унификация fps.
  • Словарь камер: допустимые переходы (A→B), зоны пересадок.
  • Глобальная ReID‑галерея с камерными биасами (перекалибровка эмбеддингов).
  • Окно совпадения по времени (например, ±2–5 с), затем сопоставление по ReID и гипотезам маршрута.
  • Правила слияния: стабильный ID ≥ N кадров/переходов, минимальный склеенный путь.

Наблюдаемость и метрики

Сбор и дашборды: https://cloudcompute.ru/solutions/monitoring-logging/ и https://cloudcompute.ru/solutions/llm-inference/observability/

Онлайн‑техника: fps/поток, p50/p95 latency, drop‑rate, GPU util/HBM, VRAM пик, ошибки NVDEC/NVENC. Качество трекинга: IDF1, MOTA/MOTP, ID‑switch/min, track fragmentation, средняя длительность трека. ReID‑сигналы: средняя/макс. косинусная дистанция по привязкам, доля отказов > τ_embed. Алерты: рост p95, спад fps, всплеск ID‑switch, фрагментация, OOM.

Экономика и sizing

Пусть C — камеры, fps — целевой fps, t_det — инференс детектора (мс/кадр), t_trk — ассоциация+ReID (мс/кадр), α — накладные (декод/overlay/правила), U — целевая загрузка GPU.

t_frame ≈ t_det + t_trk + α

GPU_needed ≈ (C × fps × t_frame / 1000) / U

Cost_per_camera ≈ (GPU_hour_price × GPU_needed) / C

Балансируйте t_trk: уменьшайте dim эмбеддингов, частоту ReID (каждый N‑й кадр), батчируйте кропы. Подробнее — https://cloudcompute.ru/solutions/throughput-vs-latency/ и https://cloudcompute.ru/solutions/cost-planner/

Безопасность и данные

  • Маскирование PII в превью/логах (лица, номера), шифрование событий/клипов.
  • Роли/ключи для доступа к потокам и артефактам; ретеншн и география данных.

Белые списки моделей/версий; лимиты max_streams_per_gpu, max_fps, max_resolution. Подробнее — https://cloudcompute.ru/solutions/security/ и https://cloudcompute.ru/solutions/llm-inference/guardrails/

Траблшутинг

**Симптом** **Причина** **Что сделать**
Много **ID‑switch** Завышен iou\_match, нет ReID Снизить iou\_match, включить/усилить ReID, EMA‑галерею
Фрагментация треков Мал max\_age или высокий conf\_high Увеличить max\_age, снизить пороги детекции
«Липкие» ложные треки Слабые low‑conf детекции Поднять conf\_low или убрать добор low‑conf
Падение fps Тяжёлый ReID/overlay Реже считать ReID (каждый N‑й кадр), отключить overlay/снизить качество
Дрожание боксов Нестабильный детектор Включить Kalman, сгладить координаты, стабилизировать resize
Разные результаты Несогласованные версии Зафиксировать версии весов/конфигов, единый препроц

Как запустить в cloudcompute.ru

Шаблоны — https://cloudcompute.ru/solutions/templates/

  • “Tracking‑Realtime (YOLO+ReID)” — RTSP‑ингест, NVDEC, детектор FP16/INT8, ByteTrack‑подобная ассоциация, ReID‑галерея, алерты.
  • “Tracking‑Batch (Archives)” — шардирование, чанк ≤ 2 мин, отчёты по IDF1/MOTA и стоимости.

“Edge‑Export (TensorRT)” — упаковка детектора+трека для устройств/корневых узлов: https://cloudcompute.ru/solutions/computer-vision/edge-export/ Сервинг ансамблей — https://cloudcompute.ru/solutions/triton-inference-server/ • UI/API — https://cloudcompute.ru/solutions/gradio-fastapi/ • CI/CD — https://cloudcompute.ru/solutions/containers-ci-cd/

Чек‑лист перед продом

  • Определён SLA: fps/поток, p95 latency, целевые IDF1/MOTA.
  • Подобраны conf_high/conf_low, iou_match, max_age, min_hits, τ_embed, dim.
  • Настроены NVDEC/zero‑copy, ring‑буферы и drop‑политика.
  • Включена ReID‑галерея (EMA), унифицированы resize/fps.
  • Подключены метрики/алерты/трейсинг, отчёты по качеству.
  • Рассчитан Cost_per_camera; выбран профиль GPU (24/48/80 ГБ) и топология (single/multi‑GPU).
  • Зафиксированы версии весов/конфигов; включены политики безопасности.

Навигация по разделу «Компьютерное зрение»

Хаб: https://cloudcompute.ru/solutions/computer-vision/ • Детекция: https://cloudcompute.ru/solutions/computer-vision/yolo/ • Видео‑аналитика: https://cloudcompute.ru/solutions/computer-vision/video-analytics/ • OCR: https://cloudcompute.ru/solutions/computer-vision/ocr/ • Эмбеддинги/поиск: https://cloudcompute.ru/solutions/computer-vision/dinov2/ • Интерактивная сегментация: https://cloudcompute.ru/solutions/computer-vision/sam/ • Экспорт на edge: https://cloudcompute.ru/solutions/computer-vision/edge-export/ • Инфраструктура: https://cloudcompute.ru/solutions/performance-tuning/https://cloudcompute.ru/solutions/storage-data/https://cloudcompute.ru/solutions/monitoring-logging/https://cloudcompute.ru/solutions/llm-inference/observability/https://cloudcompute.ru/solutions/throughput-vs-latency/https://cloudcompute.ru/solutions/cost-planner/https://cloudcompute.ru/solutions/interruptible-patterns/ • Сервинг: https://cloudcompute.ru/solutions/triton-inference-server/ • UI/API: https://cloudcompute.ru/solutions/gradio-fastapi/ • CI/CD: https://cloudcompute.ru/solutions/containers-ci-cd/

Готовы запустить?

Запустить GPU-сервер