Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Компьютерное зрение. Практикум
.pdf
legend=True)
visualize_mask(gt_mask, "Размеченная человеком маска")
Рисунок 4.8 – Результат работы обученной модели U-Net
Рисунок 4.9 – Истинная разметка, созданная специалистом и содержащаяся в
датасете
91

Задание.
В данной работе мы рассмотрели одну из самых популярных нейросетей для
решения задачи сегментации. Однако модель U-Net не является единственной
моделью, которая может решать задачу сегментации.
В библиотеке segmentation_models есть и другие модели для решения задачи
сегментации. Попробуйте взять одну из предобученных моделей и решить с
помощью нее задачу сегментации https://github.com/qubvel-
org/segmentation_models.pytorch?tab=readme-ov-file#architectures.
В качестве задачи можете взять следующие наборы данных:
– https://www.kaggle.com/datasets/ihelon/football-player-segmentation – На
фотографиях необходимо выделять футболистов.
– https://www.kaggle.com/datasets/rajkumarl/people-clothing-segmentation –
Выделить область одежды и определить ее тип.
– https://www.kaggle.com/datasets/faizalkarim/flood-area-
segmentation?select=Mask – Необходимо выделить области, на которых находится
вода.
– https://www.kaggle.com/datasets/quadeer15sh/augmented-forest-segmentation –
Выделить область, где находится лес на фотографии.
– https://www.kaggle.com/datasets/sadhliroomyprime/football-semantic-
segmentation – Тоже про футбол только теперь надо еще уметь классифицировать,
кто именно на поле находится Судья, футболист первой команды, футболист второй
команды тренер и т.д.
– https://www.kaggle.com/datasets/saifkhichi96/bank-checks-signatures-
segmentation-dataset – выделить подписи на фотографии с банковских чеков.
92

5 Алгоритмы отслеживания
Алгоритмы
отслеживания
Отслеживание
одного объекта
(Single-Object
Tracking)
CSRT
KCF
MIL
MedianFlow
...
Отслеживание
нескольких
объектов
(Multi-Object
Tracking)
SORT
BotSORT
ByteTrack
....
Задача отслеживания – это задача в компьютерном зрении, которая включает в
себя обнаружение и отслеживание объектов в видеоряде. Цель состоит в том, чтобы
идентифицировать и локализовать интересующие объекты в каждом кадре, а затем
связать их между кадрами, чтобы отслеживать их перемещения с течением времени.
Эта задача является сложной из-за таких факторов, как затенение, размытость при
движении и изменения внешнего вида объекта, и обычно решается с
использованием алгоритмов, которые объединяют методы обнаружения объектов и
сопоставления данных.
Задача отслеживания подразделяется на два типа: задача отслеживания одного
объекта (SingleObjectTracking) и задача отслеживания нескольких объектов (Multi-
Object Tracking). На рисунке 5.1 представлены типы задач отслеживания и
перечислены популярные алгоритмы, которую решают соответствующую задачу.
Рисунок 5.1 – Типы задач отслеживания
93

В рамках нашей работы необходимо решить задачу отслеживания для
нескольких транспортных средств на представленном пользователем видеоряде. Это
означает, что нам необходимо решать задачу отслеживания нескольких объектов.
Метрики оценки качества алгоритмов отслеживания. Прежде чем
проводить анализ алгоритмов отслеживания, определим основные метрики качества
данных алгоритмов.
MOTA (Multi-ObjectTrackingAccuracy) – данная метрика позволяет оценить
ошибки совершаемые алгоритмом трекинга. Для расчета значения данной метрики
используется следующая формула 1:
(1)
где – количество истинных объектов,
(FalseNegatives) – общее число, которое, не было отслежено
алгоритмом трекинга,
(FalsePositives) – число ложных срабатываний на объекте,
– число случаев, когда идентификатор объекта неверно сменяется.
Метрика IDF позволяет оценить отношение правильно идентифицированных
обнаружений к среднему значению достоверности истинных и прогнозируемых
обнаружений, формула 2:
(2)
где IDTP, IDFP, IDFN – True Positive, False Positive, False Negative
обнаружения.
Метрика HOTA (HigherOrderMetricforEvaluatingMulti-ObjectTracking) была
предложена в 2020 году [Ошибка! Неизвестный аргумент ключа.] и объединяет в
94

себе три показателя, которые характеризуют трекер:
1 Localization (локализация) – это способность насколько точно bounding-box
(ограничивающая рамка) предсказанная моделью совпадает с истинной. На рисунке
5.2 представлена наглядная диаграмма, показывающая каким образом можно
вычислить метрику Loc-IoU, которая определяет степень локализации модели.
Рисунок 5.2 – Диаграмма, демонстрирующая метрику Loc-IoU
2 Detection (обнаружение) – это способность обнаруживать такое же
количество объектов на изображении, как и на размеченном человеком. Для того
чтобы рассчитать насколько точно происходит детекция, можем использовать
метрику Det-IoU. Для того чтобы ее рассчитать, необходимо определить какие
детекции (рамки) среди предсказанных и истинных совпадают. Чтобы это
определить, можно задать порог пересечения. Например, будем считать, что если у
двух рамок значение то будем считать, что рамки пересекаются. Эти
совпадающие пары обнаружений называются истинно положительными (TP –
TruePositive), и их можно рассматривать как пересечение между двумя наборами
95

обнаружений. Предсказанные обнаружения, которые не совпадают, являются
ложноположительными (FP – FalsePositive), а ложноотрицательные обнаружения,
которые не совпадают, являются ложноотрицательными (FN). Для расчета значения
можно воспользоваться следующей формулой 3:
(3)
3 Association (ассоциация) – это способность трекера сохранять связь об
объектах между кадрами, то есть сопоставлять одному и тому же объекту на разных
кадрах одинаковый индивидуальный номер (ID). Пересечение между двумя треками
может быть измерено как количество истинно положительных совпадений между
двумя треками. Эти истинно положительные ассоциации называются TPA (от англ.
TruePositiveAssociation). Любые оставшиеся обнаружения в прогнозируемом треке
(которые либо сопоставляются с другими треками, подтверждающими
достоверность данных, либо вообще отсутствуют) являются ложноположительными
ассоциациями FPA (от англ. FalsePositiveAssociation), а любые оставшиеся
обнаружения в треке, подтверждающем достоверность данных, являются
ложноотрицательными ассоциациями FNA (от англ. FalseNegativeAssociation).
Рассчитывается значение Ass-IoU по следующей формуле 4:
(4)
Общей оценкой, которая позволяет судить о качестве локализации,
обнаружения и детекции, является метрика HOTA, которая вычисляется следующим
образом по формуле 5:
(5)
Заметим что, значение неявным образом вычисляется с помощью Loc,
поэтому утверждение о зависимости метрики HOTA от трех величин является
96

верным. Значение является пороговым значением, которое использовалось при
детекции. Для общей оценки высчитывается значение для интервала
значений .
Метрика FPS (framepersecond) – количество кадров видео, которые
обрабатывает алгоритм за одну секунду.
Алгоритм SORT. Одним из простых алгоритмов для отслеживания
нескольких объектов является алгоритм SORT (SimpleOnlineandRealtimeTracking) –
данный алгоритм представляет собой совместное использование двух алгоритмов,
фильтр Калмана и Венгерского алгоритма.
Фильтр Калмана – является одним из самых распространенных алгоритмов
фильтрации данных. Для задачи отслеживания объекта на видео фильтрация данных
необходима так как позволяет сгладить погрешности алгоритмов обнаружения.
Приведем пример погрешностей. Например, при использовании алгоритмов
обнаружения может возникать ситуация, когда объект бывает обнаружен на одном
из кадров видеопотока, а на следующем кадре уже не сумел обнаружить этот объект
иными словами произошло ложноотрицательное срабатывание алгоритма. В
результате чего возникают пропуски данных, и последующая обработка может
давать уже неверные результаты. Или, например, ситуация, когда два объекта
движутся на встречу друг другу, в момент, когда один объект закроет собой другой,
мы можем его не обнаружить или вообще перепутать их между собой. То есть
объект, который двигался, например, в левую сторону, при пересечении с объектом,
который двигался в правую сторону будет уже считаться как объект, который
движется в право.
Алгоритм фильтрации Калмана состоит из двух фаз. На первой фазе
происходит предсказание (экстраполяция) переменных состояния на основе
прошлых состояний. Предсказанное значение именуется как априорное значение,
так как оно получено с помощью математической модели и не было замерено
вручную. На второй фазе происходит корректировка результата предсказания, при
помощи измерений состояния системы. Полученное значение является
апостериорным.Фазы чередуются между собой, в результате возникает замкнутый
97

процесс, априорные результаты вычисляются исходя из результатов корректировки
на прошлой итерации алгоритма, а фаза корректировки уточняет получившиеся на
первой фазе априорное значение.
После того как мы получаем координаты ограничивающих рамок нам нужно
провести сопоставление ограничивающих рамок между кадрами видеопотока и
присвоить каждой рамке ее уникальный номер (ID). Для решения этой задачи в
алгоритме SORT используется венгерский алгоритм.
Венгерский алгоритм был предложен и разработан американским
математиком Гарольдом Куном в 1955 году для решения задачи о назначениях.
Задача о назначениях заключается в нахождении полного паросочетания
минимального веса в заданном двудольном графе. Отметим, что паросочетанием
называется сумма весов ребер в взвешенном двудольном графе. Иными словами,
задачу о назначениях можно представить так. Пусть существует работников, и
работ которые необходимо сделать. Также известна матрица в которой
–
стоимость за которую ый работник выполнит работу . Задача о назначениях
заключается в том, чтобы найти такое распределение работ между работниками
чтобы общая сумма была минимальной. В рамках данной работы задача о
назначениях заключается в следующем. Пусть на прошлом кадре мы обнаружили
ограничивающих рамок и ограничивающих кадров на текущем кадре. Стоимостью
в данном случае будет являться разница в координатах между ограничивающими
рамками на прошлом и текущем кадре. Решением будет сопоставлением
ограничивающих рамок, которые были на прошлом кадре и рамок, которые
находятся на текущем кадре. Венгерский алгоритм решает задачу итерационно,
последовательно приближаясь к решению.
Асимптотика венгерского алгоритма в первоначальном варианте которая была
предложена Гарольдом Куном составляла . Позднее независимо друг от друга
два американских ученых Ричард Карп и Джек Эдмондс предложили модификацию
алгоритма, которая понижает асимптотику до .
Используя эти два алгоритма, а также данные об обнаружении в предыдущем
и текущем кадре, алгоритм выполняет отслеживание нескольких объектов на
98

видеопотоке.
Алгоритм ByteTrack. Алгоритм ByteTrack в отличии от алгоритма SORT
применяет более совершенные методы для повышения метрики IDF. Так, алгоритм
учитывает все ограничительные рамки, которые были получены с помощью
алгоритма обнаружения, а не те, которые имеют высокий балл сопоставления. Все
обнаруженные рамки разделяются на две группы: рамки с высокой вероятностью
обнаружения (detectionscore), и рамки с низкой вероятностью обнаружения. Затем с
помощью указанного выше фильтра Калмана предсказываются значения где могут
находится ограничивающие рамки на следующем кадре. Теперь рамки, которые
имели высокий показатель detectionscore сопоставляются только между собой, так
как таких рамок вероятно не много венгерский алгоритм, выполнит задачу
сопоставления достаточно быстро. Теперь если среди первой группы остались
рамки, которые не были поставлены в соответствие они добавляются во вторую
группу. Вторая группа уже отдельно сопоставляется между собой.
Сохранение рамок, которые имеют низкое значение detectionscore происходит
из-за того, что авторы статьи считают, что алгоритм обнаружения распознал объект,
но из-за размытия в движении «уверенность» алгоритма является низкой.
Достоинства алгоритма заключаются в его высокой скорости работы и
устойчивости к «размытиям» которые происходят если объект двигался очень
быстро. Однако из-за того, что алгоритм использует несколько раундов
сопоставления, он может работать медленнее чем методы, которые используют
только один раунд с сопоставлением только тех рамок, у которых высокая
вероятность обнаружена.
Алгоритм BotSort. Алгоритм BotSort имеет несколько отличий от
представленных выше алгоритмов. В частности, исследователи используют
улучшение фильтра Калмана, которая обеспечивает наиболее точную
предсказательную способность. Также для повышения качества отслеживания
используется стандартный алгоритм стабилизации кадров на видео. Это позволяет
сделать координаты обнаружения менее разбросанными и повышает качество
отслеживания. Для обеспечения высокой скорости работы алгоритм BotSort
99

игнорирует низко достоверные обнаружения.
В результате алгоритм BotSORT имеет высокую скорость работы по
сравнению с алгоритмом ByteTrack, однако такая скорость обходится точностью. В
случае, когда количество объектов достаточно велико, и размер ограничивающих
рамок мал (например, объект находится далеко от видеокамеры).
5.1 Лабораторная работа № 5 Алгоритмы отслеживания
Задача отслеживания – это задача в компьютерном зрении, которая включает в
себя обнаружение и отслеживание объектов в видеоряде. Цель состоит в том, чтобы
идентифицировать и локализовать интересующие объекты в каждом кадре, а затем
связать их между кадрами, чтобы отслеживать их перемещения с течением времени.
На рисунке 5.3 представлен пример работы алгоритма отслеживания.
Рисунок 5.3 – Пример работы алгоритма отслеживания
На каждом кадре видео нейронная сеть решает задачу детекции объектов. В
результате для каждого кадра мы имеем набор ограничивающих рамок (boudingbox).
Затем специальный алгоритм отслеживания сопоставляет рамки между кадрами
чтобы определить направление движения объекта на видео.
100
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
