Трекинг объектов (Object Tracking)
Трекинг объектов — задача Компьютерного зрения (CV), в которой необходимо не только обнаружить объект на кадре, но и сохранить его идентификатор при перемещении между кадрами видео. Трекер отвечает на вопрос: «Где находится тот же самый объект на следующем кадре?» Если детектор объектов работает с каждым кадром независимо, то трекер связывает обнаружения между кадрами и восстанавливает траекторию движения объекта.
Зачем нужны трекеры
Представим видео с несколькими людьми. Детектор объектов (например, YOLO) может определить:
- человек №1
- человек №2
- человек №3
Но на следующем кадре он снова найдёт трёх людей, не понимая, кто из них кто. Трекер решает эту проблему:
- присваивает каждому объекту уникальный ID
- сохраняет этот ID между кадрами
- восстанавливает траекторию движения
Например:
Кадр 1:
ID 7 → человек слева
Кадр 2:
ID 7 → тот же человек
Кадр 3:
ID 7 → всё ещё тот же человек
Как работает
Большинство современных трекеров получают на вход:
- видео
- результаты Object Detection
На каждом кадре происходит:
- обнаружение объектов
- прогнозирование положения объектов на следующем кадре
- сопоставление новых детекций с существующими треками
- обновление координат и ID
Основные компоненты трекера
Модель движения (Motion Model) предсказывает, где объект окажется на следующем кадре. Чаще всего используется фильтр Калмана (Kalman Filter)
Алгоритм сопоставления (Data Association) определяет, какая новая детекция соответствует какому объекту. Для этого используются:
- IoU (Intersection Over Union — пересечение объектов в %)
- расстояние между центрами объектов
- визуальные признаки объекта (Re-Identification)
Управление треками (Track Management) управляет жизненным циклом треков:
- создание нового трека
- обновление существующего
- удаление потерянного объекта
Популярные трекеры
ByteTrack
ByteTrack — один из самых популярных современных трекеров. Главная идея — использовать не только уверенные детекции, но и детекции с низким confidence. Большинство старых трекеров отбрасывали слабые детекции. ByteTrack показал, что такие детекции часто помогают не потерять объект во время:
- перекрытий (occlusion)
- размытия движения
- плохого освещения
OC-SORT (Observation-Centric SORT).
Авторы заметили проблему: прогноз фильтра Калмана может накапливать ошибки при перекрытии объектов. Поэтому OC-SORT делает больший акцент на реальных наблюдениях (observations), а не только на прогнозе движения.
Особенности
- более устойчив к окклюзиям
- лучше работает при резких изменениях движения
- сохраняет высокую скорость
Deep OC-SORT
Deep OC-SORT объединяет идеи OC-SORT и визуальные признаки объектов (Re-Identification). Теперь трекер учитывает не только:
- положение объекта
- скорость движения
но и внешний вид объекта.
Где используются трекеры
- видеонаблюдение
- анализ дорожного движения
- спортивная аналитика
- робототехника
- автономный транспорт
- подсчёт людей
- анализ поведения покупателей.