dekompozycji - Poznańskie Warsztaty Telekomunikacyjne

Transkrypt

dekompozycji - Poznańskie Warsztaty Telekomunikacyjne
Przemysław Maćkowiak
Politechnika Poznańska
Wydział Elektroniki i Telekomunikacji
ul. Piotrowo 3A
[email protected]
2006
Poznańskie Warsztaty Telekomunikacyjne
Poznań 7 - 8 grudnia 2006
USUWANIE SZUMU IMPULSOWEGO METODĄ
DEKOMPOZYCJI OBRAZU I
PRZEKSZTAŁCEŃ MORFOLOGICZNYCH
STRESZCZENIE
W niniejszej pracy zostały przedstawione dwie
techniki odszumiania obrazu zniekształconego szumem
typu „pieprz i sól”. Wszystkie korzystają z wstępnej
dekompozycji obrazu na warstwy, zawierające dane
binarne. Pierwsza metoda, to pomysł oparty o
poszukiwanie w warstwach pewnych obszarów - „zlepek” a
następnie ich filtracji w przypadku stwierdzenia
zaszumienia. Druga metoda wykorzystuje do filtracji
obrazu znane przekształcenia morfologiczne (idee oparto o
uŜycie operacji otwarcia, zamknięcia)
rozdział przedstawia krótko model matematyczny
rozwaŜanego szumu. W trzecim rozdziale został opisany
pierwszy algorytm bazujący na „zlepkach”, zostały w
nim zawarte równieŜ wyniki jego działania. Czwarty
rozdział to opis i efekty działania drugiego algorytmu
bazującego na kombinacji otwarcia i zamknięcia..
Ostatnie rozdziały stanowią podsumowanie i spis
literatury.
Zaprezentowane
algorytmy
zostały
zaimplementowane przy uŜyciu środowiska MATLAB
6.5 (Release 13), przy uŜyciu biblioteki Image
Processing Toolbox.
I. WPROWADZENIE
II. MODEL MATEMATYCZNY
Szum jest podstawowym utrudnieniem w analizie
obrazu. Potrafi w sposób znaczący go uszkodzić.
Powstaje m.in. w wyniku akwizycji obrazu, transmisji
przez
kanał
komunikacyjny.
W
przypadku
zniekształcenia koloru pikseli subiektywne wraŜenie
wzrokowe nie jest korzystne. W przypadku
dysponowania obrazem zaszumionym, dalsza analiza
powinna być poprzedzona etapem jego odszumienia.
Dedykowane algorytmy przeznaczone do rozwiązywania
tego typu problemu bazują na róŜnych podejściach, które
zaleŜą od typu szumu i jego intensywności. W literaturze
spotyka się m.in. szum o rozkładzie gaussowskim o
róŜnych parametrach, szum multiplikatywny. Inny,
ciekawy typ szumu wprowadza zakłócenia impulsowe,
które w przetwarzaniu obrazu kojarzy się z szumem typu
„pieprz i sól”. Znany sposób jego eliminacji to prosta
dwuwymiarowa filtracja medianowa, w której filtrowany
jest cały obszar, a rozmiar stosowanej maski zaleŜy od
intensywności szumu. Do odszumiania obrazu
wykorzystuje się równieŜ kombinację operacji otwarcia i
zamknięcia [2]. W niniejszym artykule zaproponowano
technikę bazującą na wstępnej dekompozycji obrazu na
warstwy binarne. Następnie dokonuje się analizy kaŜdej
warstwy oddzielnie. Polega ona na poszukiwaniu
„zlepek” i ewentualnej ich filtracji w przypadku
stwierdzenie zaszumienia. Druga zaprezentowana
technika korzysta z operacji otwarcia i zamknięcia. Oba
te przekształcenia operują na uprzednio otrzymanych w
wyniku dekompozycji warstwach. Dla tego algorytmu
zaproponowano uŜycie pewnego kryterium, dzięki
któremu jakość uzyskanego obrazu jest lepsza.
W artykule, proponowane rozwiązania zostały
przedstawione w oddzielnych rozdziałach. Drugi
W literaturze moŜna spotkać róŜne typy szumu,
które opisywane są przez funkcję prawdopodobieństwa o
pewnym rozkładzie. Jej kształt moŜe mieć charakter
dzwonu (szum gaussowski), odcinka (szum o rozkładzie
równomiernym). Specyficznym szumem jest „pieprz i
sól”, opisywany przez rozkład dwupunktowy. Z
jednakowym prawdopodobieństwem moŜe wystąpić
szum o maksymalnej jasności (piksel biały-sól) lub o
minimalnej (piksel czarny-pieprz). Obraz zaszumiony
moŜna opisać wg formuły (1)
I (m, n) z prawd. równym p
I(m, n) =  o
 N(m, n) z prawd. równym 1 - p
(1)
gdzie N(m,n) to piksel zaszumiony, Io(m,n) piksel wolny
od szumu, I(m,n) oznacza piksel wynikowy. Parametr
‘p’
określa
intensywność
szumu
i
określa
prawdopodobieństwo, Ŝe rozwaŜamy piksel zostanie
zaszumiony. Im jest on większy tym obraz jest bardziej
zdegenerowany.
W obszarze przetwarzania obrazów, w ramach
symulacji, sposób generowania rozwaŜanego szumu nie
nastręcza problemów i moŜna go przeprowadzić wg
następującego algorytmu, w którym obraz oryginalny,
opisany przy uŜyciu skali szarości, zostaje poddany tego
typu zakłóceniu. PoniŜsze operacje przeprowadza się dla
kaŜdego piksela obrazu źródłowego.
• korzystając z generatora liczb pseudolosowych o
rozkładzie równomiernym wylosuj liczbę z
przedziału <0;1>,
• jeŜeli uzyskana liczba jest większa od
predefiniowanego
współczynnika
INT
•
określającego intensywność szumu, pozostaw
piksel bez zmiany jasności,
w przeciwnym razie dokonaj zaszumienia piksela,
• wprowadź jasność równą 0, jeŜeli wylosowana
liczba jest mniejsza niŜ INT/2,
• w przeciwnym razie przypisz wynikowej
jasności
wartość
maksymalną,
która
odpowiada bieli.
III. ALGORYTM BAZUJĄCY NA „ZLEPKACH”
Obrazem wejściowym jest zaszumiony obraz
opisany w skali szarości. Na wstępie dokonywana jest
jego dekompozycja na warstwy wg wzoru 2 [3]
1, dla I(m, n) ≥ i
I (i) (m, n) = 
0, dla I(m, n) < i
(2)
gdzie I(m,n) oznacza piksel źródłowy, I(i)(m,n) to piksel
i-tej warstwy obrazu I, para (m,n) określa współrzędne
piksela. W wyniku powyŜszej operacji otrzymuje się
zbiór warstw {I(i)} w liczbie M, z których kaŜda zawiera
dane binarne. Wartość M to największa moŜliwa wartość
jasności, jaką moŜe przyjąć piksel w rozwaŜanym
obrazie wejściowym. JeŜeli piksel jest opisywany przez
n bitów to M=2n-1 (dla n=8 otrzymuje się 255 warstw).
PoniŜej znajduje się opis algorytmu dla obrazu
opisywanego w skali odcieni szarości dla pojedynczej
warstwy, który naleŜy zastosować do wszystkich w
sposób niezaleŜny.
W algorytmie nie jest filtrowana cała warstwa, lecz
tylko miejsca określone jako zaszumione. Procedura
definiowania obszarów uznanych za zaszumione
wygląda następująco. Dla kaŜdego piksela warstwy
analizuje się jego sąsiedztwo. UŜyte w algorytmie
sąsiedztwo rozwaŜanego piksela, rozumiano jako zbiór
pikseli posiadających względem niego jeden lub dwa
wierzchołki wspólne (czyli osiem pikseli). MoŜna
zastosować ograniczone sąsiedztwo (o cztery piksele
mniej), biorąc pod uwagę tylko piksele z góry, dołu,
lewej i prawej strony. Sąsiedztwo wyznacza kierunki
poszukiwań pikseli podobnych - identycznych pod
względem jasności, czyli takich, dla których spełniony
jest wzór (3).
Xi uznaj za podobny do Xj, gdy Xi=Xj
(3)
Gdy zostaną znalezione piksele podobne do piksela Xi w
obrębie jego sąsiedztwa, algorytm poszukuje pikseli
podobnych do znalezionych. W taki sposób tworzona
szum o intensywności 10%
wynik filtracji dla
MAX=10, PSNR=27,39dB
jest grupa pikseli podobnych, nazwana „zlepką”. JeŜeli
proces poszukiwania zostanie zakończony i rozmiar
„zlepki” nie przekroczy parametru MAX (określającego
maksymalną liczbę pikseli tworzących „zlepkę”),
następuje przejście do kroku kolejnego algorytmu, w
przeciwnym razie obszar nie jest uznany za zaszumiony i
nie podlega filtracji. By uznać „zlepkę” za obszar
zdegenerowany przez szum, algorytm bada otoczenie
zlepki (tylko zewnętrznych sąsiadów). JeŜeli wszystkie
elementy zlepki posiadają wartość 1 lub 0, a całe
otoczenie posiada wartość odpowiednio 0 lub 1, obszar
zostaje uznany za zaszumiony. Filtracja polega na
zastąpieniu wartości jasności pikseli tworzących
„zlepkę”, wartością pikseli otoczenia. Przykład został
zaprezentowany na rysunku 1.
(a)
(b)
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
oznacza element otoczenia zlepki
1
oznacza element zlepki
0
oznacza element przefiltrowany
1
0
0
0
0
0
Rys 1. Przykład zlepki o rozmiarze równym 5 (a)
i wynik filtracji (b)
Po dokonaniu filtracji dla kaŜdej warstwy, naleŜy zebrać
wyniki, poprzez zsumowanie wartości pikseli na
odpowiadających
pozycjach
w
warstwach.
Matematycznie powyŜszą rekonstrukcję obrazu moŜna
zapisać w postaci formuły (4), gdzie Iz oznacza obraz
zrekonstruowany.
M
I z (m, n) =
∑ I (m, n)
i
(4)
i =1
Wartość parametru MAX jest definiowana przez
uŜytkownika i powinna wzrastać wraz z intensywnością
szumu. Rysunek 2 pokazuje efekt działania algorytmu
dla tego samego obrazu, przy róŜnym stopniu zakłócenia
i przy róŜnej wartości MAX. Obrazem testowym był
cameraman (256x256). Tabela 1 zawiera zbiorcze
wyniki.
szum o intensywności 15%
Rys 2. Obrazy zaszumione i rezultaty odszumiania
wynik filtracji dla
MAX=15, PSR=25,76dB
zmniejszyć wpływ białych pikseli wprowadzonych
przez szum „noise & pepper”. Skutki operacji
zamknięcia są podobne tylko dotyczą pikseli z
wartością 0. Zamknięcie zmniejsza występowanie
czarnych pikseli wprowadzonych przez szum.
Kolejność stosowania operacji zamknięcia i otwarcia
determinuje wynik końcowy, który nie jest identyczny.
Przy niskim współczynniku szumu, jeŜeli w warstwie
jest więcej pikseli z wartością zero niŜ jeden,
korzystniej jest stosować sekwencję ‘otwarcie
zamknięcie’. SpostrzeŜenie to stało się powodem
modyfikacji dotychczas opisanego algorytmu. Dla
kaŜdej warstwy wykorzystuje się kryterium, wg
którego obliczana jest liczba pikseli z wartością 1.
JeŜeli jest ona większa od połowy liczby pikseli
tworzących warstwę stosuje się kolejno zamknięcie i
otwarcie, w przeciwnym wypadku kolejność jest
odwrotna. W ten sposób, dokonuje się określenia
kolejności operacji zamknięcia i otwarcia uzyskując
poprawę rezultatów. Dzięki zastosowanemu kryterium
uzyskiwano
obrazy,
które
zawierały
mniej
zdegradowanych, nieodszumionych pikseli, w stosunku
do ich liczby uzyskanej na drodze zwykłej sekwencji
‘otwarcie, zamknięcie’. Podstawowym parametrem
sterującym algorytmem jest kształt elementu
strukturalnego (SE), albowiem to on determinuje
wynik operacji otwarcia i zamknięcia. Nie moŜna uŜyć
zbyt duŜego albowiem wynik końcowy będzie obrazem
zamazanym, pozbawionym szczegółów. Taki efekt
uzyskiwano dla SE o rozmiarze 3x3 lub większym,
wypełnionym wartościami 1. Dla rozwaŜanej
intensywności szumu, dobrze spisywały się małe
elementy strukturalne (1x2 lub 2x1). Zestawienie
wyników dla dwóch obrazów testowych przedstawiono
w tabeli 2 i 3. Najlepsze wyniki otrzymano dla
dwukrotnego wywołania algorytmu przy zastosowaniu
jako SE odpowiednio [1 1]’ i [1 1]. Oznacza to, Ŝe
wynik algorytmu przy SE=[1 1]’, stanowił obraz
źródłowy dla kolejnego wywołania przy SE=[1 1]. Z
tabelki wynika, Ŝe współczynnik PSNR w wszystkich
przypadkach jest bliski PSNR uzyskanego w wyniku
zadziałania filtru medianowego. Macierze o
elementach równych jedności i o rozmiarze 2x3, 3x2,
3x3 dały gorsze wyniki – obraz był bardziej rozmyty.
Proponowany niniejszy algorytm moŜna stosować dla
obrazu o niskim stopniu zaszumienia (jak 5%, 10%)
uŜywając jako SE macierzy kolejno [1 1]’ i [1 1]. Dla
obrazów
dotkniętych
szumem
o
większej
intensywności niŜ 15% daje on gorsze wyniki.
Tabela 1. Zestawienie wyników dla obrazu testowego
cameraman. Wyniki w ostatniej kolumnie uzyskano
posługując się filtrem medianowym (3x3)
Intensywność
MAX
PSNR[dB]
5%
10%
10%
15%
15%
20%
5
5
10
10
15
15
30.26
27.32
27.38
25.86
25.76
24.49
Mediana 3x3
PSNR[dB]
26.77
26.05
25.34
24.18
IV. OTWARCIE(OPENING) I
ZAMKNIĘCIE(CLOSING) JAKO POMOC W
USUWANIU SZUMU IMPULSOWEGO
Kolejny algorytm, przeznaczony do usuwania
szumu impulsowego, korzysta z operacji otwarcia i
zamknięcia. Są to dobrze znane przekształcenia
morfologiczne. Otwarcie polega na wykonaniu kolejno
operacji erozji i dylatacji. Zamknięcie jest złoŜeniem
dylatacji i erozji. Otwarcie i zamknięcie moŜna
zdefiniować odpowiednio wg wzorów (5), (6) [1]:
O(L,SE)=D(E(I,SE),SE)
(5)
C(L,SE)=E(D,(I,SE),SE)
(6)
gdzie E(I,SE) oznacza operację erozji na obrazie I
posługując się elementem strukturalnym SE, D(I,SE) to
zapis operacji dylatacji działającej na obrazie I
bazującej na elemencie strukturalnym SE. Sekwencja
‘otwarcie zamknięcie’ lub ‘zamknięcie otwarcie’ moŜe
być stosowana do odszumienia obrazu dotkniętego
szumem impulsowym o niskim współczynniku
zaszumienia – np.: 5%. Przykładowe wyniki zostały
pokazane w tabeli 2 – drugi wiersz. Sekwencja ta
polega na zastosowaniu operacji otwarcia, a na
uzyskanym wyniku zamknięcia lub odpowiednio
zamknięcia, a na jej wyniku otwarcia. Aby poprawić
efekty, zaproponowano
w artykule
wstępną
dekompozycję obrazu zaszumionego na warstwy
binarne. Dla kaŜdej warstwy oddzielnie, przeprowadza
się sekwencję ‘otwarcie zamknięcie’ lub ‘zamknięcie
otwarcie’. Rozkład na warstwy następuje wg
wspomnianego wzoru (2), proces generowania obrazu
wyjściowego postępuje wg zaleŜności (4). Przez
zastosowanie operacji otwarcia, filtrowane są
odseparowane piksele (otoczone „zerami”) z wartością
jeden oraz niewielkie grupy takich pikseli. Pozwala to
Tabela 2. Wyniki dla obrazu testowego cameraman (jako SE uŜyto [1 1]’ i [1 1])
Intensywność
Otwarcie, zamkniecie
(bez kryterium)
PSNR[dB]
Otwarcie, zamkniecie
(z kryterium) PSNR[dB]
Filtr medianowy (3x3)
PSNR[dB]
5%
10%
15%
27.53
25.97
24.32
27.69
26.68
25.71
26.77
26.05
25.34
Tabela 3. Wyniki dla obrazu testowego lena (jako SE uŜyto [1 1]’ i [1 1])
Intensywność
Otwarcie, zamkniecie
(bez kryterium)
PSNR[dB]
Otwarcie, zamkniecie
(z kryterium) PSNR[dB]
Filtr medianowy (3x3)
PSNR[dB]
5%
10%
15%
34.79
31.63
28.00
35.36
33.33
31.06
34.52
33.23
31.30
V. NAPOTKANE PROBLEMY
Jednym z napotkanych problemów stał się
problem przetwarzania pikseli znajdujących się na
obrzeŜach obrazu w przypadku stosowania operacji
otwarcia lub zamknięcia. Rozmiar SE nakazywał brać
pod uwagę piksele nienaleŜące do obrazu. W
przypadku stosowania operacji erozji przyjęto
pikselom tym nadawać wartość 1, dla operacji dylatacji
wartość 0. Gdy nadano pikselom poza obrazem
wartości 0 dla operacji erozji, uzyskano nieprzyjemny
efekt objawiający się powstaniem czarnych linii na
obrzeŜach obrazu. PołoŜenie tych linii oraz ich liczba
zaleŜały od SE (np. zastosowanie SE=[1 1] skutkowało
otrzymaniem pojedynczej, czarnej linii w ostatniej,
prawej, pionowej linii obrazu.
W przypadku omówionych algorytmów, wadą
uŜytej dekompozycji jest liczba uzyskanych dzięki niej
warstw. W przypadku obrazów (opisywanych w skali
odcieni szarości), dla których kaŜdy piksel jest
reprezentowany prze 16 bitów, otrzymuje się 65535
warstw. Taka wartość bardzo mocno wydłuŜa czas
potrzebny na odszumienie obrazu.
VI. PODSUMOWANIE
W artykule przedstawiono dwie techniki
przeznaczone do odszumiania obrazu dotkniętego
szumem typu „pieprz i sól”. Wszystkie zaprezentowane
algorytmy dobrze poradziły sobie z eliminacją szumu o
małej
intensywności.
Zastosowanie
algorytmu
bazującego na „zlepkach” poskutkowało pozbyciem się
omawianego
problemu.
Ulepszony
algorytm
wykorzystujący dekompozycję połączony z operacjami
otwarcia i zamknięcia, zdał egzamin dla szumu o
intensywności około 10% lub mniejszego.
Zbiór znanych operacji morfologicznych jest
bogatym narzędziem w przetwarzaniu obrazów. Autor
uwaŜa, Ŝe do odszumiania obrazu obarczonego
szumem typu „pieprz i sól” (za wyjątkiem otwarcia,
zamknięcia), moŜna z powodzeniem zastosować
transformację HMT.
VIII. SPIS LITERATURY
Wróbel,
Robert
Koprowski,
[1] Zygmunt
Praktyka przetwarzania obrazów w programie
MATLAB, Akademicka Oficyna Wydawnicza
EXIT, Warszawa 2004
[2] Witold Malina, Maciej Smiatacz, Metody
cyfrowego przetwarzania obrazów, Akademicka
Oficyna Wydawnicza Exit, Warszawa 2005
[3] Igor Aizenberg, Constantine Butakoff, and
Dmitriy Paliy, „Impulsive Noise Removal
Using Threshold Boolean Filtering Based on
the Impulse Detecting Functions”, IEEE
Signal Processing Letters, vol. 12, no. 1.
January 2005

Podobne dokumenty