• Nie Znaleziono Wyników

Detekcja obiektów z Rezonansu Magnetycznego

Badania numeryczne

6.1.1 Detekcja obiektów z Rezonansu Magnetycznego

Opracowane rozwiązanie oparte na Konwolucyjnych Sieciach Neuronowych (Rozdz.

5.1.3) zaimplementowane zostało z wykorzystaniem biblioteki Tensorflow [1] i techno-logii CUDA (ang. Compute Unified Device Architecture) [149], pozwalającej na rów-noległe obliczenia na procesorach graficznych. Obliczenia wykonywane były na stacji roboczej wyposażonej w czterordzeniowy procer Intel Core i7-2600K 3.40 GHz, 12 GB ramu i kartę graficzną GeForce GTX 1050 Ti z 768 rdzeniami CUDA.

Początkowo w celu możliwie najszybszej optymalizacji funkcji straty przetestowa-no działanie pięciu różnych algorytmów optymalizacyjnych (Tab. 6.1)(Rys. 6-1). W pierwszej kolejności przetestowano podstawowy algorytm Stochastycznego Gradientu Prostego (ang. Stochastic Gradient Descent ) [24, 69], algorytm AdaGrad (ang. Ad-aptive Gradient Algorithm) [58], algorytm AdaDelta (ang. AdAd-aptive Learning Rate Method )[215], algorytm RMSProp (ang. Root Mean Square Propagation) [195] oraz algorytm Adam (ang. Adaptive Moment Estimation)[110].

Spośród przetestowanych algorytmów optymalizacji najszybszą optymalizacją

funk-Tabela 6.1: Porównanie (procentowe) skuteczności klasyfikacji zaimplementowanej Konwo-lucyjnej Sieci Neuronowej uzyskiwanej dla 100 ostatnich epok (z 500 epok) przy poziomie istotności 𝛼 = 0.05, dla danych uczących i testowych, dla obliczeń na GPU.

Baza ucząca Baza testowa

Algorytm Skuteczność 𝜎𝑡𝑟𝑛𝑔 Skuteczność 𝜎𝑡𝑒𝑠𝑡 SGD 99.6875 ± 0.0228 0.1164 98.5080 ± 0.1244 0.6347 AdaGrad 99.3635 ± 0.0145 0.0741 98.0934 ± 0.0127 0.0650 AdaDelta 99.9500 ± 0.0000 0.0000 98.7445 ± 0.0260 0.1329 RMSProp 100.0000 ± 0.0000 0.0000 98.9168 ± 0.0142 0.0724 Adam 100.0000 ± 0.0000 0.0000 99.0555 ± 0.0710 0.3621

80

Rysunek 6-1: Porównanie skuteczności klasyfikacji zaimplementowanej Konwolucyjnej Sieci Neuronowej uzyskiwanej wraz z kolejnymi epokami przy wykorzystaniu różnych algorytmów optymalizacji funkcji straty.

cji straty oraz najwyższą skutecznością klasyfikacji wykazał się algorytm Adam [110]

(Rys. 6-1) uzyskując zarówno dla obliczeń na procesorze (CPU)(Rys. 6-2), jak i ob-liczeń na procesorze graficznym (GPU)(Rys. 6-3) 100% skuteczność klasyfikacji bazy uczącej w stu ostatnich epokach (Tab. 6.1). Skuteczność klasyfikacji danych testo-wych (na podstawie 100 ostatnich epok) wyniosła 99.0555 ± 0.0710% przy odchyleniu standardowym 𝜎𝑡𝑒𝑠𝑡 = 0.3621%.

Zauważyć można znaczne różnice w czasie potrzebnym CPU i GPU na wykonanie obliczeń (Rys. 6-4). Czas pracy procesora (CPU) potrzebny do wykonania 200 epok zaimplementowanej Konwolucyjnej Sieci Neuronowej wyniósł 2981 sekund. Czas

pra-70 80 90 100

Skuteczność klasyfikacji [%]

Baza testowa Baza ucząca

50 60

0 50 100 150 200

Skuteczno

Epoka

Rysunek 6-2: Porównanie skuteczności klasyfikacji zaimplementowanej Konwolucyjnej Sieci Neuronowej uzyskiwanej wraz z kolejnymi epokami, dla danych uczących i testowych, dla obliczeń na CPU.

70 80 90 100

Skuteczność klasyfikacji [%]

Baza testowa Baza ucząca

50 60

0 50 100 150 200

Skuteczno

Epoka

Rysunek 6-3: Porównanie skuteczności klasyfikacji zaimplementowanej Konwolucyjnej Sieci Neuronowej uzyskiwanej wraz z kolejnymi epokami, dla danych uczących i testowych, dla obliczeń na GPU.

cy procesora graficznego (GPU) potrzebny do wykonania 200 epok zaimplementowa-nej Konwolucyjzaimplementowa-nej Sieci Neuronowej wyniósł 169 sekund wykazując prawie 18-krotne przyśpieszenie w stosunku do CPU (Rys. 6-5).

100 150 200

Epoka

GPU CPU

0 50

0 500 1000 1500 2000 2500 3000

Czas [s]

Rysunek 6-4: Porównanie czasu potrzebnego na wykonanie 200 epok zaimplementowanej Konwolucyjnej Sieci Neuronowej dla CPU i GPU.

70 80 90 100

Skuteczność klasyfikacji [%]

GPU - baza testowa GPU - baza ucząca CPU - baza testowa

50 60

0 500 1000 1500 2000 2500 3000

Skuteczno

Czas [s]

CPU - baza ucząca

Rysunek 6-5: Porównanie czasu uczenia zaimplementowanej Konwolucyjnej Sieci Neurono-wej potrzebnego do uzyskania stabilności klasyfikacji dla CPU i GPU.

6.1.2 Segmentacja tkanek na obrazach Rezonansu Magne-tycznego

Opracowana metoda segmentacji tkanek na obrazach Rezonansu Magnetycznego (Rozdz.

5.1.4) przetestowana została z wykorzystaniem dwóch rodzajów Funkcji Odkształce-nia (ang. Warp Function): Całościowej Funkcji OdkształceOdkształce-nia (ang. Holistic) będącej standardowym modelem odkształcenia wykorzystywanym w większości implementacji metody Aktywnych Modeli Wyglądu (ang. Active Appearance Models) oraz Lokalnej Funkcji Odkształcenia (ang. Patch based ) [6, 8] opartej na lokalnej analizie fragmen-tów obrazu. Dla wspomnianych Funkcji Odkształcenia przetestowano dziesięć algoryt-mów optymalizacji podzielonych na algorytmy Kompozycji Przedniej (ang. Forward Compositional ) [7, 8, 14, 89, 90, 137, 155, 201]: algorytm Przednio Kompozycyjny Wiberga (ang. Wiberg Forward Compositional, skr. WFC) [8, 153, 190, 210], Jed-nocześnie Przednio Kompozycyjny (ang. Simultaneous Forward Compositional, skr.

SFC) [89, 90], Projekcji Przednio Kompozycyjnej (ang. ProjectOut Forward Compo-sitional, skr. POFC) [137], Naprzemienny Przednio Kompozycyjny (ang. Alternating Forward Compositional, skr. AFC) [7, 155], Zmodyfikowany Naprzemienny Przed-nio Kompozycyjny (ang. Modified Alternating Forward Compositional, skr. MAFC) [7, 155] oraz algorytmy Kompozycji Odwrotnej (ang. Inverse Compositional ) [7, 8, 13, 14, 90, 89, 137, 155, 201]: algorytm Odwrotnie Kompozycyjny Wiberga (ang. Wi-berg Inverse Compositional, skr. WIC) [8, 153, 190, 210], Jednocześnie Odwrotnie Kompozycyjny (ang. Simultaneous Inverse Compositional, skr. SIC) [89, 90], Projek-cji Odwrotnie Kompozycyjnej (ang. ProjectOut Inverse Compositional, skr. POIC) [137], Naprzemienny Odwrotnie Kompozycyjny (ang. Alternating Inverse Composi-tional, skr. AIC) [7, 155] i Zmodyfikowany Naprzemienny Odwrotnie Kompozycyjny (ang. Modified Alternating Inverse Compositional, skr. MAIC) [7, 155].

Eksperymenty wykonano na zestawie 50 nowych obrazów nie używanych w proce-sie uczenia. Kręgi zostały ręcznie oznaczone przez 5 ekspertów i porównane z wynikami uczenia maszynowego. Do oceny statystycznej poprawności segmentacji powierzchni wybrane zostały trzy miary [25, 66, 67, 139]: frakcja prawdziwie pozytywna (ang. True

Positive Fraction, skr. TPF), frakcja fałszywie negatywna (ang. False Negative Frac-tion, skr. FNF) oraz frakcja fałszywa (ang. False FracFrac-tion, skr. FF).

Frakcja Prawdziwie Pozytywna (TPF) (6.1) dostarcza informację o procentowej ilości prawidłowo wysegmentowanych pikseli i jest określona przez stosunek sumy automatycznie wysegmentowanych pikseli zgodnych z segmentacją manualną, do sumy całkowitej ilości pikseli wynikającej z manualnej segmentacji:

TPF (Frakcja Prawdziwie Pozytywna) = 𝐴𝑇 𝑃

𝐴𝑇 → Wrażliwość (6.1) gdzie powierzchnia prawdziwie pozytywna 𝐴𝑇 𝑃 = 𝐴𝑆∩ 𝐴𝑇, gdzie 𝐴𝑇 to obszar wyseg-mentowany ręcznie uznawany za rzeczywiste odzwierciedlenie występowania poszuki-wanej tkanki (ang. ground truth), a 𝐴𝑆 to obszar wysegmentowany automatycznie.

Frakcja Fałszywie Negatywna (FNF) (6.2) o procentowej ilości pikseli pominiętych przez automatyczny algorytm, a oznaczonych przez ekspertów jako część poszukiwanej tkanki. FNF określona jest przez stosunek sumy ręcznie wysegmentowanych pikseli nie zaznaczonych przez algorytm segmentacji automatycznej, do sumy całkowitej ilości pikseli wynikającej z manualnej segmentacji:

FNF (Frakcja Fałszywie Negatywna) = 𝐴𝐹 𝑁

𝐴𝑇 → Specyficzność (6.2) gdzie powierzchnia fałszywie negatywna 𝐴𝐹 𝑁 = 𝐴𝑇 − 𝐴𝑆.

Frakcja Fałszywa (FF) (6.3) dostarcza ogólną informację o jakości segmentacji, łącząc zarówno informacje o procentowej ilości prawidłowo wysegmentowanych pik-seli jak i pikpik-seli pominiętych. FF określona jest przez stosunek różnicy pola ręcznej i automatycznej segmentacji w stosunku do segmentacji ręcznej:

FF (Frakcja Fałszywa) = 1 − 𝐴𝐹 𝑃 + 𝐴𝐹 𝑁

𝐴𝑇 → Dokładność (6.3)

gdzie powierzchnia fałszywie pozytywna 𝐴𝐹 𝑃 = 𝐴𝑆− 𝐴𝑇.

Dodatkowo przeprowadzono ocenę zbieżności algorytmów poprzez porównanie wy-ników automatycznej segmentacji dla każdej iteracji z ręczną segmentacją wykonaną przez ekspertów. Wyniki pojedynczego wywołania algorytmu z maksymalnie 25

ite-racjami dla każdego obrazu testowego porównano z segmentacją wzorcową 50 nie używanych w procesie uczenia obrazów.

Dodatkowo dla wybranego algorytmu optymalizacji zbadany został współczyn-nik korelacji wewnątrzklasowej (ang. Intraclass Correlation Coefficient ) [16, 23, 209].

Współczynnik ten określa poziom spójności wyników segmentacji ręcznej oraz auto-matycznej.

Ostatecznie dla wybranego algorytmu optymalizacji przeprowadzono również 10-krotną walidację krzyżową [51, 77, 111]. Baza danych składająca się z 1000 obra-zów podzielona została na 10 równych zbiorów i przetestowana iteracyjnie 10-krotnie poprzez krzyżowe uczenie modelu na podstawie 90% obrazów i test na pozostałych 10% z ręcznymi oznaczeniami cech charakterystycznych. Ręcznie oznaczone cechy cha-rakterystyczne zostały następnie wykorzystane do interpolacji kształtu przy pomocy krzywych Catmull-Rom (Rozdział 7.1.4) i porównane z wynikami segmentacji auto-matycznej przy pomocy miar TPF, FNF i FF.