Semestrální práce z předmětu KMA/MM Odstraňování šumu z obrazu Jaroslav Tuma 8. února 2010 1
1 Zpracování obrazu Zpracování obrazu je disciplína zabývající se zpracováním obrazových dat různého původu. Samozřejmě má také mnoho aplikací. Například počítačové vidění, rozpoznávání tváří nebo zpracování lékařských obrázků, které jsou výstupem ze zařízení jako jsou ultrazvuk, magnetická resonance a podobně. Podle toho řeší image processing také spoustu dílčích úloh. Znovu uvedu příklady: rozdělování obrázků na části, rozpoznávání objektů v obrázku, obnovení obrazu a další. Ve své práci jsem se hlouběji zabýval obnovováním poškozeného obrazu. 2 Obnovování obrazu Tato úloha zpracování obrazu se zabývá vylepšením kvality obrazu. K poškození obrázku dochází například při pořizování nebo přenášení a může k němu dojít jednak šumem a nebo rozmazáním. Běžně se užívá následujícího modelu: zobrazení u : Ω R 2 R reprezentuje původní obrázek a u 0 vyjadřuje obdržená data. Potom platí: u 0 = Ru + η, (1) kde η je šum a operátor R popisuje rozmazání. Šum je náhodný fenomén k němuž dochází při každém přenosu signálu. Tento náhodný šum je obvykle modelován Gaussovým rozdělením pravděpodobnosti. Úkolem je získat u. To se nám však bez znalosti η a R nemůže povést a tak hledáme jeho co možná nejlepší aproximaci tak, abychom nezměnili charakter obrázku. Metody, pomocí kterých řešíme tuto úlohu, můžeme rozdělit na dvě skupiny: energetické a založené na parciálních diferenciálních rovnicích. 2.1 Energetické metody Když metodou nejmenších čtverců budeme chtít minimalizovat η, budeme hledat minimum následujícího výrazu: u 0 Ru 2 dx, Ω kde Ω je oblast obrázku. Jestliže toto minimum existuje, potom musí splňovat rovnici R u 0 R Ru = 0. Řešení této rovnice je však nekorektní problém a tak musíme přistoupit k regularizaci. Napřed použijeme takzvanou tichonovovu regularizaci a tak obdržíme následující výraz: F (u) = u 0 Ru 2 dx + λ u dx. (2) Ω Ω 1
To však pořád není dostačující. Takto by měl tento funkcionál příliš silné vyhlazující vlastnosti a tak by nemohl zachovávat hrany. Jednou možností je použití L 1 normy gradientu (totální variace). jinou možností je, že abychom mohli studovat vyhlazující účinek budeme hledat minimum následující energie: E(u) = 1 2 u 0 Ru 2 dx + λ φ( u )dx. (3) Ω Ω Při zachování určitých vlastností φ potom bude řešení zachovávat hrany. 2.1.1 Chambolleův projekční algoritmus Antonin Chambolle, francouzský matematik, usoudil, že pro φ(t) = t a platí-li, že R je identické zobrazení dá se minimalizace [3] chápat jako projekce na konvexní množině a vytvořil algoritmus na výpočet této projekce. Tento algoritmus jsem zpracoval a tak mohu ukázat jak tato projekce vypadá a jak se zlepší výsledný obrázek. Obrázek s přidaným šumem 2
Výsledek po jedné iteraci Výsledek po čtyřech iteracích 3
Výsledek po osmi iteracích Výsledek po 128 iteracích Nejlépe vylepšený je obrázek po osmi iteracích. Je vidět, že pro méně iterací se ještě dostatečně neodstranil šum a naopak pro více iterací už převládají vyhlazovací vlastnosti algoritmu a obrázek je tedy rozmazaný. Dále je zajímavé podívat se na obdržené projekce. 4
Projekce po 4 iteracích. Projekce po 8 iteracích 5
Projekce po 16 iteracích Projekce po 64 iteracích Z obrázků je jasné, že algoritmus skutečně detekuje hrany. 2.2 PDE metody Dalším přístupem k vylepšování obrázků je ten, že nebudeme uvažovat žádnou energii, ale rovnou budeme pracovat na PDE.Ty můžeme obecně zformulovat takto: u (t, x) + F (x, u(t, x), u(t, x), t 2 u(t, x)) = 0 v (0, T ) Ω u (t, x) = 0 na (0, T ) Ω N u(0, x) = u 0 (x) (4) 6
Volba funkce F ovlivní chování obrázků, které obdržíme s rostoucím časem. PDE se klasicky dělí na tři druhy a každý mění obrázky jinak. 1. parabolické - vyhlazovací 2. zpětně parabolické - vyhlazovací i zostřující 3. hyperbolické - zostřující 2.2.1 Difúzní rovnice Difúzní, neboli tepelná, rovnice popisuje například šíření tepla. Je to parabolická, lineární PDE definovaná následovně: u(t, x, y) u(t, x, y) = 0, t 0, x, y R t u (t, x, y) = 0 na R+ Ω N u(0, x, y) = u 0 (x, y) (5) Prakticky jsem problém řešil pomocí metody konečných diferencí. To spočívá v diskretizaci rovnice [5]. Obrázek si můžeme představit jako sít bodů - pixelů a v každém bodě známe funkční hodnotu, která udává jeho barvu. Vzdálenost mezi pixely je ve všech směrech stejná a konstantní. Můžeme tedy psát x = y = h a zvolíme-li h = 1 znamená to, že jednotkou bude velikost pixelu. Diskretizací derivací dojdeme ke vztahu: u t un+1 i,j u n i,j u = t Z něhož snadno odvodíme iterační předpis: u n+1 i,j un i+1,j + u n i 1,j + u n i,j+1 + u n i,j 1 4u n i,j h 2 + O( t) + O(h 2 ) = u n i,j + t h 2 (un i+1,j + u n i 1,j + u n i,j+1 + u n i,j 1 4u n i,j) (6) Výsledky tohoto algoritmu napřed ilustruji na následujícím jednoduchém obrázku: 7
cc 8
Dále ještě ukážu jak zlepší tento algoritmus obrázek použitý u Chamboleho metody. 9
Je vidět, že tato metoda odstraní šum za cenu větší ztráty hran. 10
3 Závěr Projekční algoritmus vracela pro určitý počet iterací lepší výsledky něž při použití tepelné rovnice. To je způsobeno hlavně tím, že tepelná rovnice nezachovává hrany a konverguje k jednolitému obrázku. Oproti tomu Chamboleův algoritmus doopravdy odstraňuje šum hlavně tam, kde je to potřeba. To je nejlépe vidět na obrázcích projekce, kde můžeme rozeznat obrysy předmětů na obrázku. Nemůžeme však v žádném případě říci, že by energetické metody byli lepší než ty založené na PDE. Tepelná rovnice je jedna z prvních použitých pro image restoring a jsou známy rovnice, které obrázek upraví tak, jak by to například projekčním algoritmem v žádném případě nešlo. Při rozhodování jakou metodu chceme požít je tak velmi důležité si napřed uvědomit co je pro nás na obrázku zásadní a čeho chceme dosáhnout. 11
Reference G. Aubert. Mathematical Problems in Image Processing. Springer, 2006. Albert Tarantola. Inverse Problem Theory. Siam, 2005. 12