Advanced Computer Vision - Введение в прямое визуальное отслеживание!

Исходный узел: 1865647

Эта статья была опубликована в рамках Блогатон по Data Science

Задача отслеживания объектов на изображении - одна из самых актуальных и востребованных областей машинного обучения. Однако у нас уже есть огромное количество различных техник и инструментов. Эта статья поможет вам начать свое путешествие в мир компьютерного зрения!

Сначала мы познакомим вас с некоторыми типами методов визуального отслеживания. Далее мы объясним, как их классифицировать. Мы также поговорим о фундаментальных аспектах прямого визуального отслеживания, уделяя особое внимание методам на основе регионов и градиентов. Наконец, мы покажем вам, как реализовать эти методы в Python. Давайте начнем!

Визуальное отслеживание - Введение

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

Список наиболее распространенных устройств обработки изображений:

устройства изображения | Визуальное отслеживание

ИСТОЧНИК

Более того, визуальное отслеживание - очень популярная тема, потому что у нее есть приложения для решения самых разных задач. Например, он применяется в областях взаимодействия человека с компьютером, робототехники, дополненной реальности, медицины и вооруженных сил.

На следующем изображении показаны примеры приложений визуального отслеживания:

Приложения для визуального отслеживания

ИСТОЧНИК

Теперь давайте посмотрим, как мы можем классифицировать решения, доступные сегодня.

Классификация методов визуального слежения

Согласно нижеприведенным компонентам мы можем классифицировать известные методы визуального отслеживания:

методы визуального отслеживания

ИСТОЧНИК

Давайте углубимся в каждый компонент.

Объективная презентация

Во-первых, нам нужно сосредоточиться на том, какой объект мы отслеживаем. Этот компонент называется целями представления визуального отслеживания (целевым представлением). Есть несколько типичных изображений целей. Основные моменты:

объективная презентация | Визуальное отслеживание

ИСТОЧНИК

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

Модель внешнего вида

Итак, мы рассмотрели несколько способов представить нашу цель. Теперь давайте посмотрим, как смоделировать внешний вид цели. Идея внешней модели - описать целевой объект на основе доступной визуальной информации.

Гистограмма изображения

Например, на изображении ниже мы видим футболиста синего цвета, бегущего по полю. Игрок представлен ограничивающей рамкой.

Гистограмма изображения | Визуальное отслеживание

ИСТОЧНИК

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

Теперь проиллюстрируем это на примере. Например, у нас есть гистограмма, где 70% - синий, а 30% - зеленый. Это означает, что когда игрок движется, мы бы хотели маневрировать ограничивающая рамка вокруг область и найдите место с Самый лучший процент синего. Таким образом, как только мы найдем кадр, у нас всегда будет идеальное совпадение с исходной гистограммой. Таким образом мы можем отслеживать игрока.

Интенсивность изображения

Кроме того, мы можем использовать само эталонное изображение (эталон) в качестве модели внешнего вида. В этом случае целевой объект измеряется как набор яркостей пикселей. Например, если цель движется, наша цель - найти точное совпадение с эталонным изображением. Этот процесс называется сопоставлением с шаблоном. Он определяет область изображения, которая соответствует ранее определенному шаблону. Однако проблема с визуальным отслеживанием заключается в том, что изображение может деформироваться, инвертироваться, проецироваться и т. Д. Это означает, что сопоставление с образцом не будет работать очень хорошо, если изображение искажено.

интенсивность изображения | Визуальное отслеживание

ИСТОЧНИК

Мы также можем представить цель с помощью банка фильтров, который вычисляет результирующее изображение, используя первый яркость пикселей. Мы можем использовать поля распределения как образец внешнего вида.

Атрибуты изображения

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

ИСТОЧНИК

Разложение подпространства

В некоторых случаях подпространства эталонного изображения используются для имитации внешнего вида объекта. Эти более сложные модели оказались очень полезными в ситуациях, когда внешний вид отслеживаемого объекта меняется со временем. В этом контексте часто используются подходы, основанные на анализе главных компонентов и словарях. Здесь вы можете проанализировать эталонное изображение целевого объекта. Например, предположим, что у нас есть набор данных с изображениями 100 человек. Мы получим среднее изображение и добавим один компонент. Этот компонент фиксирует направление взгляда человека - влево или вправо. Затем мы можем использовать этот компонент для поиска людей, смотрящих направо (Eigenface - один из подходов к распознаванию людей на изображении).

Далее мы сосредоточимся на типах моделей внешнего вида, которые часто используются в методах отслеживания на основе региона.

Методы отслеживания в зависимости от региона

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

отслеживание по регионам

ИСТОЧНИК

Теперь, когда мы приняли модель внешнего вида для нашего целевого объекта, нам нужно смоделировать его движение в сцене. Это означает, что проблема слежения решается путем нахождения параметров модели движения. Сходство между эталонным изображением и исходным целевым изображением максимизируется параметрами модели движения. Например, предположим, что цель движется по сцене только по горизонтали и вертикали. В этом случае простой трансляционной модели с двумя параметрами tx и ty будет достаточно для имитации положения эталонного изображения.

Естественно, если целевой объект перемещается более сложным образом, нам необходимо настроить и использовать более сложные модели трансформации с дополнительными степенями свободы, как показано ниже:

матрица расстояний | Визуальное отслеживание

Например, если мы отслеживаем обложку книги, мы должны использовать модель проекции с 8 степенями свободы. С другой стороны, если цель не жесткая, то нам нужно использовать деформируемую модель. Таким образом, мы могли бы использовать B-сплайн или тонкие пластины для правильного описания деформации объекта.

Параметрические модели деформируемы:

Чтобы инициализировать поиск его текущей позиции, мы часто используем позицию целевого объекта в предыдущих кадрах. Итак, учитывая вектор параметров p t-1, нашу движущуюся модель в предыдущем кадре t-1, наша задача состоит в том, чтобы найти новый вектор pt, который наилучшим образом соответствует эталонному и текущему изображениям.

Функция подобия

Это подводит нас к очень интересному вопросу: что лучше всего подходит для эталона и текущего изображения? Чтобы найти наилучшее совпадение, вам нужно найти ту часть текущего изображения, которая больше всего похожа на эталонное изображение. Это означает, что мы должны выбрать функцию подобия f между эталонным и исходным изображениями. Это использовалось при сопоставлении с образцом. В следующем примере мы видим, что сходство между первыми двумя изображениями должно быть больше, чем сходство между вторыми двумя изображениями.

функция подобия | Визуальное отслеживание

Несколько функций подобия используются для вычисления сходства между шаблоном и исходным изображением. Вот несколько из них:

Функции подобия:

  • Сумма абсолютных разностей (SAD)

  • Сумма квадратов разностей (SSD)

  • Нормализованная кросс-корреляция (NCC)

  • Взаимная информация (MI)

  • Индекс структурного сходства (SSIM)

Итак, мы выяснили, что для отслеживания нужно выбрать модель внешнего вида целевого объекта, модель движения и функцию подобия, чтобы определить, насколько эталонное изображение похоже на исходное изображение в видео. Учитывая параметры p t-1 для предыдущего кадра t-1, нам необходимо разработать стратегию для нахождения новых параметров модели pt в текущий момент времени t. Самый простой подход - определить локальную область поиска вокруг предыдущих параметров p t-1. В приведенном ниже примере мы переместимся от -20 пикселей до +20 пикселей по оси X и от -20 пикселей до +20 пикселей по оси Y от позиции цели в предыдущем кадре (при условии, что у нас есть только широковещательная передача).

эталонное изображение

ИСТОЧНИК

С помощью предварительных знаний о движении объекта мы можем сократить исчерпывающий поиск в большой окрестности предыдущего положения объекта. Например, мы можем использовать классическую систему фильтрации Калмана или более сложные фильтры, такие как фильтр твердых частиц.

Градиентные методы

Другой очень модный Стратегия поиска - градиентный спуск. Сначала мы выбираем функцию подобия, которая дифференцируется по параметрам отслеживания и имеет гладкий и выпуклый ландшафт вокруг наилучшего соответствия. Затем мы можем использовать градиентные методы и найти оптимальные параметры модели трансформации (движения).

В следующем примере у нас есть случай, когда нам нужно вычислить SSD (сумму квадратов разностей).

градиентный метод

ИСТОЧНИК

Предположим, зеленый прямоугольник является эталонным изображением, и мы хотим проверить его сходство с исходным изображением (синий прямоугольник). Мы вычислим SSD, сдвинув синий прямоугольник так, чтобы он совпал с зеленым прямоугольником, и вычтем эти два изображения. Затем мы возводим разницу в квадрат и складываем. Если мы получим небольшое число, значит, у нас похожая картина. Этот процесс показан в следующий рисунок.

матрица |

Важно отметить, что SSD будет функцией вектора p, где p = [xy] - наш вектор. Здесь x и y - параметры перевода, которые мы ищем. Результат вычисления оценки SSD для синего прямоугольника для смещения плюс или минус пять пикселей вокруг оптимальной точки выравнивания дает нам эту кривую. Таким образом, мы ясно видим выпуклый и гладкий характер SSD в этом примере.

ssd |

ИСТОЧНИК

В приведенном выше примере справа мы видим двумерную функцию с высоты птичьего полета. Минимум находится в центре, а затем вокруг него располагаются высокие значения. Теперь, если мы хотим нарисовать эту функцию в одномерном виде, она будет выглядеть так:

функция

Допустим, мы смотрим по оси x. Сначала мы случайным образом выберем начальную позицию для x. Скажем, x = 4. Затем мы вычисляем градиент функции SSD. Далее мы узнаем, что нам нужно перейти к минимуму функции. Градиент подскажет нам, в каком направлении двигаться в исходном изображении.

Так в чем же главное преимущество градиентного спуска? Давайте возьмем пример модели преобразования с различными степенями свободы, например проективную модель, которую мы используем для отслеживания доски в следующем примере.

отслеживание

ИСТОЧНИК

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

исходное и шаблонное изображение

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

Это означает, что здесь у нас есть 8 степеней свободы, потому что в матрице у нас есть только 8 параметров и одно число, которое зафиксировано на 1. Итак, наш исходный прямоугольник теперь будет иметь изменение в перспективе. Это означает, что для расчета SSD, помимо нахождения параметров перемещения по x и y, нам также необходимо найти другие параметры для представления поворота, масштабирования, наклона и проекции.

Итак, главное преимущество градиентного спуска в том, что при повороте, масштабировании и деформации желаемого объекта нам не нужно перебирать 1000 и 1000 комбинаций, чтобы найти лучшие параметры преобразования. С градиентным спуском мы можем получить эти параметры с очень высокой точностью всего за несколько итераций. Таким образом, это значительная экономия вычислительных затрат.

Заключение

В этой статье мы узнали, что методы отслеживания изображений состоят из четырех основных компонентов: модели внешнего вида, модели трансформации, меры сходства и стратегии поиска. Мы представили несколько моделей внешнего вида, а также поговорили о моделях трансформации, как жестких, так и нежестких. Кроме того, мы рассмотрели, как рассчитать SSD, а также рассмотрели, как применять градиентный спуск, одну из наиболее распространенных стратегий поиска. В следующих статьях мы продолжим использовать эти методы.

Медиа, показанные в этой статье, не принадлежат Analytics Vidhya и используются по усмотрению автора.

Источник: https://www.analyticsvidhya.com/blog/2021/08/advanced-computer-vision-introduction-to-direct-visual-tracking/

Отметка времени:

Больше от Аналитика Видхья