Algoritmus popisovania obrazových textúr v priestore DWT

11. Júl, 2016, Autor článku: Kováč Ondrej, Informačné technológie
Ročník 9, číslo 7 This page as PDF Pridať príspevok

p18690_iconV článku je podrobne rozpracovaný 9 kanálový analyzátor textúr pre ich popisovanie. Uvádzame jeho vnútornú stavbu a princíp jeho funkčnosti. Tento analyzátor obrazových textúr vychádza z analýzy a porovnania vlastností obrazových textúr v oblasti rozkladových koeficientov diskrétnej waveletovej transformácie (DWT). Následne je experimentálne overená funkčnosť daného analyzátora v úlohe klasifikácie a tiež jeho citlivosť na zmeny energie obrazových textúr v oblasti DWT. Tiež sú experimentálne overené jeho vlastnosti pri klasifikácii textúr štandardnej databázy po rotácii a škálovaní.

1. Úvod

Analýza a popisovanie textúr [1] má praktické využitie v mnohých priemyselných odvetviach a oblastiach výskumu. V meteorológii sa používa pri analýze a spracovaní družicových snímok, ďalej má využitie pri kontrole kvality rôznych výrobkov, ako je kvalita ovocia, papiera alebo technických súčiastok. Veľké uplatnenie má aj v medicíne pri analýze ultrazvukových a rtg. snímok, ale aj pri zisťovaní zrakových ochorení. Medzi základné metódy popisovania textúr patria štatistické, geometrické modelovo orientované metódy a metódy založené na priestorovo-frekvenčnej analýze [2, 3, 4] .

V tomto príspevku sa budeme zaoberať analýzou a popisovaním textúr v priestorovo frekvenčnej oblasti. Pre tento účel bude podrobne popísaný algoritmus 9 kanálového analyzátora (9KA), ktorý analýzu uskutočňuje na základe subpásiem diskrétnej waveletovej transformácie (DWT) textúry [5, 6]. Pre účely vyhodnocovania účinnosti analyzátorov textúr sú textúry začleňované do databáz obrazových textúr [2]. V ďalšej časti príspevku sa budeme zaoberať vplyvom zmeny energie na citlivosť popisovaného analyzátora. V závere je vyhodnotená účinnosť popisovania textúr na báze uvedeného analyzátora so zmenenou mierkou či rotáciou oproti textúram zo štandardnej databázy (ŠD) [7].

2. 9-kanálový analyzátor pre popisovanie obrazových textúr v priestore DWT

9-kanálový analyzátor je založený na princípe využitia všetkých 9 waveletových subpásiem. Z uvedeného vyplýva, že pre činnosť tohto analyzátora je potrebné vstupnú textúru rozložiť do troch úrovní DWT [8]. Každé subpásmo okrem subpásma aproximačných koeficientov – 3LL, ktoré sa pri analýze textúr nepoužíva, zodpovedá jednému kanálu 9KA. Z nich sú následne po interpolácii a prahovaní vytvorené frekvenčné modely. 9KA analyzátor je znázornený na Obr. 1.

p18690_01_obr01
Obr. 1 Princíp činnosti 9-kanálového analyzátora

Na vstup 9KA je privedená textúra v oblasti rozkladových koeficientov DWT transformovaná po 3. úroveň. Jednotlivé subobrazy je nutné rozšíriť interpolovať na rovnakú veľkosť preto, aby bolo možné vytvoriť jednotlivé frekvenčné vzory. Spôsob interpolácie subpásiem ilustruje Obr. 2 a Obr. 3, kde čísla (1,2,3…) reprezentujú jednotlivé spektrálne koeficienty subpásiem získaných DWT. Na obrázkoch je príklad interpolácie vstupnej textúry s rozmerom 512×512 obrazových prvkov. Ako je z Obr. 2 a Obr. 3 zrejmé, interpolácia je dosiahnutá jednoduchým N násobným zopakovaním hodnoty prvku v horizontálnom ako aj vo vertikálnom smere. Násobnosť je daná pomerom požadovaného rozmeru a rozmeru subobrazu pred interpoláciou. To možno zapísať pomocou vzťahu (1) pre horizontálny a (2) pre vertikálny smer.

N_h  = \frac{N_{int}}{N_{sub}} (1)
N_v  = \frac{M_{int}}{M_{sub}} (2)

kde Nh a Nv je násobnosť opakovania spektrálneho koeficientu, Nsub a Nint je počet riadkov subobrazu a požadovaný počet riadkov interpolovaného obrazu. Analogicky pre vertikálny rozmer je M počet stĺpcov.

Po transformácii na druhej úrovni DWT vznikli tri detailové subpásma (2HL, 2HH, 2LH) s veľkosťou 128×128, ich interpoláciu na 256×256 znázorňuje Obr. 2. Taktiež na tretej úrovni vznikli tri subpásma (3HL, 3HH, 3LH) s veľkosťou 64×64, ktorých interpolácia na 256×256 je zobrazená na Obr. 3. Subpásma prvej úrovne (1HL,1HH,1LH) nie je potrebné interpolovať pretože majú požadovanú veľkosť 256×256.

p18690_02_obr02
Obr. 2 Interpolácia subpásiem druhej úrovne DWT

p18690_03_obr03
Obr. 3 Interpolácia subpásiem tretej úrovne DWT

Po interpolácii subpásiem je potrebné určiť prahové hodnoty. Ideálne prahové hodnoty sú také, ak polovica spektrálnych koeficientov padne pod a polovica nad prahovú hodnotu. Takto zvolené prahové hodnoty maximalizujú informáciu obsiahnutú v textúre v rámci binárnej reprezentácie [9]. V Tab. 1 sú uvedené určené prahové hodnoty pre tri textúry zo štandardnej databázy [2].

Tab. 1 Optimálne prahové hodnoty pre 9KA pre tri textúry
p18690_04_tab01

Z Tab. 1 je možné usúdiť, že celková stredná hodnota µc je blízka hodnote 0. Výnimkou je len stredná hodnota µ pre prvý kanál kedy táto hodnota je rovná približne 2. Z uvedených štatistických vlastnosti textúr a s ohľadom na rozsah hodnôt, ktoré spektrálne koeficienty v jednotlivých kanáloch nadobúdajú vyplýva, že pre jednoduché zovšeobecnenie danej metódy je pre všetky textúry možné zvoliť nulovú prahovú hodnotu. Po určení prahovej hodnoty je možné priradiť jednotlivým spektrálnym koeficientom hodnotu 0 alebo 1. V danom prípade kedy prahová hodnota 0, je záporným hodnotám pridelená hodnota 0 a kladným 1. Takýmto spôsobom sú získané výsledné frekvenčné modely.

Počet možných frekvenčných modelov pre 9KA je 29=512 a počet opakovaní jednotlivých frekvenčných modelov závisí od veľkosti subpásiem po interpolácii. Napríklad, pri vstupnej textúre s rozmerom 512×512 obrazových prvkov je po transformácii nutné všetky subpásma interpolovať na veľkosť 256×256 bodov, v takomto prípade je počet výskytu frekvenčných modelov 256×256=65536. Výstupom z 9KA je histogram, ktorý udáva početnosť výskytu jednotlivých frekvenčných vzorov. Takéto zobrazenie umožňuje porovnávať textúry s rozdielnym rozlíšením. Keďže výskyt jednotlivých frekvenčných vzorov nepresiahol pri textúrach s rozmerom 512×512 hodnotu 1%, tak je vo výslednom histograme na zvislej osi zobrazená len časť od 0% po 1%. Všetky kódové slová nezávislej premennej osi možných frekvenčných vzorov sú pre jednoduchosť uvedené v desiatkovej sústave. Na Obr. 4 je pre ilustráciu zobrazený výstup 9KA pre textúru s označením 1.1.01.

p18690_05_obr04
Obr. 4 Histogram výstupu 9KA pre textúru s označením 1.1.01

3. Citlivosť analyzátora s ohľadom na zmenu energie a rotáciu textúry

V nasledujúcej kapitole bude sledovaný vplyv zmeny energie a rotácie textúry na citlivosť 9KA. Analyzované budú dve textúry štandardnej databázy s označením T_1 a T_2. Na Obr. 5(a) je uvedená textúra T_1, ktorá je na
Obr. 5(b) rotovaná o 45° a na Obr. 5(c) je škálovaná o 200%. Analogicky je na Obr. 6(a-c) zobrazená textúra T_2.

p18690_06_obr05
Obr. 5 Textúra T_1 (a) rotovaná o 45° (b) a škálovaná o 200% (c)

p18690_07_obr06
Obr. 6 Textúra T_2 (a) rotovaná o 45° (b) a škálovaná o 200% (c)

3.1. Zmena energie textúr

Ako je dobre známe pri waveletovej transformácii dochádza ku kompresii energie. Táto skutočnosť je potvrdená aj v Tab. 2, kde je vyobrazená celková energia textúry T_1 v obrazovom, aj v transformovanom priestore a taktiež energia v jednotlivých subpásmach. Energia textúry je daná ako suma kvadrátov obrazových prvkov textúry a energia po DWT ako suma kvadrátov jednotlivých rozkladových koeficientov. Toto je možne zapísať takto

E = \sum_{i=1}^{N} \sum_{j=1}^{M} x(i,j)^2 (3)

kde E je hodnota energie, x(i,j) je hodnota obrazového prvku resp. rozkladového koeficienta, N a M je počet riadkov a stĺpcov textúry. Celková energia obrazu zvykne v obrazoch rádovo nadobúdať hodnoty 1×109, preto v Tab. 2 budú hodnoty energie normované hodnotou 1×106.

Tab. 2 Energetická zmena vplyvom rotácie, škálovania a transformácie textúry T_1
p18690_08_tab02

Z Tab. 2 je možné vidieť, že celková energia v obrazovom, tak isto aj v transformovanom priestore pre rotovanú, ale aj škálovanú textúru sa líši od energie pôvodnej textúry. Táto skutočnosť je spôsobená vplyvom zmeny okrajov pri rotovaní a škálovaní. Ďalej je v Tab. 2 viditeľné, že celková energia po transformácii sa oproti celkovej energii textúry v obrazovom priestore zmenšuje s každou úrovňou transformácie. Koeficient, o ktorý sa celková energia zmenši s každou ďalšou úrovňou transformácie, je 0,57 pre Textúru T_1. Pre textúru T_2 nebudeme uvádzať energetické hodnoty nakoľko závery sú rovnaké ako pre textúru T_1.

3.2. Citlivosť 9KA na zmenu energie

Citlivosť analyzátora na zmenu energie pri rotácii a škálovaní textúr v jednotlivých kanáloch bola overená na textúrach T_1 a T_2. Energie v jednotlivých kanáloch sú počítané už po rozšírení subpásiem na rovnakú veľkosť. Výsledky pre obe textúry sú uvedené v Tab. 3. Podobne ako v Tab. 2 sú hodnoty v Tab.3 normované hodnotou 1×106.

Tab. 3 Energetická zmena vplyvom rotácie, škálovania a transformácie textúry T_1 a T_2
p18690_09_tab03

V prípade 9KA je na základe Tab. 3 možné usúdiť, že u rotovanej textúry T_1 nastala najväčšia zmena v kanáloch 2, 5 a 8, kde sa energia výrazne zväčšila, v ostatných kanáloch došlo k poklesu energie. Pri rotovanej textúre T_2 je v Tab. 3 tiež možné pozorovať nárast energie, v kanáloch 1, 4, 7 a v ostatných sa energia opäť oproti pôvodnej textúre zmenšila. V prípade škálovaných textúr T_1 a T_2 je v Tab. 3 vidieť, že voči energii pôvodnej textúry sa energia vo všetkých pásmach zmenšila, najvýraznejší pokles nastal v oboch prípadoch v 8. kanále. V tab.3 je tiež uvedená priemerná zmena energie µ.

4. Účinnosť 9KA

Pri overovaní možnosti aplikácie 9KA boli vykonané nasledujúce experimenty. Bola testovaná schopnosť analyzátora priradiť najpodobnejšiu textúru štandardnej databázy k vstupnej popisovanej textúre. Ďalej ako bola vstupná textúra škálovaná z verzie textúry ŠD. V poslednom experimente je na vstup 9KA privedená škálovaná textúra ŠD. Účinnosť 9KA bude vyhodnocovaná pomocou strednej kvadratickej chyby (MSE), ktorá je daná vzťahom (4).

MSE = \frac{1}{N} \sum_{i=1}^{N} (x_i - \tilde{x}_i)^2 (4)

kde xi je početnosť výskytu i-tého frekvenčného modelu zo vstupnej textúry, \tilde{x}_i je početnosť výskytu i-tého frekvenčného modelu štandardnej textúry, N je počet rôznych možných frekvenčných modelov ( pre 9KA N = 512). Je zrejmé, že textúra ŠD s najmenšou hodnotou MSE bude označená ako textúra, ktorá najlepšie zodpovedá charakteru vstupnej textúry. Na Obr. 7 je zobrazená textúra, ktorá bude analyzovaná pomocou 9KA. Ide o textúru kôry stromu. Táto textúra nie je súčasťou ŠD. Cieľom experimentu je zistiť aké budú stredné kvadratické chyby histogramov výstupu 9KA a či MSE textúr kôr bude mať nižšiu hodnotu ako MSE ostatných textúr.

p18690_10_obr07
Obr. 7 Analyzovaná textúra

V Tab. 4 sú uvedené názvy textúr ŠD a hodnoty MSE medzi histogramom výstupu 9KA týchto textúr a vstupnej textúry. Hrubým písmom sú zvýraznené bunky ktoré zodpovedajú textúram kôry a tabuľka je zoradená podľa hodnoty MSE. Z Tab. 4 je zrejmé, že najnižšia hodnota MSE zodpovedá textúre s označením 1.3.02, ktorá je zobrazená na Obr. 8. Ostatné textúry kôry majú hodnotu MSE vyššiu ako niektoré ostatné textúry.

p18690_11_obr08
Obr. 8 Textúra 1.3.02

Tab. 4 MSE histogramov textúr zo ŠD počítaná voči histogramu vstupnej textúry pre 9KA
p18690_12_tab04

V ďalšom experimente bola ŠD rozšírená o textúru tejto databázy (1.5.2_00), ktorá je podrobená rotácii a takému škálovaniu, ktoré zabezpečí to, že rotovaná textúra bude zväčšená tak, aby s rozmerom identickým ako pred škálovaním neobsahovala nedefinované miesta. Časti textúry, ktoré po škálovaní presahujú stanovený rozmer budú orezané. Rotácia textúry bola prevedená o 30°, 60°, 90°, 120°, 150° a 200°. Podobne ako v predchádzajúcom experimente aj v tomto účinnosť bude vyhodnotená na základe hodnoty MSE. V Tab. 5 sú hodnoty MSE zoradené a hrubým písmom sú zvýraznené textúry rozšírenej ŠD zodpovedajúce textúram kôry. Z Tab. 5 je zrejmé, že 9KA identifikoval všetky rotované textúry s MSE výrazne nižším ako pre ostatné textúry.

Tab. 5 MSE histogramov textúr z rozšírenej ŠD počítaná voči histogramu vstupnej textúry 1.5.02_00 pre 9KA
p18690_13_tab05

Na Obr. 9 je zobrazená vstupná textúra a jej rotácie s príslušnou hodnotou MSE.

p18690_14_obr09
Obr. 9 Textúra 1.5.02_00 a jej rotácie s uvedenou hodnotou MSE

5. Záver

V tomto článku bol rozpracovaný algoritmus popisovania textúr pomocou 9KA, ktorý textúry analyzuje na základe rozkladových koeficientov DWT. Tento analyzátor bol podrobne uvedený a na základe experimentov boli vyhodnotene niektoré jeho vlastnosti. Pri zisťovaní citlivosti analyzátora na zmenu energie v jednotlivých kanáloch bolo zistené, že energia sa pri rotácii textúr v niektorých pásmach zväčšila, v iných zmenšila. Pri škálovaní textúr sa energia vo všetkých kanáloch 9KA a to v prípade T_1 aj T_2 zmenšila. Pri experimentoch so správnym priradením textúry zo ŠD k vstupnej textúre 9KA priradil správne najpodobnejšiu textúru. Pri správnom priradení rotovaných textúr zo ŠD k vstupnej textúre 9KA správne identifikoval vstupnú textúru vo všetkých uhloch rotácie.

Ako je z výsledkov vidieť, vždy sa pri analýze vyskytlo niekoľko rušivých textúr, väčšinou to boli textúry s jemnou štruktúrou, ako piesok, tráva, atď. Je to spôsobené tým, že textúry majú nerovnomerné rozloženie kódových slov. Túto nepresnosť by mohlo odstrániť porovnávanie textúr po blokoch. Táto metóda by bola založená na princípe postupného vyberania rovnako veľkých blokov zo vstupnej aj porovnávanej textúry. Ďalej je potrebné zhodnotiť či vyhodnocovanie na základe MSE je dostatočné. Lepšie výsledky by mohli byť docielené aplikovaním výpočtu korelácie.

Literatúra

  1. M. Tuceryan a A. K. Jain, „Texture Analysis,“ rev. The Handbook of Pattern Recognition and Computer Vision (2nd Edition), by C. H. Chen, L. F. Pau,, World Scientific Publishing Co., 1998, pp. 207-248.
  2. O. Kováč, J. Mihalík a P. Čajko, „Obrazové textúry a ich popisovanie,“ Posterus, zv. 9, 1. vyd.3, pp. 1-8, 2016.
  3. G. Gimel, „Texture Analysis and Synthesis using a Generic Markov-Gibbs Image Model,“ 2006. [Online]. Available: https://www.cs.auckland.ac.nz/~georgy/research/texture/thesis-html/thesis.html. [Cit. 5 7 2006].
  4. R. M. Haralick, K. Shanmugam a I. Dinstein, „Textural features for image classification,“ IEEE Transactions on Systems, Man, and Cybernetics, pp. 610 – 621, 1973.
  5. M. Kociolek, A. Materka, M. Strzelecki a P. Szczypinski, „Discrete Wavelet Transform – Derived Features for Digital Image Texture Analysis,“ rev. Proc. of International Conference on Signal and Electronic Systems, Lody, 2001.
  6. S. Arivazhagan a L. Genesan, „Texture classification using wavelet transform,“ Pattern Recognition Letters, zv. 24, 1. vyd.9-10, p. 1513–1521, 2003.
  7. P. Brodatz, Textures: a photographic album for artists and designers, Mineola, New York: DOVER PUBLICATIONS, INC., 1966.
  8. J. Mihalík a O. Kováč, Číslicové spracovanie textúr ľudskej hlavy, Košice: TU, 2014.
  9. H. Siegl, Quantification of Posterior Capsule Opacification after Cataract Surgery, Graz: Graz University of Technology, 2000.

Spoluautormi článku sú Ján Mihalík a Patrik Čajko, Laboratórium číslicového spracovania obrazov a videokomunikácií, Katedra elektroniky a multimediálnych telekomunikácií, Fakulta elektrotechniky a informatiky, Technická univerzita v Košiciach.

Napísať príspevok