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

Podobné dokumenty
Pružnost a plasticita II CD03

12 Metody snižování barevného prostoru

Monochromatické zobrazování

- obvyklejší, výpočetně dražší - každé písmeno je definováno jako zakřivený nebo polygonální obrys

Zobrazování barev Josef Pelikán CGG MFF UK Praha.

Mezi jednotlivými rozhraními resp. na nosníkových prvcích lze definovat kontakty

Časová a prostorová složitost algoritmů

Matematická morfologie

Aplikovaná numerická matematika

13 Barvy a úpravy rastrového

Metoda konečných prvků Charakteristika metody (výuková prezentace pro 1. ročník navazujícího studijního oboru Geotechnika)

Fakt. Každou soustavu n lineárních ODR řádů n i lze eliminací převést ekvivalentně na jednu lineární ODR

7. Rozdělení pravděpodobnosti ve statistice

Fakulta elektrotechniky a komunikačních technologíı Ústav automatizace a měřicí techniky v Brně

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

5. Lokální, vázané a globální extrémy

Teorie náhodných matic aneb tak trochu jiná statistika

Dnešní látka Variačně formulované okrajové úlohy zúplnění prostoru funkcí. Lineární zobrazení.

Matematika B101MA1, B101MA2

Učební texty k státní bakalářské zkoušce Matematika Diferenciální rovnice. študenti MFF 15. augusta 2008

Modelování a simulace Lukáš Otte

Trénování sítě pomocí učení s učitelem

Asociační i jiná. Pravidla. (Ch )

KŘIVKY A PLOCHY. Obrázky (popř. slajdy) převzaty od

OTÁZKY K PROCVIČOVÁNÍ PRUŽNOST A PLASTICITA II - DD6

1 Báze a dimenze vektorového prostoru 1

Úvod do zpracování signálů

Matematika B101MA1, B101MA2

Hammingovy kódy. dekódování H.kódů. konstrukce. šifrování. Fanova rovina charakteristický vektor. princip generující a prověrková matice

Kapitola 10: Diferenciální rovnice 1/14

Obsah přednášky Jaká asi bude chyba modelu na nových datech?

Úvod do optimalizace, metody hladké optimalizace

Logické proměnné a logické funkce

1 Zobrazení 1 ZOBRAZENÍ 1. Zobrazení a algebraické struktury. (a) Ukažte, že zobrazení f : x

na magisterský studijní obor Učitelství matematiky pro střední školy

Numerické metody optimalizace - úvod

CVIČNÝ TEST 13. OBSAH I. Cvičný test 2. Mgr. Zdeňka Strnadová. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

MATEMATIKA V MEDICÍNĚ

Semestrální práce z KIV/PRO. Využití Voroného diagramu pro inicializaci K-means

Numerické řešení diferenciálních rovnic

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Algoritmy pro shlukování prostorových dat

Optimalizace provozních podmínek. Eva Jarošová

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Přijímací zkouška - matematika

Numerická stabilita algoritmů

Řešení 1b Máme najít body, v nichž má funkce (, ) vázané extrémy, případně vázané lokální extrémy s podmínkou (, )=0, je-li: (, )= +,

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Kombinatorická minimalizace

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Rekonstrukce křivek a ploch metodou postupné evoluce

Kybernetika a umělá inteligence, cvičení 10/11

Vlastnosti a modelování aditivního

Státnice odborné č. 20

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

GIS Geografické informační systémy

Metoda Monte Carlo, simulované žíhání

Metodické listy pro kombinované studium předmětu. B_PPG Principy počítačové grafiky

VĚTY Z LINEÁRNÍ ALGEBRY

Úvod do mobilní robotiky AIL028

Základní spádové metody

Omezení barevného prostoru

Kartografické modelování. VIII Modelování vzdálenosti

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Lineární algebra - I. část (vektory, matice a jejich využití)

3.1. Newtonovy zákony jsou základní zákony klasické (Newtonovy) mechaniky

Rosenblattův perceptron

Jednoduché cykly

stránkách přednášejícího.

Osvědčené postupy pro zpracování tiskových dat s vynikající kvalitou tisku

Soustavy se spínanými kapacitory - SC. 1. Základní princip:

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Algoritmizace prostorových úloh

Metody síťové analýzy

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Dyson s Coulomb gas on a circle and intermediate eigenvalue statistics

Lineární algebra Operace s vektory a maticemi

10 Funkce více proměnných

NOVÉ METODY HODNOCENÍ OBRAZOVÉ KVALITY

Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda

SEKVENČNÍ LOGICKÉ OBVODY

OPTIMALIZACE. (přehled metod)

Úloha - rozpoznávání číslic

Zpracování obrazu v FPGA. Leoš Maršálek ATEsystem s.r.o.

ROZ1 CVIČENÍ VI. Geometrická registrace (matching) obrazů

Hledání kořenů rovnic jedné reálné proměnné metoda půlení intervalů Michal Čihák 23. října 2012

Pokročilé neparametrické metody. Klára Kubošová

1. Obyčejné diferenciální rovnice

ELEKTROSTATIKA. Mgr. Jan Ptáčník - GJVJ - Fyzika - Elektřina a magnetismus - 2. ročník

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Programy na PODMÍNĚNÝ příkaz IF a CASE

Jana Dannhoferová Ústav informatiky, PEF MZLU

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

9. přednáška z předmětu GIS1 Digitální model reliéfu a odvozené povrchy. Vyučující: Ing. Jan Pacina, Ph.D.

U Úvod do modelování a simulace systémů

12. Globální metody MI-PAA

Transkript:

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

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

Pružinový algoritmus 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

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): 3. 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) 4. 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.

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.

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: 3. Je prostorově oddělen od výrazných hran v obrázku dle matice hran 4. Nesousedí s žádným pixelem stejné barvy = je to osamělý bod 5. Průměr vzdáleností od N sousedů je větší, než zvolený práh. Velikost prahu se obvykle volí 3 pixely.

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ů

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

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

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

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.

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

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

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

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.

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

Naskenovaný obrázek, chybová difúze

Foto z CD, chybová difúze

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

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í.

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

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.

K(I ) závislá na velikosti signálu v středu mezi body i a j 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í: působí. Vyjádření pulsů jako bodů se silami, které mezi body 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

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<I<=0. Síly působí pouze mezi sousedícími body. Def. Rovnovážný stav F 12 = =F ij = F N-1,N = F 0 Rovnovážný stav tedy vede ke vztahu K(I)= D 2 0 F 0 /I2

Případ nekonstantní I(x) Zobecnění ( do (1) dosadíme (4) ): F ij = D 2 0 F 0 /I2 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í

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

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 = D2 0 /I Dáno poměrem plochy odpovídající pulsu a plochy okolí to je vždy čtverec vzdálenosti.

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

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ů

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

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