2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Реализация фильтра Габора
Сообщение07.09.2014, 09:34 


07/09/14
1
Здравствуйте.

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

Итак, я пытаюсь реализовать фильтр Габора (just for fun). Нашёл советы построения алгоритма на Википедии и вот что пока у меня есть:
1) Сам фильтр:
$\displaystyle G(x, y)=\exp(-\frac{1}{2}(\frac{x_\varphi^2}{\sigma_x^2}+\frac{y_\varphi^2}{\sigma_y^2}))\cos(2\pi\theta x_\varphi)$, где

$x_\varphi = x\cos(\varphi) + y\sin(\varphi)$
$y_\varphi = - x\sin(\varphi) + y\cos(\varphi)$

Я так понял, что x и y, это координаты, $\varphi$ - это ориентация фильтра,$\theta$ - это частотная модуляция фильтра (не очень понял что это), а вот что такое $\sigma_x$ и $\sigma_y$ я не понял совсем. Вроде это должен быть показатель растянутости фильтра по осям, но как его выбирать? Оба равными 1, если он квадратный или как-то ещё?

2) Там же предложен алгоритм применения фильтра к изображению:

$\displaystyle I'(x, y)=\frac{1}{n^2}\sum_{i=1}^{n}\sum_{j=1}^{n}I(x-\frac{n}{2}+i, y-\frac{n}{2}+j)G(i, j)$

Я реализовал его ($n = 8$), но пока не тестировал (боюсь), однако думаю, что результат будет неутешительным. Если я прав, то данный алгоритм это простейшая реализация, где значения $\varphi$ и $\theta$ не меняются для всего изображения. Чуть далее:
Цитата:
Из формулы Габора видно, что фильтр зависит от частоты и направления квазипериодической структуры изображения. Поэтому перед применением фильтра, необходимо построить частотное и ориентационное поля для текущего изображения. Обычно, для упрощения задачи рассчитывается средняя частота изображения, которая считается неизменной в каждой точке.
Для построения поля направлений может применяться несколько способов, наиболее быстрым из которых, является дифференциальный метод, позволяющий построить четырехградационное поле направлений.
Таким образом, имея частоту и 4 направления, предварительно строятся 4 фильтра Габора по одному на каждое направление. После чего в каждой точке изображения происходит свертка фильтра с изображением по определенной области, что дает выходное значение нового изображения.

Не подскажите как их [поля] построить? Поле ведь будет строиться по каким-то областям (скажем, 8x8 пикселей), потом вычисляется фильтр размером с область (8x8) и $\varphi$ и $\theta$ взятыми из точки поля для этой области, а потом уже кусок (те же 8x8) нового изображение по формуле (2), верно?

 Профиль  
                  
 
 Re: Реализация фильтра Габора
Сообщение07.09.2014, 22:48 
Аватара пользователя


31/10/08
1244
1)
IBurmistrov в сообщении #904947 писал(а):
. Вроде это должен быть показатель растянутости фильтра по осям, но как его выбирать? Оба равными 1, если он квадратный или как-то ещё?

Размер сигмы подбирается в зависимости от n так что бы вклад от суммирования был существенным, заметным. Инженерное правило 3-х сигм.
$R=3*\sigma$
$N=2*R+1$
2) Думаю N можно побольше.
По поводу как строить. Вы же привели цитату, хотя лучше бы не приводили.
Цитата:
но строятся 4 фильтра Габора по одному на каждое направление.
Просто применяешь фильтр Габора по 4 направлениям. А вектор направления в точке определяешь используя принцип супер позиции векторов. Складываешь 4 значения в точки с учетом единичных векторов.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group