Какие методы вы знаете для трекинга объектов на видео?

Трекинг объектов на видео (Object Tracking) — это задача отслеживания положения объекта(-ов) в последовательности видеокадров. В отличие от детекции, которая определяет объекты на каждом кадре независимо, трекинг устанавливает связь между детекциями на разных кадрах, чтобы построить траектории движения. Это ключевая задача в видеонаблюдении, автономных автомобилях, AR/VR, робототехнике, спорте и т.д.

Существуют два основных направления:

  • Single Object Tracking (SOT) — отслеживается один объект.

  • Multi-Object Tracking (MOT) — отслеживаются сразу несколько объектов.

1. Классические методы (без нейросетей)

A. Optical Flow (оптический поток)

Измеряет смещение пикселей между кадрами на основе яркости.

  • Dense Optical Flow (Farneback, Gunnar) — оценивает движение каждого пикселя

  • Sparse Optical Flow (Lucas-Kanade) — отслеживает ключевые точки

  • Хорошо работает на медленных движениях

  • Чувствителен к освещению и деформациям

B. Kalman Filter

  • Предсказывает положение объекта в будущем кадре на основе скорости и ускорения.

  • Используется в сочетании с детекцией (predict + correct)

  • Быстрый и лёгкий, но предполагает линейное движение

C. Meanshift / CamShift

  • Использует гистограммы цвета для трекинга объекта в следующем кадре

  • CamShift — адаптивный размер окна

  • Работает только при слабой деформации и с устойчивыми цветами

D. Template Matching

  • Сравнение шаблона (patch) из первого кадра с последующими кадрами

  • Прост в реализации, но чувствителен к масштабам, поворотам и освещению

2. Single Object Tracking (SOT) — на основе CNN

Задача: получить bounding box объекта в каждом кадре, начиная с одного исходного bbox.

A. Siamese-based трекеры

Используют две ветви CNN, одна из которых запоминает шаблон, а вторая — ищет его в новом кадре.

  • SiamFC — простая сверточная Siamese-сеть

  • SiamRPN — добавляет region proposal для локализации

  • SiamMask — расширение с сегментацией маски объекта

  • SiamBAN, SiamCAR, SiamGAT — улучшения архитектуры

B. Transformers-based SOT

  • TransT — объединяет визуальные признаки через self-attention

  • STARK — прогнозирует bounding box с помощью decoder transformer

  • SwinTrack — использует Swin Transformer как backbone

C. Discriminative Correlation Filters (DCF)

  • Применяют корреляционные фильтры для определения сдвига объекта

  • Быстрые (реальное время), но менее устойчивые к деформациям

3. Multi-Object Tracking (MOT)

Задача: отслеживание всех объектов (чаще всего людей, автомобилей и т.д.) с постоянным ID во времени.

Обычно выполняется в 2 этапа:

1) Object Detection

Используется любая модель (YOLO, Faster R-CNN, SSD, CenterNet и др.)

2) Data Association

Связывание детекций между кадрами на основе:

  • Геометрии (IoU, координаты)

  • Временной предсказуемости (Kalman filter)

  • Appearance feature (визуальные эмбеддинги)

  • Graph Matching / Hungarian Algorithm

4. Популярные MOT алгоритмы

A. DeepSORT

  • Основывается на SORT (Simple Online Realtime Tracking)

  • Добавляет ReID-сеть (Re-identification) для извлечения appearance-эмбеддингов

  • Использует Mahalanobis distance + cosine similarity

  • Подходит для видео с многократным исчезновением/появлением объектов

B. ByteTrack

  • Улучшение SORT: учитывает low confidence объекты

  • Позволяет отслеживать объекты, у которых пропала детекция

  • Очень быстрый и точный трекер, особенно с YOLOX

C. CenterTrack

  • Расширяет CenterNet: предсказывает как объекты, так и их движения

  • Joint detection and tracking

  • Прост и не требует ассоциации post-hoc

D. Tracktor

  • Использует object detector как трекер

  • Перемещает bbox с помощью regression head модели детекции

  • Не требует отдельного motion model

E. FairMOT

  • Одновременное обучение детекции и ReID с одним backbone

  • Балансирует точность и скорость

  • Подходит для edge-устройств

5. Объединение трекинга с сегментацией (Video Instance Segmentation)

В задачах видео-сегментации трекинг сочетается с детальной маской объекта.

Модели:

  • MaskTrack R-CNN — отслеживает и сегментирует объекты по маскам

  • STEm-Seg, SeqFormer, VisTR — использует Transformer для видео сегментации

  • XMem — память для продления масок во времени

6. 3D Tracking (Multi-camera, Lidar + camera)

В автономных системах трекинг проводится в пространстве:

  • Используются датчики: Lidar, Radar, IMU, RGB

  • Трекинг проводится в координатах мира (3D bbox)

  • Модели: AB3DMOT, CenterPoint, DeepFusion

7. Zero-shot / Prompt-based трекинг

Современные модели позволяют трекать объекты по заданному описанию или клику:

A. Track Anything / SAM + Tracking

  • Выбирается объект сегментацией (Segment Anything Model)

  • Используется optical flow или embedding matching по сегментам

B. XMem + Click

  • Один клик → сегментация объекта → трекинг маски

  • Подходит для редактирования видео

C. Grounding DINO + Tracking

  • Детектирует текстовый запрос (например: "woman with red dress")

  • После детекции — обычный ByteTrack

8. Обработка исчезновений, occlusion и ID-switch

Трекинг — это не просто связывание прямых траекторий:

  • Occlusion handling: скрытие объекта другим

    • Используются временные модели: LSTM, Kalman, memory attention
  • Re-identification: повторное появление

    • Модели ReID обучаются различать внешний вид
  • ID-switch: когда ID одного объекта переходит к другому

    • Решается с помощью appearance matching + motion prediction

9. Оценка качества трекеров

Метрики для SOT:

  • Precision (ошибка в пикселях)

  • Success rate (IoU): процент кадров, где IoU > threshold

Метрики для MOT:

  • MOTA (Multiple Object Tracking Accuracy)

  • IDF1 (соответствие ID)

  • MT / ML: доля полностью отслеженных/утерянных объектов

  • ID Switches: количество ошибок ID

10. Популярные датасеты

Датасет Назначение Особенности
OTB (Object Tracking Benchmark) SOT Разнообразие движений и деформаций
--- --- ---
GOT-10k SOT 10k видео, 563 классов
--- --- ---
LaSOT SOT (long-term) Очень длинные видео
--- --- ---
MOT17 / MOT20 MOT (много объектов, пешеходы) Сложные сцены
--- --- ---
DanceTrack MOT с похожими объектами Большое число ID-switch
--- --- ---
TAO Tracking Any Object Объекты любых классов
--- --- ---
BDD100K Multi-sensor трекинг Автомобили, ночная съёмка
--- --- ---

11. Библиотеки и фреймворки

  • OpenCV Tracker API: KCF, MIL, CSRT, MOSSE

  • PyTracking: глубокие SOT трекеры

  • FairMOT, DeepSORT, ByteTrack: для MOT

  • MMTracking (OpenMMLab): универсальный трекинг-фреймворк

  • TrackEval: для оценки MOTA, IDF1 и др.

Современные системы трекинга могут сочетать модели детекции, ReID, предсказания движения и сегментации. Выбор подхода зависит от числа объектов, требований к скорости, доступных данных и сложности сцены.