-
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