Gaussovské rozostření

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 26. ledna 2012; kontroly vyžadují 8 úprav .

Gaussovské rozostření v digitálním zobrazování je způsob rozmazání obrazu pomocí Gaussovy funkce , pojmenované po německém matematikovi Carlu Friedrichu Gaussovi .

Tento efekt je široce používán v grafických editorech pro snížení obrazového šumu a detailů. Vizuální efekt této metody rozostření je podobný efektu prohlížení obrazu přes průsvitnou obrazovku a výrazně se liší od efektu bokeh vytvořeného rozostřenou čočkou nebo stínem objektu za normálního osvětlení.

Gaussovské rozostření se také používá jako krok předběžného zpracování v algoritmech počítačového vidění ke zlepšení struktury obrazu v různých měřítcích.

Matematický popis

Použití Gaussova rozostření na obrázek je matematicky podobné konvoluci obrázku pomocí Gaussovy funkce . Je také známá jako 2D Weierstrassova transformace. Cyklická konvoluce (tj. kruhové rozostření kolem rámečku) naopak reprodukuje bokeh efekt přesněji .

Protože Fourierova transformace gaussovské funkce je sama o sobě gaussovskou funkcí, aplikace gaussovského rozostření vede k redukci vysokofrekvenčních složek obrazu. Gaussovské rozostření je tedy dolní propust .

V této metodě rozostření se Gaussova funkce (která se také používá k popisu normálního rozdělení v teorii pravděpodobnosti ) používá k výpočtu transformace, která má být aplikována na každý pixel v obrázku. Vzorec Gaussovy funkce v jedné dimenzi:

.

Ve dvou dimenzích se jedná o součin dvou Gaussových funkcí, jedné pro každou dimenzi:

[2] [3] .

kde x , y jsou souřadnice bodu a σ je směrodatná odchylka normálního rozdělení. Při použití ve dvou rozměrech vytvoří tento vzorec povrch, jehož obrysy jsou normálně rozmístěny soustřednými kružnicemi kolem centrálního bodu.

Hodnoty této distribuce se používají ke konstrukci konvoluční matice, která se aplikuje na původní obrázek. Nová hodnota každého pixelu je nastavena na vážený průměr okolí daného pixelu. Hodnota původního pixelu získává největší váhu (s nejvyšší Gaussovou hodnotou) a sousední pixely dostávají nižší váhu, jak se jejich vzdálenost od původního pixelu zvětšuje. Výsledkem je rozostření, které zachovává okraje a okraje lépe než jiné, rovnoměrnější filtry rozostření.

Teoreticky bude Gaussova funkce v každém bodě obrázku nenulová, což znamená, že se na výpočtu hodnoty pro každý pixel podílí celý obrázek. V praxi na ni při výpočtu diskrétní aproximace Gaussovy funkce mají pixely ve vzdálenosti větší než 3 σ spíše malý vliv, takže je lze považovat za prakticky nulové. Hodnoty pixelů mimo tento rozsah lze tedy ignorovat. Program pro zpracování obrazu obvykle potřebuje pouze vypočítat matici s rozměry × (kde je funkce zaokrouhlení ), aby byl zaručen výsledek, který je dostatečně blízký výsledku získanému pomocí plného Gaussova rozdělení.

Kromě kruhové symetrie lze gaussovské rozostření aplikovat na 2D obraz jako dva nezávislé 1D výpočty a jde tedy o oddělitelný filtr. To znamená, že efektu aplikace 2D matice lze dosáhnout také aplikací řady 1D matic v horizontálním směru a následným opakováním procesu ve vertikálním směru. Z výpočetního hlediska je to užitečná vlastnost, protože výpočet lze provést v čase , kde h je výška a w je šířka, na rozdíl od použití neoddělitelného jádra.

Použití postupného Gaussova rozostření na snímek má stejný účinek jako použití jednoho většího Gaussova rozostření, jehož poloměr je druhou odmocninou součtu druhých mocnin skutečně použitých poloměrů rozostření. Například použití postupného Gaussova rozostření s poloměry 6 a 8 dává stejné výsledky jako aplikace jednoho Gaussova rozostření s poloměrem 10, protože . Kvůli tomuto vztahu nelze ušetřit čas zpracování simulací gaussovského rozostření s postupnými menšími rozostřeními – potřebný čas bude přinejmenším stejný jako při provádění jednoho velkého rozostření.

Gaussovské rozostření se běžně používá při zmenšování velikosti obrázku. Při převzorkování obrázku před převzorkováním se na obrázek obvykle aplikuje nízkoprůchodový filtr. To je nezbytné, aby se zabránilo výskytu falešných vysokofrekvenčních informací v podvzorkovaném obrázku ( aliasing ). Gaussovské rozostření má dobré vlastnosti, jako jsou bez ostrých hran a tudíž bez zvonivých artefaktů ve filtrovaném snímku.

Dolní propust

Gaussovské rozostření je dolní propust , která zeslabuje vysokofrekvenční signály [3] .

Jeho logaritmická frekvenční odezva ( logaritmická frekvenční škála domény ) je parabola .

Snížený rozptyl

Jak moc vyhlazuje Gaussův filtr standardní odchylky obraz? Jinými slovy, jak moc toto vyhlazení sníží směrodatnou odchylku hodnot pixelů v obrázku? Předpokládejme, že hodnoty pixelů ve stupních šedi mají směrodatnou odchylku , takže po použití filtru lze sníženou směrodatnou odchylku aproximovat následovně:

.

Příklad Gaussovy matice

Tato matice je vytvořena vzorkováním jádra Gaussova filtru (s σ = 0,84089642) ve středních bodech každého pixelu a následnou normalizací. Největší hodnotu má středový prvek (4,4), zbývající prvky se s narůstající vzdáleností od středu symetricky zmenšují.

[ 0,000 00067 0,000 02292 0,00019117 0,000 38771 0,00019117 0,000 02292 0,000 00067 0,000 02292 0,000 78633 0,006 55965 0,013 30373 0,006 55965 0,000 78633 0,000 02292 0,00019117 0,006 55965 0,054 72157 0,110 98164 0,054 72157 0,006 55965 0,00019117 0,000 38771 0,013 30373 0,110 98164 0,22508352 0,110 98164 0,013 30373 0,000 38771 0,00019117 0,006 55965 0,054 72157 0,110 98164 0,054 72157 0,006 55965 0,00019117 0,000 02292 0,000 78633 0,006 55965 0,013 30373 0,006 55965 0,000 78633 0,000 02292 0,000 00067 0,000 02292 0,00019117 0,000 38771 0,00019117 0,000 02292 0,000 00067 ] {\displaystyle {\begin{bmatrix}0{,}00000067&0{,}00002292&{\textbf {0.00019117}}&0{,}00038771&{\textbf {0.00019117}&0{0,02}07{0}\02,02}07 ,}00002292&0{,}00078633&0{,}00655965&0{,}01330373&0{,}00655965&0{,}00078633&0{,}00002292\00002292\0655965&0{,}01330373&0{,}00655965&0{,}00078633&0{,}00002292\00002292\0655965&0{0}5,05,01709{015{}5} }11098164&0{,}05472157&0{,}00655965&{\textbf {0.00019117}}\\0{,}00038771&0{,}01330373&0{,}11098164{09,08{3}3019{08,352f54{01,01 }00038771\\{\textbf {0.00019117}}&0{,}00655965&0{,}05472157&0{,}11098164&0{,}05472157&0{,}006559b0{0}&{}02}\09{0},02 00078633&0{,}00655965&0{,}01330373&0{,}00655965&0{,}00078633&0{,}00002292\0\0{,}00000067&0{2,9}ftext708{0{,9}ftext701{0{0} }&0{,}00002292&0{,}00000067\end{bmatrix}}}

Prvek 0,22508352 (centrální) je 1177krát větší než 0,00019117, což je těsně mimo 3σ.

Implementace

Efekt Gaussova rozostření se obvykle vytváří konvolucí obrazu s jádrem FIR pomocí hodnot gaussovské funkce.

V praxi je nejlepší použít vlastnost separability Gaussian blur, provádění procesu ve dvou průchodech. První průchod využívá jednorozměrné jádro k rozmazání obrazu pouze v horizontálním nebo vertikálním směru. Ve druhém průchodu je stejné jednorozměrné jádro použito k rozmazání v druhém směru. Čistý efekt je stejný jako konvoluce s 2D jádrem v jednom průchodu, ale vyžaduje méně výpočtů.

Diskrétnosti se obvykle dosahuje výběrem diskrétních bodů, obvykle v pozicích odpovídajících středovým bodům každého pixelu. To snižuje náklady na výpočet, ale u velmi malých jader filtrů vede bodové vzorkování Gaussovy funkce s velmi malým počtem vzorků k velké chybě.

V těchto případech je přesnost zachována (s malými výpočetními náklady) integrací Gaussovy funkce přes plochu každého pixelu [4] .

Při převodu spojitých hodnot Gaussovy funkce na diskrétní hodnoty požadované pro jádro se součet hodnot bude lišit od 1. Tím se obraz ztmaví nebo zesvětlí. K nápravě tohoto efektu lze hodnoty normalizovat vydělením každého prvku v jádře součtem všech prvků.

Účinnost FIR klesá pro vysoké hodnoty σ. K FIR filtru existují alternativy. Patří mezi ně velmi rychlé vícenásobné rozostření polí, rychlý a přesný detektor hran IIR společnosti Deriche, „rozostření zásobníku“ založené na rozostření polí a další [5] .

Aplikace

Detekce hran

Gaussovské vyhlazování se běžně používá pro detekci hran . Většina algoritmů detekce hran je citlivá na šum. Dvourozměrný Laplaceův filtr, postavený na základě diskretizace Laplaceova operátoru , je velmi citlivý na hlučné prostředí.

Použití filtru Gaussian blur před detekcí hran je zaměřeno na snížení úrovně šumu v obrazu, což zlepšuje výsledek následné práce algoritmu detekce hran. Tento přístup je běžně označován jako Gaussovské Laplaciánské nebo LoG filtrování [6] .

Fotografie

Digitální fotoaparáty nižší třídy , včetně mnoha fotoaparátů mobilních telefonů , obvykle používají gaussovské rozostření, aby skryly obrazový šum způsobený vyššími citlivostmi ISO .

Gaussovské rozostření je automaticky aplikováno v rámci následného zpracování obrazu softwarem fotoaparátu, což má za následek trvalou ztrátu detailů [7] .

Viz také

Poznámky

  1. Mark S. Nixon a Alberto S. Aguado. Extrakce funkcí a zpracování obrazu . Academic Press, 2008, str. 88.
  2. 12 R.A. _ Haddad a AN Akansu, „ A Class of Fast Gaussian Binomial Filters for Speech and Image Processing Archived 22. dubna 2021 na Wayback Machine “, IEEE Transactions on Acoustics, Speech and Signal Processing, sv. 39, str. 723-727, březen 1991.
  3. Erik Reinhard. Zobrazování s vysokým dynamickým rozsahem: akvizice, zobrazení a osvětlení založené na obrázku . Morgan Kaufmann, 2006, str. 233–234.
  4. Getreuer, Pascal (17. prosince 2013). Průzkum Gaussových konvolučních algoritmů. Zpracování obrazu on-line . 3 : 286-310. DOI : 10.5201/ipol.2013.87 .( kódový dokument archivován 31. října 2020 na Wayback Machine )
  5. Fisher, Perkins, Walker & Wolfart. Prostorové filtry - Laplacián nebo Gaussův . Získáno 13. září 2010. Archivováno z originálu 22. července 2021.
  6. Ritter. Smartphone-Kameras: Warum gute Fotos zu schießen nict mehr ausreicht [Komentář ]  (německy) . GIGA . Televize GIGA (24. října 2013). — "Bei Fotos, die in der Nacht entstanden sind, dominiert Pixelmatsch." Získáno 20. září 2020. Archivováno z originálu 18. července 2021.

Odkazy