Понимание процесса расчета характеристик SURF

9

Итак, я читал статью о SURF (Bay, Ess, Tuytelaars, Van Gool: Ускоренные надежные функции (SURF) ), и я не могу понять этот параграф ниже:

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

This is figure 4 in question.

Рисунок 4

PS: у бумаги есть объяснение целостного изображения, однако все содержание статьи основано на конкретном параграфе выше. Если кто-нибудь читал эту статью, не могли бы вы кратко упомянуть, что здесь происходит. Математическое объяснение довольно сложно, чтобы сначала хорошо понять, поэтому мне нужна помощь. Спасибо.

Редактировать, пару вопросов:

1.

Каждая октава подразделяется на постоянное количество уровней шкалы. Из-за дискретного характера интегральных изображений минимальная разность шкал между двумя последующими шкалами зависит от длины lo положительных или отрицательных лепестков частной производной второго порядка в направлении деривации (x или y), которая установлена ​​на треть длины фильтра. Для фильтра 9x9 эта длина равна 3. Для двух последовательных уровней мы должны увеличить этот размер минимум на 2 пикселя (по одному пикселю с каждой стороны), чтобы размер оставался неравномерным и, таким образом, обеспечивалось наличие центрального пикселя. , Это приводит к общему увеличению размера маски на 6 пикселей (см. Рисунок 5).

Figure 5

Рисунок 5

Я не мог понять смысл строк в данном контексте.

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

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

2.

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

Хаар Вейвлет

Σ dИксΣ |dИкс|

3.

Другой

Зачем нужен приблизительный фильтр?

4. У меня нет проблем с тем, как они узнали размер фильтра. Они «сделали» что-то эмпирически. Тем не менее, у меня есть некоторая ноющая проблема с этим куском линии

Выход фильтра 9x9, представленный в предыдущем разделе, рассматривается как начальный масштабный слой, к которому мы будем обращаться как масштаб s = 1.2 (аппроксимирующий производные Гаусса с σ = 1.2).

Как они узнали о значении σ. Более того, как вычисление масштабирования сделано, показано на изображении ниже. Причина, по которой я заявляю об этом изображении, состоит в том, что значение s=1.2постоянно повторяется, без четкого указания о его происхождении. Масштаб изображения

5. Гессенская матрица, представленная в терминах, Lпредставляет собой свертку градиента второго порядка гауссова фильтра и изображения.

Однако говорят, что «приближенный» определитель содержит только члены, включающие фильтр Гаусса второго порядка.

Значение wсоставляет:

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

motiur
источник
Привет! Я добавил имена авторов и заголовок статьи в ваши вопросы, надеюсь, вы не против. Во-первых, это делает статью доступной для поиска, даже если ссылка не работает. Во-вторых, как человек, который занимается исследованиями, я думаю, что указание авторам их имен и названий публикации - это минимум, что мы можем сделать, чтобы признать их работу :)
Пенелопа
@penelope: я наполовину испугался, что люди проголосуют за меня до забвения.
Мотюр
Я думаю, что это действительно хороший вопрос, один из самых интересных за последнее время. Я сам никогда не занимался SURF, но я мог бы попытаться взглянуть завтра и посмотреть, смогу ли я внести свой вклад, вопрос действительно заинтересовал меня :) и PS: если вы делаете это как часть "официального" проекта Uni Я уверен, что ваш руководитель с радостью поможет вам (особенно если вы на уровне магистра). Часть их работы - научить вас читать научную литературу.
Пенелопа
PPS: вы можете отредактировать свой вопрос, добавив краткое объяснение терминов « интегральное изображение» и « рамочный фильтр» : понимание того, что вы понимаете, вероятно, поможет нам понять, чего вы не понимаете;)
Пенелопа
@penelope: Вы очень хорошая девушка / парень, что угодно. И нет, мне нужен литературный обзор этой статьи, я прочитал статью, написанную Дэвидом Лоу как в 2004, так и в 1999 году. Эта статья была довольно нестабильной, плюс была хорошая лекция на YouTube. Проблема в том, что в этой статье используется множество математических терминов, один из которых - SURF. Если у вас в голове нет математической модели, сложно понять основную идею.
motiur

Ответы:

10

Что такое SURF?

Чтобы правильно понять, что происходит, вы также должны быть знакомы с SIFT : SURF - это, по сути, приближение SIFT. Теперь возникает реальный вопрос: что такое SIFT? ,

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

SIFT очень хорошо подходит для сопоставления локально аффинных фрагментов изображений, но у него есть один недостаток: он дорогой (то есть длинный) для вычисления. Большое количество времени тратится на вычисление гауссовского масштабного пространства (в части детектора), затем на вычисление гистограмм направления градиента (для части дескриптора).

И SIFT, и SURF можно рассматривать как разницу гауссиан с автоматическим выбором масштаба (то есть гауссовых размеров). Таким образом, вы сначала строите масштабное пространство, в котором входное изображение фильтруется в разных масштабах. Пространство масштаба можно рассматривать как пирамиду, где два последовательных изображения связаны изменением масштаба (т. Е. Изменился размер гауссова нижнего фильтра), а затем весы сгруппированы по октавам (т. Е. Большое изменение в размере гауссовского фильтра).

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

Приближенная часть

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

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

Кроме того, гауссово масштабное пространство фактически используется не само по себе , а для аппроксимации лапласиана гауссианов (вы можете найти это в статье SIFT). Таким образом, вам нужны не просто размытые гауссовыми изображениями, а их производные и отличия. Итак, вы просто продвигаете идею аппроксимации гауссиана квадратом: сначала выведите гауссиан столько раз, сколько необходимо, а затем аппроксимируйте каждую долю квадратом правильного размера. В конечном итоге вы получите набор функций Haar.

Увеличение на 2

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

Средний регион

Σвсе пиксели в столбцеИксзнак равноAΣвсе пиксели в столбцеИксзнак равно-AΣИкс

Магический номер

σзнак равно1.2σзнак равно1.2

sansuiso
источник
Спасибо за объяснение, он прояснил некоторые вещи, позвольте мне увидеть, есть ли у кого-то более сложное понимание.
Мотюр
Я отредактировал ответ относительно ваших новых вопросов.
Sansuiso
О да, спасибо, заметно. Бумага довольно длинная, поэтому много чего происходит одновременно.
Мотюр
Хотите увидеть мое последнее изменение?
motiur
1
Это смесь общих общих знаний (маленькие гауссианы хорошо аппроксимируются размытыми рамками), экспериментов (минимальный / максимальный размеры объектов, представляющих интерес на изображениях реального мира) и математики (с учетом начального размера патча, вычисляющих прямоугольников и гауссианов, которые вписываются в него) ,
Sansuiso
4

Для определения потенциальных точек интереса часто используется функция разности Гаусса (DOG) для обработки изображения, что делает его инвариантным к масштабу и ориентации.

В SIFT пирамиды изображений создаются путем фильтрации каждого слоя с СОБАКОЙ по возрастающим sigmaзначениям и с учетом разницы.

С другой стороны, SURF применяет намного более быстрое приближение гауссовых частных производных второго порядка с лапласианом Гаусса (LoG) и квадратными фильтрами различного размера (9 * 9, 15 * 15, ...). Стоимость вычислений не зависит от размера фильтра. Для sigmaболее высоких уровней в пирамиде нет понижающей дискретизации (изменения ), а только увеличение размера фильтра, что приводит к тому, что изображения имеют одинаковое разрешение.

РЕДАКТИРОВАТЬ

Еще одно замечание: авторы в своей статье дополнительно упростить Gaussian вторую производную в 4 направлениях (х, у, ху, ух) с ядром [1 -2 1], [1 -2 1]', [1 -1;-1 1]и [-1 1;1 -1]. Когда размер фильтра увеличивается, вам просто нужно расширить упрощенные области ядра, чтобы получить больший. И это эквивалентно DOG с разными масштабами (кривая LoG имеет ту же форму, что и DOG, а размер фильтра также делает их ширину равной).

lennon310
источник