Алгоритм отслеживания целей видео является очень практичным и важным алгоритмом в машинном зрении.Алгоритм отслеживания целей видео имеет широкий спектр сценариев применения, таких как интеллектуальный мониторинг, система технического зрения роботов, виртуальная реальность (отслеживание человеческого тела), медицинская диагностика (отслеживание состояния клеток). ) и так далее. В этой статье Чжу Сяоли, инженер-алгоритм отдела продуктов ИИ команды Dipu Technology 2048 Team, представляет практику применения типичного алгоритма отслеживания нескольких целей, основанного на машинном зрении.
I. Обзор
Алгоритм сопровождения цели делится на SOT сопровождения одной цели (Single-Object Track) и MOT сопровождения нескольких целей (Multi-Object Track) [1][2]. При отслеживании одного объекта заданное начальное положение объекта используется для прогнозирования положения данного объекта в последующих видеокадрах. Однако большинство алгоритмов многоцелевого сопровождения не учитывают начальное положение цели, и цель может исчезнуть и сгенерироваться сама по себе. Для текущего группового проекта требуется только MOT, поэтому отслеживание, упомянутое в этой статье, по умолчанию является MOT.
Классификация ТО 1) TBD (отслеживание по обнаружению) и DFT (отслеживание без обнаружения), то есть многоцелевое отслеживание на основе обнаружения и многоцелевое отслеживание на основе предварительного знания формы цели без детектора. TBD в настоящее время является основным направлением исследований в научных кругах и промышленности.
- Существует два традиционных метода отслеживания: онлайн и офлайн. В алгоритме онлайн-отслеживания для отслеживания текущего кадра может использоваться только информация о текущем кадре и предыдущем кадре. В алгоритме офлайн-трекинга такого ограничения нет, для предсказания каждого кадра может использоваться информация всего видео, что упрощает получение глобального оптимального решения. Эти два метода имеют свои преимущества и недостатки. Как правило, это зависит от приложения. Эффект от алгоритма автономного отслеживания обычно лучше, чем от алгоритма онлайн-отслеживания. А между ними существует так называемый многоцелевой алгоритм отслеживания практически онлайн (NOMT), который может частично использовать информацию о будущих кадрах.
Что касается возможности изменения результатов отслеживания, онлайн-отслеживание не позволяет изменять предыдущие результаты отслеживания. Поскольку после изменения алгоритм, естественно, больше не соответствует принципу онлайн-отслеживания, поэтому он не может использовать будущие кадры, а затем становится методом отслеживания почти онлайн или офлайн.
Следует отметить, что онлайн-отслеживание не равно отслеживанию в реальном времени. Отслеживание в реальном времени должно относиться к онлайн-отслеживанию, но большинство алгоритмов онлайн-отслеживания слишком медленны для поддержки требований обработки в реальном времени. Learning , которое часто требует большого количества вычислений и оказывает большое давление на обработку в реальном времени.
MOT обычно используемые критерии оценки рисунок Таблица 1. Общие показатели оценки
Кроме того, есть два метода оценки: CLEAR MOT Metrics и ID Score, которые здесь подробно не рассматриваются.
Трудности ТО
Наиболее часто используемыми категориями MOT являются Tracking-By-Detection и Online, а также соответствующие этапы обработки алгоритма: рисунок Рис. 1. Этапы обработки алгоритма МОТ
Среди них есть две трудности: 1) Окклюзия, которая также является основной причиной обмена идентификаторами и сегментации траектории; 2) Две траектории очень близки, и идентификаторы, вероятно, будут неточными, неуместными или потерянными.
В настоящее время все алгоритмы преследования целей оптимизированы с учетом этих двух основных трудностей.Направление оптимизации вращается вокруг этих четырех шагов, таких как: использование частного набора данных для выбора подходящей модели обнаружения для повышения точности обнаружения;извлечение признаков не ограничивается общей CNN , но также существуют сети, такие как сиамская сеть; сходство между функциями больше не является простой метрикой расстояния, также используются CNN, RNN, LSTM и т. д.; в дополнение к традиционному классическому венгерскому алгоритму сопоставление данных может также рассматривать как задачу оптимизации графов.
Обычно используемые с лучшими эффектами следующие (подробности см. В разделе «Второй»): Сортировка (простое онлайн-отслеживание и отслеживание в реальном времени) Глубокая сортировка (глубокое простое онлайн-отслеживание и отслеживание в реальном времени) FairMot (простая основа для отслеживания нескольких объектов) Graphnn Многообъектное отслеживание. (далее сокращенно Графнн-мот)
Во-вторых, внедрение типовых алгоритмов отслеживания
- Сортировка и глубокая сортировка
Сортировка и глубокая сортировка[9] являются одними из классических алгоритмов отслеживания, блок-схема алгоритма выглядит следующим образом: рисунок Рисунок 2. Простая блок-схема алгоритма Deep Sort
Как показано на рисунке выше, модуль алгоритма основан на шагах алгоритма, обычно используемых в MOT: а) обнаружение, б) извлечение признаков, предсказание траектории, в) расчет подобия, г) сопоставление данных, алгоритм глубокой сортировки примерно эти четыре шага.Существует пять основных точек знаний: Setection, модель ReID, фильтр Калмана, iou и косинусное / маланланское расстояние, венгерский алгоритм.
Обнаружение: обычно используемые сети обнаружения, такие как Faster Rcnn, Yolov4, SSD и т. д., могут быть выбраны в соответствии с требованиями к точности или времени конкретного проекта. При воспроизведении этой статьи были опробованы несколько вышеуказанных сетей.Исходный код использует cascade-rcnn в рамках mmdetection framework Shangtang, но проект учитывает время и точность и, наконец, использует Yolov4[3] в качестве источника обнаружения.
Модель ReID: в исходном коде используется сеть с множественной гранулярностью, которая использует Resnet50 в качестве основы и ветвь Softmax_2048 в качестве функции идентификатора. Учитывая, что 2048-мерный объект слишком велик, сопоставление данных займет много времени, поэтому MobileNetv2[4] используется в качестве магистральной сети в общих проектах, а размерность id объекта может быть уменьшена до 751, что уменьшит количество вычисление.
Фильтр Калмана: фильтр Калмана, предсказывает положение центральной точки подтвержденного идентификатора в следующем кадре и размер окна. iou и косинусное расстояние: матрица стоимости, используемая для расчета сопоставления данных. Значение 1-iou используется в качестве значения расстояния между прямоугольниками, а значение функции косинусного расстояния используется в качестве расстояния между значениями объекта id.
Венгерский алгоритм: Венгерский алгоритм сопоставления используется для сопоставления корреляции между предсказанием цели и обнаружением цели для определения траектории цели.
Напротив, алгоритм сортировки имеет меньше модели ReID и оценки косинусного расстояния, чем алгоритм глубокой сортировки, поэтому переключение идентификаторов происходит слишком часто, а точность намного ниже. Скорость зависит почти исключительно от скорости предсказания модели обнаружения. Если требования к скорости очень высоки, вы можете рассмотреть возможность использования алгоритма сортировки.
- FairMot
Алгоритм отслеживания FairMot [10], схема обработки алгоритма выглядит следующим образом: рисунок Рисунок 3. Простая блок-схема алгоритма FairMot
Основные достижения алгоритма FairMot: А. По сравнению с предыдущим двухэтапным алгоритмом отслеживания (сначала обнаружение, а затем повторная идентификация), FairMot завершает обнаружение и передает сетевые параметры с повторной идентификацией, сокращая время вывода алгоритма и значительно повышая скорость.
б) По сравнению с предыдущим алгоритмом одношагового отслеживания JDE [12] имеются некоторые недостатки, такие как: объект может быть ответственным и обнаруживаться несколькими якорями, или центр фактического объекта может совпадать с центром якорь, отвечающий за обнаружение объекта. Существует отклонение, которое приведет к частому изменению идентификатора. Ввиду этих недостатков Fairmot не использует метод обнаружения на основе привязки, а вместо этого использует парадигму обнаружения цели без привязки.
Основные знания: эффективная и лаконичная сетевая структура DLA34, фильтр Калмана, iou и косинусное расстояние, венгерский алгоритм. Далее подробно описывается сеть DLA34.Что касается Калмана, метрик расстояний и венгерского алгоритма, содержание Deep Sort такое же, поэтому я не буду объяснять это здесь.
FairMot стремится объединить обнаружение и повторную идентификацию в сетевой структуре, и это должен быть метод обнаружения цели без привязки, поэтому сетевая структура DLA34 должна оценивать положение центральной точки цели и характеристики соответствующей цели. Схема сетевой структуры FairMot выглядит следующим образом: рисунок Рисунок 4. Схематическая диаграмма структуры сети FairMot и обнаружения
Основой DLA34 является Resnet34[5].Сетевая структура Resnet является важной вехой.По сравнению с обычной простой сетью,Resnet напрямую использует нисходящую выборку шага=2 и заменяет полностью подключенный уровень глобальным средним уровнем пула, поддерживая степень сложности сети и эффективно решить проблему деградации глубокой сети.
DLA34[6] является усовершенствованием Resnet34.В дополнение к Down Sample, есть также Up Sample, который чем-то похож на сетевую структуру FPN[7].Функции добавляются между уровнями, чтобы сделать многослойное слияние, и кросс шаг слоя=4.
заголовок тепловой карты: используется для оценки положения центра цели с использованием функции потерь, аналогичной фокальным потерям, подробности см. в исходном тексте.
Прямоугольная головка смещения: цель состоит в том, чтобы сделать предполагаемое целевое положение более точным и помочь в оценке целевого центрального положения. размер блока: для каждого предполагаемого целевого центра оцените длину и ширину соответствующего блока. Головки смещения и размера добавляются к функции потерь l1.
Ветвь Re-ID: задача классификации, целью которой является создание 64-мерных признаков для каждого предполагаемого центра цели, и эти признаки используются для последующего вычисления сходства целей в предыдущем и предыдущем кадрах. Используется общая функция потерь softmax.
- Graphnn-mot
Алгоритм Graphnn-mot [11], простая блок-схема выглядит следующим образом: рисунок Рисунок 5. Поток обработки алгоритма Graphnn-mot
Graphnn-mot — это автономный MOT, основанный на графовой нейронной сети [8], который использует структуру графа для одновременного извлечения признаков и сопоставления данных, а также предлагает сеть передачи информации с учетом времени для обновления информации об узле и границе соединения.
Основные точки знаний: построение графа, кодирование признаков, передача информации и прогнозирование траектории.
Построение изображения: выполнить обнаружение цели на всех изображениях, которые необходимо обнаружить (должна быть временная корреляция между изображениями, предпочтительно видео). Постройте граф, в котором узлы соответствуют целям обнаружения, а ребра соответствуют соединениям между целями обнаружения. Для каждого ребра в графе вводится бинарная переменная, если некоторые ребра соединяют узлы, принадлежащие одной дорожке и непрерывные во времени на одной дорожке, то ее метка равна 1, иначе — 0. Узел не может принадлежать более чем одному треку. В работе предлагается непосредственно узнавать, какое ребро в графе прогнозирования активировано, то есть конечное значение бинарной переменной на ребре, поэтому данная задача рассматривается как задача бинарной классификации на ребре, а метка значение двоичной переменной y.
Кодирование объектов: примените сверточную нейронную сеть к изображению ограничительной рамки, чтобы инициализировать вложения узлов внешнего вида. Для каждой пары обнаружений для каждого края, то есть другого кадра, мы вычисляем вектор с функциями, кодирующими относительный размер, положение и временную разницу между их ограничивающими прямоугольниками. Затем это подается в многослойный персептрон для получения геометрических вложений ребер.
Передача информации: мы выполняем серию шагов передачи информации по графу. Для каждого раунда передачи информации узлы обмениваются информацией о внешнем виде со своими соединенными ребрами, а ребра обмениваются информацией о геометрии со своими узлами-компаньонами. Наконец, можно получить обновленную информацию о встраивании для узлов и ребер, которая содержит информацию более высокого порядка, зависящую от всей структуры графа. Предсказание траектории: окончательная отслеживаемая траектория получается на основе непрерывного двоичного результата предсказания последних всех вложений ребер.
В-третьих, фактический анализ алгоритма тестирования
В этой статье алгоритмы Deep Sort, FairMot и Graphnn-mot тестируются горизонтально, а для оценки используются классические индикаторы отслеживания (см. Таблицу 1), а оценка основана на фактическом тестировании набора данных MOTChallenge. результаты следующие (см. Приложение 1 для тестовой среды): рисунок Таблица 2. Время и точность реальной проверки алгоритма отслеживания (значение точности см. в Таблице 1)
Как видно из таблицы, Farimot имеет преимущество по времени и точности. Существуют две основные причины, влияющие на точность:
- Обнаружить, что цель собрана, заблокирована, а частота переключений ID слишком высока. Все три алгоритма отслеживания имеют такую ситуацию, график серьезности mot>deep sort>fairmot, вы можете увидеть следующий пример переполненной сцены:
рисунок Группа 1: алгоритм отслеживания графа в людной сцене
рисунок Групповой рисунок 2: Алгоритм отслеживания глубокой сортировки в многолюдной сцене рисунок Группа 3: Алгоритм слежения Farimot в людных местах
Возьмем, к примеру, человека в красной рубашке, номер id, соответствующий графу mot: none->15->20, номер id постоянно меняется; номер id, соответствующий глубокой сортировке: 32->32->48, Идентификационный номер изменен частично, только в Идентификационный номер изменен в наиболее концентрированном месте, Идентификационный номер, соответствующий Fairmot: 30->30->30, Идентификационный номер был очень стабильным.
- Точность обнаружения целей невысокая, промахи и ложные обнаружения. Основная причина в том, что алгоритм graphnn mot имеет очевидный промах обнаружения, что можно увидеть в следующем примере:
рисунок Групповой рисунок 4: Алгоритм отслеживания Graphnn, пример обнаружения пропущенных целей
Для наиболее часто используемых в настоящее время алгоритмов слежения все они являются слежением по обнаружению, поэтому точность обнаружения цели напрямую влияет на точность слежения.
四、总结
Для модуля слежения в настоящее время существует лучшее решение, такое как использование MOTDT [13]. Этот алгоритм добавляет механизм оценки траектории на основе DeepSort. В настоящее время все модули слежения, используемые FairMOT и JDE, являются MOTDT. скорости, производительность этого алгоритма лучше.
Применение графовой нейронной сети в отслеживании все еще находится в зачаточном состоянии. Он относится к одному из алгоритмов автономного отслеживания, а результаты обнаружения цели и обнаружения ReID не сливаются, поэтому большого преимущества в плане скорости нет.
Для практических проектов наиболее важным фактором, влияющим на всеобъемлющий эффект отслеживания цели, является точность обнаружения цели.По сравнению с общедоступным набором данных, когда используется набор данных фактического проекта, после повышения точности обнаружения цели фактическое отслеживание Эффект может достигать более идеального уровня.
В настоящее время вышеуказанный алгоритм отслеживания использовался в проекте подсчета свиней Дипу на племенном предприятии, а также в проекте обнаружения и раннего предупреждения касок на строительной площадке предприятия по недвижимости, и добился хороших результатов и может продолжаться. создать новую ценность для предприятия.
Для получения подробных сценариев проекта, пожалуйста, войдите на официальный сайт Dipu Technology (www.deepexi.com).
использованная литература [1] Отслеживание нескольких объектов: обзор литературы.АР Вест V.org/ABS/1409.76… [2] Deep Learning in Video Multi-Object Tracking: a Survey. АР Вест V.org/PDF/1907.12… [3] YOLOv4: Optimal Speed and Accuracy of Object Detection. АР Вест V.org/PDF/2004.10… [4] MobileNetV2: Inverted Residuals and Linear Bottlenecks. АР Вест V.org/ABS/1704.04… [5] Deep Residual Learning for Image Recognition. АР Вест V.org/ABS/1512.03… [6] Deep Layer Aggregate. АР Вест V.org/PDF/1707.06… [7] Feature Pyramid Networks for Object Detection. АР Вест V.org/PDF/1612.03… [8] A Comprehensive Survey on Graph Neural Networks. АР Вест V.org/ABS/1901.00… [9] Simple Online and Realtime Tracking with a Deep Association Metric. АР Вест V.org/PDF/1703.07… [10] FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracking. АР Вест V.org/PDF/2004.01… [11] Learning a Neural Solver for Multiple Object Tracking. АР Вест V.org/PDF/1912.07… [12] Towards Real-Time Multi-object tracking. АР Вест V.org/PDF/1909.12… [13] Real-Time Multi People Tracking with Deeply Learned Candidate Selection and Person Re-Identification. АР Вест V.org/ABS/1809.04… [14] www.deepexi.com/
приложение
- Условия испытаний и окружающая среда
Конфигурация среды: Ubuntu 20.04.4LTS с одной картой GTX1060 CUDA версии 10.1. python=3.8.3 opencv-python=4.3.0.36 pytorch=1.4 torchvision cudatoolkit=10.1.243
набор данных: общедоступный набор данных: MOT2017-MOT2020 crowdhuman для обучения и тестирования модели обнаружения CUHK03 Market1501 DukeMTMC-reID MSMT17 для обучения модели reID
Для получения дополнительной информации, пожалуйста, посетите официальный сайт:www.deepexi.com