Algorytmy graficzne Nieliniowa filtracja orazów monochromatycznych
Metody oceny efektywności filtracji Analizując filtry redukujące zakłócenia w orazie cyfrowym konieczne jest określenie ścisłych miar skuteczności algorytmów filtracji. Lista najczęściej wykorzystywanych miar podana jest poniżej. We wszystkich przypadkach f oraz f oznaczają odpowiednio oraz oryginalny (ez zakłócenia) oraz wynik filtracji orazu zakłóconego, natomiast n oraz m oznaczają liczę wierszy i kolumn orazu. Błąd średniokwadratowy Znormalizowany łąd średniokwadratowy Stosunek sygnału szczytowego do szumu (peak signal to noise ratio) PSNR: Stosunek sygnału do szumu (signal to noise ratio) SNR:
Filtry minimalny i maksymalny Przykładem filtrów realizujących selektywną filtrację zakłóceń typu sól lu pieprz są filtry minimalny oraz maksymalny. W takim przypadku wartość ieżącego piksela (centrum okna) zastępowana jest odpowiednio przez wartością minimalną lu maksymalną wyznaczoną w sąsiedztwie piksela. Filtr minimalny posiada zdolność redukcji zakłóceń typu sól, natomiast filtr maksymalny zakłóceń typu pieprz. Filtry tego rodzaju zmieniają gloalny poziom jasności w orazie: filtr minimalny zmniejsza jasność, filtr maksymalny zwiększa. Efektem jest też zmniejszanie powierzchni oiektów odpowiednio jasnych lu ciemnych (patrz orazy (c) i (e)). MSE=7120.2 a c MSE=188.8 MSE=1945.1 MSE=175.7 MSE=6243.5 d e f Rys.1. Filtracja orazów zakłóconych przy użyciu filtrów minimalnego i maksymalnego. (a) oraz oryginalny ez zakłócenia; () oraz z 30% zakłóceniem typu sól, (c) wynik filtracji orazu () filtrem minimalnym; (d) oraz (a) po zakłóceniu 30% szumem typu pieprz; (e) wynik filtracji orazu (d) filtrem maksymalnym. Oraz (f) przedstawia wynik zastosowania niewłaściwego filtru: oraz (d) filtrowany przy użyciu filtru minimalnego. Zastosowane filtry realizowane są z maską 3x3 piksele.
Idea filtru medianowego Filtracja medianowa polega na przeglądaniu orazu cyfrowego piksel po pikselu z oknem ustalonego rozmiaru, najczęściej oknem nieparzystym lu oknem w kształcie krzyża. Wartość piksela centralnego zastępowana jest medianą ze zioru pikseli w jego sąsiedztwie wyznaczonym przez okno przetwarzania. Mediana jest wartością środkową w uporządkowanym ciągu próek (licz, wartości). Podstawową operacją wykonywaną przez filtr medianowy jest sortowanie zioru wartości pikseli i wyór wartości środkowej tak uporządkowanego ciągu. Przykład. Niech dany jest ciąg (3,100,2). Ciąg po uporządkowaniu ma postać: (2,3,100). Wartością środkową w ciągu jest wartość 3 ędąca medianą. Dla odróżnienia wartość średnia wynosi w tym przypadku 35. Podstawową zaletą filtru medianowego jest odporność na zakłócenia impulsowe, tzn. na oecność w ziorze pikseli o wartości skrajnych, silnie odstających od pozostałych. W takim przypadku wartości odstające w drodze sortowania przyjmują skrajne pozycje w uporządkowanym ciągu pikseli i nie mogą yć wyrane jako mediana. Zdolność filtru medianowego do usuwania zakłóceń tego typu zależy jednak od rozmiaru zakłócenia, tzn. liczy zakłóconych pikseli: licza pikseli zakłóconych musi yć nie większa niż połowa liczy pikseli w loku. Wadą filtracji medianowej jest większa niż w przypadku filtrów uśredniających złożoność oliczeniowa: wymóg sortowania zioru wartości pikseli każdego loku. Zaletą ardzo skuteczne usuwanie zakłóceń impulsowych typu salt and pepper. W przypadku szumu gaussowskiego filtracja medianowa daje znacznie gorsze rezultaty niż w przypadku zakłóceń impulsowych. a i 4 7 2 5 0 5 1 2 7 y c 9 7 3 6 3 3 6 0 2 i 7 6 4 5 4 4 2 y i 6 6 4 5 4 4 3 y a 7 4 9 7 4 9 4 8 0 7 6 6 6 4 4 4 6 33 33 33 5 5 4 9 2 1 255 6 1 8 3 4 4 5 6 7 6 8 4 4 33 33 33 33 33 31 0 5 2 9 0 8 255 0 1 4 4 4 6 6 7 4 4 32 32 32 32 32 32 8 4 8 1 4 8 0 7 6 5 5 4 8 8 7 5 5 5 5 6 33 33 32 9 5 2 7 9 9 5 5 5 4 4 4 7 5 5 5 5 32 33 33 5 5 4 j z j z j 2 0 3 255 4 0 8 4 0 k 2 3 4 4 5 5 5{ k 3 31 32 32 5 4 5 { z k 1 3 2 0 4 1 5 0 9{ Rys.1. Porównanie działania filtrów uśredniającego a) i medianowego - ) dla jednowymiarowego ciągu próek. Rys.2.Porównanie działania filtru medianowego i uśredniającego (oa realizowane jako przekształcenie z oknem 3x3). (a) przykładowy lok orazu; () wynik filtracji medianowej; (c) wynik filtracji uśredniającej. Przykład pokazuje, że w przypadku filtracji medianowej zakłócenie silnie odstające od otoczenia zostaje rzeczywiście fizycznie wyeliminowane z orazu. W przypadku filtru uśredniającego zakłócenie jest rozmazywane.
Zakłócenia wprowadzane przez filtr medianowy Popularność filtru medianowego wynika ze znakomitej zdolności do redukcji szumu impulsowego oraz rozmywania orazu w mniejszym stopniu niż filtry uśredniające takiego samego rozmiaru. Pomimo swoich zalet filtr medianowy powoduje zniekształcenia orazu. Zniekształcenia te mogą się pogłęiać wraz ze wzrostem liczy iteracji filtracji jak również ze wzrostem rozmiaru okna. Przykłady przedstawione są na rysunkach poniżej. a c d Rys. 1. Przykład zakłócenia generowanego przez filtr medianowy o różnej wielkości okna. (a) oraz oryginalny; (), (c) i (d) przedstawiają wynik filtracji orazu (a) filtrem medianowym z oknem rozmiaru odpowiednio 3x3, 5x5 oraz 9x9. Z czego wynika tego typu zakłócenie? a d d e Rys. 2. Przykład wprowadzania zakłóceń przez filtr medianiowy w orazie naturalnym. Mechanizm degradacji jakości orazu jest podony jak w przypadku rysunku 1. (a) oraz oryginalny; orazy () (e) przedstawiają wynik filtracji z oknem równym odpowiednio 3x3, 5x5, 7x7 oraz 9x9.
Filtr medianowy - ilustracja a c d Rys. 1. Przykład filtracji medianowej. (a) oraz oryginalny; () oraz zakłócony 5% szumem sól i pieprz; oraz (c) przedstawia wynik filtracji medianowej z oknem 3x3 piksele. Strzałka wskazuje zakłócenie w orazie po filtracji. Na rysunku (d) przedstawiony został dla porównania wynik filtracji orazu () przez filtr gaussowski 3x3.
Filtr medianowy - ilustracja a Rys. 1. Przykład filtracji medianowej. (a) oraz oryginalny; () oraz zakłócony 15% szumem sól i pieprz; orazy (c) i (d) przedstawiają wynik filtracji medianowej z oknem odpowiednio 3x3 oraz 5x5. c d
Filtr medianowy - ilustracja a Rys. 1. Przykład filtracji medianowej.; (a) oraz zakłócony 50% szumem sól i pieprz; orazy (), (c) i (d) przedstawiają wynik filtracji medianowej z oknem odpowiednio 3x3, 5x5 oraz 7x7. Widoczne jest postrzępienie i rozmycie krawędzi w orazu po filtracji. c d
Filtr medianowy - ilustracja a MSE=590.4 c MSE=150.7 Rys. 1. (a) oraz z nałożonym regularnym zakłóceniem liniowym; () wynik filtracji medianowej z oknem 3x3; (c) wynik filtracji medianowej z oknem 5x5. Zakłócenie tego typu można wyeliminować za pomocą adaptacyjnego filtru medianowego 3x3. Gruość linii siatki na rysunku (a) wynosi 1 piksel.
Rodzaje filtrów medianowych - 1 Rekurencyjna filtracja medianowa (recursive median filter, RMF) Jest przypadkiem filtracji medianowej wykonywanej in situ (w miejscu). W takim przypadku wartość piksela centralnego jest modyfikowana w orazie oryginalnym, przed przesunięciem okna do następnego piksela. Posiada lepszą zdolność tłumienia zakłóceń oraz wprowadza mniejsze zniekształcenia sygnału niż zwykła filtracja medianowa (?). Złożoność oliczeniowa ou rodzajów filtracji medianowej jest identyczna. Ważona filtracja medianowa (weighted median filter, WMF) Stanowi uogólnienie prostej filtracji medianowej poprzez wprowadzenie współczynników reprezentujących wagi pikseli sąsiedztwa. Ważenie elementów realizowane jest przez ich powielenie zadaną liczę razy przed wyznaczeniem mediany. Dla przykładu: niech X=(15,10,3,2,5) jest jednowymiarowym ciągiem elementów, natomiast W=(1,2,3,2,1) określa wagi mediany. Wówczas mediana ważona realizowana jest jako mediana z następującego ciągu: (15,10,10,3,3,3,2,2,5). Mediana ważona w tym przypadku jest równa 3 (zwykład mediana: 5). Najczęściej suma wag jest liczą nieparzystą. Taki sposó realizacji filtru medianowego zmniejsza poziom zniekształceń wprowadzanych do orazu. Filtracja medianowa z ważonym elementem centralnym (center weighted median filter, CWMF) Filtr tego typu jest przypadkiem szczególnym filtru realizującego ważoną medianę, w którym ważeniu podlega jedynie element centralny, tzn. jedynie element centralny może yć zwielokrotniony podczas wyznaczania mediany. W przypadku gdy waga w elementu centralnego jest równa w=1 filtr redukuje się do prostego filtru medianowego. Dla w>=n, gdzie n jest liczą elementów w sąsiedztwie elementu centralnego, filtr realizuje przekształcenie identycznościowe: na wyjściu generowany jest element centralny.
Rodzaje filtrów medianowych - ilustracja a c d Rys. 1. Przykład filtracji medianowej.; (a) oraz oryginalny; Wiersze (), (c) i (d) przedstawiają wyniki odpowiednio zwykłej filtracji medianowej, rekurencyjnej oraz ważonej dla masek odpowiednio: 3x3, 5x5 oraz 7x7.
Rodzaje filtrów medianowych - ilustracja a c MSE=261.3 d MSE=474.1 e MSE=427.6 Rys.1. Porównanie zwykłej filtracji medianowej oraz filtracji ważonej. Oraz (a) oraz oryginalny; () oraz zakłócony 15% szumem impulsowym sól i pieprz; orazy (c) i (d) przedstawiają wynik filtracji medianowej z oknem odpowiednio 3x3 oraz 5x5, natomiast na orazie (e) przedstawiony jest wynik filtracji medianowej ważonej z maską 5x5. Rozkład wag w tym przypadku stanowi dyskretną aproksymację dwuwymiarowej funkcji Gaussa. Jak widać na przykładzie (e), filtracja ważona wprowadza mniejsze zniekształcenia krawędzi w orazie. Jest to szczególnie widoczne w oszarze ust (orazy (d) i (e)).
Rodzaje filtrów medianowych - 2 α-trimmed mean filter. Filtr realizujący średnią uciętą (trimmed mean) Filtracja w takim przypadku polega na przypisaniu ieżącemu pikselowi średniej arytmetycznej ze zioru pikseli zawierającego α pikseli najliższych medianie: gdzie f(x,y) i f (x,y) są odpowiednio pikselem przed i po filtracji natomiast W r jest zredukowanym ziorem pikseli z sąsiedztwa ieżącego piksela f(x,y) (aktualnie przetwarzanego). Redukcja zioru polega na zachowaniu α pikseli o wartościach najliższych medianie ze zioru, dzięki czemu średnia tego typu jest mało wrażliwa na wartości odstające. Operacja uśredniania zapewnia redukcję szumu gaussowskiego (lu innego o podonej charakterystyce) natomiast operacja ocięcia pozwala wyeliminować piksele o skrajnych (odstających) wartościach - piksele takie traktuje się tu jak szum impulsowy. Dla α=1 filtr redukuje się do zwykłego filtru medianowego, natomiast dla α=n realizuje prostą filtrację uśredniającą. W tym sensie ocięty filtr uśredniający jest uogólnieniem dwóch wspomnianych filtrów. MSE=596.3 MSE=655.1 MSE=546.2 a c d Rys.1. Porównanie filtru αtmf oraz zwykłego filtru medianowego oraz uśredniajacego dla orazu zakłóconego szumem gaussowskim o zerowej średniej i wariancji wynoszącej 1600 oraz 10% szumem impulsowym. (a) oraz zakłócony; rysunki ()-(d).przedstawiają wynik filtracji odpowiednio medianowej, średniej arytmetycznej oraz średniej uciętej. Wszystkie filtry realizowane z maską 3x3 piksele.błąd MSE dla orazów po filtracji wynosi odpowiednio 597, 652 oraz 549.
Adaptacyjny filtr medianowy Cechy zwykłej filtracji medianowej Zaleta: Daje dore rezultaty w usuwaniu zakłóceń impulsowych w przypadku gdy licza pikseli zakłóconych jest mniejsza niż n/2, gdzie n jest liczą pikseli w oknie. Wada: Piksel centralny zastępowany jest medianą ze zioru pikseli w oknie niezależnie od lokalnej statystyki pikseli. Prowadzi to do zędnego wygładzania orazu w oszarze pozawionym zakłóceń impulsowych. Wersja adaptacyjna filtru medianowego polega na przeglądaniu orazu piksel po pikselu z kwadratowym oknem, którego centrum jest piksel ieżący (aktualnie przetwarzany) oraz wykonaniu kroków podanych poniżej: 1. Dla każdego ieżącego piksela f(x,y) orazu f wyznacz listę najliższych sąsiadów określonych przez okno W o rozmiarze NxN wycentrowane na pikselu f(x,y), a następnie wyznacz wartość minimalną, maksymalną oraz środkową (mediana) w oknie: fmin, fmax oraz fmed. Wykonaj test: If fmin < fmed < fmax True False 2.1. Wykonaj test: If fmin < f(x,y) < fmax 2.2. Zwiększ rozmiar okna wyznaczającego sąsiedztwo ieżącego piksela: Nnew=Nold+2 If Nnew < Nmax True True False 3.1. f(x,y)=f(x,y) 3.2. f(x,y)=fmed False Rys.1.Etapy pracy algorytmu adaptacyjnej filtracji medianowej. Przedstawione etapy wykonywane są dla każdego piksela orazu.
Adaptacyjny filtr medianowy - ilustracja a c MSE=827.4 Rys.1.Ilustracja działania algorytmu adaptacyjnej filtracji medianowej. (a) oraz zakłócony 30% szumem sól i pieprz oraz siatką w której piksele przyjmują wartość maksymalną równą 255. Na rysunku () przedstawiony jest wynik filtracji przy użyciu filtru adaptacyjnego 3x3. Rysunki (c) i (d) przedstawiają wynik filtracji zwykłym filtrem medianowym odpowiednio 3x3 oraz 7x7. Największym oknem z jakim w tym przypadku działa filtr adaptacyjny (rys. ) jest okno 15x15 pikseli. d MSE=85.4 MSE=230.9 Idea filtru adaptacyjnego sprowadza się do zastąpienia pikseli zaszumionych medianą. Piksele wolne od zakłócenia pozostawiane są ez zmian. Filtr jest przykładem szerokiej klasy filtrów przełączanych (switching filters) inteligentnych. Wartości odstające w ziorze pikseli są interpretowane jako szum niezależnie od ich rzeczywistego charakteru (na wyjściu filtru nigdy nie pojawia się wartość minimalna lu maksymalna). Filtr wykorzystuje okno o zmieniającym się rozmiarze dzięki czemu jest w stanie usuwać zakłócenia zajmujące stosunkowo duży oszar orazu. Redukuje (nawet ekstremalny) szum impulsowy znacznie silniej niż zwykły filtr medianowy o takim samym rozmiarze (patrz ilustracja ook) wygładzając jednocześnie oraz w mniejszym stopniu niż zwykły filtr medianowy.
Adaptacyjny filtr medianowy - ilustracja aa MSE=1144.8 c MSE=14982.7 d MSE=1435.9 Rys.1.Przykład filtracji orazu ekstremalnie zaszumionego: 80% zakłócenie sól i pieprz oraz regularna siatka pikseli o wartościach 255. (a) oraz zaszumiony; () wynik filtracji adaptacyjnej z oknem początkowym 3x3; (c) i (d) wynik filtracji zwykłym filtrem medianowym z maską odpowiednio 3x3 oraz 23x23. W tym przypadku największym oknem z jakim pracował filtr adaptacyjny (rozmiar ustalony automatycznie przez algorytm) jest okno 23x23 piksele.
Adaptacyjny filtr medianowy - ilustracja 250 a 250 200 200 150 100 150 50 20 40 60 80 100 120 100 250 200 c 150 50 100 50 20 40 60 80 100 120 20 40 60 80 100 120 Rys.1.Porównanie zwykłego filtru medianowego oraz filtru adaptacyjnego. Na rysunku (a) krzywa czarna reprezentuje sygnał oryginalny zakłócony w zaznaczonych oszarach szumem impulsowym (oszary szerokości odpowiednio 5 oraz 8 próek; sygnał składa się z 134 próek). Krzywa zielona i czerwona reprezentują odpowiednio sygnał odszumiony przy użyciu zwykłego filtru medianowego oraz filtru adaptacyjnego; w ou przypadkach filtracja z jednowymiarowym oknem długości 3 (filtr adaptacyjny może regulować rozmiar okna). W oszarze zakłócenia impulsowego krzywa czarna i zielona pokrywają się ze soą (zaznaczone strzałkami). Na rysunkach () i (c) przedstawiony jest wynik filtracji przy użyciu zwykłego filtru medianowego z oknem o długości odpowiednio 11 oraz 17. Filtr o długości 11 jest najmniejszym filtrem (zwykła mediana) który eliminuje pierwsze zakłócenie impulsowe; filtr o długości 17 eliminuje również drugi oszar zakłócenia. Przykład wyraźnie wskazuje, że zakłócenie silnie oddziałuje na oszary sąsiednie: największy z oszarów zakłócenia ma rozmiar 8 sąsiednich próek, ale jest eliminowany dopiero przez filtr analizujący 17 sąsiednich próek. Z czego to wynika?
Filtry średniej geometrycznej i harmonicznej 250 200 Filtracja przy użyciu filtru średniej geometrycznej sprowadza się do zastąpienia wartości piksela ieżącego średnią geometryczną wartości pikseli w oknie NxN: 150 100 50 20 40 60 80 100 120 Rys.1. Krzywa czarna sygnał oryginalny; krzywa czerwona i zielona, odpowiednio, wynik filtracji przy użyciu filtru średniej geometrycznej i arytmetycznej. Filtr średniej geometrycznej charakteryzuje podony stopień wygładzania jak filtr uśredniający (średnia arytmetyczna). Różnica polega na odmiennym traktowaniu pikseli o wartości zerowej. Filtr tego typu jest silnie wrażliwy na zakłócenia typu pieprz. a Rys.1. Filtracja orazu z zakłóceniem typu pieprz (20%). (a) oraz zakłócony, () oraz po filtracji.
Uśrednianie czasowe orazu a c d e f Skuteczną metodą usuwania szumu z orazów statycznych zakłóconych szumem o zerowej średniej jest uśrednianie czasowe. W praktyce zwykle nie jest możliwe dysponowanie kilkunastoma niezależnymi orazami wygenerowanymi przez to samo źródło. Zmniejsza to możliwość praktycznego wykorzystania tego rodzaju filtru. Rys. Uśrednianie czasowe. a) oraz oryginalny, ) oraz zaszumiony (m=0, s=200); c)-f) uśrednienie, odpowiednio 25, 50, 100, 500 orazów.