ReID и трекинг: высокая частота кадров на GPU
Задача страницы. Практически показать, как собирать онлайн‑трекинг объектов с ReID на облачных GPU: архитектура, выбор детектора и ассоциации, параметры (IoU/скор/время жизни), профили VRAM/скорости, мультикамерные сценарии, метрики качества (IDF1/MOTA) и экономика. Страница дополняет детекцию (YOLO) и видео‑аналитику.
TL;DR
- Для онлайна: детектор (FP16/INT8) + трекер с двумя сигналами — геометрия (IoU, скорость) и ReID‑эмбеддинги; держите NVDEC для декода и zero‑copy препроц.
- Для батчей: шардируйте по видео/кадрам, чанк ≤ 2 мин, локальный NVMe‑кэш, пулы interruptible.
- Снижайте ID‑switch: нормируйте fps/resize, калибруйте match_iou, max_age, min_hits, добавьте ReID‑галерею (EMA).
- Смежные разделы: детекция — https://cloudcompute.ru/solutions/computer-vision/yolo/ • видео — https://cloudcompute.ru/solutions/computer-vision/video-analytics/ • эмбеддинги — https://cloudcompute.ru/solutions/computer-vision/dinov2/ • экспорт на edge — https://cloudcompute.ru/solutions/computer-vision/edge-export/ • тюнинг — https://cloudcompute.ru/solutions/performance-tuning/ • стоимость — https://cloudcompute.ru/solutions/cost-planner/ • наблюдаемость — https://cloudcompute.ru/solutions/monitoring-logging/ и https://cloudcompute.ru/solutions/llm-inference/observability/ • throughput↔latency — https://cloudcompute.ru/solutions/throughput-vs-latency/
Сценарии применения
- Безопасность и подсчёт: люди/Т.С., контроль зон, статистика.
- Ритейл/склады: потоки покупателей/тележек/паллет, «тепловые карты».
- Транспорт: мультикамерные перекрёстки, пересадки между камерами.
- Аналитика производства: трекинг изделий/этапов.
- Событийная телеметрия: длинные треки + бизнес‑правила (вход/выход/остановки).
Архитектура пайплайна и роли компонентов
RTSP → GPU-декод → Препроц (resize/letterbox) → Детектор (YOLO FP16/INT8) → NMS
→ Трекер (ассоциация IoU/скорость + ReID) → Бизнес-правила/алерты
→ (опц.) Overlay + NVENC → Вывод/шина событий
↘ Логи/метрики/трейсы → Дашборды и отчёты
- Детектор/пороги см. https://cloudcompute.ru/solutions/computer-vision/yolo/
- RTSP/мульти‑ингест, буферизация и drop‑политика — https://cloudcompute.ru/solutions/computer-vision/video-analytics/
- Эмбеддинги для ReID — https://cloudcompute.ru/solutions/computer-vision/dinov2/
Алгоритмы ассоциации: что подходит
| Схема | **Идея** | **Плюсы** | **Когда** |
| **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 |
Оценки для 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-сервер