\chapter{Datová sada}\label{Datová sada}
Data využitá pro účely vypracování této práce byla zapůjčená firmou TESCAN Medical s.r.o. a obsahovala celkem 200 pacientů. U všech se jedná o CT snímky lebky a~většina případů má na klenbě lebeční otvor po chirurgickém zákroku. Nejčastěji jsou to kontrolní snímky po provedené kraniektomii sloužící k plánování kranioplastiky, ale v datové sadě jsou také zahrnuti pacienti s již provedenou kranioplastikou, kdy data byla získána za účelem plánování reoperace či výměny implantátu. Data byla poskytnuta ve formátu \textit{.npy} (jedná se o formát pro ukládání NumPy polí). 

\section{Akvizice dat} \label{Akvizice dat}
Pacientská data byla nasnímaná v několika nemocničních pracovištích pomocí CT systémů s různými akvizičními parametry. Tloušťka řezů nebyla u všech dat stejná, pohybovala se od 0,3 mm po 1,2 mm, přičemž nejvíce zastoupená byla hodnota 0,5~mm.

Vzhledem k účelu, za kterým byla data pořízena, byla v některých případech nasnímána pouze mozková část lebky, od horního okraje očnice směrem nahoru. Počty získaných řezů se u jednotlivých pacientů lišily, největší dataset jich obsahoval 852, průměrně se ale jednalo o velikost kolem 250 snímků. 


\section{Anotace dat} \label{Anotace dat}
Všechny pixely obrazu byly rozděleny do dvou kategorií: kost a pozadí. Anotace byly vždy vytvořeny nebo schváleny odborníky. 

Do třídy kost byly zařazeny i pixely některých dutin, ukázka jednoho 2D axiálního řezu s výskytem dutin je na obrázku \ref{fig:dutiny}, kde vlevo je originální snímek a~vpravo je modrou barvou vyznačená anotace. V části s anotací je ještě odlišena kost a dutiny, kdy tmavší odstín modré barvy zvýraznil všechny dutiny zahrnuté do~anotace.

K přiřazování dutin do stejné kategorie jako kost bylo přistoupeno z čistě praktických důvodů umožnujících snazší výrobu implantátu, oblast zájmu tímto postupem nebyla nijak ovlivněna.


\begin{figure} [ht]
  \centering
  \includegraphics[width=14cm]{obrazky/dutiny_priklad.png}
  \caption[Ukázka anotovaných dat.]{Ukázka jednoho axiálního 2D řezu, vlevo originální obraz, vpravo fúze originálního snímku a anotované masky. Modrá barva označuje části zařazené do~kategorie kost, pomocí tmavšího odstínu této barvy byly zvýrazněny dutiny.}
  \label{fig:dutiny}
\end{figure}

\section{Předzpracování dat} \label{Předzpracování dat}
Nejprve byli vyřazeni pacienti po kranioplastice, protože by mohli mít negativní vliv na učení sítí. Tyto případy (pravděpodobně se jedná o kontrolní snímky) totiž v originálních datech již nemají v klenbě lebeční otvor, ale v anotacích ano. 

Nutným a nejdůležitějším krokem předzpracování dat byla jejich normalizace. Housfieldovy jednotky (HU) byly převedeny na rozsah 0 až 1 podle rovnice \ref{eq:min_max_normalizace}.

\begin{equation} \label{eq:min_max_normalizace}
f_{i,k} = \frac{f_{i,k}-f_{min}}{f_{max}-f_{min}},
\end{equation}

kde $f_{i,k}$ je jasová hodnota obrazu na pozici s indexy i a k, $f_{min}$ resp. $f_{max}$ je minimální resp. maximální jasová hodnota obrazu. Aby byly všechny obrazy normovány stejně byly $f_{min}$ a $f_{max}$ nastaveny na 0 a 4000. \cite{normalizace}

Následně bylo provedeno zmenšení obrazu (axiálního řezu) z rozměru 512$\times$512 na 128$\times$128, díky tomu se významným způsobem snížila paměťová náročnost a~umožnila plánování rozsáhlejších experimentů.

\chapter{Návrh a implementace}\label{Implementace}
Pro řešení segmentace lebečních kostí v CT snímcích byla využita architektura sítě U-Net - její 2D i 3D verze. Implementace obou přístupů byla provedena v jazyce Python pomocí knihovny Tensorflow 2.0, ve které je již integrovaná knihovna pro~hluboké učení - Keras. V následujících podkapitolách jsou popsány architektury obou variant sítí a metriky hodnocení jejich úspěšnosti.


\section{Architektura 2D sítě}\label{Architektura 2D sítě}
Implementace 2D varianty konvoluční neuronové sítě U-Net byla inspirována v \cite{tutorial}. 

Vstupní vrstva přijímala normované a zmenšené obrazy o velikosti 128$\times$128$\times$3. Sestupná část (enkodér) U-Net architektury byla tvořena sítí MobileNetV2 předtrénovanou na datasetu ImageNet. Původní vstupní rozměr obrazu se postupně zmenšuje přes 64$\times$64 vždy na polovinu až po 4$\times$4, prostorová velikost se v sestupné části tedy zmenšuje, hloubka se naopak zvětšuje. 

Základní blok typický pro MobilNetV2 je podle \cite{mobilenetv2} složen z větve identity a části s konvolucí 1$\times$1 následovanou hloubkovou (\textit{depthwise}) konvolucí s velikostí jádra 3$\times$3 - za těmito oběma vrstvami je modifikovaná ReLU (\textit{ReLU-6}). Před sčítáním větví je zařazena ještě jedna konvoluce 1$\times$1 tentokrát následovaná lineární aktivační vrstvou. Při každém přechodu do nižší vrstvy architektury U-Net se po zmenšení šířky a výšky obrazu zařadila ještě vrstva s batch normalizací. 

Jak bylo popsáno již v \ref{u-net} sestupná a vzestupná část sítě je propojená spoji, díky kterým se v vzestupné části mohou využít informace i z méně hlubokých vrstev.

Dekódující část tvoří bloky transponované konvoluce zajišťující postupnou změnu velikosti obrazu z 4$\times$4 na původních 128$\times$ 128. Transponovaná konvoluce je na každé úrovni architektury následovaná vždy vrstvou s batch normalizací a s ReLU aktivací.

Jako aktivační funkce poslední vrstvy byla zvolena sigmoida, jejíž zápis (podle \cite{umela_intelegence}) je v následující rovnici:
\begin{equation} \label{eq:sigmoida}
f(\alpha)=\frac{1}{1+e^{-x}}, 
\end{equation}
kde $f(\alpha)$ je aktivační funkce, $x$ vstupní hodnoty.

Počet výstupů byl nastaven na jeden, který díky prahování klasifikoval vzorky do~kategorií kost a pozadí. Hodnota prahu byla určena na 0,5.
Schématické vyobrazení 2D architektury je na obrázku \ref{fig:schema_2D}.

\begin{figure} [h]
  \centering
  \includegraphics[width=14 cm]{obrazky/2D_schema.png}
  \caption[Schéma 2D architektury.]{Zjednodušené schéma 2D architektury.}
  \label{fig:schema_2D}
\end{figure}



\section{Architektura 3D sítě} \label{Architektura 3D sítě}
Segmentace klenby lebeční na dostupných datech byla provedena také pomocí 3D varianty U-Net, model sítě vycházel z článku \cite{unet3D} a implementace bloků byla inspirována podle \cite{3d_unet_rep}.

Z důvodu omezení paměťovou kapacitou by nebylo možné načítat celé objemy jednotlivých pacientů, a proto byly síti na vstup dávány menší krychle (\textit{patche}) s~velikostí hrany o určitém počtu pixelů. 

Veškerá data všech pacientů byla po normalizaci a zmenšení na rozměr 128$\times$128 uložena do hierarchického datového formátu HDF5. Takto vytvořená databáze byla snadno přístupná pro datový generátor, který v ní ukázal na konkrétního pacienta, jeho data i anotace byly načteny do paměti a následně z něj byly vytvořeny malé krychle, které generátor postupně posílal na vstup síti. 

Sestupná část U-Net architektury byla (stejně jako vzestupná část) tvořena čtyřmi úrovněmi. Každá úroveň byla tvořena dvěma po sobě jdoucími konvolučními bloky. Každý z nich se skládal z 3D konvoluce (s jádrem velikosti 3$\times$3$\times$3, krokem 1$\times$1$\times$1), po které byla provedena ReLU aktivace. Při přechodu na nižší úroveň opět docházelo ke zmenšování prostorového parametru a zvětšování hloubky příznakových map díky 3D max-pooling operaci s velikostí okna 2$\times$2$\times$2 (například při velikosti vstupního objemu dat 1$\times$32$\times$32$\times$32 bylo popsanými operacemi postupně dosaženo na nejnižší úrovni U-Net architektury rozměru 512$\times$4$\times$4$\times$4). 

Ve vzestupné části byly spoje mezi jednotlivými úrovněmi zajištěny 3D trasponovanou konvolucí s velikostí jádra i krokem velikosti 2$\times$2$\times$2. Po přechodu na vyšší úroveň bylo provedeno spojení (konkatenace) s příznakovou mapou na konci odpovídající úrovně sestupné části, následované dvěma již popsanými konvolučními bloky. V nejvyšší úrovni vzestupné části byla za druhým konvolučním blokem zařazena ještě 1$\times$1$\times$1 3D konvoluce a aktivace pomocí sigmoidy (rovnice \ref{eq:sigmoida}). Na základě prahu bylo rozhodnuto o predikci do kategorie kost nebo pozadí.

Zjednodušené schéma popsané 3D architektury je na obrázku \ref{fig:schema_3D}.

\begin{figure} [h]
  \centering
  \includegraphics[width=14 cm]{obrazky/3D_schema.png}
  \caption[Schéma 3D architektury.]{Zjednodušené schéma 3D architektury.}
  \label{fig:schema_3D}
\end{figure}

\section{Metriky hodnocení úspěšnosti}\label{Hodnocení úspěšnosti}
Pro zhodnocení úspěšnosti predikce na testovací množině byly využity dvě odlišné metriky - jedna pro celkovou úspěšnost a druhá pro zaměření pouze na oblast lebky.

Přesnost (accuracy, ACC) je podíl správně klasifikovaných pixelů a celkového počtu všech pixelů, většinou se ještě provádí přepočet na procenta. Vztah lze zapsat jako:
\begin{equation} \label{eq:ACC}
ACC=\frac{S}{N},
\end{equation}

kde $S$ je počet správně klasifikovaných pixelů a $N$ je celkové množství pixelů (správně a špatně klasifikovaných dohromady).

Další informace o správnosti výsledků můžeme získat výpočtem Jaccardova indexu jinak označovaného jako průnik nad sjednocením (\textit{Intersection over Union}, IoU). Jeho tvar udává rovnice \ref{eq:IoU} a jedná se o metriku, která přiblíží, jak dobře se podařila segmentace daného objektu. \cite{jaccard_ind, seman_seg}

\begin{equation} \label{eq:IoU}
IoU=\frac{TP}{TP+FP+FN},
\end{equation}

kde $TP$ označuje počet správně klasifikovaných pixelů, $FP$ resp. $FN$ množství falešně pozitivních resp. falešně negativních přiřazení ke třídám. 

V datech s nerovnoměrným zastoupením kategorií má IoU oproti ACC vyšší výpovědní hodnotu, protože počítá pouze s pixely, které byly nebo měly být označeny jako kategorie kost.



\section{Finální úpravy predikovaných snímků} \label{Finální úpravy}
V případě nutnosti odstranění falešně pozitivních pixelů pro dosažení vyšší úspěšnosti klasifikace byly do návrhu zařazeny dvě finální (postprocessing) úpravy a jejich kombinace.

První z navržených finálních úprav sloužící k odstranění případných malých falešně pozitivních shluků s využitím metody aktivních kontur, která by byla aplikována na predikovaný binární obraz - výstup sítě. Implementace aktivních kontur pocházela z knihovny OpenCV, která slouží pro analýzu obrazů. Nejprve byly kontury nalezeny, následně byl zjištěn obsah jejich vnitřních oblastí. Z obrazu jsou poté odstraněny ty oblasti, které jsou menší než experimentálně stanovený práh.

Vylepšení drobných nedokonalostí (osamocených FP pixelů) by mohlo být dosaženo také 2D mediánovým filtrem, velikost okna procházejícího obrazem musí být také stanovena experimentálně.

\chapter{Experimenty a výsledky}\label{Experimenty a výsledky}
V následující kapitole je popsán způsob vybírání dat pro trénování sítí, jejichž architektury byly popsány v \ref{Architektura 2D sítě} a \ref{Architektura 3D sítě}, dále nastavení implementovaných sítí pro učení, způsob testování a v poslední části také jejich srovnání.


\section{2D U-Net}\label{2D U-Net}
2D varianta sítě U-Net byla natrénována za pomoci axiálních řezů CT daty pacienta. Nejprve bylo nutné nalézt optimální rozdělení do datových množin, vybrat vhodnou ztrátovou funkci a nastavení hyperparametrů. 

\subsection{Datová množina pro 2D síť} \label{Datová množina pro 2D síť}
S ohledem na výpočetní náročnost a možnosti nebyla využita celá datová sada. Z~dostupných dat bylo náhodně vybráno 67 pacientů, 50 bylo vybráno pro trénování, 4~byly využiti pro validaci a zbylých 13 pro testování úspěšnosti modelu. U zvolených pacientů byl proveden ještě náhodný výběr 120 řezů,aby všechny naučené modely mohly být na základě stejného objemu dat pro učení i testování srovnány. Velikosti jednotlivých datových množin v počtech řezů jsou přehledně uvedeny v tabulce \ref{tab: Tabulka velikostí datových množin}.

\begin{table}[h]
\centering
\caption[Tabulka velikostí datových množin pro 2D U-Net.]{Tabulka velikostí datových množin pro učení modelu 2D U-Net.}
\begin{tabular}{|c|c|c|}
\hline
datová množina              & \quad počet řezů \quad \quad       \\ \hline
trénovací                      & 6000        \\ \hline
validační                      & 480          \\ \hline
testovací                      & 1560           \\ \hline

\end{tabular}
\label{tab: Tabulka velikostí datových množin}
\end{table}


\subsection{Výběr ztrátové funkce} \label{Výběr chybové funkce}
Důležitým krokem při sestavování finální podoby sítě (před jejím testováním) byl experimentální výběr ztrátové (\textit{loss}) funkce, hodnocení jednotlivých variant bylo prováděno po deseti epochách. Pro zjištění nejvhodnější ztrátové funkce mohla být, pro tento případ, také oproti popisu v \ref{Datová množina pro 2D síť} zmenšena datová množina a trénování modelů probíhalo pouze na 30 trénovacích pacientech a 5 stejných testovacích pacientech. 

Výsledek predikce s použitím původního nastavení podle \cite{tutorial} (s funkcí \textit{cross entropy}) je na obrázku \ref{fig:sparse categorical crossentropy}, průměrná hodnota IoU u 5 testovacích pacientů dosahovala pouze 1,4 \%, síť nezařadila do kategorie kost buď žádné pixely nebo pouze malý počet. Vzhledem k velkému nepoměru počtu pixelů pozadí a kosti v každém řezu byla ale její průměrná ACC i přes to vysoká a rovnala se 93,8 \%.

\begin{figure} [htbp]
  \centering
  \includegraphics[width=8cm]{obrazky/sparse_cat_cross_2.png}
  \caption[Příklad klasifikace - ztrátová funkce cross entropy.]{Příklad klasifikace s využitím cross entropy ztrátové funkce. Vlevo je požadovaný výstup a vpravo skutečná predikce sítě. }
  \label{fig:sparse categorical crossentropy}
\end{figure}

Další postup byl na základě předchozího výsledku IoU a ACC zaměřen na výběr ztrátové funkce vhodné pro nevyrovnané zastoupení tříd. Velký nepoměr v zastoupení je patrný právě z velmi nízké hodnoty IoU a vysoké ACC. Další model byl naučen tentokrát za pomoci funkce \textit{dice loss} (Diceova ztrátová funkce), která je odvozena z Diceova koeficientu podobnosti a její vztah, vycházející z \cite{dice_loss}, je v následující rovnici. 

\begin{equation} \label{eq:dice_loss}
DL=1-\frac{(2\cdot y_t \cdot y_p)+s}{(y_t+y_p)+s}, 
\end{equation}
kde $DL$ je výstup Diceovy ztrátové funkce, $s$ je konstanta (nastavená na 1), $y_t$ je skutečný výstup a $y_p$ predikovaný výstup.


Metrika IoU dosáhla průměrné úspěšnosti 4,7 \% a ACC 93,9 \%, příklad segmentace jednoho z testovaných řezů je na obrázku \ref{fig:dice_loss}. 



\begin{figure} [htbp]
  \centering
  \includegraphics[width=8cm]{obrazky/dice_loss.png}
  \caption[Příklad klasifikace - Diceova ztrátová funkce.]{Příklad klasifikace pixelů s využitím Diceovy ztrátové funkce. Vlevo je požadovaný výstup a vpravo skutečná predikce sítě.}
  \label{fig:dice_loss}
\end{figure}


Nakonec se pro další experimenty jevil jako nejvhodnější výběr \textit{focal loss} (fokální ztrátové) funkce, podle \cite{focal} zapsané do rovnice jako:
\begin{equation} \label{eq:focal_loss}
FL=-(\alpha \cdot(1-y_p)^\gamma \cdot y_t \cdot log(y_p)+(1-\alpha)\cdot y_p^\gamma \cdot(1-y_t)\cdot log(1-y_p)), 
\end{equation}
kde $FL$ je výstup fokální ztrátové funkce, $y_t$ je skutečný výstup a $y_p$ predikovaný výstup. Protože tato ztrátová funkce vychází z binární cross entropie a zahrnuje ještě dva faktory: balanční faktor $\alpha$ a zaměřující faktor $\gamma$ snižující vliv častější třídy a zvýhodňující tu, která je méně zastoupená. Ukázka výstupu segmentace jednoho řezu je na obrázku \ref{fig:focal_loss}. IoU dosáhlo procentuální hodnoty 15,5 \% a ACC 94,6 \%.

Všechny modely naučené za účelem srovnání vlivu výběru ztrátové funkce měli při trénování zamrazenou enkódující (sestupnou) část s předučenou sítí MobilNetV2. Pokud byla tato část odmražena a síť se učila celá došlo u modelu s fokální ztrátovou funkcí k dalšímu zlepšení průměrné ACC na 94,8 \% a IoU na 26,4 \%.


\begin{figure} [ht]
  \centering
  \includegraphics[width=8cm]{obrazky/focal_loss.png}
  \caption[Příklad klasifikace - fokální ztrátová funkce.]{Ukázka klasifikace s využitím fokální ztrátové funkce. Vlevo je požadovaný výstup a vpravo skutečná predikce sítě.}
  \label{fig:focal_loss}
\end{figure}



\subsection{Trénování 2D sítí} \label{Trénování 2D sítí}
Na základě předchozího zjištění optimálních nastavení bylo naučeno 20 sítí po 50 epochách pro 20 různých (náhodně vygenerovaných) datových sad.

Vzhledem k velkému počtu dostupných dat bylo místo křížové validace aplikováno schéma náhodné validace. Ze všech dat bylo vybráno náhodně 67 pacientů, došlo k rozdělení popsaném v části \ref{Datová množina pro 2D síť}, po natrénování na 6000 řezech následovalo otestování odložených 1560 řezů. Celý cyklus byl zopakován 20$\times$.

Kompletní tabulka s výsledky je kvůli přehlednosti v příloze \ref{priloha:vysledky_2D}, část z nich však byla pro představu uvedena i do tabulky \ref{tab: Tabulka výsledků}. Procentuální hodnoty správnosti klasifikace jsou v obou zmíněných tabulkách uvedeny vždy průměrně pro všechny řezy všech pacientů. Průměrná přesnost (ACC) dvaceti sítí byla 99,1 \%, směrodatná odchylka vyhodnocení touto metrikou se rovnala přibližně 0,2 \%. Jaccardův index (IoU) dosáhl průměrně 89,4 \% se směrodatnou odchylkou 1,6 \%.
Nejhorší výsledek byl zaznamenán u sítě označené číslem 8 s ACC rovnající se 98,7 \% a IoU dosahující 85,7 \%, naopak nejlépe kosti klenby lebeční klasifikovala síť číslo 6, jejíž průměrné ACC bylo 99,4 \% a IoU 91,7 \%.
Ve všech případech byl u metriky IoU zaznamenán velmi velký vliv na nárůst procentuální hodnoty s navýšením počtu epoch, finální hodnota 50 byla určena experimentálně, přidávání dalších epoch už ve většině případů mělo negativní vliv. 

U některých sítí se hodnoty ACC a IoU výrazněji liší, což je způsobeno nepoměrem v zastoupení tříd. Snímky obsahují velké množství pixelů pozadí, takže chyby v~klasifikaci pixelů lebky se při pohledu na přesnost (ACC), zdají málo časté. 
Oproti tomu metrika IoU byla zaměřena na pixely kategorie kost. Při jejím výpočtu byly zahrnuty pixely: správně klasifikované a ty oproti anotovaným datům označené navíc či chybně opomenuty. Pomocí IoU byla tedy získána jasnější představa o úspěšnosti klasifikace pixelů kostí lebky bez ohledu na mnohonásobně větší množství pixelů pozadí.

\begin{table}[h]
\centering
\caption[Část tabulky výsledků testovaných 2D sítí.]{Tabulka výsledků pěti testovaných sítí pro metriku přesnost (ACC) a Jaccardův index (IoU) uvedených v procentech. Celá tabulka je v příloze \ref{prilohy:tab Tabulka výsledků}.}
\begin{tabular}{|c|c|c|}
\hline
číslo sítě                                    & \quad ACC [\%]\quad         & \quad IoU [\%]  \quad            \\ \hline
5                                           & 99,35          & 91,43          \\ \hline
10                                          & 99,20          & 90,22          \\ \hline
15                                          & 99,34          & 90,63          \\ \hline
20                                          & 99,28          & 91,31          \\ \hline

\end{tabular}

\label{tab: Tabulka výsledků}
\end{table}

Obecně dosahovaly lepších výsledků testovací data pacientů s nasnímanou pouze horní částí klenby lebeční (od nadočnicových oblouků výš). Jaccardův index pro~klasifikaci těchto oblastí nikdy neklesl pod 90 \%. Příklad je na obrázku \ref{fig:ukazka1}, kde je vyobrazen originální axiální řez, anotace, predikce a porovnání anotace s predikcí. Na první pohled není zřejmý žádný rozdíl mezi anotací a predikcí. Při objektivním vyhodnocení tohoto snímku bylo zjištěno, že ACC je 99,8 \% a IoU 95,9 \%. Celkem v něm bylo nalezeno 24 falešně pozitivních a 9 falešně negativních pixelů. Tyto nesprávně klasifikované pixely jsou zakresleny do porovnání, kvůli jejich malému množství jsou zde viditelné až při bližším pohledu. Pixely, které oproti anotaci chybí (FN) mají zelenou barvu a ty, které naopak přebývají (FP) mají barvu růžovou.   

\begin{figure} [htbp]
  \centering
  \includegraphics[width=15cm]{obrazky/ukazka01.png}
  \caption[Ukázka výstupu 2D sítě - klenba lebeční]{Ukázka výstupu 2D sítě s tabulkovým označením 30 zahrnující originální data, anotaci, predikci sítě a srovnání predikce s anotací. Na obrázku porovnání jsou barevně odlišeny pixely: TP bílou, TN černou, FP růžovou a FN zelenou barvou.}
  \label{fig:ukazka1}
\end{figure}



Naopak nejvíce problematické pro predikci byly oblasti s dutinami a se spodinou lebeční. Příklady grafických výstupů klasifikace axiálních řezů s dutinami jsou na~obrázcích \ref{fig:ukazka2} a \ref{fig:ukazka3} (další ukázky jsou v příloze \ref{priloha:ukazky_2D}). První z uvedených obrázků (\ref{fig:ukazka2}) je příkladem dobré predikce, kdy byly téměř přesně vyplněny i dutiny. Výsledek ACC a IoU byl u tohoto axiálního řezu 99,7 \% a 96,4 \%, bylo u něj detekováno 13~pixelů falešně pozitivních a 43 falešně negativních. Nesrovnalosti byly v tomto případě rozptýleny po celém obvodu objektu, nebyly koncentrovány do větších shluků. Vnitřek dutiny nosní byl vyplněna správně, bez falešně negativních pixelů obvyklých v těchto místech.
\begin{figure} [htbp]
  \centering
  \includegraphics[width=15cm]{obrazky/ukazka02.png}
  \caption[Ukázka výstupu 2D sítě - dutiny]{Ukázka výstupu 2D sítě s tabulkovým označením 28 zahrnující originální data, anotaci, predikci sítě a srovnání predikce s anotací. Na obrázku porovnání jsou barevně odlišeny pixely: TP bílou, TN černou, FP růžovou a FN zelenou barvou. Nesrovnalosti jsou v tomto případě pouze po obvodu objektu, dutiny je vyplněna zcela správně.}
  \label{fig:ukazka2}
\end{figure}


Na druhém z obrázků (\ref{fig:ukazka3}) je příklad řezu mimo oblast klenby lebeční, na kterém byly chybně klasifikované oblasti patrnější. Především zelené (falešně negativní) oblasti na horních okrajích dutiny nosní. Tento axiální řez byl predikován sítí s tabulkovým označením 14, úspěšnost predikce byla 98,7 \% (ACC) a 91,1 \% (IoU). 

\begin{figure} [hbtp]
  \centering
  \includegraphics[width=15cm]{obrazky/ukazka03.png}
  \caption[Ukázka výstupu sítě - dutiny a spodina lebeční]{Ukázka výstupu 2D sítě s tabulkovým označením 14 zahrnující originální data, anotaci, predikci sítě a srovnání predikce s anotací. Na obrázku porovnání jsou barevně odlišeny pixely: TP bílou, TN černou, FP růžovou a FN zelenou barvou. Nesrovnalosti jsou v tomto případě pouze po obvodu objektu, dutina je vyplněna správně.}
  \label{fig:ukazka3}
\end{figure}

Vzhledem k tomu, že tvary dutin jednotlivých pacientů nejsou shodné a anotace je zahrnují bez většího podložení své existence v originální datech, má síť při klasifikaci těchto oblastí těžký úkol. Anotovaná data také pochází od více odborníků a~nejsou dokonale sjednocené v určování kategorie u některých detailů. 







\subsection{Finální úpravy}\label{Finální úpravy_2D}
Dalšího zlepšení výsledků je možné dosáhnout finálními úpravami (\textit{postprocessing}), vybrané metody byly popsány v části \ref{Finální úpravy}. Navržený postup je vhodný pro predikce s menším množstvím falešně pozitivních pixelů nebo pro  případ, kdy došlo také k~chybné predikci kategorie kost u některých částí podložky pod pacientem. 

Nejprve byla na predikovaná data aplikována metoda aktivních kontur. Po zanalyzování velikostí oblastí uvnitř vyhledaných kontur byly odstraněny ty, které byly menší než 5 pixelů (tento práh byl opět stanoven experimentálně). Oproti průměrné hodnotě Jaccardova indexu predikce všech natrénovaných sítí se po aplikování této metody zhoršily výsledky průměrně o 0,3 \%. Na grafickém výstupu této finální úpravy bylo možné vidět odstranění výše zmíněných negativních jevů, avšak za cenu rozšíření děr v dutinách. Namísto původních osamocených pixelů uvnitř plochy dutiny (nebo případně kosti) se objevily artefakty ve tvaru křížků (kategorie pozadí se ze středové pozice rozšířila i na jeho čtyř-okolí), příklad je na obrázku \ref{fig:krizky}.

\begin{figure} [hbtp]
  \centering
  \includegraphics[width=9cm]{obrazky/krizky.png}
  \caption[Finální úprava - artefakt aktivních kontur]{Ukázka výstupu metody aktivních kontur aplikované na predikovaná data. V červeném rámečku je označená oblast vzniku artefaktu v predikovaném řezu a~následně po dokončení finální úpravy.}
  \label{fig:krizky}
\end{figure}

Na základě zjištění o vytvoření výše uvedených artefaktů byl před metodu aktivních kontur zařazen ještě 2D mediánový filtr. Velikost okna byla určena na 3$\times$3. Záměrem bylo docílit odstranění nežádoucího vlivu špatně klasifikovaných pixelů, jak mimo lebku, tak v dutinách a to bez vzniku artefaktů. Celkově ale došlo oproti predikci i zde ke zhoršení výsledků, průměr přes všechny natrénované sítě a celá jejich testovací data byl u metriky IoU o 0,8 \% horší a vzniklý artefakt se nepovedlo předřazeným mediánovým filtrem eliminovat v dostatečné míře. 

Závažnějším problémem, než přetrvávající zvětšení děr v dutinách, byl fakt, že~velká část všech případů obsahovala několik axiálních řezů, kde byla stěna lebečních kostí velice tenká a mediánový filtr strukturu narušil. Příklad přerušení lebeční kosti vlivem použití popsané kombinace finálních úprav je na obrázku \ref{fig:medfilt_dira}.

\begin{figure} [hbtp]
  \centering
  \includegraphics[width=9cm]{obrazky/medfilt.png}
  \caption[Finální úprava - mediánový filtry a aktivní kontury]{Ukázka výstupu kombinace mediánového filtru a aktivních kontur aplikované na predikovaná data. V červeném rámečku je označená oblast, ve které došlo ke ztrátě nemalé části lebeční kosti.}
  \label{fig:medfilt_dira}
\end{figure}

Konečná podoba používaných finálních úprav zahrnovala aktivní kontury (bez~předchozí úpravy mediánovým filtrem) opatřené ještě detektorem artefaktů. Algoritmus aktivních kontur nejprve, stejně jako v předchozích případech, na predikovaných datech nalezl kontury, zjistil velikost oblasti uvnitř jejich hranice, poté oblasti menší než 5 pixelů zapsal do připravené masky, která měla být nakonec od původního obrazu odečtena. Než ale došlo k odstranění vybraných oblastí, prošel masku detektor hledající křížky (5 pixelů uspořádaných do čtyř-okolí) a tyto struktury následně vymazal. 

Takto navrženou finální úpravou byly odstraněny všechny závažné chyby v predikci - tedy pixely podložky pod pacientem i další menší shluky nesprávně klasifikovaných pixelů kolem lebky. Potlačení drobných děr se uvedeným postupem nepodařilo, podstatné ale je, že nedošlo ke zhoršení jejich stavu. Faktem také je, že by dokonalé vyplnění děr v dutinách nemuselo být vždy žádoucí. V anotacích pacientských dat se v některých místech otvory nacházejí a bylo by velice obtížné i okem poznat, které z nich jsou v predikovaných datech žádoucí a které ne.

Objektivní hodnocení pomocí Jaccardova indexu prokázalo zlepšení průměrné hodnoty všech natrénovaných sítí o 0,3 \% oproti predikci bez finálních úprav. Výsledek všech metod pro jednotlivé sítě je uveden v tabulce \ref{tab: Tabulka výsledků 2D postprocess}. 




\begin{figure} [hbtp]
  \centering
  \includegraphics[width=12cm]{obrazky/metody_postprocess1.png}
  \caption[Finální úpravy -ukázka]{Výstup jednotlivých finálních úprav, vždy se jedná o srovnání s anotací. Rozdělení je následovné: (a) predikce, (b) aktivní kontury, (c) mediánový filtr a~aktivní kontury (d) aktivní kontury s detektorem. FP pixely jsou růžové a FN zelené.}
  \label{fig:metody_priklad}
\end{figure}

Ukázka finálních úprav na vybraném axiálním řezu je na obrázku \ref{fig:metody_priklad}. Obrázek má opět barevně odděleny TP, TN, FP a FN pixely. Bílá označuje shodné pixely srovnávaných obrazů pro kategorii kost a černá pro kategorii pozadí. Zelenou jsou znázorněny části, které oproti anotaci schází a růžovou barvou ty, které naopak přebývají. V části (a) je srovnání predikce s anotací, (b) až (d) jsou ukázky výstupů finálních úprav, popořadě to jsou: aktivní kontury, mediánový filtr s aktivními konturami a nakonec aktivní kontury s detektorem. červený rámeček v části (b) označuje místa, kde vznikl křížek. Za povšimnutí také stojí červený rámeček v (c), kde došlo vlivem závěrečné úpravy ke ztrátě části kosti.




\section{3D U-Net}\label{3D U-Net}
Oproti 2D verzi, byly 3D sítě trénovány pomocí malých 3D objemů dat nikoliv z~axiálních řezů. Při učení bude tedy předávána také prostorová informace. Datová sada musela vzniknout jiným způsobem než v předchozím případě a s tím souvisela také volba parametrů a způsobu provedení jednotlivých části algoritmu. 

Jako nejvhodnější ztrátovou funkci byla v tomto případě vybrána modifikace Diceova koeficientu. Tvar rovnice je již v \ref{eq:dice_loss}, pouze konstanta $s$ byla nyní nastavena na hodnotu $10^{-5}$.

\subsection{Datová množina pro 3D síť} \label{Datová množina pro 3D síť}
Při vytváření datové množiny pro 3D síť bylo náhodně vybráno 54 pacientů, ti byli poté rozděleni následovně: 40 pro trénovací množinu, 4 pro validační a 10 pro testovací množinu. Informace o rozřazení do jednotlivých datových množin byla předána generátoru, který měl za úkol získat z databáze postupně vždy jednoho z vybraných pacientů a vytvořit z něj malé krychle dat. Z intervalu hodnot odpovídajícího možným počátečním bodům (vrcholům) krychle pro všechny tři dimenze byl náhodně vygenerován počet indexů odpovídající požadovanému množství krychlí vytvořených z jednoho pacienta. Krychle (patch) byla na základě získaných počátečních souřadnic doplněna podle zadané velikosti. Generátor posílal síti dvojice krychlí -~s~originálními daty a odpovídajícími anotacemi.

\subsection{Volba přístupu trénování a testování} \label{Výběr parametrů a módů}
Objemová krychle dat musí mít vhodnou velikost hrany, aby v ní byly dobře vystihnuty zájmové oblasti a aby data v ní obsažené nesly dostatečnou informaci pro~správné naučení sítě. Vzhledem k velikosti snímků pacientů uložených v databázi, by byla teoreticky největší možná hrana krychle 128 pixelů. Velikost hrany se ale v~praxi většinou nastavuje menší než je rozměr původního obrazu a to hlavně z~důvodu velké výpočetní náročnosti.
Testy, hledající nejvhodnější nastavení pro další experimenty, byly provedeny pro následující tři velikosti datové kostky: 16$\times$16$\times$16, 32$\times$32$\times$32 a 64$\times$64$\times$64. Pro lepší představu o jejich prostorovém rozložení byly tyto velikosti zobrazeny do 2D axiálního řezu na obrázku \ref{fig:velikost_patche}.
Jako první byla otestována velikost hrany 16, počet voxelů jedné kostky byl 4096. Průměr pěti takto naučených sítí měl výsledné IoU 49,2 \%. Sítě natrénované s daty s velikostí hrany 32 (tedy s~32768 voxely na jednu kostku) měly průměrný výsledek stejné metriky o více než 6 \% vyšší. Podle předpokladu by se úspěšnost měla zvýšit i pro hranu velikosti 64 (262144 voxelů v jedné kostce), ale výsledek byl s ohledem na nutnost úpravy některých parametrů učení dokonce mírně horší než předchozí nastavení. U~největší velikosti datové kostky musel být snížen počet těchto výseků vybraných z~jednoho pacienta na maximálně 2. Také musel být snížen počet trénovacích pacientů a nastaven parametr velikosti mini-batche (dávky či skupinky dat odeslaných síti) na~1 a síť se tak nedokázala dobře učit. Velký počet parametrů sítě a výpočetní náročnost neumožnila důkladné otestování datové kostky 64$\times$64$\times$64, která mohla mít dobré výsledky už díky faktu, že u některých pacientů by se do jedné krychle vešla celá lebka nebo její velká část.
Následně byly používány už jenom datové kostky 32$\times$32$\times$32. 


\begin{figure} [hbtp]
  \centering
  \includegraphics[width=7cm]{obrazky/maska.png}
  \caption[Výběr velikosti 3D kostky.]{Zobrazení vybraných velikosti hrany 3D kostky v originálních datech.}
  \label{fig:velikost_patche}
\end{figure}


Dále byl porovnáván přístup použití všech kostek, na které lze bez překryvu pacientská data rozdělit, a náhodného výběru pouze určitého množství. Náhodné vybírání bylo na základě výsledků zhodnoceno jako robustnější, protože mohly být pro trénování vybrány data od více pacientů. Robustnější mód využití dat byl při srovnání průměru Jaccardova indexu u 5 sítí lepší o téměř 4 \%.  

\begin{figure} [hbtp]
  \centering
  \includegraphics[width=10cm]{obrazky/3D_10e.png}
  \caption[Predikce 3D sítě po 10 epochách.]{Predikce provedená 3D sítí po 10 epochách trénování.}
  \label{fig:3D_10e}
\end{figure}

Pro výsledné nastavení všech složek sítě byl také experimentálně zjištěn optimální počet epoch. Na obrázku \ref{fig:3D_10e} je ukázka predikce 3D sítí na axiálním řezu po deseti epochách trénování, kdy má výstup sítě všechny linie hodně tenké a také došlo k úplné absenci predikce dutin. Nejlepšího výsledku bylo nejčastěji dosaženo po dvaceti epochách, u dalšího zvyšování už byly patrné tendence přeučení. Příklad průběhu učení popisuje graf na obrázku \ref{fig:prubeh_uceni}.

\begin{figure} [hbtp]
  \centering
  \includegraphics[width=13cm]{obrazky/prubeh_uceni.png}
  \caption[Průběh učení 3D sítě.]{Ukázka průběhu učení jedné z testovaných 3D sítí.}
  \label{fig:prubeh_uceni}
\end{figure}

Další experiment byl zaměřen na testování sítě, opět byly vyzkoušeny dva různé módy. První z nich rozdělil testovacího pacienta na krychle o vybrané velikosti 32$\times$32$\times$32 bez překryvu, každá z nich bude predikovaná sítí a dojde k opětovnému sestavení celého objemu. Druhým přístupem bylo testovacími daty procházeno s překryvem, díky tomuto přístupu mohla být získána také představa o jistotě s jakou síť datové krychle predikuje. Síti bylo dáno několikanásobné množství kostek k predikci, po opětovném seskládání na původní pozice byla výsledná kategorie určena jako střední hodnota ze všech návrhů pro dané místo. Bylo otestováno větší množství různě velkých překryvů, avšak žádný z nich nezajistil průměrné zlepšení metriky IoU o více než 2 desetiny procenta. Takto malý rozdíl nebyl natolik zásadní, aby vykompenzoval několikanásobné zpomalení testování.


\subsection{Trénování 3D sítí} \label{Trénování 3D sítí}
I v případě 3D architektury bylo natrénováno 20 sítí, pro každou z nich se vytvořila odlišná datová sada. Na základě \ref{Výběr parametrů a módů} byly natrénovány na 20 epoch, velikost jedné kostky byla 32$\times$32$\times$32, u každého náhodně vybraného pacienta jich bylo vygenerováno 30. Tabulka výsledků všech dvaceti sítí s průměrnými hodnotami dvou používaných metrik pro celé příslušné testovací množiny je v příloze \ref{priloha:vysledky_3D}, část výsledků se také nachází v tabulce \ref{tab:Tabulka výsledků_3D}.

\begin{table}[h]
\centering
\caption[Část tabulky výsledků testovaných 3D sítí.]{Tabulka výsledků pěti testovaných sítí pro metriku přesnost (ACC) a Jaccardův index (IoU) uvedených v procentech. Celá tabulka je v příloze \ref{prilohy:tab Tabulka výsledků 3D}.}

\begin{tabular}{|c|c|c|}
\hline
číslo sítě                                    & \quad ACC [\%]\quad         & \quad IoU [\%]  \quad            \\ \hline
5           & 97,72       & 69,25       \\ \hline
10          & 98,51       & 79,27       \\ \hline
15          & 97,53       & 64,85       \\ \hline
20          & 98,17       & 72,86       \\ \hline

\end{tabular}

\label{tab:Tabulka výsledků_3D}
\end{table}

Průměr všech dvaceti sítí dosáhl u ACC 97,6 \% se směrodatnou odchylkou téměř 0,7 \% a u IoU 67,1 \% s velmi vysokou odchylkou rovnou 8,1 \%. Nejhorší průměrný výsledek predikce vykazovala síť číslo 3, jejíž Jaccardův index byl pouze 46,7 \%. Nejlépe natrénovat se podařilo síť označenou v tabulce číslem 10, IoU u ní dosáhlo 79,3 \%. 

Ještě více než u 2D sítí hrálo ve výsledcích testování roli, zda se jednalo o pacienta s nasnímanou pouze horní částí klenby lebeční nebo zda data obsahovala také dutiny a další obtížnější struktury. Oba případy jsou ukázány na obrázcích \ref{fig:ukazka3D_01} a \ref{fig:ukazka3D_02}. Tyto ukázky 3D sítě, stejně jako další příklady v příloze \ref{priloha:ukazky_3D}, zobrazují originální axiální řez, jeho anotaci, sítí provedenou predikci a srovnání predikce vůči anotaci. V tomto porovnání jsou zeleně vyznačeny pixely, které v kategorii kost u predikovaných dat chybí, růžově naopak ty, které jsou oproti anotaci do této třídy zařazeny navíc. Objektivní zhodnocení axiálního řezu z obrázku \ref{fig:ukazka3D_01} ukazuje, že 65 pixelů bylo predikováno jako kost chybně (skupina FP pixelů), ale žádný z kategorie kost nebyl označen jako pozadí, Jaccardův index tedy dosáhl 94,5 \%, ACC téměř 99,6 \%. Predikce axiálního řezu s dutinou nosní z obrázku \ref{fig:ukazka3D_02} dopadla podstatně hůř, síť dutinu nepredikovala, IoU bylo stanoveno na 65,8 \% a ACC na 95,9 \%.

\begin{figure} [hbtp]
  \centering
  \includegraphics[width=13cm]{obrazky/ukazka3D01.png}
  \caption[Ukázka výstupu 3D sítě - klenba lebeční]{Ukázka výstupu 3D sítě s tabulkovým označením 23 zahrnující originální data, anotaci, predikci sítě a srovnání predikce s anotací. Na obrázku porovnání jsou barevně odlišeny pixely: TP bílou, TN černou, FP růžovou a FN zelenou barvou. Nesrovnalosti jsou v tomto případě pouze po obvodu objektu.}
  \label{fig:ukazka3D_01}
\end{figure}

\begin{figure} [hbtp]
  \centering
  \includegraphics[width=13cm]{obrazky/ukazka3D02.png}
  \caption[Ukázka výstupu 3D sítě - dutiny]{Ukázka výstupu 3D sítě s tabulkovým označením 23 zahrnující originální data, anotaci, predikci sítě a srovnání predikce s anotací. Na obrázku porovnání jsou barevně odlišeny pixely: TP bílou, TN černou, FP růžovou a FN zelenou barvou. Na první pohled je patrná absence segmentace dutin.}
  \label{fig:ukazka3D_02}
\end{figure}

Natrénované sítě 3D varianty byly velice dobře schopny predikovat klenbu lebeční na snímcích bez dutin a spodiny lební. Sítě se nezvládly naučit správnou klasifikaci dutin. Byly však zaznamenány pokusy o dokreslení oblasti, například část řezu v~červeném rámečku na obrázku \ref{fig:ukazka_spatna_dutina}, ale stejně jako v tomto uvedeném příkladu, se na~většině z~nich jedná o falešně pozitivní pixely.  


\begin{figure} [hbtp]
  \centering
  \includegraphics[width=13cm]{obrazky/p6s7_b_snaha_o_dutiny2.png}
  \caption[Ukázka výstupu 3D sítě - špatně určené dutiny]{Ukázka výstupu 3D sítě se špatně predikovanými dutinami zahrnující originální řez, anotaci, predikci sítě a srovnání predikce s anotací. Na obrázku porovnání jsou barevně odlišeny pixely: TP bílou, TN černou, FP růžovou a FN zelenou barvou. V červeném rámečku je označená část, kterou síť považovala za dutinu.}
  \label{fig:ukazka_spatna_dutina}
\end{figure}


\section{Srovnání výsledků 2D a 3D sítě}\label{Srovnání výsledků 2D a 3D sítě}
V následující části budou porovnány výsledky 2D a 3D sítí, kdy testování bylo provedeno na stejné testovací množině. Vybraných 10 pacientů bylo otestováno všemi natrénovanými sítěmi 2D i 3D verze bez finálních úprav. Pro každého testovacího pacienta byl srovnán průměr dvaceti sítí jedné varianty architektury a směrodatná odchylka. Výsledky jednotlivých pacientů pro metriku ACC a IoU jsou v příloze \ref{priloha:srovnani_2Da3D}, celkový výsledek je uveden v tabulce \ref{tab: srovnani_2D_3D_prum}. 

\begin{table}[htbp]
\catcode`\-=12
\centering
\caption[Tabulka srovnání výsledků 2D a 3D sítí.]{Tabulka srovnání výsledků 2D a 3D sítí (jejich průměru a směrodatné odchylky) pro metriku ACC a IoU v procentech. Uvedené hodnoty jsou průměr pro~10 srovnávaných pacientů.}
\begin{tabular}{|c|c|c|c|c|}
\hline
\multirow{2}{*}{metrika} & \multicolumn{2}{c|}{\quad \quad průměr [\%] \quad \quad} & \multicolumn{2}{c|}{\quad sm. odchyl. [\%] \quad} \\ \cline{2-5} 
                         & \quad 2D  \quad \quad         & 3D           & \quad 2D \quad \quad               & 3D               \\ \hline  
\multicolumn{1}{|l|}{ACC [\%]}       & 99,08 & 98,01  & 0,13  & 0,30  \\ \hline
\multicolumn{1}{|l|}{IoU [\%]}       & 89,33 & 70,32  & 1,44  & 5,36  \\ \hline


\end{tabular}

\label{tab: srovnani_2D_3D_prum}
\end{table}


Ve všech případech dopadly lépe výsledky 2D verze. Největší rozdíl průměru IoU dvaceti sítí byl zaznamenán mezi variantami architektury u pacienta v tabulce označeného číslem 10, jednalo se o 30,4 \%. Dalšími velmi odlišnými výsledky disponovali pacienti 3 a 8 (s rozdílem kolem 27 \%), ve všech třech případech se jednalo o~pacienty obsahující dutiny. Naopak nejmenší rozdíl mezi průměrným výsledkem 20~sítí 2D a 3D verze byl u pacienta s číslem 5 s procentuální hodnotou 5,5 \%, druhým v~pořadí byl potom pacient s číslem 9 s 8,3 \%, tito dva pacienti zahrnovali snímky pouze horní části klenby lebeční.

Při pohledu na největší směrodatnou odchylku v tabulce metriky IoU a tedy největší nesoulad mezi dvaceti sítěmi v klasifikaci byla u predikce pacienta 3, pro~2D sítě se~směrodatná odchylka rovnala téměr 3,7 \% a u 3D sítí 11,9 \%. Nejvíce podobné procentuální odchylky IoU vykazovaly 2D sítě u pacienta 1 (0,6 \%) a u 3D varianty u pacienta 8 (3,9 \%).

Následně byly porovnány predikce 2D a 3D sítí také graficky. Bylo vybráno několik axiálních řezů, pro které byl zobrazen obraz originálních dat, anotace a~poté obrazy s vyznačenými rozdíly predikce oproti anotaci u výstupu z 2D i 3D sítě. Pro obě varianty predikovaly toto srovnání nejlépe natrénované sítě. Rozdíly mezi anotací a predikcí byly opět zvýrazněny barevně - růžová pro pixely zařazené do~kategorie kost nesprávně, zelená pro pixely, které do třídy kost měly být označeny.

Na obrázku \ref{fig:srovnani_ukazka1} je příklad z oblasti klenby lebeční. Predikce 2D sítí dosáhla ACC 99,8 \% a IoU 97,6 \%, celkově měla 17 pixelů falešně pozitivních a 13 falešně negativních. Horší výsledky byly získány predikcí 3D sítí s ACC 98,8~\% a~IoU 86,3~\%, žádné pixely nebyly falešně negativní, ale falešně pozitivních bylo nalezeno 191, ty byly rozprostřené z vnější i vnitřní strany lebečních kostí po celém obvodu a~způsobily zvýšení tloušťky stěny.


\begin{figure} [htbp]
  \centering
  \includegraphics[width=15cm]{obrazky/srovnani/p194s14a.png}
  \caption[Grafické srovnání výstupu 2D a 3D sítě - ukázka 1]{Grafické srovnání výstupu 2D a 3D sítě. V části porovnání jsou pixely: TP bílou, TN černou, FP růžovou a FN zelenou barvou. Srovnání predikce 2D sítí oproti anotaci: ACC 99,8 \%, IoU 97,6 \%. Srovnání predikce 3D sítí oproti anotaci: ACC 98,8 \%, IoU 86,3 \%.}
  \label{fig:srovnani_ukazka1}
\end{figure}

Obrázek \ref{fig:srovnani_ukazka2} ukazuje, jak odlišná je schopnost predikce u axiálních snímků z~oblasti spodiny lebeční s nutností vyplnění dutin. U srovnání predikce 2D sítí s~anotací jsou zřetelné dva větší falešně pozitivní výběžky po stranách lebky, dále je zde (ve shluku falešně negativních pixelů) viditelně špatné ohraničení doplněné dutiny. Přesto bylo na tomto řezu vyhodnoceno ACC na 98,65 \% a IoU na 86,67~\%, FP pixelů bylo 133 a FN 89. Větší problém měla ale při predikci tohoto řezu opět 3D síť. Na srovnání jejího výstupu s anotací je, kromě falešně pozitivních výběžků po stranách lebky (jako u 2D varianty), také velmi výrazná oblast podložky pod~pacientem zahrnutá do predikce, nezdařila se ani klasifikace dutin, které byly opět označeny jako pozadí. Metrika ACC resp. IoU se rovnala 94,6 \% resp. 49,5 \% s~236~falešně pozitivními pixely a 657 falešně negativními.


\begin{figure} [h!]
  \centering
  \includegraphics[width=15cm]{obrazky/srovnani/p5s104a.png}
  \caption[Grafické srovnání výstupu 2D a 3D sítě - ukázka 2]{Grafické srovnání výstupu 2D a 3D sítě. V části porovnání jsou pixely: TP bílou, TN černou, FP růžovou a FN zelenou barvou. Srovnání predikce 2D sítí oproti anotaci: ACC 98,7 \%, IoU 86,7 \%. Srovnání predikce 3D sítí oproti anotaci: ACC 94,6 \%, IoU 49,5 \%.}
  \label{fig:srovnani_ukazka2}
\end{figure}


\subsection{3D vizualizace výsledků}\label{3D vizualizace výsledků}
Pro subjektivní zhodnocení výsledků byl také vytvořen 3D model pomocí softwaru 3D Slicer. Ukázka vizualizace jednoho pacienta je na obrázku \ref{fig:viz_3D}.
3D model predikce 2D sítí se oproti anotaci v oblasti klenby lebeční liší pouze v detailech, největší rozdíly jsou patrné na nespojitosti v očním důlku a v oblasti nosu. Stejné oblasti (a~ještě ve větší míře) predikovala rozdílně oproti anotaci také 3D síť, kromě toho jsou ale také znatelné nedostatky v hladkosti povrchu klenby lebeční. Jedná se především o horní část temene hlavy, kde je výrazný schodovitý přechod. Dochází k~tomu proto, že nejvýše položené axiální řezy temene hlavy jsou predikovány správně a~od~určitého bodu síť začne stěny ztlušťovat. U predikce 2D i 3D sítí došlo v tomto konkrétním případě také k nesprávné klasifikaci pixelů v oblasti napojení na krční obratel.
\begin{figure} [h!]
  \centering
  \includegraphics[width=13cm]{obrazky/3D_modeldp.PNG}
  \caption[3D vizualizace výsledků]{3D vizualizace anotace, predikce 2D a 3D sítí.}
  \label{fig:viz_3D}
\end{figure}




\subsection{Analýza segmentace v oblastech po chirurgickém zákroku}\label{Analýza segmentace v oblastech po chirurgickém zákroku}
Na stejných deseti pacientech vybraných pro srovnání výsledků 2D a 3D sítí byla také provedena analýza správnosti segmentace v místech po chirurgickém zákroku (na okrajích děr v lebeční kosti). Pro plánování kranioplastiky je právě tato oblast nejdůležitější, využití predikovaných dat při procesu výroby implantátu je podmíněno vysokou přesností.

Všechny předchozí výsledky vyjadřují celkovou úspěšnost segmentace vzhledem k odborně připraveným anotacím. Proto byly pro vybraných 10 pacientů vytvořeny masky, do kterých byla zanesena poloha okrajů po chirurgickém zákroku a jejího nejbližšího okolí (obrázek \ref{fig:srovnani_dira}). Tyto informace zjištěné pro každý řez s otvorem v~klenbě lebeční sloužily k výpočtu metriky IoU pouze v místě zájmu.

\begin{figure} [h]
  \centering
  \includegraphics[width=9.8 cm]{obrazky/okraje.png}
  \caption[Analýza oblasti po chirurgickém zákroku.]{Příklad výběru oblastí pro analýzu oblastí po chirurgickém zákroku. V~oblasti označené červeným rámečkem byla určena úspěšnost klasifikace metrikou IoU. Ve zvětšeném náhledu okrajů oblasti po zákroku jsou barevně vyznačené pixely, které nekorespondují s anotací, vyskytují se zde jak FP (růžová), tak FN pixely (zelená).}
  \label{fig:srovnani_dira}
\end{figure}

Výsledky jsou v tabulce \ref{tab: srovnani_diry}, kde průměrný Jaccardův index pro predikce 2D sítí u 10 pacientů byl 98,4 \% se směrodatnou odchylkou 1,6 \%. Predikce 3D sítí měly opět výsledek horší, nikoliv však tak dramaticky jako při předchozích srovnáních, průměrné IoU dosáhlo téměř 97 \% se směrodatnou odchylkou 3,1 \%.


\begin{table}[h]
\catcode`\-=12
\centering
\caption[Tabulka výsledků analýzy oblastí po chirurgickém zákroku.]{Tabulka srovnání výsledků 2D a 3D sítí (jejich průměru a směrodatné odchylky) pro metriku IoU v oblasti po chirurgickém zákroku. Uvedené hodnoty jsou průměr pro 10 srovnávaných pacientů uvedený v procentech.}
\begin{tabular}{|c|c|c|c|c|}
\hline
\multirow{2}{*}{metrika} & \multicolumn{2}{c|}{\quad \quad průměr [\%] \quad \quad} & \multicolumn{2}{c|}{\quad sm. odchyl. [\%] \quad} \\ \cline{2-5} 
                         & \quad 2D  \quad \quad         & 3D           & \quad 2D \quad \quad               & 3D               \\ \hline 
\multicolumn{1}{|c|}{IoU [\%]}       & 98,40 & 96,95  & 1,64  & 3,05  \\ \hline


\end{tabular}

\label{tab: srovnani_diry}
\end{table}

\subsection{Využití výsledků při plánování kranioplastiky}\label{Využití segmentace při plánování kranioplastiky}
Stejně jako v ostatních odvětví medicíny využívajících CNN není možné na výstup sítí zcela spoléhat a standardně se jedná pouze o podpůrný prostředek odborníků. Jak už bylo zmíněno, vysoká přesnost je vyžadována především v oblasti po chirurgickém zákroku, aby implantát navržený na základě pacientských dat při samotném výkonu kranioplastiky dobře seděl. Pro plánování kranioplastiky by tedy teoreticky mohly být využity predikce jak 2D, tak i 3D sítí, ale u 3D sítě by v oblasti kolem chirurgického zákroku bylo více dodatečných manuálních úprav.

Schopnosti segmentace dutin 2D sítěmi je další výhodnou vlastností, díky které dojde oproti výstupům z 3D sítí ke značné eliminaci dodatečných manuálních úprav nebo aplikaci vyplňovacích metod.

