39
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.

DETEKCIJA MALIGNIH TVOREVINA NA RTG...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 3206 DETEKCIJA MALIGNIH TVOREVINA NA RTG SNIMKAMA …

  • 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