Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Pružinový algoritmus a algoritmus úpravy hustoty pulsů ve 2D Iva Bartůňková 3.ročník 2004/05.

Podobné prezentace


Prezentace na téma: "Pružinový algoritmus a algoritmus úpravy hustoty pulsů ve 2D Iva Bartůňková 3.ročník 2004/05."— Transkript prezentace:

1 Pružinový algoritmus a algoritmus úpravy hustoty pulsů ve 2D Iva Bartůňková 3.ročník 2004/05

2 Půltónování a rozptylování Procesy, převádějící obrázek se spojitými odstíny na jeho reprezentaci omezenou paletou (nejčastěji binární) Nejznámnější algoritmy: chybová difúze, maticové a náhodné rozptylování,… Nevýhoda nejběžnějších algoritmů: nepříjemné rozložení osamělých teček ve velmi světlých a velmi tmavých oblastech. Algoritmy, které nevýhodu řeší: Modifikovaná chybová difúze Úprava hustoty pulsů ve 2D Půltónování na bázi stromového kódování Pružinový algoritmus

3 – vylepšuje výsledek, vytvořený jiným algoritmem – tedy pouze post-zpracování –Čím se liší od ostatních alg. řešících problém? Nezávislý na algoritmu, užitém k vytvoření vstupu Zpracovává binární vstup bez znalosti původního spojitého obrázku Úprava hustoty pixelů ve 2D –Také vylepšuje výsledek, vytvořený jiným algoritmem –Používá původní spojitý obrázek Společné: Využití myšlenky imaginárních pružin, spojující uvažovaný bod se sousedy

4 Pružinový algoritmus Halftone Postprocessing for Improved Rendition of Highlights and Shadows C. Brian Atkinsy, Jan P. Allebachz, and Charles A. Boumanz Vstup algoritmu: –Obrázek se spojitými odstíny barvy –Obrázek vytvořený některým z algoritmů tvorby binárního vyjádření Myšlenka (2 části): 1.Určení regionů, kde může být algoritmus aplikován (algoritmus způsobuje rozmlžení hran – tedy je nutno oblasti okolo hran z aplikace algoritmu vynechat) 2.Přemístění osamělých pixelů za účelem stejnorodějšího rozmístění Def. Tečka Pixel jiné barvy, než přiléhající pixely – černý v bílé i bílý v černé Def. Osamělý pixel V místech extrémního tónu jednoznačný pojem.

5 Kroky algoritmu 1.Část algoritmu Vytvoření binární mapy odpovídající pixelům zdroje: 0 – na tento pixel bude aplikován algoritmus 1 – na tento pixel nebude aplikován algoritmus 2.Část algoritmu Určení sousedů tečky Přesun tečky do nejbližšího lok. minima funkce e(n) Tečka je se svými sousedy spojena imag. pružinami. U každé pružiny předpokládáme klidovou délku rovnou průměru vzdáleností tečky od sousedících teček, tedy všechny pružiny jsou ve klidovém stavu stejně dlouhé. Funkce e(n) – každé poloze n tečky přiřazuje energii, danou vzájemným působením se sousedícími body tečky.

6 2.část algoritmu Přemísťování teček Probíhá v cyklu – 1 průběh = 1 průchod obrázkem Každý pixel je možným kandidátem posunu – tedy pro něj proběhne podcyklus, pokud splňuje následující podmínky: 1.Je prostorově oddělen od výrazných hran v obrázku – dle matice hran 2.Nesousedí s žádným pixelem stejné barvy = je to osamělý bod 3.Průměr vzdáleností od N sousedů je větší, než zvolený práh. Velikost prahu se obvykle volí 3 pixely.

7 Hledání lokálního minima funkce e(n) Lokální minimum funkce = místo, kam chci tečku přesunou. Posunování tečky: –série posunů o 1 pixel –Končí v lokálním minimu funkce –(k+1). posun: Posun z n (k) do pozice n (k+1), přičemž n (k) a n (k+1) jsou přiléhající pozice. n (k+1) je vybrána jako přiléhající pozice, která nejvíce zmenší funkční hodnotu e(n) Omezení: pozice n (k+1) nesmí mít žádný přiléhající pixel stejné barvy – důvod popsán v části o výběru sousedů

8 Zjištění funkční hodnoty e(n) Energie pozice n je součet e i - energií pružin, spojujících tečku v n se sousedy: Jak spočtu e i (n) ? Jak spočtu d i (n)? Kde d i (n) je vzdálenost mezi n – pozicí tečky a jejím i-tým sousedem. A kde r je klidová délka pružiny. Jak spočtu r ? Kde n (0) je počáteční pozice tečky

9 Příklady rozložení energie a posunů teček -vrstevnice spojují místa se stejnou f-ční hodnotou (a),(b) – přibližně konvexní vrstevnice (c) Lokálních minim bývá často několik (d) Pokud už se bod v minimu nachází, k posunu nedojde

10 Hledání sousedících teček Cíl výběru: Maximálně stejnorodý výsledek Výběr N teček: –Vezmu tu nejbližší z každé z N pravidelných úhlových výsečí okolo tečky –Pro každou tečku výseče orientuji náhodně. Možný problém výběru: Vznik přiléhajících teček tím, že ignorovaná tečka je náhodou zrovna v lok. minimu, do něhož chci uvažovanou tečku posunout. Ošetřeno 3. podmínkou výběru tečky jako kandidáta posunu. Počet sousedů: Autoři algoritmu experimentálně určili za vhodné N = 4. Počet cyklů algoritmu: Již dvě opakování algoritmu dají dobrý výsledek, který se dalšími opakováními zlepšuje jen málo

11 2.část algoritmu - Tvorba mapy okrajů Vytvoříme binární mapu E: 1 – pixel je blízko od okraje 0 – ostatní Důvod: Algortitmus jinak rozmlží ostré hrany a okraje v obrázku Algoritmy tvorby mapy E: -algoritmus autorů - C. Brian Atkinsy, Jan P. Allebachz, and Charles A. Boumanz -Dále např.: K.-C. Fan and C.-C. Han, „Parallel mechanism for detecting contours in binary images," Electronic Imaging, vol. 3, no. 1, pp. 30, 36, 1994.

12 Algoritmus autorů Výslednou mapu E získáme jako logické OR map a E d a E l –E l mapa hran ve světlých regionech –E d mapa hran v tmavých regionech Mapy E d a E l získáme blokovou replikací z e l a e d, což jsou mapy, v nichž 1 prvek odpovídá bloku LxL(tzv. L-bloku) v E d a E l L – tzv. vzorkující faktor

13 Algoritmus autorů-pokračování Jak vytvořit e l a e d ? Vytvořím D – matici čísel z intervalu{0,..,L 2 }, kde prvek je roven počtu tmavých pixelů v L bloku

14 Konstrukce e l Matice e l : 0 - byla-li v odpovídajících 2x2 prvcích matice D detekována hrana 1 – jinak Detekce hrany v 2x2 bloku v D: - pronásobením 2x2 bloku vertikálním a horizontálním operátorem (viz obrázek) získám dvě čísla – ta porovnám s proměnným prahem t. Je-li alespoň jedno z nich větší, hrana byla detekována. t = K1(o) + K2, Kde o je součet hodnot v 2x2 bloku matice D a K1 a K2 jsou kladné konstanty. Matice e d : konstrukce je obdobná, jen místo D použiji D inv D inv ij = L 2 -D ij

15 Výběr konstant a prahů Výpočet prahu t: –t závisí na o, tedy je algoritmus nejcitlivější na hrany právě v nesvětlejších (nejtmavších) místech. –Závislé t funguje alespoň tak dobře jako pevné t. –Konstanta K1: ve většině případů je výsledek s nenulovým K1 obdobný nulovému případu, v některých situacích je ale výrazně lepší Jak získat nejlepší K1 a K2? –Zkoušením pro konkrétní vstup, ideální hodnoty neznáme. Autoři odporučují K1 z [0.0,0.6] a K2 z [2.0,8.0]. Jak vybrat faktor L? –Velké L – příliš hrubá mapa hran, malé L způsobí malý rozsah bloku a znehodnocení vyhledávání hran. Experimenty určily jako nejlepší volbu L = 8.

16 Výsledky algoritmu Následující obrázky – vždy čtveřice: (a)Původní obrázek (b)Po užití pružinového algoritmu (c)Matice okrajů (d)Pružinový algitmus bez použití matice okrajů Rozlišení: 100 dpi

17 Naskenovaný obrázek, chybová difúze

18 Foto z CD, chybová difúze

19 Problémy algoritmu Posunutí toho, co posunuto být nemá a neposunutí toho, co posunuto být má Červí efekt chybové difúze označen za hranu Nerozpoznání hranice LH obdélníku => Někdy tečky prosáknou mezerou v matici hran

20 Shrnutí – pružinový algoritmus Algoritmus vylepšuje rozmístění osamělých pixelů v oblastech extrémního tónu. Používá k tomu přesun teček definováním vztahů se sousedními tečkami a přesunutím na energeticky nejvýhodnější pozici. Přesouvá pouze tečky v regionech, kde nebyla detekována hrana, aby se předešlo případnému rozmlžení ostrých linií.

21 Obrázek vytvořen Photoshopem, rozptylování maticí 128x128

22 Algoritmus úpravy hustoty pulsů ve 2D (2-D PULSE DENSITY MODULATION BY ITERATION FOR HALFTONING) PDM Autoři: R.Eschbach a R.Hauck Binarizační algoritmus pro vylepšení výsledku půltónování a rozptylování. Myšlenka: Obrázek lze chápat jako spojitou vektorovou funkci (Fx,Fy). A body binární reprezentace mohu vyjádřit jako přítomnost nebo nepřítomnost pulsu fixní velikosti.

23 Fyzikální model Obecný algoritmus PDM: Použití pro kódování spojitého signálu. Jak? Fixní pulsy a měnící se rozteče pulsů Nalezení odpovídajícího rozložení: Vyjádření pulsů jako bodů se silami, které mezi body působí. Body = centra pulsů Síly mezi body jsou závislé na roztečích tak, aby rovnovážná pozice vyjadřovala odpovídající rozložení Výpočet síly působící mezi dvěma body F íj =K(I ij )/D 2 ij (1) D ij – vzdálenost mezi dvěma body K(I ij ) – závislá na velikosti signálu v středu mezi body i a j

24 Implementace cyklem v 1D I(x) – nyní 1D signál, v pro naše účely nekonstantní Případ konstantní I(x): Logické omezení: Maximální velikost I je dána minimální možnou roztečí pulsů D 0 D ij = D 0 /I Tedy 0

25 Případ nekonstantní I(x) Zobecnění ( do (1) dosadíme (4) ): F ij = D 2 0 F 0 /I 2 D 2 ij (5) F 0 – libovolná, ale nenulová Rovnovážný stav s použitím (5) se dosáhne: Pro každý bod spočtu síly působící mezi ním a sousedy. Bod posunu podle výsledné síly. To celé provádím, dokud není velikost posunů menší, než zvolená přesnost. V případě 1D vede libovolné původní rozložení pulsů vždy na stejné výsledné rozložení

26 1D – úprava hustoty pulsů (a)Signál f(x) (b)Výchozí rozmístění, použity stejné rozteče (c)Pružiny= působící síly, Křivky = posun bodů, situace po 100 cyklech (d) Výsledné rozložení pulsů

27 Implementace cyklem ve 2D Rozšíření 1D konceptu na 2D Každý bod nyní sdílí vzájemné působení s množinou bodů, tzv. sousedů Počet sousedů však na rozdíl od 1D není zřejmý. Logické omezení ve 2D D 2 ij = D 2 0 /I Dáno poměrem plochy odpovídající pulsu a plochy okolí – to je vždy čtverec vzdálenosti.

28 Síly působící mezi body Modifikace 1D na 2D : F ij = e ij D 2 0 F 0 /I 2 D 2 ij e ij – jednotkový vektor Cyklus probíhá stejně jako v 1D, pouze s vektorovými veličinami.

29 Vlastnosti 2D PDM Výsledek je různý v závislosti na počátečním rozložení pulsů Důvody –Výběr sousedů není jednoznačný –Sousedi bodu mohou být v různých cyklech různí Výběr sousedů Autoři algoritmu použili 8 nejbližších bodů

30 Výsledky algoritmu Obrázky (a) vytvořeny náhodnou distribucí bodů, (b) po 43 cyklech 2D PDM

31 2D PDM - Shrnutí PDM – obzvláště vhodné pro scannery Fyzikální koncept aplikovatelný na libovolný počet dimenzí. Výsledek algoritmu závisí na –Počátečním rozmístění bodů –Parametrech algoritmu –Počtu sousedů (Chybová difúze místo náhodné distribuce výrazně zlepší výsledek) Problémy algoritmu Časově velmi náročný – praktická použitelnost spíše v rozumné kombinaci s jinými PDM metodami


Stáhnout ppt "Pružinový algoritmus a algoritmus úpravy hustoty pulsů ve 2D Iva Bartůňková 3.ročník 2004/05."

Podobné prezentace


Reklamy Google