YOLOv8/v9 на GPU: детекция и трекинг в реальном времени

Задача страницы. Дать практический план, как запускать детекцию объектов на YOLOv8/v9 и строить реальный‑время трекинг на облачных GPU: архитектура онлайн/батч‑пайплайнов, профили VRAM, декод видео, настройки NMS/порогов, микробатчи, выбор трекера, наблюдаемость и экономика.

TL;DR

Сценарии: онлайн vs батч

  • **Онлайн (realtime)

  • Источники: RTSP/RTMP/веб‑камеры, живые потоки.

  • Цели: p95 латентность/кадр, стабильный fps/поток, минимальные пропуски кадров.

  • Режим: on‑demand пулы, прогретые модели, NVDEC на входе, NVENC на выходе (при ретрансляции).

  • **Батч

  • Источники: архивы видео/изображений, ре‑индексация, переобработка датасетов.

  • Цели: imgs/sec, frames/sec, Cost_per_1000.

Режим: interruptible пулы, чанкование по кадрам/роликам. См. https://cloudcompute.ru/solutions/interruptible-patterns/.

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

Онлайн‑контур (мультикамерная аналитика):

RTSP → GPU-декод → Препроц (resize/letterbox/normalize) → YOLOv8/v9 (FP16/INT8) → NMS

→ Трекер (ассоциация) → Бизнес-правила/алерты → (опц.) Overlay + NVENC → Вывод/шина

↘ Логи/метрики → Хранилище/дашборды

Детали по стримингу/RTSP: https://cloudcompute.ru/solutions/computer-vision/video-analytics/ Наблюдаемость и алерты: https://cloudcompute.ru/solutions/monitoring-logging/https://cloudcompute.ru/solutions/llm-inference/observability/

Батч‑контур (изображения/архивы):

Объектное хранилище → Шардирование → Микробатчи (8–64) → YOLOv8/v9 → NMS → Постпроц → Отчёт/экспорт

О хранении/кэше: https://cloudcompute.ru/solutions/storage-data/

Выбор модели и формата - Размер модели: nano/small/medium/large/x — компромисс latency ↔ mAP. Начинайте с small/medium для онлайн‑сцен.

  • Форматы инференса:

  • FP16 — баланс скорость/точность на современных GPU.

  • INT8 — максимум fps при калибровке (набор репрезентативных кадров); возможна деградация точности — тестируйте на своём домене.

  • ONNX/TensorRT — для сервинга и экспорта на edge: https://cloudcompute.ru/solutions/computer-vision/edge-export/

  • Тритон‑сервинг (ensemble с препроц/NMS) — https://cloudcompute.ru/solutions/triton-inference-server/

Профили GPU и VRAM

**Профиль** **Типовые задачи** **Разрешение** **Потоки** **Примечания**
**24 ГБ** (Compact) Детекция онлайн/батч, один детектор 720p–1080p 1–4 FP16/INT8, NVDEC
**48 ГБ** (Balanced) Мультикамеры, детектор + трекер + постпроц 1080p 4–8 Микробатчи, тёплые веса
**80 ГБ** (HQ) Высокая плотность, составные пайплайны 1080p–4k 8–16 Несколько моделей/веток

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

Настройки препроц и NMS

  • Resize/letterbox: сохраняйте пропорции; используйте одинаковый цвет «поля».
  • Confidence threshold: старт 0.25–0.5 — подберите по trade‑off FPR/TPR в вашей задаче.
  • IoU для NMS: 0.5–0.7; выше — риск пропусков рядом стоящих объектов, ниже — дубликаты.
  • Agnostic‑NMS: уместен, если классов много и они конкурируют на одном месте.
  • Калибровка: измеряйте p95 латентности и точность на ваших потоках; фиксируйте выбранные параметры в конфиге. Трекинг: выбор и параметры

Что делает трекер: сопоставляет детекции между кадрами → выдаёт ID‑последовательности. Важные параметры:

  • score_threshold для кандидатов в трек;
  • match‑iou/match‑distance и max_age (сколько кадров «жить» без детекции);
  • kalman/velocity параметры — стабильность и плавность ID.

Практика:

  • Для быстрых объектов увеличьте max_age и допускайте пропуски детекций.
  • Для плотных сцен снижайте IoU‑порог в матчинге, чтобы минимизировать ID‑switch.
  • Отдельная ветка для ReID‑фич полезна в мультикамерных системах (подробнее: https://cloudcompute.ru/solutions/computer-vision/tracking/).

Видео‑декод и конвейер GPU

  • Держите NVDEC для декода на той же GPU, где инференс; используйте zero‑copy в препроц.
  • Распараллеливайте decode → preprocess → infer → postprocess через очереди.
  • При перегрузе включайте drop‑политику (например, «обрабатывать каждый N‑й кадр»), чтобы удержать SLA.

Детали — https://cloudcompute.ru/solutions/computer-vision/video-analytics/.

Микробатчи, параллелизм, аффинити

  • Микробатчи 8–64 для изображений: окупают препроц и ускоряют NMS.
  • Для видео — батчи по потокам или по кадрам времени; соблюдайте порядок вывода.
  • Аффинити камера→GPU снижает кросс‑копии и джиттер.

Наблюдаемость, алерты, логи

Собирайте (см. https://cloudcompute.ru/solutions/monitoring-logging/ и https://cloudcompute.ru/solutions/llm-inference/observability/):

  • Технические: fps/поток, p50/p95 latency, drop‑rate, queue_wait, GPU util/HBM, VRAM пик, NVDEC/NVENC ошибки.
  • Качество: mAP@val, Precision/Recall на контрольной выборке, IDF1/MOTA для трекинга, доля ID‑switch.
  • Алерты: падение fps, рост p95, всплеск drop‑rate, рост ID‑switch, OOM.

Экономика и sizing

Пусть C — число камер, fps — желаемые кадры/сек, t_inf — среднее время инференса на кадр, α — накладные (декод/препроц/пост), U — целевая загрузка GPU (например, 0.7).

GPU_needed ≈ (C × fps × t_inf × (1 + α)) / U

Cost_per_camera ≈ (GPU_hour_price × GPU_needed) / C

Для батча изображений:

Imgs_per_hour ≈ 3600 / (S × t_step)

Cost_per_1000 ≈ (GPU_hour_price × Num_GPU) / (Imgs_per_hour / 1000)

Оптимизацию и выбор режима (on‑demand vs interruptible) планируйте в https://cloudcompute.ru/solutions/cost-planner/ и https://cloudcompute.ru/solutions/interruptible-patterns/.

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

pipeline: yolo-realtime
video:
 input: rtsp://camera-01
 decode: gpu # NVDEC
 drop_policy: every_n # при перегрузе
 drop_n: 2
preprocess:
 size: 1280x736
 letterbox: true
 normalize: imagenet
model:
 format: tensorrt
 precision: fp16
 variant: yolo_v8m
 nms:
 conf: 0.35
 iou: 0.6
 agnostic: false
tracker:
 match_iou: 0.3
 max_age: 30
 min_hits: 3
 score_threshold: 0.4
output:
 overlay: false
 events_bus: kafka://events/cv
 metrics: prometheus://cv-yolo
limits:
 max_fps: 25
 max_latency_ms: 120

Оркестрация и сервинг

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

  • Ограничивайте параметры (max_resolution, max_fps, классы), маскируйте PII в логах.
  • Политики хранения потоков/архивов, управление ключами/токенами.

Подробнее — https://cloudcompute.ru/solutions/security/ и https://cloudcompute.ru/solutions/llm-inference/guardrails/.

Шаблоны cloudcompute.ru (готовые пресеты)

Хаб шаблонов — https://cloudcompute.ru/solutions/templates/

  • “CV‑Realtime (RTSP, YOLO)” — GPU‑декод, инференс FP16/INT8, трекер, алерты/дашборды.
  • “CV‑Batch (YOLO)” — шардирование архива, микробатчи, отчёты качества/стоимости.
  • “Edge‑Export (YOLO)” — конверсия в ONNX/TensorRT, INT8‑квантизация, упаковка.
  • “Triton‑Ensemble (YOLO)” — препроц→детект→NMS→постпроц в одном сервинге.

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

  • Определены SLA: fps, p95 латентность, drop‑rate, целевые метрики качества (mAP, IDF1/MOTA).
  • Выбраны модель/формат (FP16/INT8, ONNX/TensorRT) и профиль GPU (24/48/80 ГБ).
  • Настроены препроц/resize/letterbox, пороги NMS и параметры трекера.
  • Для онлайна — NVDEC/NVENC, аффинити камера→GPU, drop‑политика.
  • Для батчей — шардирование, микробатчи, interruptible‑пулы, отчёты стоимости.
  • Подключены метрики/алерты/трейсинг, логи событий/ошибок.
  • Политики доступа/хранения потоков и маскирование PII активированы.

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

Хаб: https://cloudcompute.ru/solutions/computer-vision/ • Видео‑аналитика: https://cloudcompute.ru/solutions/computer-vision/video-analytics/ • Трекинг/ReID: https://cloudcompute.ru/solutions/computer-vision/tracking/ • OCR: https://cloudcompute.ru/solutions/computer-vision/ocr/ • 3D‑реконструкция: https://cloudcompute.ru/solutions/computer-vision/3d-reconstruction/ • DINOv2/эмбеддинги: https://cloudcompute.ru/solutions/computer-vision/dinov2/ • Гео/SAR: https://cloudcompute.ru/solutions/computer-vision/geospatial/ • Экспорт на 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/cost-planner/https://cloudcompute.ru/solutions/interruptible-patterns/ • Сервинг: https://cloudcompute.ru/solutions/triton-inference-server/ • CI/CD: https://cloudcompute.ru/solutions/containers-ci-cd/

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

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