Súlyozott automaták alkalmazása képek reprezentációjára Gazdag Zsolt Szegedi Tudományegyetem Számítástudomány Alapjai Tanszék
Tartalom Motiváció Fraktáltömörítés Súlyozott véges automaták Képek reprezentációja sv-automatákkal Példák Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja
Motiváció A digitális kép általában igen nagy viszont redundás adathalmaz (51*51*8 bit Mbyte) Tömörítéssel csökkenthető a kép mérete Veszteségmentes tömörítés (futáshossz kódolás, Huffman kódolás) Veszteséges tömörítés (DCT, fraktáltömörítés) Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 3
Fraktálok Egyszerű fraktál fa Sierenpinski háromszög Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 4
IFS - Iterált függvényrendszer (M. Barnsley) Egy levél közelítése önmaga transzformált másolataival A fenti transzformációk által meghatározott IFS határértéke Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 5
IFS - Iterált függvényrendszer (M. Barnsley) w 1 = w = w 3 = 4 1 0 0 1 4 1 0 0 1 4 1 0 0 1 3 5 + 4 0 0 3 5 + 3 5 + 4 1 0 4 1 4 1 3 5 3 5 3 5 A Sierenpinski háromszög és az őt indukáló iterált függvényrendszer Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 6
PIFS - Partícionált Iterált függvényrendszer (A. Jacquin) A kép w 1 l l Cél képrészletek w w 3 l l Forrás képrészletek Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 7
Négyágú fák (quadtree coding) 1 G G G W G W B W G B W B W G B B G B B W B B B W W B W B W 4 3 A kódolandó kép és az őt kódoló négyágú fa Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 8
Képek szegmentálása Lena partícionálása a bináris fa kódolással Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 9
Definíciók Végtelen felbontású kép: [0, 1] [0, 1] R 1 z = x + y 1 Σ feletti legfeljebb n hosszú szavak: Σ n Σ feletti véges szavak: Σ Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 10
Képrészletek címkézése ε Egy kép szegmenseinek címkézése Σ = {(0, 0), (0, 1), (1, 0), (1, 1)} feletti szavakkal Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 11
Képrészletek címkézése (0, 1) (1, 1) (0, 0) (1, 0) Egy kép szegmenseinek címkézése Σ = {(0, 0), (0, 1), (1, 0), (1, 1)} feletti szavakkal Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 1
Képrészletek címkézése (0, 1) (1, 1) (1, 0)(1, 1) (0, 0) Egy kép szegmenseinek címkézése Σ = {(0, 0), (0, 1), (1, 0), (1, 1)} feletti szavakkal Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 13
Képrészletek címkézése (0, 1) (1, 1) (1, 0)(1, 1)(1, 1) (0, 0) Egy kép szegmenseinek címkézése Σ = {(0, 0), (0, 1), (1, 0), (1, 1)} feletti szavakkal Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 14
Definíciók A továbbiakban Σ = {(0, 0), (0, 1), (1, 0), (1, 1)} Többszörös felbontású kép: f : Σ R (Minden végtelen felbontású képhez megadható egy őt reprezentáló többszörös felbontású kép) Ha f 1, f : Σ R és c R, akkor minden w Σ : (f 1 + f )(w) = f 1 (w) + f (w), (cf 1 )(w) = cf 1 (w) f átlagmegőrző: w Σ : f(w) = 1 4 Σ a Σf(wa) A továbbiakban csak átlagmegőrző fügvényekkel foglalkozunk! Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 15
Definíciók Súlyozott véges automata (sv-automata): A = (Q, Σ, W, I, F ) Q: véges állapothalmaz (Q = {q 1,..., q k }) Σ: input ábécé W : Q Σ Q R, a súlyfüggvény ((W a ) i,j = W (i, a, j)) I, F : Q R, a kezdő illetve befejező hozzárendelések (oszlopmátrixok) Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 16
Definíciók Az A által q j -ben indukált többszörös felbontású kép: f j (a 1 a... a n ) = e t jw a1... W an F Az A által indukált többszörös felbontású kép: f A = k j=1 I j f j A átlagmegőrző, ha f A átlagmegőrző Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 17
Súlyozott véges automata Példa (0, 0)/0.5 (0, 1)/0.5 (1, 0)/0.5 (1, 1)/0.5 (1, 1)/1, (1, 0)/0.5 q 1 q (0, 1)/0.5 (0, 0)/1 (0, 1)/1 (1, 0)/1 (1, 1)/1 3 3 I = 4 1 0 5, F = 4 1 1 5 f A ((1, 1)(1, 0)) = [1, 0] 4 0.5 1 0 1 3 5 4 0.5 0.5 0 1 3 5 4 1 1 3 5 = 1.5 f A konvergál a z = x + y függvényhez: 1 (1, 1)(1, 0) 1 Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 18
Az első sv-automata kódoló algoritmus (Culik és Kari) Input: Egy f átlagmegőrző függvény Output: Egy A sv-automata, amire f A = f Hozzunk létre egy állapotot amely az egész képet reprezentálja; while (vannak feldolgozatlan állapotok) { Vállasszunk egy feldolgozatlan állapotot; Az állapotban indukált kép minden negyedére: { if (az aktuális negyed már létező állapotok által indukált képek lineáris kombinációja) Tároljuk az együtthatókat; else { Hozzunk létre egy az aktuális képnegyednek megfelelő új állapotot; Vegyük fel ezt az állapotot a feldolgozandó állapotok listájába; } } } Legyen A a kapott sv-automata Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 19
sv-automata kódolás példa Ha f a z = x + y függvényhez konvergáló átlagmegőrző függvény, akkor az output automata: (0, 0)/ 0.5 (0, 1)/ 0.5 (1, 0)/ 0.5 (1, 1)/ 0.75 (0, 0)/0.5 (0, 0)/1 (1, 1)/ 0.5 = q 1 q = (0, 1)/1.5 (1, 0)/1.5 (1, 1)/ 3 3 (0, 1)/1 (1, 0)/1 (1, 1)/ I = 4 1 0 5, F = 4 1 1 5 Például: f((1, 1)) = f 0.5f 1 Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 0
Az első sv-automata kódoló algoritmus javítás Tétel. Az A sv-automata minimális állapotszámú a f-t kiszámló sv-automaták között [CK93]. Probléma: Hogyan lehet csökkenteni A átmeneteinek számát és az algoritmus futási idejét? Csak közelítjük a képeket (megengedünk egy hibát; kis súlyú éleket elhagyjuk) Megnézzük, hogy mennyire jó képet kapunk, ha közelítünk egy szegmenst illetve, ha tovább osztjuk. Ha kell visszalépünk (backtrack) [CK94] Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 1
AutoPic (F. Katritzke, W. Merzenich, M. Thomas) A tömörített Lena (PSNR: 3.89 db, 0.46 bpp, 880 állapot) A tömörített Boat (PSNR: 31.85 db, 0.3344 bpp, 176 állapot) Futási idő (Lena, 500 MHz Pentium III, 18 Mb RAM) 0.057 bpp, tömörítés: 60.1 mp, kicsomagolás: 0.84 mp 0.468 bpp, tömörítés: 65.5 mp, kicsomagolás: 0.97 mp Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja
AutoPic (F. Katritzke, W. Merzenich, M. Thomas) Lena tömörítése három különböző tömörítő programmal : AutoPic, : IJPEG *: SPIHT (wavelet) Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 3
Irodalom M.F. Barnsley. Fractal Everywhere. Academic Press, New York, 1988. K. Culik II és J. Kari. Image compression using weighted finite automata. In MFCS, pages 39 40, 1993. K. Culik II és J. Kari. Image-data compression using edge-optimizing algorithm for wfa inference. Inf. Process. Manage., 30(6):89 838, 1994. A. E. Jacquin. Image coding based on a fractal theory of iterated contractive image transformations. IEEE Trans. Image Processing, vol. 1, pp. 1830, 199. F. Katritzke. Refinements of data compression using weighted finite automata. Ph.D. Thesis, University of Siegen, 001. Szeged, 006. február 0. Súlyozott automaták és képek reprezentációja 4