diplomamunka lakatos karoly-cukorbetegség És szemészet
TRANSCRIPT
-
DIPLOMAMUNKA
Lakatos Kroly
Debrecen2010
-
Debreceni EgyetemInformatikai Kar
rhlzat detektl algoritmusoksszehasonltsa retinakpekben
Tmavezet: Ksztette:Dr. Hajdu Andrs Lakatos Krolyegyetemi docens programtervez matematikus
Debrecen2010
-
Tartalomjegyzk
Tartalomjegyzk........................................................................................................................1
Bevezets....................................................................................................................................3
Szemfenki elvltozsok...................................................................................................3
Szemszeti szrvizsglatok.............................................................................................3
A diplomamunka clja.......................................................................................................4
RGB kpek, az rhlzat szegmentls ltalnos lersa......................................................5
Illesztett szrk.........................................................................................................................8
Az algoritmus megvalstsa..........................................................................................10
A kernelek meghatrozsa...............................................................................................10
Az algoritmus rtkelse.................................................................................................13
rhlzat detektls a msodrend entrpia felhasznlsval..........................................14
Az algoritmus folyamatbrja.........................................................................................15
Zld szncsatorna kivlaszts..........................................................................................16
Maszkgenerls...............................................................................................................16
Illesztett szrk alkalmazsa...........................................................................................18
Medinszrs..................................................................................................................18
tmenetmtrix meghatrozs.........................................................................................19
Kszbls a msodrend entrpival............................................................................21
Utfeldolgozs................................................................................................................23
Az algoritmus rtkelse.................................................................................................24
Megvalsts............................................................................................................................26
A program felptse.......................................................................................................27
1
-
Az rhlzat detektorok sszehasonltsa.............................................................................28
Szenzitivits....................................................................................................................29
Specificits......................................................................................................................29
Pontossg........................................................................................................................29
Tovbbi mrszmok......................................................................................................30
A detektor pontossgnak vizsglata klnbz paramterek esetn.............................31
A detektor sszehasonltsa ms algoritmusokkal..........................................................32
sszefoglals............................................................................................................................35
Fggelk...................................................................................................................................36
Ksznetnyilvnts................................................................................................................39
Irodalomjegyzk......................................................................................................................40
2
-
Bevezets
Magyarorszgon nhny vvel ezeltt a lakossg 5 szzalka, krlbell flmilli
ember volt cukorbeteg, ez a szm napjainkra 760 ezerre ntt. Vilgszerte a cukorbetegek
szma elri a 220 milli ft, a legfrissebb felmrsek szerint szmuk 2025-re 333 milli lesz.
A diabteszes retinoptia a szem, ezen bell a retina megbetegedse. 1-es tpus
cukorbetegeknl 15 v utn kb. 90%-ban, 2-es tpus diabteszben 25%-ban jelentkezik.
Eurpban a szerzett vaksgok 30%-a a cukorbetegsg miatt kvetkezik be.
Szemfenki elvltozsok
A legkorbban detektlhat szvdmnyek a mikroaneurizmk, amelyek apr
duzzanatok a retina hajszlerein. Ezek gyengtik az rfalat s a meggyenglt rfalon t sav
szivroghat ki, mely retinadmt s az n. kemny exudtumok ltrejttt eredmnyezi. Ezt
nevezik httrretinoptinak, amely 20 ves diabtesztartam utn a cukorbetegek tlnyom
tbbsgnl megtallhat. A retinoptia elrehaladtval, a mikroaneurizmkban a vr
megalvadhat s lgy exudtumok keletkezhetnek s elzrhatjk a hajszlereket. Ez tovbb
fokozza az rburjnzsra val hajlamot, jabb s jabb erek jhetnek ltre, melyek
tkletlenek, elpattanhatnak s kisebb-nagyobb bevrzseket okozhatnak. Ha az jonnan
kpzdtt erek bennek a szem vegtestbe s ott okoznak bevrzst, akkor a lts
elhomlyosul. Ezt a stdiumot proliferatv retinoptinak nevezik [1].
Szemszeti szrvizsglatok
A szemfenkrl ksztett kpek elemzst vgz szakemberek gyakran elemz
kzpontba, n. Reading Center-be tmrlnek, ahol a szemszeti vizsglhelyekrl kapott
kpeket elemzik, majd az eredmnyt visszakldik a vizsglatot kr orvosnak. Az elemzsek
hatkonysgnak nvelse rdekben igny volt egy olyan elszr rendszer kifejlesztsre,
amely elklnti egymstl az egszsges s a diabteszes retinoptit brzol szemfenki
kpeket. Egy ilyen elszr rendszerben fontos szerepet jtszik a helyesen detektlt rhlzat.
3
-
1. bra: A szemfenk klnbz elvltozsai:
a) mikroaneurizma b) retinadma c) kemny exudtum
d) lgy exudtum e) proliferatv retinoptia
A diplomamunka clja
Diplomamunkmban elszr be szeretnk mutatni rszletesen kt rhlzat detektort, az
illesztett szrket s az arra pl msodrend entrpia alapjn detektl mdszert. Ez az
algoritmus elg pontos ahhoz, hogy a ksbbiekben fel lehet hasznlni klnbz szemfenki
elvltozsok automatikus felismershez.
A diplomamunka msodik rszben pedig megadok nhny, a szegmentlt rhlzat
jsgt, pontossgt mr rtket, amelyekkel ssze lehet hasonltani az algoritmust akr sajt
magval klnbz paramterek esetn, akr ms, a szakirodalomban megtallhat
algoritmus eredmnyvel.
4
a) b) c)
d) e)
-
RGB kpek, az rhlzat detektls ltalnos lersa
A bemutatand rhlzat detektl algoritmusok input kpei az albbi kt, kutatsi clra
szabadon felhasznlhat adatbzisbl szrmaznak:
1. DRIVE (Digital Retinal Images for Vessel Extraction) [2]
2. DIARETDB1 (Standard Diabetic Retinopathy Database) [3]
A retinrl ksztett felvtelek ltalban elttlencsvel, specilis fundus kamerkkal
kszlnek s multispektrlis (RGB) kpet eredmnyeznek. Az RGB esetben minden egyes
pixelhez hrom szncsatornn (vrs, zld, kk) rendelnek intenzitsokat, mely intenzitsok
0-255-ig vehetnek fel egsz rtkeket, gy szncsatornnknt 8 bit/pixel szninformcit
trolnak.
A DRIVE adatbzis 40 db kpet tartalmaz, melyek 565584 pixel felbontsak, mg a
DIARETDB1 89 db, a DRIVE-nl egy kicsit rosszabb minsg, azonban sokkal nagyobb
felbonts (15001152 pixel) kpet. A DRIVE esetben minden kphez tartozik egy szemsz
szakorvos ltal manulisan szegmentlt rhlzat is, amelyek a diplomamunka ksbbi
rszben fontos szerepet jtszanak a detektorok pontossgnak mrsben, mivel ezekhez
hasonltjuk klnbz mdszerekkel az algoritmusok ltal szolgltatott output kpeket.
5
2. bra: Egy-egy kp a felhasznlt adatbzisokbl.
Az els kp a DRIVE-bl, a msodik a DIARETDB1-bl.
-
Az RGB kpek tbb szempontbl is htrnyosak a detektlst illeten:
1. A fundus kpek szneloszlsa nagy vltozatossgot mutat a betegek kztt,
tbbek kztt az etnikai hovatartozsuk miatt, ugyanis a pigmentek jelen vannak
a retinban is, az n. pigmentlt rtegben (retinal pigment epithelium, RPE),
ezrt a stt pigmenttel rendelkez embereknl sokkal sttebb a retinjukrl
ksztett felvtel, mint a vilgosabb pigmenttel rendelkez trsaiknl.
2. Az erek szne nagyban fgg attl, hogy hol helyezkedik el a retinn, ugyanis a
vastagabb erekre sokkal nagyobb hatssal van a fnyvisszaverds, amit a
kamera vakuja okoz a ltidegfrl trtn tkrzds ltal. A kisebb,
vkonyabb erekre ez nem vonatkozik annyira s sokkal kevesebb fnyt is
kapnak.
3. A sznes kpeken trtn detektls gyakran eredmnyez hibs rhlzatot.
E htrnyok miatt a sznes, RGB kpet elszr szrkesklsra kell alaktanunk, ami egy
olyan kp, melyben minden pixelt egy 0-255-ig terjed egsz szm hatroz meg.
ltalnossgban elmondhat, hogy a szemfenk kpeken a zld szncsatorna hordozza a
legtbb informcit az rhlzattal kapcsolatban, mivel itt klnlnek el a legjobban az erek a
httrtl (az erek sttebbek, mg a httr vilgosabb), ezrt a bemutatand algoritmusok is
mindig ezt a szncsatornt hasznljk az erek detektlsra. Mivel a zld szncsatorna is csak
0-255-ig vehet fel egsz rtkeket, ezrt ez mr tekinthet szrkesklsnak is, gy az
algoritmusoknak elegend az, ha a nekik inputknt megadott RGB kpbl kivlasztjk a zld
szncsatornt.
6
3. bra: A 2.bra els kpnek vrs, zld s kk szncsatornja.
-
Az algoritmusok kimenete mindig egy olyan logikai rtkeket tartalmaz kp (binris
kp), melyben az 1-es jelli azt, ha az illet pixel eleme az rhlzatnak s a 0-s pedig azt
mondja meg, hogy az adott pixel nem rpont, azaz:
bv x , y ={1, ha I x , y rhlzat0, egybkntahol:
bv(x, y): az rhlzatot reprezentl binris kp
I(x, y): az eredeti szemfenk kp
7
-
Illesztett szrk
Chaudhuri 1989-ben megfigyelte [4], hogy a retinakpeken az ereknek hrom fontos
tulajdonsga van:
1. Az ereknek ltalban kicsi a grbletk, lineris szakaszokkal jl meg lehet ket
kzelteni.
2. Az erek tkrzdse sokkal kisebb, mint ms felletek tkrzdse a retinn,
ezrt viszonylag sttebbek a kpeken. A 4. brn lthat, hogy fggleges irny
mentn a pixelek szrkeskls intenzitsrtkeit alapul vve, az erek, mint
vlgyek modellezhetk. A grbe loklis minimuma az adott r kzept hatrozza
meg.
8
4. bra: Hrom klnbz r fggleges irnyban vett intenzitsrtkei.
-
Ebbl arra kvetkeztettek, hogy az erek jl kzelthetek egy megfelel Gauss
grbvel:
G x , y= 122
e d
2
22
ahol:
d: a fggleges irny tvolsg az (x, y) pont s az r elmleti kzepe
kztt.
: a Gauss grbe paramtere, jelen algoritmus esetben =2 vlasztssal.
3. A ltidegfbl kilpve, az erek szlessge fokozatosan cskken,
ltalnossgban elmondhat rluk, hogy 2-10 pixel (36-180 m) szlesek.
9
5. bra: A megfelel Gauss grbe =2 paramterrel.
-
Az algoritmus megvalstsa
A ktdimenzis kpeken az erek tetszleges szget bezrhatnak az y tengellyel, ezrt a
konvolcis kernelt (Gauss grbt) minden lehetsges irnyban el kell forgatni s a kapott
eredmnyeket ssze kell hasonltani: minden egyes pixelre a maximlis rtket kell
kivlasztani.
A kernel matematikailag a kvetkezkppen hatrozhat meg:
K x , y =e x
2
22 yL2
ahol az L az eret approximl szakasz hossza, amit tapasztalati ton, norml s
rendellenes szemfenk kpek sszehasonltsval hatroztak meg, jelen algoritmus esetben
L=9. Ez a kernel azonban csak azokat az ereket kpes detektlni, amelyek prhuzamosak
(vagy legalbbis nagyon kis szget zr be) az y tengellyel, ezrt a kernelt el kell forgatni.
Figyelembe kell mg vennnk azt is, hogy a retinakpek ltalban zajjal terheltek, ezrt
a kernel rtkeinek a meghatrozsakor gyelnnk kell arra, hogy a zajra a konvolci
eredmnye nulla legyen. Ezt legegyszerbben gy tehetjk meg, hogy a konvolcis kernel
valamennyi rtkbl kivonjuk a konvolcis kernel rtkeinek az tlagt.
A kernelek meghatrozsa
Legyen p(x, y) a kernel egy pontja s i legyen a detektlni kvnt r s az y tengely
ltal bezrt szg. A forgats mtrixval sszeszorozva az eredeti kernelt megkaphatjuk az
elforgatott kernelt.
Az i fokkal trtn forgats mtrixa:
r i=cosi sinisini cosi
10
-
gy az i fokkal elforgatott kernel a
pi= pr i i=0, 15,... ,165
sszefggssel hatrozhat meg.
Ahhoz, hogy az sszes lehetsges irny eret detektlni tudjuk, 15-onknt kell
forgatnunk a kernelt, gy sszesen 12 klnbz kernellel kell a szemfenk kpet
konvolvlnunk s kzlk pixelenknt a maximlis rtket kivlasztani.
0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 00 0 0 0 0 4 4 3 0 0 0 0 0 0 0 00 0 0 0 4 4 3 2 0 0 0 0 0 0 0 00 0 0 4 4 3 2 0 2 4 0 0 0 0 0 00 0 4 4 3 2 0 2 4 5 6 0 0 0 0 00 4 4 3 2 0 2 4 5 6 5 4 0 0 0 04 4 3 2 0 2 4 5 6 5 4 2 0 0 0 00 3 2 0 2 4 5 6 5 4 2 0 2 3 0 00 0 0 2 4 5 6 5 4 2 0 2 3 4 4 00 0 0 4 5 6 5 4 2 0 2 3 4 4 0 00 0 0 0 6 5 4 2 0 2 3 4 4 0 0 00 0 0 0 0 4 2 0 2 3 4 4 0 0 0 00 0 0 0 0 0 0 2 3 4 4 0 0 0 0 00 0 0 0 0 0 0 3 4 4 0 0 0 0 0 00 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0
6. a)
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 4 3 2 1 2 5 6 5 2 1 2 3 4 0 00 4 3 2 1 2 5 6 5 2 1 2 3 4 0 00 4 3 2 1 2 5 6 5 2 1 2 3 4 0 00 4 3 2 1 2 5 6 5 2 1 2 3 4 0 00 4 3 2 1 2 5 6 5 2 1 2 3 4 0 00 4 3 2 1 2 5 6 5 2 1 2 3 4 0 00 4 3 2 1 2 5 6 5 2 1 2 3 4 0 00 4 3 2 1 2 5 6 5 2 1 2 3 4 0 00 4 3 2 1 2 5 6 5 2 1 2 3 4 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6. b)
6. bra: Kt kernel, az a) a 45-os, a b) a fggleges irnynak megfelel.
(=2, L=9)
Mivel a Gauss grbe x irnyban mindkt oldaln vgtelenl hossz, ezrt le kellett
vgni ezeket az u=6 hatrokon, azaz a grbt csak a [6, 6] intervallumon rtelmezzk.
11
-
Ekkor egy pontnak a krnyezett az albbi mdon hatrozhatjuk meg:
N={u , v u6, v L2 }
Teht ekkor az i-edik kernel egy rtke:
K i x , y =eu2
22 piN
Ha A-val jelljk az N elemeinek a szmt, akkor a kernel tlagt az albbi
sszefggssel hatrozhatjuk meg:
mi=piN
K i x , y
A
gy mr kiszmthatak az algoritmus ltal is hasznlt konvolcis kernelek:
K ' i x , y =K i x , ymi piN
Az mi -kre a mr korbban emltett, zajokra vonatkoz megllapts miatt volt szksg,
ebben az esetben a zajos pixelekre a konvolci 0-val tr vissza.
12
-
Az algoritmus rtkelse
Az illesztett szrk algoritmusa sikeresen detektlta az ereket, de meg kell jegyezni,
hogy az eredmny mg szrkernyalatos kp, ezrt szksg van egy kszblsre, amivel
klnvlasztjuk egymstl az rpontokat s a httrpontokat. Az eljrs eredmnye a mr
korbban emltett rhlzatot reprezentl binris kp.
A kszbls lnyege, hogy az algoritmus kimeneti kpnek pixeleit egy rgztett K
kszbszm alapjn kt osztlyba soroljuk: ha az adott pixel intenzitsrtke nagyobb vagy
egyenl, mint a K kszbszm, akkor a binris kpen a pixelhez 1-et rendelnk, egybknt
pedig 0-t.
Azonban az optimlis kszb megvlasztsa nem olyan egyszer dolog, mint elsre
tnik. Ms-ms retinakpen ms-ms kszbre van szksg s mindezt termszetesen
automatikusan kell megvlasztani emberi beavatkozs nlkl. Erre az optimlis
kszbvlasztsra mutatok be most egy mdszert.
13
7. bra: Az illesztett szr eredmnye s annak kszbltje K=80-al.
-
rhlzat detektls a msodrend entrpia felhasznlsval
Ahogyan mr korbban lthattuk, az illesztett szrkkel sikeresen lehet detektlni a
szemfenk kpekrl az rhlzatot, viszont problma van vele a kszblsnl, amikor az
optimlis kszbt kell meghatroznunk. A msik htrnya az, hogy tlagosan csak kb. 88%-
os pontossgot r el, ami azt jelenti, hogy a manulisan szegmentlt rhlzattal ekkora
szzalkban egyezik meg. Valsznleg azrt ilyen alacsony a tallati arnya, mert az
algoritmus nem kpes detektlni a vkonyabb ereket, ami azzal jr, hogy ha a detektlt
rhlzatot arra szeretnnk felhasznlni, hogy azon mikroaneurizmkat ismerjnk fel, akkor
ezt egyszeren nem tudjuk megtenni, mivel ezek az elvltozsok ppen a hajszlereken
jelentkeznek. Chaudhuri 1989-ben publiklta ezt a mdszert, azta szmtalan olyan
algoritmust mutattak be, amelyek sokkal jobb (93-94% krli) pontossgot rtek el. Ezek
kzl az egyik legjobbat M. Niemeijer tette kzz [5]: minden pixelhez meghatrozott egy
sajtsg vektort, ami a Gauss szrbl, annak els- s msodrend derivltjbl llt
klnbz rtkekkel sklzva (1,2,4,8,16). Aztn ezekbl a sajtsgvektorokbl kNN
osztlyozt felhasznlva lltjk el az rhlzatot. Ezt az eljrst mr nevezhetjk nagyon
pontosnak, mivel a DRIVE adatbzison 94,16%-os pontossgot rt el. Azt azonban
figyelembe kell vennnk, hogy ez nem egy automatikus mdszer, emberi beavatkozst
ignyel s az eredmny nagyban fgg a tant minta minsgtl is.
Most egy olyan technikt mutatok be, amely kihasznlja azt, hogy az illesztett szrk
algoritmusval ellltott MFR (Matched Filter Response) kpen egy adott pixel
intenzitsrtke nem fggetlen a krnyezetben lv pixelek intenzitsrtkeitl [6]. Az
intenzitsskla alapjn bizonyos szablyok alapjn meghatrozunk egy 256256 mret
mtrixot, mely elemei kzl a maximlis msodrend entrpival rendelkezt fogjuk
kivlasztani optimlis kszbnek, amivel mr el tudjuk lltani az rhlzatot reprezentl
binris kpet. Az alkalmazott eljrs megfelel paramtervlasztssal tbb mint 95%-os
pontossgot r el.
14
-
Az algoritmus folyamatbrja
8. bra: Az algoritmus folyamatbrja.
15
Eredeti kp
Zld szncsatorna kivlasztsa
Maszkgenerls
Illesztett szr alkalmazsa
tmenetmtrix meghatrozs
rhlzat szegmentls:kszbls a msodrend
entrpival
-
Zld szncsatorna kivlasztsa
Mint mr korbban emltettk a retinakpeken a zld szncsatorna hordozza a legtbb
informcit az rhlzattal kapcsolatban, mivel itt klnlnek el a legjobban a httrtl,
sokkal sttebbek annl. Ennl a csatornnl megfigyelhet az is, hogy sokkal kisebb
mrtkben terhelt zajjal a tbbinl. Tovbbi elny az is, hogy az RGB kpnek csak egyik
rszt kell feldolgoznunk, ami jelentsen lecskkenti az algoritmus futsi idejt (kb. a
harmadra).
Maszkgenerls
A maszkgenerls arra szolgl, hogy a szemfenk lnyeges informcit hordoz
terlett klnvlasszuk a kp httertl s kln vizsgljuk tle. Ezt a terletet szoks ROI-
nak (Region Of Interest) nevezni. A fundus felvtelek esetben ROI-nak hvjuk azt a kprszt,
ahol az rhlzat megtallhat.
16
9. bra: ROI, a bevonalkzott rsz nem tartozik a ROI-hoz.
-
A felhasznlt maszk egy logikai mtrix (binris kp), amelynek a mrete megegyezik az
eredeti kppel s a benne tallhat rtk 1-es, ha az adott pixel a sznes kpen a ROI-hoz
tartozik, egybknt pedig 0-s.
Ltezik egy olyan mdszer, mellyel sikeresen lehet maszkot generlni: matematikai
morfolgiai opertorokat hasznlunk fel a ROI meghatrozsra [7].
Az eljrs lpsei:
1. Az eredeti sznes kp vrs szncsatornjra egy kszblst hajtunk vgre k=35
kszbbel, mely meghatrozsa tapasztalati ton trtnt.
2. A kszblt kpen egy nyitst hajtunk vgre egy 33-as ngyzet alak
struktraelemmel.
3. Az eredmnyen egy zrst hajtunk vgre ugyanazzal a struktraelemmel.
4. Vgl mg egy tovbbi erodlst alkalmazunk a kapott kpre, szintn a 33-as
struktraelemmel.
Az eredeti kpet pixelenknt sszeszorozva a generlt maszkkal elrtk azt, hogy mr
csak a ROI-n bell vgezznk mveleteket.
17
10. bra: Eredeti kp s az annak generlt maszk.
-
Illesztett szrk alkalmazsa
Mint mr korbban lthattuk az illesztett szrk alkalmazsval sikeresen kiemelhetjk
az ereket a kprl. Tovbb azrt is j ennek a mdszernek az alkalmazsa, mivel az
rhlzatnak az egszt hatrozza meg, ellenttben nhny ldetektl algoritmussal, amelyek
esetben a kapott erek megszakadhatnak, nem folytonosak. Fontos megjegyezni, hogy az
illesztett szrket nem csak az irodalomban megtallhat =2 paramterrel futtattuk le,
hanem ms rtkekre is (pl.: =1, =0.5, =0.1), amely nagyban javtotta a tallati
arnyokat, sokkal tbb vkony eret detektlt, mind a DRIVE, mind a DIARETDB1 adatbzis
esetn.
Ehhez a lpshez hozztartozhat mg egy elfeldolgozsi eljrs is, melynek a clja a
kpeken lv zaj eltvoltsa. Ez az elfeldolgozsi eljrs a medinszrs.
Medinszrs
Az (x, y) koordintj pont NN-es krnyezett (N pratlan) vizsglva az (x, y)
koordintj pont intenzitst azon intenzits rtkkel helyettestjk, amely a krnyezetben
lv N2 darab intenzits rtket nagysg szerint rendezve a rendezett sorozatban a kzps
helyen ll.
A medinszrs hatsra a kpben tallhat kiugr intenzitsrtk kppontok
fnyessge kzeledni fog a krnyezetk fnyessghez, szlssges esetben, ha egy homogn
kprszletben tallhat egy az tlagfnyessgnl sttebb vagy vilgosabb kppont, az
egyszeren eltnik a kpbl. A medinszr ezen tulajdonsga miatt nagyon hatkonyan
tvoltja el az impulzusszer zajokat.
ltalban 55-s medin szrt hasznltunk a DIARETDB1 adatbzisbl szrmaz
kpeken, mely nagyon jl kikszblte a zajokat.
18
-
tmenetmtrix meghatrozs
Az tmenetmtrixa egy szrkeskls kpnek egy LL-es (L a szrkeskla elemeinek a
szma) ngyzetes mtrix a W=[tij], amelynek az elemei megadjk minden egyes
intenzitsprra az tmenetek szmt, tovbbi informcikat szolgltatva ezzel a kpen lv
struktrkrl. Az tmenetmtrix meghatrozshoz 4-szomszdsgot hasznltunk, ami azt
jelenti, hogy az I kp egy I(x, y) pixelnek krnyezetn az albbi 4 pixelt rtjk:
I(x-1, y), I(x+1, y), I(x, y-1), I(x, y+1)
Tegyk fel pldul, hogy t32,35=124 egy I kpre, akkor ez azt adja meg, hogy az I kpen a
32 intenzitsbl a 35 intenzitsba 4-szomszdsgot hasznlva 124 tmenet tallhat.
Az tmenetmtrix egy tij eleme az albbi mdon hatrozhatjuk meg:
t ij=l=0
L1
k=0
L1
ahol:
={1, ha{I l , k =i s I l , k1= jvagyI l , k =i s I l1, k = j0, egybknt
19
11. bra: Felnagytott kprszlet a DIARETDB1-bl.
Az els az eredeti, majd a 33-as s az 55-s medinszrs eredmnye.
-
Legyen K egy a kszblshez hasznlt rtk. Ekkor a K az tmenetmtrixot 4 rszre
osztja: A-ra, B-re, C-re s D-re. Ezek az albbiaknak felelnek meg:
A: rhlzat
B: tmenet az rhlzat s a httr kztt
C: httr
D: tmenet a httr s az rhlzat kztt
A kvetkez rszben meghatrozzuk a kszblshez felhasznlhat optimlis K
kszbszmot.
20
12. bra: A K ltal 4 rszre osztott tmenetmtrix. (K=68)
-
Kszbls a msodrend entrpival
A feladatunk teht az, hogy meghatrozzuk azt az optimlis K kszbszmot, amely
megfelelen bontja szt az tmenetmtrixot 4 rszre. Ehhez vezessk be az albbi
mennyisgeket [8]:
1. Egy adott tij tmenet valsznsge:
pij=t ij
i=0
L1
j=0
L1
t ij
2. Az A rszbe tartozs valsznsge:
P A=i=0
K
j=0
K
p ij
3. A C rszbe tartozs valsznsge:
P C= i=K1
L1
j=K1
L1
pij
4. Normalizlt valsznsg A esetn:
P ijA=
p ijP A
i=0,1 ,... , K j=0,1 , ... , K
5. Normalizlt valsznsg C esetn:
P ijC=
pijPC
i=0,1 ,... , K j=0,1 , ... , K
21
-
6. Az objektum (rhlzat) msodrend entrpija:
H A2 K =1
2i=0K
j=0
K
P ijA log2 P ij
A
7. Az elzhz hasonlan a httr msodrend entrpija:
H C2 K =12 i=K1
L1
j=K1
L1
P ijC log2 P ij
C
8. A teljes msodrend entrpia:
H T2 K =H A
2K H C2K
Az optimlis kszbrtket az a K paramter adja meg, amely esetn a H T2 K
teljes msodrend entrpia maximlis, azaz:
K opt=arg { maxK{0,1 , ... , L1}H T2K }
22
-
Utfeldolgozs
Ahogyan a 13. brn lthatjuk, az eredmnyl kapott kpen tallhatak helytelenl
azonostott pixelek. Ahhoz, hogy tiszta, teljes rhlzatot kapjunk, ezeket el kell tvoltani,
szksg van egy utfeldolgozsi lpsre.
Az utfeldolgozst az albbi mdon tehetjk meg:
1. A 8-szomszdsgot alapul vve megkeressk az gy kapcsold objektumokat.
2. Minden objektumnak meghatrozzuk a mrett, azaz azt, hogy hny pixelbl
tevdnek ssze.
3. Azon objektumokat, amelyek egy meghatrozott S rtknl kevesebb
kppontbl llnak eltvoltjuk a kprl.
Az algoritmusunk esetben az S=1000 rtket vlasztottuk, amely elegend volt ahhoz,
hogy kikszbljk a tvesen detektlt objektumokat.
23
13. bra: Az eljrs eredmnye.
-
Az algoritmus rtkelse
Az algoritmust mindkt korbban emltett adatbzisra, a DRIVE-ra s a DIARETDB1-
re is lefuttattuk.
A DRIVE esetn nem volt szksg elfeldolgozsi mdszerre, mivel nagyon j
minsg kpeket tartalmaz. Tbb paramter kiprblsa utn a legjobb eredmnyt a =0.5
paramter adta, ellenttben a hasonl rhlzat detektorokat bemutat cikkek ltal hasznlt
=2 rtkkel. Az algoritmus ez esetben nagyon gyors: kpenknt tlagosan 5 msodperc alatt
detektlta az rhlzatot.
A DIARETDB1 adatbzison mr hasznltuk a korbban bemutatott elszrsi mdszert,
a medin filterezst 55-s ablakkal, amellyel sikeresen el tudtuk tvoltani a kpeken lv
zajt. Ezeknl a kpeknl manulisan szegmentlt rhlzat hinyban ugyan nem tudtuk
mrni a pontossgot, azonban =0.1, =0.5 s =1 rtkeket alkalmazva is kielgt
eredmnyeket kaptunk. Fontos tovbb megjegyezni, hogy ezen felvtelek nagyobb
felbontsa, valamint rosszabb minsge miatt az optimlis kszbszmot el kellett tolnunk
egy tapasztalati rtkkel, Kelt=4-gyel. A futsi id itt is nagyon gyors: kb. 26-27 msodpercre
volt szksg kpenknt.
Utfeldolgozsra mindkt esetben szksg volt, mivel nlkle a hibsan detektlt
rpontok nagyban rontottk a pontossgot.
24
14. bra: Az utfeldolgozs eredmnye.
-
sszessgben elmondhat az algoritmusrl, hogy nagyon gyors, pontos s ami a
legfbb ernye: teljesen automatikus, nincs szksg emberi beavatkozsra.
25
-
Megvalsts
Az algoritmusok megvalstsra egy olyan krnyezetet kerestnk, amellyel knnyen s
gyorsan lehet implementlni a detektorokat, valamint rendelkezik olyan keretrendszerrel, ami
segtsget nyjt a klnbz kpfeldolgozsi eszkzk, mdszerek hasznlatban. Ezen okok
miatt a vlaszts a MathWorks cg MATLAB programcsomagjra esett [9], melyben az
eljrsok nagy nehzsg nlkl programozhatak, a hozz kapcsold Image Processing
Toolbox pedig nagyon sok kpfeldolgozshoz felhasznlhat eljrst eleve tartalmaz, gy
azokat nem kell neknk kln megvalstanunk.
A MATLAB a forrsfjlokat, vagy ms nven a szkripteket n. .m fjlokban trolja,
kln fordtt nem hasznl, az utastsokat sorrl-sorra hajtja vgre.
26
15. bra: Kpernykp a MATLAB-rl.
-
A program felptse
matchedfilter.m: az illesztett szrk algoritmust megvalst szkript. Bemenete egy
szrkernyalatos kp s a paramter, kimenete pedig az MFR kp.
mask.m: egy adott szemfenk kp binris maszkjt generlja le.
kuszob.m: els lpsben meghatrozza az input kp tmenetmtrixt, majd abbl
kiszmolja a msodrend entrpikat minden intenzitsrtkre s kzlk visszaadja a
maximlisat, azaz az optimlis kszbt.
erszegm.m: ez a szkript vgzi el az rhlzat detektlst, vgrehajtja az el- s az
utfeldolgozst. A kimenete egy, az rhlzatot reprezentl binris kp.
Ktflekppen lehet meghvni az elfeldolgozs szempontjbl:
1. bv=erszegm(I, keltolas, sigma): ebben az esetben nincs elfeldolgozs.
2. bv=erszegm(I, keltolas, sigma,'median',N): ekkor az I kp zld szncsatornjn
vgrehajt egy NN-es medinszrst.
gui.m: a felhasznli interfsz megvalstsa.
27
16. bra: Kpernykp a programbl.
-
Az rhlzat detektorok sszehasonltsa
A DRIVE adatbzis esetn minden egyes kphez a rendelkezsnkre ll kt szakrt (X
s Y) ltal a manulisan szegmentlt rhlzat, gy lehetsgnk van a korbban bemutatott
detektor jsgt mrni ms-ms paramterek esetn, vagy azt klnbz rhlzat
szegmentl algoritmusokkal sszehasonltani.
X ltal 577649 pixel lett megjellve rknt s 3960494 pixel httrknt, azaz az sszes
kppont 12.7%-a r. Y esetn 556532 pixel az erek, mg 3981611 a httrpixelek szma
(12.3% r). Az sszehasonltsok alapjul az X eredmnyeit hasznltuk fel, teht ezt tekintjk
100%-os pontossgnak, amit a szakirodalom ground-truth-nak, vagy gold standard-nak
nevez s a tovbbiakban G-vel jelljk, az rhlzat detektorok kimenett pedig C-vel.
A fentiek alapjn ngy klnbz rtk hatrozhat meg:
1. Valdi pozitvnak (True Positive, TP) nevezzk azt, ha mindkt kpen, azaz G-
ben s C-ben is egy adott pixel rknt van megjellve.
2. Valdi negatv (True Negative, TN), ha G-ben s C-ben is a pixel nem rpont,
teht ha httrpixel mindkt esetben
3. Tves pozitv (False Positive, FP), ha egy pixel C-ben rpont, de G-ben nem. Ezt
az rtket szoks elsfaj hibnak is nevezni.
4. Tves negatv (False Negative, FN), ha egy pixel C-ben nem rpont, pedig a G-
ben az. Ezt pedig szoktk msodfaj hibnak nevezni.
Ebbl a ngy rtkbl szrmaztathatak klnbz mennyisgek, melyek az
sszehasonlts alapjul szolglhatnak. Ezek kzl a legszlesebb krben elterjedt
mrszmok: szenzitivits, specificits s a pontossg.
28
-
Szenzitivits (Sens)
Ms nven valdi pozitv arny (True Positive Rate, TPR), megadja, hogy csak az
rhlzat pixeleit figyelembe vve mennyire pontos az algoritmus:
Sens = TPP
= TPTPFN
ahol P az sszes pozitvaknak a szma.
Specificits (Spec)
Ms nven valdi negatv arny (True Negative Rate, TNR). Ez a mrszm a
httrpixelek eltallsnak az arnyt mutatja meg:
Spec = TNN
= TNTNFP
ahol N az sszes negatvaknak a szma.
Pontossg (Accuracy, Acc)
Ez az rtk pedig megadja a teljes pontossgt az algoritmusnak:
Acc = TPTNPN
= TPTNTPTNFPFN
ahol:
P: az sszes pozitvaknak a szma.
N: az sszes negatvaknak a szma.
29
-
Tovbbi mrszmok
Az albbiakban megadunk nhny, ritkban hasznlt mrszmot:
1. Tves pozitv arny (False Positive Rate, FPR):
FPR = FPTNFP
= 1Spec
2. Tves negatv arny (False Negative Rate, FNR):
FNR = FNTPFN
= 1Sens
3. Szimmetrikus differencia:
A szimmetrikus differencia kt halmaz, A s B kztt van rtelmezve az albbi
szerint:
S A , B = A BB AAB
Ezzel a mennyisggel is meg lehet hatrozni a detektls jsgat. 0 rtket ad, ha
mindkt halmaz elemei megegyeznek s 1-et, ha teljesen klnbznek.
30
-
A detektor pontossgnak vizsglata klnbz paramterek esetn
A korbban bemutatsra kerlt rhlzat detektornak van egy paramtere, a , amelynek
a megvltoztatsval az algoritmus pontossga is megvltozik. A 17. brn lthat a
klnbz rtkek esetn mrt pontossgok.
Megfigyelhet, hogy az algoritmus a =0.5 rtk esetn a legjobb, ekkor a pontossga
95.35%-os. Ezen rtk utn a -t nvelve a pontossg egyre cskken. A kvetkez rszben a
detektort a =0.5 paramtervlaszts mellett sszehasonltjuk ms algoritmusokkal.
31
17. bra: Az algoritmus pontossga klnbz rtkek esetn.
-
A detektor sszehasonltsa ms algoritmusokkal
A tovbbiakban a detektorunkat ms, az irodalomban megtallhat algoritmussal
hasonltjuk ssze, melyek kzl kettt, az illesztett szrk mdszert, valamint M. Niemeijer
kNN osztlyozt hasznl algoritmust mr ismertettk. Lssunk most nhny tovbbi
eljrst rviden:
1. Zana et al. [10]:
Ez a mdszer matematikai morfolgiai opertorokat hasznl az erek
detektlsra, amely alapveten 3 lpesre bonthat:
1. A lineris rszek meghatrozsa a nyitsok supremuma ltal, ahol a
nyits struktraeleme lineris klnbz irnyokban.
2. Zajeltvolts szintn a nyitsok supremuma felhasznlsval.
3. Ezutn a zaj nlkli kprl a nemkvnatos objektumok eltvoltsa
Laplace-szrvel, majd egy specilis filter alkalmazsa.
2. Jiang et al. [11]:
A retinakpeken tbbszint loklis kszblst hajtanak vgre, majd az gy
kapott binris kpek osztlyozsa trtnik meg aszerint, hogy rendelkeznek -e
rszer tulajdonsgokkal.
3. Martinez-Perez et al. [12]:
Az rhlzatot kt tulajdonsggal jellemzik: az intenzitsok gradiens rtkvel,
valamint az erek erssgt mr szmmal. Ezen rtkeket a kp klnbz
terletein meghatrozva, azok maximuma alapjn a kppontokat kt osztlyba
lehet sorolni: rhlzat pontok s httrpontok.
32
-
18. bra: A klnbz algoritmusok eredmnye
egy DRIVE kpre.
33
a) eredeti b) 1. manulis (gold standard)
c) 2. manulis
d) Chaudhuri et al. e) Niemeijer et al. f) Zana et al.
g) Jiang et al. h) Martinez-Perez et al. i) msodrend entrpiaalap (Villalobos
et al.)
-
34
1. tblzat: A klnbz mdszerek tlagos pontossga a DRIVE adatbzis esetn.
Mdszer tlagos pontossg (%)2. manulis 94,73
87,7394,1693,7792,1291,8195,35
Chaudhuri et al.Niemeijer et al.
Zana et al.Jiang et al.
Martinez-Perez et al.msodrend entrpialap (Villalobos et al.)
-
sszefoglals
Diplomamunkmban bemutattam egy gyors s hatsos rhlzat detektl algoritmust,
amely teljesen automatikus, nem ignyel semmifle emberi kzremkdst. A mdszert
megvizsgltam klnbz paramterek mellett is, ami tovbb nvelte annak pontossgt,
valamint sszehasonltottam tovbbi algoritmusokkal is. A pontossgot tovbb is lehetne
fokozni, ugyanis nhny output kpen megfigyelhet, hogy a vakfolt krnykt is tvesen az
rhlzat rszeknt azonostja az algoritmus. Vlemnyem szerint ezt gy lehetne a
legegyszerbben kikszblni, hogy elszr is meghatrozzuk a vakfolt helyt a retinakpen,
majd annak a krnyezetben kln detektlnnk az ereket valamilyen mdszerrel.
35
-
Fggelk A: a klnbz mrszmok rtke a DRIVE adatbzis esetn
36
-
Fggelk B: retinakpek s a detektlt rhlzat
37
-
38
-
Ksznetnyilvnts
A dolgozat vgn szeretnk ksznetet mondani tmavezetmnek, Dr. Hajdu
Andrsnak, aki szakmai hozzrtsvel, tancsaival, segtkszsgvel elsegtette a
diplomamunka elkszltt.
39
-
Irodalomjegyzk
[1] dr. Fvnyi Jzsef: A cukorbetegsgrl mindenkinek, 1996,
http://www.informed.hu/_ebook/diab.pdf
[2] DRIVE
http://www.isi.uu.nl/Research/Databases/DRIVE/
[3] DIARETDB1
http://www2.it.lut.fi/project/imageret/diaretdb1/
[4] S. Chaudhuri, S. Chatterjee, N. Katz, M. Nelson, and M. Goldbaum, Detection of
blood vessels in retinal images using two-dimensional matched filters, IEEE
Transactions on Medical Imaging 8(3), pp. 263-269, 1989.
[5] M. Niemeijer, J.J. Staal, B. van Ginneken, M. Loog, M.D. Abramoff, "Comparative
study of retinal vessel segmentation methods on a new publicly available database",
in: SPIE Medical Imaging, Editor(s): J. Michael Fitzpatrick, M. Sonka, SPIE, 2004,
vol. 5370, pp. 648-656.
[6] Fabiola M. Villalobos-Castaldi, Edgardo Manuel Felipe Rivern, Luis Pastor Snchez
Fernndez: A fast, efficient and automated method to extract vessels from fundus
images. J. Visualization 13(3): 263-270, 2010
[7] Frank ter Haar: Automatic localization of the optic disc in digital colour images of the
human retina. M.S. Thesis, Utrecht University, Dec. 16, 2005
[8] Pal NR, Pal SK (1989) Entropic thresholding. Signal Process 16:9710
[9] MATLAB,
http://www.mathworks.com/products/matlab/
40
-
[10] F. Zana and J. Klein, A multimodal registration algorithm of eye fundus images using
vessels detection and Hough transform, IEEE Transactions on Medical Imaging
18(5), pp. 419428, 1999.
[11] X. Jiang and D. Mojon, Adaptive local thresholding by verication-based
multithreshold probing with application to vessel detection in retinal images, IEEE
Transactions on Pattern Analysis and Machine Intelligence 25(1), pp. 131137, 2003.
[12] M. Martnez-Prez, A. Hughes, A. Stanton, S. Thom, A. Bharath, and K. Parker,
Scale-space analysis for the characterisation of retinal blood vessels, in Medical
Image Computing and Computer-Assisted Intervention - MICCAI99, C. Taylor and
A. Colchester, eds., pp. 9097, 1999.
41
DIPLOMAMUNKALakatos KrolyDebrecen2010Debreceni EgyetemInformatikai Karrhlzat detektl algoritmusoksszehasonltsa retinakpekbenTmavezet:Ksztette:Dr. Hajdu AndrsLakatos Krolyegyetemi docensprogramtervez matematikusDebrecen2010TartalomjegyzkBevezetsSzemfenki elvltozsokSzemszeti szrvizsglatokA diplomamunka clja
RGB kpek, az rhlzat detektls ltalnos lersaIllesztett szrkAz algoritmus megvalstsaA kernelek meghatrozsaAz algoritmus rtkelse
rhlzat detektls a msodrend entrpia felhasznlsvalAz algoritmus folyamatbrjaZld szncsatorna kivlasztsaMaszkgenerlsIllesztett szrk alkalmazsaMedinszrstmenetmtrix meghatrozsKszbls a msodrend entrpivalUtfeldolgozsAz algoritmus rtkelse
MegvalstsA program felptse
Az rhlzat detektorok sszehasonltsaSzenzitivits (Sens)Specificits (Spec)Pontossg (Accuracy, Acc)Tovbbi mrszmokA detektor pontossgnak vizsglata klnbz paramterek esetnA detektor sszehasonltsa ms algoritmusokkal
sszefoglalsFggelk A: a klnbz mrszmok rtke a DRIVE adatbzis esetnFggelk B: retinakpek s a detektlt rhlzatKsznetnyilvntsIrodalomjegyzk