Трекинг объектов (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). Теперь трекер учитывает не только:

  • положение объекта
  • скорость движения

но и внешний вид объекта.

Где используются трекеры

  • видеонаблюдение
  • анализ дорожного движения
  • спортивная аналитика
  • робототехника
  • автономный транспорт
  • подсчёт людей
  • анализ поведения покупателей.