Топ-5 методов трекинга объектов

Обзор полезен начинающим специалистам, работающим над задачами в области компьютерного зрения. Например, методы помогают с фиксацией нарушений и мониторингом транспортного потока.
Над переводом материала работали специалисты CodeInside: Аня – маркетолог и переводчик, Ярослав и Никита – CV-инженеры.

Топ-5 методов трекинга объектов. Перевод статьи от команды CodeInside.

Трекинг объектов направлен на определение bounding boxes (границ объекта) и опознавательных данных объектов на видео. Для этого используется данные детектора объектов и специально разработанная визуальная модель, позволяющая отслеживать объекты в кадре по мере их перемещения. Кроме того, трекинг позволяет присваивать уникальный идентификатор (ID) каждому отслеживаемому объекту, благодаря чему становится возможным подсчет уникальных объектов на видео. Зачастую вокруг отслеживаемого объекта (цели) есть индикатор, например, ограничительный квадрат, который следует за объектом и показывает пользователю, где он находится.

Трекинг объектов широко применяется в области компьютерного зрения, например, в системах видеонаблюдения, взаимодействия человека с компьютером, мониторинга транспортного потока и распознавания человеческой активности.

SORT подразумевает алгоритмический подход к отслеживанию объектов при помощи детекции. Следуя принципу Бритвы Оккама*, SORT игнорирует прочие элементы за пределами детектируемого объекта. SORT использует местоположение и размер bounding box как для оценки движения, так и для сопоставления данных по кадрам. В качестве детектора объектов используется Faster R-CNN. Перемещение объектов в последовательных кадрах оценивается с помощью линейной модели постоянной скорости, которая не зависит от других объектов и движения камеры. Состояние каждого целевого объекта определяется как x = [u, v, s, r, u,’ v,’ s’] где (u, v) означает центр bounding box, r и u – масштаб и соотношение сторон. Остальные переменные означают соответствующие скорости.

Для присвоения ID, т.е. для реализации задачи сопоставления данных, используются новые целевые состояния для прогнозирования bounding boxes, которые затем сравниваются с обнаруженной областью на текущем временном интервале. Метрика IOU и венгерский алгоритм используются для выбора оптимальной области с целью передачи ID.

Показатели SORT при работе с датасетом MOT17:

  • 74.6 MOTA
  • 76.9 IDF
  • 291 ошибка присвоения идентификатора объекту (ID switches)
  • 30 FPS

DeepSORT

Несмотря на достижение в целом хорошей производительности с точки зрения точности трекинга, SORT демонстрирует большое количество ошибок присвоения ID объектам. Это приводит к невозможности работы по сложным сценариям ‒ появление помех, изменение ракурсов камеры и т.д. Чтобы преодолеть эти ограничения, DeepSORT заменяет метод сопоставления более сложным методом, который объединяет информацию о движении объекта и его внешнем виде. В частности, добавлена метрика расстояния ‘deep appearance’ (глубокое представление). Основная ее идея состоит в получении вектора признаков, который можно использовать для представления полученного изображения. Для того чтобы это сделать, DeepSORT создает классификатор и удаляет последний слой, указывающий на принадлежность какому-либо классу. В результате чего выходным остается слой, возвращающий вектор признаков.

Более того, DeepSORT создает дополнительные измерения для своей модели трекинга движения. Положение каждого целевого объекта обозначается в восьмимерном пространстве состояний (u, v, γ, h, x,˙ y,˙ γ, ˙ h˙), которое содержит координаты центральной точки bounding box (u, v), соотношение сторон γ, высоту h и их соответственные скорости в координатах изображения. Эти дополнения позволяют DeepSORT эффективно обрабатывать сложные сценарии и сокращать количество ошибок идентификации на 45%.

Показатели DeepSORT при работе с датасетом MOT17:

  • 75.4 MOTA
  • 77.2 IDF1
  • 239 ID switches (на 52 меньше, чем у SORT)
  • 13 FPS

Видим, что вместе со снижением количества ошибок снизилась также и скорость (почти в 2,5 раза).

FairMOT

Подход к отслеживанию объектов с точки зрения многозадачного обучения детекции объектов и их ре-идентификации в единой сети кажется привлекательным, поскольку он позволяет оптимизировать две задачи единовременно. Однако эти две задачи, как правило, конкурируют друг с другом. В частности, предыдущие работы обычно расценивают ре-идентификацию как вторичную задачу, на точность которой сильно влияет первичная задача по детекции. В результате этого сеть смещена в сторону первичной задачи по детекции, что негативно сказывается на задаче по ре-идентификации объектов.

Сравнение существующих one-shot трекеров и FairMOT. 

Три метода, указанные на схеме выше, по-разному извлекают признаки ре-идентификации. TrackR-CNN извлекает ре-идентификацию для всех положительных якорей, используя ROI-Align. JDE извлекает признак ре-идентификации в центрах всех положительных якорей. FairMOT извлекает признаки ре-идентификации в центре объекта.

FairMOT – это новый подход к трекингу, построенный поверх безъякорной (anchor-free) архитектуры обнаружения объектов CenterNet. Задачи детекции и ре-идентификации в FairMOT обрабатываются равномерно, что выгодно отличает этот метод от ее предшественников, работающих по принципу «сначала детекция, и только потом ре-идентификация». FairMOT обладает простой сетевой структурой, состоящей из двух однородных ветвей для детекции и извлечения признаков ре-идентификации.

Обзор FairMOT и сети кодирования/декодирования

FairMOT использует в качестве основы ResNet-34, т.к. она обеспечивает хороший баланс между точностю и скоростью. Улучшенная версия Deep Layer Aggregation (DLA) загружается в базовую сеть для объединения нескольких слоёв. Кроме того, слои свертки во всех модулях расширенной выборки заменяются деформируемыми свертками, чтобы они могли динамически регулировать поле восприятия в соответствии с масштабами и позициями объектов. Эти модификации также позволяют решить проблему выравнивания (неправильная работа классификатора при изменении объектом формы, ориентации или масштаба).

Ветви обнаружения и ре-идентификации

Ветвь обнаружения построена поверх CenterNet, к DLA-34 добавлены три параллельные направляющие для оценки тепловых карт, смещений центра объекта и размеров bounding box соответственно. Ветвь ре-идентификации предназначена для генерации признаков, которые могут различать объекты. В идеальном варианте сходство между различными объектами должно быть меньше, чем между одними и теми же объектами. Для достижения этой цели FairMOT применяет слой свертки со 128 ядрами поверх базовых объектов для извлечения признаков ре-идентификации для каждого местоположения. Объекты ре-идентификации изучаются с помощью задачи классификации. Все экземпляры объектов с одинаковым ID в обучающем наборе данных обрабатываются как один и тот же класс. Все эти улучшения помогают FairMOT достичь 77.2 MOTA и 79.8 IDF1 в датасете MOT17 со скоростью 25.9 FPS.

TransMOT

Достижения в области глубокого обучения вдохновили нас на изучение пространственно-временных взаимосвязей с использованием глубокого обучения. В том числе, успех трансформера предполагает новую парадигму моделирования временных зависимостей с помощью мощного механизма самоконтроля. Однако трекеры на его базе не смогли достичь необходимой по современным меркам производительности по ряду причин:

  • Видеозаписи могут содержать огромное количество объектов. Моделирование пространственно-временных отношений данных объектов с помощью общего трансформера неэффективно, поскольку оно не учитывает пространственно-временную структуру объектов.
  • Для моделирования долгосрочных временных зависимостей трансформеру требуется много вычислительных ресурсов и данных.
  • Детектор на базе DETR, используемый в этих работах, по-прежнему не соответствует современным стандартам.
Обзор TransMOT

TransMOT – это новый пространственно-временной преобразователь графов, который способен решить все эти проблемы. Он упорядочивает траектории всех отслеживаемых объектов в виде серии разреженных взвешенных графов, построенных с использованием пространственных отношений между целями. Затем TransMOT использует эти графы для создания слоя кодировщика преобразователя пространственного графика, слоя кодировщика временного преобразования и слоя декодера пространственного преобразования для моделирования пространственно-временных взаимосвязей объектов. Разреженность представлений взвешенного графа повышает вычислительную эффективность во время обучения и непосредственно работы (inference). Это более эффективная модель, чем обычный трансформер, поскольку она использует структуру объектов.

Для повышения скорости и точности отслеживания, TransMOT внедряет систему каскадного соотношения для обработки объектов с низким показателем обнаружения (низким confidence) или перекрытых помехами или другими объектами. TransMOT также может объединяться с различными детекторами объектов или подсетями извлечения визуальных признаков для формирования единого комплексного решения. Это позволяет разработчикам использовать самые современные детекторы для отслеживания объектов. TransMOT достигает 76.7 MOTA и 75.1 IDF1 в датасете MOT17 со скоростью 9.6 FPS.

ByteTrack

Большинство методов трекинга получают идентификационные данные, связывая detection boxes (рамки обнаружения) с показателями, превышающими пороговое значение. Объекты с низкими показателями обнаружения (confidence) попросту игнорируются, что приводит к значительной утрате истинных объектов и фрагментации траекторий. BYTE является эффективным методом соотнесения, который использует в процессе сопоставления все detection boxes – как с высокими, так и с низкими показателями.

В кадре t1 распознаются три разных треклета (последовательностями кадров, относящимися к одному и тому же объекту), поскольку показатель каждого из них превышает 0.5. Однако на кадрах t2 и t3, когда появляется перекрытие, соответствующий показатель красного треклета снижается с 0.8 до 0.4, а затем с 0.4 до 0.1. Detection boxes удаляются с помощью механизма установления порогового значения, и красный треклет исчезает. С другой стороны, если мы примем во внимание все detection boxes, будет введено больше ложно-положительных детекций, например, самое правое поле в кадре t3.

В основе BYTE лежит идея о том, что сходство с треклетами является сильным индикатором для различения объектов и фона в detection boxes с низкими оценками. BYTE сначала соотносит detection boxes с высокими показателями и треклеты на основе сходства движения. Он использует фильтр Калмана, чтобы спрогнозировать местоположение треклетов в новом кадре. Сходство движения вычисляется с помощью IoU предсказанного поля (prediction bounding box) и поля обнаружения (detection bounding box). Затем он выполняет второе сопоставление между несоотнесенными треклетами, т.е. между треклетом в красной рамке и detection boxes с низким показателем. В результате, перекрытый другим объектом человек с низкими показателями распознавания правильно сопоставляется с предыдущим треклетом, а фон удаляется.

Показатели производительности трекеров при работе с бенчмарком MOT17

При использовании с девятью различными современными трекерами, BYTE обеспечивает последовательное улучшение показателей IDF1. Чтобы повысить производительность до необходимых значений, BYTE был оснащен высокопроизводительным детектором YOLOX, чтобы в итоге получился мощный трекер ‒ ByteTrack.

ByteTrack – первый метод трекинга, позволяющий достичь 80.3 MOTA, 77.3 IDF1 и 63.1 HOTA в датасете MOT17. При этом количество ошибок присвоения ID снизилось до 159, а скорость достигла показателя в 30 FPS на одном графическом процессоре.

Автор оригинальной статьи: Aditya Singh.

Перейти на оригинальную статью.

0
4 комментария
Robert Takaev

А зачем переводить статью от 2021 года, когда в рейтинге по ссылке уже есть BoT-SORT и SMILEtrack?

Ответить
Развернуть ветку
CodeInside
Автор

Потому что материал и его основополагающие тезисы не потеряли своей актуальности. Тем более статья не была переведена на русский язык. И начинающим специалистам будет полезно изучить эти вещи.

Ответить
Развернуть ветку
Robert Takaev

Согласен, но думаю, стоило актуализировать ее хоть немного, ладно бы месяц прошел или полгода)

Ответить
Развернуть ветку
CodeInside
Автор

В ближайшее время так и сделаем. Статья объемна, актуализация - тема отдельной публикации) Здесь статья полностью авторская :)

Ответить
Развернуть ветку
1 комментарий
Раскрывать всегда