Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
SVEUČILIŠTE U ZAGREBU
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
ZAVRŠNI RAD br. 3206
DETEKCIJA MALIGNIH TVOREVINA NA RTG
SNIMKAMA PLUĆA KORISTEĆI GENETSKO
PROGRAMIRANJE I METODE ANALIZE
STATISTIČKIH OBILJEŽJA TEKSTURA
Dominik Tomičević
Zagreb, lipanj 2013.
Hvala prije svega mojoj majci što me trpi sve ove godine slušajući moje veselje i frustracije
tijekom dugosatnih programiranja. Zahvaljujem i prof. dr. sc. Siniši Šegviću i prof. dr. sc.
Slobodanu Ribariću na dobrim idejama oko normalizacije slika i računanju Haralickovih
značajki, a posebno hvala mentoru, prof. dr. sc. Domagoju Jakoboviću na velikoj podršci i
odličnom vođenju projekta i završnog rada.
Sadržaj
1. Uvod ........................................................................................................................................ 1
1.1. Opis problema .................................................................................................................. 1
1.2. Baza digitalnih rendgenskih zapisa .................................................................................. 2
2. Pretprocesiranje ....................................................................................................................... 3
3. Statistička obilježja tekstura .................................................................................................... 4
3.1. Ton i tekstura .................................................................................................................... 4
3.2. Haralickova obilježja tekstura .......................................................................................... 5
3.3. Matrice prostorne ovisnosti sivih tonova ......................................................................... 5
3.4. Haralickove značajke ........................................................................................................ 8
3.5. Brzo računanje Haralickovih značajki ............................................................................ 10
4. Izbor značajki ........................................................................................................................ 12
5. Normalizacija značajki .......................................................................................................... 12
6. Genetsko programiranje ........................................................................................................ 13
6.1. GP za segmentaciju slika ................................................................................................ 14
6.2. Terminalni skup .............................................................................................................. 14
6.3. Funkcijski skup ............................................................................................................... 14
6.4. Funkcija dobrote ............................................................................................................. 15
7. Razvojna okolina ................................................................................................................... 17
8. Prijašnji pokušaji ................................................................................................................... 18
9. Rezultati ................................................................................................................................. 19
10. Zaključak ............................................................................................................................. 31
11. Literatura ............................................................................................................................. 32
Sažetak ....................................................................................................................................... 34
Summary .................................................................................................................................... 35
1
1. Uvod
1.1. Opis problema
Karcinom pluća je bolest u kojoj maligne (abnormalne) stanice nekontrolirano rastu u
plućnom tkivu. Vodeći je uzrok smrti od karcinoma kod muškaraca i odmah iza karcinoma
dojke kod žena. Najčešće se javlja između 55. i 65. godine, a zahvaća 1 od 1000 ljudi. [1]
Studije koje objavljuje Američko društvo za borbu protiv karcinoma pluća pokazuju da
petogodišnje preživljavanje oboljelih od te bolesti može biti povećano između 14% i 49% ako
je bolest dijagnosticirana i liječena u ranom stadiju. [2, 3]
Najčešće metode detekcije plućnih tumora su radiografija pluća (RTG), citološka analiza
uzoraka iskašljaja, pregled bronhalnog stabla s fiberoptičkim bronhoskopom, kompjuterizirana
tomografija (CT) te magnetska rezonancija (MR). Iako su zadnje dvije metode najosjetljivije i
daju najpreciznije rezultate, one su također i najskuplje te vremenski najdugotrajnije pa se ne
obavljaju toliko često. Radiografija pluća zbog svoje cijene i rutinske dostupnosti i dalje ostaje
najšire korištena metoda detekcije karcinoma pluća. Vrijedno je napomenuti da nijedna zemlja
svijeta u trenutku pisanja rada nema program organiziranog snimanja i rane detekcije
karcinoma pluća i zato je najveći broj ranih stadija karcinoma u obliku plućnih čvorića
detektiran kad pacijent obavlja radiografiju pluća zbog neke druge svrhe.
Ovi razlozi naglašavaju važnost detekcije malignih plućnih čvorića u ranom stadiju bolesti.
Problem detekcije čvorića u ranom stadiju je njihova vrlo slaba vidljivost. To dovodi do vrlo
slabe osjetljivosti radiologa koja se kreće između 28% i 54% za male čvoriće te 64% za velike
čvoriće i vrlo je nekonzistentna između različitih radiologa. [4].
Računalni pristup detekciji (CAD) vrlo je privlačan zbog potencijala dobivanja objektivnih i
konzistentnih rezultata. Dijagnostička shema u obliku “drugog mišljenja” koja automatski
segmentira rendgensku snimku i upozorava radiologa na lokacije za koje postoji velika
vjerojatnost da sadržavaju plućni čvorić mogla bi smanjiti broj dijagnostičkih pogrešaka i broj
propuštenih čvorića. To bi moglo dovesti do ranije dijagnoze karcinoma te bolje prognoze za
pacijenta.
2
U ovom završnom radu, predlaže se metoda automatske segmentacije plućnih čvorića
temeljena na metodama statističke analize tekstura za generiranje i izbor značajki te stablu
genetskog programiranja za evoluciju optimalnog slikovnog filtra za klasifikaciju tkiva.
1.2. Baza digitalnih rendgenskih zapisa
Cijela metoda izgrađena je i testirana na standardnoj bazi rendgenskih snimki prikupljenoj od
strane Japanskog radiološkog društva (JSRT) [5]. Baza sadrži 247 digitalnih rendgenskih
snimki od kojih 154 sadrži plućne čvoriće, a 93 ne sadrži. Snimke su digitalizirane na
razlučivosti od 0.165 milimetara po pikselu u veličini od piksela sa 4096 razina
sive boje. Promjer čvorića na snimkama varira od 5 do 35 milimetara i sve dijagnoze su
potvrđene višestrukim testiranjem različitim testovima među kojima je i CT. Čvorići su
podijeljeni u pet razreda ovisno o teškoći njihove detekcije od strane radiologa od očitih pa do
ekstremno suptilnih.
Na temelju tekstualnog zapisa s pozicijama i veličinama čvorića u okviru ovog rada izgrađena
je za svaku snimku binarna matrica maske čvorića veličine u kojoj su na
mjestima gdje se nalazi čvorić na originalnoj snimci postavljene jedinice, a na mjestima
ostalog tkiva postavljene nule. Usporedba matrice i izlaza klasifikatora koristi se za
utvrđivanje funkcije dobrote tijekom učenja te klasifikacijske metrike klasifikatora kod
testiranja.
3
Slika 1 - Primjeri snimki pluća i pripadajućih maski čvorića.
2. Pretprocesiranje
Prije bilo kakve analize RTG snimki pluća vrlo je bitno provesti segmentaciju regije pluća
kako bi se ograničilo područje algoritamske obrade i time uštedilo vrijeme i izbjegli artefakti
izvan regije pluća. Binarna matrica maske regije pluća također je veličine i
sadrži jedinice na mjestima koja ne predstavljaju regiju pluća te nule na ostalim mjestima. Za
potrebe ovog rada, sve slike su ručno segmentirane u grafičkim alatima. U primjeni ovakvog
CAD sustava, segmentacija regije pluća treba se odvijati automatski i u literaturi se mogu
pronaći brojni algoritmi zadovoljavajuće preciznosti. [6]
4
Slika 2 - Primjeri maski regija pluća.
Slike pluća iz JSRT baze imaju velike varijacije u svjetlini i kontrastu između slika i za
optimalne performanse klasifikatora potrebno je slike unaprijed ujednačiti. Normalizacija se
provodi po histogramu gdje se sve slike normaliziraju na ravni histogram po transformaciji
tako da se minimizira izraz | { } { }| gdje je kumulativni histogram slike koju
normaliziramo, a kumulativna suma ravnog histograma za sve intenzitete .
Budući da je programska implementacija izvedena u alatu MATLAB ®, moguće je iskoristiti
ugrađenu funkciju histeq iz Image Processing Toolbox-a koja radi upravo ovu transformaciju.
3. Statistička obilježja tekstura
3.1. Ton i tekstura
Kad tražimo značajna obilježja za opis slikovne informacije, prirodno je gledati obilježja koja
ljudi koriste u interpretaciji slikovne informacije. Tri osnovna razreda značajki u ljudskoj
interpretaciji slikovne informacije su spektralni, teksturalni i kontekstualni. Spektralne
značajke opisuju prosječne tonske varijacije u različitim frekvencijama vidljivog ili
infracrvenog dijela elektromagnetskog spektra dok značajke teksture sadrže informaciju o
prostornoj distribuciji tonskih varijacija unutar neke frekvencije. Kontekstualne značajke
sadrže informaciju izvedenu iz blokova slikovnih podataka koji okružuju područje koje
analiziramo. U računalnoj analizi kod nezavisne obrade malih slikovnih blokova u tonovima
sive boje, tekstura i ton su najvažnija obilježja.
5
Koncept tona baziran je na varijacijama nijansi sive boje u pikselima slikovnog elementa dok
je tekstura definirana prostornom distribucijom sivih tonova. Tekstura može biti opisana preko
statističkih ili strukturnih značajki slike. Strukturne tehnike oslanjaju se na derivaciju pravila
postavljanja teksturnih primitiva. Budući da anatomske strukture padaju negdje između
determinističkih i stohastičkih tekstura, statistička analiza i obilježja čine se dobrim odabirom.
3.2. Haralickova obilježja tekstura
Tekstura i ton tvore neraskidivu vezu i uvijek su prisutni na slici iako ponekad jedno svojstvo
dominira nad drugim. Ova veza može se intuitivno objasniti. Kad slikovni blok ima malu
varijaciju sivih tonova između susjednih piksela, dominantno svojstvo je ton budući da
percipiramo jedino svjetlinu i zanemarujemo male varijacije koje čine teksuru. Suprotno tome,
kad slika ima veliku varijaciju sivih tonova, dominantno svojstvo postaje tekstura.
Važno je promatrati i prostorni uzorak piksela koji tvore varijacije tona. Kad nema prostornog
uzorka i varijacija između intenziteta svih susjednih piksela je velika, tekstura je detaljnija i
doima se glatkom. Kad prostorni uzorak počinje zahvaćati sve više piksela sličnih intenziteta,
nastaje grublja tekstura.
Haralick et. al. [7] predložio je matrice prostorne ovisnosti sivih tonova za analizu tekstura uz
pretpostavku da se informacija o teksturi nalazi u prostornoj vezi koju međusobno stvaraju
vrijednosti sivih tonova, tj. intenziteti na slici.
3.3. Matrice prostorne ovisnosti sivih tonova
Pretpostavimo da je slika koju analiziramo pravokutna i dimenzija . Pretpostavimo da
je ton sive boje koji se pojavljuje na slici kvantiziran na razina. Neka je { }
horizontalna prostorna domena, { } vertikalna prostorna domena, a
{ } skup kvantiziranih sivih tonova. skup predstavlja piksele slike prvo
poredane unutar retka, a zatim stupca. Slika može biti predstavljena kao funkcija koja
pridružuje neki sivi ton iz skupa pikselu iz .
Glavne komponente Haralickovih obilježja su 4 mjere kutnih matrica prostorne ovisnosti sivih
tonova najbližih susjeda (Gray-Level Co-occurence Matrices, GLCM). Svaki piksel na slici
6
(osim rubnih) posjeduje 8 susjeda. Pretpostavka je da je kontekstno-teksturna informacija
sadržana u prostornoj ovisnosti susjednih piksela na slici.
Slika 3 - Definicija kuteva za korištenje u izračunu kutnih obilježja (slika preuzeta s MATLAB-ovih web stranica
pomoći).
Matrice prostorne ovisnosti sivih tonova specificiraju relativne frekvencije s kojom se dva
susjedna piksela na udaljenosti i pod kutom pojavljuju na slici, jedan s intenzitetom , a
drugi s intenzitetom . Takve matrice su funkcije kuta i udaljenosti između susjednih piksela.
Za kuteve kvantizirane na 45 stupnjeva, frekvencije su definirane ovako:
{( ) ( ) ( ) | | |
}
{( )
( ) ( ) |
}
{( ) ( ) ( ) | | |
}
{( )
( ) ( ) |
}
gdje označava broj elemenata u skupu.
7
Matrice i su simetrične. Matrice izračunate za različite kuteve mogu se
normalizirati tako da se elementi matrice podijele s ukupnim brojem susjednih parova piksela,
. Konkretno, matrica udaljenosti jedan i kuta imat će
horizontalnih susjednih parova ćelija za svaki redak što ukupno daje Slično, za
i , bit će ukupno desno dijagonalnih susjednih parova za svaki
redak osim za prvi, pa ukupno imamo susjednih parova. Simetrično, bit će
vertikalnih i lijevo dijagonalnih susjednih parova piksela.
Primjer izračuna za sliku veličine sa 4 razine intenziteta prikazan je na slici 4.
Slika 4 - Primjer izračuna matrice prostorne ovisnosti sivih tonova (slika preuzeta s MATLAB-ovih web stranica
pomoći).
U Image Processing Toolbox-u postoji brza implementacija računanja matrice prostorne
ovisnosti sivih tonova pa se u radu za dobivanje te matrice koristi gotova funkcija
graycomatrix.
Vrijedi primjetiti da će slika s 4096 razina imati elemenata u GLC matrici. Iz
toga se može zaključiti da matrice prostorne ovisnosti sivih tonova nisu efikasne kad postoji
mala prostorna, a velika intenzitetna razlučivost. Mnogo razina intenziteta i mali prozor slike
za koji računamo matricu rezultiraju s vrlo slabo popunjenom matricom i upravo to je problem
s RTG slikama. Smanjivanje razlučivosti intenziteta na 64 razine ili manje donosi računsku
učinkovitost, ali i dodatnu invarijantnost i pospješuje generalizaciju. [9]
8
3.4. Haralickove značajke
Na temelju matrica prostornih ovisnosti, Haralick je opisao 14 obilježja teksture. Neka od tih
obilježja definiraju specifične karakteristike teksture kao što je homogenost, kontrast i
prisutnost organizirane strukture unutar slike. Druga pak obilježja opisuju tranzicije sivih
tonova koje se pojavljuju unutar slike. Iako obilježja sadrže informaciju o karakteristikama
teksture, teško je ljudskim okom odrediti koje obilježje predstavlja koju karakteristiku.
Notacija
-ti element u normaliziranoj matrici prostorne ovisnosti sivih tonova
-ti element u matrici marginalnih vjerojatnosti koja je izračunata zbrajanjem redaka
, ∑
-ti element u matrici marginalnih vjerojatnosti koja je izračunata zbrajanjem stupaca
, ∑
broj razina sive boje s kojima radimo u kvantiziranoj slici
Skraćeni zapisi često korištenih izraza radi preglednosti
∑ skraćeni zapis sume po retcima matrice prostorne ovisnosti sivih tonova, ∑
∑ skraćeni zapis sume po stupcima matrice prostorne ovisnosti sivih tonova, ∑
∑ ∑
∑ ∑
| |
Popis obilježja
1. Angular Second Moment: ∑ ∑ { }
2. Contrast: ∑ { }
9
3. Correlation: ∑ ∑
gdje su i srednje vrijednosti i standardne devijacije i .
4. Sum of Squares - Variance: ∑ ∑ { }
5. Inverse Difference Moment: ∑ ∑
6. Sum Average: ∑
7. Sum Variance: ∑
8. Sum Entropy: ∑ { }
9. Entropy: ∑ ∑
10. Difference Variance:
11. Difference Entropy: ∑ { }
12., 13. Information Measures of Correlation:
{ }
√
gdje je , i entropije od i , ∑ ∑ { } , a
∑ ∑ { } .
14. Maximal Correlation Coefficient:
√
∑
U svim formulama s logaritmima postoji mogućnost da kao argument logaritma dođe
vrijednost 0, a nije definiran. U implementaciji se zbog numeričke stabilnosti umjesto
izraza koristi , gdje je mala realna konstanta reda veličine .
10
Sva obilježja koja je predložio Haralick funkcije su udaljenosti i kuta. Kutne ovisnosti
predstavljaju posebni problem. Ako slika ima obilježja , , i za kuteve 0, 45, 90 i 135,
tada slika koja je identična slici , ali rotirana za 90 stupnjeva, ima obilježja , , i za
kuteve 0, 45, 90, 135. Budući da je kontekst slike isti kao i slike , bilo kakvo
klasifikacijsko pravilo koje koristi kutna obilježja , , i mora davati iste rezultate i za ,
, i . Kako bi se to jamčilo, Haralick predlaže da se obilježja ne koriste izravno, već uzima
njihov prosjek i razliku između maksimalne i minimalne vrijednosti kutnih obilježja. Tako
definirane transformacije nad obilježjima rezultiraju invarijantnošću rotacije strukture koju
želimo klasificirati.
Iako Haralickove značajke predstavljaju apstraktna obilježja, možemo ih vizualizirati ako sve
vrijednosti u matricama normaliziramo na vrijednosti između 0 i 1 gdje 0 predstavlja crnu, a 1
bijelu boju.
Slika 5 - Vizualizacije nekih Haralickovih značajki. S lijeva na desno: Angular Second Moment, Sum Average,
Difference Entropy, Information Meassures of Correlation
3.5. Brzo računanje Haralickovih značajki
Zbog velikog broja sumiranja, složenost izračuna Haralickovih značajki dosta je velika,
pogotovo uzevši u obzir da se obilježja računaju za čitav niz podprozora unutar originalne
slike.
Računanje značajki može se optimizirati na 2 mjesta zasebno. Prilikom konstrukcije matrice
prostorne ovisnosti sivih tonova i prilikom računanja značajki baziranih na toj matrici. Budući
da MATLAB već sadrži vrlo optimiziranu funkciju računanja te matrice, uložen je trud u
optimiziranje računanja značajki.
11
Miyamoto i Merryman u [8] opisali su svoj pristup optimizaciji računanja Haralickovih
značajki koje uključuju optimizacije petlji, optimizacije promašaja u priručnoj memoriji te
raspetljavanje petlji. MATLAB-ov programski jezik orijentiran je primarno na lakoću
korištenja pa ne postoji način podešavanja naprednih strojno zavisnih optimizacija ako ih
MATLAB-ov prevoditelj automatski ne upotrijebi pa se u implementaciji koriste samo
optimizacije unutarnjih petlji.
Ako se analizira trošak operacija računanja obilježja, možemo izvesti 5 različitih kategorija:
1. Broj zbrajanja,
2. Broj množenja,
3. Broj logaritmiranja, L
4. Broj eksponencijala,
5. Broj kvadratnih korijena,
gdje označava dimenzije slike, a broj sivih razina. Pogledom na formule izračuna
značajki, za određenu kutnu udaljenost d, možemo doći do sljedećih složenosti:
( )
( ) ( )
( )
Ovaj izračun dalje možemo proširiti za sumiranje po svim kutnim udaljenostima d:
( )
( )
( ) ( )
( )
12
Da bi se smanjio pristup memoriji za sve te operacije, potrebno je spojiti petlje koje iteriraju
po istim ili sličnim indeksima u jednu petlju. Značajke , , , i sve iteriraju po
indeksima i , a također i sve pristupaju memoriji matrice prostornih ovisnosti sivih tonova
na tim indeksima pa ih je moguće izračunati u istoj petlji. Pristup memoriji matrice tako je
smanjen s 5 čitanja na 1 čitanje za svaki indeks i . Slično, značajke i iteriraju po
s istim indeksima i isto se mogu objediniti u jednu petlju. To svojstvo još se jednom može
primijeniti za značajke , i . Broj potrebnih operacija može se još više smanjiti
korištenjem znanja da su matrice prostornih ovisnosti sivih tonova simetrične pa se suma
∑ ∑
dodatno može pojednostaviti u ∑ ∑
što skoro dvostruko smanjuje broj
pristupanja matrici.
4. Izbor značajki
Da bi se smanjila dimenzionalnost prostora pretraživanja, moguće je ručno odabrati značajke
koje će se koristiti prilikom učenja klasifikatora. Kod Haralickovih značajki, budući da imamo
označene lokacije čvorića, moguće je uzeti prozore na slici koji odgovaraju veličini čvorića i
ispitati vrijednost značajki na području gdje se nalazi čvorić i na ostalim područjima u plućima
na kojima nema čvorića te uzeti one značajke koje pokazuju najveća odstupanja vrijednosti.
Slijedeći takav pristup, za podskup značajki izabrane su Angular Second Moment, Contrast,
Correlation, Inverse Difference Moment i Entropy [9], ali u nekim su eksperimentima također
korištene i sve značajke.
5. Normalizacija značajki
Izračunate Haralickove značajke međusobno imaju veliku varijaciju od nekoliko redova
veličine. Neke značajke imaju razliku između najmanje i najveće vrijednosti manju od 0.01, a
neke veću od 1000. te se također grupiraju oko različitih vrijednosti. Prije bilo kakve
13
klasifikacije potrebno je te značajke normalizirati. Za sve značajke upotrebljava se linearna
normalizacija na prosjek nula i jediničnu varijancu.
Normalizaciju na prosjek nula provodimo tako da od svakog piksela slike oduzmemo prosjek
svih piksela na slici . Normalizaciju na jediničnu varijancu provodimo tako da od svaki piksel
slike podijelimo s varijancom svih piksela slike . Preciznije,
neka je | | , a
̅
∑ ∑
∑
∑ ̅
̂ ̅
gdje predstavlja -tu slikovnu Haralickovu značajku, a ̂ predstavlja normalizirani -ti
piksel na -toj Haralickovoj značajki.
6. Genetsko programiranje
Genetsko programiranje (GP) je metoda otkrivanja i optimizacije programa koja koristi
posebni oblik evolucijskog algoritma koji radi s kromosomima u obliku stabla. Kromosomi
kod genetskog programiranja predstavljaju kandidate rješenja zadanog problema. [3, 4]
Skup mogućih unutarnjih čvorova stabla kod GP-a naziva se funkcijski skup,
{ }. Sve funkcije imaju definiran broj ulaznih argumenata veći od nule. Skup
listova stabla naziva se terminalni skup { }
Ako se terminali promatraju kao funkcije koje primaju nula argumenata, tada možemo
napraviti uniformnu grupu . Prostor pretraživanja GP-a je skup svih mogućih
rekurzivnih kompozicija . Osnovni algoritam pretraživanja je klasični GA s mutacijom i
križanjem specijalno dizajniranim za operaciju nad stablima.
14
6.1. GP za segmentaciju slika
Genetsko programiranje uspješno je primijenjeno na širok spektar problema kao što su
automatsko upravljanje, raspoznavanje uzoraka, simbolička regresija, sinteza neuronskih
mreža itd., ali relativno mali broj primjena postoji u domeni obrade slika i računarskog vida.
6.2. Terminalni skup
Skup terminala čine matrice u kojima svaki element predstavlja izračun pojedine Haralickove
značajke na nekoj regiji slike. Za izračun značajki nad slikom koiršten je pomični prozor
fiksne veličine s preklapanjem. Veličina prozora postavljena je na maksimalnu veličinu
čvorića. Faktor preklapanja je fiksan za svako pokretanje algoritma. Zbog kvadratnog
povećanja vremenske složenosti u ovisnosti o smanjenju faktora preklapanja, za evaluaciju
algoritma u prihvatljivom vremenu mogu se koristiti samo prozori s faktorom preklapanja
veličine polovice veličine prozora. Budući da takvo preklapanje već smanjuje dimenzionalnost
slike s na te da se ne izgube informacije dodatnim smanjivanjem,
ovo je i jedina korištena veličina preklapanja.
6.3. Funkcijski skup
U odabiru funkcija moguće je iskoristiti bilo koji dostupni slikovni filtar, no poželjno je
ograničiti se na rudimentarne operacije. Rezultat izračuna kompleksnih filtara uvelike ovisi o
vrijednostima argumenata i mogu jako varirati između različitih jedinki, unutar iste jedinke pa
čak i između pojedinih piksela što GP-u uvelike otežava pretraživanje prostora. [12] Također,
izračuni kompleksnih filtara vremenski su dugotrajni što evaluaciju jedinki čini sporom čak i
za istraživačke svrhe, a pogotovo za realnu uporabu.
Korištene funkcije opisane su u tablici 1. Funkcije Min, Max, Div i Mul omogućuju
konstrukciju vrlo nelinearnih filtara sličnih morfološkim filtrima poznatima u obradi slika. Te
funkcije zajedno s Add i Sub omogućuju i stvaranje potrebnih konstanti. Korištenje operatora
kružnog posmaka omogućuje izradu filtara čija je složenost višestruko veća od onih dostupnih
u skupu terminala i funkcija.
15
Tablica 1 - Korišteni funkcijski skup.
Funkcijski skup
Ime Br.
argumenata
Definicija
Add 2
Sub 2
Mul 2
Div 2
{
| |
Min 2
Max 2
CircRight 1
CircLeft 1
CircUp 1
CircDown 1
6.4. Funkcija dobrote
Ako se kreiraju filtri za isticanje značajki na slikama, moguće je koristiti strategiju kao u
simboličkoj regresiji gdje se izlaz iz programa uspoređuje sa željenim izlazom i određuje
mjera sličnosti. Za problem segmentacije, taj se princip može prilagoditi tako da za željeni
izraz koristimo binarnu matricu koje predstavljaju strukture koje treba detektirati. Problem kod
takvog pristupa je što GP mora uložiti puno truda da prilagodi izlaz točno nulama i
jedinicama, a klasifikator će ionako upotrijebiti neki oblik granice koja će svrstati piksele
različite od nula i jedan u određeni razred. Izračun možemo pojednostaviti tako da dopustimo
GP-u da traži rješenja iz cijelog skupa realnih brojeva, a krajnji rezultat određujemo preko
predznaka izlaza koji GP daje. Ako je izlaz veći od nula, tada ga preslikavamo na vrijednost
jedan, a ako je manji od nula, postavimo ga na 0. Taj pristup ima i sklopovsku podršku pa je
ubrzanje značajno.
Nad binarnom matricom izlaza iz programa, funkcija dobrote može koristiti termine iz binarne
klasifikacijske metrike. Kako program pokušava detektirati piksele koji pripadaju strukturi
16
čvorića, možemo utvrditi broj točno klasificiranih piksela koji pripadaju čvoriću (True
Positives, TP), broj točno klasificiranih piksela koji ne pripadaju čvoriću (True Negatives,
TN), broj pogrešno klasificiranih piksela koji pripadaju čvoriću (False Negatives, FN) te broj
pogrešno klasificiranih piksela koji ne pripadaju čvoriću (False Positives, FP). Ove relacije
prikazane su u tablici 2.
Tablica 2 - Relacije binarne klasifikacije.
Stvarna vrijednost
Izlaz
klasifikatora
Stvarni Pozitivni Stvarni Negativni Ukupno:
Klasificirani
Pozitivni TP FP
Ukupno
klasificirano
pozitivno
Klasificirani
Negativni FN TN
Ukupno
klasificirano
negativno
Ukupno: Ukupno
stvarno pozitivnih
Ukupno stvarno
negativnih
Zadani problem može se definirati kao problem minimizacije u kojem se nastoji minimizirati
broj pogrešno klasificiranih piksela. Funkcija dobrote se tada na jednostavan način može
definirati kao zbroj pogrešnih pozitivnih i pogrešnih negativnih piksela.
Broj pogrešnih pozitivnih i pogrešnih negativnih piksela ima direktan utjecaj na osjetljivost i
specifičnost klasifikatora. Osjetljivost klasifikatora definiramo kao broj točno klasificiranih
piksela podijeljen s brojem piksela koje je trebalo detektirati i kreće se u intervalu od 0 do 1
gdje 0 označava da klasifikator nije pronašao ni jedan piksel strukture koju tražimo, a 1
označava da je klasifikator pronašao sve piksele strukture koju tražimo. Analogno tome,
definiramo i specifičnost klasifikatora. To je broj točno klasificiranih piksela koji ne pripadaju
strukturi koju tražimo podijeljen s brojem ukupnih piksela koji ne pripadaju strukturi koju
tražimo. Vrijednosti specifičnosti također se kreću u intervalu od 0 do 1, gdje 0 označava da je
klasifikator pogrešno klasificirao sve piksele koji ne pripadaju strukturi, a 1 označava da ih je
sve klasificirao ispravno. Formalan zapis izgleda ovako:
17
[ ]
[ ]
gdje je ukupan broj piksela koji pripadaju strukturi koju želimo detektirati, a ukupan broj
piksela koji ne pripadaju strukutri koju želimo detektirati.
Podešavanjem parametara algoritma, možemo povećati osjetljivost, ali smanjiti specifičnost i
obrnuto. U pravilu, optimalno je da i osjetljivost i specifičnost imaju čim veće vrijednosti.
Upravo optimizacija sume pogrešnih pozitivnih i pogrešnih negativnih ne mora nužno značiti
optimalni kompromis između osjetljivosti i specifičnosti. U najvećem broju slučajeva GP
uspijeva maksimizirati samo jedan od tih pokazatelja.
Varijacija funkcije dobrote koja daje dobre rezultate uzima u obzir trenutno stanje dobrote i po
potrebi skalira broj pogrešnih negativnih opisana je u [12]. Formalna definicija funkcije
izgleda ovako:
{ (
)}
gdje je ukupan broj piksela koji pripadaju strukturi koju treba detektirati, a je parametar
ovisan o domeni problema koji predstavlja maksimalni dopušteni postotak promašaja u
detekciji tražene strukture. (tipično, [ ]). Ako je dovoljno manji od ,
dobrota je približno jednaka , tj. GP pokušava minimizirati broj lažnih detekcija. S druge
strane, ako je veći od , dobrota je približno jednaka , tj. GP pokušava
minimizirati broj promašaja.
7. Razvojna okolina
Zbog mogućnosti brzog implementiranja različitih rješenja, programsko rješenje
implementirano je u programskoj okolini MATLAB ®. Budući da MATLAB ne sadrži
ugrađene alate za genetsko programiranje, korišten je GPLAB, besplatno dostupan skup
18
MATLAB skripti i funkcija za optimizaciju genetskim programiranjem objavljen pod GPLv2
licencom. [13]
GPLAB podržava samo skalarne terminale te cijeli skup podataka za učenje ima zapisan u
matrici veličine gdje je broj uzoraka za učenje, a broj terminala i u originalnom
obliku se ne može upotrijebiti nad slikovnim podacima pa je bilo potrebno modificirati dio
funkcija kako bi se kao terminali mogle staviti i matrice. Također, zbog takve organizacije
podataka, GPLAB svoje performanse temelji na brzim operacijama nad matricama i nije
eksplicitno paraleliziran. Međutim, za potrebe evaluacije dobrote jedinki koje u stablu koriste
zahtjevne operacije nad slikama, paralelizacija je vrlo korisna. Najjednostavniji način
paralelizacije je uvesti konvenciju da se prilikom računanja dobrote svake jedinke paralelizira
računanje dobrote za svaku sliku iz skupa za učenje. Iako se dobiva značajno ubrzanje, to nije
optimalan način. MATLAB u implementaciji paralelne for petlje koristi instanciranje novih
MATLAB Worker-a, a svi oni trebaju imati vlastite podatke za evaluaciju. Kada se za svaku
jedinku pozove paralelna petlja računanja dobrote nad slikama, MATLAB kopira sve slike
onoliko puta koliko ima Worker instanci, i tako svaki put za svaku jedinku što daje veliki
dodatni trošak. Pametniji način paralelizacije je da se upotrijebi paralelizacija evaluacije svake
jedinke u generaciji, no bila je potrebna dodatna modifikacija GPLAB-a da se uklone sve
međuovisnosti jedinki i jezgre GPLAB-a kako bi se spriječila nepotrebna dodatna kopiranja
konteksta.
8. Prijašnji pokušaji
Prvobitna ideja uključivala je isti skup funkcija, ali u skupu terminala nalazio se niz slika nad
kojima je bio primijenjen box filtar s različitim veličinama prozora. Box filtar je konvolucijski
slikovni filtar u kojem svaki piksel rezultantne slike ima vrijednost jednaku prosječnoj
vrijednosti susjednih piksela u originalnoj slici.
Vrlo poznata činjenica u području obrade slika kaže da se veliki razred slikovnih filtara može
aproksimirati kombiniranjem ispravno posmaknutih i skaliranih box filtara. Na primjer, prema
19
središnjem graničnom teoremu, ako se box filtar primijeni 3 puta na istu sliku, rezultantna
slika je vrlo dobra aproksimacija Gaussovog zamućenja s pogreškom manjom od 3%.
Ova činjenica nimalo nije pridonijela rješavanju problema
detekcije plućnih čvorića jer je algoritam brzo stao s
konvergencijom. Eksperimenti su se sastojali od niza
pokretanja algoritma s različitim parametrima na vrlom malom
skupu uzoraka od samo 4 slike. Konačna vrijednost dobrote
nikad nije padala ispod 1500, a rezultat evaluacije bio je skup
naizgled nasumičnih bijelih piksela na većinskoj crnoj podlozi
od kojih je vrlo mali broj zapravo pripadao čvoriću.
9. Rezultati
Prilikom prvog pokretanja algoritma, trebalo je istražiti koji parametri daju obećavajuće
rezultate za temeljitije pokretanje. Pokrenuto je po 10 eksperimenata na 4 slike koristeći 100,
500, 1000 i 3000 jedinki u populaciji, a isti eksperiment je pokrenut s 5 ručno izabranih
terminala i svim dostupnim terminalima što ukupno zajedno daje 80 pokretanja algoritma.
Broj generacija fiksno je postavljen na 40. Zbog MATLAB-ovog ograničenja evaluacije izraza
predstavljenog kao niza znakova na maksimalno 32 ugniježđene operacije, maksimalna dubina
stabla postavljena je upravo na taj iznos. GPLAB prvo pretražuje kompozicije stabala manje
duljine pa iz generacije u generaciju postepeno povećava dopuštenu dubinu sve do
maksimalne vrijednosti u potrazi za boljim rješenjem.
Iz rezultata inicijalnog pokretanja mogu se izvesti neki zaključci:
Brzina konvergencije drastično raste s brojem jedinki u populaciji
Nema velikih razlika u konačnoj dobroti između različitih pokretanja s istim
parametrima
Slika 6 - Jedan od rezultata
prijašnje metode, crvenim
kružićem označena je lokacija
stvarnog čvorića
20
Ručno izabrane značajke nemaju prednost nad korištenjem svih značajki jer GP
uspješno izdvaja relevantne značajke
Za izabrane značajke pokretanjem na populaciji od 100 jedinki minimalni iznos dobrote
dobiven u svih 10 eksperimenata iznosi 282.18 i drastično pada s većom populacijom te iznosi
60.27 za populaciju od 500, 32.27 za populaciju od 1000 i 11.18 za populaciju od 3000
jedinki.
Slika 7 - Dobrota najbolje jedinke tijekom različitih pokretanja algoritma s istim parametrima. Pokrenuto na
skupu s izabranim značajkama i populacijom od 100 jedinki
0
100
200
300
400
500
600
700
800
900
1000
1 2 3 4 5 6 7 8 9 10
Dobrota
Dobrota
21
Slika 8 - Dobrota najbolje jedinke tijekom različitih pokretanja algoritma s istim parametrima. Pokrenuto na
skupu s izabranim značajkama i populacijom od 500 jedinki
Slika 9 - Dobrota najbolje jedinke tijekom različitih pokretanja algoritma s istim parametrima. Pokrenuto na
skupu s izabranim značajkama i populacijom od 1000 jedinki
0
50
100
150
200
250
1 2 3 4 5 6 7 8 9 10
Dobrota
Dobrota
0
50
100
150
200
250
300
1 2 3 4 5 6 7 8 9 10
Dobrota
Dobrota
22
Slika 10 - Dobrota najbolje jedinke tijekom različitih pokretanja algoritma s istim parametrima. Pokrenuto na
skupu s izabranim značajkama i populacijom od 3000 jedinki
Slika 11 – Maksimalna, minimalna i prosječna dobrota najbolje jedinke nakon 40 generacija pokretanja algoritma
s različitom veličinom populacije i izabranim značajkama.
Slični rezultati dobiju se i za korištenje svih značajki. Za 100 jedinki, minimalna dobrota
iznosi 271.64, za 500 jedinki iznosi 56.64, za 1000 jedinki iznosi 46.27 te za 3000 jedinki
iznosi 9.27 što je neznatno bolje od najboljeg rezultata dobivenog s izabranim značajkama.
0
10
20
30
40
50
60
1 2 3 4 5 6 7 8 9 10
Dobrota
Dobrota
0
100
200
300
400
500
600
700
800
900
1000
100 jedinki 500 jedinki 1000 jedinki 3000 jedinki
Dobrota
Max
Prosjek
Min
23
Slika 12 - Dobrota najbolje jedinke tijekom različitih pokretanja algoritma s istim parametrima. Pokrenuto na
skupu sa svim značajkama i populacijom od 100 jedinki
Slika 13 - Dobrota najbolje jedinke tijekom različitih pokretanja algoritma s istim parametrima. Pokrenuto na
skupu sa svim značajkama i populacijom od 500 jedinki
0
100
200
300
400
500
600
700
1 2 3 4 5 6 7 8 9 10
Dobrota
Dobrota
0
50
100
150
200
250
1 2 3 4 5 6 7 8 9
Dobrota
Dobrota
24
Slika 14 - Dobrota najbolje jedinke tijekom različitih pokretanja algoritma s istim parametrima. Pokrenuto na
skupu sa svim značajkama i populacijom od 1000 jedinki
Slika 15 - Dobrota najbolje jedinke tijekom različitih pokretanja algoritma s istim parametrima. Pokrenuto na
skupu sa svim značajkama i populacijom od 3000 jedinki
0
50
100
150
200
1 2 3 4 5 6 7 8 9 10
Dobrota
Dobrota
0
10
20
30
40
50
60
70
80
1 2 3 4 5 6 7 8 9 10
Dobrota
Dobrota
25
Slika 16 - Maksimalna, minimalna i prosječna dobrota najbolje jedinke nakon 40 generacija pokretanja algoritma
s različitom veličinom populacije i korištenim svim značajkama.
Zanimljivo je pogledati i usporedbu konvergencije algoritma kod korištenja različitih veličina
populacija. Za populaciju od 100 jedinki, algoritam teško izlazi iz lokalnog optimuma, i
nerijetko u njemu ostane do kraja evaluacije, dok se za populaciju od 3000 jedinki vidi brzo
poboljšanje u inicijalnim generacijama te usporavanje konvergencije nakon otprilike 10.
generacije.
0
100
200
300
400
500
600
700
100 jedinki 500 jedinki 1000 jedinki 3000 jedinki
Dobrota
Max
Prosjek
Min
26
Slika 17 - Usporedba konvergencije algoritma s različitim veličinama populacije. Na slici je prikazana
konvergencija s populacijama od 100 i 3000 jedinki.
Nakon relativnog uspjeha na skupu za učenje od 4 slike, algoritam je pokrenut i na skupu za
učenje od 100 slika nasumično izabranih iz baze rentgenskih slika. Iako dobrota brzo
konvergira, rezultati nisu toliko impresivni.
0
200
400
600
800
1000
1200
1400
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39
Dobrota
100 jedinki
3000 jedinki
27
Slika 18 - Prikazana je promjena iznosa dobrote tijekom pokretanja algoritma na skupu za učenje od 100 slika i
3000 jedinki.
Konačan iznos dobrote iznosio je 28.27, a zapis jedinke izgleda ovako:
shiftleft(min(minus(F3,minus(F1,min(F3,F5))),shiftleft(min(minus(minus(shiftleft(minus(shift
left(F2),div(shiftleft(minus(div(F3,F4),shiftup(div(shiftleft(F5),div(F5,F4))))),F4))),shift
up(shiftleft(F2))),minus(min(F1,shiftleft(F1)),min(F5,F5))),min(min(minus(minus(shiftleft(F1
),shiftup(0.91996)),minus(min(F1,minus(shiftleft(F2),div(shiftleft(minus(div(F3,F4),shiftup(
div(shiftleft(F5),div(F5,max(shiftup(min(0.73616,shiftup(F1))),max(0.32866,shiftright(F4))))
)))),F4))),min(F3,F5))),min(minus(minus(shiftup(F3),minus(F5,minus(multiply(shiftleft(minus(
F5,0.53619)),shiftright(shiftright(plus(shiftup(F3),shiftright(shiftup(shiftleft(shiftup(F3)
))))))),shiftup(shiftleft(F3))))),shiftup(shiftleft(shiftup(shiftleft(F3))))),shiftright(min
us(shiftleft(F5),minus(F5,minus(multiply(shiftleft(minus(F5,0.53619)),shiftright(shiftright(
plus(shiftup(F3),shiftright(minus(minus(shiftup(F3),minus(F5,minus(multiply(shiftleft(minus(
F5,shiftleft(F2))),shiftright(shiftright(plus(shiftup(F3),shiftright(F3))))),shiftup(shiftle
ft(F3))))),shiftup(shiftleft(shiftup(shiftleft(F3)))))))))),shiftup(shiftleft(F3)))))))),min
(minus(shiftup(div(F4,shiftleft(F3))),div(shiftleft(minus(div(F3,F4),shiftup(div(0.94859,div
(F5,F4))))),F4)),shiftright(minus(minus(shiftleft(F1),shiftup(minus(plus(shiftup(plus(multip
ly(F3,F1),F1)),minus(F2,multiply(plus(F3,F1),shiftleft(F3)))),min(shiftdown(minus(shiftleft(
F1),0.78554)),0.82711)))),minus(F1,shiftleft(F5))))))))))
0
200
400
600
800
1000
1200
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39
Dobrota
Fitness
28
gdje označava iz skupa terminala s Haralickovim značajkama.
Slika 19 - Nasumično odabrane slike iz skupa za učenje od 100 snimki i njihovi pripadni čvorići. Na gornjim
slikama nalazi se maska čvorića za pojedinu snimku, a na donjim izlaz klasifikatora.
Slika 20 - Najbolja jedinka prikazana u obliku stabla
29
Na manjem skupu slika iz skupa za testiranje koje klasifikator nikad nije vidio, pokrenuta je
evaluacija i izračun dobrote. Na najboljem stablu dobivenom s 4 slike u skupu za učenje,
prosječna vrijednost dobrote na skupu za testiranje iznosi 1137.64. Isto je provedeno i za
stablo dobiveno učenjem na 100 slika i iako to stablo ima lošije rezultate na skupu za učenje,
na skupu za testiranje postiže bolje rezultate s dobrotom od 724.11.
Slika 21 – Primjer maski čvorića i dobivenih rezultata iz skupa za testiranje. Slike na lijevoj polovici
predstavljaju rezultate dobivene algoritmom sa skupom za učenje od 4 slike, a slike na desnoj polovici rezultate
dobivene algoritmom sa skupom za učenje od 100 slika. Na gornjoj slici se nalazi tražena maska čvorića, a na
donjoj rezultat izvršavanja.
30
Slika 22 - Odnos dobrote evaluirane na skupu za učenje i skupu za testiranje. x-os predstavlja dobrotu na skupu
za učenje, a y na skupu za testiranje. Slika prikazuje rezultate dobivene algoritmom sa skupom za učenje od 4
slike.
Slika 23 - Odnos dobrote evaluirane na skupu za učenje i skupu za testiranje. x-os predstavlja dobrotu na skupu
za učenje, a y na skupu za testiranje. Slika prikazuje rezultate dobivene algoritmom sa skupom za učenje od 100
slika.
0
200
400
600
800
1000
1200
1400
1600
0 10 20 30 40 50 60 70 80
Odnos dobrote između skupa za učenje i skupa za testiranje
Stablo GP-a
0
200
400
600
800
1000
1200
1400
0 20 40 60 80 100 120 140 160
Odnos dobrote između skupa za učenje i skupa za testiranje
Stablo GP-a
31
10. Zaključak
U ovom radu istražena je metoda za segmentaciju plućnih čvorića na rentgenskim slikama
pluća. Skup za učenje i evaluaciju izdvojen je iz standardne baze rentgenskih snimki
Japanskog radiološkog društva (JSRT) koja sadrži ukupno 247 snimki. Snimke su unaprijed
procesirane kako bi se izdvojila regija pluća, definirale maske plućnih čvorića i izjednačio
kontrast metodom ujednačavanja histograma. Nakon toga, snimke su podvrgnute analizi
teksture korištenjem matrica prostorne ovisnosti sivih tonova i pomoću konstruiranih matrica
izračunate su Haralickove teksturne značajke.
U provedenim eksperimentima pokazano je da algoritam drastično povećava brzinu
konvergencije s porastom veličine populacije. Također, ručno izabrane značajke nisu pomogle
pronalasku boljeg rješenja budući da GP vrlo često uspije automatski izdvojiti i koristiti
upravo ručno izabrane značajke. Algoritam je pokrenut i nad većim skupom uzoraka za učenje
te također pokazuje dobru konvergenciju, ali rezultati nisu previše impresivni. Algoritam
pokazuje bolju generalizaciju na skupu za ispitivanje s povećanjem broja slika u skupu za
učenje.
Moguća poboljšanja uključuju veću paralelizaciju algoritma za bržu evaluaciju, temeljitije
ispitivanje optimalnih parametara, korištenje nekih novih funkcija i terminala te eventualno
bolji način izračuna završne maske te primjenu kompliciranijih filtara nad krajnjom maskom
za uklanjanje šuma.
32
11. Literatura
1. G. P. Murphy, W. Lawrence Jr., and R. E. Lenhard Jr., Clinical Oncology,
Washington, DC: Amer. Cancer. Soc., 1995
2. J. D. Steele, W. P. Kleitsch, J. E. Dunn, and P. Buell, “Survival in males with
bronchogenic carcinomas resected as asymptomatic solitary pulmonary nodules”,
Annotation Thoracic Surg., vol. 2, pp. 368-376, 1996.
3. P. E. Buell, “The importance of tumor size in prognosis for resected
bronchogeniccarcinoma”, J. Oncological Surg., vol. 3, pp. 539-551, 1971.
4. Karacan, Ö., O. Altas-İbiş, Ş. Edremit, Ö. Akkoca, F. Tell-Eyüboğlu and M. Çoşkun,
"Chest Radiography and the Solitary Pulmonary Nodule: interobserver Variability, and
Reliability for Detecting nodules and calcification," J Radiol May (online publication),
(2002).
5. Shiraishi J, Katsuragawa S, Ikezoe J, Matsumoto T, Kobayashi T, Komatsu K, Matsui
M, Fujita H, Kodera Y, and Doi K.: Development of a digital image database for chest
radiographs with and without a lung nodule: Receiver operating characteristic analysis
of radiologists’ detection of pulmonary nodules. AJR 174; 71-74, 2000
6. Campadelli P., Casiraghi E. (2005). Lung Field Segmentation in Digital Postero-
Anterior Chest Radiographs. In: S. Singh, M. Singh, and C. Apte (Eds.). International
Conference on Advances in Pattern Recognition (ICAPR 2005): Proceedings. Bath
(UK), August 22-25, 2005. vol. 3687, pp. 736-745, Springer-Verlag Berlin-Hedelberg,
ISBN: 9783540288336, doi: 10.1007/11552499_81
7. Robert M. Haralick, K Shanmugam, Its'hak Dinstein (1973). "Textural Features for
Image Classification". IEEE Transactions on Systems, Man, and Cybernetics. SMC-3
(6): 610–621.
8. Eizan Miyamoto and Thomas Merryman. Fast calculation of haralick texture features,
2005.
9. G. S. Cox and F.J. Hoare and G. De Jager (Member IEEE), Experiments in lung cancer
nodule detection using texture analysis and neural network classifiers, 1992
33
10. John R. Koza, Genetic Programming: On the Programming of Computers by Means of
Natural Solution, MIT Press, 1992.
11. John R. Koza, Genetic Programming II: Automatic Discovery of Reusable Programs,
MIT Press, Cambridge, Massachusetts, 1994.
12. R. Poli. Genetic programming for feature detection and image segmentation. In Terry
Fogarty, editor, Proceedings of the AISB'96 Workshop on Evolutionary Computation,
Lecture Notes in Computer Science, vol. 1143, pages 110-125, Brighton, April 1996.
Springer.
13. Silva S, Almeida J (2003): GPLAB - A Genetic Programming Toolbox for MATLAB.
In Gregersen L (ed), Proceedings of the Nordic MATLAB Conference (NMC-2003),
273-278
34
Sažetak
U ovom radu predlaže se pristup segmentacije plućnih čvorića na rentgenskim slikama pluća
koristeći genetsko programiranje za otkrivanje optimalnih slikovnih filtara koristeći
Haralickove teksturne značajke. Prvo je na RTG snimkama izdvojeno područje pluća te
definirane maske koje predstavljaju položaje čvorića na snimkama. Sve slike su normalizirane
metodom poravnjanja histograma i na njima je provedena teksturna analiza koristeći matrice
prostornih ovisnosti sivih tonova. Iz takve matrice izvučene su Haralickove značajke kao ulaz
u klasifikator. Genetskim programiranjem pokušava se konstruirati filtar koji nakon primjene
thresholda daje binarnu matricu što sličniju matrici maske plućnog čvorića. Ostvareni rezultati
ne približavaju se razinama ljudskog eksperta. Istraživanje na području genetskog
programiranja za analizu slike ograničeno je velikom potrebom za računalnom snagom
prilikom izračuna funkcije dobrote, no velika poboljšanja čak i kod male promjene parametara
vode do zaključka da postoji veliki prostor za napredak na tom području.
Ključne riječi: Genetsko programiranje, Radiologija, Plućni čvorići, Segmentacija slika,
Matrice prostornih ovisnosti sivih tonova, Haralickove teksturne značajke
35
Summary
This paper presents an approach to lung nodule segmentation based on the idea of using
genetic programming (GP) to discover optimal image filters using Haralick's texture features.
Lung region is extracted from chest radiographs and lung nodule masks representing nodule
areas were defined. Segmented area was normalized by histogram equalization methods and
normalized images were used for constructing gray level co-occurence matrices for texture
analysis. Haralick's features were computed from co-occurence matrix and used as the input to
a classifier. Genetic programming was applied to discover filters which, when applied to an
image, would give a binary matrix that approximates the original lung nodule mask. Reported
classifier performance is lower than human expert's performance. The research on genetic
programming for image analysis is hampered by the large demand of computational resources
involved in fitness evaluation. However, the impressive improvements after only slight
parameter changes indicate that there is a huge space for further improvement in this area.
Keywords: Genetic programming, Chest radiography, Lung Nodules, Image segmentation,
Co-occurence matrices, Haralick's texture features