Визуальное сопровождение цели (трекинг)
Кратко
Визуальное сопровождение (video tracking, трекинг) — определение положения движущегося объекта от кадра к кадру по видео с камеры. В отличие от детекции, которая заново находит объекты на каждом кадре, трекер удерживает идентичность цели во времени: «этот пешеход на новом кадре — тот же, что и на предыдущем». Без трекинга невозможны подсчёт объектов, анализ траекторий и автоматическое удержание цели камерой.
Для чего используется
- охрана и видеонаблюдение: сопровождение людей и транспорта в кадре;
- управление трафиком: подсчёт и анализ траекторий транспорта;
- спортивная аналитика: сопровождение мяча и игроков;
- дополненная реальность — привязка виртуальных объектов к реальным;
- взаимодействие человек-компьютер и медицинская визуализация;
- сжатие видео.
Как работает
Алгоритм трекинга состоит из двух частей: представление и локализация цели (найти похожий на цель участок нового кадра — это требует немного вычислений) и фильтрация с ассоциацией данных (учесть динамику движения и связать наблюдения между кадрами — вычислений нужно больше, зато трекер не теряет цель при перекрытиях).
Одиночный трекинг. Классические методы ведут одну цель по её внешнему виду: mean-shift итеративно максимизирует меру сходства с образцом, корреляционные фильтры (KCF, CSRT — есть готовые в OpenCV) ищут отклик шаблона. Движение цели предсказывает фильтр Калмана — рекурсивный алгоритм оценки состояния по зашумлённым измерениям (Калман, 1960); для нелинейных и негауссовых случаев — фильтр частиц.
Многообъектный трекинг. Доминирует парадигма tracking-by-detection: на каждом кадре работает детектор, а трекер сопоставляет свежие детекции с существующими треками. Эталон минимализма — SORT (Bewley et al., ICIP 2016): фильтр Калмана предсказывает, куда сместилась рамка, венгерский алгоритм решает задачу назначения «какая детекция — чей трек». Обновление занимало 260 Гц — в 20+ раз быстрее трекеров state-of-the-art того времени. Качество при этом определяется детектором: его замена улучшала результат SORT до 18,9%.
Слабое место чисто геометрического подхода — перекрытия: когда объекты заслоняют друг друга, треки путаются. DeepSORT (Wojke et al., 2017) добавил к SORT внешний вид: нейросеть, обученная на датасете переидентификации людей, выдаёт вектор признаков внешности, и детекции связываются с треками по близости этих векторов. Число перепутываний идентичности снизилось на 45%, объект переживает более длительные заслонения.
Аналогия: SORT следит только за тем, «куда двигался» объект; DeepSORT ещё и помнит, «как он выглядел».
Основные компоненты
- детектор объектов — источник наблюдений в tracking-by-detection;
- модель движения — фильтр Калмана или фильтр частиц: предсказание позиции;
- ассоциация данных — венгерский алгоритм, метрики близости (IoU, признаки внешности);
- модель внешности — сеть переидентификации (re-ID) в DeepSORT и наследниках.
Примеры
- OpenCV 4.x — готовые одиночные трекеры TrackerKCF и TrackerCSRT с единым API, задуманным для сравнения алгоритмов.
- SORT / DeepSORT — открытый код, стандартные базовые методы многообъектного трекинга.
- Ultralytics YOLO — режим сопровождения множества объектов встроен рядом с детекцией и сегментацией: практичный путь «детекция + трекинг» одной библиотекой.
Связанные темы
Источники
- Wikipedia — Video tracking — определение, компоненты, классические методы, применения.
- SORT (Bewley et al., ICIP 2016) — tracking-by-detection, фильтр Калмана + венгерский алгоритм.
- DeepSORT (Wojke et al., 2017) — метрика внешности, снижение перепутываний на 45%.
- OpenCV — модуль tracking — готовые трекеры KCF/CSRT.
- Ultralytics YOLO — документация — встроенный многообъектный трекинг.
- Kalman, 1960 — первоисточник фильтра Калмана.