Главная страница
qrcode

4 1 Обзор методов шумоподавления


Скачать 20.36 Mb.
Название4 1 Обзор методов шумоподавления
Дата03.08.2019
Размер20.36 Mb.
Формат файлаpdf
Имя файлаdiploma.pdf
оригинальный pdf просмотр
ТипРеферат
#157265
страница2 из 3
Каталог
1   2   3
На изображения с ?
2
= 0.01

ничего не поменялось, но для фото с ?
2
= 0.05
результаты работы алгоритма улучшились. А именно удалось распознать уже 3

лица. Но на изображении с ?
2
= 0.15
всј также удалось определить только одно лицо.
Увеличим радиус ядра до 5.
19
а) ?
2
= 0.01
б) ?
2
= 0.05
в) ?
2
= 0.15
Рис. 14: Распознавание лиц на изображениях после применения гауссовского фильтра с радиусом 5

Благодаря увеличению размера ядра, удалось распознать 4 лица, на изображении с ?
2
= 0.05

. Для фото с ?
2
= 0.15

ничего не изменилось. Однако для изображения с ?
2
= 0.01
качество распознавания несколько ухудшилось, черты лица второго человека справа немного расплылись. Возьмем ядро с радиусом 21.
20
а) ?
2
= 0.01
б) ?
2
= 0.05
в) ?
2
= 0.15
Рис. 15: Распознавание лиц на изображениях после применения гауссовского фильтра с радиусом 21

Количество распознанных лиц на ?
2
= 0.01

уменьшилось до 3. На ?
2
= 0.05
количество лиц осталось прежним, но теперь удалось распознать крайнее лицо.

Для изображения с ?
2
= 0.15
удалось добиться распознавания лиц до двух. Во всех случаях удалось лишь добиться распознавания лиц, определение местоположения рта, глаз и носа оказалось невозможным. Исходя из этого можно сделать вывод, что при применении алгоритмов шумоподавления важно правильно оценивать параметры шума на изображении и уже на основании этого подбирать оптимальные параметры алгоритма.
21
1.5 Обзор современных методов шумоподавления
Шумоподавление - это активно развивающаяся область, количество методов увеличивается с каждым годом. Поэтому будет удобным, их классифицировать по некоторым признакам. Методы разделяются на то, в каком домене они используются: частотный, пространственный. К пространственным относятся следующие алгоритмы: билатеральный, Guided, Non-Local Means, Markov Random Field, Total
Variation. К частотным: BM3D. Так же разделяются на тип обработки, существуют алгоритмы, которые обрабатывают изображение по пикселям или целыми блоками. К методом по пиксельной обработки относят: Total Variation. К блоковым:
BM3D, билатеральный, Guided, Non-Local Means.
1.6 Билатеральный фильтр
1.6.1 Основная идея
Билатеральный фильтр относится к нелинейным фильтрам, которые сохраняют края и также является некоторым улучшением фильтра гаусса. При работе фильтра учитывается расстояние до соседнего пикселя и близость значений фильтруемого пикселя и соседнего из окрестности. То есть, влияние пикселя в окрестности некоторого пикселя , для которого вычисляется новое значение, будет тем меньше, чем больше разница между интенсивностями и чем больше расстояние между ними[10].
1.6.2 Описание
Нахождения нового значения для пикселя, можно описать следующей формулой:
x(u) =
P
p?N (u)
W
c
(k p ? u k)W
s
(| y(u) ? y(p) |)y(p)
P
p?N (u)
W
c
(k p ? u k)W
s
(| y(u) ? y(p) |)
(9)
где
22
?
x(u) - новое значение пикселя;
?
p - пиксель исходного изображения;
?
u - пиксель, для которого высчитывается новое значение;
?
y(u) и y(p) - значения пикселей в исходном изображении;
?
N(u) - окрестность пикселя u;
? W
c

- весовая функция расстояния с параметров ?
c
= exp(
?x
2
(2?
2
c
)
)
;
? W
s

- весовая функция цвета с параметров ?
s
= exp(
?x
2
(2?
2
s
)
)
Весовая функция подбирается в зависимости от природы шума. В данном случае выбрана функция Гаусса.
Сохранение крајв на изображении достигается за счјт весовой функции цвета. Если мы считаем новый цвет оказавшись на "темной стороне т.е. где пиксели принимают низкие значения интенсивности, то как раз "темные"пиксели будут вносить больший вклад, в то время как более "светлые"пиксели, практически не будут влиять на результат. Диапазон интенсивности, который будет влиять на итоговое значение задајтся параметром ?
s

, при чем зависимость эта прямо пропорциональная. Параметр ?
c определяет радиус окрестности, которая будет влиять на итоговое значение. На практике окрестность пикселя, т.е. еј радиус =
2?
c
Рассчитаем сложность алгоритма. Для каждого пикселя, необходимо проверить все пиксели в определенном радиусе. В таком случае сложность алгоритма
= O(nr
2
)
, где n - количество пикселей в изображении, r - радиус.
Одним из главных преимуществ данного фильтра, является его простота, а так же сохранение границ. К сожалению, он так же обладает и рядом недостатков,
среди которых:
?
Долгое время работы;
23
?
Артефакты на краях цветных изображениях.
1.6.3 Результат работы фильтра
После применения билатерального фильтра c различными параметрами были получены следующие результаты.
(a)
(b)
(c)
Рис. 16: Результаты работы билатерального фильтра: (a) оригинал; (b) radius =
11
, ?
s
= 100
, ?
c
= 3

; (c) radius = 11, ?
s
= 50
, ?
c
= 11
Для рисунка 16(b) PSNR= 28.79, а для 16(c) PSNR= 29.40.
1.7 Guided фильтр
1.7.1 Основная идея
Идея заключается в том, что бы найти линейную зависимость определенного блока пикселей исходного изображения с таким же блоком в управляемом изображении. Применяя данную задачу к проблеме шумоподавления, в качестве управляемого изображения используется зашумленное изображение.[11]
24
1.7.2 Описание
Запишем линейную зависимость между пикселем на выходе фильтра и пикселем управляемого изображение в определенном окне следующим образом:
q i
= a k
I
i
+ b k

, ?i ? ?
k
(10)
где:
? q i
- итоговое значение пикселя i;
? I
i
- значения пикселя i управляемого изображения;
? a k
, b k
- линейные коэффициенты;
? ?
k
- окно с центром в пикселе k.
Обычно в качестве окна используют квадрат с радиусом r. Для того, что бы определить линейные коэффициенты рассмотрим уравнение, которое минимизирует разницу между итоговым изображением q и входным изображением p. Введем следующую целевую функцию:
E(a k
, b k
) =
X
i??
k
((a k
I
i
+ b k
)
2
+ ?a
2
k
)
(11)
Здесь ? - регуляризационный параметр предотвращающий слишком большое значения a k
. Благодаря методу линейной регрессии получим следующие значения для линейных коэффициентов:
a k
=
1
|?
k
|
P
i??
k
I
i p
i
? µ
k p
k
?
2
k
+ ?
(12)
b k
= p k
? a k
µ
k
(13)
где
? µ
k

- среднее значение управляемого изображения I в окне ?
k
;
25
? ?
k

- среднеквадратичное отклонение изображения I в окне ?
k
;
? |?|

- количество пикселей в окне ?
k
;
? p k

- среднее значение исходного изображение I в окне ?
k
Теперь применим данную модель к целому изображению. При этом стоит учесть,

что пиксель i может находится одновременно в нескольких окнах ?
k
, поэтому итоговое значения q i

будет отличаться от локального. Простым решением будет взять среднее значение от всех ?
k в изображении. В конечном итоге получим:
q i
=
1
|?
k
|
X
k:i??
k
(a k
I
i
+ b k
) = a k
I
i
+ b k
(14)
Свойства сохранения краев можно объяснить следующим способом, возьмем вспомогательное изображение равное исходному т.е. I = p, в таком случае могу быть рассмотрены два крайних случая. В случае, когда окно будет гладким, т.е.
значения пикселей будут мало отличаться друг от друга, в таком случае параметр a
k
= 0
, а b k
= p k
. В противоположном случае, a k
= 1
, а b k
= 0
. Влияние параметра
?

, можно описать следующим образом. Если среднее отклонение ?
2
меньше, чем
?
, то область размывается, в ином случае она остается неизменной.
Главное особенностью данного фильтра является то, что его сложность зависит только от количества пикселей в изображении, т.е. O(n) где n - количество пикселей
26
1.7.3 Результат работы фильтра
(a)
(b)
(c)
Рис. 17: Результаты работы guided фильтра: (a) оригинал; (b) r = 5, ? = 0.01;
(c)r = 9, ? = 0.04
Для рисунка 16(b) PSNR= 29.27, а для 17(c) PSNR= 25.51.
1.8 Non-Local mean фильтр
1.8.1 Основная идея
Обычно, новое значение пикселя берется как некое усредненное значение его соседей. К таким фильтрам относятся: билатеральный фильтр, фильтр скользящего среднего и фильтр Гаусса. Развитием этой идеи стал фильтр Non-Local mean.
Суть его заключается в том, что бы учитывать не только значения интенсивностей пикселей, но также принимать во внимание схожесть окрестностей пикселей,
что позволит наилучшим образом сказываться на сохранении крајв[12].
27
1.8.2 Описание
Идею приведенную выше можно математически описать в следующем виде:
x i
=
X
j w(i, j)v(j)
(15)
где
? x i
- итоговое значение пикселя;
? w(i, j)
- весовая функция, которая сравнивает две области изображения, с центром в пикселе i и j;
? v(j)
- интенсивность пикселя j.
Уравнение 15 указывает зависимость между значением итогового пикселя и всех пикселей исходного, зашумленного изображения:
w(i, j) =
exp(?
kN (i)?N (j)k
2 2,a h
)
P
j?I
exp(?
kN (i)?N (j)k
2 2,a h
)
(16)
где
?
h - параметр указывает степень фильтрации, чем он меньше, тем менее похожие патерны изображения будут влиять на итоговый пиксель;
?
N(i) и N(j) - соседи пикселей i и j;
?
a - среднеквадратичное отклонение ядра гауссовского фильтра.
Не трудно заметить, что сложность данного алгоритма O(n
2
(r ? 2 + 1))
, это приводит к значительным временным затратам даже для изображений малых размеров.
Для уменьшения сложности вычисления, можно сделать следующие упрощения:
можно заранее рассчитать все веса, так как область одного и того же пикселя может использоваться несколько раз, можно уменьшить окно поиска похожих патчей, т.е. теперь похожие патчи буду искаться не во всем изображении, а в
28
некотором окне. Также можно сравнивать расстояния не для каждого пикселя, а через один, два и т.д. Тогда сложность будет= O(n ? N ? (r ? 2 + 1)), где N размер большого окна.
1.8.3 Результат работы фильтра
(a)
(b)
(c)
Рис. 18: Результаты работы Non-Local mean фильтра: (a) оригинал; (b) Размер шаблона= 3, радиус поиска= 7, h = 30; (c) Размер шаблона= 3, радиус поиска=
11
, h = 30
Для рис. 18(b) PSNR= 26.29, а для 18(c) PSNR= 25.03.
1.9 BM3D
Фильтр BM3D можно считать более лучшей версией алгоритма Non-Local mean. В нјм также одним из ключевых моментов является усреднение значений посредством поиска похожих блоков. В алгоритме можно выделить два основных шага. Каждый шаг в свою очередь разбивается на 3 этапа. Первый этап называется группировка (grouping), в котором для каждого патча (часть изображения
29
фиксированного размера), отбираются другие похожие патчи. Вторым этапом является совместная (collaborative) фильтрация. Третьим этапом является агрегация, где для каждого пикселя вычисляется новое значение, с учетом того, что данный пиксель мог находится в различных патчах[13].
Рис. 19: Схема алгоритма BM3D[14]
Далее патчем будет обозначаться часть исходного изображения с фиксированным размером.
1.9.1 Оценка дисперсии
Качество работы алгоритма зависит от дисперсии входного изображения. Поэтому для корректной работы алгоритма необходимо правильно оценивать дисперсию.
Для этого используется среднее абсолютное отклонение(MAD)[15]. Выглядит она следующим образом:
?
2
= k ? M AD
(17)
где
? ?
2
- дисперсия;
? M AD
- среднее абсолютное отклонение;
? k
- константа, которая зависит от распределения. В случае нормального распределения k = 1.4826.
30
1.9.2 Первый шаг
1.9.2.1 Группировка
Всј изображение разбивается на патчи (блоки), которые имеют размером N
P size ht
. Далее для каждого патча, обозначим его P , производятся следующие действия. В окне размера - N
W
ht size
, в котором центром является P , с шагом - N
Sstep ht ищутся похожие блоки 18:
G
ht
(P ) = {Q|d ht
(Q, P ) ? h ht
}
(18)
где
? G
ht
(P )
- множество блоков схожих с P;
?
Q - один из блоков в окне;
? d ht
(Q, P ) =
k?
?2D
ht
(P )??
?2D
ht
(Q)k
2 2
(N
P size ht
)
2
;
? ?
?
(x) =
?
?
?
?
?
0

|x| ? ?
x

|x| > ?
- жесткая пороговая фильтрация ;
? ?
2d ht
- для низких значений шума ? < 40 обычно равняется нулю, подробнее
[16];
? ?
2
- дисперсия шума;
? h ht
- порог, для того, что бы считать два блока похожими.
Максимальное количество подходящих блоков также ограничивают, за это отвечает параметр - N
P max ht
. Найденные блоки объединяются в 3D-блок, далее обозначаемый G
3D
ht
(P )
,в котором блоки располагаются по мере уменьшения схожести.
1.9.2.2 Совместная фильтрация
31
К G
3D
ht
(P )
применяется 3D преобразование - r
3D
ht

, трансформирующие его в частотную область, после применяется жесткая пороговая фильтрация ?
?
3D
ht
. После данных операций происходит обратное 3D преобразование - r
3D
?1
ht
. Данные действия описываются следующей формулой:
G
3D
0
ht
(P ) = r
3D
?1
ht
(?
?
3D
ht
(r
3D
ht
(G
3D
ht
(P ))))
(19)
1.9.2.3 Агрегация
Теперь для каждого пикселя в изображении, необходимо рассчитать новое значение. При этом нужно учесть, что пиксель мог находится в нескольких G
3D
0
ht
Итоговая формула следующая:
y basic
(x) =
P
P
w hard p
P
Q?G
3D0
ht
(P )
?
Q
(x)u
P,Q
(x)
P
P
w ht p
P
Q?G
3D0
ht
(P )
?
Q
(x)
(20)
где
? y basic
(x)
- значение пикселя после первого шага ;
? w ht p
=
?
?
?
?
?
(N
hard p
)
?1
N
hard p
? 1 1
N
hard p
< 1?
;
? N
hard p

- количество ненулевых пикселей после ?
?
3D
ht
(r
3D
ht
(G
3D
(P ))
;
? ?
Q
(x)
- равняется 1, если x ? Q.
1.9.3 Второй шаг
На основе y basic можно получить более лучшее шумоподавления, применяя фильтр Винера. Патч, для которого произведены дальнейшие действия обозначим
P
basic
32
1.9.3.1 Группировка
Будем считать, что количество шума после первого шага сведенно к минимуму.
Определим формулу, для поиска подходящих блоков на втором шаге:
G
wie
(P
basic
) =
Q|d wie
(Q, P
basic
) ? h wie
(21)
где
? G
wie
(P
basic
)
- множество блоков схожих с P
basic
;
?
Q - один из блоков в окне;
? d wie
(Q, P
basic
) =
kP
basic
?Qk
2 2
(N
P size ht
)
2
;
? h wie
- порог, для того, что бы считать два блока похожими.
1.9.3.2 Совместная фильтрация Объединим блоки найденные на этапе группировка второго шага в G
3D
wie
(P
basic
)
. Затем применим 3D преобразование - - r
3D
wie
,
как в первом шаге. Применим фильтр Винера: поэлементно умножим G
3D
wie
(P
basic
)
на коэффициент сжатия Винера - w
P
. После, применим обратное 3D преобразование - r
3D
?1
ht
. Опишем эти действия следующей формулой:
G
3D
0
wie
(P
basic
) = r
3D
?1
wie
(w
P
· r
3D
wie
(G
3D
wie
(P )))
(22)
где
? w
P
=
|r
3D
wie
(G
3D
wie
(P
basic
)|
2
|r
3D
wie
(G
3D
wie
(P
basic
)|
2
+?
1.9.3.3 Агрегация
Агрегация на втором шаге проводится по следующей формуле:
y(x) =
P
P
w wie p
P
Q?G
3D0
wie
(P )
?
Q
(x)u
P,Q
(x)
P
P
w wie p
P
Q?G
3D0
wie
(P )
?
Q
(x)
(23)
где
33
? y(x)
- итоговое значение пикселя;
? w wie
P
=k w
P
k
?2 2
1.9.4 Оптимальные параметры
Согласно [17], оптимальными параметрами будут следующие:
Обозначение параметра ? ? 40 ? > 40
N
P max ht
16 16
N
P max wie
32 32
N
P size ht
8 8
N
P size wie
8 8
?
ht
2.7 2.7
h ht
2500 5000
h wie
400 3500 1.9.5 Результат работы фильтра
(a)
(b)
Рис. 20: Результаты работы BM3D фильтра: (a) оригинал; (b) после BM3D фильтра
34
Для рисунка 20(b) PSNR= 32.18.
1.10 Total Variation фильтр
1.10.1 Основная идея
Для описании основной идеи потребуется определить вариацию функции (TV)
- показывает насколько сильно изменился сигнал между своими значениями. Применяя это описания для одномерного дискретного конечного сигнала x длиной N
получим:
T V (x) =
N
X
n=2
|x(n) ? x(n ? 2)|
(24)
Также вариацию функции удобно описать в матричном виде:
T V (x) =k xD k
1
(25)
где k · k
1
- `
1
норма а,
D =
?
?
?
?
?
?
?
?
?1 1
?1 1
?1 1
?
?
?
?
?
?
?
?
(26)
матрица размером (N ? 1) Ч N.
Предполагается, что на бесшумном изображении вариация функции меньше,
чем на зашумленном, поэтому данную функцию можно использовать в качестве регуляризационного члена целевой функции, которая будет определена далее[18].
1.10.2 Описание
Необходимо найти неискаженное шумом изображение x с помощью зашумленного изображения y. Для этого введем целевую функцию, где регуляризационным членом будет выражение 25:
J (x) = ? k Dx k
1
+ k x ? y k
2 2
(27)
35
где:
?
x - итоговое изображение, представленное в виде матрицы
?
D - трехмерная матрица определенная в 26
? ?
- регуляризационный параметр
?
y - зашумленное изображение, представленное в виде матрицы
1   2   3

перейти в каталог файлов


связь с админом