Vaizdu vidurkinimas ir požymiu išskyrimas. Glodus vienmatis eksponentinis filtras Apibrėšime eksponentini tolydu kintamojo x filtra formule ( v (x) = + x ) e x, x (, ). () Čia yra filtro parametras. Kad filtro reikšmės gestu begalybėje, reikalausime, kad > 0. Nesunku patikrinti, kad su bet kokia fiksuota parametro > 0 reikšme filtras yra du kartus tolydžiai diferencijuojamas atžvilgiu kintamojo x. Todėl ši filtra vadinsime glodžiu eksponentiniu filtru. Bet kokiam signalui u = u(x), filtravimo operacija apibrėžiama formule (u v )(x) = u(y)v (x y)dy = v (y)u(x y)dy. (2) Skaitmeniniu signalu atveju laikoma, kad u(x) = u n δ(x n), (3) n= kur δ = δ(x) yra delta-dirako funkcija pasižyminti savybe δ(y)φ(y)dy = φ(0) (4) visoms glodžioms integruojamoms funkcijoms φ = φ(x).pasinaudojȩ (3) ir (4) lygybėmis, gauname tokia filtravimo operacijos išraiška : (u v ) n = u m v (n m) = v (m)u n m, n = 0, ±, ±2,. (5) Atlikime filtravimo operacija vienetiniam skaitmeniniam signalui, t. y. signalui u(x) = n= δ(x n). Pasinaudoje filtravimo formulȩ, visiems sveikiesiems n, gausime (u v ) n = v (n m) = v (m) = ( + m m )e.
Pritaikȩ geometrinės progresijos sumos formulȩ rasime e m + e =. e Kadangi tai galutinai gauname me mt = ( e mt ) t = e t ( e t ) 2, (u v ) n = ( + m m )e ( e 2 ) + 2e = = ( e ) 2 q(). (6) Modifikuosime glodaus eksponentinio filtro apibrėžima taip, kad jo atsakas i vienetini skaitmenini signala būtu lygus. Kad tai pasiekti pakanka () dešinia ja pusȩ padauginti iš normuojančio daugikli q() apibrėžto formule (6). Tokiu būdu gauname tokia normuota eksponentinio filtro išraiška : v (x) = ( e ) 2 ( e 2 ) + 2e ( + x ) e x, x (, ). (7) Keičiant eksponentinio filtro parametra galima pasiekti norima signalo vidurkinimo lygi. Kuo arčiau nuliui, tuo filtravimo operacija mažiau glodina filtruojama signala ir atvirkščiai didinant parametro reikšmȩ didiname vidurkinimo laipsni. Išsiaiškinsime kaip efektyviai atlikti skaitmeninio signalo vidurkinima eksponentiniu filtru. Realiu skaitmeniniu signalu žinomu skaitmeniniu reikšmiu kiekis būna baigtinis. Tarkime žinome u 0, u, u 2,, u N reikšmes. Laikysime, kad filtruojamo signalo kraštinės reikšmės u 0 ir u N pratȩstos tolydžiai, t. y. ir u n u 0, kai n < 0 u n u N, kai n N. Kad supaprastinti formules, pradžioje nerašysime normuojančio daugiklio. Išskaidysime filtravimo operacijos suma i dvi dalis: (u v ) n = v (m)u n m = u n + ( + m )e m un m + 2 ( + m )e m un+m.
paveikslėlis: Glodžiu eksponentiniu filtru v grafikai. Mėlynas =, juodas = 2, žalias = 8 Užrašydami išskaidymo formulȩ pasinaudojome filtro simetriškumu, t. y. savybe v (x) = v ( x). Pradžioje raskime (u v0 + ) n = e m un m. (8) Kadangi visiems neigiamiems indeksams u n m = u 0, tai (u v0 + ) 0 = e u 0. Teigiamiems indeksams n > 0 galime užrašyti rekurentini ryši (u v0 + ) n = e (u v0 + ) n + u n. 3
Dabar apskaičiuokime (u v + ) n = me m un m. (9) Dėl kairiosios kraštinės sa lygos gauname (u v + ) 0 = e ( e ) u 0, 2 o teigiamiems indeksams n > 0 galime užrašyti sa ryši (u v + ) n = Analogiškai raskime me m un m = (m + )e m u n m = e ((u v + ) n + (u v0 + ) n ), n =, 2,, N. (0) (u v0 ) n = e m un+m. () Kadangi visiems indeksams m 0 u N +m = u N, tai (u v0 ) N = Likusiems indeksams n galime užrašyti sa ryši Liko apskaičiuoti e u N. (u v0 ) n = e (u v0 ) n+ + u n. (u v ) n = Dėl dešiniosios kraštinės sa lygos gauname me m un+m. (2) (u v ) N = e ( e ) 2 u N, o kitiems indeksams n 0 galioja sa ryšis (u v ) n = me m un+m = (m + )e m u n++m = e ((u v ) n+ + (u v0 ) n+ ), n = N 2, N 3,, 0. (3) Galutinės filtravimo formulės su normuojančiu daugikliu atrodo taip: (u v ) n = q()((u v0 + ) n + (u v+ ) n 4 + (u v0 ) n + (u v ) n u n ). (4)
.2 Filtruoto vienmačio signalo išvestinės Pateiktos formulės tinka pradinio skaitmeninio signalo greitam glodinimui. Kad apskaičiuoti v0 + n, v0 n, v + n ir v n reikia vienos daugybos ir vienos sudėties, o galutiniam normuotam filtravimo rezultatui gauti reikia atlikti dar dvi daugybas ir tris sudėties/atimties operacijas, taigi mūsu filtravimo algoritmo sudėtingumas yra 6 daugybos ir 7 sudėties operacijos vienam taškeliui. Tačiau praktikoje dažnai reikia ne tik suglodinti pradini signala bet ir i vertinti jo pirma ja ir antra ja išvestines. Išvestinės dažniausiai yra aproksimuojamos pirmosios ir antrosios eilės skirtumais. Tačiau mūsu atveju galima apskaičiuoti tiksliai filtruoto signalo išvestines. Formaliai diferencijuodami gauname (u v ) (x) = u(y)v (x y)dy = q() 2 u(y)(x y)e x y dy. (5) Diskrečiu atveju tiksli filtruoto signalo išvestinės formulė su normuojančiu daugikliu atrodo taip: (u v ) n = q() 2 me m un m = q() 2 ((u v + ) n (u v ) n ). (6) Iš (6) formulės matome, kad išsaugojus tarpinius glodinimo filtravimo rezultatus, išvestines apskaičiavimo papildomos sa naudos yra minimalios, tiksliau, kad apskaičiuoti filtruoto skaitmeninio signalo išvestinȩ viename taškelyje n reikia atlikti viena sudėties ir daugybos operacija. Analogiškai rasime tikslia antrosios eilės išvestinės formulȩ. Formaliai diferencijuodami du kartus filtravimo rezultata, gauname (u v ) (x) = u(y)v (x y)dy = q() 2 u(y)( x y )e x y dy. (7) Diskrečiu atveju filtruoto signalo antrosios eilės išvestinės formulė yra tokia: (u v ) n = q() 2 ( m m )e un m = q() 2 ((u v0 + ) n (u v+ ) n + (u v0 ) n (u v ) n u n ). (8) Taigi vėl gauname ekonomiška tikslu antrosios eilės išvestinės apskaičiavimo algoritma, kurio sudėtingumas yra 2 daugybos ir 4 sudėties/atimties operacijos. 5
Reikia pastebėti, kad jei mūsu filtras nebūtu du kartu tolydžiai diferencijuodamas, tai formalus išvestiniu i kėlimas po konvoliucijos (filtravimo) integralu ženklu duotu klaidingas formules. Tačiau net ir su glodžiu filtru gauname, kad konstantos antrosios eilės išvestinė yra nenulinė, o etaloniniu signalu u n = n ir u n = n 2 vidurkintos reikšmės ir ju išvestinės tiksliai nesutampa su laukiamomis reikšmėmis. Kad ištaisyti šias filtru ydas, reikalausime, kad visi filtrai būtu apskaičiuotu pagal (8), (9), ir 2 išraiškas funkciju tiesiniai dariniai, vidurkintas signalas nekeistu vienetini (u n = )ir kvadratini (u n = n 2 ) signalus, tiesinio signalo (u n = n) išvestinė būtu lygi vienetiniam signalui ir ir kvadratinio signalo u n = n 2 išvestinė būtu lygi konstantai 2. Pagal šias sa lygas gauname tokias galutines formules: kur u n = a 0 ((u v0 ) n u n ) + b 0 (u v ) n, (vidurkintas signalas) (9) u n = a (u v + ) n + b (u v ) n, (vidurkinto signalo išvestinė) (20) u n = a 2 ((u v0 ) n u n ) + b 2 (u v ) n, (antrosios eilės išvestinė), (2) v0 n = v0 + n + v0 n, (22) v n = v + n + v n, (23) q 0 () = = ( + e )/( e ), (24) q () = q 2 () = q 3 () = e m m e m m 2 e m m 3 e m = 2 e /( e ) 2, (25) = 2e ( + e )/( e ) 3, (26) = 2e ( + 4 e + e 2 )/( e ) 4, (27) 6
o daugikliai a ir b randami iš lygčiu a 0 q 0 () + b 0 q () =, (28) a 0 q 2 () + b 0 q 3 () = 0, (29) a q 2 () + b 0 =, (30) a 0 + b q 2 () =, (3) a 2 q 0 () + b 2 q () = 0, (32) a 2 q 2 () + b 2 q 3 () = 2.. (33) Alternatyvus koeficentu a 0 ir b 0 apibrėžimo variantas: a 0 = b 0 = a 2 a 2 q 0 b 2 q, (34) b 2 a 2 q 0 b 2 q. (35) Skaičiuojant a 0 ir b 0 pagal šias formules vidurkinta konstanta išlieka ta pačia konstanta ir išlaikoma simetrija: a 0 = const a 2, b 0 = const b 2..2. Praktinė vienmačiu signalu vidurkinimo užduotis Parašyti programa, kuri apskaičiuotu duoto skaitmeninio signalo suglodinima eksponentiniu filtru ir rastu suglodinto signalo pirma sias ir antra sias išvestines. Algoritmo testavimui imkite tokius duomenis:, kai n < 00, u n = 3, kai n < 200, 2, kai n < 300, = 2. Dumenys kiekvieno algoritmo žingsnio testavimui: = log 2, u = 64 32 64 28, (u v0 + ) = 28 96 2 84, (u v + ) = 28 28 2 2, (u v0 ) = 28 28 92 256, (u v ) = 76 224 256 256. 7
a 0 = 3 27, b 0 = 9, a = 2, b = 2 a 2 = 2 27, b 2 = 8. u = 3 27 92 3 9304 27 92 3 9352 27 240 3 9368 27 32 9 368, u = 76 3 60 3 223 3 327 3, u = 4 8 2 2, u = 8 3 5 3 Atlikite filtravima etaloniniams duomenis u n =, u n = n ir u n = n 2 ir pakomentuokite gautus filtravimo rezultatus. Šioje ir kitose programose nebūtina realizuoti vartotojo grafinȩ sa saja. Vertinama iki 0.75 egzamino balu. Jei dėl nepateisinamu priežasčiu atsiskaitoma vėliau nei keturios savaitės nuo pirmu ju pratybu, už kiekvienos savaitės vėlavima vertinimas mažinamas 0.25 balo..3 Vaizdu vidurkinimas ir gradiento i vertis Apibendrinsime vienmačiu signalu eksponentini vidurkimo filtra () dvimačiams vaizdams: ( v (x, y) = + x ) ( + y 7 3 8 3. ) e x + y, x, y (, ). (36) Nesunku pastebėti, kas dvimatis filtras yra vienmačiu filtru sandauga, t. y. v (x, y) = v (x)v (y). Ši filtro savybė lemia, kad dvimatis filtravimas gali būti atliktas pirma vaizdo eilutėms taikant eksponentini filtravima, o vėliau gautam filtruotam vaizdui atliekamas eksponentinis filtravimas stulpeliams. Lygiai ta pati rezultata galima pirma atliekant filtravima vaizdo stulpeliams, o paskui eilutėms. Matematiškai ši savybė ekvivalenti teiginiui, kad kartotinio integralo reikšmė nepriklauso nuo integravimo tvarkos, jei integruojama funkcija yra pakankamai gera. Koks yra sa vokos pakankamai gera tikslus matematinis turinys mes netikslinsime, nes realaus pasaulio analoginiai vaizdai yra tolydūs, mūsu filtrai taip pat tolydūs, tai tolydžios funkcijos (vaizdo) ir tolydaus filtro sandauga taip pat yra tolydi funkcija ir tokios kartotinio integralo reikšmės nepriklauso nuo integravimo tvarkos. Todėl diskrečiu atveju vidurkinant vaizda reikia pritaikyti (9) filtra eilutėms, o po to pritaikyti ta pati filtra gautam vidurkintam 8
vaizdui. Atliekant šias operacijas galima naudoti skirtingu filtrus, bet dėl filtro simetriškumo prasminga naudoti ta pačia. 2 paveikslėlyje iliustruoti pradini rainelės vaizda, jo vidurkinta, gradiento ir Laplaso vaizdus. Kad gradiento ir Laplaso vaizdai būtu labiau informatyvūs, iš gautu vaidu modulio buvo ištraukta kvadratinė šaknis ir padauginta iš ženklo. Vidurkinimo skalės parametro reikšmė = 3. Kaip gaunamas vidurkintas vaizdas mes jau išsiaiškinome. Gradiento vaizdas žymi vidurkinto vaizdo gradiento moduli, t. y. u = ( u x )2 + ( u y )2, (37) o vidurkinto vaizdo Laplasas randamas pagal tokia taisyklȩ: u = 2 u x 2 + 2 u y 2. (38) Kadangi Laplaso vaizdo reikšmės gali būti neigiamos ir teigiamos, teigiamos reikšmės vaizduojamos raudonai, neigiamos mėlynai. Kad rasti vaizdo išvestines x kryptimi, reikia taikyti (20) ir (2) taisykles eilutėms ir (9) taisyklȩ stulpeliams. Vidurkinto vaizdo išvestinės y kryptimi randamos taikant (20) ir (2) taisykles stulpeliams ir (9) taisyklȩ eilutėms. Kadangi pratybu metu vėlesnėse užduotyse pasirinktinai lyginsite pirštu atspaudus, veidus arba raineles, pateiksime ir veido bei raineliu vidurkintu vaizdu pavyzdžius. Iš pateiktu vidurkinto veido, gradiento ir Laplaso vaizdu matyti, kad ir gradientas ir Laplaso vaizdai atrodo estetiškai, todėl yra prasminga iš ju išskirti požymius. Vidurkinti piršto atspaudo gradiento ir Laplaso vaizdai atrodo neestetiškai, nes susidaro i spūdis, kad piršto atspaudo liniju tankis yra padvigubėjȩs du kartus. Todėl vėliau išskiriant požymius rekomenduojama naudoti tik vidurkinta piršto atspauda arba Laplaso vaizde išskirti apibendrintus minimumo ir maksimumo taškus..3. Dvimačio vidurkinimo praktinė užduotis Parašyti programa, kuri apskaičiuotu duoto skaitmeninio vaizdo suglodinima eksponentiniu simetriniu filtru ir rastu suglodinto vaizdo gradiento modulio ir Laplaso vaizdus. Algoritmo testavimui imkite = 3 ir tokius vaizdus: 9
2 paveikslėlis: Casia duomenu bazės pirmosios rainelės pradinis vaizdas (kairėje viršuje), jos vidurkintas analogas (dešinėje viršuje, = 3, vidurkinto vaizdo gradiento modulis (kairėje apačioje) ir vidurkinto vaizdo Laplasas (dešinėje apačioje) Casia DB pirmoji rainelė figures/00.bmp Ferret grey DB pirmasis veidas figures/0000da00 93083.png FVC 2000 DB pirmasis piršto atspaudas figures/.tif Jei kyla problemu su kokio nors formato duomenu nuskaitymu, galite juos konvertuoti i jums patogu formata panaudojant http://www.irfanview.com/ ir pan. priemones.. Kontroliniu vaizdu apdorojimo rezultatus galite palyginti su šiu konspektu iliustracijomis; turi gautis vaizdai panašūs i 2-4 paveikslėliu vaizdus. Vertinama iki 0.75 egzamino balu. Jei dėl nepateisinamu priežasčiu atsiskaitoma vėliau nei penkios savaitės nuo pirmu ju pratybu, už kiekvienos savaitės vėlavima vertinimas mažinamas 0.25 balo..4 Vaizdu požymiai Vaizdu požymiams i vertinti naudosime gradiento modulio apibendrintus lokalius ekstremumus ir Laplaso nulio kirtimus []. Abudu šie požymiai apytikriai išskiria 0
3 paveikslėlis: Ferret duomenu bazės veido pradinis vaizdas (kairėje viršuje), jo vidurkintas analogas (dešinėje viršuje, = 3, vidurkinto vaizdo gradiento modulis (kairėje apačioje) ir vidurkinto vaizdo Laplasas (dešinėje apačioje) vaizdo objektu kontūrus. Tačiau dėl išvestiniu nestabilumo dalis gaunamu kontūru neturi aiškios interpretacijos. Kad sumažinti tokiu kontūru skaičiu galima didinti vidurkinimo mastelio vertȩ. Tačiau toks būdas mažina realiu kontūru padėties nustatymo tiksluma. Kitas būdas derinti gradiento apibendrintu lokaliu maksimumu ir Laplaso nulio kirtimu kontūrus. Jei ir vienu ir kitu būdu gaunami greta du tokie kontūrai, tai labai padidina tikimybȩ, kad jie atitinka realu kontūra. Dar vienas būdas yra derinti kontūrus gautus vidurkinant vaizda su keliais skirtingais. Čia vėl yra ieškomi artimi keliuose vidurkintuose vaizduose kontūrai, tačiau tiksliai apibrėžti kontūru artumo sa voka gana keblu. Gana neblogai ir paprastai netikri kontūrai eliminuojami pasirenkant slenksti ir ignoruojant kontūrus, kuriu gradiento
4 paveikslėlis: FVC 2000 DB duomenu bazės pirmojo piršto atspaudo pradinis vaizdas (kairėje viršuje), jo vidurkintas analogas (dešinėje viršuje, = 3, vidurkinto vaizdo gradiento modulis (kairėje apačioje) ir vidurkinto vaizdo Laplasas (dešinėje apačioje) modulio reikšmės mažesnės už slenksti ir eliminuojant trumpus kontūrus. Tačiau ir vienu ir kitu atveju reikia turėti slenksti nusakanti gradiento arba kontūro ilgio mažuma, o tai menkina tokio būdo vertȩ. Kokiu būdu išskirti gradientiniame arba Laplaso vaizde kontūrus? Pradėsime nuo Laplaso vaizdo, kadangi jame kontūrai išskiriami remiantis paprastu nuliu kirtimo principu, kuris pažymi diskrečias pozicijas, kuriu kaimynystėje Laplasas lygus nuliui. Labai maža tikimybė, kad kokioje nors diskrečioje pozicijoje Laplasas bus tiksliai lygus nuliui. Tačiau kadangi Laplaso vaizde matome ir raudonas teigiamo ženklo zonas ir mėlynas neigiamo ženklo zonas, tai aišku, kad atsiras ju jungimosi taškus. Paprasčiausias būdas rasti tokius taškus yra fiksuoti pozicija (m, n) ir patikrinti sa lyga u m,n+ u m,n 0 u m+,n u m,n 0. 2
Jei Laplaso vaizde randame toki taškeli, ji pažymime tarkime baltai, likusius žymime juodai. Kiek sunkiau i vertinti gradiento apibendrintus ekstremumus. Jei žymėtume tik tikrus gradiento ekstremumus, tai pažymėtu tašku vaizde atsirastu tik pavieniai pažymėti taškai ir negautumėme kontūru. Todėl i vesime sa voka apibendrinto ekstremumo. apibrėžimas. Fiksuokime spinduli R > 0 ir pozicija (x, y). Tarkime taškelio skritulinėje aplinkoje yra C diskrečiu poziciju nutolusiu ne daugiau kaip per atstuma R. Fiksuokime diskretu ji vaizda u = u x,y ir tegul c skritulinės aplinkos taškeliuose vaizdo reikšmės viršija vaizdo reikšmȩ centriniame taške. Tuomet sakysime, kad (x, y) yra diskretaus vaizdo u x,y c-osios eilės apibendrinto maksimumo taškas, jei c <= C/2. Jei c > C/2., toki taškeli Vadinsime (C c)-osios eilės apibendrintas minimumo tašku. Pagal pateikta apibrėžima kiekvienas taškelis yra apibendrintas kokios nors eilės maksimumo arba minimumo taškeliu. Apibrėžiant kontūra mes paliksime tik ekstremumu taškelius, kuriu eilė yra nedidesnė už pasirinkta parametra. Rekomenduojama fiksuoti R = 3 ir pažymėti visus apibendrintus ekstremumus, kuriu eilė nedidesni už 0. Tačiau jūs esate laisvi eksperimentuoti ir pasirinkti savo parametrus. Apibendrintus maksimumo taškelius žymėsime raudonai, o minimumo taškelius mėlynai. Tokiu būdu gausime dvieju spalvu kontūru vaizdeli. 5 paveikslėlis iliustruoja raineles vidurkinto ir gradiento vaizduose išskirtus kontūrus, kurie sudaryti iš apibendrintu ju ekstremumu. Vidurkintame vaizde raudonai nuspalvinti apibendrinti lokalaus maksimumo taškai, o mėlynai minimumo taškai. Visais atvejais išskiriant reikšmingus apibendrintus lokaliuosius ekstremumus ėmėme R = 3 ir lokalius ekstremumus, kuriu eilė nedidesnė kaip 0 (c <= 0). Taip pat pateiktas dar vienas kontūru paveikslėlis gautas pažymint baltai Laplaso nulio kirtimo taškus..4. Skaitmeninio vaizdo kontūru išskyrimo praktinė užduotis Parašyti programa, kuri apskaičiuotu duoto skaitmeninio vaizdo kontūrus. Pirma suglodinkite vaizda eksponentiniu simetriniu filtru ir raskite jo gradiento modulio ir Laplaso vaizdus (pereita praktinė užduotis). Toliau vidurkintame išskirkite apibendrintus ekstremumus, gradientiniame vaizde apibendrintus lokalius maksimumus, 3
5 paveikslėlis: Vidurkintos rainelės apibendrinti lokalūs ekstremumai (kairėje viršuje), jos gradiento apibendrinti lokalūs maksimumai (dešinėje viršuje), Laplaso nulio kirtimai (apačioje) 6 paveikslėlis: Vidurkinto veido apibendrinti lokalūs ekstremumai (kairėje ), jo gradiento apibendrinti lokalūs maksimumai (viduryje), Laplaso nulio kirtimai (dešinėje) 4
7 paveikslėlis: Vidurkinto piršto apibendrinti lokalūs ekstremumai (kairėje ), jo gradiento apibendrinti lokalūs maksimumai (viduryje), Laplaso nulio kirtimai (dešinėje) o Laplaso vaizde nulio kirtimus. Glodinimo parametra, aplinkos spinduli R ir ekstremumu eilȩ C pasirinkite laisvai optimizuodami gautu kontūru estetini vaizda. Išskiriant kontūrus eksperimentuokite su pereitos užduoties vaizdais. Pasistenkite gauti vaizdus panašius i 5-4 pateiktuose paveikslėliuose gautus kontūrus. Vertinama iki 0.75 egzamino balu. Jei dėl nepateisinamu priežasčiu atsiskaitoma vėliau nei devynios savaitės nuo pirmu ju pratybu, už kiekvienos savaitės vėlavima vertinimas mažinamas 0.25 balo..5 Vaizdu požymiu mažinimas ir papildomi atributai Gautus skaitmeninio vaizdo kontūru taškus laikysime jo požymiais. Išskiriant požymius siekiama mažinti ju kieki atmetant mažai informatyvius ir pridedant atributus, didinančius požymiu informatyvuma. Intuityviai aišku, kad gautus kontūrus, sudarytus iš požymiu tašku, galima suploninti iki vieno taškelio storio praktiškai nesumažinant kontūru taškais perteikiamos informacijos. Storu kontūru, ar plotu ploninimas iki vieno taškelio storio jungiu taku liniju vadinamas skeletizavimu [2]. Šiame kurse nesigilinsime ir nesieksime realizuoti kokio nors skeletizavimo algoritmo, o pasinaudosime jūsu kolegu skeletizavimo algoritmu kokia nors realizacija [3]. Turint skeletizuota vaizda, galima nutrinti labai trumpus jungius kontūrus, išskirti kontūru ypatingus taškus, kurie charakterizuoja liniju išsidėstyma ir ju jungimosi topologija. Paprasčiausias būdas išskirti ypatingus plonu liniju taškus yra fiksuoti linijos taškeli ir ieškoti kiek kartu jo aštuoniu kaimynu aplinkoje pereinama iš baltos 5
0 0 0 0 0 0 0 0 0 0 lentelė: Nepatogiu ypatingu tašku klasifikacijai atveju pavyzdžiai i juoda arba atvirkščiai. Suradus ši skaičiu, jis dalinamas iš dvieju ir gauta vertė K charakterizuoja linijos taška. Šis metodas kartais vadinamas straipsnio autoriaus, kuris pirmasis ji paskelbė, Rutovič vardu [4]. Žemiau pateiktoje lentelėje nurodytos galimos K reikšmės ir jos interpretacijos. K Taško interpretacija 0 Pavienis Pabaiga 2 Jungumo (neypatingas) 3 Išsišakojimo 4 Susikryžiavimo Matematiškai tai galima užrašyti taip: u 6 u 7 u 8 u 5 u 0 u K = 8 2 i= u i u i+, kur u 9 = u ir u i u i+ = 0, kai reikšmės u 4 u 3 u 2 sutampa, ir u i u i+ = priešingu atveju. Deja šis paprastas ypatingu tašku klasifikacijos būdas kartais duoda nenatūralius rezultatus. ]reftab:blogiatvejai lentelėje pateikta keletas pavyzdžiu. Pasvirȩ 0 ir taškeliai žymi pozicijas, kuriose gaunami nenatūralūs ypatingieji taškai. Tokiu tašku eliminavimui taikomi papildomi vaizdu apdorojimo metodai [5]. Paliekant tolimesniam atpažinimui naudoti tik išskirtus ypatinguosius taškus ženkliai sumažiname požymiu kieki. Taip labai dažnai daroma pirštu atspaudu vaizdu palyginime. Tačiau net ir pirštu atspaudu atveju nepakanka vien tik informacijos apie ypatingojo taško tipa ir jo koordinates. Gana dažnai naudojami papildomi kontūro tašku atributai, kurie pagerina atpažinimo kokybȩ. Tarkime kontūras yra 6
sudarytas iš gradiento modulio apibendrintu ju maksimumo tašku. Tokiuose taškuose gana patikimai i vertinama gradiento kryptis ir jos kvantuota vertȩ galima laikyti papildomu požymio atributu. 8-0 paveikslėliai iliustruoja suplonintus gradientu 8 paveikslėlis: Rainelės gradiento modulio požymiai su krypties atributu ( = 2) kontūrus, kurie sudaryti iš apibendrintu ju maksimumu. Gaunant šiuos vaizdus, vidurkinant buvo naudoti (34) ir (35) formulėmis apskaičiuojami koeficientai a 0 ir b 0, o vertės buvo parenkamos individualiai kiekvienam paveikslėlio tipui. Apibendrintu ju maksimumu kontūrai buvo suploninti panaudojant skeletizavimo algoritma [6]. Suplonintu kontūru taškai nuspalvinti remiantis gradiento kryptimi. Gradiento vektorius yra sudarytas iš vidurkinto vaizdo išvestiniu x ir y kryptimis. Šias išvestines anksčiau naudojome apskaičiuojant gradiento modulio(37) reikšmes. Spalvos kvantuojamos aštuoniomis lygiomis dalimis iš galimu gradiento vektoriaus polinio kampo reikšmiu. Spalvu tvarka pagal laikrodžio rodyklȩ: RED, GREEN, BLUE, WHITE, YELLOW, CYAN, MAGENTA, GREY; pirma raudona spalva žymi kryptis, kurios sudaro su horizonto kryptimi kampa α nuo π/8 iki π/8. Gradiento kampas su horizonto ašimi surandamas pagal formulȩ α = atan2(u y (x, y), u x (x, y)). 7
9 paveikslėlis: Veido gradiento modulio požymiai su krypties atributu ( = 3) Čia atan2 = atan2(y, x) dvieju argumentu funkcija, kuri taško Dekarto koordinatėms (x,y) gra žina polinio kampo reikšmȩ. Ši funkcija yra realizuota visose programavimo kalbose; ja naudojantis atkreipkite dėmesi, kad kreipiantis reikia sukeisti Dekarto koordinačiu tvarka..5. Raineliu, veidu ir pirštu atspaudu vieningu požymiu išskyrimo praktinė užduotis Parašyti programa, kuri apskaičiuotu duoto skaitmeninio vaizdo suplonintus apibendrintu gradiento modulio maksimumu kontūrus. Kontūrus nuspalvinkite pagal kvantuotas aštuonias gradiento kryptis. Skaičiavimas naudokite ankstesnės užduoties programa. Vidurkinimo parametra parinkite savo nuožiūra individualiai kiekvieno tipo vaizdui, kad gautu si estetiškesnis galutiniu požymiu vaizdas. 8
0 paveikslėlis: Piršto atspaudo požymiai su krypties atributu ( = ) Eksperimentuokite su pereitos užduoties vaizdais. Pasistenkite gauti vaizdus panašius i 8-0 paveikslėliuose gautus rainelės, veido ir piršto atspaudo požymiu vaizdus. Vertinama iki 0.75 egzamino balu. Jei dėl nepateisinamu priežasčiu atsiskaitoma vėliau nei devynios savaitės nuo pirmu ju pratybu, už kiekvienos savaitės vėlavima vertinimas mažinamas 0.25 balo. Literatūra [] Bill Green, http://www.pages.drexel.edu/ weg22/edge.html [2] Kálmán Palágyi, Vengrija, http://www.inf.u-szeged.hu/ palagyi/skel/skel.html [3] K. Stukas, J. Janauskas, Š. Gruodis, M. Brašiškis, http://www.mif.vu.lt/ bastys/academic/ate/skaiciai/skaiciu atp.htm#praktinis [4] D. Rutovitz, Pattern Recognition, J. Roy. Statist. Soc., vol. 29, pp. 504-530, 966. 9
[5] Feng Zhao and Xiaoou Tang, CISST02 International Conference, http://mmlab.ie.cuhk.edu.hk/2002/cisst02 Fingerprint.pdf, (Lokali kopija http://mif.vu.lt/ bastys/academic/ate/pirshtai/cisst02 Fingerprint.pdf) [6] T. Y. Zhang, C. Y. Suen, A fast parallel algorithm for thinning digital patterns, Communications of the ACM, v.27 n.3, p.236-239, March 984. Realizacija Java kalba: http://www.mif.vu.lt/atpazinimas/skaiciai/skelet/zhangsuen.java 20