Галантерея | Понимание алгоритма обнаружения локальных характерных точек изображений в одной статье

искусственный интеллект

Приходите на сайт FlyAI (flyaiwx), чтобы узнать больше.

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

1 Местные особенности

Извлечение признаков изображения является предпосылкой анализа и распознавания изображений. Это наиболее эффективный способ упростить и выразить многомерные данные изображения. Из матрицы данных M×N×3 изображения мы не можем увидеть никакой информации. Поэтому мы должны извлечь ключевую информацию в изображении, некоторые основные элементы и их взаимосвязь по этим данным.

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

Капли и углы — это два типа локальных характерных точек. Пятнышко обычно относится к области, которая отличается по цвету и оттенкам серого от своего окружения, например, к дереву или дому в прерии. Это площадь, поэтому она более шумная и стабильная, чем углы. Углы — это углы объекта на изображении или точки пересечения линий.

2 Принцип и пример обнаружения спеклов

2.1 Лог и DoH

Методы обнаружения блоба в основном включают метод обнаружения с использованием гауссовского оператора Лапласа (LOG) и метод с использованием пиксельной матрицы Гессе (дифференциала второго порядка) и значения ее определителя (DOH).

Метод LoG был подробно описан в этой статье об обнаружении спеклов. Поскольку ядро ​​Лапласа двумерной функции Гаусса похоже на каплю, можно использовать свертку, чтобы найти структуру, похожую на каплю, на изображении.

Метод DoH заключается в использовании дифференциальной матрицы Гессе второго порядка точек изображения:

Значение определителя матрицы Гессе также отражает локальную структурную информацию изображения. По сравнению с LoG, DoH лучше подавляет зернистость тонких структур на изображении.

Будь то LoG или DoH, они обнаруживают капли на изображении, и шаги можно разделить на следующие два шага:

1) Используйте другую генерацию σ

шаблон и выполнить операцию свертки над изображением;

2) Поиск пиков ответов LoG и DoH в пространстве положения и пространстве масштаба изображения.

2.2 SIFT

В 2004 году Лоу улучшил эффективный алгоритм преобразования инвариантных к масштабу признаков (SIFT), который использует свертку исходного изображения и ядро ​​Гаусса для установления масштабного пространства и извлекает инвариантные к масштабу характерные точки на гауссовской пирамиде разностного пространства. Алгоритм обладает определенной аффинной инвариантностью, инвариантностью угла обзора, инвариантностью вращения и инвариантностью освещения, поэтому он широко используется для улучшения характеристик изображения.

Алгоритм можно грубо свести к трем этапам: 1) построение гауссовой разностной пирамиды; 2) поиск точек признаков; 3) описание признаков.

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

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

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

Последним шагом является описание характеристик характерных точек. Чтобы найти направление характерной точки, необходимо выполнить статистику гистограммы по направлению градиента точек в окрестности характерной точки и выбрать направление с наибольшей долей на гистограмме в качестве основного направления характерной точки. , а также можно выбрать дополнительное направление. При вычислении вектора признаков необходимо повернуть локальное изображение вдоль основного направления, а затем ввести статистику гистограммы градиента (4x4x8) в окрестности.

2.3 SURF

В 2006 году Бэй и Эсс и др. предложили ускоренную надежную функцию (SURF), основанную на идее алгоритма SIFT, Этот алгоритм в основном нацелен на недостатки алгоритма SIFT, который слишком медленный и требует большого количество вычислений.Приблизительный метод вейвлета Харра используется для извлечения признаков.Точка, этот метод основан на методе определения точечных признаков детерминанта Гессе (DoH). Используя интегральные изображения в разных масштабах, можно эффективно вычислять приблизительные значения вейвлета Харра, что упрощает построение дифференциальных шаблонов второго порядка и повышает эффективность обнаружения признаков в масштабном пространстве.

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

где Dxx, Dxy и Dyy — приблизительные значения свертки, полученные с помощью блочного фильтра. Если c(x, y, σ) больше установленного порогового значения, пиксель определяется как ключевое слово. Затем, аналогично алгоритму SIFT, немаксимальное значение подавляется в окрестности пикселя 3 × 3 × 3 с центром в ключевой точке Наконец, точное позиционирование характерной точки SURF завершается путем интерполяции признака блоба.

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

3 Принципы и примеры обнаружения углов

Существует также множество методов обнаружения углов, среди которых типичными алгоритмами являются алгоритм Харриса и алгоритм FAST.

Я написал сообщения в блоге специально для этих двух алгоритмов, чтобы описать принципы их работы. Угол Харриса и обнаружение точек функции FAST.

3.1 Извлечение угловых элементов Харриса

Обнаружение угла Харриса — это метод обнаружения производной матрицы первого порядка, основанный на градациях серого изображения. Основная идея детектора — локальное самоподобие/автокорреляция, то есть подобие блоков изображения в некотором локальном окне и блоков изображения в окне после небольших перемещений во все стороны.

В окрестности пикселя производная матрица описывает изменение сигнала данных. Предполагая, что область блока перемещается в любом направлении в окрестности точки пикселя, если резко меняется интенсивность, точка пикселя в момент изменения является угловой точкой. Матрица Харриса 2×2 определяется как:

Среди них Cx и Cy — первая производная информации об интенсивности точки x=(x, y) в направлениях xx и y соответственно, а ω(x, y) — вес соответствующего положения. Определите, является ли это углом, вычислив значение отклика угла D матрицы Харриса. Его формула расчета:

Среди них det и trace — операторы определителя и следа, а m — константа, значение которой составляет 0,04~0,06. Когда значение отклика угловой точки больше установленного порога и является локальным максимальным значением в окрестности точки, точка рассматривается как угловая точка.

3.2 БЫСТРОЕ извлечение угловых элементов

Алгоритм FAST, основанный на тесте ускоренной сегментации, может быстро извлекать угловые функции. Алгоритм оценивает, является ли точка-кандидат p угловой точкой, на основе дискретного круга Брезенллама с точкой пикселя p в качестве центра круга и радиусом 3 пикселя при условии заданного порога t, если существует n на окружности Значение серого для последовательных пикселей больше, чем I(p)+t, или меньше, чем I(p)−t.

Для приведенного выше определения мы можем быстро выполнить обнаружение, не сравнивая все точки на окружности. Сначала сравните отношения между значениями пикселей четырех точек, верхней, нижней, левой и правой точек.По крайней мере, 3 точки должны иметь значения серого пикселя больше, чем I(p)+t или меньше, чем I (p)−t, тогда p — точка-кандидат, а затем — полное суждение.

Чтобы увеличить скорость обнаружения алгоритма, можно использовать жадный алгоритм машинного обучения ID3 для построения дерева решений. Здесь следует отметить, что в 2010 году Эльмар и Грегори и др. предложили алгоритм адаптивного общего ускоренного обнаружения сегментации (AGAST).Преобразовав дерево решений ID3 в алгоритме FAST в двоичное дерево, его можно динамически и эффективно использовать на основе информацию об обрабатываемом изображении в данный момент.Дерево решений распределено в одном месте, что повышает скорость работы алгоритма.

4 дескриптора характеристик двоичной строки

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

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

Как и в алгоритмах SIFT и SURF, все дескрипторы, описываемые статистической гистограммой градиента, представляют собой дескрипторы признаков с плавающей запятой. Однако они вычислительно сложны и неэффективны, поэтому многие новые алгоритмы описания признаков, такие как Brief, появились позже. Позже на его основе были усовершенствованы многие бинарные строковые дескрипторы ORB, BRISK, FREAK и т.д.

4.1 КРАТКИЙ алгоритм

Основная идея алгоритма BRJEF заключается в следующем: выбрать несколько пар точек пикселей по соседству вокруг характерных точек и объединить результаты сравнения в двоичную строку для описания характерных точек путем сравнения значения серого этих пар точек. Наконец, используйте расстояние Хэмминга, чтобы вычислить, совпадают ли дескрипторы признаков.

4.2 Алгоритм BRISK

Алгоритм BRISK не использует обнаружение характерных точек FAST в части обнаружения характерных точек, а выбирает более стабильный алгоритм AGAST. При построении дескриптора объекта алгоритм BRISK получает сцепленную двоичную битовую строку для описания каждой характерной точки с помощью простого сравнения значений серого пикселя, что в принципе соответствует брифу. Алгоритм BRISK использует режим выборки по соседству, то есть с характерной точкой в ​​качестве центра строятся несколько дискретных концентрических окружностей Брезенхэма с разными радиусами, а затем на каждой концентрической окружности получаются N точек выборки с одинаковым интервалом.

Поскольку этот режим выборки по соседству будет иметь эффект наложения оттенков серого изображения во время выборки, алгоритм BRISK сначала выполняет сглаживание по Гауссу на изображении. А стандартное отклонение σi используемой функции Гаусса пропорционально расстоянию между точками на соответствующих концентрических окружностях.

Если предположить, что пара точек выборки (pi, pj) произвольно выбрана из точек выборки (N2), сглаженные значения шкалы серого равны I(pi, σi) и I(pj, σj) соответственно, тогда локальная область между две точки Градиент:

Предполагая, что набор всех пар точек выборки обозначен как A, тогда

Тогда множество S, состоящее из пар точек выборки на коротких расстояниях, и множество L, состоящее из точек выборки на большом расстоянии:

Среди них порог расстояния обычно устанавливается как

δmax=9,75δ, δmin=13,67δ, где δ — масштаб характерных точек.

Поскольку пара удаленных точек выборки содержит больше информации об углах характерных точек, а локальные градиенты компенсируют друг друга, направление характерного шаблона характерных точек может быть вычислено в наборе L как:

Затем шаблон выборки поворачивается вокруг точки признака на угол α=arctan2(gy,gx), и дескриптор признака имеет инвариантность к вращению.

Наконец, в повернутом наборе точек выборки на коротком расстоянии S сравниваются значения серого пикселя всех пар характерных точек (Piα, pjα), и, наконец, формируется дескриптор 512-битной двоичной строки.

4.3 Алгоритм ORB

Алгоритм ORB использует FAST для обнаружения характерных точек, а затем использует BREIF для описания признаков характерных точек, но мы знаем, что в Brief нет понятия направления характерных точек, поэтому ORB вводит метод расчета направления на основе Brief, и выбирает пары точек.Используя приведенный выше алгоритм жадного поиска, некоторые отличительные пары точек выбираются для описания двоичной строки. Подробное описание алгоритма ORB см. в разделе Обнаружение характерных точек ORB.

4.4 Алгоритм FREAK

Fast Retina KeyPoint, быстрая ключевая точка сетчатки.

Точечная выборка выполняется по принципу сетчатки, середина плотнее, а чем дальше от центра, тем разреженнее. И дескрипторы строятся от грубых к точным, и используется исчерпывающий жадный поиск для нахождения небольших корреляций. 42 рецептивных поля, тысяча пар комбинаций, просто найдите первые 512. Эти 512 пар разбиты на 4 группы, первые 128 пар менее коррелированы и могут представлять грубую информацию, а вторые все более и более уточненные. При сопоставлении можно сначала посмотреть первые 16 байт, то есть ту часть, которая представляет собой точную информацию.Если расстояние меньше определенного порога, продолжить, иначе можно не смотреть вниз.

5 Применение сопоставления изображений

Цель исследования сопоставления изображений состоит в том, чтобы точно оценить сходство между двумя изображениями. Определение сходства между изображениями меняется в зависимости от требований приложения. Например, в системе поиска объектов (поиск изображений, содержащих лицо Авраама Линкольна) мы считаем разные изображения одного и того же объекта похожими. В системе поиска категорий объектов (поиск изображений, содержащих лица) мы считаем объекты одного класса похожими.

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

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

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