Итак, я читал статью о SURF (Bay, Ess, Tuytelaars, Van Gool: Ускоренные надежные функции (SURF) ), и я не могу понять этот параграф ниже:
Из-за использования блочных фильтров и интегральных изображений нам не нужно итеративно применять один и тот же фильтр к выходным данным ранее отфильтрованного слоя, но вместо этого мы можем применять блочные фильтры любого размера с точно такой же скоростью непосредственно к исходному изображению и даже параллельно (хотя последний здесь не эксплуатируется). Поэтому масштабное пространство анализируется путем увеличения размера фильтра, а не итеративно уменьшая размер изображения, рисунок 4.
This is figure 4 in question.
PS: у бумаги есть объяснение целостного изображения, однако все содержание статьи основано на конкретном параграфе выше. Если кто-нибудь читал эту статью, не могли бы вы кратко упомянуть, что здесь происходит. Математическое объяснение довольно сложно, чтобы сначала хорошо понять, поэтому мне нужна помощь. Спасибо.
Редактировать, пару вопросов:
1.
Каждая октава подразделяется на постоянное количество уровней шкалы. Из-за дискретного характера интегральных изображений минимальная разность шкал между двумя последующими шкалами зависит от длины lo положительных или отрицательных лепестков частной производной второго порядка в направлении деривации (x или y), которая установлена на треть длины фильтра. Для фильтра 9x9 эта длина равна 3. Для двух последовательных уровней мы должны увеличить этот размер минимум на 2 пикселя (по одному пикселю с каждой стороны), чтобы размер оставался неравномерным и, таким образом, обеспечивалось наличие центрального пикселя. , Это приводит к общему увеличению размера маски на 6 пикселей (см. Рисунок 5).
Figure 5
Я не мог понять смысл строк в данном контексте.
Для двух последовательных уровней мы должны увеличить этот размер минимум на 2 пикселя (по одному пикселю с каждой стороны), чтобы размер оставался неравномерным и, таким образом, обеспечивалось наличие центрального пикселя.
Я знаю, что они пытаются что-то сделать с длиной изображения, если даже они пытаются сделать его нечетным, так что есть центральный пиксель, который позволит им вычислить максимум или минимум градиента пикселей. Я немного сомневаюсь в его контекстуальном значении.
2.
Для вычисления дескриптора используется вейвлет Хаара.
3.
Зачем нужен приблизительный фильтр?
4. У меня нет проблем с тем, как они узнали размер фильтра. Они «сделали» что-то эмпирически. Тем не менее, у меня есть некоторая ноющая проблема с этим куском линии
Выход фильтра 9x9, представленный в предыдущем разделе, рассматривается как начальный масштабный слой, к которому мы будем обращаться как масштаб s = 1.2 (аппроксимирующий производные Гаусса с σ = 1.2).
Как они узнали о значении σ. Более того, как вычисление масштабирования сделано, показано на изображении ниже. Причина, по которой я заявляю об этом изображении, состоит в том, что значение s=1.2
постоянно повторяется, без четкого указания о его происхождении.
5.
Гессенская матрица, представленная в терминах, L
представляет собой свертку градиента второго порядка гауссова фильтра и изображения.
Однако говорят, что «приближенный» определитель содержит только члены, включающие фильтр Гаусса второго порядка.
Значение w
составляет:
Мой вопрос, почему определитель вычисляется так же, как и выше, и какова связь между приближенной гессианской и гессианской матрицей.
Ответы:
Что такое SURF?
Чтобы правильно понять, что происходит, вы также должны быть знакомы с SIFT : SURF - это, по сути, приближение SIFT. Теперь возникает реальный вопрос: что такое SIFT? ,
SIFT - это и детектор ключевых точек, и дескриптор ключевых точек . Что касается детекторов, то SIFT - это, по сути, многомасштабный вариант классических угловых детекторов, таких как угол Харриса, который обладает возможностью автоматической настройки шкалы. Затем, учитывая местоположение и размер патча (полученный из масштаба), он может вычислить часть дескриптора.
SIFT очень хорошо подходит для сопоставления локально аффинных фрагментов изображений, но у него есть один недостаток: он дорогой (то есть длинный) для вычисления. Большое количество времени тратится на вычисление гауссовского масштабного пространства (в части детектора), затем на вычисление гистограмм направления градиента (для части дескриптора).
И SIFT, и SURF можно рассматривать как разницу гауссиан с автоматическим выбором масштаба (то есть гауссовых размеров). Таким образом, вы сначала строите масштабное пространство, в котором входное изображение фильтруется в разных масштабах. Пространство масштаба можно рассматривать как пирамиду, где два последовательных изображения связаны изменением масштаба (т. Е. Изменился размер гауссова нижнего фильтра), а затем весы сгруппированы по октавам (т. Е. Большое изменение в размере гауссовского фильтра).
Приближенная часть
Поскольку вычисление гауссовского масштабного пространства и гистограмм направления градиента является длинным, хорошей идеей (выбранной авторами SURF) является замена этих вычислений быстрыми приближениями.
Авторы отмечают, что маленькие гауссианы (например, те, что используются в SIFT) могут быть хорошо аппроксимированы квадратными интегралами (также известными как размытие рамки ). Эти средние прямоугольники обладают хорошим свойством, что их можно очень быстро получить благодаря встроенному трюку с изображением.
Кроме того, гауссово масштабное пространство фактически используется не само по себе , а для аппроксимации лапласиана гауссианов (вы можете найти это в статье SIFT). Таким образом, вам нужны не просто размытые гауссовыми изображениями, а их производные и отличия. Итак, вы просто продвигаете идею аппроксимации гауссиана квадратом: сначала выведите гауссиан столько раз, сколько необходимо, а затем аппроксимируйте каждую долю квадратом правильного размера. В конечном итоге вы получите набор функций Haar.
Увеличение на 2
Как вы уже догадались, это всего лишь артефакт реализации. Цель состоит в том, чтобы иметь центральный пиксель. Дескриптор функции вычисляется относительно центра патча изображения, который будет описан.
Средний регион
Магический номер
источник
Для определения потенциальных точек интереса часто используется функция разности Гаусса (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, а размер фильтра также делает их ширину равной).источник