Képfeldolgozó eljárások áttekintés Orvosi képdiagnosztika 9. ea. 2015 ősz
Tartalomjegyzék Képmanipulációs eljárások Képjavítás (kontraszt módosítás, intenzitásviszonyok módosításahisztogram módosítás, zajszűrés) Képelemzés Éldetektálás (szűréssel, gradiens, második derivált meghatározással, Canny, stb) Képszegmentálás Egyszerű eljárások Hisztogram (képintenzitás) alapján, textura alapján régió növesztés, watershed eljárás Élek, kontúrok alapján Pixelértékek alapján (klaszterezés, osztályozás) Komplex eljárások Transzformációs eljárások: Hough transzformáció, szegmentálás deformálható modellekkel: ASM, AAM, deformálható Fourier transzformáció szegmentálás deformálható modellekkel: parametrikus. Snake, szegmentálás deformálható modellekkel Geometriai: Level set módszer Komplex eljárások:, edge flow, stb, Morfológiai műveletek
Képjavítás Cél: a kép vizuális megjelenésének javítása. Alapvetően az emberi szem számára javítunk a kép megjelenésén, de segíti a gépi képelemzést is. Tipikus képjavítási eljárások: - Kontraszt módosítás - Intenzitásviszonyok módosítása - Szűrések: - lineáris szűrések, - nemlineáris szűrések: - homomorfikus feldolgozás - order statistics filters: median, rank és ezek variánsai. - Élek kiemelése, - Zajok mérséklése
Kontraszt javítás Az intenzitástartomány és az intenzitásviszonyok megváltoztatása lineáris vagy nemlineáris módosítás
Kontraszt javítás Window-level transzformáció ablak: a lineáris meredek szakasz tartománya, Level: a lineáris szakasz középső pontja
A hisztogram széthúzása
Kontraszt javítás
Kontraszt javítás
Hisztogram módosítás
Hisztogram módosítás Hisztogram kiegyenlítés c=xsize*ysize/oszlopszam; for(i=0..255) { sum+=bemeneti_hisztogram[i]; while(sum>=c) { pos+=256/oszlopszam; sum-=c; } F[i]=pos; } for(i=0..xsize-1,j=0..ysize-1) kimeneti_kep_pixel[j][i]=f[bemeneti_kep_pixel [j][i]];
Hisztogram módosítás Olyan transzformáció, hogy az intenzitásértékek egyenletes eloszlásúakká váljanak A (lépcsős) transzformációs függvény létrehozása : - a bemeneti hisztogram elejétől indulva elkezdjük összegezni a hisztogramértékeket, egészen addig, amíg az összeg túl nem lépi a c=(x_meret x y_meret)/oszlopszam értéket. - Ha ez x=m-nél következik be, akkor a transzformációs függvényértékét m-ig nullára állítjuk és folytatjuk az összegzést, de nem nulláról, hanem az elért összeg-c értéktől, a következő átlag-túllépésig, legyen ez a pont n. - Ekkor a függvény minden m - től n-ig terjedő értéket 256/oszlopszam annyiadik többszörösére állítjuk,amelyik oszlopnál tartunk a transzformációban (az első oszlopnál 256/oszlopszam, a másodiknál 2*(256/oszlopszam) és így tovább). - Majd a megszerkesztett átviteli függvény segítségével előállítjuk a kimeneti képet, melynek hisztogramja vonalas lesz.
Adaptív hisztogram módosítás Tartományokhoz (egyes ablakhoz) eltérő hisztogram módosítást rendelünk eredeti nemadaptív adaptív
Zajszűrés Lineáris szűrések, szűrőkernel szűrés a képtartományban Szűrés transzformált tartományban (bázisfüggvények terében végezzük el a szűrést: Fourier, stb) Nemlineáris szűrések: homomorfikus jelfeldolgozás order statistics szűrés: median szűrés, egyéb OSF eljárások
Pl. aluláteresztő szűrő Lineáris szűrések
Eredeti Lineáris szűrés Egyenletes zaj mask 1 mask 3
Eredeti Lineáris szűrés Impulzus zaj mask 1 mask 3
Éldetektáló szűrők Sobel Prewitt Egyebek: Roberts, Kirsch, DoG, LoG
Egyéb fontosabb szűrők 2D LoG és közelítő kernele LoG alkalmazása, nullátmenetek detektálására Küszöbözés (csak a nagy átmeneteket tartja meg)
Lineáris szűrés transzformált tartományban Frekvenciatartomány Egyéb bázisrendszer Fix bázisrendszerek (Haar, Hadamard, Walsh, stb.) Bázisrendszer család (Wavelet) Képfüggő bázisrendszer (KLT)
Lineáris szűrés transzformált tartományban eredeti Gauss zaj pontszerű zaj zajos M=1 PCA 4 16 64 256 M=1 KPCA Gauss kernel 4 16 64 256 PCA-KPCA zajszűrő hatás összehasonlítása
Lineáris szűrés transzformált tartományban Karhunen-Loève transzformáció (KLT) Jelfüggő ortogonális transzformáció
Nemlineáris szűrés homomorfikus szűrés order statistic (rank) szűrés polinomiális szűrés matematikai morfológia neurális hálók nemlineáris kép visszaállítás
Nemlineáris szűrések Homomorfikus szűrés Multiplikativ zajok mellett hatékony megvilágítás, zajmentes kép Logaritmálás után hagyományos szűrési eljárások
Homomorfikus szűrés megvilágítás érzékelt kép homomorfikus szűrés eredménye Butterwoth felüláteresztő szűrés
Order statistics szűrés Legyen akkor az i-edik statisztika Sorbarendezi a szomszédos pixeleket növekvő inztenzitásérték szerint, kiválaszt egyet a rangnak megfelelően és ez lesz a kimenet Speciális rank szűrők: medián Kétdimenziós mediáns szűrő Az A halmaz a szűrő ablak. Az ablak alakja befolyásolja a szűrő tulajdonságait (élmegtartás, bizonyos képrészletek megtartása)
Medián szűrés A zajos képből 7x7 ablak eredeti zajos kép átlagoló szűrés medián szűrés
Rank szűrés A zajos képből 7x7 maszk mellett 4. rangú pixelek kiválasztása (rank 4)
Éljavítás, éldetektálás Élkiemelés Szűréssel: magasfrekvenciás kiemelés, felüláteresztő szűrés
Képszegmentálás Orvosi képdiagnosztika 10. ea
Képszegmentálás Anatómiai részek elkülönítés: pl. csontok, szív, erek, szürkefehér állomány, stb Vizsgálandó terület körbehatárolása: pl. tüdő terület Elváltozások minél pontosabb körülhatárolása... Nehézségek: elmosott határok, nem megfelelő felbontás Intenzitás egyenetlenség...
Képszegmentálás Anatómiai részek körülhatárolása
Képszegmentálás Elváltozás pontos körülhatárolása
Képszegmentálás Régió alapú A régión belüli hasonlóságot, ill. a régiók közötti különbségeket használja Intenzitás alapján (küszöbözés) Gradiens alapon Textura alapon Régió növesztés, régió hasítás, összeolvasztás Watershed Él alapú Kontúr alapján, élkeresés, derivált, második derivált, Dinamikus programozás Hough traszformáció: egyenes kör, általános körvonal Pixel (voxel) (és környezete) alapú (osztályozás) Tanuló rendszerek, neuronhálók, deep hálók...
Képszegmentálás Intenzitás alapján, hisztogramban küszöbözéssel
Képszegmentálás Küszöbözéssel Hisztogram nevezetes pontjai alapján: szélsőértéknél Zaj hatása, simító előfeldolgozás Optimális küszöbözés Paraméteres ( Gauss függvények összegeként modellezzük) Feladat: hány Gauss, és milyen paraméterekkel Nemparaméteres (valamilyen mérőszámok definiálása, ennek megfelelő küszöbérték(ek)) Paraméteres: Gauss függvények összegeként modellezzük
P 2 p 2 (g) Küszöb meghatározása P 1 p 1 (g) Ha 1 = 2
Képszegmentálás Paraméterek becslése Gaussok összege, Gauss paraméretek becslése Optimumkeresési probléma definiálása A megfigyelt hisztogram A modellezett hisztogram g i a szürkeségi érték Maximum likelihood becslés j melyik csoport, j paramétervektor P( j) prior
Gauss paraméreinek becslése
Illusztratív példa EM alapú Gauss paraméterbecslésre
EM algoritmus A feladat: egy valószínűség eloszlás valmilyen paraméterét(vektorát) akarjuk becsülni részlegesen. megfigyelhetőadatok alapján. A megfigylések: X={x 1, x 2,, x L } ismert Nem ismert Z={z 1, z 2,, z L } A teljes adathalmaz: Y X Z Kiinduló hipozézis az ismeretlen paraméterről h Ezt feltételezve tudunk becslést adni az ismeretlen paraméterre
Feladat a Gauss eloszlások paramétereinek becslése Itt csak 1 és 2 becslése x i megfigyelhető z ij nem megfigyelhető De: z ij =1, ha x i -t a j-edik Gauss generálta Kiinduló értékek Két egymást követő lépés: - Várható érték képzés - Maximum keresés
EM algoritmus (általános) EM algoritmus Keresett paramétervektor Y X Z X={x 1, x 2,, x L } Z={z 1, z 2,, z L } P Y h E P Y h E log P Y h Q h h E P Y h h, X Q h h E P Y h h, X E Pˆ x, h argmax Q h h i j i x j j 2 2 2 ˆ e ˆ ˆ, θ θ 2 j x j r i 2 ˆ ˆ 2 E P i x j, θi r e j h' E P x x i j i j
Képszegmentálás Kontúr, élek, alapján Klaszterezés, osztályozás
Képszegmentálás (élek alapján) Élkiemelő szűrők Lineáris szűrők: Sobel, Prewitt, Canny, LoG,... Nemlieáris szűrők, morfológiai műveletek
Határvonal követés él intenzitása két szomszédos pixel él iránya az alábbi feltételek szerint
Képszegmentálás Gráf kereső eljárások A* algoritmus (ismétlés) válasszunk egy kezdő csomópontot, az összes lehetséges követő pontot tegyük egy OPEN listára, vigyük vissza a pointert a csomópontot megelőző pontra Ha az OPEN lista üres, vége, ha nem folytassuk Az OPEN listáról vegyük az n legkisebb költségű t(n)= p(n)+h(n) csomópontot, vegyük le az OPEN listáról és minősítsük a pontot CLOSEDnak ahol p(n)= (c(n i -1,c(n))+ l(n j ) Ha n a cél csomópont, kövessük visszafelé ettől a csomóponttól a kezdeti csomópontig a pointerek szerint: optimális út Generáljuk n összes lehetséges követőjét Ha a követő nem CLOSED vagy ha az OPEN listán van legyen p(n i )=p(n)+c(n,n i )+l(n i ) Itt c(n,n i ) az átmenet költsége, l(n) a lokális költség Ha az n i következő pont az OPEN listán van már, vagy egy CLOSED pont frissítsük p(n)=min [(p(n i ), p(n)+c(n,n i )]
Képszegmentálás Transzformációs módszerek más tartományba transzformálom a kép egyes pontjait Pl: egyenes pontjai a Hough térben egy pontot határoznak meg
Képszegmentálás Régió alapú szegmentálások Régió növesztés Régió hasítás és összeolvasztás
Képszegmentálás Klaszterezés, osztályozás Nemellenőrzött tanítás, ellenőrzött tanítás K-means, Fuzzy C-means,... Cimkézett minták alapján: jellemzők kigyűjtése, vagy képrégió egy osztályozni kívánt pont környezetébe... Jellemzők alapján: Pixel klasszifikáció: intenzitás alapon. Pixel klasszifikáció : intenzitás és hely alapon... Szabály alapú osztályozás szabály-alapú következtetés: intenzitás és korrelált pozíció. szabály-alapú következtetés: intenzitás, entrópia és korrelált pozíció....