Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Филиппов / КЗ Филиппов.docx
Скачиваний:
28
Добавлен:
18.08.2022
Размер:
13.81 Mб
Скачать

Sift детектор особых точек.

Метод, позволяющий построить по изображению множество особых точек, которые были бы устойчивы (инвариантны) к:

1. Смещению

2. Повороту

3. Масштабированию

4. Изменению яркости

5. Изменению положения камеры (ракурса)

Алгоритм: метод SIFT подразделяется на этапы:

  1. Детектор DoG (Difference of Gaussian) — определение и характерного масштаба особенности

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

Если значение разности гауссианов в точке, помеченной крестиком, больше (меньше) всех значений в точках, помеченных кругляшками, то эта точка считается точкой экстремума

В каждом изображении из пирамиды DoG ищутся точки локального экстремума. Каждая точка текущего изображения DoG сравнивается с её восьмью соседями и с девятью соседями в DoG, находящихся на уровень выше и ниже в пирамиде. Если эта точка больше (меньше) всех соседей, то она принимается за точку локального экстремума.

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

Экстремум многочлена Тейлора находится путем вычисления производной и приравнивания ее к нулю. Все производные вычисляются по формулам конечных разностей. В итоге получаем СЛАУ размерности 3x3, относительно компонент вектора X^.

Если одна из компонент вектора X^ больше 0.5*шаг_сетки_в_этом_направлении, то это означает, что на самом деле точка экстремума была вычислена неверно и нужно сдвинуться к соседней точке в направлении указанных компонент. Для соседней точки все повторяется заново. Если таким образом мы вышли за пределы октавы, то следует исключить данную точку из рассмотрения.

Когда положение точки экстремума вычислено, проверяется на малость само значение DoG в этой точке по формуле

Если эта проверка не проходит, то точка исключается, как точка с малым контрастом.

Наконец, последняя проверка. Если особая точка лежит на границе какого-то объекта или плохо освещена, то такую точку можно исключить из рассмотрения. Эти точки имеют большой изгиб (одна из компонент второй производной) вдоль границы и малый в перпендикулярном направлении. Этот большой изгиб определяется матрицей Гессе H. Для проверки подойдет H размера 2x2.

  1. Ориентация — определение доминантной ориентации особенности по градиентам.

Теперь каждой ключевой точке назначается ориентация для достижения инвариантности к повороту изображения. Окрестности берутся вокруг местоположения ключевой точки в зависимости от масштаба, а величина и направление градиента вычисляются в этой области. Создается гистограмма ориентации с 36 ячейками, охватывающими 360 градусов (она взвешена по величине градиента и гауссово-взвешенному круговому окну с σ равно 1,5-кратному масштабу ключевой точки). Берется самый высокий пик в гистограмме, и любой пик выше 80% от него также считается для вычисления ориентации. Он создает ключевые точки с одинаковым местоположением и масштабом, но в разных направлениях. Это способствует стабильности сопоставления.

4. Составление дескриптора с использованием статистик по направленным градиентам

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

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

Полученный дескриптор нормализуется, после чего все его компоненты, значение которых больше 0.2, урезаются до значения 0.2 и затем дескриптор нормализуется ещё раз. В таком виде дескрипторы готовы к использованию.

5. Сопоставление ключевых точек. Берутся 4 пары точек, случайно для них задается порог расстояния между ними и оценивается насколько какая модель удовлетворяет условию. RANSAC.

Таким образом получаем алгоритм:

1. Свертываем изображение нормализованным фильтром Лаплассиана на разных масштабах

2. Ищем максимум отклика Лаплассиана в 3D (трехмерной окрестности)

Так как сворачивать изображение несколькими фильтрами Лапласа все большего масштаба — трудоемкая задача, была предложена оптимизация этого процесса.

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

Соседние файлы в папке Филиппов