Какие методы вы знаете для трекинга объектов на видео?
Трекинг объектов на видео (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, предсказания движения и сегментации. Выбор подхода зависит от числа объектов, требований к скорости, доступных данных и сложности сцены.