Diplomaterv Orbán Gergely
2009.
BUDAPESTI MSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK
DIPLOMATERV FELADAT (ezt adják. . . ) Orbán Gergely szigorló villamosmérnök hallgató részére (nappali tagozat villamosmérnöki szak)
Mellkasröntgen-felvételek elemzésére alkalmas foltkeres® eljárások vizsgálata (a feladat szövege a mellékletben)
A tervfeladatot összeállította és a tervfeladat tanszéki konzulense: dr. Horváth Gábor egy. docens
A záróvizsga tárgyai:
Els® tárgy Második tárgy Harmadik tárgy
A tervfeladat kiadásának napja: A tervfeladat beadásának határideje:
dr. Görgényi András adjunktus, diplomaterv felel®s
A tervet bevette: A terv beadásának dátuma: A terv bírálója:
dr. Péceli Gábor egyetemi tanár, tanszékvezet®
Melléklet Mellkasröntgen-felvételek elemzésére alkalmas foltkeres® eljárások vizsgálata Itt következik a részletes feladatkiírás Szintén el®re készen van, itt csak a helyet hagyjuk ki.
dr. Horváth Gábor egy. docens
Nyilatkozat Alulírott Orbán Gergely, a Budapesti M¶szaki és Gazdaságtudományi Egyetem hallgatója kijelentem, hogy ezt a diplomatervet meg nem engedett segítség nélkül, saját magam készítettem, és a diplomatervben csak a megadott forrásokat használtam fel. Minden olyan részt, amelyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelm¶en, a forrás megadásával megjelöltem.
Orbán Gergely hallgató
Tartalomjegyzék Kivonat
XIII
Abstract
XV
1. Bevezet®
3
1.1. A tüd®rák felismerésének jelent®sége . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2. Számítógépek alkalmazása a felismerésben . . . . . . . . . . . . . . . . . . . . . .
4
1.3. A mellkasröntgen-felvételek jellegzetességei . . . . . . . . . . . . . . . . . . . . . .
5
1.4. A keresett foltok természete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.5. A projekt célja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2. Szakterületi áttekintés
9
3. A foltkeres® rendszer áttekintése
13
3.1. Rendszer áttekint® leírása, lépések . . . . . . . . . . . . . . . . . . . . . . . . . .
13
3.2. A rendszer rövid specikációja . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
4. A foltkeres® rendszer részletes ismertetése
17
4.1. El®feldolgozás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
4.1.1. Wavelet alapú zajsz¶rés . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
4.1.2. Medián sz¶r® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4.1.3. Illesztett sz¶r® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
4.1.4. Lokális kontraszt kiegyenlít® sz¶r® . . . . . . . . . . . . . . . . . . . . . .
20
4.2. Jelöltkeres®k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.2.1. Average Fraction Under the Minimum . . . . . . . . . . . . . . . . . . . .
21
4.2.2. SBF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
4.3. A jelöltkiválasztó algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.4. Körvonalazó . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
4.5. Képjellemz®k kinyerése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
4.5.1. Textúra jellemz®k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
4.5.2. Geometriai jellemz®k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.5.3. Zernike momentumok . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.5.4. Gauss deriváltak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.5.5. Gauss második deriváltak . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.5.6. Jelöltkeres®kre épül® jellemz®k . . . . . . . . . . . . . . . . . . . . . . . .
38
IX
X
TARTALOMJEGYZÉK 4.6. Osztályozás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.6.1. Az osztályozó . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.6.2. Az osztályozó implementáció . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.6.3. Adatok el®készítése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.6.4. Dimenzió csökkentés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.6.5. Paraméterezés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.6.6. Hasonló jelöltek eldobása . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
4.7. Szimmetria vizsgálat alapú utófeldolgozás . . . . . . . . . . . . . . . . . . . . . .
42
4.7.1. Keresztkorreláció alapú ellenpont keresés . . . . . . . . . . . . . . . . . . .
43
4.7.2. Fourier transzformáció alapú regisztráció . . . . . . . . . . . . . . . . . . .
44
4.7.3. Wavelet alapú regisztráció . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
4.7.4. Hamis pozitívak sz¶rése . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
4.7.5. A szimmetriavizsgálat helye a rendszerben . . . . . . . . . . . . . . . . . .
47
5. Tesztelés
49
5.1. A teszteléshez felhasznált anyagok . . . . . . . . . . . . . . . . . . . . . . . . . .
49
5.1.1. A JSRT adatbázis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
5.1.2. További teszteléshez használt röntgenképek . . . . . . . . . . . . . . . . .
51
5.2. A jelöltkeres®k teljesítménye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
5.2.1. AFUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
5.2.2. SBF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
5.3. A jelöltkeres®k fúziójának vizsgálata . . . . . . . . . . . . . . . . . . . . . . . . .
53
5.4. Jelöltkiválasztó hangolásának eredményei
. . . . . . . . . . . . . . . . . . . . . .
53
5.5. Végs® eredmények . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
5.5.1. A vizsgálati módszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
5.5.2. Az osztályozás eredményei . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
5.5.3. Foltok nehézsége szerinti vizsgálat . . . . . . . . . . . . . . . . . . . . . .
56
5.5.4. Az el®sz¶r®k teljesítménye . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
5.5.5. Körvonalazó hatásának vizsgálata . . . . . . . . . . . . . . . . . . . . . . .
58
5.5.6. Dimenziócsökkentés hatásának vizsgálata . . . . . . . . . . . . . . . . . .
59
5.5.7. Szimmetriavizsgálat eredményei . . . . . . . . . . . . . . . . . . . . . . . .
62
5.5.8. Futási id® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
5.6. A rendszerrel folytatott speciális vizsgálatok . . . . . . . . . . . . . . . . . . . . .
64
5.6.1. Egyéb röntgenképek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
5.6.2. Kulcscsontárnyék nélküli képek . . . . . . . . . . . . . . . . . . . . . . . .
65
5.6.3. Bordaárnyék nélküli képek . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
5.7. Lehet®ségek a rendszer teljesítményének javítására . . . . . . . . . . . . . . . . .
73
6. Az elkészült alkalmazás 6.1. Az alkalmazás leírása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7. Összegzés
75 75
77
Függelék
79
F.1. A C# alkalmazás felhasználói leírása . . . . . . . . . . . . . . . . . . . . . . . . .
81
F.2. A kétdimenziós wavelet transzformáció . . . . . . . . . . . . . . . . . . . . . . . .
81
F.3. SVM elmélet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
Ábrák jegyzéke
84
Rövidítések
87
Kivonat A tüd®rák napjaink egyik leggyakoribb és legveszélyesebb betegsége, ugyanakkor id®ben felismerve nagy eséllyel gyógyítható. Kimutatásának kézenfekv® módja a mellkasröntgen-felvétel alapú diagnózis, melyet többek között tüd®sz¶r® vizsgálatoknál alkalmaznak. A vizsgálat során egy nagyfelbontású, szürkeárnyalatos erny®kép áll rendelkezésre. A felismerési feladat igen nehéz, hiszen a képen a keresett rosszindulatú daganat különösen változatos formákban jelenhet meg. Ezenfelül a felvétel anatómiai zajjal pl. csontok, szív árnyékai terhelt. Mindeközben a diagnózist végz® orvosok id® és er®forráshiánnyal küzdenek, így indokolt egy döntésüket támogató, röntgengépbe integrált számítógépes rendszer kifejlesztése. Munkám célja egy olyan algoritmuscsalád kialakítása, mely képes a kóros elváltozásokra utaló lágyrészárnyékok megtalálására. Megvizsgáltam nagy mennyiség¶ felvételt, majd orvosokkal való konzultációk eredményeképp összegy¶jtöttem a keresett elváltozások jellegzetességeit. A foltkeres® eljárások fejlesztése manapság intenzíven kutatott terület, ezért részletes irodalomkutatást végeztem a létez® eljárások felderítésére. Ezt követ®en megterveztem egy saját rendszert, mely két jól elkülöníthet® lépésben igyekszik a problémát megoldani. Az els® lépésben a felvételeken számos képfeldolgozási algoritmust alkalmazok a zajok sz¶résére, a keresett foltok kiemelésére, kigy¶jtésére és szegmentálására. A fontosabb algoritmusokat kiemelve például zajmentesítésre wavelet transzformáció alapú megoldást használok, a foltok láthatóbbá tételére pedig a csúszó sáv sz¶r®t (sliding band lter SBF) alkalmazom. A második fázisban gépi tanulási, azon belül kernel módszerek végzik a foltok kórosságának eldöntését. A kapott osztályozási feladathoz nagy mennyiség¶ jellemz®t használok fel. Ezeket többek között a foltok textúra és geometria analízise során állítom el®. A hamis találatok számának csökkentését egy wavelet alapú regisztrációt alkalmazó szimmetriavizsgálat segíti. Az elkészült rendszert teszteltem magyarországi sz¶r®vizsgálatokról származó képeken, valamint egy világszerte elfogadott publikus adatbázison, melyet a Japán Radiológiai Közösség (Japanese Society of Radiological Technology JSRT) készített. Utóbbi segítségével tudtam mérni az algoritmusaim teljesítményét, és az összesített eredményeket össze tudtam vetni az irodalomban talált korábbi módszerekkel. A JSRT adatbázison a valódi elváltozások 65%-át ismerte fel az algoritmus, képenként 4 hamis találatot adva. Ezzel megoldásom közel áll a jelenleg publikált legjobb rendszerekhez. Rendelkezésemre álltak továbbá olyan felvételek, melyekr®l a csontok árnyékait automatizáltan letörölték. Ilyen képeket használva további jelent®s javulást tapasztaltam. A fejlesztés még nem tekinthet® befejezettnek, hiszen az eredmények és az algoritmusok is teret engednek a további javulásnak. Összességében azonban kijelenthet®, hogy az elkészített alkalmazás képes az orvosok segítésére a képek elemzése során. Jelenlegi állapotában is alkalmas lehet egy sz¶r®vizsgálaton történ® alkalmazásra, a területen újonnan kipróbált algoritmusok pedig kés®bbi, hasonló fejlesztések számára is hasznosak lehetnek.
Abstract Lung cancer is one of the most dangerous and deadly diseases of our time. However, it can be cured, if diagnosed early. The analysis of chest radiographs is the most common diagnostic method that can be used also as a screening method. Here the diagnosis is made with the help of a high resolution grayscale image of the chest. The problem is extremely dicult due to the variety of nodule shapes and the eect of anatomic noise, such as the shadow of bones or the heart. Furthermore the radiologists have to cope with the shortage of time and resources, thus an x-ray integrated computer aided decision support system can greatly improve their performance. The goal of my work is to develop an embeddable Computer Aided Detection (CAD) system to detect cancerous tumors on chest radiographs. At the beginning of my work, I analyzed a great amount of images and consulted physicians to collect the features of lung nodules to detect. Cancer detection has recently been a hot-topic, so I made a comprehensive eld study to collect existing solutions. Then I designed an own two step solution. In the rst step several image processing algorithms are responsible for noise suppression, nodule enhancement, candidate selection and segmentation. For example I utilize the wavelet transform for noise reduction and the sliding band lter (SBF) for nodule enhancement. The second step uses machine learning methods, specically kernel methods to determine the malignancy of candidates. The classier relies on various features from texture and geometry analysis. I also implemented an image registration based symmetry analysis for the reduction of false candidates. The registration step uses the wavelet transform to cut complexity. I have tested the system on images from Hungarian lung screenings and on the public standard database made by the Japanese Society of Radiological Technology (JSRT). The latter enabled me to measure performance, and compare it with other studies around the world. My system recognized 65% of real nodules with a false positive rate of 4 per image, producing comparable results with best published solutions. Additionally with the help of an external system I have run tests on radiographs without the shadow of bony structures. I experienced a slight improvement of performance on these images. The algorithms and the results can be further enhanced, thus the project is not nished. However, it can already aid physicians at making diagnoses of radiographs, so it can be employed at screening stations. Furthermore some of the algorithms that are in a novel use in this eld can be useful for later developments in nodule detection.
Köszönetnyilvánítás Köszönöm témavezet®mnek, dr. Horváth Gábornak a témaválasztáshoz és a munkám elkészítéséhez nyújtott segítségét és útmutató tanácsait. Köszönöm a segítségét Máday Péternek, aki segített számos algoritmus felkutatásában és elkészítésében, illetve hogy használhattam az általa elkészített rendszerkomponenseket. Köszönöm a segítségét Simkó Gábornak, akinek közrem¶ködésével el tudtam végezni a kulcscsontárnyékmentes vizsgálatokat. Köszönöm a segítségét Horváth Áronnak, aki rendelkezésemre bocsátotta a bordaárnyékmentes képeket. Köszönöm az Innomed Medical Zrt. segítségét a céleszközök rendelkezésre bocsátásáért. Köszönettel tartozom az orvosoknak a konzultációkért, illetve a projekt többi résztvev®jének, akik munkájukkal megteremtették a számomra szükséges alapokat. Köszönöm a segítségét Püspöki Zsuzsannának és mindazoknak, akik tanácsokkal és javítási ötletekkel láttak el a fejlesztés során.
1
1. fejezet
Bevezet® 1.1. A tüd®rák felismerésének jelent®sége A fejlett világban egyre komolyabb probléma a különböz® rákbetegségek elterjedése. Mindezek között az egyik legjelent®sebb a tüd®rák. Az Egyesült Államokban, Nyugat Európában, valamint Magyarországon is a tüd®rák felel®s a legtöbb rákos megbetegedés okozta halálesetért. Hazánkban évente mintegy tízezer emnberben alakul ki a betegség, ebb®l közel nyolcezer halálos kimenetel¶. Sajnálatos módon az Európai Unióban Magyarországnak vannak a legrosszabb megbetegedési és halálozási statisztikái a népességszám arányában, ez az 1.1. ábrán is szembet¶n®. A nagy halálozási arány leginkább a kés®i felismerés következménye. Mint a legtöbb ráktípus esetében, itt is életment® jelent®ség¶ lehet a betegség korai, még tünetmentes állapotban történ® kimutatása. Ilyenkor a betegnél még semmi küls®, vagy érezhet® jel nem utal a daganat meglétére, éppen ezért egyedül sz¶r®vizsgálaton van esély megtalálni. A legtöbb rákos eset ebben a fázisban még gyógyítható, tehát korai felismeréssel és kezeléssel a betegek gyógyulási esélyei lényegesen javíthatók [3, 4, 5, 6, 7]. A cél tehát egy nagy tömegeknél, tehát sz¶r®vizsgálatként alkalmazható módszer megalkotása, mellyel a korai stádiumú betegségeket nagy biztonsággal ki lehet mutatni. Számos vizsgálati módszer létezik, mellyel a tüd®rákot még tünetmentes stádiumban fel lehet ismerni. A képalkotó eljárásokat tekintve az ún. magas érzékenység¶
1
eljárások ilyenek,
például a Computer Tomography (CT), a Positron Emission Tomography (PET), ezek kombinációja, a PET-CT vagy a Magnetic Resonance Imaging (MRI). Ezek ugyan nagyon hatékonyak könnyen kimutatható velük az elváltozás de számos probléma merül fel velük kapcsolatban, ha sz¶r®vizsgálatként szeretnénk alkalmazni ®ket. A CT-nél például a nagy sugárdózis veszélyt jelenthet a vizsgált személy számára. Egy rendszeres CT sz¶r®vizsgálat nem elhanyagolható mértékben növeli a rákbetegség kialakulásának kockázatát. A PET eljárással pedig önmagában nem határozható meg az elváltozás pontos helye. Az MRI vizsgálatnál kizáró ok lehet egy szívritmus szabályozó vagy valamilyen fém implantátum, melyek viszont épp a betegségnek jobban kitett korosztályban gyakoribbak. A legf®bb probléma azonban az összes eddig említett eljárással, hogy nagyon drágák. A gépek megvásárlása és fenntartása komoly költséget jelent. Ez az egész fejlett világban probléma, Magyarországon pedig különösen nagy gondot jelent. 1
Az érzékenység egy vizsgálat során a megtalált elváltozások és az összes elváltozás hányadosa
3
4
1. FEJEZET. BEVEZET
1.1. ábra. Tüd®rák megbetegedési (balra) és halálozási (jobbra) arányok az EU országokban 2006-ban. Forrás: [1, 2]. A mellkasröntgennel kapcsolatban azonban nem merülnek fel az említett hátrányok. A felvételek készítése nagyságrendekkel kisebb sugárterhelést jelent a CT-nél [8], így különösebb kockázat nélkül például évente elvégezhet®. Alkalmazásánál nincs kizáró ok, valamint hazánk meglév® sz¶r®hálózattal is rendelkezik. A sz¶r®állomásokon alkalmazott röntgenkészülékeket eredetileg nem a tüd®rák, hanem a tuberkulózisos (TBC) megbetegedések felderítésére alkalmazták, azonban használhatók és használják is ®ket rákdiagnosztikai célra.
1.2. Számítógépek alkalmazása a felismerésben A mellkasröntgen számos el®nye mellett problémát jelent, hogy az orvosok és a radiológusok számára igen nehéz rajta az elváltozások kimutatása. A mellkasröntgen-felvételeket a nagyon nehezen, ha nem a legnehezebben elemezhet® hagyományos felvételtípusként tartják számon. Ennek oka, hogy különösen változatos alakú és s¶r¶ség¶ anatómiai struktúrák árnyékait tartalmazza. A kezdeti stádiumú, parányi elváltozások felderítése a jelenleg elterjedt kisméret¶ analóg felvételeken rendkívül nehéz, és mivel a leletezés során rövid id® alatt nagy mennyiség¶ képet kell diagnosztizálni, a korai fázisban kisz¶rt betegek száma csekély. A hatékonyságot növeli a nagyfelbontású, digitális mellkasfelvételek készítését biztosító korszer¶ eszközök megjelenése, melyek számítógépes diagnosztikai eljárások alkalmazását is lehet®vé teszik. Ezek az eljárások kétféle megközelítésb®l próbálják megoldani a rákfelismerés problémáját [9]. Kezdetben a teljesen automatizált számítógépes felismerés (Automated Computer Diagnosis) volt az elterjedtebb nézet, de hamar nyilvánvalóvá vált, hogy a jelenlegi technológiákkal és tudással nem lehet az orvosokkal versenyre kelni a felismerés hatékonyságában. Ehelyett a számítógép által támogatott diagnózis, illetve detektálás, elterjedt nevén CAD (Computer Aided Diagnosis, vagy Computer Aided Detection) paradigma vált elfogadottá. Itt a számítógép feladata segíteni az orvost, így javítva a felismerés hatékonyságát, növelve a feldolgozható esetek számát és csökkentve az orvos terhelését. A CAD, mint detektálás csak az elváltozások megkeresésében, a támogatott diagnózis az elváltozások min®sítésében is segít.
1.3. A MELLKASRÖNTGEN-FELVÉTELEK JELLEGZETESSÉGEI
5
Egyes becslések szerint egy átlagos sz¶r®vizsgálat során az elváltozások kevesebb, mint 40%-át találják meg az orvosok, de még jó min®ség¶ képekkel és korszer¶ digitális röntgengéppel dolgozva sem érik el a 70%-ot. Az esetek 90%-ában pedig a kóros elváltozás hónapokkal vagy évekkel a felfedezése el®tt látható a korábban készült röntgenképeken, tehát már hamarabb felismerhet® lett volna [10]. Az orvosok által a sz¶r®vizsgálatok során elkövetett hibákat két f® osztályba sorolhatjuk. Els® fajú hibának nevezhetjük, amikor a diagnózist végz® egy kóros esetet hamisan nem kórosnak ítél meg, ezek a fals vagy hamis negatívak. A másodfajú hiba épp az ellentéte, azaz egy nem kóros esetet kórosnak ítél meg a vizsgáló, ezek a fals vagy hamis pozitívak. A kett®b®l egyértelm¶en az els®fajú hiba a súlyosabb, hiszen a beteg életébe kerülhet, de a másodfajú hibának is komoly következményei lehetnek. A páciensre indokolatlanul gyakorolt megrázó lélektani hatás, a további vizsgálatok veszélyei és magas költsége miatt indokolt a hamis pozitív találatok számának alacsonyan tartása. Az els®fajú hibák esetén háromféle alesetet különböztethetünk meg [10]. El®fordul, hogy az orvos szeme átfut az elváltozás felett, nem veszi észre azt. A második eset, hogy megvizsgálja az adott területet, de nem ismeri fel az elváltozásra utaló jeleket. A harmadik esetben felismeri az elváltozás jellemz®it, de rosszul méri fel az eset súlyosságát, és elveti a találatot. Kutatások igazolják, hogy egy CAD rendszer, még ha meg sem közelíti az orvos hatékonyságát, már javíthatja az ered® teljesítményt [11, 12, 13, 14, 15]. Mindezt úgy érheti el, hogy inkább több gyanúsnak vélt területet megjelöl az orvos számára, aki ezekb®l ki tudja sz¶rni a tényleges elváltozásokat. Így nagyobb gyelmet kaphatnak olyan területek is, melyeken a vizsgálódó átfutott volna az id® rövidsége miatt. Az is segíthet, ha egy adott területet a gép hatására jobban megvizsgál az orvos. Így az els®fajú hibák száma csökkenthet®, leginkább annak els® és második alesetében. Más kutatások azt állítják, hogy egy felismer® algoritmus számára más típusú foltok számítanak nehezen felismerhet®nek, mint az orvos számára [16]. Egy ilyen esetben még alacsonyabb érzékenységnél is van esély számos olyan foltot megtalálni, melyek egyébként a vizsgáló személy számára nehezen kivehet®k lennének.
1.3. A mellkasröntgen-felvételek jellegzetességei A keresend® elváltozás elemzése el®tt célszer¶ megvizsgálni a feldolgozandó mellkasröntgenfelvételeket. Egy tipikus röntgenkép látható az 1.2. ábrán. Önmagát a felvételt tekintve, ez származhat digitális, illetve analóg röntgenkészülékb®l is. Utóbbi esetben a számítógépes feldolgozáshoz szükséges a felvételek digitalizálása, ami általában nagyfelbontású lapolvasóval történik. Mindkét esetben a végleges kép mérete jellemz®en 4-10 millió képpontot tartalmaz. A kép szürkeárnyalatos, a színmélység 8-16 bit, de utóbbi esetben jellemz®en csak az 12 legfontosabb bit tartalmaz hasznos információt. A kép anatómiai tartalmát tekintve a legfontosabb, hogy teljes egészében látszik a két tüd®fél. Mivel elölnézeti (posterior to anterior PA) felvételr®l van szó, a bal tüd®fél a kép jobb oldalán látható. A tüd® f®bb részei: középen helyezkedik el a tüd®kapu, alul a rekeszi oldalt a bordai felszín, felül pedig a tüd®csúcs. Néhány f®bb, a továbbiakban használt tájékozódási pont a felvételeken: a tüd® területén haladnak keresztbe a kulcscsontok, illetve a bordák, melyeknek megkülönböztetjük a hátsó és els® szakaszát. A felvétel jobb oldalán látható a szív, továbbá
6
1. FEJEZET. BEVEZET
1.2. ábra. Egy tipikus PA mellkasröntgen-felvétel. A rövidítések jelentése: bt bal tüd®fél, ebí els® bordaív, gr gerinc, hbí hátsó bordaív, jt jobb tüd®fél, kcs kulcscsont, lcs légcs®, rí rekeszív, sz szívárnyék. alul húzódik a rekeszív, középen pedig a gerinc és a légcs® (trachea) látható. A tüd® területén látszanak a hörg®k továbbá számos kapilláris. Láthatjuk tehát, hogy rengeteg információ található ezeken a képeken, melyekb®l minél többet fel kell dolgoznunk. A helyzetet nehezíti a felvételek sokfélesége. A tüd® alakja az egyes esetekben igen változatos. Továbbá ugyanazon ember két eltér® id®ben készült felvételen más alakot mutat például a testtartás különböz®sége miatt. A ferde testtartás id®nként jelent®s aszimmetriát okozhat. Ezeken felül el®fordul olyan eset, amikor az egyik tüd®fél részlegesen vagy teljes egészében nem dierenciálható. Utóbbira látható példa az 1.3. ábrán. Ekkor bizonyos területek nagyon homályosak, vagy egyáltalán nem látszanak a részletek. Egy átlagos felvétel elemzése is nehéz feladat az orvosok számára, egy ilyen eset pedig különösen sok odagyelést igényel.
1.4. A keresett foltok természete Az egészséges felvételek után vizsgáljuk meg a keresett elváltozást, a tüd®rákot. Általánosságban a rák kialakulásának oka a sejtciklus m¶ködésének meghibásodása néhány sejtben. Ez intenzív, szabályozatlan sejtszaporulatot eredményez, melynek hatására egy s¶r¶bb közeg, azaz daganat alakul ki. A beteg halálát közvetve ennek a daganatnak a növekedése és továbbterjedése okozza. A tüd®rákra utaló elváltozások tehát a környezetüknél s¶r¶bb közegek, melyek az egyenletes növekedés következtében jellemz®en gömbszer¶ek. Bels® szerkezetük igen változatos, határvonaluk elmosódó lehet. Ezek a daganatok 1-6 cm körüli átmér®vel rendelkeznek és szigorúan a tüd® határain belül helyezkednek el [17]. Az általam vizsgált pozitív röntgenképen sötét körszer¶ árnyékot vetnek, melynek intenzitása csak minimálisan tér el a környezetét®l. A folt határvonala leggyakrabban éles és tagolatlan, de el®fordul a környezetével jobban egybemosódó, tagolt határvonalú eset is. Ha elváltozást találtunk, meg kell állapítani, hogy az valóban kóros-e, vagy csak egy jóindulatú, halállal nem fenyeget® elváltozásról van szó. Egy folt 3 cm-es átmér® felett mindig kórosnak
1.5. A PROJEKT CÉLJA
7
1.3. ábra. Egy mellkasröntgen-felvétel, ahol a jobb tüd®fél részlegesen nem dierenciálható, továbbá a testtartás is igen ferde. Az ilyen képek elemzése különösen nehéz, bár az eset kórossága itt egyértelm¶. tekinthet®, de a kisebb méret¶ekr®l már meglehet®sen nehéz feladat döntést hozni. Orvosokkal való konzultációk tapasztalata, hogy egy sz¶r®vizsgálat során ®k sem törekszenek az elváltozás feltétlen besorolására a triviális esetekt®l eltekintve. Inkább további vizsgálatoknak vetik alá a beteget, például CT képet készítenek róla. Számos esetben ugyanis a röntgenfelvétel alapján nem dönthet® el egy adott elváltozás oka és súlyossága. Éppen ezért a fejlesztend® rendszer is els®dlegesen az elváltozások megkeresésére irányul, nem pedig a kórosság megítélésére.
1.5. A projekt célja Munkám egy nagyobb projekt része, melynek célja egy komplett, sz¶r®vizsgálatra és diagnózisra alkalmas mellkasröntgen alapú rendszer elkészítése. A sz¶r®vizsgálatokon használt digitális röntgengép szoftverével lehetséges lenne a felvétel elkészítése után azon m¶veleteket végezni valós id®ben, melyek segítik a diagnózist. Az alapm¶veleteken felül például nagyítás, kontraszt hangolás különböz® felismer® funkciókat tartalmazna. Cél a lehet® legtöbb olyan betegségre utaló elváltozás megtalálása, mely a mellkasröntgen-felvételen felismerhet®. Ilyenek a különböz® szervek megnagyobbodása, szokásostól eltér® alakja, a tüd® dierenciálhatósága, hegek, rostosodások és a daganatok jelenléte. Ezen elváltozások megtalálását segítik olyan technikák, mint például a tüd® szimmetriájának vizsgálata, tüd®körvonal meghatározása, kulcscsont és bordák árnyékának eltüntetése. A tüd® körvonalának megtalálására [18, 19] és a csontok árnyékának eltüntetésére [20, 96] már készültek jól m¶köd® megoldások a projekt keretében, a most soron következ® lépés pedig a daganatok megtalálása, mely az említett detekciós feladatok közül egyértelm¶en a legfontosabb. A munkám egy számítógéppel támogatott detektálást megvalósító eljárás kidolgozására irányul. A daganatok megtalálására másfél éve kezdtünk el kidolgozni egy eljárást Máday Péterrel. A rendszer egy els® m¶köd® verzióját közösen alkottuk meg a munkát egyenl® arányban meg-
osztva. Ennek leírása megtalálható [21]-ban. A diplomamunkám célja ennek a rendszernek a nomítása, új megoldásokkal való kiegészítése és új vizsgálatok elvégzése kib®vített képkészleteken. A készítend® alkalmazás a diagnosztizáló orvos feladatát szeretné megkönnyíteni egy független vélemény hozzáadásával. A felvételen megjelöli azokat a tartományokat, melyeken rákos elváltozások gyanúja merül fel, ezáltal a diagnosztizáló orvos számára segítséget nyújt a képek min®sítésében. A szoftver bemenetként feltételez egy digitális nagyfelbontású PA röntgenfelvételt, melyen adott a tüd® körvonala2 . A rendszer kimenete a röntgenfelvétel, rajta a feltételezett elváltozások bejelöléseivel. A következ® fejezetben az vonatkozó irodalom áttekintése során szerzett tapasztalataimat ismertetem. Ezek után megpróbálok egy áttekint® képet adni a rendszerr®l. A negyedik fejezetben részletesen bemutatom a rendszer egyes összetev®it, ismertetve az azokban alkalmazott algoritmusokat. Az ötödik fejezet az elkészült rendszerrel folytatott mérésekr®l szól, azaz hogyan teljesít a gyakorlatban a felvételeken. A hatodik fejezetben végül röviden bemutatom a kipróbálásra szánt felhasználói felületet.
2
A projekt keretein belül már készült tüd®körvonal detekciós megoldás
2. fejezet
Szakterületi áttekintés A területet kutatók között sokan vállalkoztak már az eddigi megoldások összegy¶jtésére [9, 10, 22, 23, 24]. A következ®kben ezekt®l eltér® stílusban foglalom össze az eddigi eredményeket a számítógépes tüd®rák diagnózisban. Célom bemutatni, hogy a foltkeresés egyes lépéseire milyen különböz® módszerek léteznek, melyek szinte tetsz®leges összeállításban alkalmazhatók lennének. A nyolcvanas évek végt®l számos tanulmány foglalkozik rákos elváltozások keresésével mellkasröntgen-felvételeken. A rendszerek néhány kivételt®l eltekintve [25] általában egyféle sémát követnek, más részletmegoldásokat alkalmazva. Ez a séma két alapvet® lépésb®l áll [22]. El®ször tisztán képfeldolgozó eljárásokkal, különböz® típusú sz¶r®kkel, esetleg egy folt modell alapján kiemelnek nagy számú, gyanús területet esetleg azok határvonalával együtt. A második lépésben a területekr®l számolt képjellemz®k alapján egy osztályozó segítségével eldöntik, hogy azok valós elváltozások-e, vagy sem. A legtöbb megoldás a régebbiek között szinte mindegyik a jelöltek kiemeléséhez egy különbségképet állít el®. Ez általában egy foltelnyomott és egy foltkiemelt kép különbsége, melyen a keresett objektumok jobban elkülönülnek a környezetükt®l. A folt elnyomása vagy kiemelése történhet például medián sz¶r®vel, morfológiai m¶veletekkel, egy ún. illesztett (matched) sz¶r®vel [26], a folt proljának illesztésével [27], vagy más mintafelismer® algoritmusokkal. El®fordul, hogy több különbségképet is el®állítanak, és a kés®bbiekben csak a találatok metszetét tekintik [28]. Ezenfelül elterjedtek még a több skálán dolgozó jelöltkeres® eljárások [29], melyek a foltot egység méret¶, impulzusszer¶ kiemelkedésnek tekintik a megfelel® méretarányban [30]. Az utóbbi id®ben többen alkalmazták a konvergencia index (Convergence Index CI) sz¶r®család egyes tagjait, például az adaptív gy¶r¶ sz¶r®t (Adaptive Ring Filter) [31] vagy a SBF-et [32]. El®fordulnak egyéni megoldások is, például az osztott ablak sz¶r® (Fragmentary Window Filter) [33], az átlátszatlan alakzat sz¶r® (Opaque Object Filter) [34], vagy más csúszóablakos sz¶r®k [35], esetleg gépi látásban felhasznált módszerek [11]. Habár a legtöbben az els® fázisban képfeldolgozási eljárásokat használnak, léteznek más megoldások is, ahol a jelölteket egy kisfelbontású képen neurális hálózattal keresik [36, 37], vagy a jelöltállítás során már felhasználnak geometriai jellemz®ket is [26]. A kutatások egy része az eddigiekt®l eltér®en kihagyja ezt a fázist, azaz el®re kijelölt területekkel dolgozik és csak a második fázis tökéletesítésére koncentrál [38, 39]. Kevés m¶ foglalkozik a folt körvonalának megkeresésével, ennek ellenére itt is változatos megoldások léteznek. Elterjedtek a gradiens képen keres® wavelet snake alapú módszerek [40, 41], 9
10
2. FEJEZET. SZAKTERÜLETI ÁTTEKINTÉS
illetve el®fordulnak több skálán keres® eljárások [42], esetleg távolságfügg®, adaptív körvonalak [8]. Léteznek megoldások, ahol nem használnak explicit módon osztályozást a hamis pozitívak sz¶résére [43], de a módszerek szinte mindegyike bevet valamilyen osztályozó algoritmust. Bár régebben elterjedtek voltak a szabály alapú szakért® rendszerek [44], a kilencvenes évekt®l kezdve a legtöbben mesterséges neurális hálózatot (Artical Neural Network ANN) alkalmaznak. Több esetben el®fordul, hogy a kett®t egyszerre használják [45, 46]. Létezik olyan megoldás is, mely több, az egyes folttípusokhoz különböz® ANN-t alkalmaz [47]. Nagy számban el®fordulnak más gépi tanulási módszerek, például a szupport vektor gépek (Support Vector Machine SVM) [48, 49], a Fischer féle lineáris diszkrimináns osztályozó (Fischer Linear Discriminant classier FLD) [8], a konvolúciós neurális hálók (Convolution Neural Network CNN) [50, 51]. Léteznek statisztikai módszereket felhasználó megoldások is [52]. Érdekes tendencia, hogy az újonnan megjelent hatékony rendszerek között számos használ egyszer¶, lineáris vagy kvadratikus osztályozót a legkülönböz®bb tanítási algoritmusokkal [16, 8]. Az ilyen osztályozók robusztussága és könnyebb paraméterezhet®sége vonzó szempont lehet a tárgyterületen. El®fordulnak egyedi megoldások is, ahol néhány hamis pozitív mintával közvetlenül, korreláció segítségével hasonlítják össze a jelöltet, és a hasonlóságok alapján osztályoznak [53]. Egy másik módszer, mely eltér a hagyományos gépi tanulási módszerekt®l, a szimmetria alapú osztályozás. Ekkor a vizsgált jelöltnek megkeresik a megfelel®jét az ellenkez® tüd®félben. Ezzel összehasonlítva megállapítják, hogy szimmetrikus, normál struktúrát találtak-e, vagy aszimmetrikus, feltehet®leg rendellenes struktúrát. Az összehasonlítás el®tt érdemes a két oldalt minél jobban egymáshoz igazítani, erre léteznek modell alapú [54] és wavelet transzformáció alapú [55, 56] eljárások is. Az osztályozás célját tekintve a legtöbb megoldás azt t¶zi ki csupán, hogy megkülönböztesse a valódi elváltozásokat a normál tüd®struktúráktól. Néhány megoldás [57, 58], arra is vállalkozik, hogy az elváltozásokat min®sítse, mint jóindulatú, vagy rosszindulatú csomók. Ez igen nehéz feladat, hiszen legtöbbször az orvosok sem tudnak döntést hozni kizárólag a mellkasröntgen felhasználásával. Még nehezebb feladat egy teljes diagnózis megalkotása, ahol például a betegség típusát kell meghatározni [59]. Az osztályozók bemenetének megválasztása is igen sokrét¶. A legtöbb megoldás származtatott jellemz®ket ad át az osztályozónak és ezen jellemz®k számát 5 és 200 között tartja, de van olyan megoldás is, ahol a folt minden egyes pixelértékét felhasználják [60]. Számos jellemz® épül a folt geometriájára [61], intenzitás proljára [62], a textúra statisztikai jellemz®ire [16], pozíciójára, azaz a szomszédos anatómiai struktúrákra [63]. Sokan felhasználják különböz® sz¶r®k kimeneteit, például morfológiai sz¶r®két [64], Gauss deriváltakat és a Laplace sz¶r®t, Gabor kernelt [65]. Léteznek fraktál alapú [66, 67], Fourier transzformált képb®l dolgozó [31, 68], wavelet alapú [69] vagy a határvonal gradiensének hisztogramját gyelembe vev® [70] jellemz®k is. A rendelkezésre álló jellemz®k kiválasztása is nehéz feladat, mellyel számos m¶ közvetlenül is foglalkozik [71]. Meg kell még említeni a több képpel dolgozó eljárásokat is. Néhány esetben rendelkezésre áll egy laterális nézet is, mely a tüd®t oldalról mutatja. A két képen talált foltokat ilyenkor megfeleltetik egymásnak, és csak a mindkét nézetb®l láthatóakat tartják meg [72]. Ezen módszerek használata korlátozott, hiszen normál sz¶r®vizsgálat során jellemz®en nem készül laterális
11 felvétel, egyrészt a magasabb sugárterhelés, másrészt a megnövekedett id®igény miatt. Több képpel dolgozó eljárások az id®beli elváltozás alapú megoldások is, ahol az adott betegr®l készült korábbi felvétellel hasonlítják össze az aktuális képet, így detektálják az újonnan keletkez® foltokat. Ebben a témában is számos megoldás született [73, 74], melyek ugyan hatékonyak, de feltételezik egy korábbi felvétel meglétét. Az egyes képekhez használt eltér® beállítások, a páciens kissé eltér® pozíciója további nehézségeket jelenthet a képek közötti különbség meghatározásakor. Az ilyen problémákat képregisztrációs eljárásokkal oldják meg, mely algoritmusok fejlesztése szintén igen kutatott terület. Az egyes alkalmazások eredményeit gyakran igen nehéz összevetni egymással, mivel a szerz®k jellemz®en valamilyen saját röntgenkép-adatbázis használatával dolgoznak. Azonban néhány esetben mégis lehet®ség nyílik az eredmények összevetésére, ugyanis egyre többen alkalmaznak nyilvánosan elérhet® képadatbázisokat. Ezen adatbázisok el®nye, hogy hiteles eredményekhez elegend® mennyiség¶ képet tartalmaznak, valamint a bemutatott esetek is változatosak. A képekhez gyakran diagnózis, valamint az elváltozások pontos leírása is rendelkezésre áll. A legelterjedtebb ezek közül a JSRT által készített adatbázis [75] (ld. 5.1.1. fejezet). A nyilvános adatbázisokon tesztelt jobb eljárások nagyságrendileg hasonló eredményeket mutatnak: képenként négy hamis pozitív találat mellett 60-70%-os érzékenységet tudnak elérni. Az érzékenységet a következ®képpen deniáljuk:
Sensitivity =
#T P , #T P + #F N
(2.1)
ahol az orvosi nyelvezetben használatos terminológiát használjuk, azaz a valós pozitívak
T P a megtalált valódi elváltozások, a hamis negatívak F N a nem megtalált elváltozások, a hamis pozitívak F P azon találatok, melyek igazából nem elváltozások. Az egyes rendszerek összehasonlítását azonban azonos adatbázis és fogalomrendszer mellett is fenntartásokkal kell kezelni. Eltér®ek lehetnek ugyanis azon feltételek, melyekkel egy találat helyességét min®sítik a szerz®k. Például néhány esetben a kóros terület egy kis részének megjelölése is valós pozitív találatnak számít, míg mások szigorúbb feltételekkel min®sítik rendszerüket. Ez a tapasztalataim szerint is jelent®sen befolyásolhatja a számszer¶ végeredményt és annak min®ségét. Az eredmények közlésében is lehetnek eltérések. A legelterjedtebb teljesítmény jellemz® a free-response receiver operating characteristic (FROC) görbe használata, ahol az érzékenységet ábrázolják a képenkénti fals pozitívak számának függvényében [76]. Elterjedt még a hagyományos receiver operating characteristic (ROC) görbe használata, ami viszont nem az egész rendszer hatékonyságát jellemzi valóságh¶en, csupán az osztályozó min®sítésére alkalmas. Eltérés mutatkozik abban is, hogy az egyes rendszerek keresnek-e foltot a tüd® árnyékolt területein. Ezek érdekesek lehetnek, hiszen a szívárnyék és a rekeszív alatti területen is el®fordulhatnak elváltozások. A legtöbb megoldás az ilyen eseteket nem veszi gyelembe, ennek ellenére létezik olyan rendszer, mely megfelel® szegmentálás és egy sz¶r® lépés után hatékonyan megoldja a foltkeres® feladatot a tüd® jól látható területén kívül is [16]. A 2.1. táblázatban a jelenlegi leghatékonyabb, publikus rendszerek teljesítménye látható a teljesség igénye nélkül. Számos kutatás vizsgálja az ehhez hasonló teljesít®képesség¶ foltkeres®k hatását az orvosok teljesítményére [77, 13, 78, 15, 79, 80]. Abban mindegyik egyetért, hogy ha az orvos saját véleményéhez felhasználja a gép jelöltjeit, akkor összességében jobb eredményt érhet el az érzékenység
CAD rendszer Hardie et al. (2008) Pereira (2007) Shiraishi et al. (2006) Ginneken et al. (2005) Coppini et al. (2003) Freedman et al. (2002) Wei et al. (2002)
Képenkénti FP-k száma 2 4.3 5 5 2 4 4.3 5 5.4
Érzékenység 57.8 71.4 60 70.1 51 67 60 66 80
Megjegyzés
nem csak JSRT*
nem JSRT
2.1. táblázat. Néhány újabb foltkeres® rendszer teljesítményének összehasonlítása *: Egy saját adatbázist használt, illetve a JSRT adatbázisnak csak azon képeit, ahol a folt a tüd® határvonalán belül helyezkedett el. és képenkénti hamis pozitívak arányában. Így a rendszerek hasznossága egyértelm¶. Összevágnak a vélemények abban is, hogy inkább a rejtettebb elváltozások esetében segítenek többet az orvosnak ezek a programok. Abban már nem teljes az egyezés, hogy inkább a gyakorlatlan, vagy inkább a gyakorlott orvosokat segítik-e jobban a rendszerek.
3. fejezet
A foltkeres® rendszer áttekintése 3.1. Rendszer áttekint® leírása, lépések A foltkeres® algoritmus a következ® folyamatban helyezkedik el. A páciensr®l elkészül egy röntgenfelvétel, mely közvetlenül eljut a készülékhez tartozó feldolgozó számítógépbe. Itt az els® lépésben meghatározásra kerül a két tüd®fél körvonala, majd el®áll a képnek egy kulcscsont- és bordaárnyék nélküli változata. A keletkezett körvonal maszkja és beállítástól függ®en az eredeti vagy a csontárnyék-mentesített röntgenkép a fejlesztett foltfelismer® bemenetére kerül. Ez bejelöli a képen az elváltozásokat, és a bejelöléseket egy kész kép vagy maszk formájában a röntgengép megjelenít® rendszerének továbbküldi. A megjelenít®n az orvos eldöntheti, hogy kirajzoltatja-e a bejelöléseket, vagy sem. Ezek után a gyanús területeket kinagyíthatja a részletesebb vizsgálat érdekében. A foltfelismer® algoritmus bels® m¶ködése a szakirodalomban számos helyen bevált sémát követi, mely két f® lépésb®l áll [22]. Az els® fázisban tisztán képfeldolgozó eljárásokkal foltgyanús területeket keres, majd a második fázisban ezeket a jelölteket sz¶ri gépi tanulási módszerekkel. A következ®kben a két fázist bontom kisebb alfeladatokra, melyek a 3.1. ábrán is láthatók. Az els® fázis több lépésb®l tev®dik össze. A rendszer legel®ször dekódolja a bemeneti felvételt képpontmátrix formátumra, illetve el®állít egy alulmintavételezett változatot is, melyen a kés®bbi eljárások nagyobb része fut. Ezek után következik egy el®sz¶rés, mely egyszer¶ képfeldolgozási eljárásokkal kontrasztosabbá, jobban láthatóvá teszi a foltot. Az így kapott képen fut le egy komplexebb sz¶r®, melynek kimenetén az egyes pixelértékek azt jelölik, hogy az adott pont környéke mennyire hasonlít egy el®zetes foltmodellre. Tulajdonképpen ekkor is szimpla kiemelésr®l van szó, de itt a sz¶r® megalkotásakor a folt jellegzetességeit is gyelembe kell venni. A leginkább foltszer¶ pontok körül meghatározásra kerül egy körvonal, ilyen módon el®állnak az els® fázis végleges jelöltjei. Az itt keletkez® jelöltek száma jellemz®en nagyon magas akár a százat is elérheti de ideális esetben a valós foltok nagy hányada köztük van. A rendszer esetében ez 80-90%. A második fázisban a jelölt területekhez a rendszer kiszámít számos jellemz®t, melyek vonatkozhatnak a körvonal geometriai jellemz®ire, a vélt folt textúrájára, különböz® sz¶r®k kimenetére és egyéb származtatott adatokra. Ezek a jellemz®k egy sokdimenziós vektorként egy osztályozó bemenetére kerülnek, mely az el®re betanított esetek alapján eldönti, hogy egy adott jelöltet 13
foltnak tekinthetünk-e. Az így kapott pozitív találatok körvonalát kell az utolsó lépésben megjeleníteni.
3.2. A rendszer rövid specikációja A felismer® rendszer bemenete jelenleg egy 2048 × 2048 pixel felbontású, pixelenként 16 bites szürkeárnyalatos kép Portable Network Graphics (PNG) szabványú formátumban a pozitív röntgenképpel, és 2db legalább 512 × 512 pixel felbontású bináris PNG kép, mely a két tüd®fél maszkját tartalmazza. 1 pixel a röntgenfelvételen 0.175 mm távolságnak felel meg az eredeti méretben. A bemeneti röntgenfelvételre láthatunk példát az a 3.2. ábrán. A kimenet egy azonos paraméterekkel rendelkez® kép, melyre a jelenlegi verzióban xen rá van rajzolva az elváltozások körvonala. A kimeneti képen lev® bejelöléseknek tartalmaznia kell az 5-35 mm átmér®j¶ daganatos elváltozások lehet® legnagyobb részét, minél kevesebb hamis találat mellet. A futási id®nek egy klinikai vizsgálat során elfogadhatónak kell lennie.
Tüdômaszk
Mellkasröntgen
Rendszer Elôszûrés (alulmintavételezés) Jelöltkeresô (CI/AFUM) Orvosi bejelölések Értékelô alrendszer Minôsített képjellemzôk
Jelöltkiválasztó
Jellemzô számítás Minôsítô funkciók Osztályozó
Eredménykép
Eredmény statisztika
3.1. ábra. A rendszer felépítése.
3.2. ábra. Egy bemeneti felvétel, a JSRT adatbázis els® képe. A folt a bal tüd®fél 5. bordája felett található.
4. fejezet
A foltkeres® rendszer részletes ismertetése 4.1. El®feldolgozás Mindenek el®tt le kell szögezni, hogy a rendszer pozitív röntgenfelvételeken dolgozik, ahol a s¶r¶bb anatómiai egységek, így a keresett foltok is sötétebbek. A rendszer szempontjából azonban lényegtelen, hogy negatív vagy pozitív felvételeken dolgozik, az algoritmusok mind átparaméterezhet®k. A pozitív képek használatának oka, hogy a bemenet is ilyen formátumú, így számos már korábban implementált algoritmus ezeken a képeken dolgozik. Meg kell jegyezni azonban, hogy az emberi szem számára a negatív felvétel a szerencsésebb, mivel gyelmünk jobban ráirányul a világosabb foltokra. Éppen ezért a röntgengép megjelenít® alrendszere már negatív képeket rajzol ki, mely igény szerint utólag visszainvertálható. A beérkez® képek felbontása a röntgengép esetén változatos lehet, de jellemz®ek a 2000×2000 pixeles és 3000 × 3000 pixeles felbontások, az általam jellemz®en használt JSRT adatbázisban ugyanez 2048 × 2048 pixel. Az eredeti felbontásban az el®feldolgozó algoritmusok melyek futási ideje általában a pixelszámmal egyenesen arányos, illetve egy pixel számítása aránylag hosszú elfogadhatatlanul sokáig futnak. Tapasztalataim szerint a felbontást 512 × 512 pixelre csökkentve mely 2048 × 2048 pixeles képek esetén 1/16-od pixelszámot jelent a futási id® megfelel®en lerövidül, és ebben a felbontásban még jól kivehet®ek a kisebb foltok is a képeken. A leképezést bicubic interpolációval [81] végzem. Így az új pixel az eredeti képen jellemz®en 4 × 4 pixel értékét®l függ, a távolság kvadratikus függvényében. Az algoritmus el®nye, hogy a néhány pixeles zajokat is kisz¶ri. Azért, hogy a megmaradt zajoktól is megszabaduljak, egy wavelet transzformáció alapú sz¶rést is kipróbáltam, melyet a kés®bbiekben részletesebben is ismertetek. Kipróbáltam többféle el®sz¶r® algoritmust a jelöltkeresés el®tt, a zajsz¶résen felül például a medián sz¶r®t, az illesztett (matched) sz¶r®t, vagy a "lokális kontraszt kiegyenlítés" (local contrast enhancement LCE) algoritmust. Ezeket a sz¶r®ket a dierence image technikát alkalmazó megoldások használják leggyakrabban, ahol a folt intenzitásának kiemelése a végcél, mivel közvetlenül ezen lépések után küszöbözési módszerekkel állítják el® a jelölt tartományokat. Jelen esetben részben más a végcél, itt a kés®bbi komplexebb algoritmusok m¶ködését szeretném velük megkönnyíteni. Arra kerestem a választ tehát, hogy egy feldolgozott kép mennyivel javítja, vagy rontja egy foltmodell alapú kiemel® eljárás hatékonyságát. 17
18
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE
4.1.1. Wavelet alapú zajsz¶rés A wavelet transzformáció egyik leggyakoribb alkalmazása a zajmentesítés. Kézenfekv®nek t¶nt tehát, hogy a röntgenképeket is alávessem egy ilyen sz¶résnek. A módszer megértéséhez szükséges a wavelet dekompozíció ismerete, melyet röviden F.2. függelékben ismertetek. Itt a zajsz¶r® algoritmus alapötlete, hogy egy reguláris függvény wavelet felbontásában a aránylag kevés és nagy érték¶ együttható van. A képhez adódó zaj viszont jellemz®en sok, de kicsi együtthatót eredményez. Így ha például elhagyjuk az egy bizonyos küszöb alatti együtthatókat, akkor megszabadulhatunk a zajok nagy részét®l. Az algoritmus lépései tehát: wavelet felbontás számítása, az együtthatók küszöbölése, majd a módosított együtthatókból a kép rekonstruálása. A módszer helyes m¶ködéséhez számos paramétert meg kell választani. Els®sorban a wavelet dekompozíció paramétereit, tehát a felhasznált bázist, illetve a dekompozíció szintjét, ezután pedig a küszöbölés paramétereit. Utóbbit kétféleképpen végezhetjük: ún. kemény küszöbölésnél egyszer¶en egy adott küszöb alatti értékeket nullával tesszük egyenl®vé. A másik megoldás az ún. lágy küszöbölés, ahol a küszöb alatti értékeket ismét nullába képezzük, a küszöb felettieket viszont eltoljuk a nulla irányába a küszöb értékével. Így egy bemenetben folytonos leképezést kapunk, melynek kedvez®bb matematikai tulajdonságai vannak. A zajsz¶réshez a küszöbök értékeit is deniálnunk kell. Ezt minden szint¶ és minden irányú együtthatóra meg kell adni, bár gyakori, hogy az összes küszöb megegyezik. A konkrét esetben a következ® módon határoztam meg a paramétereket. A bázis kiválasztása tapasztalati úton történt, számos verziót kipróbálva, végül szimmetrikus wavleteket (symlet) alkalmaztam. Jó tulajdonságaik közé tartozik, hogy véges tartójúak, ortogonálisak, a tartó mérethez képest maximális elt¶n® momentumuk van és közel szimmetrikusak. Szintén tapasztalati alapon én a tizenegy tartójú, így hat elt¶n® momentumú változatot használtam. A dekompozíció szintjének megválasztásánál gyelembe vettem, hogy a keresett foltok méretükb®l fakadóan a harmadik és negyedik szinten jelennek meg. Azért, hogy ezen foltokat ne t¶ntesse el a zajsz¶rés, a felbontás szintjét kett®re választottam. A küszöbölésnél a lágy változatot alkalmaztam, mert a kemény változattal szingularitások jelentek meg a képen, melyek megzavarták volna a kés®bbi algoritmusokat. Mindkét szintre és minden irányra azonos küszöböt alkalmaztam, melyet az alábbi összefüggésb®l számítottam [82]:
tn =
p 2 ∗ log n ∗ σ,
(4.1)
ahol σ a zaj szórásának becslése medián abszolút szórás (median absolute deviation MAD) módszerrel:
σ=
median(|u|) , c
(4.2)
ahol u az összes wavelet együttható, c pedig egy konstans, jelen beállításban c = 0.6745, [83]-hez igazodva. A 4.1 ábra az abszolút különbségét mutatja a sz¶rt és az eredeti képnek, melyen jól látszik, hogy milyen jelleg¶ struktúrákat szed le az algoritmus. Jól látszik, hogy a foltnál lényegesen kisebb alakzatoktól szabadulunk csak meg, és a folt érintetlenül marad. A zajsz¶rés hatását a felismerésre az 5.5.4. részben ismertetem.
4.1. ELFELDOLGOZÁS
19
4.1. ábra. A zajsz¶rés el®tti és utáni kép különbsége. Jól látszik, hogy sok apró részlet törl®dött, illetve a bordák élei is simítódtak. A nyíllal jelölt terület az eredeti képen egy foltot tartalmazott. Látható, hogy itt nincs nagyobb változás a többi területhez képest, tehát a folt képét sikerült meg®rizni.
4.1.2. Medián sz¶r® A medián sz¶r® egy egyszer¶, nemlineáris, általában zajsz¶résre, vagy poszterizálásra használt algoritmus. Pixelenkénti m¶velet, ahol az eredményképen egy pixel az eredeti képen a neki megfelel® pixel környezetének mediánja. Ilyen módon a környezetb®l kilógó pixelértékeket tudja eltüntetni.
Imed (x0 , x0 ) = median(x, y | (x, y) ∈ R),
(4.3)
ahol R az (x0 , y0 ) környezete, általában egy n × n-es (x0 , y0 ) középpontú négyzet, vagy r sugarú kör. A median függvény pedig a paraméterként kapott elemek rendezés szerinti középs® elemét állítja el®. Az algoritmusnak összességében zajsz¶r® hatása van, melyet a következ® módon használtam fel a folt kiemelésére. A medián sz¶r® környezetét megfelel®en beállítva letörlöm a képr®l a folt méret¶ elváltozásokat. Ezt a képet az eredetib®l kivonva és az eredményt normalizálva megkapom az el®bb letörölt objektumokat. Ezeket az objektumokat hozzáadva az eredeti képhez egy olyan eredményt kaphatunk, ahol pont a keresett foltok t¶nnek ki jobban a környezetükb®l. Ezen a képen tovább dolgozva azonban kiderül, hogy más, anatómiai zajnak tekinthet® objektum is jobban kiemelkedik, tehát a rendszer teljesítményét összességében nem javítja. Amiért mégis említésre méltó, az egyrészt az, hogy a paraméterek nomhangolásával kés®bb hatékonyabbá tehet®, továbbá a kés®bbiekben más módon felhasználom a medián sz¶r®t.
20
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE
4.1.3. Illesztett sz¶r® Az illesztett sz¶r® (matched lter) egy leginkább jelfelismerésben alkalmazott sz¶r®, mely egy el®re ismert jelalakot keres a bemeneten. A jelek korrelációja alapján, a keresett alak helyén a kimeneten egy impulzus jelenik meg. Ezt a m¶ködést a sz¶r® kétdimenziós diszkrét esetben a bemenetnek és a keresett jel x majd y menti tükörképének a konvolúciójával éri el.
I(x0 , y0 ) =
∞ X
∞ X
H(x0 − x, y0 − y)I(x, y),
(4.4)
x=−∞ y=−∞
(4.5)
H(x, y) = S(−x, −y),
ahol S a keresett jelalak. Ha a bemenet a keresend® jel és 0 várható érték¶ Gauss-zaj összege, akkor ez a sz¶r® maximalizálja a jel-zaj arányt
1
[84]. Ebben az esetben könnyedén
meghatározhatnánk a keresett jel, azaz a folt helyét. Mivel itt a foltra leginkább anatómiai zaj adódik, ami nem felel meg a kritériumnak, módosítani kellett az algoritmuson. Így el®ször a képet megsz¶röm a lokális kontraszt kiegyenlít® (Local Contrast Enhancement LCE) algoritmussal, majd utána következhet az eredeti matched lter, ami így már jobb eredményt ad. A folt modelljének egy 40 × 40 pixeles (28 × 28mm) 20 szórású 2 dimenziós Gauss függvény t¶nt optimálisnak. Ez természetesen messze nem fed le minden foltot, de a nagyobbakat igen. Ezzel megsz¶rve a képet ismét megállapítható, hogy kiemel®dtek a foltok, de sok más objektum is, ami viszont általában nehezítette a felismerést. A jelenlegi verzióba így nem került bele ez az el®sz¶rés.
4.1.4. Lokális kontraszt kiegyenlít® sz¶r® Az LCE sz¶r® egy adott területet a sz¶kebb környezete alapján tesz kontrasztosabbá. Minden egyes pixel értéket normalizál az R környezetében lev® intenzitásértékek várható értéke és szórása alapján.
ILCE (x0 , y0 ) =
I(x0 , y0 ) − E(I(x, y) | (x, y) ∈ R) , σ(I(x, y) | (x, y) ∈ R)
(4.6)
ahol E a várható értéket, σ a szórást jelöli, R pedig (x0 , y0 ) egy környezete, mely általában körszer¶. Azt várhatjuk t®le, hogy az elváltozásokat melyek a környezetüknél sötétebb területek az LCE sz¶r® kiemeli, azaz még jobban elütnek majd a környezetükt®l. Tapasztalataim szerint körülbelül 25 × 25 pixeles (17.5 × 17.5 mm) környezetben érdemes vizsgálódni, ami elég nagy, hogy legalább a közepes méret¶ elváltozások beleférjenek a nagyokat amúgy is meg lehet találni , ellenben elég kicsi, hogy a foltnak csak a közvetlen környezete alapján emelje a kontrasztot. Nagyobb környezet esetén ugyanis nagy valószín¶séggel kerülne az adott területre a foltnál is sötétebb objektum, ami jelent®sen rontja az LCE hatását. Javította a teljesítményt, ha a futás el®tt egy 6×6 pixel méret¶ medián sz¶r®vel a kisebb zajokat eltüntettem a képr®l. Az algoritmus kimenetére látható egy példa a 4.2. ábrán. A sz¶r® használatával kapott eredményeket az 5.5.4. részben ismertetem. 1
A jel-zaj arány a jel és a zaj teljesítményének hányadosa.
4.2. JELÖLTKERESK
21
4.2. ábra. Az LCE sz¶r® kimenete a JSRT adatbázis els® képén. A bal tüd® 6. bordája felett jól látható a keresend® folt, bár más objektumok is kiemel®dtek.
4.2. Jelöltkeres®k A rendszer fejlesztése során többféle képfeldolgozó algoritmus is kipróbálásra került. Arra kerestem a választ, hogy melyik emeli ki leghatékonyabban a keresett elváltozást. A legjobb teljesítményt a konvergencia index (Convergence Index CI) sz¶r®család, illetve az minimum alatti hányados átlag (Average Fraction Under the Minimum AFUM) sz¶r® mutatta. Míg el®bbinek változatait sikerrel alkalmazták korábbi tüd®rák keres® eljárásokban [85], utóbbi a eml®rák detektálásában mutatott jó eredményeket [86], de mellkasröntgenképeken való alkalmazására nem találtam példát. A foltkeres® algoritmusok közös vonása, hogy a futásuk eredményeképpen minden egyes képponthoz egy új értéket rendelnek, melyb®l egy új kép keletkezik. Az új értékek egy el®re meghatározott foltmodellel való hasonlóságot jellemeznek, melyek összefüggenek a terület kórosságának valószín¶ségével. A képfeldolgozást követ®en tehát a keletkezett új képen az intenzív területeket kell majd megkeresni, például küszöböléssel. El®ször azonban tekintsük a képfeldolgozó algoritmusokat.
4.2.1. Average Fraction Under the Minimum A minimum alatti hányados átlag (Average Fraction Under the Minimum - AFUM) [86] eljárás egy nemlineáris pixelenkénti leképezés, melyet korábban sikerrel alkalmaztak mammográás feladatokban lágyrészárnyékok keresésére [87]. Ismereteim szerint viszont az algoritmust még nem alkalmazták elváltozások detektálására mellkasröntgen-felvételeken. Az eljárás célja a környezeténél világosabb átalakítás után sötétebb közel kör alakú foltok megtalálása. A keresés alapjául szolgáló folt modell tulajdonképpen egy olyan zárt és konvex
22
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE
4.3. ábra. Az AFUM sz¶r® m¶ködésének illusztrációja. r1 -en belüli maximumot hasonlítja az r2 menti pixelértékekhez. Itt a keresett terület a környezeténél kisebb intenzitású, tehát szükség van az algoritmus invertálására. alakzat, melynek létezik egy középpontja, ahonnan az összes sugár két meghatározott hosszúság között változhat, és maga az alakzat világosabb, mint a környezete. Ez elméletben jól illik a keresett foltra. Az AFUM egy ún. szomszédossági m¶velet (neighbourhood operation), tehát az eredetivel megegyez®, vagy közel megegyez® pixelszámú képet állít el®, ahol minden egyes új pixel értékét a neki megfelel® eredeti pixelb®l, és annak meghatározott környezetéb®l, azaz közeli pixelekb®l számolja. Jelen esetben az új pixel értéket a következ® módon származtatja: a pixelt®l
r2 távolságra elhelyezked® pontoknak kiszámolja azon hányadát, melyek kisebb intenzitásúak, mint az r1 (< r2 ) sugáron belüli pontok intenzitásértékének a minimuma. Ezt ismétli több r1 ,
r2 párra, és veszi a keletkezett hányadosok átlagát, melyb®l kapott [0,1]-beli érték lesz az új intenzitásérték.
IM IN (x0 , y0 , r1 ) = IF U M (x0 , y0 , r1 , r2 ) = IAF U M (x0 , y0 ) =
min
(x1 ,y1 )|d[(x1 ,y1 ),(x0 ,y0 )]
(I(x1 , y1 ))
(4.7)
]{(x, y) | d[(x, y), (x0 , y0 )] = r2 ∩ I(x, y) < IM IN (x0 , y0 , r1 )} (4.8) ]{(x, y) | d[(x, y), (x0 , y0 )] = r2 } X IF U M (x0 , y0 , r1 , r2 ), (4.9) r1 ∈R1 ,r2 =f (r1)
ahol d(p1 , p2 ) jelöli a két pont távolságát, ]() a darabszámot, R1 az r1 által felvett értékek halmazát, f () pedig az r2 számításához használt függvényt. Általában f (x) = x + c ahol c egy konstans. Szemléletesen a hányados akkor lesz magas, ha az r1 sugarú környezet teljes egészében belefér egy világos tartomány belsejébe, míg az r2 sugarú kör már a sötétebb környezet mentén fut végig. Erre látható egy illusztráció a 4.3. ábrán. A többféle r1 és r2 a különböz® sugarú foltok megtalálását segíti. A foltok bejelöléséhez ezek után meg kell keresni azon lokális maximumokat, ahol az intenzitásérték globálisan is magas. Mivel a rendszer pozitív képeken keres elváltozásokat, át kellett alakítani az algoritmust, hogy sötét foltokat találjon meg. A minimum m¶veletet maximumra cserélve és a hányados számításánál a relációt megfordítva elértem a kívánt hatást. Ezek után be kellett hangolni a megfelel® r1 és r2 (lásd fent) értékeket. Több lehet®séget megvizsgálva végül az r1 ∈ {2, 4, 6, 8, 10, 12, 14, 16}
4.2. JELÖLTKERESK
23
és r2 = r1 + 8 beállítás adta a legjobb eredményt. A számok adódnak abból az el®zetes információból, hogy a megtalálandó foltok átmér®je 5-35 mm között változik. Léteznek nagyobb foltok is, de tapasztalataim szerint ezeken belül már el®fordulnak az el®bbi mérettartományba es® gócok, melyek segítségével ki lehet mutatni ®ket. Az eredeti 2048 × 2048 pixeles képeken 1 pixel 0.175 mm-nek felel meg, ebb®l számítható, hogy az alulmintavételezett képen a keresett foltok sugara 3.6 és 25 pixel között változik. A legkisebbeket r1 = 2 beállítás mellett meg lehet találni, hiszen ekkor az általa deniált tartomány teljesen belefér a foltba, és a maximum tényegesen a folt legvilágosabb pixelét fogja jelenteni. r2 = 2 + 8 pedig már teljes egészében a folton kívül fut végig. A legnagyobbakhoz elméletben legalább r1 = 18 beállítás kellene (mert 18-ra már igaz, hogy 18 + 8 > 25), de a tapasztalatok szerint a nagyobb foltokkal így is kevesebb a probléma, a kisebb foltoknál mutatott teljesítményt viszont lényegesen rontja több, nagyobb sugár felvétele az átlagszámítás miatt. Számos apróbb módosítást kipróbáltam a teljesítmény javítása érdekében: az egyes r1 ,r2 sugarakkal kapott eredményekb®l átlag helyett maximumot számoltam, mely néhány képen javította a felismerést, összességében viszont rontott. Az r1 sugarú tartományban nem mindig célszer¶ a legszéls® intenzitásérték kiválasztása, a zajok, illetve a nem pontosan kör alakú foltok miatt. Ezt kezelend® próbáltam enyhíteni a minimum feltételen több módszerrel, például az értékeket rendezve az n-edik értéket választva, de ezek sajnos nem javították a teljesítményt. A foltok környezetének változatosságát kezelend® kipróbáltam, hogy egy adott r1 környezethez két különböz® r2 kerületet vizsgálok, és a két kapott hányados maximumát veszem a kés®bbi számításokhoz. Ezt a módosítást az el®sz¶r® kimenetén megvizsgálva arra jutottam, hogy határozottan jobb teljesítményt nyújt, mint az AFUM algoritmus eredeti változata. Mivel az általa okozott futási id® növekedés még elfogadható volt, ezért ezt a módosítást beépítettem a végleges verzióba.
4.2.2. SBF A másik, jobb teljesítményt mutató jelöltkeres® algoritmus a konvergencia index sz¶r®család, annak is az általam felhasznált változata, a csúszó sáv sz¶r®. A rendszerben egy korábban implementált változatot alkalmaztam [21]. A könnyebb érthet®ség érdekében a következ®kben részletesen ismertetem az algoritmust. A CI sz¶r®k a kép részének foltszer¶ségét a tüd®elváltozások tanulmányozása során kialakított modell gyelembevételével határozzák meg. A CI megközelítés arra a feltételezésre épül, hogy a tüd® rákos elváltozásai a röntgenfelvételeken a háttért®l némileg elkülönül® fényesség¶ sima határvonallal rendelkez® kerek területekként jellemezhet®ek. Az eljárás inkább alapoz a terület körszer¶ségére, mint eltér® fényességére, továbbá jól kezeli az elmosott határokat. Így a nagyon halvány, környezetébe mosódó elváltozások megtalálására is alkalmas. Végeredményben itt is el®áll egy eredménykép, ahol az intenzívebb pixelértékek az el®zetes foltmodellnek jobban megfelel® területeket jelölik. Amennyiben a P (x, y) képen a sz¶r® R tartományán belüli összesen M db. (k, l) pontpárral dolgozunk, a CI érték az alábbi módon számítható.
24
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE
4.4. ábra. Az AFUM sz¶r® eredményképe a JSRT adatbázis els® képén. A folt a nyíllal jelölt helyen, a bal tüd®fél 5. bordája felett található.
4.2. JELÖLTKERESK
25
CI(x, y) =
1 X cos θ(k, l), M
(4.10)
(k,l)∈R
ahol θ(k, l) az (x, y) pontból a (k, l) pontba húzott szakasz és a (k, l) pontbeli gradiens vektor által bezárt szög, R pedig egy (x, y) körüli változatos alakú tartomány. A CI eljárások a felhasználás során több, kisebbnagyobb mértékben eltér® változatban találhatóak meg. Az eltérések leginkább a vizsgált tartomány meghatározásában jelentkeznek. Az eljárás alap változata egy a vizsgált pontból induló körlap mentén értékeli ki az alakot jellemz® függvényt. Ezt a változatot érme sz¶r®nek (coin lter CF) nevezik a tartomány pénzérme szer¶, körlap alakja miatt.
Rcoin = {(u, v) : dist((x, y), (u, v)) ≤ R}
(4.11)
Az elváltozások különböz® mérete miatt az el®bb bemutatott CF algoritmus nem nyújt egyenletesen jó teljesítményt. A túlzottan kis átmér® a nagyobb méret¶ elváltozások esetében ad az optimálisnál rosszabb eredményt, míg a tartomány túlzottan nagy mérete a teljesítmény problémák mellett a kis méret¶ elváltozások detekcióját nehezíti meg. Több lehet®ség kínálkozik a probléma kezelésére. Egyrészt dolgozhatunk egy állandó sz¶r®készlettel, ekkor a vizsgálni kívánt mérettartománynak megfelel®en kialakított átmér®ket használva a különböz® méret¶ elváltozásokat hatékonyabban detektálhatjuk. Azonban ennél a megközelítésnél jobbnak bizonyul, ha a határvonal nem x távolságra helyezkedik el a vizsgált ponttól, hanem a környezeti viszonyoknak megfelel®en adaptív módon kerül megválasztásra. A határvonal megválasztása többféleképpen is lehetséges. Amennyiben csak a kör alakú tartomány átmér®je változhat meghatározott tartományon belül, akkor eredményképpen az ún. Írisz sz¶r®t (Iris lter IF) kapjuk [85]. Azonban mivel az elváltozások igen gyakran ovális alakot vesznek fel, ezért ennél robusztusabb megoldásnak ígérkezik, amennyiben a határvonal nem egy rögzített zárt görbe skálázásával kerül megállapításra, hanem a határvonal az egyes irányokban szabadon mozoghat. Ez az eredményt úgy közelíthet®, hogy a határvonalat az egyes el®re deniált irányokban különböz® mértékben kell eltolni. Így kaphatjuk a legáltalánosabb változatot, a csúszó sáv sz¶r®t (továbbiakban SBF) [85]. Az egyes irányok számának növelésével pontosabb m¶ködést érhetünk el a noman tagolt határvonalú alakzatoknál. Az algoritmus szemléltetése látható a 4.5. ábrán. A végleges rendszerben végül ez a legutóbbi változat (SBF) került implementálásra, mely azonban speciális esetként magában foglalja az összes többit, így általánosabb azoknál. Az új képpont értéke tehát:
SBF (x, y) =
N 1 X Cmaxi , N
(4.12)
i=1
Cmaxi =
max
Rmin ≤n≤Rmax
n+d 1 X cos θim , d m=n
(4.13)
ahol θim az i. kijelölt irányba mutató egységnyi hosszú vektor, és a sugár menti m-edik pontbeli gradiensvektor által bezárt szög.
26
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE
4.5. ábra. Az SBF sz¶r® m¶ködése. Az egyes irányokban a x szélesség¶ tartomány bizonyos határok között szabadon változhat.
4.6. ábra. A CI sz¶r® eredményképe a JSRT adatbázis els® képén. A folt a bal tüd®fél 5. bordája felett található.
4.3. A JELÖLTKIVÁLASZTÓ ALGORITMUS
27
4.3. A jelöltkiválasztó algoritmus A rendszer soron következ® feladata az el®sz¶r®k eredményének felhasználása, azaz jelöltek állítása a második osztályozó fázis számára. Ehhez elkészítettem egy közös értékel® rendszert, mely a jelöltek állításán felül felel®s a végleges programban az osztályozás hívásáért is. Ugyanakkor ezzel az értékel® rendszerrel mérhet®k az egyes el®feldolgozási lépések, illetve az osztályozó teljesítménye is. Mivel a különböz® jelöltkeres® algoritmusok (SBF, AFUM) hasonló eredményképet adnak - azaz az intenzívebb pontok nagyobb valószín¶séggel foltok - ezért egy közös módszerrel a jelöltek kinyerhet®k, melynek pszeudokódja az 1. algoritmus részben olvasható. Az algoritmus a következ® módon fut. Az eredményképen veszem a legintenzívebb pontot, majd körbehatárolom a kés®bbiekben leírt módon. Ezt félreteszem, mint jelöltet, a körvonalon belül letörlöm az eredményképet, majd ismétlem az eljárást. Folytatom ezt addig, amíg el nem érem a leállási feltételt, mely kétféle lehet. Az egyik módban egy adott küszöbszintig gy¶jtöm a jelölteket, tehát amíg azok intenzitása magasabb egy konstans értéknél. Az általam vizsgált más rendszerek ezt a megoldást használják. A másik módban egy el®re meghatározott számú jelöltet gy¶jtök, függetlenül azok intenzitásától. Ez utóbbi megközelítés robusztusabb m¶ködést biztosított, melyet az 5.4. részben ismertetek. A küszöb vagy maximális jelöltszám megállapításakor gyelembe kell venni, hogy az ebben a fázisban megtalált foltok aránya egy fels® korlátot ad az egész rendszer érzékenységére. Emiatt a cél a minél magasabb érzékenység és nem az alacsony hamis pozitív arány elérése. A értékel® rendszernek a jelöltek kiválasztása után két f®bb üzemmódja van. Az els® üzemmód amit a végleges program is felhasznál a megtalált jelölteken kiszámoltatja a jellemz®ket, majd lefuttatja ezeken a jellemz®kön az osztályozót. Egy jelöltre vonatkozó pozitív válasz esetén a találatot megjelöli a kimeneti képen. A második üzemmódban ami a tanítóminták összegy¶jtésére szolgál hasonlóan jár el azzal a különbséggel, hogy az osztályozó futtatása nélkül a kiszámolt jellemz®ket kimenti egy adatbázisba. A képen itt is kérhet® a bejelölés. Amennyiben rendelkezésre áll információ arról, hogy az adott kép tartalmaz-e, és ha igen, hol tartalmaz rákos elváltozást, akkor egy min®sítést (hamis vagy valós) is elment a jellemz®k mellé, mely az osztályozó tanításához szükséges. A min®sítés kialakításához meg kellett határozni valamilyen kritériumot, ami alapján eldönthet®, hogy egy találat megfelel®en pontos-e ahhoz, hogy valós pozitívnak min®sítsem. A gyakorlatban számos módszer használatos, de tapasztalataim szerint a legelterjedtebbek a középpontok távolságát gyelembe vev® mér®számok. Így a min®sítés többnyire független az alkalmazott körvonalazótól. Végül a távolságalapú megoldások egy 25 mm-es változata mellett döntöttem, melyet több helyen is alkalmaztak hasonló rendszerekben [88, 8]. Ez akkor és csak akkor tekinti a bejelölést valódi találatnak, ha a jelölés középpontja legfeljebb 25 mm-es távolságra van az orvos által bejelölt tartomány középpontjától. Az eredmények összevethet®sége érdekében az egész rendszer min®sítésére ezt a feltételt alkalmazom, ellenben tanítóminták készítéséhez nem mindig célszer¶ egy ilyen engedékeny kritérium alkalmazása [8]. A tanítóminták esetében fontosabb, hogy azok jól reprezentálják a keresett objektumot, így amely területnek nem egyértelm¶ a min®sítése, azt inkább érdemes gyelmen kívül hagyni a tanítás során. Kétes esetek alakulhatnak ki például, ha a jelöltkeres® nem teljesen a folt középpontját emeli ki, vagy a körvonalkeres® rá-
28
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE
fut szomszédos alakzatokra. Az egyértelm¶ folt kritériumának megalkotásánál célszer¶nek t¶nt egyrészt a megengedhet® legnagyobb középpont távolságot lecsökkenteni 15 mm-re, illetve más jellemz®ket is gyelembe venni. El®írom, hogy az orvos által bejelölt középpont a körvonalon belül legyen, továbbá hogy ha van orvos által bejelölt körvonala is a foltnak, akkor a területének legalább a felét magába foglalja. Ha ezek teljesülnek, akkor a jelöltet pozitív mintapontnak veszem, ha nem, meg kell vizsgálni egy másik kritériumot az ellenkez®jének eldöntésére. Ha a jelölt távolsága 25 mm-nél nagyobb az orvosi bejelölésnél, továbbá a körberajzolt terület nem tartalmazza a folt középpontját, és az esetleges körvonalak metszete is legfeljebb egytizede a valós folt területének, akkor egyértelm¶en kijelentem, hogy a jelölt nem folt, és felveszem a negatív mintapontok közé. Amennyiben egyik kritérium sem teljesül, akkor az adott jelöltet a tanításhoz nem használom fel, természetesen a teszteléshez igen.
Algorithm 1 A jelöltkiválasztó algoritmus
Iterációszám ⇐ 0 while (MAX(Eredmény kép)> Küszöb AND MÓD == 1) OR (Iterációszám < MaxIterációszám AND MÓD == 2)
do
(X,Y) := MAX_HELY(Eredménykép) FoltMaszk := KÖRVONAL(Eredménykép, (X,Y) ) Eredménykép := TÖRÖL(Eredménykép, FoltMaszk) Jelöltek[Iterációszám] := new Jelölt(X,Y,FoltMaszk) Iterációszám ⇐ Iterációszám + 1
end while for all Jelölt ∈ Jelöltek do
Jellemz®k = Jellemz®számítás(Jelölt) if Üzemmód == végleges then if Osztályozás(Jellemz®) == TRUE then Kimenet ⇐ Jelölt
end if else if Üzemmód == mintagy¶jtés then
Kimenet ⇐ Jelölt if Pozitív_kritérium(Jelölt) == TRUE then ADATBÁZIS ⇐ (Jellemz®k, +1) else if Negatív_kritérium(Jelölt )== TRUE then ADATBÁZIS ⇐ (Jellemz®k, -1)
else
ADATBÁZIS ⇐ (Jellemz®k, üres)
end if end if end for
Az egyes megoldások összevethet®sége érdekében az értékel® rendszer statisztikát készít arról, hogy a valós foltot megtalálta-e, és ha igen, akkor hányadikként, feltéve, hogy az igazi folt helye ismert. Az így kapott sorszám a kimeneti képen is megjeleníthet®. Mindezt megteheti az el®feldolgozó és az osztályozó kimenetén is, így mindkét fázis külön min®síthet®vé válik.
4.4. KÖRVONALAZÓ
29
4.4. Körvonalazó A diagnosztizáló orvos számára, valamint az osztályozás alapjául szolgáló jellemz®k el®állításánál is fontos lehet a gyanús területek határvonalának valamilyen szint¶ feltérképezése. Azonban a felvételeken a folytonos intenzitásváltozás következtében az esetek jelent®s részében nem lehet egyértelm¶ határvonalat kijelölni, ezáltal a feladat helyes megoldása korántsem egyszer¶. Meg kell vizsgálni azt is, hogy a nagy pontosságú határvonal meghatározása mennyiben javítja a rendszer hatékonyságát. Míg egyes kutatásokban nem jelentett mérhet® különbséget egy körvonalkeres® alkalmazása a x sugarú, kör alakú határolással szemben [42], máshol közel 10%-os találati arány növekedésr®l számolnak be a szerz®k [8]. Ez a különbség leginkább abból adódhat, hogy mennyire használnak az egyes rendszerek a körvonalra épül® jellemz®ket, illetve mennyire hatékony körvonalkeres® eljárást használnak. A tárgyalt rendszer számos geometriai jellemz®t felhasznál, tehát indokolt lehet egy megközelít®leg pontos körvonal meghatározása. A feladatra a mammográás elváltozásoknál sikerrel bevetett algoritmust használtam fel, amit a szerz®k legjobb határvonal eljárásnak neveztek el [87]. A módszer a folt középpontjából és annak környezetéb®l indul ki. El®ször megszorozza a képet egy középpontra illesztett Gauss függvénnyel, majd ezt küszöbözi több szinten. Az így kialakult határvonalakból azt tartja meg, amely a leginkább körszer¶, azaz a gradiens vektorok átlagosan a legkisebb szöget zárják be a sugárirányú vektorral. A kiválasztásnál gyelembe veszi a gradiens vektorok nagyságát is, mely el®segíti az élesebb határvonalak megtalálását. A számítás tehát:
Si = {(x, y) ∈ D|Gauss(x, y)I(x, y) ≥ ci } X X r(x, y) G(x, y) kG(x, y)k kr(x, y)k (x,y)∈Si (x,y)∈Si X RGIi = − d kG(x, y)k
(4.14)
(4.15)
(x,y)∈Si
Contour = ∂Sj : j = argmaxRGIi ,
(4.16)
ahol D a kép pontjainak halmaza, Gauss(x, y) egy 25 pixel szórású kétdimenziós (x0 , y0 ) közep¶ Gauss függvény. Az (x0 , y0 ) a körvonalkeresés kiindulópontja. Az I(x, y) az eredeti kép intenzitásértékei, ci a változó küszöb, G(x, y) az (x, y) pontban érvényes gradiensvektor,
r(x, y) az (x, y) pontba mutató sugár, d pedig Si , azaz a körvonal elemszáma. RGI a Radial Gradient Index érték, melynek minimalizálásával elérhet®ek a fent említett célok, azaz a nagy és középpont fele mutató gradiensek. Az eljárás tehát a Gauss függvénnyel modulált képrészlet adott ci küszöbértéket meghaladó intenzitású pontjai által alkotott alakzatok közül válogat. Ezek közül annak a határvonalát adja eredményül, melyre számolt RGI érték a legnagyobb. Két módosítással javítani lehetett a kezdetben mutatott teljesítményen. Pontosabb körvonal adódott, ha nem az eredeti képre, hanem az el®feldolgozó algoritmusok eredményképeire futtattam le az algoritmust. A második módosítás pedig, hogy egy utolsó lépésben a körvonalat beszorítom a tüd® körvonalán belülre, azaz ahol nem a tüd® területén fut a körvonal, ott az adott szakaszt helyettesítem a tüd® határvonalával. Ez a körvonal pontosságán ugyan nem javított, de jó hatással volt a körvonalon belül számolt jellemz®k helyességére. A m¶ködésre látható példa
30
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE
a 4.7. ábrán. Végül meg kell jegyezni, hogy a körvonalak helyességét egzakt módon nem tudtam mérni, mivel nem állt rendelkezésemre semmilyen alapigazság, például orvosok által bejelölt körvonalak. Orvosokkal való konzultáció alapján az is kiderült, hogy röntgenfelvétel alapján általában nem is tudják egyezményesen meghatározni a pontos körvonalat. Ennek ellenére a legtöbb esetben tudtam sorrendet állítani a módszerek között, mivel a körvonalak min®sége közti különbség szabad szemmel is jelent®s volt. Az ismertetett körvonalazó mellett id®nként alkalmaztam egy x körvonalazó eljárást is. Ekkor a folt középpontja körül egy 15 pixel, azaz 10.5 mm sugarú kört tekintettem. Egyrészt így el tudtam dönteni, hogy származik-e tényleges el®ny a folt határvonalának megkereséséb®l, ezt 5.5.5. részben ismertetem. Másrészt így korrektebb módon lehet mérni egyes algoritmusok hatását a rendszerre, hiszen a körvonalazó a nem tökéletes volta miatt némi zajt vihet a mérésekbe.
4.5. Képjellemz®k kinyerése Az eddig ismertetett algoritmusoknak köszönhet®en elkészült sok a beállítás függvényében képenként 10-100 jelölt a középpontjával és a körvonalával a jelöltkiválasztó kimenetén. Azonban a jelöltek jelent®s része a kóros elváltozást tartalmazó röntgenképek esetében is hamis pozitív találat (lásd 2. rész), ezért szükség van valamilyen jelleg¶ további sz¶résre, mely a hamis találatok nagy részét eltávolítja. Erre a feladatra egy osztályozót alkalmazok. A megfelel® teljesítmény eléréséhez azonban az osztályozó bemenetét ügyesen kell megválasztani. Kézenfekv® lenne az összes körvonalon belüli intenzitásértéket rávezetni az osztályozóra, de az így keletkez® több ezer dimenziós bemenet néhányszázas példaszám mellett nem alkalmas tanításra, és szinte biztosra vehet®, hogy az osztályozó nem tudna általánosítani2 . Ezért van szükség olyan ún. jellemz®k (feature) kivonására melyek kisebb dimenziószám mellett jellemzik a területet, és segítségükkel összességében már el lehet dönteni az adott területr®l, hogy az valós elváltozás-e. Ez némileg analóg az emberi látással is, ahol egy képb®l csak bizonyos jellegzetes vonásokat emel ki az agy, és ezek alapján dönt például a dolgok hasonlóságról is. A jellemz®k egy része éppen ezért az emberi látásból merít ötleteket, mások statisztikai eredet¶ek, esetleg teljesen más területr®l származnak. A továbbiakban az általam használt jellemz®ket mutatom be részletesen. Számos jellemz® épül az entrópiára, mely egy információelméleti mér®szám. Deníciója egy
X diszkrét valószín¶ségi változóra, melynek értékkészlete {x1 ..xn }, és xi valószín¶sége p(xi ): H(X) = −
n X
p(xi ) ∗ log2 (p(xi )).
(4.17)
i=1
A megjelölt területek vizsgálata az elváltozások jellegéb®l adódóan több léptéken történik. Ennek megfelel®en a felhasznált jellemz®k is nagyobb osztályokba sorolhatóak. Az ismertetést a kis lépték¶, pixelszint¶ eljárásoktól kezdem, haladva a makroszkopikus, nagyobb lépték¶ jellemz®k felé. 2
Jó általánosítóképesség alatt a tanítópéldáktól eltér® bemenetek esetén mutatott jó teljesítményt értjük.
4.5. KÉPJELLEMZK KINYERÉSE
31
4.7. ábra. A körvonalazó kimenete az SBF eredményképen. Fent az összes találat egy teljes röntgenképhez tartozó SBF kimeneten. Balra lent egy helyesen megtalált körvonal, míg jobbra lent egy helytelen találat látható. A hiba oka, hogy az algoritmus nem eléggé elkötelezett a körszer¶ formák iránt.
32
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE
4.5.1. Textúra jellemz®k A vizsgált területek legkisebb léptéken történ® elemzése a textúra jellemz®k felhasználásával történik. Ezen jellemz®k a vizsgált terület pixel szint¶ mintázatával kapcsolatos információt hordoznak. Az el®állított textúra jellemz®k feladata az adott szövet jellemezése. Azonban a különböz® expozíciós beállítások, illetve az azonos mintázatú, de eltér® orientációjú területek következtében kialakuló mintázat változások miatt a területeket olyan jellemz®kkel kell leírni, melyek nem változnak ezen hatásokra. A textúra jellemz®k leginkább a pixelértékekre illetve pixelpárokra, mint eloszlásra számolt különböz® statisztikai mér®számok. Els®ként a pixelértékekre számolt mennyiségeket ismertetem. Ez öt jellemz®, melyet már felhasználtak korábban hasonló célú kutatásokban [16].
• Relatív intenzitáskülönbség : a folt átlagintenzitásának és a tartalmazó tüd®fél átlagintenzitásának különbsége.
• Relatív intenzitáshányados : folt átlagintenzitásának és a tartalmazó tüd®fél átlagintenzitásának hányadosa.
• Foltintenzitások szórása. • Relatív intenzitás tartomány : a folt intenzitásérték tartományának és a tartalmazó tüd®fél intenzitásérték tartományának a hányadosa, azaz
max(x,y)∈F (I(x, y)) − min(x,y)∈F (I(x, y)) , max(x,y)∈T (I(x, y)) − min(x,y)∈T (I(x, y))
(4.18)
ahol F a folt körvonalán belüli pixelek halmaza, T pedig a tartalmazó tüd®fél pixeleinek halmaza.
• Relatív maximum : a folton belüli legintenzívebb érték normálva az egész tüd® területén a maximum és minimum különbségével, azaz
max(x,y)∈F (I(x, y)) − min(x,y)∈T (I(x, y)) , max(x,y)∈T (I(x, y)) − min(x,y)∈T (I(x, y))
(4.19)
ahol F ismét a folt körvonalán belüli pixelek halmaza, T pedig a tartalmazó tüd®fél pixeleinek halmaza. A következ®kben a pixelpárok eloszlására számolt jellemz®ket ismertetem. Ezeket korábban sikerrel alkalmazták objektum felismerésre [89]. A megközelítés során nem közvetlenül az eredeti kép kerül felhasználásra, a jellemz®k az árnyalatok területbeli függését jellemz® ún. ko-okkurancia mátrixra épülnek (gray tone spatial dependence matrix, vagy co-occurrence matrix ), melyet a továbbiakban P -vel jelölök. P (i, j) azon szomszédos pixelpárok száma, ahol a két intenzitásérték
i, illetve j , ami így invariáns az objektumok eltolására a képen. A szomszédossági relációt azonban több módon különböz® irányok mentén deniálhatjuk, ennek megfelel®en négy különböz® ilyen mátrixot számít az algoritmus (0◦ , 45◦ , 90◦ és 135◦ -os szögekre), mely megoldás bizonyos szint¶ orientáció függetlenséget biztosít. A továbbiakban egy tetsz®leges irány menti
4.5. KÉPJELLEMZK KINYERÉSE
33
mátrixot tekintünk. Ezt a mátrixot normáljuk, hogy eredményül az intenzitás párok eloszlását kapjuk, a normált mátrix elemeit jelöljük p(i, j)-vel. A mátrix méretének és zajérzékenységének csökkentése érdekében érdemes a színárnyalatok számát alacsonyabbra venni. A még kezelhet® méret, de a már megfelel® mennyiség¶ információtartalom miatt végül a 256 színárnyalat mellett döntöttem. A következ® összesen 18 db textúra jellemz® számítása ezeknek a mátrixoknak a felhasználásával történik, Ng = 256 a színárnyalatok száma. Ahol nem jelöltem másképp, ott P PNg l ≡ l=1 , és l lehet {i, j, k}. További jelölések:
px (i) =
X
p(i, j)
(4.20)
p(i, j)
(4.21)
i
py (j) =
X j
px+y (k) =
XX i
px−y (k) =
i+j =k
(4.22)
p(i, j),
|i − j| = k, k = 0..Ng − 1
(4.23)
j
XX i
p(i, j),
j
A 18 darab, P mátrixra épül® jellemz®:
• Második impulzusmomentum (Angular Second Moment): Ng Ng X X
p(i, j)2 ,
(4.24)
i=1 j=1
azaz p négyzetösszege.
• Kontraszt :
Ng −1
X
n=0
Ng Ng X X n2 p(i, j) ,
|i − j| = n,
(4.25)
i=1 j=1
tehát az intenzitáskülönbség második momentuma.
• Korreláció :
P P i
j
ij · p(i, j) − µx µy σx σy
,
(4.26)
ahol µx , µy , σx , σy a px , py s¶r¶ségfüggvény¶ marginális eloszlások várható értéke és szórása.
• Szórásnégyzet :
XX i
(ij − µ)2 p(i, j),
(4.27)
j
másszóval ij szórásnégyzete, ahol µ az ij várható értéke.
• Inverz különbség momentum (Inverse Dierence Moment): XX i
j
1 p(i, j), 1 + (i − j)2
azaz i − j különbség reciprokának második momentuma.
(4.28)
34
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE
• Összeg átlag (Sum Average) :
2Ng X
ipx+y (i),
(4.29)
i=2
azaz i + j várható értéke.
• Összeg szórásnégyzet (Sum Variance) : 2Ng X (i − fs )2 px+y (i),
(4.30)
i=2
tehát i + j szórásnégyzete.
• Összeg entrópia (Sum Entropy) : −
2Ng X
px+y (i) log px+y (i),
(4.31)
i=2
azaz i + j konvencionális entrópiája.
• Kölcsönös entrópia : H(X, Y ) = −
XX i
p(i, j)log(p(i, j)),
(4.32)
j
másszóval i és j kölcsönös entrópiája.
• Különbség szórásnégyzet :
Ng −1
X
i2 px−y (i).
(4.33)
i=0
• Különbség entrópia :
Ng −1
−
X
px−y (i) log px−y (i).
(4.34)
i=0
• px határeloszlás entrópiája : H(X) = −
X
px (i)log(px (i)).
(4.35)
py (j)log(py (j)).
(4.36)
p(i, j)log(px (i) · py (j)).
(4.37)
i
• py határeloszlás entrópiája : H(Y ) = −
X j
• Közös entrópia mér®szám(1) : H1 (X, Y ) = −
XX i
j
4.5. KÉPJELLEMZK KINYERÉSE
35
• Közös entrópia mér®szám(2) : H2 (X, Y ) = −
XX i
• Korrelációs mér®szám(1) :
px (i) · py (j)log(px (i) · py (j))
(4.38)
j
H(X, Y ) − H1 (X, Y ) , max {H(X), H(Y )}
(4.39)
ahol H(X, Y ) az el®bb ismertetett kölcsönös entrópia, H(X), H(Y ) a px és py határeloszlás entrópiája, H1 (X, Y ) pedig az els® közös entrópia mér®szám.
• Korrelációs mér®szám(2) : 1
(1 − exp (−2(H2 (X, Y ) − H(X, Y )))) 2 ,
(4.40)
ahol H(X, Y ) az el®bb ismertetett kölcsönös entrópia, H2 (X, Y ) pedig a második közös entrópia mér®szám.
• Maximális korrelációs együttható (Maximal Correlation Coecient): Q mátrix második legnagyobb sajátértékének négyzetgyöke, ahol
Q(i, j) =
X p(i, k)p(j, k) (px (i)py (k)
k
.
(4.41)
Minden egyes jellemz®t kiszámítom mind a négy irányhoz tartozó p mátrixhoz, majd a négy keletkez® értéknek veszem az átlagát és a tartományát, mely utóbbi a legkisebb és legnagyobb érték különbsége. Jellemz®nek csupán az átlagot és a tartományt veszem fel, ami a fenti tizennyolc függvény esetén harminchat bemeneti dimenziót eredményez. A Gonzalez és Woods [90] könyvében leírt invariáns momentum tulajdonságok is felhasználásra kerültek a jellemz®k el®állításánál. Ezen jellemz®k a képrészletek olyan statisztikai jellemz®i, melyek nem változnak a kép elforgatásával, illetve tükrözésével, ezáltal a különböz® irányultsággal rendelkez® elváltozások azonos módon jellemezhet®ek. Egy f (x, y) függvény (p + q)-ad rend¶ momentuma:
mpq =
X
xp y q f (x, y) ,
p, q = 1, 2, · · · ,
(4.42)
(x,y)∈R
ahol R a függvény értelmezési tartománya, jelen esetben a kép pontjai. A megfelel® rend¶ centrális momentum:
µpq =
X
(x − x)p (y − y)q f (x, y),
(4.43)
(x,y)∈R
ahol
x= mij deníciója az el®bbi.
m10 m00
y=
m01 , m00
(4.44)
36
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE A normalizált centrális momentumok az alábbi alakúak:
ηpq = γ =
µpq , p, q = 1, 2, · · · µγpq p+q + 1, 2
(4.45) (4.46)
Az eltolásra, skálázásra, tükrözésre, valamint forgatásra érzéketlen momentumok az alábbi formában állíthatók el®[90]:
φ1 = η20 + η02 2 φ2 = (η20 − η02 )2 + 4η11
φ3 = (η30 − 3η12 )2 + (3η21 − η03 )2 φ4 = (η30 + η12 )2 + (η21 + η03 )2 £ ¤ φ5 = (η30 − 3η12 )(η30 + η12 ) (η30 + η12 )2 − 3(η21 + η03 )2 £ ¤ +(3η21 − η03 )(η21 + η03 ) 3(η30 + η12 )2 − (η21 + η03 )2 £ ¤ φ6 = (η20 − η02 ) (η30 + η12 )2 − (η21 + η03 )2 + 4η11 (η30 + η12 )(η21 + η03 ) £ ¤ φ7 = (3η21 − η03 )(η30 + η12 ) (η30 + η12 )2 − 3(η21 + η03 )2 £ ¤ +(3η12 − η30 )(η21 + η03 ) 3(η03 + η12 )2 − (η21 + η03 )2
4.5.2. Geometriai jellemz®k A geometriai tulajdonságok a vizsgált területek nagyobb lépték¶ a tartomány alakját, illetve elhelyezkedését jellemz® mennyiségek, melyekb®l összesen tíz félét valósítottam meg [16]. Ezeket érdemes vizsgálni, hiszen a folt nem azonos valószín¶séggel helyezkedik el a tüd® bizonyos területein, továbbá meghatározott körszer¶ alakkal rendelkezik. Az elhelyezkedést tekintve kiszámoltam a folt középpontjának a tartalmazott tüd®fél bels® szélét®l illetve fels® csúcsától való távolságát. A tüd®fél bels® széle a jobb oldali tüd®fél esetén annak legnagyobb, a bal tüd®fél esetén pedig annak legkisebb vízszintes koordinátájú pontja. A tüd®fél fels® csúcsa annak legkisebb függ®leges koordinátájú pontja. A többi geometriai jellemz® a folt 4.4. fejezetben ismertetett körvonalára épül.
• Eektív sugár : a körvonallal azonos területet lefed® kör sugara. • Normalizált kerület : A kerület, azaz a körvonal hossza osztva egy konstans 12 pixel sugarú referencia kör kerületével. A kör mérete egy tipikus folthoz hasonló, de tulajdonképpen tetsz®leges konstans lehetne, hiszen a jellemz®ket az osztályozás el®tt normálom.
• Normalizált terület : a körvonal által körbehatárolt terület osztva egy 12 pixel sugarú referencia kör területével.
• A centroid koordinátái : miden pixelértéket egyforma súllyal tekintve a tömegközéppont vízszintes és függ®leges koordinátái a körvonalat tartalmazó terület bal fels® sarkától.
4.5. KÉPJELLEMZK KINYERÉSE
37
• A centroid vízszintes és függ®leges távolsága : az el®bbivel azonos módon számolt centriod távolsága a körvonalat tartalmazó terület közepét®l osztva rendre a terület szélességével és magasságával.
• Eektív kerület : a körvonal irregularitása. A körvonal kerületének és az eektív sugarú kör kerületének hányadosa.
4.5.3. Zernike momentumok A Zernike momentumok a komplex egységkörön deniált függvények Zernike polinomokkal való közelítésekor használt együtthatók abszolút értékei. A Zernike momentumokat els®sorban invariáns tulajdonságaik, és zajt¶r® képességük miatt alkalmazzák[91]. A momentumok els®sorban a vizsgált terület alakjáról hordoznak információt. A Zernike radiális polinomok (ρ, θ) polár koordinátákban: (n−|m|)/2
Rnm (ρ) =
X
(−1)s ·
s=0
(n − s)! ρn−2s , s!((n + |m|)/2 − s)!((n − |m|)/2 − s)!
(4.47)
ahol n ∈ N, és m : m 6= 0, n − |m| ptlan, |m| ≤ n. Az egységkörön deniált (n, m) rend¶ Zernike bázisfüggvény ezáltal:
Vnm (ρ, Θ) = Rnm (ρ) exp(imθ) ,
ρ ≤ 1,
(4.48)
ahol i az imaginárius egység. A kép Zernike momentumai:
Znm =
n+1 π
ZZ ρ≤1
∗ Vnm (ρ, θ)f (ρ, θ),
(4.49)
∗ V ahol Vnm nm konjugáltja.
4.5.4. Gauss deriváltak A most következ® csoportokba olyan eggyel magasabb szint¶ jellemz®k tartoznak, melyeknél a képet el®ször módosítom valamilyen sz¶r®vel, majd a sz¶rt képekre számolok az el®z®ekhez hasonló mér®számokat. Az els® esetben az (x0 , y0 ) középpontú folt környezetét különböz® Gauss derivált (Derivative of Gaussian DoG) sz¶réseknek vetem alá. Ennek hatása megegyezik egy Gauss függvényes simítást követ® derivált alapú élkiemeléssel. Egy DoG sz¶r® egy független kétdimenziós Gauss kernel adott irány menti deriválja. (x−x0 ) −( ∂ 2 2∗σx A·e ∂dir
2
+
(y−y0 )2 2 ) 2∗σy
(4.50)
A Gauss kernel méretét r ∈ {4, 8, 12, 16, 20, 24} határozza meg, ahol 2∗r a kernel oldalhosszúsága, σx = σy = r/4 a Gauss függvény szórása. A Gauss függvényt A konstans normalizálja. Az iránymenti derivált nyolc változatát alkalmazom, azaz √ √ √ √ √ √ √ √ dir ∈ {(1, 0), (−1, 0), (0, 1), (0, −1), (1/ 2, 1/ 2), (1/ 2, −1/ 2), (−1/ 2, 1/ 2), (−1/ 2, −1/ 2)} (vízszintes, függ®leges, és a 45◦ -os irányok).
38
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE Az egyes sz¶rt képeknek eltárolom az átlagintenzitását, illetve r méretenként a különböz®
irányokkal kapott átlagoknak kiszámolom a szórását. Ez összesen 6 ∗ 8 + 6 = 54 jellemz®t jelent.
4.5.5. Gauss második deriváltak A Gauss második derivált nev¶ módszernél a folt környezetét a 4.5.4. részhez hasonlóan megsz¶röm egy diszkretizált függvénnyel. A felhasznált sz¶r®kernel a Gauss második derivált (Laplacian of Gaussian LoG) kernel. µ
∇2 A · e
−
(x−x0 )2 (y−y0 )2 2 + 2∗σ 2 2∗σx y
¶
,
(4.51)
mely egy φ szöggel el van forgatva, majd egy (2 ∗ r) × (2 ∗ r) pixeles tartományba van diszkretizálva. A sz¶r® r és φ paraméterét változtatva kiszámítom az egész foltot tartalmazó képre az intenzitásértékek átlagát, szórását és entrópiáját, illetve a folt centroidjának 5 × 5 pixeles környezetére ismét az intenzitásértékek átlagát. A különböz® φ paraméterekre veszem az értékek átlagát, ezek lesznek a jellemz®k, kivétel az entrópia, ahol az átlagoknak csak a szórását veszem fel. A jelen verzióban r ∈ {5, 10}, ami összesen 2 ∗ 3 + 1 = 7 jellemz®t eredményez.
4.5.6. Jelöltkeres®kre épül® jellemz®k Külön jellemz®ként használom fel az egyes jelöltkeres®k eredményeit. Érdemes lehet az aktuálisan alkalmazott jelöltkeres® intenzitásértékeit felhasználni, hiszen ezzel információt nyerhetünk arról, hogy mennyire felel meg az éppen vizsgált terület az el®zetes foltmodellnek. Ezt az információt különben eldobnánk a jelöltkiválasztás során. Más típusú jelöltkeres®k alkalmazása is indokolt lehet, hiszen ezek más jelleg¶ információt hordoznak a területr®l, például egyik-másik foltmodellhez való hasonlóságot. A konkrét mér®számok egyrészt az SBF és az AFUM algoritmusok adott területre vett maximumai, másrészt az AFUM eredménykép intenzitásátlaga a körvonalon belüli területre. Jelenleg ezzel egyesítem a több jelöltkeres® eredményét, mintegy az osztályozóra bízva a döntést, hogy milyen érték együtteseknél érdemes az AFUM által adott értéket felhasználni.
4.6. Osztályozás 4.6.1. Az osztályozó A feldolgozás második fázisának legjelent®sebb lépése a megjelölt képtartományok min®sítése. Itt a cél az eddigiekben el®állt jelölt tartományokról megállapítani, hogy kórosak-e vagy sem. A feladathoz egy erre a célra kialakított hagyományos osztályozó algoritmust használtam fel. Fontos megjegyezni, hogy bizonyos tapasztalati információkat (az elváltozások tulajdonságaival kapcsolatban) már az el®feldolgozási lépés során is felhasználtam a jelöltek számának korlátozása érdekében. Azonban a jelöltkiválasztás során törekedtem arra, hogy kicsi maradjon annak a valószín¶sége, hogy az el®sz¶r® algoritmus hibája miatt egy akár kis mértékben is gyanús területet elveszítsek, és ne végezzek rajta további vizsgálatokat. Ezt ott csak nagy számú jelölt el®állításával tudtam elérni.
4.6. OSZTÁLYOZÁS
39
Az osztályozás érdemi részét egy SVM [92] végzi. A bemenete egy sokdimenziós vektor, mely az el®bbiekben ismertetett jellemz®ket tartalmazza. A kimenete egy [−1, 1]-beli érték, melyet megfelel®en küszöbölve egy bináris értéket kapunk. Ez a tárgyalt rendszer esetében a pozitív, azaz a valós elváltozást tartalmazó, valamint a negatív, azaz nem tartalmazó területek közötti különbségtételt jelenti. Az SVM eljárás el®nye a többi osztályozó algoritmussal szemben, hogy képes nagy dimenziószámú jellemz®vektorokkal dolgozni különösebb teljesítményveszteség nélkül, mindemellett egy sok helyen sikerrel alkalmazott igen hatékony osztályozó [16]. Az algoritmus rövid ismertetése F.3. függelékben található. A továbbiakban a rendszerbe beépített változat kialakítását ismertetem.
4.6.2. Az osztályozó implementáció A fejlesztés során cél volt egy hamar m¶köd®képes verzió elkészítése, ezért egy ingyenesen elérhet® kész implementációt használtam fel. A számos implementáció közül az SVM and Kernel Methods Matlab Toolbox-ot [93] választottam, mert a teljes programot Matlab környezetben implementálták, ami számomra könny¶ testreszabhatóságot biztosít, továbbá alap állapotában is tartalmaz számos kernelfüggvényt, és alkalmas a mintakészlet kiegyensúlyozatlanságának kezelésére. Az algoritmus hatékony m¶ködéséhez azonban számos m¶veletet célszer¶ elvégezni a bemeneti adatokon, valamint számos beállítást el kell végezni az osztályozón, melyeket a továbbiakban ismertetek.
4.6.3. Adatok el®készítése Az osztályozási lépés el®tt az osztályozás alapjául szolgáló jellemz®ket olyan módon transzformálom, hogy az eredményképpen el®álló átskálázott jellemz®k várható értéke nulla, a szórása egy legyen. Ez a lépés gyakran segíti a helyes osztályozást, mivel az egyes jellemz®k eltér® léptékéb®l adódó problémákat nem az osztályozónak kell kezelnie. Így lehet®vé válik egyszer¶bb osztályozók alkalmazása, melyek a kevesebb hangolható paraméter következtében általában robusztusabb m¶ködést mutatnak.
4.6.4. Dimenzió csökkentés Az osztályozó bemenetének megválasztásánál törekedni kell egyfajta egyensúlyra. Egyrészt a bemen® vektoroknak jól kell jellemezniük az osztályozandó objektumot, tehát alkalmasnak kell lenniük arra, hogy felhasználásukkal döntsünk a terület kóros voltáról. Ehhez tipikusan sok jellemz® kell. Másrészt ügyelni kell a dimenziószám alacsonyan tartására, mivel adott tanító mintaszám mellett a legtöbb osztályozó jobban képes általánosítani kevés dimenziószámnál, míg tipikusan túltanulja a feladatot magasabb dimenziószámnál. Egyrészt tehát olyan jellemz®t semmiképpen sem érdemes felhasználni, mely nem különösebben járul hozzá a helyes osztályozáshoz, azaz irreleváns a probléma szempontjából. Egy erre adódó zaj még téves irányba is elviheti az osztályozást. Másrészt a releváns jellemz®kb®l is az egymástól függetleneket kell el®nyben részesíteni, hiszen így tudjuk a legkisebb dimenziószám mellett a legnagyobb problémateret lefedni.
40
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE Ennek fényében a jellemz®k kiválasztása két lépésben történt. Els®ként az irreleváns jellem-
z®k kisz¶rését t¶ztem ki célul. Ehhez el®ször a jellemz®k értékeinek eloszlása alapján a negatív és pozitív minták esetében eltávolítottam azokat a jellemz®ket, melyek közel konstans értéket vettek fel az esetek jelent®s részében. Ilyen módon viszonylag kevés jellemz®t sz¶rtem ki, azonban ezek bizonyosan haszontalanok voltak. A fennmaradó jellemz®k közül egy az SVM rendszerek használatára épül® eljárással [94] választottam ki azokat, melyek ténylegesen relevánsak az osztályozás szempontjából. A feladathoz kész implementáció állt rendelkezésemre [21]. Az eljárás az egyes jellemz®knek egy fontosság szerinti sorrendjét állítja el®. Azonban ahhoz, hogy érdemben dönteni lehessen az egyes jellemz®k alkalmazásáról, az algoritmust különböz® mintakészleten futtatva az egyes sorrendezésekb®l egy a jellemz®khöz rendelt jósági mértéket is el®állít, mely kvantitatív módon jellemzi az egyes dimenziókat. Erre alapozva ki lehet választani azokat a jellemz®ket, melyek az esetek legnagyobb részében érdemben javították a rendszer teljesítményét. A következ® lépésben az összefügg® kimenetet adó jellemz®ket igyekeztem kezelni. Az el®bb bemutatott eljárás ugyanis nem veszi gyelembe az egyes jellemz®k egymáshoz való viszonyát. El®fordulhat, hogy a jellemz®k különböz® csoportjai egymással igen nagymértékben korreláltak. Így annak ellenére, hogy a csoport tagjai önmagukban hasznos információt hordoznak, a csoport összes tagja már nem hordoz többletinformációt az elemek egy részhalmazához képest. A jellemz®k ilyen jelleg¶ kapcsolatát a jellemz®k közötti kovariancia vizsgálatával derítettem fel. Mint az kiderült, valóban jelen van kisebb-nagyobb mérték¶ kapcsolat az egyes bemeneti dimenziók között. Ezt felhasználva a jellemz®k számát nagy mértékben csökkenteni lehetett f®komponens analízis (Principal Component Analysis, PCA) használatával. Az eljárás a bemeneti dimenziókból kisebb számú, többnyire korrelálatlan származtatott dimenziót állít el® az eredetiek lineáris kombinációjából [92]. Tulajdonképpen egy minimális dimenziójú bázist, vagy csak jó közelítéssel bázist keres a jellemz®vektorokhoz. A dimenziócsökkentéssel kapható nyereséget az 5.5.6. részben ismertetem.
4.6.5. Paraméterezés A következ®kben a felhasznált osztályozó felparaméterezését ismertetem. Az SVM osztályozó paraméterezésekor mindenek el®tt azt a speciális helyzetet kellett megoldanom, hogy a negatív minták száma sokszorosa a pozitívokénak. Ez utóbbiból körülbelül 120 darab van, negatív példából viszont a jelöltkiválasztó paraméterezését®l függ®en 3000-12000 db. A negatív példák nagy részének eldobása nem megengedhet®, hiszen nagyon sok információ veszne el így, még akkor is, ha ügyelnék arra, hogy a reprezentáns esetek maradjanak meg. Ezért a problémát a C általánosítási paraméter (lásd az (F.12) egyenletet) hangolásával kezeltem. A paramétert a negatív és pozitív mintapéldák arányával súlyozva elértem a kívánt hatást.
Cneg = c Cpoz = c ·
#neg , #poz
(4.52)
ahol #neg a negatív, #poz a pozitív mintapéldák száma, Cneg a negatív minták büntet® együtthatója, Cpoz pedig a pozitívoké. Szemléletesen így arányosan jobban büntetem, ha egy pozitív mintapélda kerül közelebb a szeparáló felülethez, vagy a nem megfelel® oldalára. Ezzel
4.6. OSZTÁLYOZÁS
41
természetesen nem véglegesítettem a C paramétert, csak a pozitív és negatív mintapéldákhoz rendelt értékek arányát. A továbbiakban C hangolása alatt c meghatározását értem. Az SVM-nél lényeges paraméter a használt K kernel függvény. Ebb®l többfélét kipróbáltam. A legjobb eredményt az alacsonyabb fokú polinomiális kernel függvények, illetve a radiális, jelen esetben Gauss bázisfüggvények adták. Rendre az egyes kernelfüggvények kifejtése:
K(x1 , x2 ) = (xT2 x1 + b)d K(x1 , x2 ) = e
kx −x k2 − 1 22 σ
.
(4.53) (4.54)
Ez utóbbi hátránya, hogy tapasztalataim szerint kevésbé kezeli jól a magas dimenziószámot. Ugyan mindkett® használatakor két szabad paramétert kell hangolni, a polinomiális esetben az egyikt®l megszabadulhatunk. A Gauss kernel esetén a két paraméter a C és a σ . El®bbi a hibásan, vagy közel hibásan osztályozott pontokat bünteti, így a rendszer általánosítóképességét befolyásolja, utóbbi a Gauss függvény szórás paramétere, mely a bemeneti változásokra való érzékenységet állítja. Ezzel szemben a polinomiális kernelnél szabad az el®bbivel azonos C és a
b paraméterek, ha adottnak tekintjük a polinom d fokszámát. Azonban a polinomiális esetben, ha d = 1 választással élünk, egy egyszer¶ lineáris osztályozót kapunk, ahol már a b paraméter csak egy egyszer¶ eltolás lesz, aminek hangolását bízhatjuk a tanító algoritmusra. Ezt a lépést meg is tettem, hiszen a legjobb teljesítményt a polinomiális, azon belül is az els®fokú, azaz lineáris bázisfüggvény adta magas száz feletti bemeneti dimenziószám mellett. A Gauss bázisfüggvények alacsonyabb tíz alatti bemeneti dimenziószám esetén elérték és túl is szárnyalták az azonos bemenetekkel dolgozó polinomiális teljesítményét, de a jelek szerint ilyen kis dimenziószám már nem volt elég az abszolút legjobb teljesítmény eléréséhez. Így végül a lineáris bázisfüggvény került be a végleges rendszerbe a jó teljesítménye, robusztussága és könny¶ paraméterezhet®sége miatt. Az egyszer¶nek számító kernelfüggvény fölénye nem annyira meglep®, hiszen az általam ismert jelenlegi leghatékonyabb rendszerek között is több használ lineáris osztályozót [8]. Miután kiderült, hogy a lineáris kernelfüggvény adja a legjobb megoldást, felmerült, hogy érdemes-e az SVM algoritmusnál maradni. Végül több okból az SVM megtartása mellett döntöttem. Egyrészt az SVM elméletéb®l következik, hogy az optimális szeparáló síkot fogja megtalálni, vagy ha a probléma nem szeparálható, akkor is egy ésszer¶ kritérium szerint a lehet® legjobb megoldást biztosítja. Másrészt nem zárható ki, hogy a kés®bbiekben más, esetleg hatékonyabb dimenziócsökkent® eljárásokkal mégis sikerül a bemeneti dimenziószámot olyan módon csökkenteni, hogy kinomultabb bázisfüggvények alkalmazásával a rendszer teljesítménye növekedést mutasson. Harmadrészt a használt implementáció tanítóalgoritmusa megfelel®en gyorsnak bizonyult a fejlesztés során, ami nem indokolta más megoldás keresését. Kidolgoztam egy félautomatikus módszert a kernelfüggvény megválasztásából következ® 1 vagy 2 darab paraméter hangolására. A paramétertartomány egy nagyobb részét lefedtem exponenciális skálán elhelyezked® paraméterértékekkel, melyekre lefuttattam az osztályozást. Az eredményeket az érzékenység és a specicitás3 alapján rangsoroltam. Ha a legjobb teljesítményt 3
a specicitás a valós találatok és az összes találat hányadosa
42
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE
adó helyek jellemz®en a paramétertartomány szélén fordultak el®, akkor abban az irányban b®vítettem a paraméterek értékkészletét exponenciális skálán. Ez a megoldás robusztusabbnak bizonyult egy gradiens alapú keresésnél, mivel utóbbi könnyen lokális széls®értékekbe ragadt. A végleges rendszerben a lineáris kernelfüggvény miatt csak az SVM általánosítási C paraméterét kellett behangolni az ismertetett módszerrel. Itt a keresést lefuttatva kiválasztottam a legjobb teljesítményt nyújtó néhány paraméterértéket, majd ezek közül a végleges rendszerbe a legkisebbet vettem bele, hiszen ez biztosítja a legáltalánosabb megoldást, mely a képek szélesebb körében is hatékony m¶ködést biztosít. Meg kell azonban jegyezni, hogy az alkalmazott lineáris SVM meglehet®sen érzéketlen erre a beállításra, mivel körülbelül három nagyságrendnyi tartományban ([0.001, 1]) csupán néhány százalékos teljesítménybeli különbséget mutatott.
4.6.6. Hasonló jelöltek eldobása Meggyeléseim szerint a rendszer bizonyos esetekben hajlamos egy objektumra több jelöltet helyezni. Ez leginkább hibás körvonal megrajzolásakor fordul el®, hiszen egy valósnál kisebb körvonal bejelölésekor a folt mellett maradhat intenzív tartomány az SBF képen. Ezt kiküszöbölend® egy szomszédos jelölteket eldobó algoritmust építettem az osztályozó kimenetére, melyhez hasonló megoldást már korábban is eredményesen alkalmaztak [8]. A szomszédos jelöltek közvetlen eldobása számomra nem hozott javulást, ezért egy némileg óvatosabb megoldást alkalmaztam. Ez megvizsgálja az osztályozó kimenetén érkez®, egy képhez tartozó jelöltek pozícióját és az SVM osztályozó kimenetének értékét, mely a jelölt elváltozásszer¶ségét jellemzi. Ezekb®l lecsökkenti azon jelöltek SVM kimeneti értékét, melyeknek van 22 mm-en belül egy nagyobb érték¶ szomszédja. A 22 mm az azonos objektumra ráfutó különböz® jelöltek jellemz® legnagyobb távolságából adódott. Ezzel az egymáshoz közeli jelöltek közül az, amelyik legnagyobb eséllyel elváltozás, szemléletesen elnyomja a mellette lev®ket. Ez a módszer tapasztalataim szerint 1-2%os érzékenységbeli javulást eredményezett az osztályozó kimenetén a jellemz® munkapontokban (2-4 hamis pozitív képenként).
4.7. Szimmetria vizsgálat alapú utófeldolgozás Az orvosokkal történ® konzultációk során a következ®t gyeltem meg. Ha megkértem az orvost, hogy indokolja meg, miért kóros, vagy nem kóros az adott terület, legtöbbször azzal támasztotta alá mondandóját, hogy a másik tüd®félben ugyanott megtalálható ugyanaz a struktúra, vagy hogy éppen hiányzik. Érdemes lenne tehát a számítógépes felismer® számára is elérhet®vé tenni ezt az információt, azaz hogy mi található egy gyanús területnek megfelel® pontban a másik tüd®félben. Kutatásaim során a leghatékonyabb megoldásnak egy wavelet transzformáció alapú algoritmus t¶nt, így ezt próbáltam meg én is megvalósítani és beépíteni egy korábbi megoldás alapján [56]. A cél, hogy a szimmetria vizsgálatával egy utólagos osztályozást végezzünk a megmaradt jelölteken. Az eljárás el®ször megpróbálja megkeresni a vizsgált terület ellenpontját. Abból indul ki, hogy egy terület ellenpontját megkaphatjuk a gerincre való tükrözéssel. A tüd®felek aszimmetriájából adódó nemlineáris torzításokat pedig egy képregisztrációs eljárással küszöböli ki. Ennek a regisztrációs módszernek a részletesebb leírása [95]-ben található. A végs® döntést hogy a
4.7. SZIMMETRIA VIZSGÁLAT ALAPÚ UTÓFELDOLGOZÁS
43
területet megtartja-e kórosnak, vagy eldobja, mint hamis találat két mér®szám alapján hozza meg. Egyrészt ha az ellenpont meghatározás nem sikerült elég jól, akkor megtartja a területet, hiszen ekkor vagy eltévedt az algoritmus, vagy a terület nagymértékben aszimmetrikus. Ha az ellenpont megközelít®leg jó, akkor a regisztráció után a két oldal különbségképén keres foltszer¶ alakzatot. Ha a terület közepén nagyobb a különbség, mint a szélén, akkor valószín¶leg kóros a terület, ha nem így van, akkor viszont a két terület közel szimmetrikus, tehát el lehet dobni. Az alapelv persze messze nem mindig m¶ködik. Például, ha az ellenpont épp a szívárnyék takarásában van, nem triviális az összehasonlítás. Másrészt lehetnek olyan struktúrák például a hörg®k , melyek csak igen laza értelemben tekinthet®k szimmetrikusnak. Ezeket pontosabban megvizsgálva nagyon eltér® alakúak, és csak bizonyos tulajdonságaik, például topológiájuk vagy texturájuk hasonlít egymásra. Az ilyen esetek azonosítására egy sokkal komplexebb algoritmus lenne csak képes. A jelen módszer viszont ebben a formában is alkalmazható, hiszen nem célja a tökéletes osztályozás. Megelégedhetünk azzal is, ha a hamis pozitívoknak csak egy jelent®sebb részét távolítja el. A továbbiakban a módszert ismertetem, el®ször az ellenpont keresést, majd a képregisztrációt a nemlineáris torzítás kiküszöbölésére. Utóbbira két módszert is kipróbáltam, els®ként egy Fourier transzformáció alapút, majd ennek egy tulajdonképpeni általánosított változatát, mely wavelet transzformáció alapján m¶ködik. Végül ismertetem a módszert, mely alapján a hamis pozitívak kisz¶rése történik.
4.7.1. Keresztkorreláció alapú ellenpont keresés Az ellenpont keresés célja megtalálni a vizsgált folt középpontjának megfelel® pontot az ellenkez® tüd®félben. Feltételezésem szerint a gerincre való tükrözéssel körülbelül jó eredményt kaphatok. Így el®ször a gerinc vonalát kell meghatároznom. Erre jelenleg egy nagyon egyszer¶ módszert alkalmazok: megkeresem a két tüd®fél legbels® pontját, majd ezekt®l egyenl® távolságra egy függ®legest húzok. Ez gyakran igen pontatlan, mert egyrészt a két tüd®fél valamennyire aszimmetrikus, és egyik vagy másik közelebb húzódhat a gerinchez, másrészt a páciens gyakran ferdén tartja magát, tehát a valódi gerince is ferde. Ennek ellenére a következ® lépés segítségével egész pontos eredményt kapok, míg a gerincvonal meghatározása alig igényel futási id®t. Miután megvan a gerincvonal, tükrözöm erre a vizsgált pontot, ezzel kapok egy els®, pontatlan becslést. Ezután megpróbálom pontosítani a következ® módon: az els® becslés körül bejárok egy
21 × 21 pixeles tartományt melynek középpontja az els® becslés , és a tartomány minden pontjára kiszámolok egy hasonlóság mér®számot. Ahol ez a szám a legnagyobb, azt tekintem az új ellenpontnak. A hasonlóság mérésére normalizált keresztkorrelációt alkalmazok, melynek alakja a következ®:
N XC =
N X 1 (Im (x, y) − E(Im ))(Ic (x, y) − E(Ic )) , N −1 σIm σIc
(4.55)
x,y=1
ahol Im az eredeti pont 21 × 21 pixeles környezetének tükrözése, Ic pedig az éppen vizsgált ellenpont 21 × 21 pixeles környezete. N a környezetek mérete, jelenleg 21 ∗ 21 = 441, E() az átlag, σ pedig a szórás. A vizsgálta tartományt 21 × 21 pixelesre választottam, mert így a tapasztalataim szerint a legtöbbször ki tudom küszöbölni az els® lépésbeli tükrözés hibáját,
44
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE
azonban még elég ritkán fordul el®, hogy egy véletlenül például a bordák hasonló futása miatt egyez®, de hibás ellenpontot találjak meg. Az összehasonlított tartományok méretét is 21 × 21 méret¶re választottam, hiszen ebben már mindig látható egy-két bordaszakasz, mely struktúrák leginkább segítik a pontos igazítást.
4.7.2. Fourier transzformáció alapú regisztráció Miután megvan az eredeti és az ellenpont, el kell tudnunk dönteni, hogy a két pont környéke ténylegesen hasonló-e. Ehhez célszer¶ igazítani a két területet valamilyen képregisztrációs eljárással, hogy kiküszöböljük a páciens ferde tartásából, illetve a tüd® deformációjából adódó eltéréseket. Ha I1 az eredeti és I2 a regisztrálandó kép az egyszer¶ség kedvéért folytonos függvénye, akkor cél egy olyan U : R2 → R2 leképezés megkeresése, melyre
I1 (x, y) = I2 ((x, y) + U (x, y)).
(4.56)
Továbbá U folytonos, sima és értékei nem túl nagyok, hiszen valamilyen kisebb lokális deformációt keresünk. Általában nem létezik U , mely megfelel ezeknek a kritériumoknak és 4.56 egyenl®séget is teljesíti, de egy elég jó megoldást találhatunk a két kép közötti négyzetes hiba és egy simaságot el®író tag minimalizálásával. A minimalizálandó függvény tehát
1 J(U ) = γε(U ) + 2
Z {I2 ((x, y) + U (x, y)) − I1 (x, y)}2 dx,
(4.57)
ahol ε az U simaságát el®író tag, γ pedig egy konstans, mely ezen tag súlyát szabályozza. J minimalizálása U -ban igen számításigényes, ha az egész R2 → R2 függvények terében keresünk. Célszer¶ áttérni például frekvenciatartományba, és a Fourier együtthatók terében végezni a minimalizálást. Ebben az esetben érdemes ε-t közvetlenül frekvenciatartományban meghatározni.
U teljesíti a támasztott elvárásokat, ha a simító tagot a következ® alakban írjuk fel [95]: ε(U ) =
∞ X
(1)
(2)
λ2kl ((ukl )2 + (ukl )2 ),
(4.58)
k,l=−∞
ahol
λkl = (2π)2 (k 2 + l2 ) Z ∞ (i) ukl = U (i) (x, y)e2πi(kx+ly) dxdy −∞ (1)
U (x, y) = (U
(x, y), U (2) (x, y)),
(4.59) (4.60) (4.61)
(i)
tehát ukl -k a Fourier együtthatók, melyek terében keressük J(U ) minimumát. A keresésnél a csupa nulla együtthatókból indultam ki. Ez a konstans nulla U függvénynek felel meg, mely egybevág azzal a kiindulási ötlettel, hogy kismérték¶, tehát identitáshoz közeli eltolást keresek. Ugyanezen megfontolásból alkalmasak számomra a gradiens alapú keresési eljárások. Ezekhez viszont szükség van
∂J (i) ∂ukl
közelítésére immáron a diszkrét értékekkel. A deriválást elvégezve némi
átalakítás után a következ® alak kapható:
4.7. SZIMMETRIA VIZSGÁLAT ALAPÚ UTÓFELDOLGOZÁS
∂J (1) ∂ukl
∂J (2) ∂ukl
(1)
= 2γλ2kl ukl + (π{[I2 ((x, y) + U (x, y)) − I1 (x, y)] (2)
= 2γλ2kl ukl + (π{[I2 ((x, y) + U (x, y)) − I1 (x, y)]
45
∂I2 ((x, y) + U (x, y))})kl (4.62) ∂x ∂I2 ((x, y) + U (x, y))})kl , (4.63) ∂y
ahol (π{I})kl az I függvény Fourier transzformáltjának kl index¶ együtthatója. A keresés egy lépése tehát ∀k, l, i-re: (i)
(i)
ukl = ukl − η
∂J (i)
∂ukl
,
(4.64)
ahol η egy bátorsági tényez®. Az implementációnál végül egy egyszer¶, állandó lépésköz¶ gradiens keresést választottam, melyben η konstans. Érdemes azonban kihasználni, hogy az egyes Fourier együtthatók eltér® nagyságrend¶ struktúráit jellemzik a képnek. Így lehet®ség nyílik arra, hogy els® lépésben az algoritmus csak a nagyobb egységeket bordák, határvonalak, nagyobb foltok igazítsa egymásra, majd ha ez megvan, utána foglalkozzon csak a kisebb részletekkel. Így kisebb az esélye, hogy a képzaj és a kisebb struktúrák megtévesztik a gradiens algoritmust és egy rossz lokális minimumban ragadunk. Ezzel a kiegészítéssel úgy módosul a gradiens keresés, hogy a nulladik lépésben csak k, l = 0, N -edik lépésben pedig csak a −N < k, l ≤ N index¶ (i)
ukl együtthatókat frissítem. Az N -edik lépésr®l az (N + 1)-edik lépésre akkor váltok, ha a hiba csökkenése a legutolsó 100 lépésben nem ér el egy adott szintet, tehát a keresés konvergál. A futási eredményt szemlélteti a 4.8. ábra.
4.7.3. Wavelet alapú regisztráció A módszer az eddigiekhez hasonló megfontolásokon alapul és a lépések megegyeznek a Fourier transzformáció alapú megoldáséival. A különbség, hogy itt Fourier transzformáció helyett wavelet transzformációt alkalmazok, és a keresés is wavelet együtthatók terében történik. A wavelet (i)
transzformáció az F.2. függelékben leírt módon zajlik. Az együtthatók tehát [W (U )]nkld = unkld , ahol n ∈ {1.. log2 M } a szint, M a kép oldalhossza, d ∈ {1, 2, 3} az irány, k és l pedig az indexek, vagy eltolások. W () a wavelet transzformációt jelöli meghatározott bázisfüggvénnyel. A simító tag a következ®re módosul:
ε(U ) =
X
(1)
(2)
[(unkld )2 + (unkld )2 ]λj ,
(4.65)
n,d,k,l
ahol λj =
(1+42n ) . (1+42M )
A hibafüggvény deriválása a következ®képp módosul:
Id = I2 ((x, y) + U (x, y)) − I1 (x, y) ∂I2 (1) = 2γλj unkld + (W {Id ((x, y) + U (x, y))})nkld (1) ∂x ∂u ∂J
(4.66) (4.67)
nkld
∂J (2)
∂unkld
(2)
= 2γλj unkld + (W {Id
∂I2 ((x, y) + U (x, y))})nkld , ∂y
(4.68)
46
4. FEJEZET. A FOLTKERES RENDSZER RÉSZLETES ISMERTETÉSE
4.8. ábra. A regisztráció eredménye egy kóros területre. A képek balról jobbra: (1) az eredeti, foltot tartalmazó terület, (2) a keresztkorrelációs kereséssel megtalált neki megfelel® ellenpont környezete tükrözés után, (3) a Fourier transzformáció alapú regisztráció kimenete, (4) a wavelet alapú megoldás kimenete. A legszembet¶n®bb változás a folt feletti bordaív elmozdulása. A kezdeti átlagos négyzetes különbség 0.47, melyet az el®bbi megoldás 0.18-ra, utóbbi 0.25-re csökkent. A wavelet alapú megoldás azonban nem eredményezett természetellenes görbületeket a bordában, így hatékonyabb lehet a kés®bbiekben. ahol (W {I})nkld az I függvény wavelet transzformáltjának nkld paraméter¶ együtthatója. A keresés egy lépése tehát ∀n, k, l, d, i-re: (i)
∂J
(i)
unkld = unkld − η
(i)
∂unkld
,
(4.69)
ahol η egy bátorsági tényez®. A keresést itt is több szinten végzem, az N -edik szinten csak a n ≤ N paraméter¶ együtthatókat módosítom. A jobb konvergencia miatt kezdetben egy nagyobb η0 bátorsági tényez®t használok, majd az N -edik szinten módosítom η =
η0 -re. 2N
A
futási eredményre egy példa látható a 4.8. ábrán.
4.7.4. Hamis pozitívak sz¶rése Az ellenpont megkeresése és a nomabb regisztráció után meg kell határozni, hogy milyen esetben tekinthetjük az eredeti és az ellenoldali területet szimmetrikusnak, azaz egészségesnek, avagy aszimmetrikusnak, azaz kórosnak. Az els® lépésbeli keresztkorreláció érték is hordoz információt. Ha ez az érték túl kicsi, akkor nagy valószín¶séggel nem is sikerült pontosan megtalálni a megfelel® ellenpontot. Ilyenkor célszer¶ a területet kórosnak min®síteni, hiszen a regisztráció sem tud helyesen m¶ködni hibás ellenpont esetén. A helyes küszöbérték meghatározásához mely felett pontosnak tekinthet® az ellenpont a mérési eredményeket használtam fel, ezt az 5.5.7. részben ismertetem. Ha jó az ellenpont, össze kell vetni a regisztrált képet az eredeti jelölt területtel. Ha a jelölt terület I1 foltot tartalmaz, akkor a I2 ((x, y) + U (x, y)) − I1 (x, y) különbségképen középen meg kell jelenjen a folt képe invertálás után pozitív intenzitással. Ezt kihasználva különböz® feltételezett sugarú kör alakú folt határvonalakkal felbontom a különbségképet egy küls® és egy bels® tartományra. Erre számolom a következ® értéket:
xin − xout
Tr =
q
s2p =
2 + (N 2 (Nin − 1)vin out − 1)vout , Nin + Nout − 2
s2p ( N1in +
1
Nout )
(4.70) (4.71)
ahol xin , vin , Nin rendre a bels® tartomány átlaga, szórása és elemszáma, xout , vout , Nout pedig ugyanez a küls® tartományra. Ezzel egy jel-zaj arány szer¶ mennyiséget állítok el®, mely minél nagyobb, annál nagyobb valószín¶séggel helyezkedik el ott a folt. Az így keletkez® Tr értékeknek veszem a maximumát különböz® sugarakra, hogy kezeljem a foltok méretének változatosságát. A T érték meghatározása tehát:
T = max (Tr ) r∈{3..17}
(4.72)
Erre a küszöbszintet a kóros és nem kóros esetek T érték szerinti hisztogramjának vizsgálatával határoztam meg, melyet az 5.5.7. részben ismertetek.
4.7.5. A szimmetriavizsgálat helye a rendszerben A módszer eredeti formájában az osztályozó után helyezkedne el, és ott döntene a területek szimmetriája alapján azok valós vagy hamis voltáról. Vegyük azonban észre, hogy ez tulajdonképpen egy osztályozási feladat két mér®szám a keresztkorrelációs érték és a T érték alapján, melyeket jellemz®ként is felfoghatunk. A tanítást itt a hisztogramok vizsgálata alapján kézzel végzem. Ez a küszöb meghatározási módszer nem teljesen helyes, hiszen a teszt adatokat használom fel tanításra is. Korrektebb módszer, ha a két jellemz®t egy osztályozó bemeneteként használom fel, és a tanításhoz, illetve a teszteléshez kereszt kiértékelést alkalmazok. Ezt viszont már megteszem egyszer a rendszerben lev® osztályozónál, ezért hatékonyabb és jobb megoldás, ha ezt a két újonnan kapott mér®számot egyszer¶en hozzáveszem a meglev® osztályozó bemenetéhez. Így az egész módszer ismertetése bekerülhetett volna a jellemz®k ismertetéséhez. Amiért ezt mégsem tettem meg, hogy egyrészt h¶ maradjak az eredeti módszerhez, másrészt a vizsgálat eltér® jellege miatt véleményem szerint érdemes különválasztani az eddigi csupán a folt környezete alapján dolgozó jellemz®kt®l az érthet®ség és logikusság kedvéért.
5. fejezet
Tesztelés Az eddig felépített rendszer kimenetére egy példa az 5.1. ábrán látható. A továbbiakban a mért teljesítményadatokat ismertetem és elemzem. El®ször bemutatom a tesztek alapjául szolgáló képeket, majd az összteljesítményt a jelöltkeres® és az osztályozó kimenetén, különböz® szempontokra lebontva. Ezután az egyes rendszerkomponensek teljesítményét mutatom be, ezzel igazolva létjogosultságukat. Végül néhány speciális vizsgálatot végzek különböz® küls® rendszerrel zajmentesített képeken.
5.1. A teszteléshez felhasznált anyagok 5.1.1. A JSRT adatbázis A rendszer teszteléséhez és teljesítményének számszer¶ leméréséhez egy nyilvánosan is elérhet® adatbázist használtam [75]. A képek tizenhárom japán és egy egyesült államokbeli intézetb®l származnak. Az eredetileg lmes felvételeket a Japanese Society of Radiological Technology, továbbiakban JSRT digitalizálta és min®sítette. A képek 2048 × 2048 pixel felbontásúak, 12 bit, azaz 4096 hasznos szürkeárnyalattal. Egy pixel az eredeti felvételen 0.175 mm-nek felel meg. Az adatbázis 154 elváltozást tartalmazó, illetve 93 egészséges tüd® képét tartalmazza. Az elváltozásokat utólag CT-vel és egyéb módszerekkel validálták. Minden felvételhez adott egy maszk, mely a tüd® körvonalát tartalmazza, ez nagyban megkönnyíti a fejlesztést, amíg nem integrálom a projekt keretében kidolgozott tüd®határvonal-keres® algoritmust. További el®ny, hogy minden, elváltozást tartalmazó képhez tartozik egy leírás, mely tartalmazza az elváltozás helyét és típusát, azaz hogy kóros vagy nem kóros, illetve milyen betegségr®l van szó. Az orvosok minden folthoz hozzárendeltek egy {1,2,3,4,5}-beli értéket, mely a felismerés nehézségét jellemzi. Az egyes szintek egyértelm¶, közel egyértelm¶, rejtett, nagyon rejtett és extrém rejtett eseteket különböztetnek meg. A nehézség az adatbázisban a képek sorszámával egyre n®. Az adatbázis nyilvánosságából adódó el®ny, hogy az így mért teljesítmény mások által kidolgozott módszerekkel összevethet®, még ha nem is garantál egy teljesen egzakt mér®számot. A JSRT adatbázis a szakirodalomban jelenleg a legelterjedtebben használt benchmark adatbázis foltkeres® algoritmusok és más, tüd® röntgenképpel kapcsolatos módszerek tesztelésére. Az adatbázis jó megítélése ellenére sajnos tartalmaz olyan eseteket, melyek megzavarhatják az osztályozó tanuló algoritmusát. Orvosokkal való konzultáció eredményeképp kiderült, hogy 49
50
5. FEJEZET. TESZTELÉS
5.1. ábra. A rendszer kimenete a JSRT adatbázis 109. képén. Megtalálta a valós foltot és nincs hamis találat, bár a körvonal kifogásolható. A valódi folt a határvonalon belül, annak a gerinchez közelebbi felében látható.
5.2. A JELÖLTKERESK TELJESÍTMÉNYE
51
néhány kép tartalmaz olyan elváltozásokat, melyek kórosak, de nincsenek bejelölve. Ez vélhet®leg annak tudható be, hogy a legegyértelm¶bb elváltozás megtalálása volt a cél. Ilyen esetekben viszont az algoritmus ráfuthat erre a másik elváltozásra is, amire viszont negatív min®sítést kap, ezzel jelent®sen romlik az osztályozás teljesítménye. El®fordult olyan kép is (JPCLN154), ahol az elváltozás valódi középpontja körülbelül 13 mm távolságra volt a bejelölt középponttól, mely a körülbelül 10 mm-es foltátmér®re tekintettel igen jelent®s. A JSRT adatbázissal kapcsolatban továbbá meg kell jegyezni, hogy a 154 elváltozást tartalmazó kép között 14 olyan eset van, ahol az elváltozás a tüd® maszkján kívül esik. Ez gyakran a szív árnyékát jelenti, de el®fordulnak foltok a rekeszív részleges vagy teljes takarásában is. A jelenlegi maszkok miatt egyel®re ezeken a területeken nem futtattam az algoritmusokat, így eleve csak 140 képen van esély megtalálni az elváltozást. Az ilyen területek pontos körvonalával és egy kontrasztarányok miatti normalizálással az algoritmusok elvben képesek ezeken a területeken is hatékonyan megtalálni az elváltozást [16]. Adódik tehát a lehet®ség, hogy a kés®bbiekben ilyen irányba is fejlesszem tovább a rendszert. Jól képzett radiológusok a JSRT adatbázisban az elváltozások 70%-át találják meg legalább 50%-os kondenciával [42]. Ez az érzékenység a sz¶r®vizsgálatoknál jellemz® körülmények és id®korlátok között lényegesen alacsonyabb lehet, éppen ezért a gép részér®l egy hasonló érzékenységet már jó eredményként könyvelhetünk el.
5.1.2. További teszteléshez használt röntgenképek Az Innomed Medical Zt-t®l tesztelés céljából kaptam 94 db anonimizált röntgenképet, melyeken alkalmam volt kipróbálni az algoritmust. Ezekhez a képekhez azonban sem tüd®határvonal, sem orvosi bejelölés nem állt rendelkezésemre. A tüd®maszk hiányát tudtam orvosolni egy rendelkezésemre álló határvonal keres® eljárással [18] és Horváth Áron[96] közrem¶ködésével, azonban az elváltozásokról nem kaptam információt. Így ezeken a képeken csak az algoritmus robusztusságát lehet mérni, azaz azonos beállítások mellett körülbelül ugyanannyi találatot jelez-e. Néhány esetben ellen®rizni tudtam, hogy egy általam felismert foltot megtalált-e a rendszer, de egyrészt a radiológiai képzettségem hiányosságai, másrészt a képek nehéz elemezhet®sége miatt ezek az eredmények nem különösebben relevánsak. További tesztelési lehet®ségeket nyújtanak az ún. orvosi fantomból származó röntgenképek, melyeken számos mesterségesen kóros eset hozható létre, és tulajdonképpen tetsz®leges mennyiség¶ felvétel készíthet® róluk. Tapasztalataim szerint viszont tanításra csak korlátozottan alkalmasak, hiszen a fényviszonyok, a tüd® struktúrája és a foltok alakja nem annyira változatos, mint a valódi esetekben. Itt rendelkezésemre állt információ a folt elhelyezkedésér®l, ellenben csak néhány olyan kép állt rendelkezésemre, ahol volt is ilyen elváltozás, így a mérések nem tekinthet®k mérvadónak.
5.2. A jelöltkeres®k teljesítménye 5.2.1. AFUM A jelöltkeres® algoritmusokat AFUM és SBF a JSRT adatbázis 154 kóros elváltozást tartalmazó felvételén futtattam le a teljesítményük megmérése érdekében. Az értékel® rendszer
52
5. FEJEZET. TESZTELÉS
5.2. ábra. Az AFUM eredményképén egy valós pozitív találat, melyet a jelöltkiválasztó csak a közeli csont miatt talált meg, ami így nem reprezentálja jól az adott foltot, tehát alkalmatlan tanításra. A vizsgált kép a JSRT adatbázis 116. képe, a folt helyét a fehér téglalap jelöli. segítségével összeszámoltam a találatokat, ahol a szigorúbb, tanításhoz használt kritériumot használtam (lásd 4.3. fejezet). Így az AFUM képenként 20 találat gy¶jtése esetén 78 valós elváltozást talál meg. A engedékenyebb beállítással 107 foltot talált meg, de ezekkel a találatokkal tanítva az osztályozót, lényegesen romlott annak teljesítménye. A két kritérium közötti nagy különbség (37% a 25 mm-es kritérium javára) egyik oka vélhet®leg az, hogy az AFUM eredményképr®l gyakran nem lehet olyan jól megállapítani a körvonalat, mint például az SBF képr®l, így a rossz körvonalak miatt er®sen eltéved a jelöltkiválasztó algoritmus. A másik, talán még jelent®sebb ok, hogy az AFUM különösen érzékeny az anatómiai zajra. A találatok között gyakran szerepelnek a bordák egyes részei, de a csontok keresztez®dését szinte mindig megtalálja. Egy bordához közeli folt esetében a jelöltkiválasztó algoritmus el®ször gyakran a bordát találja meg, ami miatt a középpont hibás lesz és a körvonal is nagyrészt bordát tartalmaz, viszont a folt helyén intenzív pixelek vannak, tehát ezt is magába foglalja a keletkez® jelölt. Így viszont kés®bb az önálló foltot nem találja már meg a jelöltkiválasztó, helyette lesz egy nagyobbrészt rossz találat, ami alkalmatlan a tanításra. Egy ilyen esetet láthatunk az 5.2. ábrán. A csontos területen el®forduló hamis pozitívak számának oka, hogy jelent®s mennyiség¶ olyan
r1 és r2 pár van (lásd 4.7 egyenlet), ahol 2 ∗ r1 kisebb, mint a borda vastagsága, 2 ∗ r2 viszont jelent®sen nagyobb. Így sok, a borda mellett lév® világosabb pixelérték kerül bele a hányados kiszámításába, ami jelent®sen növeli a bordán elhelyezked® pixelek AFUM értékét. Erre egy megoldás lenne a csontok letörlése a képr®l. A kulcscsont és a bordák eltüntetésére folyamatban van egy algoritmus fejlesztése, melynek felhasználása ténylegesen segít az AFUM-nak. Ennek eredményét az 5.6.2. fejezetben ismertetem.
5.2.2. SBF A SBF algoritmus az AFUM-nál lényegesen jobb teljesítményt nyújtott. A szigorúbb tanító kritériummal 110 elváltozást talált, mely 79%-a azon eseteknek, ahol a folt a maszkon belül helyezkedett el. Itt nem volt tapasztalható akkora különbség a megenged®bb kritérium használatával, a találatok száma így csupán 124-re n®tt. A SBF hamis találatairól elmondható, hogy nagyrészt a tüd® küls® szélén helyezkednek el, mivel a tüd® körvonalán magas értékeket ad (ez
5.3. A JELÖLTKERESK FÚZIÓJÁNAK VIZSGÁLATA
megtalált esetek száma érzékenység(%) fals pozitív képenként
AFUM 78 0.51 19.5
SBF 110 0.71 19.3
AFUM OR SBF 116 0.75 39.2
53 AFUM AND SBF 72 0.47 nincs adat
5.1. táblázat. A két jelöltkeres® eredményeinek összehasonlítása. látható volt a 4.6. ábrán). Ezt kis mértékben orvosoltam a tüd®maszkok 10 pixeles középpont felé húzásával, mely szemmel láthatóan javított az eredményen, de messze nem szüntette meg a jelenséget. Azonban fontos megjegyezni, hogy az ilyen módon kijelölt tüd® széli tartományokat az osztályozó nagy pontossággal helyesen negatív találatként min®sítette. A csontos területek az SBF algoritmusnál is okoznak fals pozitív találatokat, bár kisebb mértékben, mint az AFUMnál. A kulcscsont és bordaárnyékmentes képeken azonban az SBF-et használva is jelent®s javulást tapasztaltam a teljesítményben.
5.3. A jelöltkeres®k fúziójának vizsgálata Vessük most össze a két algoritmus eredményét, és vizsgáljuk meg, hogy mennyit javulhatna a teljesítmény a két keres® együttes használatával. Az 5.1. táblázatban látható a két algoritmus önálló és együttes érzékenysége és a megtalálható esetek száma. A két eredményhalmaz unióját véve az érzékenység nem sokkal nagyobb az SBF által megtalált foltok számánál, ellenben a hamis pozitívak száma kétszeresére n®, és az AFUM által megtalált középpontok néhány képen nem is voltak elég pontosak, ezért elvetettem a találatok uniójának felhasználását. A kétszeres szám itt fels® becslés, hiszen lehetnek egybees® hamis pozitívak, de egy átlagos képen több az egyedi hamis találat, mint az egybees®, így a képenkénti 30 fals pozitív már alsó becslésnek is elfogadható. Metszet esetben pedig az érzékenység lett elfogadhatatlanul alacsony, ezért ezt az esetet nem vizsgáltam tovább. Ehelyett az AFUM eredményét a jellemz®k számításánál használtam fel, mely az osztályozó teljesítményen egyértelm¶en javított, némi futási id® növekedésért cserébe. Mivel az AFUM algoritmust tudomásom szerint a szóbanforgó projekt kapcsán próbáltam ki el®ször jelöltek keresésére mellkasröntgen-felvételeken [21], megállapítható, hogy sokkal kevésbé alkalmas a feladatra, mint az SBF sz¶r®. Ez részben abból adódhat, hogy nem veszi gyelembe a folt határvonalának irányát. Az eredeti felhasználási területén a mammográás alkalmazásoknál ez el®nyt jelent, hiszen ott el®fordulnak egyenetlenebb határú foltok, ellenben a tüd®daganatok egyenletesebb körvonalú, de halványabb foltok. A kisebb kontraszt miatt is gyengülhet az AFUM teljesítménye, hiszen ekkor egy másik, folt melletti sötét objektum jelent®sen ronthatja az FUM értéket azon r2 -kre, melyeknél a kör átfut ezen a szomszédos objektumon. A SBF ezzel ellentétben nem függ közvetetten sem a kontraszt viszonyoktól, sokkal inkább a folt élének láthatóságától.
5.4. Jelöltkiválasztó hangolásának eredményei A jelöltkiválasztó hangolására a 4.3. fejezetben ismertetett mód ad lehet®séget, azaz hogy milyen leállási feltételt használ. Ez lehet egy abszolút intenzitás küszöb, vagy egy x jelöltszám.
54
5. FEJEZET. TESZTELÉS
Mindkét módot függetlenül igyekeztem optimálisan behangolni, majd az eredményeket összevetettem egymással. A teszteket ismét a JSRT 154 db elváltozást tartalmazó képén végeztem. A küszöböz® módban kipróbált küszöbértékek a következ®k voltak {0.5, 0.63, 0.69, 0.73, 0.74, 0.76}. Ezekb®l a 0.73-as küszöb adta a legjobb teljesítményt, az osztályozó kimenetén képenkénti 4 hamis pozitív mellett 61%-os érzékenységet. Ekkor az SBF el®sz¶r® érzékenysége 76.6% volt átlagosan 14 hamis jelölt mellett. A 0.5-ös és 0.76-os küszöböt leszámítva a többi beállításnál nem voltak jelent®s különbségek az osztályozó kimenetén. Az eredmények az 5.3. ábrán láthatók. A x jelöltszám esetében a kezdeti beállítás képenként 20 találat gy¶jtése volt. Ezt egyrészt elkezdtem csökkenteni 19-re majd 18-ra, illetve kipróbáltam két nagyobb, egy 25, illetve egy 30 jelöltet gy¶jt® változatot. A kezdeti 20 jelöltes beállításnál az érzékenység 63% körül alakult képenként 4 fals pozitív mellett. A több jelöltet gy¶jt® változatoknál a teljesítmény valamelyest csökkent, a 19 jelölt gy¶jtése esetén viszont megn®tt közel 65%-ra. Érdekes összevetni az általánosan használt küszöböl® eljárást a jelen rendszerben újonnan kipróbált x számú jelölt gy¶jtésével szemben. Ez utóbbi ugyanis határozottan jobb teljesítményt nyújtott. Az okok felderítéséhez érdemes megvizsgálni egy adott küszöbnél a képenként gy¶jtött találatok számát. A 0.69-es küszöbnél a képenként átlagos jelöltszám 20, többek között ezért is vettem bele az összevetésbe. Ennek ellenére el®fordulnak olyan esetek, ahol egy adott képen 5 találatot ad, más képeken pedig közel 40-et. Ez a nagy szórás a jelöltszámban arra enged következtetni, hogy vannak olyan jelleg¶ képek, ahol globálisan magasabb lehet az SBF intenzitás. Ezt okozhatja zaj vagy eltér® kontraszt viszonyok. El®bbit támasztja alá, hogy a medián sz¶r®vel zajtalanított képeken globálisan megn®tt az SBF érték. Egy ilyen egyenletesen magasabb SBF intenzitású képen a x küszöb sok, vélhet®leg fölösleges hamis jelöltet generál. Egy globálisan alacsonyabb intenzitású képen viszont elveszhetnek olyan foltok, melyek más viszonyok között készült képen megtalálhatók lennének. Természetesen a x számú jelölt gy¶jtése sem tökéletes megoldás, mert lehetnek olyan tüd®képek, ahol több foltszer¶ objektum van, illetve olyan, ahol kevesebb. A több esetben ezeket mind meg kellene találni, a kevesebb esetben pedig nem kellene fölöslegesen további jelölteket gy¶jteni, ha elfogytak a foltszer¶ek. Ennek ellenére a mutatott teljesítmény alapján megállapítható, hogy a x számú jelölt gy¶jtése hatékonyabb megoldás lehet egy x küszöb alkalmazásánál. További vizsgálatok tárgya lehet, hogy különböz® módszerekkel normalizált képeken mennyivel lehet egyenletesebbé tenni az SBF intenzitásokat, így lehet®vé téve a x küszöb alkalmazását.
5.5. Végs® eredmények 5.5.1. A vizsgálati módszer Az osztályozó számszer¶ vizsgálatát a JSRT adatbázison végeztem. Az eredmények számításához mindig négyszeres keresztkiértékelést alkalmaztam. Ez abból áll, hogy véletlenszer¶en négy egyforma részhalmazra bontom a tanítómintákat, ügyelve arra, hogy minden egyes halmazban azonos arányban legyenek a pozitív és a negatív mintapontok, illetve mindegyikbe jusson könnyebben és nehezebben felismerhet® folt is. Ezek után négy tanítási ciklus következik. Mindegyikben kiválasztom az egyik csoportot min®sít® halmaznak, a többit pedig tanítóhalmaznak. A négy min®sít® halmazon elért eredményt a végén átlagolom. Ezzel kiküszöbölhet®, hogy inkor-
5.5. VÉGS EREDMÉNYEK
55
0.63 0.69 0.73 0.74 0.76
Érzékenység
0.65
0.6
0.55
0.5
0.45
1.5
2
2.5
3
3.5
4
4.5
5
5.5
Képenkénti átlagos fals pozitívak
5.3. ábra. A különböz® abszolút küszöbökhöz tartalmazó FROC görbék m¶ködési tartományhoz közeli szakaszai. Látható, hogy a 0.73 küszöbérték adta a legjobb eredményt, de ez sem éri el a kés®bbiekben a(z) 5.5. ábrán bemutatandó 19 jelöltet gy¶jt® verzió teljesítményét. rekt módon a tanító halmazt is felhasználjam tesztelésre. A FROC görbék pontjai az osztályozó kimenetén lév® küszöböl® változtatásával állíthatók el®. Tapasztalataim szerint némi szórás tapasztalható az így kapott eredményekben, a tanítópontok kiválasztásának nemdeterminisztikus volta miatt. Ezért a végs® FROC görbéket tíz futtatás eredményéb®l állítom el® átlagolással.
5.5.2. Az osztályozás eredményei Az osztályozó hangolását a 4.6.5. fejezetben ismertetett módon végeztem el. A kipróbált C paraméterek a [10−3 , 101 ] tartományba estek. Különböz® beállítások esetében más-más paraméterek bizonyultak optimálisnak, bár a legjobb teljesítményt nyújtó [10−2 , 10−1 ] tartományban minimális különbségek adódtak, és 10−3 -nál is alig tapasztaltam csökkenést. A rendszer robusztussága érdekében végül a C = 0.01 beállítást választottam. Els®ként lemértem a teljesítményt arra az esetre, amikor a jellemz®ket nem az alulmintavételezett, hanem az eredeti, 2048 × 2048 pixeles felbontású képekb®l számítottam. Az eredményekben nem tapasztaltam javulást. Ennek oka vélhet®leg az, hogy amennyit nyerhetünk a részletesebb folttextúrával, annyit el is veszítünk a nagyobb zaj megjelenésével, melyet eddig a bilineáris alulmintavételezés kisz¶rt. A futtatás eredménye az 5.4. ábrán látható nagyítva. A rövidebb futási id® miatt a végleges méréseket 512 × 512 pixeles képr®l származó jellemz®kkel végeztem. Az 5.5. ábrán a végleges beállításokkal operáló verzió eredménye látható a 154 elváltozást tartalmazó képre, illetve az összes, 247 felvételre. Utóbbin 2-3%-kal alacsonyabb a teljesítmény. Az FROC görbéknek felülr®l szab korlátot az SBF jelöltkeres® érzékenysége, mely 124/154, azaz 81%-os. Egy ideális m¶ködési pont lehet a képenként átlagosan 4 fals pozitívot adó 65%-os érzékenység¶ beállítás, vagy a képenkénti átlagos 5 fals pozitívhoz tartozó közel 70%-os érzékenység¶ munkapont. Ezek az eredmények már lehet®vé tehetik a rendszer CAD-kénti alkalmazását [14]. Itt érdemes megemlíteni, hogy ez az eredmény hogyan viszonyul más ismert megoldásokhoz. A 2.1. táblázatban lev® értékekkel összevetve az eredményeket, megállapíthatjuk, hogy azok közel vannak a legjobb megoldásokhoz. A lemaradás néhol azért t¶nik jelent®sebbnek, mert a tárgyalt rendszer nem foglalkozik a szívárnyék alatti esetekkel. Ha ezt gyelembe vesszük, akkor a különbség a legjobbakhoz képest körülbelül 5% az érzékenységet tekintve. Érdemes megemlíteni,
56
5. FEJEZET. TESZTELÉS
0.85
512x512 felbontású jellemzõk 2048x2048 felbontású jellemzõk
0.8
Érzékenység
0.75 0.7 0.65 0.6 0.55 0.5 0.45 0.4 1
2
3
4
5
6
7
8
9
10
Képenkénti átlagos fals pozitívak száma
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
Érzékenység
Érzékenység
5.4. ábra. A rendszer FROC görbéje a 154, elváltozást tartalmazó képre az eredeti felbontású képr®l származó jellemz®k esetén a várható m¶ködési tartományra kinagyítva. Kékkel az 512 × 512 pixeles képr®l származó jellemz®k esetén mutatott teljesítményt ábrázoltam 20fp/kép gy¶jtése esetén.
0.5 0.4 0.3
0.5 0.4 0.3
0.2
0.2
0.1
0.1
0
0
2
4
6
8
10
12
14
16
18
Képenkénti átlagos fals pozitívak száma
0
0
2
4
6
8
10
12
14
16
18
Képenkénti átlagos fals pozitívak száma
5.5. ábra. A végleges rendszer FROC görbéi a 154, elváltozást tartalmazó képre (balra), illetve az összes 247 képre (jobbra). hogy milyen eredményekkel dolgoznak a nagy röntgengyártók, például a Philips, a Siemens vagy a GE. A Philips esetén tudunk egyedül számadatot, az ® rendszerük a sz¶rések során 40%os érzékenységgel dolgozik képenként 2.5 hamis pozitív mellett. Ez rosszabb, mint az el®bbi saját mérések, de meg kell jegyezni, hogy ez az eredmény nem a JSRT adatbázisra vonatkozik, tehát nem összemérhet®. Azt viszont kijelenthetjük, hogy nagyságrendileg a Philips rendszere sem tud jobb eredményt elérni. Ez a számok ismerete nélkül elmondható a többi gyártónál is, hiszen mindenhol csak segítséget nyújtó második olvasó-ként emlegetik a CAD rendszereket. Megegyeznek abban is, hogy képenként több hamis találat el®fordul, tehát önmagában egyik sem helyettesítheti az orvost.
5.5.3. Foltok nehézsége szerinti vizsgálat Megvizsgáltam az eredményeket külön-külön az egyes folt nehézségi kategóriákra nézve. Arra kerestem a választ, hogy a felismer®nek és az orvosoknak ugyan azok az esetek jelentenek-e nehézséget. Az 5.6. grakonon különböz® színnel ábrázoltam a különböz® nehézség¶ foltokhoz tartozó FROC görbéket. A görbe 19 fp/kép-hez tartozó értékeinél az osztályozó konstans po-
5.5. VÉGS EREDMÉNYEK
57
1 0.9 0.8
Érzékenység
0.7 0.6 0.5 0.4 1 2 3 4 5
0.3 0.2 0.1 0
0
5
10
15
20
Képenkénti átlagos fals pozitívak száma
5.6. ábra. A rendszer FROC görbéje lebontva az orvosok által megállapított nehézségi szint szerint, 19fp/kép beállítás mellett a 154 elváltozást tartalmazó képre. 5 jelöli a legkönnyebb, míg 1 a legnehezebb foltokat. zitív döntést ad, ebb®l kikövetkeztethet® a jelöltkeres® teljesítménye. Így meggyelhet®, hogy az SBF algoritmus egyértelm¶en rosszabb teljesítményt nyújt a nehezebb foltokra. A valós alkalmazásokban használatos 2-6 fp/kép tartományokban a kezdeti arányok általában megn®nek, bár látható olyan helyzet is, ahol felcserél®dik két kategória sorrendje. Ennek ellenére megállapítható, hogy az osztályozó teljesítményére is átlagosan romlik a nehezebben felismerhet® foltok esetén. A nagyon egyértelm¶ és egyértelm¶ kategóriák sorrendjének felcserél®dése annak köszönhet®, hogy míg el®bbi kategóriában az SBF jelöltkeres® minden elváltozást megtalál, addig utóbbi kategóriában 2 esetben is hibázik. Érdemes megvizsgálni, hogy a nehezebb foltoktól való függés hogy viszonyul az orvosoknál tapasztalható függéshez. A JSRT adatbázis készítésekor a szerz®k elvégeztek egy hasonló vizsgálatot [75], mely az eltér® mér®számok miatt nem hasonlítható össze számszer¶en a megoldásunkkal, de ennek ellenére a különbség szembet¶n®. Míg az orvosok a legkönnyebb eseteknél közel hibátlan teljesítményt nyújtottak, a legnehezebb foltoknál a teljesítményük közel állt a véletlen osztályozáshoz. Ez meger®síti azon várakozásunkat, mely szerint a rendszer leginkább a nehezebb foltok megtalálásában nyújthat segítséget, hiszen azoknál relatív jobb teljesítményt nyújt. A továbbiakban megvizsgálok néhány rendszerösszetev®t, hogy mennyiben járulnak hozzá az összesített eredmények kialakításához.
5.5.4. Az el®sz¶r®k teljesítménye A különböz® el®sz¶r®k medián, illesztett, LCE, wavelet hatását a jelöltkiválasztó kimenetén vizsgáltam, hogy megállapítsam, melyik javíthat az összteljesítményen. Ha egyértelm¶en rontott az eredményen, akkor nem vizsgáltam részletesen. Ilyen volt az illesztett sz¶r®. A medián sz¶r® is az esetek kb. 20%-át leszámítva rontott a felismerési hatékonyságon. Az LCE használatával már összemérhet® eredményeket kaptam az el®sz¶rés mentes verzióhoz képest. A jelöltkiválasztó kimenetén a 20 jelöltet gy¶jt® beállításnál egy esetben egy fals negatív valós pozitívra változott, egy esetben pedig fordítva. A megtalálás sorrendjét gyelembe véve azonban az esetek nagy többségében az eredmény romlott, azaz a jelöltkiválasztó kés®bb találta meg a valós elváltozást.
58
5. FEJEZET. TESZTELÉS
0.9 0.8
Érzékenység
0.7 0.6 0.5 0.4 0.3
zajmentesített zajmentesítés nélkül
0.2 0.1
0
2
4
6
8
10
12
14
16
18
Képenkénti átlagos fals pozitívak száma
5.7. ábra. A zajsz¶rés hatása a rendszer teljesítményére. Míg a jelöltkeres® teljesítménye javult (görbe jobb oldali szakasza), az osztályozóé egyértelm¶en romlott, ami miatt a gyakorlatban is érdekes tartományban (2-4 fals pozitív képenként) rosszabbul teljesít a rendszer. Megvizsgálva az SBF képek kimenetét azt tapasztaltam, hogy szinte minden esetben n®tt a valós folt intenzitása, ami pozitív hatás, de más objektumok intenzitása még jobban megn®tt. Ezzel magyarázható, hogy a jelöltkiválasztó több fals pozitívot talál meg, még miel®tt kiválasztaná a valós pozitívot. Végeredményben elmondható, hogy az LCE az érzékenységet csak a hamis pozitívak számának jelent®s növekedése mellett javíthatja, ami miatt nem el®nyös a használata. Ennek eredményeképp a jelenlegi verzió tesztelését a továbbiakban LCE sz¶rés nélkül végeztem. A wavelet tartományban kivitelezett zajsz¶rés már használhatóbb eredményt adott. Az SBF algoritmus a zajmentesített képeken hat olyan elváltozást talált meg, melyeket addig nem, illetve két esetben elvétette az eddig megtalált esetet. Ez összességében 3%-os érzékenység növekedés azonos elhanyagolhatóan kisebb, azaz jobb hamis pozitív szám mellett. A megtalálás sorrendjét tekintve a mindkét esetben megtalált képeken szintén 3%-os javulást tapasztaltam. Az így kapott jelölteken tovább dolgozva azonban az osztályozó nem mutatott jobb teljesítményt, a jellemz® munkapontokban (2 - 4 hamis pozitív képenként) a kimenetén nem kaptam jobb eredményt a zajos képekhez képest, mely az 5.7. ábrán is látható. Az ok felderítése további vizsgálatokat igényel, de emiatt egyel®re a végleges rendszerbe nem vettem bele ezt az el®sz¶r® algoritmust sem.
5.5.5. Körvonalazó hatásának vizsgálata A végleges rendszert teljesítményét lemértem a 4.4. részben ismertetett legjobb határvonal eljárás és x sugarú, kör alakú határvonal használata mellett is. Az 5.8. ábrán látható, hogy a körvonalazó használata minimális javulást hozott. Azonos beállításoknál a körvonalazó használatával 64%-os érzékenységet mértem, nélküle 62% volt ugyanez képenként 4 hamis pozitív mellett. Meggyelhet® azonban, hogy képenként kevesebb hamis pozitívnál a körvonalazó használata nélkül jobb eredményeket érhetünk el. Ez vélhet®leg annak köszönhet®, hogy a körvonalazó néhány esetben igencsak rossz területet határol el, ami rontja az osztályozó teljesítményét, míg a használata nélkül az osztályozó tisztább mintákkal tanítható. Ennek ellenére a körvonalazó összességében javít a jellemz® m¶ködési pontokban, de ezt leginkább a jelöltkiválasztó segítésével éri el.
5.5. VÉGS EREDMÉNYEK
59
0.9 0.8
Érzékenység
0.7 0.6 0.5 0.4 0.3 0.2
Körvonalazó használatával Körvonalazó használata nélkül
0.1 0
0
5
10
15
20
Képenkénti átlagos fals pozitívak száma
5.8. ábra. A rendszer FROC görbéje a körvonalazó használata nélkül. Az osztályozó ugyan hatékonyabb a körvonal nélküli esetben, összességében így is el®nyt jelent a határvonal keres® használata.
5.5.6. Dimenziócsökkentés hatásának vizsgálata A relevanciateszt által kiadott értékek az egyes dimenziókra az 5.9. ábrán láthatók. A legkisebb relevancia értékkel rendelkez® jellemz®ket sorra elhagyva végeztem el a bemeneti dimenziószám csökkentését. Ez a módszer a jelenleg használt lineáris kernelfüggvénnyel nem hozott jelent®s teljesítménybeli javulást, ami leginkább annak köszönhet®, hogy ez a magfüggvény kevésbé érzékeny az irreleváns dimenziók meglétére. A dimenzió fokozatos csökkentésével az érzékenység rögzített specicitásnál alig n®tt, majd er®sen csökkenni kezdett (5.10. ábra). Körülbelül 110 dimenziót lehetett elhagyni anélkül, hogy jelent®s különbség lett volna az osztályozó teljesítményében. Azt tapasztaltam, hogy körülbelül a legrelevánsabb 20 dimenzió hordozza az információ nagy részét a foltok megkülönböztethet®ségér®l, a többi hatása nem egyértelm¶. Így felmerülhet a legkevésbé releváns dimenziók felülvizsgálata és esetleges módosítása vagy eldobása. Elvégeztem továbbá a bemeneti dimenziók autó-korreláció vizsgálatát. Elkészítettem a bemeneti 138 dimenziós vektor mint valószín¶ségi változó vektor Pearson féle lineáris korrelációs mátrixát. Ebben az (i,j) koordinátájú elem az i-edik és j-edik dimenziók Pearson féle lineáris korrelációs együtthatója, mely egy [-1,1]-beli értéket vehet fel. Egy érték minél közelebb van 0-hoz, annál kevésbé korrelált a két dimenzió. Ökölszabálynak mondható, hogy ha az érték abszolút értéke kisebb 0.3-nál, akkor minimális, 0.3 és 0.7 között gyenge, 0.7 felett pedig er®s korrelációról beszélhetünk. Két dimenzió összefüggésének megállapításához így csak a korrelációs együttható abszolút értékére van szükség. Az 5.11. ábrán láthatóak a mátrix elemeinek abszolút értékei különböz® színekkel jelölve. Itt látható, hogy aránylag kevés független dimenzió van a bemeneten, melyet a relevancia teszt is alátámasztott. Nagyobb összefügg® tömbök is meggyelhet®k, például az 54 különböz® beállítású DoG lter melyek sorszáma 44-t®l 97-ig terjed hajlamos hasonló eredményeket adni. Ezek összevonásával elvben csökkenthet® a dimenziók száma a teljesítmény romlása nélkül. Ezt alátámasztandó kipróbáltam a bemeneten a f®komponens analízis nev¶ eljárást. Az eredeti 138 dimenziót csökkentettem 12 lépésben 10 dimenzióra. A lineáris osztályozó robusztussága miatt jobb eredményt nem várhattam a dimenziószám csökkentésével, ehelyett azt próbáltam felderíteni, hogy megközelít®leg hány független dimenzió van a bemeneti vektorban. Az eredmények
60
5. FEJEZET. TESZTELÉS
400 350
relevancia érték
300 250 200 150 100 50 0
0
20
40
60
80
100
120
140
dimenzió sorszám 5.9. ábra. Az egyes bemeneti dimenziók relevanciája a(z) 4.6.4. részben ismertetett módon számolva.
0.66
0.64
Érzékenység
0.62
0.6
0.58
0.56
0.54
0.52
0
20
40
60
80
100
120
140
Bemeneti dimenziószám
5.10. ábra. A dimenziócsökkentés hatása az irreleváns dimenziók elhagyásával. A rendszer érzékenysége képenként 4 fals pozitívnál a bemeneti dimenziószám függvényében. Ugyan elég nagy az értékek szórása, a tendencia azonban látszik, hogy 130-tól 20 dimenzióig minimális javulás, ezután jelent®s teljesítmény csökkenés következik.
5.5. VÉGS EREDMÉNYEK
61
1 0.9
120
Jellemzõ sorszáma
0.8 100
0.7 0.6
80
0.5 60
0.4 0.3
40
0.2 20 0.1
20
40
60
80
100
120
Jellemzõ sorszáma 5.11. ábra. A Pearson féle lineáris korrelációs mátrix elemenkénti abszolútértéke. A vörös értékek er®sen összefügg® dimenziókat jeleznek.
62
5. FEJEZET. TESZTELÉS
0.64 0.62
Érzékenység
0.6 0.58 0.56 0.54 0.52 0.5 0.48 0.46
0
20
40
60
80
100
120
140
Bemeneti dimenziószám
5.12. ábra. A dimenziócsökkentés hatása a PCA eljárással. A rendszer érzékenysége képenként 4 fals pozitívnál a bemeneti dimenziószám függvényében. 30 feletti dimenziószámnál a teljesítmény közel konstans, 20 dimenziónál drasztikusan csökken. az 5.12. ábrán láthatók. Meggyelhet®, hogy 30 dimenzióra csökkentéssel még egyértelm¶en nem veszítünk információt, azonban a 20 származtatott dimenzió már nem elég a helyes osztályozáshoz. Az eredmény többnyire összevág az el®z®ekben tapasztaltakkal, leszámítva, hogy míg a relevancia alapú dimenzió redukciónál elég volt 20 dimenzió a jó teljesítményhez, a PCA-nál némileg több kell ennek eléréséhez. Ez vélhet®en a PCA érzékenységének tudható be a zajos bemenetekre, illetve hogy nem veszi gyelembe az osztályozó sajátosságait.
5.5.7. Szimmetriavizsgálat eredményei A szimmetriavizsgálat elemzésénél el®ször megvizsgáltam, hogy önmagában a módszer mennyire képes kisz¶rni a hamis pozitívokat. Ezt megnéztem a Fourier transzformáció és a wavelet transzformáció alapú megoldásra is. Ezzel tudom igazolni, hogy van létjogosultsága a módszerek felhasználásának, illetve kiválasztani a hatékonyabbikat a további vizsgálatokhoz. Ezután lefuttattam a végleges rendszert úgy, hogy a szimmetriavizsgálat eredményét a meglév® osztályozó bemenetére vezettem, azaz jellemz®ként használtam fel. Ezzel korrekt módon megkaptam, hogy a módszer mennyire hasznos a gyakorlati alkalmazás során. Az els® tesztet 101 pozitív és 2872 negatív tartományon végeztem, melyekr®l a jelöltkiválasztó egyértelm¶en el tudta dönteni a kórosságukat. A Fourier és a wavelet transzformációs megoldás összevetéséhez megvizsgáltam, hogy a hozzájuk tartozó (4.72) egyenletbeli T értékkel mennyire képesek szeparálni a valós foltokat a hamis találatoktól. Mivel a valódi elváltozásoknál egyértelm¶en alacsonyabb T értéket vártam, egyszer¶en küszöböltem a számot, ezzel egy osztályozást megvalósítva. Az így kapott két osztályozó Receiver Operating Characteristic (ROC) görbéit mutatja be az 5.13. ábra. Mindkét megoldás hordoz információt a terület foltszer¶ségér®l, hiszen a megvalósított osztályozás ROC görbéje eltér a véletlenszer¶ osztályozáshoz tartozó 45◦ -os egyenest®l, továbbá a wavelet alapú regisztráció el®nye is egyértelm¶. A további vizsgálatok során már a T és a keresztkorrelációs érték (N XC ) küszöbeit együttesen kerestem. Többféle értéket kipróbáltam az eloszlások vizsgálata alapján. Amennyiben a minél nagyobb érzékenység a cél, akkor a keresztkorrelációs küszöb nagyon magasra választása célszer¶. Ezzel biztosítható, hogy az ellenpontot kis hibával megtaláltuk, és a T érték már
5.5. VÉGS EREDMÉNYEK
63
1 0.9 0.8
Érzékenység
0.7 0.6 0.5 0.4 0.3
Fourier transzformáció alapú megoldás Wavelet transzformáció alapú megoldás Véletlenszerû osztályozás
0.2 0.1 0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Specificitás
5.13. ábra. A Fourier és wavelet transzformáció alapú regisztráció összehasonlítása. Utóbbi egyértelm¶en jobban szeparálja a hamis és a valós elváltozásokat. ténylegesen a folt jelenlétét fogja jellemezni. Egy ehhez igazodó beállítás lehet a 0.95 nagyságú küszöb a keresztkorrelációs értékre. Ekkor a T érték küszöbének 5-öt választva 679 hamis pozitívat tudtam kisz¶rni mindösszesen 4 valódi találat elveszítése mellett. Ez 23.6%-os nyereség a 4%-os veszteséggel szemben. Amennyiben a hamis pozitívok csökkentése a cél, alacsonyabb keresztkorrelációs küszöböt érdemes választani. 0.75-ös értékkel dolgozva T küszöbének 6.3-at választva a hamis találatok majdnem felét®l 1449 eset megszabadulhatunk, miközben a valódi találatoknak csak a 16%-át, azaz 16 darabot veszítünk el. A meglev® rendszerbe jellemz®ként beépítve a keresztkorrelációs és T értékeket a javulást FROC görbéken vizsgáltam. A pontosabb összehasonlíthatóság kedvéért ennél a mérésnél x körvonalat alkalmaztam. Az eredmények az 5.14. ábrán láthatók. Az eredményeket megvizsgálva 58 illetve 64%-os érzékenységnél, rendre 5 és 10%-os csökkenést tapasztalhatunk a hamis pozitívak számában, ami mindenképpen el®relépésnek számít. Összességében megállapítható, hogy a szimmetriavizsgálattal javítani lehet a foltfelismer® teljesítményét, továbbá a wavelet alapú regisztráció el®nyt jelent a Fourier transzformáció alapú megoldáshoz képest. A jelöltkiválasztó kimenetén mért javulás ugyan nagyobb a végs® teljesítményen mértnél, de ez betudható az el®bbinél alkalmazott nem teljesen korrekt mérési eljárásnak, illetve annak, hogy az osztályozó m¶ködése még nem ideális, a paraméterek hangolásában még lehetnek tartalékok. A regisztrált képeket megvizsgálva az is szembet¶n®, hogy komolyabb aszimmetriákat például ha a két oldalon jelent®sen eltér a bordák közötti távolság nem tudott lekezelni az algoritmus. Az ilyen eseteken segítene a regisztráció további hangolása például a simaságot szabályozó tag pontosabb beállításával. Éppen ezért a vizsgálat nem tekinthet® lezártnak, a szimmetriavizsgálat fejlesztésére még számos lehet®ség adódik.
5.5.8. Futási id® A tesztkörnyezet fontosabb paraméterei az 5.2. táblázatban láthatók. A rendszer teljes futási ideje 87 s, melyb®l 51 s az SBF jelöltkeres® futása. Ez az id®eredmény egy diagnózis során már elfogadható, de messze nem ideális, illetve sz¶r®vizsgálat során történ® alkalmazása csak oine módon lehetséges, mivel egy radiológus röntgenképpel eltöltött ideje tipikusan 30-60 másodperc.
64
5. FEJEZET. TESZTELÉS
0.7 0.68
Érzékenység
0.66 0.64 0.62 0.6 0.58 0.56
Szimmetriavizsgálattal Szimmetriavizsgálat nélkül
0.54 0.52 1.5
2
2.5
3
3.5
4
4.5
5
Képenkénti átlagos fals pozitívak száma
5.14. ábra. A rendszer teljesítményének javulása a szimmetriavizsgálat alkalmazásával. CPU RAM
Core 2 Duo 1.8 GHz 2GB DDR2 667 MHz
5.2. táblázat. A tesztkörnyezet. Az algoritmusok szinte kivétel nélkül interpretált Matlab környezetben futnak. Saját és mások tapasztalatai szerint is egy fordított nyelven (például C++) a futási id®k gyakran a tizedére csökkennek [16]. Mivel a végleges környezetben az algoritmus C++ változata fog futni egy hasonló teljesítmény¶ hardveren, ezért reális elvárás, hogy a végs® verzió 10 másodpercen belül fusson, mely már sz¶r®vizsgálatok során is valós idej¶ alkalmazást tesz lehet®vé. További lehet®ség a grakus hardveren történ® futtatás, mivel az algoritmusok nagy része, különösen az SBF nagymértékben párhuzamosítható.
5.6. A rendszerrel folytatott speciális vizsgálatok 5.6.1. Egyéb röntgenképek Lefuttattam a rendszert 94 db Magyarországról származó, normál sz¶r®vizsgálat során készült felvételen. A képekhez a tanszéken készítettünk maszkokat. Az esetek kórosságáról annyi információ állt rendelkezésemre, hogy nagy részükön valamilyen betegség látható, részben a keresett tüd®rák. A foltok pontos helyér®l és létér®l nem volt információm. Azért, hogy valami viszonyítási alapom legyen, végignéztem a képeket a futtatások el®tt. 23 esetet találtam, amikor számomra is egyértelm¶ volt az elváltozás léte és helye, illetve 12 esetben olyan területet találtam, ahol bizonytalanul, de foltot véltem felfedezni. A rendszert lefuttatva a képeken a következ® eredményeket kaptam. Összesen 502 jelöltet kaptam az osztályozó kimenetén, mely a JSRT képek alapján volt betanítva. Az általam biztosan foltnak vélt esetekb®l 20-at helyesen megtalált, és 3-mat elvétett. A bizonytalan esetekb®l 9-et foltnak min®sített, és ismét 3-mat nem talált meg. Ez összességében 83%-os érzékenységnek felelne meg képenként 5 fals pozitív mellett, de persze ezek az eredmények nem relevánsak a foltok validálásának hiányában. Vélhet®leg számos helyen van még elváltozás, amit én nem vettem észre, de valószín¶leg ezek között akad olyan is, amit a gép észrevett. Összességében tehát csak annyit állapíthatunk meg, hogy a hamis pozitívok száma hasonlóan alakul a JSRT
5.6. A RENDSZERREL FOLYTATOTT SPECIÁLIS VIZSGÁLATOK
65
képeknél tapasztalthoz, és az egyértelm¶bb esetekben mutatott érzékenység is közel ugyanannyi. A rendszert®l tehát a kés®bbiekben robusztus m¶ködést várhatunk más adatbázisokon is. A rendszer tanításához, valamint az eredmények számszer¶ kiértékeléséhez is alapvet®en a JSRT adatbázist használtam fel. Azonban ebben az adatbázisban az egyes speciális esetekr®l (például kulcscsontárnyék takarásában elhelyezked® folt) viszonylag kevés kép áll rendelkezésre. Ezáltal a jelen CAD rendszer készítésekor, valamint a kés®bbi fejlesztések során is nagy segítséget nyújthat egy olyan eszköz, mely lehet®séget biztosít hiteles tesztesetek készítésére. Az Innomed Medical Zrt. jóvoltából rendelkezésemre állt egy orvosi fantom, mely alkalmas erre a célra. Az eszköz egy az emberi mellkasi területet modellez® bábú. A készítése során olyan eszközök kerültek felhasználásra, melyek az emberi szövetekéhez nagyon hasonló röntgenárnyékot adnak, így a bábú megröntgenezésekor egy a valós röntgenfelvételekre nagymértékben hasonlító képet kaphatunk. Az eszköz valódi el®nye azonban rugalmas kialakíthatóságában rejlik. A tüd®höz rögzíthet® apró golyócskák melyek a rákos elváltozáshoz hasonló árnyékot adnak tetsz®leges módon elhelyezhet®k, ezáltal bármilyen speciális elrendezés kialakítható. Így lehet®ség nyílik olyan ritka esetek generálására, melyek a JSRT adatbázisban csak kis mennyiségben fordulnak el®, így az ilyen speciális esetekkel kapcsolatosan is érdemi vizsgálatokat lehet folytatni. A fantom használatát korlátozta, hogy egyel®re nem álltak rendelkezésemre a tüd®felek területét jelöl® maszkok. Mivel a tüd®t körülvev® anatómiai egységek árnyékai nem mindenhol látszanak úgy, mint egy emberi tüd® esetében, ezért sajnos a projekt keretében használt tüd®határvonal keres® algoritmus sem ad rajta jó eredményeket a megfelel® módosítások hiányában. A teszteléshez ezért kézzel készítettem tüd®maszkokat, mely azonban id®igényes, és a maszkok nem elég pontosak. Ezekkel a maszkokkal próba jelleggel lefuttattam az algoritmust néhány képen. Ezeken a rendszer a JSRT adatbázishoz hasonló eredményeket adott. Egy futási eredmény az 5.15. ábrán látható. Amint a tüd®körvonal keres® alkalmassá válik a fantom képeken való használatra, egy kiterjedtebb vizsgálatot fogok elvégezni.
5.6.2. Kulcscsontárnyék nélküli képek A projekt keretében egy másik párhuzamos fejlesztés is folyik, melynek célja a felismerést megnehezít® csontos részek lokalizációja, valamint az árnyékok letörlése [20]. Jelen fejezetben a kulcscsontárnyék eltüntet® algoritmussal szerzett tapasztalataimat ismertetem. Elvben javulást várhatunk el, hiszen a csontárnyék alatti foltok a letörlés hatására már jobban fognak hasonlítani a tüd® bels® területén elhelyezked® foltokhoz. Ez mind a jelöltkeres®t és osztályozót is segítheti. A JSRT adatbázis els® 120, illetve a 139, 140, 141, 143 -as sorszámú képén vizsgálódtam. Ügyeltem arra, hogy minden olyan felvételt felhasználjak, melyen az elváltozás a kulcscsont környékén van, ezért került a vizsgálatba az utolsó négy kép, leszámítva a 140. képet, ami a szívritmus szabályozó kábele miatt került be. Azokra a kérdésekre kerestem a választ, hogy egyrészt hogyan befolyásolja a kulcscsont eltüntetés a folt láthatóságát, ezzel a felismer® érzékenységét, másrészt mennyire csökken a hamis pozitívak száma. Az adatbázis összesen 20 db olyan képet tartalmaz, ahol a folt a kulcscsont alatt, vagy közvetlen közelében helyezkedik el. Ezek a 11, 13, 22, 30, 31, 36, 37, 38, 45, 46, 59, 68, 93, 98, 103, 104, 116, 139, 141, 143 -as képek. Az SBF képen látható intenzitás ezeken a felvételeken 9 esetben jobb, 6 esetben rosszabb lett az elt¶ntetés hatására, 5 esetben pedig elhanyagolható volt
66
5. FEJEZET. TESZTELÉS
5.15. ábra. Az orvosi fantomról készült röntgenkép. A foltok helyeit gémkapcsok jelölik. Balra az eredeti kép, míg jobbra az SBF jelöltkeres® kimenete látható. Utóbbin a számok a megtalálás sorrendjét jelölik, ami az egyes találatok intenzitásai rendezésnek felelnek meg az SBF eredményképen. Az SBF a két jobban látható foltot nagy intenzitással és korrekt körvonallal találja meg sorszám 4 és 5 , míg az egyik nehezebben látható foltot csak tizenötödikként, azaz kisebb intenzitással, a körvonal pedig ráfut a gémkapocsra.
a különbség. Az algoritmus megtalálta az elváltozást a 6 kedvez®tlenebb esetben is a képenkénti 20 jelölt gy¶jtése mellett. Mivel az SBF kép intenzitások, amikor változtak, akkor sem jelent®sen, és a jelöltkiválasztó kimenetén mérhet® érzékenységét sem befolyásolták, ezért úgy döntöttem, hogy a fals pozitívak csökkentésére érdemesebb felhasználni a módszert. Ebb®l a megfontolásból vettem a kulcscsontot tartalmazó és kulcscsont nélküli felvételekkel kapott találatok metszetét a jelöltkiválasztó kimenetén. Ezzel a módszerrel a 20 képes halmazon 20 hamis pozitívtól szabadultam meg, ami képenkénti 1 fals pozitív nyereség. Figyelembe véve, hogy az érintett képeken a 380-ból összesen 69 hamis találat volt a kulcscsont környezetében, a nyereség 29%-os az adott területen. Ez a javulás reményeim szerint az egész képet jellemezhetné a bordák eltüntetése esetén. Az árnyékmentesítés el®nyös hatását szemléltetik az 5.16., az 5.17. és az 5.18. ábrák. Az metszet m¶velettel kapott jelölteken futtatva az osztályozót a 124 képre, 12-20%-os csökkenést tapasztaltam a hamis pozitívak számában, miközben a rendszer érzékenysége nem változott. Ez látható az 5.19. ábrán. Ez lényegesen nagyobb nyereség, mint amit a jelöltkiválasztó kimenetén tapasztalható 5% után várhatnánk. A jelenség nagy valószín¶séggel annak tudható be, hogy a kulcscsont letörlése nem csak a megtéveszt® jelenségek számát csökkenti, hanem a valós foltok textúra jellemz®it is javítja. Ez egyrészt a tanítóminták min®ségét is emeli, másrészt az adott foltok osztályozásánál is segít. Az AFUM algoritmus használata mellett is hasonló javulást tapasztaltam, de mivel itt a rendszer összteljesítménye a javulás ellenére is lényegesen elmaradt az SBF-et használó változatétól, így ezen eredményeket számszer¶en nem ismertetem.
5.6. A RENDSZERREL FOLYTATOTT SPECIÁLIS VIZSGÁLATOK
67
5.16. ábra. A kulcscsontárnyék eltüntetés hatása a JSRT adatbázis 11. képén, ahol a folt a jobb oldali kulcscsont alatt helyezkedik el. Bal felül az eredeti kép, jobb felül a kulcscsontárnyékmentesített kép, alul pedig az SBF jelöltkeres® megfelel® eredményképei láthatóak.
68
5. FEJEZET. TESZTELÉS
5.17. ábra. A kulcscsontárnyék eltüntetés hatása az AFUM jelöltkeres® kimenetére a JSRT adatbázis 116. képén. A folt helyét egy fehér téglalap jelöli. Bal felül a kulcscsontárnyékot tartalmazó, jobb felül pedig a kulcscsontárnyékmentes röntgenkép látható. Alul az AFUM eredményképe a fenti képrészletekre. Látható, hogy a kulcscsont az eredményképen egy intenzív csíkként jelenik meg, melyen számos hamis találatot ad az algoritmus. A tendenciát tekintve itt még a valós folt körüli bejelölés is vélhet®leg egy hamis találat eredménye. A csontárnyék mentesített képen ezekt®l megszabadulunk, és egy valós pozitív találat keletkezik, vagy marad meg. Megjegyzend®, hogy ennél a vizsgálatnál nem használtam körvonalazó eljárást.
5.6. A RENDSZERREL FOLYTATOTT SPECIÁLIS VIZSGÁLATOK
69
5.18. ábra. A kulcscsontárnyék eltüntetés hatása az SBF jelöltkeres® kimenetére. A vizsgált kép a JSRT adatbázis 59. eleme, ahol a folt a jobb oldali kulcscsont alatt helyezkedik el (fehér téglalap). Bal oldalon a kulcscsontot tartalmazó, míg jobb oldalon a kulcscsontárnyék-mentesített képek láthatóak. Felül az eredeti, alul pedig az SBF kimenete található. Jól látszik, hogy míg az eredeti képen két találat is ráfut a foltra, de mindkett® sok, a folthoz nem tartozó területet is tartalmaz, addig a kulcscsont-mentesített képen egy találat van, ami pontosabb is.
0.75
Érzékenység
0.7 0.65 0.6 0.55 0.5 kulcscsontárnyék nélkül kulcscsontárnyékkal
0.45 0.4 1
2
3
4
5
Képenkénti átlagos fals pozitívak száma
5.19. ábra. A kulcscsontárnyékmentes esetben tapasztalható javulás a FROC görbe gyakorlatban is jelent®s szakaszán. Itt 124 képpel teszteltem.
70
5. FEJEZET. TESZTELÉS
5.6.3. Bordaárnyék nélküli képek A kulcscsonthoz hasonlóan a bordák árnyékai is lokalizálhatók és letörölhet®k a képen. A feladat azonban itt nehezebb, hiszen a bordák egyrészt kevésbé ütnek el a környezetükt®l, másrészt elhelyezkedésük is változatosabb. A probléma megoldására már született egy jól m¶köd® eljárás a tárgyalt projekt keretében [96]. A hatékonyság javulását várhatjuk, hiszen a bordák részleges vagy teljes takarásában lev® foltok jobban láthatóvá váltak és egységesebb kinézet¶ek. A teszteket 100 véletlenszer¶en kiválasztott JSRT felvételen végeztem, mivel ezekhez állt rendelkezésemre az árnyékmentesít® algoritmus futási eredménye. Meg kell jegyezni, hogy ezen a képkészleten a bordaárnyék-mentesít® algoritmus a tüd®felek 8%-át nem találta meg, így azokat érintetlenül hagyta, illetve a megtalált tüd®felek esetében is jellemz®en 1-2 borda rajtamaradt a képen. Az eredményeket el®ször a jelöltkiválasztó kimenetén vizsgáltam meg, ahol a bordaárnyékmentesítés SBF algoritmusra gyakorolt hatását tudtam felderíteni. Meglep® módon az eredmények lényegesen rosszabbak lettek a kiindulási rendszer által mutatottnál. Ugyan a képenkénti átlagos hamis pozitívak száma el®nyösen 19-r®l 14-re mérsékl®dött, a megtalált elváltozások száma viszont 78-ról 70-re csökkent, ami igen jelent®s visszaesés. A hamis pozitívak számának javulása leginkább a kulcscsontárnyékmentes képeknél is alkalmazott metszet m¶velet hatása. Az érzékenység visszaeséséért azonban más okolható, hiszen méréseim során a metszet m¶velet nélkül is hasonlóan alacsony teljesítmény adódott. A bordaárnyék-mentesített képek vizsgálata során kiderült, hogy ahol a folt teljesen a borda alatt helyezkedett el, ott az algoritmus azt is nagyrészt letörölte a képr®l, így az a feldolgozott képeken nagyon elhalványodott. Ezekben az esetekben az algoritmusaim már nem voltak képesek a folt megtalálására, mint az az 5.20. ábrán is látható. Azokban az esetekben, ahol az elváltozást csak részben, vagy egyáltalán nem takarta borda, a felismerés jobb lett. Erre látható példa az 5.21. ábrán. Az osztályozó kimenetén végezve a méréseket már javulást tapasztaltam. Az eredmények az 5.22. ábrán láthatók a megszokott FROC görbén. Az érzékenységek mind az eredeti, mind a bordanélküli képekkel dolgozó esetre alacsonyabbak a korábbi méréseknél, ami a kiválasztott képkészlet hatása. Ezeken a képeken ugyanis a rendszer összességében gyengébben teljesített. Az egymáshoz viszonyított ellentmondásos teljesítmény azonban jól látszik. Míg a magas számú hamis pozitívak tartományában jelent®s romlás tapasztalható, addig a m¶ködés szempontjából érdekes tartományban már egyértelm¶ a javulás. El®bbi szakasz az SBF kimenetén tapasztalható romlásnak az eredménye, míg utóbbi azt mutatja, hogy az osztályozó lényegesen hatékonyabban tudott m¶ködni a megmaradt mintákon. Számszer¶en 60%-os érzékenységnél a hamis pozitívak csökkenése 10%, 50%-os érzékenység esetében már 20%, ami jelent®s javulásnak mondható. Itt is érvényesült tehát a kulcscsont esetében tapasztat hatás, hogy az osztályozó feladatát jobban segítette a csontok letörlése, hiszen zajmentesebb tanítómintákkal dolgozhatott az algoritmus. A javulás némileg elmarad attól, amit várhatnánk a kulcscsontárnyék-mentesít® algoritmus után, hiszen ott már a jelöltkiválasztónál is közel 30%-kal kevesebb hamis pozitív volt a letisztított terület környékén, az osztályozó kimenetén pedig mindössze két csont letörlésével közel akkora javulást értem el, mint ebben a tesztben, ahol képenként átlagosan tizenkett® csont zavaró hatásától szabadultam meg. Az elmaradás oka nyilvánvalóan a foltok esetenkénti hibás letörlése, melynek javítása már folyamatban van.
5.6. A RENDSZERREL FOLYTATOTT SPECIÁLIS VIZSGÁLATOK
71
5.20. ábra. A bordaárnyék eltüntetés hatása az SBF jelöltkeres® kimenetére. A vizsgált kép a JSRT adatbázis 43. elemének részlete, ahol a folt a nyíllal jelölt területen helyezkedik el. Bal oldalon az eredeti, míg jobb oldalon a bordaárnyék-mentesített képek láthatóak. Felül az eredeti, alul pedig az SBF kimenete található. A bordák ugyan szépen elt¶ntek, és az SBF sem emeli ki ®ket, azonban a folt is sokkal halványabb lett. Ebben az esetben az új rendszer nem is találja meg az elváltozást, míg az eredeti igen.
72
5. FEJEZET. TESZTELÉS
5.21. ábra. Egy másik eset a bordaárnyék-mentesítés eredményeire. A vizsgált kép a JSRT adatbázis 61. eleme. A folt helyét a nyíl jelzi. Bal oldalon az eredeti, míg jobb oldalon a bordaárnyék-mentesített képeket tüntettem fel. Felül az eredeti, alul pedig az SBF kimenete látható. Az el®z® példától eltér®en itt megmaradt a folt képe, és már nincs jelen a közeli borda zavaró hatása, így az SBF intenzitás is nagyobb lett. Ebben az esetben az új rendszer megtalálja az elváltozást, míg az eredeti nem.
0.8 0.7
Érzékenység
0.6 0.5 0.4 0.3
bordaárnyék nélkül bordaárnyékkal
0.2 0.1
2
4
6
8
10
12
Képenkénti átlagos fals pozitívak száma
5.22. ábra. A bordaárnyékmentes esetben tapasztalható változás a bordaárnyék letörlésének hatására. Míg az SBF által meghatározott kezdeti érzékenység lényegesen elmarad az eredeti rendszerét®l, a FROC görbe gyakorlatban is jelent®s szakaszán már egyértelm¶ javulás tapasztalható. Itt véletlenszer¶en kiválasztott 100 képpel teszteltem.
5.7. Lehet®ségek a rendszer teljesítményének javítására A foltfelismer® teljesítményét a szakirodalomban máshol látott rendszerekkel összevetve látható, hogy a teljesítmény közel áll a jelenlegi legjobb megoldásokéhoz, de azonos, 4 körüli hamis pozitív szám mellett körülbelül 5%-os lemaradása van az érzékenységet vizsgálva. Ezt a különbséget már a csontok árnyékának letörlésével is körülbelül behozza a rendszer, de el®feldolgozások használata nélkül is számos lehet®ség adódik kisebb teljesítménynövekedések elérésére. Ami a jelenlegi rendszert véleményem szerint leginkább visszafogja, az a körvonal pontatlansága. Egyes tanulmányok [8] jóval nagyobb javulásról számolnak be körvonalazó alkalmazása mellett, mint amekkorát tapasztaltam. A jelöltkeres®ket a további nomhangolás mellett ki lehetne terjeszteni a tüd®maszkon kívüli területekre. Ehhez a megfelel® maszkok meglétére lenne szükség. Az osztályozó tanításakor jelenleg nagy különbség kb. 15% tapasztalható a tanító és a tesztkészleten mutatott érzékenység között. Ez a jelenség némi túltanulásra utal, melyet vagy a mintaszám növelésével, vagy dimenzió csökkentésével lehetne elérni. El®bbihez új min®sített képeket kell beszerezni, utóbbit a meglev® dimenziócsökkentés nomhangolásával, vagy fejlettebb PCA változatok alkalmazásával lehetne elérni. A tanítókészleten mutatott teljesítmény ugyan jobb a teszteken mutatottnál, de messze nem nevezhet® tökéletesnek, körülbelül 80%-os érzékenységet nyújt képenként 4 hamis pozitív mellett. Az nem várható, hogy a probléma lineárisan szeparálható legyen, azaz meg lehessen oldani tökéletesen lineáris osztályozóval. Azonban jobb teljesítményre számíthatok további fejlesztésekkel, például az osztályozáshoz felhasznált jellemz®k min®ségének javításával és új, releváns dimenziók hozzáadásával. Továbbá valószín¶, hogy a tanítópontok igen zajosak. Ezen egy jobb körvonallal, esetleg kézi határolással lehet segíteni. Továbbá megfontolandó azon foltok tanításhoz való felhasználása, melyek a jelöltkiválasztó kimenetén már nem jelennek meg, ezzel növelve a pozitív mintaszámot. Ehhez szintén kézi körülhatárolásra lenne szükség. Új jellemz®k megalkotásával, így a dimenziószám radikális csökkentésével alkalmazhatóvá válnának az osztályozó bonyolultabb változatai, mellyel már a nem lineárisan szeparálható feladatokat is meg lehetne oldani.
6. fejezet
Az elkészült alkalmazás 6.1. Az alkalmazás leírása A MATLAB-ban fejlesztett CAD rendszer mellett egy annak képességeit kiaknázó különálló alkalmazás is készült. A fejlesztés alapvet® célja, hogy a rendszer használata a MATLAB ismerete nélkül is lehet®vé váljon, ezáltal szélesítve a potenciális tesztel®k körét. A rendszer ezen kívül a CAD alkalmazás képességeinek prezentálására is alkalmazható. A most ismertetend® használható felületet Máday Péter készítette a projekt keretében. Az elkészült alkalmazás tervezésekor a legfontosabb szempont volt a könnyen átlátható, és intuitív módon kezelhet® felhasználói felület kialakítása. Az elkészült alkalmazás mindezeknek a követelményeknek megfelel® módon biztosítja a CAD rendszerhez való gondtalan hozzáférést.
6.1. ábra. A c# alkalmazás: A jobb oldali nézeten a foltkeresés eredményeképpen el®állt jelölt kép egy részlete látható. A fehér körvonal mutatja az elváltozást. A bejelölt terület a JSRT adatbázis alapján valóban tartalmaz elváltozást. A program a diagnosztizáló orvos számára készített vizualizációs alkalmazás. A digitalizált röntgenfelvétel betöltése után, az el®zetes szemrevételezést követ®en a diagnosztizáló orvos elin75
díthatja a kép CAD rendszerrel való vizsgálatát, melynek végén a rendszer egy külön nézetben megjeleníti az eredményként el®álló jelölt képet. Az egyes képek egymástól függetlenül nagyíthatóak, illetve eltolhatóak, így biztosítva a felvételek egyszer¶ szemrevételezését. Az egyes nézetek szinkronizációja lehet®vé teszi a jelölt kép gyanús területeinek az eredeti felvételen való könnyed megtalálását. Az alkalmazás használatához szükséges ismeretek F.1. függelékben találhatók.
7. fejezet
Összegzés Diplomatervem célja egy röntgengépbe integrálható CAD rendszer kifejlesztése volt, melynek alapvet® funkciója kóros elváltozások keresése, és megjelenítése mellkasröntgen-felvételeken. A rendszer a sz¶r®vizsgálatot végz®, vagy diagnosztizáló orvos munkáját könnyíti meg, azáltal, hogy ráirányítja gyelmét a kritikus területekre. A fejlesztés el®tt átfogó vizsgálatot végeztem a szakirodalomban eddig megjelent, hasonló célú rendszerek felkutatására, értelmezésére, és a felhasználható módszerek összegy¶jtésére. A fejlesztés során pedig elkészült egy alkalmazás, amely a célkit¶zéseknek megfelel® hatékonysággal képes az elváltozásokat felismerni a mellkasröntgen-felvételeken. Megoldásom nagyrészt korábban már alkalmazott módszereken alapul. Jelent®s továbblépés azonban, hogy ezeket egyéni összeállításban, az általam leghatékonyabbnak vélt, és tapasztalt módon komponáltam össze, és paramétereztem fel. Továbbá kiegészítettem a rendszert néhány új megoldással. Ilyen például az AFUM sz¶r® kipróbálása, és a végleges rendszerben jellemz®ként történ® felhasználása. Új megoldás továbbá a képenként x számú jelölt gy¶jtése a jelöltkiválasztó kimenetén. Ezen felül a Zernike momentumok alkalmazása is egyedi megoldás, amelyet máshol még nem használtak tüd®röntgen képek elemzése során. Ezek mind számottev®en javították a rendszer összteljesítményét, és a kés®bbiekben más kutatócsoportoknak is hasznára válhatnak hasonló rendszerek fejlesztésekor. Egyes korábban már bevetett algoritmust alapjaiban módosítottam, mely szintén segítette a m¶ködést. Ilyen például az AFUM módosítása és a szomszédos találatok elnyomására használt módszer is. A rendszert kiterjedt és a szakirodalomban elfogadott vizsgálati módszereknek vetettem alá. A tesztelések során kiderült, hogy a nemzetközi szakirodalomhoz viszonyítva is jó eredményt tudok felmutatni: képenként négy hamis pozitív melletti 65%-os érzékenységet, amely igazoltan alkalmas az orvosok munkájának segítésére. A program használatának jogosultságát adja továbbá, hogy a nehezebb foltokon mutatott érzékenység egyértelm¶en jobb az orvosokénál. A rendszert kulcscsont- és bordaárnyékmentes felvételeken is teszteltem, ezeken további jelent®s javulást értem el. Az elkészült keretalkalmazással a rendszer bármely C# fordítót futtatni képes számítógépen használható. Általánosságban ezt a kritériumot teljesíti a legtöbb személyi számítógép. Összegzésként elmondható, hogy korábbi kutatások viszonylatában a rendszer jelenlegi állapotában is a legjobb megoldások között helyezkedik el. További bizakodásra ad okot, hogy az 77
78
7. FEJEZET. ÖSSZEGZÉS
alkalmazott algoritmusokban még kiaknázatlan fejlesztési lehet®ségek rejlenek. Ezek felhasználásával a jöv®ben lehetségessé válhat egy minden eddiginél jobb megoldás kifejlesztése. A közeljöv®ben további célként megfogalmazható egy C++ nyelven írt változat elkészítése, mellyel a program készen állhat a röntgengépekbe való beépítésre. Ennek segítségével már éles alkalmazásokban is be lehet vetni a rendszert. A távoli jöv®ben vizsgálatok tárgyát képezheti a rendszer további nomítása, fejlesztése. Reményeim szerint a módszerrel számos beteg élete megmenthet®.
Függelék
79
F.1. A C# ALKALMAZÁS FELHASZNÁLÓI LEÍRÁSA
81
F.1. A C# alkalmazás felhasználói leírása Az alkalmazás elindítása után a program ablak jelenik meg, az egyel®re üres rajzterületekkel. A vizsgálandó kép megadása a [le] menü [new image] menüpontjának kiválasztásával megjelen® párbeszédablakban lehetséges. Itt lehet ezen kívül megadni a tüd®területet kijelöl® tüd®maszkok elérési útvonalát is. A kép kiválasztását követ®en az megjelenik a bal oldali megjelenít® felületen. A megjelenít® felület az egér segítségével nagyítható, ill. mozgatható. Az egér görg®jével lehetséges a kép nagyítása, a bal oldali gomb nyomva tartása mellett az egeret mozgatva a vizsgált tartomány elhelyezkedése változtatható. A jobb alsó sarokban található [Launch] gomb megnyomásával elindul a feldolgozás. A feldolgozás eredményeképpen el®álló képet a jobb oldali megjelenít® panelen lehet látni. Az egyes nézetek külön-külön is mozgathatók / nagyíthatók, azonban a [view] menü [synchronize] menüpontjának kiválasztásával lehetséges az egyes nézetek összehangolása.
F.1. ábra. A c# alkalmazás felhasználói felülete bal : a tüd®terület közeli nézete jobb : a tüd®terület teljes nézete.
F.2. A kétdimenziós wavelet transzformáció Tetsz®leges jelfeldolgozási feladatokat tekintve a wavelet transzformáció célja, hogy a jeleket egyszerre id® és frekvenciatartományban is vizsgálni lehessen, ellentétben például a Fourier transzformációval, ahol csak frekvenciatartománybeli vizsgálatot tudunk végezni, és például egy tranziens hollétér®l nem tudunk mit mondani [98]. A transzformáció kulcseleme egy meghatározott tulajdonságoknak eleget tev® ψ függvény, melyb®l skálázással és eltolással egy ortogonális bázist kapunk. Egy egydimenziós f (t) jel wavelet transzformáltja ekkor:
Z
+∞
W f (u, s) = −∞
1 f (t) √ ψ ∗ s
µ
t−u s
¶ dt,
(F.1)
ahol ∗ a komplex konjugált. Diszkrét esetben ennek létezik egy hatékony rekurzív számítási algoritmusa [99]. Ekkor egy hierarchikus sz¶r® együttessel dolgozunk. Minden szinten mely a folytonos esetnél az s paraméterrel analóg két sz¶r® szükséges. Az egyik kiadja a következ® szint wavelet együtthatóit, a másik sz¶r® pedig az eggyel magasabb szinthez tartozó közelítést hozza létre, melyet tovább sz¶rhetünk a magasabb szinten elhelyezked® két sz¶r®vel. Az els® szinten
82
FÜGGELÉK
kapjuk meg a legnomabb részleteket, majd a magasabb szinteken a durvább struktúrákat. A szintek maximális számát a jel mérete határozza meg. A j + 1 szint¶ aj+1 közelít® együtthatók és a dj+1 wavelet együtthatók számítása rekurzív képlettel:
aj+1 [p] = aj ? h[2p],
(F.2)
dj+1 [p] = aj ? g[2p],
(F.3)
ahol ? a konvolúció m¶velete, g a ψ -hez tartozó konjugált tükör sz¶r® (conjugate mirror lter), h a φ-hez tartozó konjugált tükör sz¶r®, φ pedig a ψ -hez tartozó skálázó függvény (scaling function), továbbá f [p] = f [−p]. A konjugált tükör sz¶r® és a skálázó függvény tulajdonságait hely hiányában nem részletezem, számunkra elég annyi, hogy a wavelet bázis, azaz ψ megválasztását követ®en mindegyik adódik. A j szint¶ rekonstrukció a j + 1 szint¶ közelítésb®l és a wavelet együtthatókból hasonlóképpen zajlik:
aj [p] = a ˇj+1 ? h[p] + dˇj+1 ? g[p],
(F.4)
ahol
( fˇ[n] =
f [p] ha n = 2p 0
ha n = 2p + 1
.
(F.5)
Kétdimenziós esetben a wavelet bázist a következ®képp származtathatjuk az egydimenziós függvényekb®l:
ψ 1 (x) = φ(x1 )ψ(x2 ), ψ 2 (x) = ψ(x1 )φ(x2 ), ψ 3 (x) = ψ(x1 )ψ(x1 ),
(F.6)
ahol x = (x1 , x2 ). Ezzel tulajdonképpen függ®leges, vízszintes és diagonális waveleteket hoztunk létre. A kapcsolódó kétdimenziós skálázó függvény φ2 (x). Az ezekhez tartozó konjugált tükör sz¶r®k az egydimenziós változat szorzatsz¶r®i, így az el®bbiekhez hasonló módon adódik egy gyors kétdimenziós transzformációs algoritmus:
aj+1 [k, l] = aj ? hh[2(k, l)],
(F.7)
d1j+1 [k, l] = aj ? hg[2(k, l)],
(F.8)
d2j+1 [k, l] = aj ? gh[2(k, l)],
(F.9)
d3j+1 [k, l]
= aj ? gg[2(k, l)],
(F.10)
ahol n ∈ Z2 , hh, hg, gh, gg pedig a szorzat sz¶r®k. d1 , d2 , d3 függ®leges, vízszintes és diagonális wavelet együtthatók, a pedig a közelítés.
F.3. SVM elmélet A következ®kben az SVM alapötletét ismertetem egy osztályozási feladat esetén. Az algoritmus felhasznált változata egy bináris osztályozó. A bemenetként kapott jellemz®vektor alapján az
F.3. SVM ELMÉLET
83
adott mintát vagy az egyik, vagy a másik osztályba sorolja. Az osztályozó bemenete egy jellemz®en magasabb dimenziós térbeli vektor. Így az egyes esetek közötti különbségtétel geometriai formában is megfogalmazható: találnunk kell egy olyan felületet, mely az egyes osztályokba sorolt mintapontokat szeparálja. Másképp fogalmazva olyan felületet keresünk, melyre teljesül, hogy minden, a két különböz® osztályba tartozó pontpárt összeköt® egyenessel létezik a felületnek páratlan sok metszéspontja, és nem létezik olyan, azonos osztályokból származó pontokból alkotott pár, melyre ez a tulajdonság fennállna. Ezután csak azt kell megvizsgálnunk, hogy az újonnan érkez® mintapont a felület melyik oldalán helyezkedik el. A legegyszer¶bb esetben ez a felület egy hipersík is lehet, ilyenkor a mintapontok lineárisan szeparálhatók. Fontos azonban megjegyezni, hogy az osztályozó tanítása során, amikor az el®bb említett felület meghatározása történik, a tényleges osztályok által meghatározott tartományok nem ismertek, csak néhány, általuk tartalmazott mintapont. Ennek megfelel®en a szeparáló felületet úgy célszer¶ megválasztani, hogy az a lehet® legtávolabb legyen a különböz® mintapontoktól, ilyen módon biztosítva azt, hogy a kés®bbi, az egyes tartományokból származó minták esetében is helyes osztályozást kapjunk. Abban az esetben, ha a szeparáló felületet meghatározó függvényt az alábbi formában használjuk:
f (x) = hw, Φ(x)i + b,
(F.11)
ahol w a szeparáló hipersík normálvektora, b a hipersík eltolás paramétere, és Φ(x) a jellemz®vektor képe egy magasabb dimenziós térben, az optimális felületet jellemz® paraméterek az alábbi minimalizálási feladat megoldásaként adódnak: m
min w
X 1 ξk2 kwk2 + C 2
(F.12)
k=1
A feladat tehát egy feltételes optimalizálási feladattá egyszer¶södik. Az optimális megoldást a kifejezés Lagrange multiplikátorok felhasználásával történ® átalakítását követ®en egy kvadratikus programozás feladat formájában lehet megoldani. Bizonyítható, hogy az optimális eredmény az alábbi alakban is el®áll:
w=
m X
αk∗ yk Φ(xk ),
(F.13)
k=1
ahol az αk∗ értékek a Lagrange multiplikátorok. Ezt az (F.11)-be helyettesítve kapjuk a következ® összefüggést az osztályozó kimenetére:
f (x) =
m X
αk∗ yk hΦ(xk ), Φ(x)i + b
(F.14)
k=1
Vegyük észre, hogy ehhez nem szükséges az esetlegesen nagyon magas dimenziószámú Φ(x) ismerete, elég ennek egydimenziós kimenet¶ önmagával vett skalárszorzatát tudnunk, ez az ún. kernel trükk. A skalárszorzatot K(x1 , x2 ) = hΦ(x1 ), Φ(x2 )i -nek jelöljük és kernel függvénynek nevezünk. A kernel függvény tulajdonságai és megválasztása meghatározó jelent®ség¶ az SVM elméletben.
Ábrák jegyzéke 1.1. Tüd®rák megbetegedési statisztikák. . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2. Egy tipikus PA mellkasröntgen-felvétel. . . . . . . . . . . . . . . . . . . . . . . . .
6
1.3. Egy nehezen elemezhet® mellkasröntgen-felvétel. . . . . . . . . . . . . . . . . . . .
7
3.1. A rendszer felépítése. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.2. Egy bemeneti felvétel példa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
4.1. A wavelet alapú zajsz¶rés el®tti és utáni kép különbsége. . . . . . . . . . . . . . .
19
4.2. Az LCE sz¶r® kimenete a JSRT adatbázis els® képén. . . . . . . . . . . . . . . .
21
4.3. Az AFUM sz¶r® m¶ködésének illusztrációja. . . . . . . . . . . . . . . . . . . . . .
22
4.4. Az AFUM sz¶r® eredményképe a JSRT adatbázis els® képén. . . . . . . . . . . .
24
4.5. Az SBF sz¶r® m¶ködésének szemléltetése. . . . . . . . . . . . . . . . . . . . . . .
26
4.6. A CI sz¶r® eredményképe a JSRT adatbázis els® képén. . . . . . . . . . . . . . .
26
4.7. A körvonalazó kimenete az SBF eredményképen. . . . . . . . . . . . . . . . . . .
31
4.8. A regisztráció eredménye egy kóros területre. . . . . . . . . . . . . . . . . . . . .
46
5.1. A rendszer kimenete a JSRT adatbázis 109. képén. . . . . . . . . . . . . . . . . .
50
5.2. Az AFUM algoritmus egy hibás találata. . . . . . . . . . . . . . . . . . . . . . . .
52
5.3. A különböz® abszolút küszöbökhöz tartalmazó FROC görbék m¶ködési tartományhoz közeli szakaszai. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
5.4. A rendszer FROC görbéje az eredeti felbontású képr®l származó jellemz®k esetén
56
5.5. A végleges rendszer FROC görbéi . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
5.6. A rendszer FROC görbéje lebontva nehézségi szint szerint. . . . . . . . . . . . . .
57
5.7. A zajsz¶rés hatása a rendszer teljesítményére. . . . . . . . . . . . . . . . . . . . .
58
5.8. A rendszer FROC görbéje a körvonalazó használata nélkül. . . . . . . . . . . . .
59
5.9. Az egyes bemeneti dimenziók relevanciája. . . . . . . . . . . . . . . . . . . . . . .
60
5.10. A dimenziócsökkentés hatása az irreleváns dimenziók elhagyásával. . . . . . . . .
60
5.11. A Pearson féle lineáris korrelációs mátrix elemenkénti abszolútértéke. . . . . . . .
61
5.12. A dimenziócsökkentés hatása a PCA eljárással. . . . . . . . . . . . . . . . . . . .
62
5.13. A Fourier és wavelet transzformáció alapú regisztráció összehasonlítása. . . . . . .
63
5.14. A rendszer teljesítményének javulása a szimmetriavizsgálat alkalmazásával. . . . .
64
5.15. Az orvosi fantomról készült röntgenkép. . . . . . . . . . . . . . . . . . . . . . . .
66
5.16. A kulcscsontárnyék eltüntetés hatása. . . . . . . . . . . . . . . . . . . . . . . . . .
67
5.17. A kulcscsontárnyék eltüntetés hatása az AFUM jelöltkeres® kimenetére. . . . . .
68
85
86
ÁBRÁK JEGYZÉKE 5.18. A kulcscsontárnyék eltüntetés hatása az SBF jelöltkeres® kimenetére. . . . . . . .
69
5.19. A kulcscsontárnyékmentes esetben tapasztalható javulás FROC görbén ábrázolva.
69
5.20. A bordaárnyék eltüntetés hatása az SBF jelöltkeres® kimenetére. . . . . . . . . .
71
5.21. A bordaárnyék eltüntetés hatása az SBF jelöltkeres® egy másik kimenetére. . . .
72
5.22. A bordaárnyékmentes esetben tapasztalható változás a bordaárnyék letörlésének hatására FROC görbén ábrázolva. . . . . . . . . . . . . . . . . . . . . . . . . . .
73
6.1. Egy képerny®fotó a c# alkalmazásból. . . . . . . . . . . . . . . . . . . . . . . .
75
F.1. A c# alkalmazás felhasználói felülete.
81
. . . . . . . . . . . . . . . . . . . . . . . .
Rövidítések AFUM
(average fraction under the minimum lter): minimum alatti hányados átlag sz¶r®.
CAD
(computer aided diagnosis or computer aided detection): számítógép által támogatott diagnózis vagy detekció.
CI
(convergence index lter): konvergencia index sz¶r®.
DoG
(derivative of Gaussian): Gauss derivált.
FROC
(free-response receiver operating characteristic): érzékenységet a specicitás függvényében ábrázoló görbe, orvosi alkalmazásokra alakítva.
fp
(false positive): hamis pozitív. Egy kórosnak ítélt, valójában nem kóros találat.
JSRT
(Japanese Society of Radiological Technology):
Japán Radiológiai
Közösség, melynek röntgenkép adatbázisát felhasználtam. LCE
(local contrast enhancement): lokális kontraszt kiegyenlítés.
LoG
(Laplacian of Gaussian): Gauss második derivált.
PA
(posterior to anterior): elölnézeti röntgenfelvétel.
ROC
(receiver operating characteristic):
érzékenységet a specicitás füg-
gvényében ábrázoló görbe. SBF
(sliding band lter): csúszó sáv sz¶r®.
SVM
(support vector machine): szupport vektor gép. Egy gépi tanulási módszer.
87
Irodalomjegyzék [1] cancerresearchuk.org, UK Lung Cancer incidence statistics
http://info.cancerresearchuk.org/cancerstats/types/lung/incidence/ 2007 [2] cancerresearchuk.org, UK Lung Cancer mortality statistics
http://info.cancerresearchuk.org/cancerstats/types/lung/mortality/ 2007 [3] G. P. Murphy, W. Lawrence Jr., and R. E. Lenhard Jr., Clinical Oncology The American
Cancer Society 1995. [4] 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 1966 [5] J. W. Vance, C. A. Good, C. H. Hodgson, J. W. Kirklin, and R. P. Gage, The solitary pulmonary lesion due to bronchogenic carcinoma: A 3-year follow-up study on 94 surgically treated patients Disease Chest, vol. 36, pp. 231-237 1959. [6] P. E. Buell, The importance of tumor size in prognosis for resected bronchogenic carcinoma J. Oncological Surg., vol. 3, pp. 539-551 1971. [7] T. Heelan, B. J. Flehinger, M. R. Melamed, M. B. Zaman, W. B. Perchick, J. F. Caravelli, and N. Martini, Non-small-cell lung cancer: Result of the New York screening program
Radiology, vol. 151, pp. 289-293 1984. [8] Russell C. Hardie, Steven K. Rogers, Terry Wilson, Adam Rogers, Performance analysis of a new computer aided detection system for identifying lung nodules on chest radiographs
Medical Image Analysis Volume 12, Issue 3, Pages 240-258 2008. [9] Kunio Doi, Computer-aided diagnosis in medical imaging: Historical review, current status and future potential. Computerized Medical Imaging and Graphics , Volume 31 , Issue 4
- 5 , Pages 198 - 211 K . 2007 [10] M. L. Giger, Computerized Detection of Lung Nodules Robin N. Strickland: Image Pro-
cessing Techniques for Tumor Detection, 243-270 2002 [11] T. Matsumoto, H. Yoshimura, K. Doi, M. L. Giger, A. Kano, H. MacMahon, M. Abe, and S. Montner, Potential usefulness of computerized nodule detection in screening programs for lung cancer Investigative Radiol., vol. 27, pp. 471-475 1992. 89
90
IRODALOMJEGYZÉK
[12] T. Kobayashi, X.-W. Xu, H. MacMahon, C. Metz, and K. Doi, Eect of a computer-aided diagnosis scheme on radiologists' performance in detection of lung nodules on radiographs
Radiology, vol. 199, pp. 843-848 1996. [13] H. MacMahon, R. Engelmann, F. M. Behlen, K. R. Homann, T. Ishida, C. Roe, C. E. Metz, K. Doi, Computer-aided Diagnosis of Pulmonary Nodules: Results of a Large-Scale Observer Test Radiology. 1999;213:723-726. 1999 [14] Shingo Kakeda, Junji Moriya, Hiromi Sato, Takatoshi Aoki, Hideyuki Watanabe, Hajime Nakata, Nobuhiro Oda, Shigehiko Katsuragawa, Keiji Yamamoto, Kunio Doi, Improved Detection of Lung Nodules on Chest Radiographs Using a Commercial Computer-Aided Diagnosis System American Journal of Roentgenology 2004 [15] H. Abe, H. MacMahon,R. Engelmann,Q. Li, J. Shiraishi, S. Katsuragawa, M. Aoyama, T. Ishida, K. Ashizawa, C. E. Metz, K. Doi, Computer-aided Diagnosis in Chest Radiography: Results of Large-Scale Observer Tests at the 1996-2001 RSNA Scientic Assemblies
Radiographics. 2003; 23:255-265. 2003 [16] Campadelli, P. Casiraghi, E. Artioli, D., A Fully Automated Method for Lung Nodule Detection From Postero-Anterior Chest Radiographs Medical Imaging, IEEE Transactions
on, Volume: 25, Issue: 12 2006 [17] David Ost, Alan Fein, Evaluation and Management of the Solitary Pulmonary Nodule 2000 [18] Juhász Sándor, Mellkasröntgen-felvételek elemzése (tüd®árnyék körülhatárolása) BME
MIT Diplomaterv 2007 [19] Bella Tamás, Kovács Andrea, Molnár Andrea, Tüd®körvonal keresése mellkasröntgenfelvételeken BME TDK-dolgozat 2007 [20] Simkó Gábor, Mellkasröntgen-felvételek elemzése (kulcscsontkeresés, csontárnyék eltávolítása) BME MIT Diplomaterv 2008 [21] Máday Péter, Orbán Gergely, Kóros elváltozások keresése mellkasröntgen felvételeken BME
TDK-dolgozat 2008 [22] B. van Ginneken, B. M. t. H. Romeny, and M. A. Viergever, Computer-aided diagnosis in chest radiography: A survey IEEE Trans. Med. Imag., vol. 20, no. 12, pp. 1228-1241 Dec. 2001. [23] B. J. Erickson, B. Bartholmai, Computer-Aided Detection and Diagnosis at the Start of the Third Millennium Journal of Digital Imaging, Volume 15, Number 2 / June, 2002,
p59-68 2002 [24] H. P. McAdams, E. Samei, J. Dobbins, G. D. Tourassi, C. E. Ravin, Recent Advances in Chest Radiography Radiology 2006;241:663-683. 2006
IRODALOMJEGYZÉK
91
[25] M Park, JS Jin, LS Wilson, Intelligent computer-aided diagnosis system for chest radiography International Congress Series 2003 [26] Chiou, Y.S.P. Lure, F.Y.M. Ligomenides, P.A. , Neural-knowledge base object detection in Hybrid Lung NoduleDetection (HLND) system 1994 [27] S.-C. Lo, M. Freedman, J.-S. Lin, and S. Mun, Automatic lung nodule detection using prole matching and back-propagation neural network techniques J. Digital Imag., vol. 1,
pp. 48-54 1993. [28] H. Yoshimura, M. Giger, K. Doi, H. MacMahon, and S. Montner, , Computerized scheme for the detection of pulmonary nodules: A nonlinear ltering technique Investigative Radiol.,
vol. 27, pp. 124-127 1992. [29] P Campadelli, E Casiraghi, S Columbano, Lung Segmentation and Nodule Detection in Postero Anterior Chest Radiographs 2004 [30] A. Schilham, B. Van Ginneken, and M. Loog, Multi-scale nodule detection in chest radiographs in Proc. Medical Image Computing and Computer-Assisted Intervention, MICCAI.
New York: Springer, vol. 2878, Lecture Notes on Computer Science, pp. 602-609. 2003 [31] J. Wei, Y. Hagihara, A. Shimizu, and H. Kobatake, Optimal image feature set for detecting lung nodules on chest x-rays images in CARS 2002 2002. [32] Carlos S. Pereira, Hugo Fernandes, Ana Maria Mendonça, Aurélio Campilho, Detection of Lung Nodule Candidates in Chest Radiographs Pattern Recognition and Image Analysis,
Springer Berlin / Heidelberg 2007 [33] F.Mao et al., Fragmentary window ltering for multiscale lung nodule detection: Preliminary study Acad. Radiol., vol. 5, pp. 306-311 1998. [34] LP Wong, HT Ewe, A Study of Nodule Detection Using Opaque Object Filter Springer 2007 [35] Kim Le, Automated detection of early lung cancer and tuberculosis based on X-ray image analysis Proceedings of the 6th WSEAS International Conference on Signal, Speech and
Image Processing 2006 [36] J. M. Carreira et al., Computer-aided diagnosis: Automatic detection of lung nodules
Med. Phys., vol. 25, pp. 1998-2006 1998. [37] M. Penedo, M. Carreira, A. Mosquera, and D. Cabello, Computer aided diagnosis: A neural network based approach to lung nodule detection IEEE Transaction on Medical
Imaging, vol. 17, no. 6, pp. 872-880 Dec. 1998. [38] Ashizawa K. Ishida T. MacMahon H. Vyborny ci. Katsuragawa S. Doi K., Articial neural networks in chest radiography: application to the dierential diagnosis of interstitial lung disease Acad Radiol 1999:6:2-9 1999
92
IRODALOMJEGYZÉK
[39] D. Catarious Jr., A. Baydush, and C. Floyd Jr., Initial development of a computer aided diagnosis tool for solitary pulmonary nodules in Proc. SPIE, vol. 4322, pp. 710-717. 2001 [40] H. Yoshida, B. Keserci, Bayesian wavelet snake for computer-aided diagnosis of lung nodules Integrated Computer-Aided Engineering, Volume 7, Issue 3, Pages: 253 - 269 2000 [41] Bilgin Keserci, Hiroyuki Yoshida, Computerized detection of pulmonary nodules in chest radiographs based on morphological features and wavelet snake model Med. Image Anal.,
vol. 6, pp. 431-447 2002. [42] AMR Schilham, B van Ginneken, M Loog, A computer-aided diagnosis system for detection of lung nodules in chest radiographs with an evaluation on a public database Medical Image
Analysis, 2006 - Elsevier 2005 [43] H. Yoshida, X. Xu, K. Doi, and M. Giger, Computer-aided diagnosis (CAD) scheme for detecting pulmonary nodules using wavelet transforms Proc. SPIE, vol. 2434, pp. 621-626 1995. [44] W. Lampeter and J. Wadtke, Computerized search of chest radiographs for nodules
Investigative Radiol., vol. 21, pp. 384-390 1986. [45] Y. Wu, K. Doi, M. Giger, C. Metz, and W. Zhang, Reduction of false positives in computerized detection of lung nodules in chest radiographs using articial neural networks, discriminant analysis, and a rule-based scheme J. Digital Imag., vol. 7, no. 4, pp. 196-207 1994. [46] X.-W. Xu et al., Development of an improved CAD scheme for automated detection of lung nodules in digital chest images Med. Phys., vol. 24, pp. 1395-1403 1997. [47] K. Suzuki, J. Shiraishi, H. Abe, H. MacMahon, and K. Doi, False positive reduction in computer-aided diagnostic scheme for detecting nodules in chest radiographs by means of massive training articial neural network Acad. Radiol., vol. 12, pp. 191-201 2005. [48] WAH, Mousa and MAU, Khan, Lung nodule classication utilizing support vector machines 2002 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, VOL III,
PROCEEDDINGS 2002 [49] Campadelli, P. Casiraghi, E. Valentini, G., Lung nodules detection and classication Image
Processing, 2005. ICIP 2005. IEEE International Conference on 2005 [50] S.-C. Lo, S. L. Lou, J.-S. Lin, M. Freedman, M. Chien, and S. Mun, , Articial convolution neural network techniques and applications for lung nodule detection IEEE Trans. Med.
Imag., vol. 14, no. 4, pp. 711-718, Dec. 1995. [51] J. S. Lin, S. C. Lo, M. Freedman, and S. Mun, Reduction of false positives in lung nodule detection using a two-level neural classication IEEE Trans. Med. Imag., vol. 15, no. 2,
pp. 206-217 Apr. 1996.
IRODALOMJEGYZÉK
93
[52] K. Suzuki and N. Inakoa, Development of a computer aided detection system for lung cancer diagnosis Proc. SPIE, vol. 1652, pp. 567-571, 1992. [53] Q. Li, S. Katsuragawa, and K. Doi, Computer-aided diagnostic scheme for lung nodule detection in digital chest radiographs by use of a multiple-template matching technique
Med. Phys., vol. 28, pp. 2070-2076 2001. [54] Li, Q., Katsuragawa, S., Doi, K., Improved contralateral subtraction image by use of elastic matching technique. Medical Physics, 27, 1934-1942. 2000 [55] H. Yoshida, K. Doi, Computerized detection of pulmonary nodules in chest radiographs: reduction of false positives based on symmetry between left and right lungs Medical Imaging
2000, pp. 97-102 2000 [56] Yoshida, H., Local Contralateral Subtraction Based on Bilateral Symmetry of Lung for Reduction of False Positives in Computerized Detection of Pulmonary Nodules Biomedical
Engineering, IEEE Transactions on; Volume 51, Issue 5, May 2004 Page(s):778 - 789 2004 [57] Lillington GA, Management of solitary pulmonary nodules Dis Mon. 1991 May;37(5):271-
318. 1991 [58] M. Aoyama, Q. Li, S. Katsuragawa, H. MacMahon, K. Doi, Automated computerized scheme for distinction between benign and malignant solitary pulmonary nodules on chest images Med. Phys. Volume 29, Issue 5, pp. 701-708 2002 [59] M. Park, B. Kang, S.J. Jin, S. Luo, Computer aided diagnosis system of medical images using incremental learning method Expert Systems with Applications 36 7242-7251 2009 [60] J. S. Lin et al., Dierentiation between nodules and end-on vessels using a convolution neural network architecture J. Digital Imag., vol. 8, pp. 132-141 1995. [61] M. Giger,K. Doi, and H. MacMahon, Image feature analysis and computer- aided diagnosis in digital radiography: Automated detection of nodules in peripheral lung elds Med.
Phys., vol. 15, pp. 158-166, 1988. [62] M. Giger, K. Doi, H. MacMahon, C. Metz, and F. Yin, Pulmonary nodules: Computeraided detection in digital chest images Radiographics, vol. 10, pp. 41-51 1990. [63] Shiraishi, J., Li, Q., Suzuki, K., Engelmann, R., Doi, K. Computer aided diagnostic scheme for detection of lung nodules on chest radiographs: Localized search method based on anatomical classication. Medical Physics 33 (7), 2642-2653. 2006 [64] M. L. Giger, N. Ahn, K. Doi, H. MacMahon, and C. E. Metz, Computerized detection of pulmonary nodules in digital chest images: Use of morphological lters in reducing false positive detections Med. Phys., vol. 17, pp. 861-865 1990. [65] G. Coppini, S. Diciotti, M. Falchini, N. Villari, and G. Valli, Neural networks for computeraided diagnosis: Detection of lung nodules in chest radiograms IEEE Trans. Inf. Technol.
Biomed., vol. 7, no. 4, pp. 344-357 Dec. 2003.
94
IRODALOMJEGYZÉK
[66] C. Floyd et al., Diuse nodular lung disease on chest radiographs: A pilot study of characterization by fractal dimension Amer. J. Roentgenol., vol. 167, pp. 1185-1187 1996. [67] K. Imai, M. Ikeda, Y. Enchi, T. Niimi, Quantitative assessment of the inuence of anatomic noise on the detection of subtle lung nodule in digital chest radiography using fractal-feature distance European Journal of Radiology, Volume 68, Issue 2, Pages 353-357 2007 [68] Ishida, T., Katsuragawa, S., Nakamura, K., Ashizawa, K., MacMahorn, H., Doi, K., Computerized analysis of interstitial lung disease on chest radiographs based on lung texture, geometric-pattern features and articial neural networks. Progress in biomedical optics and
imaging, 2002, vol. 3 (3), no22, pp. 1331-1338 2002 [69] Yoshida, H.; Katsuragawa, S.; Amit, Y.; Doi, K., Wavelet snake for classication of nodules and false positives indigital chest radiographs Engineering in Medicine and Biology Society,
1997. Proceedings of the 19th Annual International Conference of the IEEE Volume 2, Issue , 30 Oct-2 Nov 1997 Page(s):509 - 512 vol.2 1997 [70] X.-W. Xu, S. Katsuragawa, A. Ashizawa, H. MacMahon, and K. Doi, Analysis of image features of histograms of edge gradient for false positive reduction in lung nodule detection in chest radiographs in Proc. SPIE, vol. 3338, pp. 318-326. 1998 [71] Böröczky, L.; Luyin Zhao; Lee, K.P., Feature Subset Selection for Improving the Performance of False Positive Reduction in Lung Nodule CAD Information Technology in Bio-
medicine, IEEE Transactions on; Volume 10, Issue 3, July 2006 Page(s):504 - 511 2006 [72] J. Shiraishi, F. Li, K. Doi, Computer-Aided Diagnosis for Improved Detection of Lung Nodules by Use of Posterior-Anterior and Lateral Chest Radiographs Acad Radiol. 2007
January; 14(1): 28-37. 2007 [73] A. Kano, K. Doi, H. MacMahon, D. D. Hassel, and M. Giger, Digital image subtraction of temporally sequential chest images for detection of interval change Med. Phys., vol. 21,
pp. 453-461 1994. [74] MC Difazio, H MacMahon, XW Xu, P Tsai, J Shiraishi, SG Armato 3rd, K Doi, Digital chest radiography: eect of temporal subtraction images on detection accuracy Radiology,
Vol 202, 447-452 1997 [75] Junji Shiraishi, Shigehiko Katsuragawa, Junpei Ikezoe, Tsuneo Matsumoto, Takeshi Kobayashi, Ken-ichi Komatsu, Mitate Matsui, Hiroshi Fujita, Yoshie Kodera, Kunio Doi, Development of a Digital Image Database for Chest Radiographs With and Without a Lung Nodule 1999 [76] Dev
P.
Chakraborty,
Ph.
D.,
Dev
Chakraborty's
FROC
web
site
http://www.devchakraborty.com/index.php 2005 [77] Ashizawa, K., MacMahorn, H., Ishida, T., Nakamura, K., Vyborny, CJ., Katsuragawa, Eect of an articial neural network on radiologists' performance in the dierential diagnosis of interstitial lung disease using chest radiographs AJR Am J Roentgenol. 1999
May;172(5):1311-5. 1999
IRODALOMJEGYZÉK
95
[78] Shiraishi, J., Abe, H., Engelmann, T., Aoyma, M., MacMahon, H., Doi, K. , Computeraided Diagnosis to Distinguish Benign from Malignant Solitary Pulmonary Nodules on Radiographs: ROC Analysis of Radiologists' Performance-Initial Experience Radiology
2003;227:469-474. 2003 [79] Dan Harvey, X-ray Assist - Combining CAD With Routine Chest Exams Can Identify Lung Cancer Earlier Radiology Today, Vo. 6 No. 15 P. 28 2005 [80] S. Sakai, H. Soeda, N. Takahashi, T. Okafuji, T. Yoshitake, H. Yabuuchi, I. Yoshino, K. Yamamoto, H. Honda, K. Doi, Computer-Aided Nodule Detection on Digital Chest Radiography: Validation Test on Consecutive T1 Cases of Resectable Lung Cancer Journal of
Digital Imaging, Volume 19, Number 4 / December 2006 [81] Wikipedia.org, Bicubic interpolation http://en.wikipedia.org/wiki/Bicubic_interpolation 2008 [82] Donoho, D.L., De-noising by soft-thresholding Information Theory, IEEE Transactions
on Volume 41, Issue 3, May 1995 Page(s):613 - 627 1995 [83] Lallouani, A.; Gabrea, M.; Gargour, C.S., Wavelet based speech enhancement using two dierent threshold-based denoising algorithms Electrical and Computer Engineering, 2004.
Canadian Conference on Volume 1, Issue , 2-5 May 2004 Page(s): 315 - 318 Vol.1 2004 [84] Wikipedia.org, Matched lter http://en.wikipedia.org/wiki/Matched_lter 2008 [85] Carlos S. Pereira et al., Evaluation of Contrast Enhancement Filters for Lung Nodule Detection ICIAR07, pp. 878-888. 2007 [86] Michael D. Heath and Kevin W. Bowyer, Mass Detection by Relative Image Intensity 2000 [87] Budapesti M¶szaki és Gazdaságtudományi Egyetem (BME) Méréstechnika és Információs Rendszerek Tanszék, Semmelweis Egyetem, Budapest (SE) II. sz. Pathológiai Intézet Radiológiai és Onkoterápiás Klinika, Kopint-Datorg Rt., Képfeldolgozáson alapuló ORVOSI döntéstámogató rendszer (ODR) IKTA 4 projekt (IKTA 102/2001) 2005 [88] Deus Technologies (now Riverain Medical), Food and Drug Administration premarket approval for RapidScreen http://www.fda.gov/cdrh/pdf/p000041.html 2001 [89] R. Haralick, K. Shanmugam, I. Dinstein, Textural Features for Image Classication IEEE
Transactions on Systems, Man, and Cybernetics, Vol. SMC-3, no. 6 1973 [90] Rafael C. Gonzales, Richard E. Woods, Digital Image Processing, Prentice Hall, 2002 [91] Whoi-Yul Kim, Yong-Sung Kim, A region-based shape descriptor using Zernike moments
Signal processing: Image communication Vol. 16 2000 [92] Altrichter M., Horváth G., Pataki B., Strausz Gy., Takács G., Valyon J., Neurális Hálózatok, Panem, 2006
96
IRODALOMJEGYZÉK
[93] S. Canu and Y. Grandvalet and V. Guigue and A. Rakotomamonjy, SVM and Kernel Methods Matlab Toolbox Perception Syst£mes et Information, INSA de Rouen, Rouen,
France 2005 [94] A. Rakotomamonjy, Variable selection using svm based criteria Technical Report 02-004,
Insa de Rouen Perception Système Informations, http://asi.insa-rouen.fr/~arakotom 2002 [95] Yali Amit, A non-linear variational problem for image matching SIAM J. SCI. COMPUT.,
Vol. 15, No. 1 1994 [96] Horváth Áron, Mellkasröntgen felvételek elemzése (bordakeresés) BME MIT Diplomaterv 2008 [97] Emanuele
Rualdi,
1..2..3
ways
of
integrating
MATLAB
with
the
.NET
http://www.codeproject.com/KB/dotnet/matlabeng.aspx 2007 [98] Csákány Antal, Bagoly Zsolt, Jelfeldolgozás jegyzet ELTE TTK Információtechnológiai
Oktatási Laboratórium, http://itl7.elte.hu/html/jelfel/jelfeld.htm 2009 [99] Stéphane Mallat, A wavelet tour on signal processing, Academic press, 1998 [100] Bley TA, Baumann T, Saueressig U, Pache G, Treier M, Schaefer O, Neitzel U, Langer M, Kotter E, Comparison of radiologist and CAD performance in the detection of CT-conrmed subtle pulmonary nodules on digital chest radiographs Invest Radiol. 2008 Jun;43(6):343-8. 2008