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

Сопоставление дескрипторов

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

Можно использовать следующие методы:

1. Полный перебор — подходит для небольших множеств;

2. k-d дерево — структура данных (особый вид двоичного дерева поиска) разбивающая пространство для упорядочивания k-мерных точек;

3. LSH (Local Sensitive Hashing).

Метрики:

1. Евклидово расстояние (используется в SURF и SIFT) 2. Расстояние Хэмминга (используется в BRIEF):

LSH.

LSH — вероятностный метод понижения размерности многомерных данных. Основа — подбор такой хэш-функции, чтобы похожие объекты с высокой вероятностью попадали в одну корзину. Метод позволяет строить структуру для быстрого приближенного поиска n-мерных векторов, «похожих» на некоторый вектор.

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

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

Определим некоторый порог R и коэффициент приближения c (c > 1). Пусть вероятность того, что если d(p, q) <= R, то h(p) = h(q), не менее P1. Также пусть вероятность того, что если d(p, q) >= cR, то h(p) = h(q), менее P2. Хэш-функция считается удачной, если P1 > P2. Отображением обозначается семейство F с (R, cR, P1, P2)-чувствительностью

Поиск ближайших соседей с LSH

1. Выбирается k функций

2. Для каждой функции строится хеш

3. Поиск таблица осуществляется для каждой хеш функции

Алгоритм выделение границ Canny.

Алгоритм Canny решает задачу локализации и минимизации нескольких откликов одного края. Это означает, что детектор должен реагировать на границы, но при этом игнорировать «лишние» отклики, точно определять линию границы без её фрагментирования, и учитывать каждую границу ровно один раз, что позволяет отличить широкие полосы изменения яркости от нескольких границ.

1. Сглаживание — для подавления шума используется размытие по Гауссу. Необходимо подобрать σ так, чтобы подавить шум. Свёрточный фильтр определяется по правилу «трёх сигм».

2. Поиск градиентов — используем оператор Собеля, приближающий значение градиентов яркости:

Норма градиента ищется по формуле направление – по . Для следующего этапа округляем до 0, 45, 90 или 135 градусов.

3. Подавление не-максимумов — границы от фильтра Собеля достаточно толстые, надо их лучше локализовать. Для этого в точке сравнивается значение |G| со значениями в соседних точках по направлению вектора градиента. Все точки, не являющиеся максимумами, выбрасываются из рассмотрения.

4. Двойная пороговая фильтрация — пиксели делятся на три группы по двум границам. Если значение |G| выше верхней границы, присваиваем ей значение 255 (она точно является частью края), если ниже нижней — 0 (точно не часть края), между границами — 127.

5. Трассировка области неоднозначности — уточняются пиксели промежуточной зоны. Неоднозначный пиксель относим к границе, если он связан с одной из установленных границ (соприкасается с ней по одному из 8 направлений). – алгоритмом заливки

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