Institut für Visualisierung und Interaktive Systeme Universität Stuttgart Universitätsstraße 38 D–70569 Stuttgart Bachelorarbeit Interpolation von Volumendaten mit Neuronalen Netzen Hanna Bader Studiengang: Informatik Prüfer/in: Prof. Dr. Thomas Ertl Betreuer/in: Dr. rer. nat. Steffen Frey, Gleb Tkachev M.Sc. Beginn am: 14. Juni 2018 Beendet am: 14. Dezember 2018 Inhaltsverzeichnis 1 Einleitung 7 2 Grundlagen 9 2.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Neuronale Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Fehleranalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3 Methodik 17 3.1 Datensätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2 Subsampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3 Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4 Ergebnisse 23 4.1 Training auf einem Datensatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2 Training auf mehreren Datensätzen . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3 Übersicht über alle Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5 Zusammenfassung und Ausblick 55 Literaturverzeichnis 57 3 Abbildungsverzeichnis 2.1 Aufbau eines Perzeptrons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2 Aktivierungsfunktion ReLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 Aufbau eines Neuronalen Netzwerks . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4 Beispiel einer Faltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.5 Trilineare Interpolation [Wik] . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1 Beispielvolumina aus dem Datensatz drop . . . . . . . . . . . . . . . . . . . . . 17 3.2 Beispielvolumina aus dem Datensatz hotroom . . . . . . . . . . . . . . . . . . . 18 3.3 Beispielvolumina Datensatz 5jets . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.4 Netzwerkarchitektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.1 Auswertung der Testdaten des Datensatz hotroom . . . . . . . . . . . . . . . . . 24 4.2 Ergebnisvolumina aus Testdatensatz hotroom . . . . . . . . . . . . . . . . . . . 24 4.3 Auswertung der Testdaten des Datensatzes 5jets . . . . . . . . . . . . . . . . . . 26 4.4 Ergebnisvolumina aus Testdatensatz 5jets . . . . . . . . . . . . . . . . . . . . . 27 4.5 Auswertung des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 auf dem Datensatz drop 28 4.6 Ergebnisvolumina aus Testdatensatz drop . . . . . . . . . . . . . . . . . . . . . 29 4.7 Fehler-Histogramm des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 über dem Testdatensatz drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.8 Durchschnittlicher MSE über Testdaten des Datensatzes drop . . . . . . . . . . . 31 4.9 Histogramm des Trainings auf Datensatz drop mit sF = 4 und sF = 8 . . . . . . 32 4.10 Ergebnisvolumina aus Testdatensatz drop mit sF = 4 . . . . . . . . . . . . . . . 32 4.11 Ergebnisvolumina aus Testdatensatz drop mit sF = 8 . . . . . . . . . . . . . . . 33 4.12 Durchschnittlicher MSE über Testdaten aller Datensätze . . . . . . . . . . . . . . 36 4.13 Ergebnisvolumina aus Testdatensatz drop mit Training auf allen Datensätzen . . . 37 4.14 Ergebnisvolumina aus Testdatensatz hotroom mit Training auf allen Datensätzen . 38 4.15 Ergebnisvolumina aus Testdatensatz 5jets mit Training auf allen Datensätzen . . . 39 4.16 Fehler-Histogramme des Netzes mit Faltungsgrößen f1 = 5, f2 = 1, f3 = 3 und sF = 2. Das Netz wurde auf der Vereinigung aller drei Datensätze trainiert und anschließend auf jedem Testdatensatz getrennt ausgewertet. . . . . . . . . . . . . 40 5 Abbildungsverzeichnis 4.17 Durchschnittlicher MSE über Testdaten aller Datensätze mit sF = 4 und sF = 8. Die Netze wurden auf der Vereinigung aller drei Datensätze trainiert und anschließend auf jedem Testdatensatz getrennt ausgewertet. . . . . . . . . . . . . . . . . . . . 41 4.18 Fehler-Histogramme Training auf allen Datensätzen mit sF = 4 und sF = 8 . . . 43 4.19 Ergebnisvolumina auf Testdatensatz drop beim Training auf allen Datensätzen mit sF = 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.20 Ergebnisvolumina auf Testdatensatz drop beim Training auf allen Datensätzen mit sF = 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.21 Ergebnisvolumina auf Testdatensatz hotroom beim Training auf allen Datensätzen mit sF = 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.22 Ergebnisvolumina auf Testdatensatz hotroom beim Training auf allen Datensätzen mit sF = 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.23 Ergebnisvolumina auf Testdatensatz 5jets beim Training auf allen Datensätzen mit sF = 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.24 Ergebnisvolumina auf Testdatensatz 5jets beim Training auf allen Datensätzen mit sF = 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6 1 Einleitung Die Visualisierung von Volumendaten ist ein in vielen Bereichen relevantes Problem. Beispielsweise in der Medizin werden Daten, die bei der Computertomographie entstehen, erst durch Volumen- Visualisierung brauchbar. Auch im Bereich der Geologie bei der Darstellung von seismischen Daten und der Klimaforschung bei beispielsweise der Darstellung von Strömungen greifen Wissenschaftler auf die Methoden der Volumenvisualisierung zurück. Auf hochauflösenden Volumen sind dabei kleine Details gut zu erkennen. Wenn allerdings die Volumen nicht in einer hohen Auflösung zu Verfügung stehen, sind Details trotz verschiedener Upsampling-Methoden wie trilinear und trikubisch oft nur unzureichend erkennbar. In dieser Arbeit wird untersucht wie gut sich dieses Problem mit Neuronalen Netzen lösen lässt. Diese sind inspiriert durch das Nervensystem des Menschen. Sie sollen wie der Mensch durch Beispiele lernen um Lösungen zu entwickeln. Methoden die auf das Upsampling von Volumendaten spezialisiert wurden, gibt es viele. Einen Vergleich von verschiedenen dreidimensionalen Interpolationsmethoden führten Gerevera und Udopa in [GU98] durch. Giachetti, Guitián und Gobbetti [GGG10] verbesserten das Upsampling von Medizindaten. Upsampling von Volumendaten mit Hilfe von Convolutional Neuronalen Netzen wird von Zhou et al. in [ZHW+17] beschrieben. In dieser Arbeit werden verschiedene Netzwerkarchitekturen und Subsampling-Faktoren an drei verschiedenen Datensätzen getestet. Das Netz besteht nach dem Vorbild von [ZHW+17] aus drei Schichten. Es erhält als Eingabe subgesampelte Volumen zum Trainieren und wird mittels dem Mean Squared Error (MSE) optimiert. Auf Volumen, die das Netz zuvor noch nie gesehen hat, wird der Mean Squared Error, der Peak signal-to-ratio und der Structural Similarity Fehler berechnet. Der Aufbau dieser Arbeit gliedert sich in fünf Kapitel. Nach einer kurzen Einführung werden in Kapitel 2 die Grundlagen dieser Arbeit erklärt. Neuronale Netze, verschiedene Interpolationsver- fahren sowie die Fehleranalyse werden detailliert beschrieben. In Kapitel 3 wird ein Überblick über die Datensätze gegeben. Außerdem wird das verwendete Subsampling-Verfahren und die Netzwerkstrukur ausführlich beschrieben. In Kapitel 4 werden die Ergebnisse der Experiment vorgestellt und verglichen. Als erstes werden die Ergebnisse der Netze, die auf einzelnen Datensätzen 7 1 Einleitung trainiert wurden, präsentiert. Anschließend werden die Ergebnisse der Netze, die auf der Vereinigung aller Datensätze trainiert wurden, vorgestellt. Abschließend folgt eine Übersicht über alle Ergebnisse. In Kapitel 5 erfolgt eine kurze Zusammenfassung mit Ausblick auf zukünftige Experimente. 8 2 Grundlagen In den folgenden Abschnitten sollen die Grundlagen der Arbeit erläutert werden. Zuerst werden Neuronale Netze eingeführt und Fully-Connected sowie Convolutional Neuronale Netze vorgestellt. Anschließend werden die trilineare und trikubische Interpolation erläutert. Zuletzt wird die verschiedenen Verfahren der Fehleranalyse erklärt. Diese sind Mean Squared Error (MSE), Peak signal-to-noise ratio (PSNR) und Structural similarity (SSIM). 2.1 Grundbegriffe Als Volumendaten werden Daten bezeichnet, die keine Oberfläche aufweisen [Frü91]. Sie sind über einem dreidimensionalen Gitter definiert, dass an jedem Gitterpunkt einen Wert hat. Rauch oder Wolken sind Beispiele für solch eine Sturktur, ebenso Daten die bei einer Computertomographie entstehen. Ein Voxel repräsentiert einen Gitterpunkt im dreidimensionalen Gitter [Com91]. Ein Voxel entspricht im zweidimensionalen einem Pixel. Ein Grauwertbild besteht aus Pixeln, ein Grauwertvolumen aus Voxeln, die einen Wert zwischen 0 und 255 annehmen. Man kann einem Grauwertvolumen auch Farben über eine Farbtabelle zuweisen [CWSM04]. In dieser Arbeit werden nur Grauwertvolumen verwendet. 2.2 Neuronale Netze Die Anfänge von Neuronalen Netzen setzten Warren McCulloch und Walter Pitts. Sie veröffentlichten 1943 einen Aufsatz mit dem Titel „A logical calculus of the ideas immanent in nervous acitivity“ [MP43] in dem sie den Grundstein von Neuronalen Netzen legen. Der erste erfolgreiche Neurocomputer Mark I Perceptron wurden 1957-1958 von Frank Rosenblatt und Charles Wightman entwickelt. Er konnte einfache Zahlen auf einem 20 × 20 Pixel großen Bildsensor erkennen [Kri07]. 9 2 Grundlagen Abbildung 2.1: Aufbau eines Perzeptrons [CS2] Convolutional Neuronale Netze wurden das erste mal von LeCun et al. im Jahr 1989 vorgeschlagen [LBD+89]. Dieses sollte handgeschriebene Zahlen erkennen. 2.2.1 Aufbau eines Neuronalen Netzes Das Perzeptron ist die einfachste Form eines Neuronalen Netzes. Es ist beispielhaft in Abbildung 2.1 zu sehen [CS2]. Es zeigt ein blaues Neuron, dass verschiedene Gewichte w0,w1 und w2 sowie verschiedene Eingaben x0, x1 und x2 erhält. Im Neuron wird die Eingabe verarbeitet. Es wird die Formel ∑ i wixi + b berechnet. Der Bias b sorgt für die Nicht-Linearität. Abschließend wird auf das Zwischenergebnis noch die Aktivierungsfunktion angewendet. Diese ist bei allen in dieser Arbeit beschriebenen Experimenten die Rectified Linear Unit Funktion (kurz: ReLU). Die ReLU schneidet den negativen Bereich ab, dass heißt ReLU(x) = max(0, x). Der Verlauf der ReLU Funktion ist in Abbildung 2.2 zu sehen. Das Netz kann Gewichte und Bias lernen. Ein Neuronales Netz besteht aus verschiedenen Layern [CS2]. In Abbildung 2.3 ist beispielhaft ein Neuronales Netz abgebildet. Es besteht aus einem Eingabe-, zwei Hidden- und einem Ausgabelayer. Jeder Kreis in einem Layer symbolisiert ein Neuron. In jedem Layer sind die Neuronen voneinander 10 2.2 Neuronale Netze Abbildung 2.2: Aktivierungsfunktion ReLU [CS2] Abbildung 2.3: Aufbau eines Neuronalen Netzwerk [CS2] unabhängig. Sie haben nur Verbindungen zu anderen Layern. In diesem Netz ist ein Neuron von einem Layer mit allen Neuronen des nächsten Layers verbunden. Diese Netzwerkarchitektur nenn man Fully-Connected. Ein Netz wird als tief bezeichnet, wenn es viele Hidden-Layer hat. Das Training des Netz funktioniert über Backpropagation. Das Ergebnis des Netzes y hängt von den Gewichten W und den Eingaben X ab, dass heißt y = f (W, x). Der Fehler L des Netzes berechnet sich beispielsweise durch den Mean Squared Error L = 1 n n∑ y (y − ŷ)2, dabei ist ŷ das richtige Ergebnis. Um das Netz optimal zu trainieren muss L( f (X,W), ŷ) 11 2 Grundlagen minimal werden. Die Gewichte und der Bias werden nach jedem Trainingsschritt korrigiert. Die neuen Gewichte Wneu können aus den alten Gewichten Walt durch Gradientenabstieg Wneu = Walt − α · ∂L ∂Walt berechnet werden. Für weitere Details siehe [Bec; Nie15; Roj96]. 2.2.2 Architekturen In den zwei folgenden Abschnitten werden die Architekturen Fully-Connected und Convolutional genauer erläutert und Vor- und Nachteile der jeweiligen Architektur erörtert. Fully-Connected Layer In einem Fully-Connected Layer ist ein Neuron aus dem Layer mit allen Neuronen aus dem vorherigen Layer verbunden. Das Layer hat dadurch viele Gewichte in Relation zu Convolutional Layern [CS2]. Ein zweidimensionales Bild der Größe 50 × 100 hat zum Beispiel 50 · 100 = 5000 Gewichte pro Neuron im vorangegangen Layer. Die Volumen, die für das dreidimensionale Training zur Verfügung stehen, haben die Dimension 128 × 128 × 128. Wenn man die Gewichte für jedes Neuron im vorangegangen Layer ausrechnet, erhält man 128 · 128 · 128 = 2097152 ∼ 2 · 106 Gewichte! Durch die vielen Gewichte kann es schnell zur Überanpassung (Overfitting) kommen. Bei diesem Phänomen passt das Modell gut auf den Trainingsdatensatz, aber weniger gut auf den Testdaten. Das gelernte Modell generalisiert also schlecht [CS2]. Insbesondere ist es abhängig von der Position des Features im Bild (respektive Volumen). Es werden außerdem wesentlich mehr Trainingsdaten benötigt. Convolutional Layer Die im nächsten Abschnitt beschriebenen Convolutional Layer sind unabhängig von der Position der Features. Eine Faltung (engl. convolution) besteht aus einem Faltungskern und einem Bild. Das Bild in Abbildung 2.4 verdeutlicht das Prinzip. Der dunkelblaue Faltungskern wird über das blaue Bild (in Abbildung 2.4 unten) bewegt. Seine Werte werden mit denen des Bildes mittels Skalarprodukt verrechnet. Das Ergebnis ist dunkelgrün im grünen Ergebnisbild (in Abbildung 2.4 oben) eingezeichnet. 12 2.3 Interpolation Abbildung 2.4: Faltung der Größe 3 × 3 auf einem Bild [Tap] Damit die Eingabegröße des Bildes nach der Faltung nicht kleiner ist, wird das ursprüngliche Bild am Rand mit Nullen künstlich vergrößert. Diese Prinzip wird Zero-Padding genannt und kommt bei allen in dieser Arbeit beschriebenen Experimenten zum Einsatz. Um mehr unterschiedliche Features zu lernen werden Kanäle verwendet. Pro Kanal existiert ein neuer Faltungskern. Das Ergebnis einer Faltung mit Kanälen ist: output[i, j, k] = ∑ di,dj,q input[i + di, j + dj, q] ∗ filter[di, dj, q, k] Dabei ist i, j die Position eines Pixels im Ausgabebild sowie k ein Kanal im Ausgabebild. In der Summe wird der Filter durch di, dj in x-y-Richtung und durch q über die Kanäle durchlaufen. 2.3 Interpolation In den folgenden zwei Kapitel wird die trilineare und die trikubische Interpolation erklärt. Beide Methoden werden jeweils als Refernez für die Bewertung der Qualität der von Neuronalen Netzen erzeugten Resultate herangezogen. 2.3.1 Trilineare Interpolation Die trilineare Interpolation errechnet einen Wert für einen gesuchten Punkt auf einem dreidimensio- nalen Gitter. Dafür werden acht Nachbarpunkte des gesuchten Punkts benötigt. In Abbildung 2.5a ist ein Würfel zu sehen. Dieser hat acht Eckpunkte C000 bis C111, diese sind blau markiert. Der rote Punkt C in der Mitte ist der zu interpolierende Punkt. 13 2 Grundlagen (a) Interpolationspunkt C (b) Mit Zwischenschritten Abbildung 2.5: Trilineare Interpolation [Wik] In Abbildung 2.5b ist der genauere Vorgang der Interpolation zu sehen. Zuerst wird xd = (x − x0) (x1 − x0) , yd = (y − y0) (y1 − y0) und zd = (z − z0) (z1 − z0) berechnet. Dabei beschreiben x0, x1, y0, y1, z0 und z1 die Koordinaten der Eckpunkte sowie x, y und z die Koordinaten des zu interpolierenden Punktes. Es wird zuerst in x-Richtung interpoliert. Dafür wird c00 = c000 · (1 − xd) + c100 · xd c01 = c001 · (1 − xd) + c101 · xd c10 = c010 · (1 − xd) + c110 · xd c11 = c011 · (1 − xd) + c111 · xd berechnet. Es entstehen die blau beschrifteten Punkte. Anschließend wird in y-Richtung interpoliert. Dafür wird c0 = c00 · (1 − yd) + c10 · yd c1 = c01 · (1 − yd) + c11 · yd berechnet. Dies ergibt die grünen Punkte. Zuletzt wird in z-Richtung interpoliert. Dafür wird C = c0 · (1 − zd) + c1 · zd berechnet. Der Wert für den roten Punkt C ist ermittelt [Wik]. 2.3.2 Trikubische Interpolation Die trikubische Interpolation errechnet wie die trilineare Interpolation einen Wert für einen gesuchten Punkt auf einem dreidimensionalen Gitter. Dafür werden anstelle einer Geraden, wie bei der trilinearen Interpolation, ein Polynom dritten Grades durch die Punkte gelegt. Da ein Polynom dritten 14 2.4 Fehleranalyse Grades durch vier Punkte eindeutig festgelegt ist, werden daher 43 = 64 Punkte für die Interpolation eines Punktes benötigt. Dadurch ist die trikubische Interpolation deutlich rechenintensiver als die trilineare Interpolation, verbessert aber teilweise die Qualität der subgesampelten Volumendaten beachtlich. Für weitere Informationen und Details siehe [Bre; LM05]. 2.4 Fehleranalyse Um die Abweichung der vom Netz erstellten Volumen und der interpolierten Volumen zu den Originalbildern quantifizieren zu können, wurden drei verschiedene Fehlermessungen ausgewählt. Dies sind der Mean Squared Error, der Peak signal-to-noise raio und der Structural Similarity Fehler. Diese werden in den nächsten drei Unterkapiteln genauer beschrieben. 2.4.1 Mean Squared Error Der Mean Squared Error (MSE) [WMS14] beschreibt den mittleren quadratischen Fehler pro Pixel. Je kleiner der Wert, desto besser ist das Ergebnis. Angenommen X sei das Originalvolumen und Y das Volumen des Netzes. Dann ist MSE = 1 n n∑ i=1 (Xi − Yi)2, wobei Xi und Yi jeden Voxel des Volumen durchlaufen. 2.4.2 Peak signal-to-noise ratio Angenommen X sei das Originalvolumen und Y das Volumen des Netzes. Dann berechnet sich der Peak signal-to-noise ratio (PSNR) berechnet sich wie folgt [HZ10]: PSNR = 10 · log10 (MAX2 X) MSE Dabei sei X wieder das Originalbild und MAX2 X das Maximalwert eines Voxels aus Volumen X . In den Experimenten ist MAX = 255. 15 2 Grundlagen 2.4.3 Structural similarity Der Structural similarity (SSIM) beurteilt die Ähnlichkeit zweier Volumen [HZ10; WBSS04]. Sei X das Originalbild und Y das Volumen des Netzes. Sei µX der Mittelwert von X , µY der Mittelwert von Y , σ2 X die Varianz von X , σ2 Y die Varianz von Y , σXY der Kovarianz von X und Y , k1 = 0.01, k2 = 0.03, L = 2#bitsperPixel − 1, c1 = (k1 · L)2 und c2 = (k2 · L)2. Dann ist SSIM(X,Y ) = (2 · µX · µY + c1) · (2 · σXY + c2) (µ2 X + µ 2 Y + c1) · (σ 2 X + σ 2 Y + c2) . In den verwendeten Datensätzen ist #bitsperPixel = 8, folglich ist L = 255. 16 3 Methodik In diesem Kapitel werden zuerst die verwendeten Datensätze und deren Aufteilung in Trainings- und Testdaten beschrieben. Anschließend wird das verwendete Subsampling erklärt und die verschiedenen Netzwerkstrukturen erläutert. Zuletzt wird die Durchführung der Experimente beschrieben. 3.1 Datensätze Die Experimente werden jeweils mit drei verschiedenen Datensätzen durchgeführt. Diese haben verschiedene Dimensionen und jeweils eine unterschiedliche Anzahl an Volumina. 1. Datensatz drop: Es wird das Zusammenstoßen zweier Wassertropfen dargestellt. Auf den ersten Volumina sind zwei Wassertropfen gezeigt. Im Laufe der Sequenz berühren sich diese und zerfallen in Folge des Aufpralls in viele kleine Wassertropfen. Der Datensatz beinhaltet 1000 Volumina. Er wird aufgeteilt in 100 Test- und 900 Trainings- volumina. Dabei wird jedes zehnte Volumen der Sequenz ein Testvolumen. Jedes Volumen hat eine Dimension von 256 x 256 x 256. Beispielvolumina des Datensatz drop sind in In (a) kurz nach dem Aufprall (b) Zerfall der Tropfen Abbildung 3.1: Beispielvolumina aus dem Datensatz drop 17 3 Methodik (a) Warme und kalte Luft breitet sich aus 5 (b) Verwirbelungen mit warmer und kalter Luft Abbildung 3.2: Beispielvolumina aus dem Datensatz hotroom Abbildung 3.1 zu sehen. Das Volumen in Abbildung 3.1a zeigt zwei Tropfen die gerade zusammenstoßen. In Abbildung 3.1b sind die Tropfen bereits zusammengestoßen. Es haben sich kleine Teiltropfen gebildet, die in alle Richtungen weggeschleudert werden. 2. Datensatz hotroom: Es wird der Verlauf eines Raumes gezeigt, der an einer Seite warm und an der anderen Seite kalt ist. Im Laufe der Sequenz zeigen sich dabei Luftverwirbelungen mit warmer und kalter Luft. Der Datensatz beinhaltet 1500 Volumina. Davon dienen 1350 als Trainings- und 150 als Testvolumina. Dabei wird jedes zehnte Volumen der Sequenz ein Testbild. Jedes Volumen hat eine Dimension von 181 x 91 x 181. Beispielvolumina des Datensatz hotroom sind in Abbildung 3.2 zu sehen. Abbildung 3.2a zeigt die roten und blauen Luftmengen, die sich gerade ausbreiten. In Abbildung 3.2b bilden sich bereits Luftverwirbelungen. 3. Datensatz 5jets: Es wird der Start einer Drohne gezeigt. Diese hat fünf Düsen. Sie erzeugen beim Aufsteigen in die Luft Verwirbelungen. Der Datensatz beinhaltet 2000 Volumina. Davon dienen 1800 als Trainingsbilder und 200 als Testvolumina. Dabei wird jedes zehnte Volumen der Sequenz ein Testbild. Jedes Volumen hat eine Dimension von 128 x 128 x 128. Beispielvolumen des Datensatz 5jets sind in Abbildung 3.3 zu sehen. Die 5 Antriebe der Drohne sind in Abbildung 3.3a klar zu erkennen. In Abbildung 3.3b sind die Antriebe nicht mehr zu erkennen, man kann nur noch 5 Säulen erahnen. Es bilden sich Luftverwirbelungen. 18 3.2 Subsampling (a) Drohne beim Starten (b) Um die Drohne haben sich Luftverwir- belungen gebildet Abbildung 3.3: Beispielvolumina Datensatz 5jets 3.2 Subsampling Damit ein Neuronales Netz lernen kann braucht es die erwartete Ausgabe. Außerdem benötigt das Netz eine Eingabe, auf der es etwas lernen kann. Als Ziel steht dem Netz ein Originalvolumen zu Verfügung. Die Eingabe muss ein kleineres Volumen sein. Um dieses zu Erzeugen gibt es verschiedene Möglichkeiten, unter anderem Subsampling und Downsampling. zur Dimensionsreduktion wurde in dieser Arbeit Subsampling verwendet. Im Folgenden wird das Prinzip von Subsampling beschrieben. Sei V das Originalvolumen und sF der Subsampling-Faktor. Dann gilt Vsub = V[n · i, n · j, n · k], wobei i, j und k das Volumen durchlaufen. Anschaulich bedeutet dies für den Subsampling-Faktor zwei verbleibt nur jede zweite Zeile in x−, y− und z−Richtung. Ein Ziel der Arbeit ist herauszufinden, wie hoch der Subsampling-Faktor maximal gewählt werden kann, um noch gute Ergebnisvolumina zu erhalten. Dafür wird in dieser Arbeit ein Subsampling mit Faktor 2, 4 und 8 durchgeführt. In den Ergebnissen (Kapitel 4) zeigt sich, dass für ein Subsampling mit Faktor 8 bereits keine guten Ergebnisse erzielt mehr werden. Alternative Methoden wie Downsampling, die den Mittelwert aus den umgebenden Voxeln berechnen, werden in den in dieser Arbeit beschriebenen Experimenten nicht verwendet. Der Grund ist folgender: Beim Subsampling gehen die Informationen aus den ungenutzen Voxeln verloren. Folglich ist es schwieriger das Original aus dem subgesampelten Volumen zu Rekonstruieren. Dies muss beim Vergleich der Ergebnisse mit anderen Arbeiten berücksichtigt werden. 19 3 Methodik Eingabe f1 × f1 × f1 Faltung 64 Kanäle f2 × f2 × f2 Faltung 32 Kanäle f3 × f3 × f3 Faltung s3F Kanäle reshape 1 × 1 × s3F Voxel in sF × sF × sF Voxel Ausgabe Abbildung 3.4: Netzwerkarchitektur 3.3 Netzwerk Das Grundnetzwerk besteht aus drei Hidden-Layern, die dabei drei verschiedene Faltungen ausführen. Die Größe der Faltung im ersten Layer beträgt f1 × f1 × f1, im zweiten Layer f2 × f2 × f2 Faltung und im dritten Layer f3 × f3 × f3. Dabei wurde angelehnt an den Artikel von Zhou et al. [ZHW+17] 32 Kanäle für Schicht eins und 64 Kanäle für Schicht zwei gewählt. Für die letzte Faltung sind s3 F =(Subsampling-Faktor)3 Ausgangs-Kanäle nötig. Um am Schluss des Netzwerks wieder auf die ursprüngliche Auflösung zu kommen muss jeder Voxel mit s3 F Kanälen in einen Würfel der Größe sF × sF × sF transformiert werden. Wichtig ist, dass diese Umwandlung lokal geschieht. In Abbildung 3.4 ist der Ablauf des Netzwerks nochmals grafisch verdeutlicht. Zum Training der Netzwerke wurde die Learning Rate 10−4 gewählt. Hiermit ergab sich eine schnelle aber dennoch gute Konvergenz. Bei der Konstruktion des Netzes war das Ziel ein kleines Receptive Field zu verwenden. Das Receptive Field ist der Teil der Eingabe der potentiell zu einem Ausgabe-Voxel beiträgt. Um das Receptive Field klein zu halten, wurde die Tiefe auf drei Faltungen beschränkt. Für jeden Datensatz werden die Filtergrößen f1 = 5, f2 = 1 und f3 = 3 getestet. Zusätzlich wird bei den Experimenten für den Datensatz drop und den Experimenten auf allen drei Datensätzen die Filtergröße f1 variiert. Genauer wird der Datensatz neben f1 = 5 noch mit f1 = 3 und f1 = 7 trainiert. 20 3.4 Training Subsampling mit Faktoren 4 und 8 Supsampling-Faktor 4 und 8 wurden nur mit Filtergrößen f1 = 5, f2 = 1 und f3 = 3 getestet. Da die Interpolationsaufgabe mit größeren Subsampling-Faktoren deutlich komplexer ist wurde die Anzahl der Kanäle erhöht. Dadurch kann das Netz mehr unterschiedliche Filter lernen. Für den Subsampling-Faktor 4 werden anstatt 32 und 64 Kanälen für die ersten beiden Faltungen nun 256 und 512 Kanäle verwendet. Für den Subsampling-Faktor 8 werden 512 und 1024 Kanäle für die ersten beiden Faltungen verwendet. Vergleich der Ergebnisse Um die Ergebnisse der Netze besser einschätzen zu können werden sie mit den Ergebnissen von trilinearer und trikubischer Interpolation verglichen. Die mathematischen Fehler sagen teils wenig über die tatsächliche Qualität der Interpolation aus. Daher wurden zusätzlich Ergebnis- volumen von trilinearer und trikubischer Interpolation sowie Ergebnisvolumen des Netzes mit dem Originalvolumen, sowie untereinander, verglichen. Um ein Gefühl über die Fehlerverteilung zu bekommen, wird jeweils ein Fehler-Histogramm über den Testdaten erstellt. Dieses zeigt die Wahrscheinlichkeitsverteilung des absoluten Fehlers über ein Voxel. 3.4 Training In diesem Abschnitt wird die Umsetzung der Experimente beschrieben. Zunächst wurden die Experimente auf der CPU meines Rechners trainiert. Das Training eines Netzwerks dauert auf dieser über eine Woche. Daher wurde anschließend das Training auf einem Rechner des VISUS mit einer GeForce GTX 1070 Grafikkarte fortgeführt. Auf diesem benötigte das Training eines Netzwerks lediglich einen Tag. Die Neuronalen Netze wurden mit Python 3.6 und Tensorflow 1.8 entwickelt. Die Trainingsdaten werden vor jeder Epoche zufällig gemischt. Eine Epoche beschreibt einen Trainingsdurchlauf des Netzes durch alle Trainingsdaten. Zur besseren Analyse wurde nach jeder Epoche der Mean Squared Error über die Testdaten ermittelt. Das Training der Netze wurde beendet, sobald sich keine signifikante Verbesserung mehr zeigte. Je nach Datensatz trainierten die Experimente zwischen 5 und 20 Epochen. Die Netze wurden entweder mit nur einem Datensatz oder mit allen Datensätzen gleichzeitig trainiert. Beim Training auf nur einem Datensatz kann sich das Netz besser spezialisieren. Beim Training auf mehreren Datensätzen stehen dem Netz mehr Trainingsdaten zur Verfügung. Außerdem generalisiert es besser auf die Interpolations-Aufgabe. 21 3 Methodik Da die Dimension der Eingabe des Netzes während dem Training fest ist, muss jedes Eingabevolumen die gleiche Dimension haben. Die drei verschiedenen Datensätze haben allerdings unterschiedliche Dimensionen. Daher wurden die Volumen in Teilvolumina gleicher Größe zerlegt. Die Dimension der Eingabe ist 128 × 88 × 128. Jedes Volumen aus dem Datensatz drop (respektive hotroom und 5jets) wurde in 12 Teilvolumina (respektive in 4 und 2 Teilvolumina) zerlegt. Teilweise überlappen sich die Teilvolumina. Dies beeinflusst beim Trainieren den Mean Squared Error. Zum Testen wurde die Eingabedimension auf den jeweiligen Datensatz angepasst. Daher sind die berechneten Fehler auf dem Testdatensatz nicht verfälscht. 22 4 Ergebnisse In den folgenden Abschnitten sind die Ergebnisse der Experimente dargestellt. Das Netz wurde in Kapitel 3.3 bereits beschrieben. Auf den verschiedenen Datensätzen werden für die Experimente Faltungsgrößen und Subsampling-Faktoren variiert. Zuerst werden die Ergebnisse des Trainings auf einem Datensatz vorgestellt. Im Anschluss werden die Ergebnisse des Trainings auf allen drei Datensätzen präsentiert. 4.1 Training auf einem Datensatz Es werden nacheinander die Ergebnisse der Datensätze hotroom, 5jets und drop vorgestellt. Für eine Einführung in die Datensätze siehe Kapitel 3.1. Die Interpolation der Datensätze hotroom und 5jets wurde mit einem Netz und Subsampling-Faktor zwei trainiert. Für den Datensatz drop wurden verschiedene Netze und verschiedene Subsampling-Faktoren trainiert. Training auf Datensatz hotroom Für das Netz werden, wie in Kapitel 3.3 beschrieben, die Faltungen mit f1 = 5, f2 = 1, f3 = 3 gewählt. Die Volumen werden für das Training mit Faktor zwei subgesampelt. Wie in Abbildung 4.1a zu sehen, wird der Mean Squared Error über die Testdaten ab der 23. Epoche nur noch unwesentlich besser. Daher wurde das Training nach der 25. Epoche beendet. Die Ergebnisse des Netzes, der trilinearen und trikubischen Interpolation können in Tabelle 4.1 nachgelesen werden. Auf der einen Seite ist der MSE und PSNR des Netzes minimal schlechter als der, der trilinearen Interpolation. Auf der anderen Seite ist der SSIM des Netzes minimal besser. Die trikubische Interpolation liefert sehr schlechte Ergebnisse. Abbildung 4.1b zeigt das Fehler-Histogramm des Netzes. Der maximale Fehler ist 58. Je größer der Fehler, desto unwahrscheinlicher sein Auftreten. 23 4 Ergebnisse (a) Durchschnittlicher MSE über Testdaten des Datensatzes hotroom (b) Fehler-Histogramm des Netzwerks über dem Testdatensatz hotroom (logarithmische Skala) Abbildung 4.1: Auswertung der Testdaten des Datensatz hotroom (a) Originalvolumen (b) Rekonstruiertes Volumen des Netzwerks mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 (c) Trikubisch Interpolation mit sF = 2 (d) Trilineare Interpolation mit sF = 2 Abbildung 4.2: Ergebnisvolumina aus Testdatensatz hotroom 24 4.1 Training auf einem Datensatz Datensatz hotroom MSE PSNR SSIM Netzwerk mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 0.19 55.58 1.83 · 10−9 trilineare Interpolation 0.18 55.62 1.91 · 10−9 trikubische Interpolation 5.80 40.48 2.57 · 10−9 Tabelle 4.1: Vergleich der Ergebnisse auf dem Datensatz hotroom In Abbildung 4.2a ist ein Originalvolumen aus dem Datensatz hotroom zu sehen. Das rekonstruierte Volumen des Neuronalen Netzes (Abbildung 4.2b) hat im Gegensatz zum Original rundere Kanten in der kalten Temperaturströmung. Im dunkelroten Bereich des rekonstruierten Volumens sind blaue Artefakte zu erkennen. Diese sind im Originalbild nicht vorhanden. 25 4 Ergebnisse Training auf Datensatz 5jets Für das Netz werden, wie in Kapitel 3.3 beschrieben, die Faltungen mit f1 = 5, f2 = 1, f3 = 3 gewählt. Die Volumen werden für das Training mit Faktor zwei subgesampelt. Wie in Abbildung 4.3a gezeigt, wird der Mean Squared Error über die Testdaten ab der achten Epoche nur noch unwesentlich besser. Daher wurde das Training nach der zehnten Epoche beendet. Die Tabelle 4.2 zeigt den MSE, PSNR und SSIM des Netzes, der trilinearen und der trikubischen Interpolation über den Testdaten. Das rekonstruierte Volumen des Netzes ist den Fehlern zufolge schlechter als das der trilinearen und trikubischen Interpolation. Abbildung 4.3b zeigt das Fehler-Histogramm des Netzes. Der maximale Fehler ist 163. Je größer der Fehler, desto unwahrscheinlicher sein Auftreten. Abbildung 4.4b zeigt das rekonstruierte Volumen des Netzes, Abbildung 4.4c das der trilinearen und Abbildung 4.4d das der trikubischen Interpolation. Alle sehen dem Originalbild (Abbildung 4.4a) ähnlich. Die Struktur der fünf jets ist erhalten geblieben. Dennoch wirken die rekonstruierten Volumen verwaschen. (a) Durchschnittlicher MSE über Testdaten des Datensatzes 5jets (b) Fehler-Histogramm des Netzwerks über dem Testdatensatz 5jets (logarithmische Skala) Abbildung 4.3: Auswertung der Testdaten des Datensatzes 5jets 26 4.1 Training auf einem Datensatz Datensatz 5jets MSE PSNR SSIM Netzwerk mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 1.25 47.15 2.4 · 10−4 trilineare Interpolation 0.65 49.98 1.14 · 10−4 trikubische Interpolation 0.72 49.93 1.08 · 10−4 Tabelle 4.2: Vergleich der Ergebnisse aus dem Datensatz 5jets (a) Originalvolumen (b) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 (c) Trilineare Interpolation mit sF = 2 (d) Trikubische Interpolation mit sF = 2 Abbildung 4.4: Ergebnisvolumina aus Testdatensatz 5jets 27 4 Ergebnisse Training auf Datensatz drop In den folgenden zwei Abschnitten werden die Ergebnisse des Trainings auf dem Datensatz drop mit verschiedenen Faltungsgrößen und verschiedenen Subsampling-Faktoren vorgestellt. verschiedene Faltungsgrößen Zunächst wird Subsampling um den Faktor zwei untersucht. Um einen Eindruck über den Einfluss der Faltungsgrößen zu erhalten, wird die Größe f1 der ersten Faltung variiert: 1. f1 = 5, f2 = 1, f3 = 3 2. f1 = 7, f2 = 1, f3 = 3 3. f1 = 3, f2 = 1, f3 = 3 Dadurch wird das Receptive Field einmal größer und einmal kleiner als bei den vorherigen Experimenten. Das Netz Nummer 1 mit den Faltungsgrößen f1 = 5, f2 = 1, f3 = 3 zeigte die besten Ergebnisse (siehe Tabelle 4.3). Daher wird der Verlauf des Trainings nur für dieses Netz gezeigt (Abbildung 4.5). Der Verlauf des Trainings der anderen beiden Netze ist nahezu identisch. Da sich nach der siebten Epoche kaum noch Verbesserungen zeigten, wurde das Training nach der neunten Epoche beendet. Die Abbildung 4.5b zeigt den Verlauf des Mean Squared Errors über den Trainingsdaten. Die dicke der Kurve weist auf einen stark schwankenden MSE unter den Trainingsdaten hin. (a) Durchschnittlicher MSE über Testdaten des Datensatzes drop (b) MSE über Trainingsdaten des Datensatzes drop Abbildung 4.5: Auswertung des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 auf dem Datensatz drop 28 4.1 Training auf einem Datensatz (a) Originalvolumen (b) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 (c) Trilineare Interpolation mit sF = 2 (d) Trikubische Interpolation mit sF = 2 (e) Rekonstruiertes Volumen des Netzes mit f1 = 7, f2 = 1, f3 = 3 und sF = 2 (f) Rekonstruiertes Volumen des Netzes mit f1 = 3, f2 = 1, f3 = 3 und sF = 2 Abbildung 4.6: Ergebnisvolumina aus Testdatensatz drop 29 4 Ergebnisse Datensatz drop MSE PSNR SSIM Netz mit f1 = 5, f2 = 1, f3 = 2 und sF = 2 2.42 44.59 3.82 · 10−5 Netz mit f1 = 7, f2 = 1, f3 = 2 und sF = 2 2.43 44.58 3.79 · 10−5 Netz mit f1 = 3, f2 = 1, f3 = 2 und sF = 2 2.44 44.58 3.70 · 10−5 trilineare Interpolation mit sF = 2 3.02 43.68 4.4 · 10−5 trikubische Interpolation mit sF = 2 2.56 44.37 3.89 · 10−5 Tabelle 4.3: Vergleich der Ergebnisse auf dem Datensatz drop Abbildung 4.7: Fehler-Histogramm des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 über dem Testdatensatz drop Die Ergebnisse der drei Netze, sowie die Ergebnisse der trilinearen und trikubischen Interpolation sind in Tabelle 4.3 zu sehen. Das Netz mit den Faltungen f1 = 5, f2 = 1, f3 = 3 liefert das beste Ergebnis. Deshalb werden der Mean Squared Error über den Trainings- und den Testdaten, sowie das Histogram nur von diesem Netz gezeigt. Die Abbildung 4.7 zeigt das Fehler-Histogramm des Netzwerks. Der maximale Fehler ist 255. Das heißt selbst anstelle einer 0 wurde eine 255 generiert (oder umgekehrt). Die rekonstruierten Volumina aller Netze und der Interpolationen mit Subsampling-Faktor 2 werden in Abbildung 4.6 gezeigt. Hier sieht man ein Beispiel, dass ein guter MSE-Wert nicht automatisch auf eine gute Rekonstruktion schließen lässt. Optisch überzeugt das rekonstruierte Volumen der trilinearen Interpolation am ehesten. Dennoch gibt es auch Volumen, welche durch das Netz optisch besser rekonstruiert werden, insbesondere am Anfang und am Ende der Sequenz. 30 4.1 Training auf einem Datensatz (a) Durchschnittlicher MSE über Testdaten des Datensatzes drop mit sF = 4 (b) Durchschnittlicher MSE über Testdaten des Datensatzes drop mit s f = 8 Abbildung 4.8: Durchschnittlicher MSE über Testdaten des Datensatzes drop verschiedene Subsampling-Faktoren Das Netz mit den Faltungen der Größe f1 = 5, f2 = 1, f3 = 2 liefert beim Subsampling um den Faktor zwei die vielversprechendste Interpolation. Deshalb soll dieses Netz nun mit weiteren Subsampling-Faktoren, genauer sF = 4 und sF = 8, untersucht werden. Größere Subsampling- Faktoren werden nicht getestet, da die rekonstruierten Volumen bereits mit Subsampling-Faktor 8 nicht mehr klar zu erkennen sind. Der Verlauf des Trainings ist in Abbildung 4.8 gezeigt. Da sich mit einem Subsampling um Faktor 4 (respektive 8) nach der achten Epoche (respektive neunten Epoche) keine Verbesserungen zeigten, wurde das Training nach der zehnten Epoche (respektive elften Epoche) beendet. Die Fehlermaße MSE, PSNR und SSIM des Netzes mit Subsampling-Faktor 4 und 8 auf den Testdaten sowie die jeweiligen Fehler der trilinearen und trikubischen Inerpolation können in Tabelle 4.4 nachgelesen werden. Das rekonstruierte Volumen des Netzes liefert für beide Subsampling-Faktoren den besten MSE und PSNR Wert. Den besten SSIM-Wert liefert hingegen für beide Subsampling- Faktoren die trikubische Interpolation. Abbildung 4.9 zeigt die Fehler-Histogramme des Netzes für ein Subsampling um Faktor 4 und 8. Wie sich zeigt, ist der maximale absolute Fehler des Netzes 255. Die Wahrscheinlichkeit für einen großen Fehler ist beim Subsampling um Faktor 8 etwa 100-mal so groß wie beim Subsampling um Faktor 4. 31 4 Ergebnisse (a) Fehler-Histogramm des Netzes über dem Test- datensatz drop mit sF = 4 (logarithmische Skala) (b) Fehler-Histogramm des Netzes über dem Test- datensatz drop mit sF = 8 (logarithmische Skala) Abbildung 4.9: Histogramm des Trainings auf Datensatz drop mit sF = 4 und sF = 8 (a) Originalvolumen (b) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 4 (c) Trilineare Interpolation mit sF = 4 (d) Trikubische Interpolation mit sF = 4 Abbildung 4.10: Ergebnisvolumina aus Testdatensatz drop mit sF = 4 32 4.1 Training auf einem Datensatz Datensatz drop MSE PSNR SSIM Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 4 9.47 38.70 5.08 · 10−5 trilineare Interpolation mit sF = 4 10.99 38.08 6.62 · 10−5 trikubische Interpolation mit sF = 4 10.03 38.45 4.48 · 10−5 Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 8 27.40 34.14 1.46 · 10−4 trilineare Interpolation mit sF = 8 28.65 33.92 1.60 · 10−4 trikubische Interpolation mit sF = 8 29.27 33.87 7.39 · 10−5 Tabelle 4.4: Vergleich der Ergebnisse auf dem Datensatz drop mit sF = 4 und sF = 8 (a) Originalvolumen (b) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 8 (c) Trilineare Interpolation mit sF = 8 (d) Trikubische Interpolation mit sF = 8 Abbildung 4.11: Ergebnisvolumina aus Testdatensatz drop mit sF = 8 33 4 Ergebnisse Das rekonstruierte Volumen des Netzes ist in Abbildung 4.10b gezeigt. Es ist im Vergleich zum Originalvolumen (Abbildung 4.10a) deutlich größer. Auf den Volumen der trilinearen (Abbil- dung 4.10c) und trikubischen Interpolation (Abbildung 4.10d) ist die Oberflächenstruktur, genauso wie auf dem rekonstruierten Volumen des Netzes, nicht mehr zu erkennen. Beim Subsampling um Faktor 8 ist weder auf dem rekonstruierten Volumen des Netzes (Ab- bildung 4.11b) noch auf den Volumen der trilinearen (Abbildung 4.11c) und der trikubischen Interpolation (Abbildung 4.11d) das Originalvolumen (Abbildung 4.11a) ansatzweise zu erkennen. Für die Volumen des Datensatzes drop ist mit Subsampling-Faktor 8 die Grenze des Machbaren für diese Netzwerkstruktur erreicht. 4.2 Training auf mehreren Datensätzen In den folgenden Abschnitten sind die Ergebnisse der Experimente auf allen drei Datensätzen beschrieben. Anders als zuvor wird jedes Netz auf der Vereinigung aller drei Datensätze trainiert. Analog wie im vorherigen Unterkapitel werden zuerst die Experimente samt Ergebnissen mit verschiedenen Faltungsgrößen und Subsampling-Faktor 2 vorgestellt. Anschließend werden die Ergebnisse mit Subsampling-Faktor 4 und 8 präsentiert. verschiedene Faltungsgrößen Zunächst wird das Subsampling um Faktor 2 untersucht. Beim Training auf dem Datensatz drop in Kapitel 4.1, haben sich die drei Faltungen mit 1. f1 = 5, f2 = 1, f3 = 3 2. f1 = 7, f2 = 1, f3 = 3 3. f1 = 3, f2 = 1, f3 = 3 bewährt. Deshalb werden diese für das Training auf drei Datensätzen ebenso verwendet. Anhand der gewählten Faltungen lassen sich die Auswirkungen eines größeren, beziehungsweise kleineren Receptive Field aufzeigen. Wie in Tabelle 4.5 zu sehen, ist der Einfluss der Faltungsgröße recht gering. Tabelle 4.5 zeigt die Fehler MSE, PSNR und SSIM der Netze mit Subsampling-Faktor 2. Die verschiedenen Netze wurden auf der Vereinigung aller drei Datensätze trainiert und anschließend auf jedem Testdatensatz getrennt ausgewertet. Zum Vergleich sind die Ergebnisse der trilinearen und trikubischen Interpolation ebenfalls aufgelistet. Das Netz mit den Faltungsgrößen f1 = 5, f2 = 1, f3 = 3 zeigt die besten MSE und PSNR Werte für alle drei Datensätze. Es zeigt auch im 34 4.2 Training auf mehreren Datensätzen Subsampling-Faktor sF = 2 MSE PSNR SSIM Netz mit f1 = 5, f2 = 1, f3 = 3 auf Datensatz drop 2.47 44.45 3.71 · 10−5 Netz mit f1 = 7, f2 = 1, f3 = 3 auf Datensatz drop 2.58 44.33 3.68 · 10−5 Netz mit f1 = 3, f2 = 1, f3 = 3 auf Datensatz drop 2.72 44.11 3.45 · 10−5 trilineare Interpolation drop 3.02 43.68 4.40 · 10−5 trikubische Interpolation drop 2.56 44.37 3.89 · 10−5 Netz mit f1 = 5, f2 = 1, f3 = 3 auf Datensatz hotroom 0.17 55.69 2.98 · 10−9 Netz mit f1 = 7, f2 = 1, f3 = 3 auf Datensatz hotroom 0.27 53.46 3.25 · 10−9 Netz mit f1 = 3, f2 = 1, f3 = 3 auf Datensatz hotroom 0.29 53.43 3.28 · 10−9 trilineare Interpolation hotroom 0.18 55.62 1.91 · 10−9 trikubische Interpolation hotroom 5.80 40.49 2.57 · 10−9 Netz mit f1 = 5, f2 = 1, f3 = 3 auf Datensatz 5jets 0.68 49.96 1.07 · 10−4 Netz mit f1 = 7, f2 = 1, f3 = 3 auf Datensatz 5jets 0.74 49.84 1.06 · 10−4 Netz mit f1 = 3, f2 = 1, f3 = 3 auf Datensatz 5jets 0.80 49.47 1.02 · 10−4 trilineare Interpolation 5jets 0.65 49.98 1.14 · 10−4 trikubische Interpolation 5jets 0.72 49.93 1.08 · 10−4 Tabelle 4.5: Vergleich der Ergebnisse des Trainings mit verschiedenen Faltungsgrößen und sF = 2. Die Netze wurden auf der Vereinigung aller drei Datensätze trainiert und anschließend auf jedem Testdatensatz getrennt ausgewertet. 35 4 Ergebnisse (a) Durchschnittlicher MSE über alle Testdaten mit f1 = 5, f2 = 1, f3 = 3 (b) Durchschnittlicher MSE über alle Testdaten mit f1 = 7, f2 = 1, f3 = 3 (c) Durchschnittlicher MSE über alle Testdaten mit f1 = 3, f2 = 1, f3 = 3 Abbildung 4.12: Durchschnittlicher MSE über Testdaten aller Datensätze Vergleich zur trilinearen und trikubischen Interpolation die besten Ergebnisse für die beiden Datensätze hotroom und drop. Für den Datensatz 5jets ist die trilineare Interpolation minimal besser. Gleichzeitig zeigt sich am Datensatz 5jets, dass das Training auf der Vereinigung aller drei Datensätze sehr Vorteilhaft ist. Wie in Kapitel 4.1 (Abschnitt 5jets) beschrieben, liefert ein Training nur auf dem Datensatz 5jets einen MSE Wert von 1.25 auf den Testdaten 5jets. Das Training auf der Vereinigung aller Datensätze verbesserte den MSE Wert auf 0.68. Abbildung 4.16 zeigt die Fehler-Histogramme über die verschiedenen Testdatensätze des Netzes mit den Faltungsgrößen f1 = 5, f2 = 1, f3 = 3. Alle drei Histogramme ähneln den Histogramme, die auf dem Training auf nur einem Datensatz entstanden sind. In Abbildung 4.13 sind rekonstruierte Volumina aus dem Testdatensatz drop zu sehen. Es wird nur das rekonstruierte Volumen des Netzes mit den Faltungen f1 = 5, f2 = 1, f3 = 3 gezeigt. Für den besseren Vergleich wird das rekonstruierte Volumen desselben Netzes, welches nur auf 36 4.2 Training auf mehreren Datensätzen (a) Originalvolumen (b) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 auf allen Datensätzen trainiert (c) Rekonstruiertes Volumen Netzes mit f1 = 5, f2 = 1, f3 = 3 auf Daten- satz drop trainiert (d) Trilineare Interpolation mit sF = 2 (e) Trikubische Interpolation sF = 2 Abbildung 4.13: Ergebnisvolumina aus Testdatensatz drop mit Training auf allen Datensätzen 37 4 Ergebnisse (a) Originalvolumen (b) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 auf allen Datensätzen trainiert (c) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 auf Daten- satz hotroom trainiert (d) Trilineare Interpolation mit sF = 2 (e) Trikubische Interpolation mit sF = 2 Abbildung 4.14: Ergebnisvolumina aus Testdatensatz hotroom mit Training auf allen Datensätzen 38 4.2 Training auf mehreren Datensätzen (a) Originalvolumen (b) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 mit allen Datensätzen trainiert (c) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 nur auf Daten- satz 5jets trainiert (d) Trilineare Interpolation mit sF = 2 (e) Trikubische Interpolation mit sF = 2 Abbildung 4.15: Ergebnisvolumina aus Testdatensatz 5jets mit Training auf allen Datensätzen 39 4 Ergebnisse (a) Fehler-Histogramm des Netzes über dem Da- tensatz drop (logarithmische Skala) (b) Fehler-Histogramm des Netzes über dem Da- tensatz hotroom (logarithmische Skala) (c) Fehler-Histogramm des Netzes über dem Da- tensatz 5jets (logarithmische Skala) Abbildung 4.16: Fehler-Histogramme des Netzes mit Faltungsgrößen f1 = 5, f2 = 1, f3 = 3 und sF = 2. Das Netz wurde auf der Vereinigung aller drei Datensätze trainiert und anschließend auf jedem Testdatensatz getrennt ausgewertet. dem Datensatz drop trainiert wurde gezeigt (siehe Kapitel 4.1 Abschnitt drop). Die Form des rekonstruierten Volumens wird besser durch das Netz, welches auf der Vereinigung aller drei Datensätze trainiert wurde, getroffen. Dieselben Vergleichsbilder sind in Abbildung 4.14 für den Datensatz hotroom und in Abbildung 4.15 für den Datensatz 5jets gezeigt. Beim Datensatz hotroom sind im rekonstruierten Volumen durch das Training auf der Vereinigung aller drei Datensätze die Artefakte verschwunden (siehe Kapitel 4.1 Abschnitt hotroom). Die Verbesserung beim Datensatz 5jets lässt sich ebenfalls gut erkennen. Die feinen Täler, welche im Originalvolumen zu sehen sind, sind nun gut zu erkennen. 40 4.2 Training auf mehreren Datensätzen (a) Durchschnittlicher MSE über alle Testdaten mit sF = 4 (b) Durchschnittlicher MSE über alle Testdaten mit sF = 8 Abbildung 4.17: Durchschnittlicher MSE über Testdaten aller Datensätze mit sF = 4 und sF = 8. Die Netze wurden auf der Vereinigung aller drei Datensätze trainiert und anschließend auf jedem Testdatensatz getrennt ausgewertet. verschiedene Subsampling-Faktoren Das Netz mit den Faltungsgrößen f1 = 5, f2 = 1, f3 = 3 liefert beim Subsampling um Faktor 2 für alle drei Datensätze das beste Ergebnis (siehe vorheriger Abschnitt). Deshalb soll dieses Netz nun mit weiteren Subsampling-Faktoren, genauer sF = 4 und sF = 8 untersucht werden. Es werden, wie beim Training auf dem Datensatz drop (Kapitel 4.1 Abschnitt drop), keine weiteren Subsampling-Faktoren getestet, da die rekonstruierten Volumen bereits mit sF = 8 nur noch undeutlich zu erkennen sind. Abbildung 4.17 zeigt den Verlauf des Mean Squared Error über den Testdaten während dem Training mit Subsampling-Faktor 4 und 8. Nachdem sich nach der achten Epoche für die beiden Subsampling-Faktoren 4 und 8 keine weiteren Verbesserungen mehr ergeben haben wurde das Training nach der zehnten Epoche beendet. Die Ergebnisse des Netzes, der trilinearen und der trikubischen Interpolation sind in Tabelle 4.6 für Subsampling-Faktor 4 und in Tabelle 4.7 für Subsampling-Faktor 8 zusammengefasst. Im Gegensatz zum Subsampling mit Faktor 2 liefert das Netz für den Subsampling-Faktor 4 im Vergleich zur trilinearen und trikubischen Interpolation nicht so gute MSE Werte. Der SSIM Wert ist hingegen für die rekonstruierten Volumina des Netzes über den Testdaten von drop und 5jets besser. Lediglich der hotroom wird vom Netz schlecht interpoliert. Hier zeigt sich, dass das Netz mit der linearen Struktur des hotrooms Schwierigkeiten hat. Die Bilder aus Abbildung 4.19, 4.21 und 4.23 bestätigen die Ergebnisse. 41 4 Ergebnisse alle Datensätze mit sF = 4 MSE PSNR SSIM Netz mit f1 = 5, f2 = 1, f3 = 3 auf Datensatz drop 10.22 38.37 4.62 · 10−5 Trilineare Interpolation drop 10.99 38.08 6.62 · 10−5 Trikubische Interpolation drop 10.03 38.45 4.84 · 10−5 Netz mit f1 = 5, f2 = 1, f3 = 3 auf Datensatz hotroom 0.87 48.75 3.43 · 10−9 Trilineare Interpolation hotroom 0.76 49.39 2.82 · 10−9 Trikubische Interpolation hotroom 20.96 34.91 1.62 · 10−9 Netz mit f1 = 5, f2 = 1, f3 = 3 auf Datensatz 5jets 1.16 47.75 1.03 · 10−4 Trilineare Interpolation 5jets 0.93 48.76 1.23 · 10−4 Trikubische Interpolation 5jets 1.18 47.75 1.08 · 10−4 Tabelle 4.6: Vergleich der Ergebnisse des Training auf allen Datensätzen mit sF = 4. Das Netz wurde auf der Vereinigung aller drei Datensätze trainiert und anschließend auf jedem Testdatensatz getrennt ausgewertet. Beim Subsampling mit Faktor 8 zeigt das Netz für den MSE wieder bessere Ergebnisse für die Datensätze drop und hotroom. Der SSIM zeigt für den Datensatz 5jets die besseren Ergebnisse. Insgesamt ist die Qualität der rekonstruierten Volumen nur noch mäßig. Die Bilder aus den Abbildungen 4.20, 4.22 und 4.24 zeigen dies deutlich. Die Fehler-Histogramme der Netze sind in Abbildung 4.18 gezeigt. Für die Datensätze hotroom und 5jets gilt: Je höher der Subsampling-Faktor, desto höher die Wahrscheinlichkeit für große absolute Fehler pro Voxel. 42 4.2 Training auf mehreren Datensätzen (a) Fehler-Histogramm des Netzes mit sF = 4 über dem Testdatensatz drop (logarithmische Skala) (b) Fehler-Histogramm des Netzes mit sF = 8 über dem Testdatensatz drop (logarithmische Skala) (c) Fehler-Histogramm des Netzes mit sF = 4 über dem Testdatensatz hotroom (logarithmi- sche Skala) (d) Fehler-Histogramm des Netzes mit sF = 8 über dem Testdatensatz hotroom (logarithmi- sche Skala) (e) Fehler-Histogramm des Netzes mit sF = 4 über dem Testdatensatz 5jets (logarithmische Skala) (f) Fehler-Histogramm des Netzes mit sF = 8 über dem Testdatensatz 5jets (logarithmische Skala) Abbildung 4.18: Fehler-Histogramme Training auf allen Datensätzen mit sF = 4 und sF = 8 43 4 Ergebnisse alle Datensätze mit sF = 8 MSE PSNR SSIM Netz mit f1 = 5, f2 = 1, f3 = 3 auf Datensatz drop 28.26 33.98 1.27 · 10−4 Trilineare Interpolation drop 28.65 33.92 1.60 · 10−4 Trikubische Interpolation drop 29.27 33.87 7.39 · 10−5 Netz mit f1 = 5, f2 = 1, f3 = 3 auf Datensatz hotroom 3.90 42.24 3.21 · 10−9 Trilineare Interpolation hotroom 5.20 41.09 2.35 · 10−9 Trikubische Interpolation hotroom 50.10 31.13 8.32 · 10−8 Netz mit f1 = 5, f2 = 1, f3 = 3 auf Datensatz 5jets 2.01 45.18 1.10 · 10−4 Trilineare Interpolation 5jets 1.41 46.81 1.35 · 10−4 Trikubische Interpolation 5jets 1.95 46.67 1.11 · 10−4 Tabelle 4.7: Vergleich der Ergebnisse des Training auf allen Datensätzen mit sF = 8. Das Netz wurde auf der Vereinigung aller drei Datensätze trainiert und anschließend auf jedem Testdatensatz getrennt ausgewertet. 44 4.2 Training auf mehreren Datensätzen (a) Originalvolumen (b) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 4 (c) Trilineare Interpolation mit sF = 4 (d) Trikubische Interpolation mit sF = 4 Abbildung 4.19: Ergebnisvolumina auf Testdatensatz drop beim Training auf allen Datensätzen mit sF = 4 45 4 Ergebnisse (a) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 8 (b) Trilineare Interpolation mit sF = 8 (c) Trikubische Interpolation mit sF = 8 Abbildung 4.20: Ergebnisvolumina auf Testdatensatz drop beim Training auf allen Datensätzen mit sF = 8 46 4.2 Training auf mehreren Datensätzen (a) Originalvolumen (b) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 4 (c) Trilineare Interpolation mit sF = 4 (d) Trikubische Interpolation mit sF = 4 Abbildung 4.21: Ergebnisvolumina auf Testdatensatz hotroom beim Training auf allen Datensätzen mit sF = 4 47 4 Ergebnisse (a) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 8 hotroom (b) trilineare Interpolation hotroom sF = 8 (c) trikubische Interpolation hotroom sF = 8 Abbildung 4.22: Ergebnisvolumina auf Testdatensatz hotroom beim Training auf allen Datensätzen mit sF = 8 48 4.2 Training auf mehreren Datensätzen (a) Originalvolumen (b) Rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 4 (c) Trilineare Interpolation mit sF = 4 (d) Trikubische Interpolation mit sF = 4 Abbildung 4.23: Ergebnisvolumina auf Testdatensatz 5jets beim Training auf allen Datensätzen mit sF = 4 49 4 Ergebnisse (a) rekonstruiertes Volumen des Netzes mit f1 = 5, f2 = 1, f3 = 3 und sF = 8 (b) Trilineare Interpolation mit sF = 8 (c) Trikubische Interpolation mit sF = 8 Abbildung 4.24: Ergebnisvolumina auf Testdatensatz 5jets beim Training auf allen Datensätzen mit sF = 8 50 4.3 Übersicht über alle Ergebnisse 4.3 Übersicht über alle Ergebnisse In diesem Kapitel sind alle Ergebnisse der Trainings zusammengefasst. In Tabelle 4.8 sind die Ergebnisse des Datensatz 5jets gezeigt. Tabelle 4.9 stellt das Ergebnis des Datensatzes hotroom dar. Zuletzt ist in Tabelle 4.10 das Ergebnis des Datensatzes drop abgebildet. Datensatz 5jets MSE PSNR SSIM Training auf Datensatz 5jets: Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 1.25 47.15 2.40 · 10−4 Training auf allen Datensätzen: Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 0.68 49.96 1.07 · 10−4 Training auf allen Datensätzen: Netz mit f1 = 7, f2 = 1, f3 = 3 und sF = 2 0.74 49.84 1.06 · 10−4 Training auf allen Datensätzen: Netz mit f1 = 3, f2 = 1, f3 = 3 und sF = 2 0.80 49.47 1.02 · 10−4 trilineare Interpolation sF = 2 0.65 49.98 1.14 · 10−4 trikubische Interpolation sF = 2 0.72 49.93 1.08 · 10−4 Training auf allen Datensätzen: Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 4 1.16 47.75 1.03 · 10−4 trilineare Interpolation sF = 4 0.93 48.76 1.23 · 10−4 trikubische Interpolation sF = 4 1.18 47.75 1.08 · 10−4 Training auf allen Datensätzen: Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 8 2.01 45.18 1.10 · 10−4 trilineare Interpolation sF = 8 1.41 46.81 1.35 · 10−4 trikubische Interpolation sF = 8 1.95 45.67 1.11 · 10−4 Tabelle 4.8: Ergebnisse des Datensatzes 5jets 51 4 Ergebnisse Datensatz hotroom MSE PSNR SSIM Training auf Datensatz hotroom: Netz mit f1 = 5, f2 = 1, f3 = 2 und sF = 2 0.19 55.58 1.83 · 10−9 Training auf allen Datensätzen: Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 0.17 55.69 2.98 · 10−9 Training auf allen Datensätzen: Netz mit f1 = 7, f2 = 1, f3 = 3 und sF = 2 0.27 53.46 3.25 · 10−9 Training auf allen Datensätzen: Netz mit f1 = 3, f2 = 1, f3 = 3 und sF = 2 0.29 53.43 3.28 · 10−9 trilineare Interpolation sF = 2 0.18 55.62 1.91 · 10−9 trikubische Interpolation sF = 2 5.80 40.48 2.57 · 10−9 Training auf allen Datensätzen: Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 4 0.87 48.75 3.43 · 10−9 trilineare Interpolation sF = 4 0.77 49.39 2.82 · 10−9 trikubische Interpolation sF = 4 20.96 34.91 1.62 · 10−9 Training auf allen Datensätzen: Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 8 3.90 42.24 3.21 · 10−9 trilineare Interpolation sF = 8 5.20 41.09 2.35 · 10−9 trikubische Interpolation sF = 8 50.10 31.31 8.32 · 10−8 Tabelle 4.9: Ergebnisse des Datensatzes hotroom 52 4.3 Übersicht über alle Ergebnisse Datensatz drop MSE PSNR SSIM Training auf Datensatz drop: Netz mit f1 = 5, f2 = 1, f3 = 2 und sF = 2 2.42 44.59 3.82 · 10−5 Training auf allen Datensätzen: Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 2 2.47 44.45 3.71 · 10−5 Training auf Datensatz drop: Netz mit f1 = 7, f2 = 1, f3 = 2 und sF = 2 2.43 44.58 3.79 · 10−5 Training auf allen Datensätzen: Netz mit f1 = 7, f2 = 1, f3 = 3 und sF = 2 2.58 44.33 3.68 · 10−5 Training auf Datensatz drop: Netz mit f1 = 3, f2 = 1, f3 = 2 und sF = 2 2.44 44.58 3.70 · 10−5 Training auf allen Datensätzen: Netz mit f1 = 3, f2 = 1, f3 = 3 und sF = 2 2.72 44.11 3.45 · 10−5 trilineare Interpolation sF = 2 3.02 43.68 4.40 · 10−5 trikubische Interpolation sF = 2 2.56 44.37 3.89 · 10−5 Training auf Datensatz drop: Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 4 9.47 38.70 5.08 · 10−5 Training auf allen Datensätzen: Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 4 10.22 38.37 4.62 · 10−5 trilineare Interpolation sF = 4 10.99 38.08 6.62 · 10−5 trikubische Interpolation sF = 4 10.03 38.45 4.48 · 10−5 Training auf Datensatz drop: Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 8 27.40 34.14 1.46 · 10−4 Training auf allen Datensätzen: Netz mit f1 = 5, f2 = 1, f3 = 3 und sF = 8 28.26 33.98 1.27 · 10−4 trilineare Interpolation sF = 8 28.65 33.92 1.60 · 10−4 trikubische Interpolation sF = 8 29.27 33.87 7.39 · 10−5 Tabelle 4.10: Ergebnisse des Datensatzes drop 53 5 Zusammenfassung und Ausblick In dieser Arbeit wurde untersucht wie gut sich Volumen mit Neuronalen Netzen interpolieren lassen. Zum Erzeugen der Trainingsdaten wurden die Volumina subgesampelt. Anschließend wurde versucht das Original wiederherzustellen. Dafür wurden verschiedene Netze erstellt und getestet. Es hat sich gezeigt, dass einfache Netze für Subsampling bis Faktor 4 ausreichend sind. Für Faktor 8 müssen weitere Experimente erfolgen um noch bessere Methoden oder Netze zu finden. Die klassischen Verfahren wie trilineare und trikubische Interpolation liefern meistens auch gute Ergebnisse. Eine Übersicht über alle Ergebnisse wird in Kapitel 4.3 gegeben. Alle betrachteten Datensätze bestehen aus einer zeitlich zusammenhängenden Sequenz. Für die Interpolation bietet sich also auch die Einbeziehung vorheriger und nachfolgender Volumina an. Das Netz würde somit lernen Informationen über die Zeit zu nutzen. Eine Untersuchung könnte interessante Ergebnisse liefern. Das Training auf der Vereinigung aller Datensätze lieferte deutlich bessere Ergebnisse für den Subsampling-Faktor 2. Dies spricht dafür, in Zukunft auf noch größeren und diverseren Datensätzen zu trainieren. Da die trilineare Interpolation bereits gute Ergebisse liefert, wäre ein alternativer Ansatz das Upsampling erst mit trilinearer Interpolation durchzuführen. Anschließend könnte ein Neuronales Netz das trilinear upgesampelte Volumen verbessern. 55 Literaturverzeichnis [Bec] F. Beck. Neuronale Netze - Eine Einführung. url: http://www.neuronalesnetz.de/ backpropagation4.html (zitiert auf S. 12). [Bre] P. Breeuwsma. Cubic interpolation. url: http://www.paulinternet.nl/?page= bicubic (zitiert auf S. 15). [Com91] Computerwoche. Voxel statt Pixel: Aktuelle Methoden der 3D-Darstellung. 1991. url: https://www.computerwoche.de/a/voxel-statt-pixel-aktuelle-methoden- der-3d-darstellung,1140210 (zitiert auf S. 9). [CS2] CS231n. Convolutional Neural Networks for Visual Recognition. url: http://cs231n. github.io/convolutional-networks/ (zitiert auf S. 10–12). [CWSM04] T. Chen, Y. Wang, V. Schillings, C. Meinel. „Grayscale image matting and colorizati- on“. In: Proceedings of Asian Conference on Computer Vision. Bd. 6. Citeseer. 2004 (zitiert auf S. 9). [Frü91] „Visualisierung von Volumendaten“. Deutsch. In: Hrsg. von M. [ Frühauf. Beiträge zur graphischen Datenverarbeitung. UB Vaihingen. Berlin ; Heidelberg [u.a.]: Springer, 1991. isbn: 0-387-54295-7 (zitiert auf S. 9). [GGG10] A. Giachetti, J. A. I. Guitián, E. Gobbetti. „Edge Adaptive and Energy Preserving Volume Upscaling for High Quality Volume Rendering.“ In: Eurographics Italian Chapter Conference. Bd. 10. 2010. 2010, S. 17–23 (zitiert auf S. 7). [GU98] G. J. Grevera, J. K. Udupa. „An objective comparison of 3-D image interpolation methods“. In: IEEE transactions on medical imaging 17.4 (1998), S. 642–652 (zitiert auf S. 7). [HZ10] A. Hore, D. Ziou. „Image quality metrics: PSNR vs. SSIM“. In: Pattern recognition (icpr), 2010 20th international conference on. IEEE. 2010, S. 2366–2369 (zitiert auf S. 15, 16). [Kri07] D. Kriesel. Ein kleiner Überblick über Neuronale Netze. 2007. url: erh%5C%22%7Ba% 7Dltlich%20auf%20http://www.dkriesel.com (zitiert auf S. 9). 57 http://www.neuronalesnetz.de/backpropagation4.html http://www.neuronalesnetz.de/backpropagation4.html http://www.paulinternet.nl/?page=bicubic http://www.paulinternet.nl/?page=bicubic https://www.computerwoche.de/a/voxel-statt-pixel-aktuelle-methoden-der-3d-darstellung,1140210 https://www.computerwoche.de/a/voxel-statt-pixel-aktuelle-methoden-der-3d-darstellung,1140210 http://cs231n.github.io/convolutional-networks/ http://cs231n.github.io/convolutional-networks/ erh%5C%22%7Ba%7Dltlich%20auf%20http://www.dkriesel.com erh%5C%22%7Ba%7Dltlich%20auf%20http://www.dkriesel.com [LBD+89] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L. D. Ja- ckel. „Backpropagation applied to handwritten zip code recognition“. In: Neural computation 1.4 (1989), S. 541–551 (zitiert auf S. 10). [LM05] F. Lekien, J. Masden. „Tricubic interpolation in three dimensions“. In: International Journal for Numerical Methods in Engineering 63.3 (2005), S. 455–471 (zitiert auf S. 15). [MP43] W. S. McCulloch, W. Pitts. „A logical calculus of the ideas immanent in nervous activity“. In: The bulletin of mathematical biophysics 5.4 (Dez. 1943), S. 115–133. issn: 1522-9602. doi: 10.1007/BF02478259. url: https://doi.org/10.1007/ BF02478259 (zitiert auf S. 9). [Nie15] M. A. Nielsen. Neural networks and deep learning. 2015. url: http://neuralnetwor ksanddeeplearning.com/ (zitiert auf S. 12). [Roj96] R. [ Rojas, Hrsg. Theorie der neuronalen Netze: eine systematische Einführung. Deutsch. 4., korr. Nachdr. Springer-Lehrbuch. Institut für Energiewirtschaft und Rationelle Energieanwendung. Berlin ; Heidelberg [u.a.]: Springer, 1996. isbn: 978-3-540-56353-2 (zitiert auf S. 12). [Tap] J. Tapsell. conv arithmetic. https://github.com/vdumoulin/conv_arithmetic/blob/ master/pdf/no_padding_no_strides_00.pdf. url: https://github.com/vdumoulin/ conv%5C_arithmetic/blob/master/pdf/no%5C_padding%5C_no%5C_strides%5C_00. pdf (zitiert auf S. 13). [WBSS04] Z. Wang, A. C. Bovik, H. R. Sheikh, E. P. Simoncelli. „Image quality assessment: from error visibility to structural similarity“. In: IEEE transactions on image processing 13.4 (2004), S. 600–612 (zitiert auf S. 16). [Wik] Wikipedia. Trilinear interpolation. url: https://en.wikipedia.org/wiki/Trilinear_ interpolation (zitiert auf S. 14). [WMS14] D. Wackerly, W. Mendenhall, R. L. Scheaffer. Mathematical statistics with applicati- ons. Cengage Learning, 2014 (zitiert auf S. 15). [ZHW+17] Z. Zhou, Y. Hou, Q. Wang, G. Chen, J. Lu, Y. Tao, H. Lin. „Volume upscaling with convolutional neural networks“. In: Proceedings of the Computer Graphics International Conference. ACM. 2017, S. 38 (zitiert auf S. 7, 20). Alle URLs wurden zuletzt am 10. 12. 2018 geprüft. https://doi.org/10.1007/BF02478259 https://doi.org/10.1007/BF02478259 https://doi.org/10.1007/BF02478259 http://neuralnetworksanddeeplearning.com/ http://neuralnetworksanddeeplearning.com/ https://github.com/vdumoulin/conv_arithmetic/blob/master/pdf/no_padding_no_strides_00.pdf https://github.com/vdumoulin/conv_arithmetic/blob/master/pdf/no_padding_no_strides_00.pdf https://github.com/vdumoulin/conv%5C_arithmetic/blob/master/pdf/no%5C_padding%5C_no%5C_strides%5C_00.pdf https://github.com/vdumoulin/conv%5C_arithmetic/blob/master/pdf/no%5C_padding%5C_no%5C_strides%5C_00.pdf https://github.com/vdumoulin/conv%5C_arithmetic/blob/master/pdf/no%5C_padding%5C_no%5C_strides%5C_00.pdf https://en.wikipedia.org/wiki/Trilinear_interpolation https://en.wikipedia.org/wiki/Trilinear_interpolation Erklärung Ich versichere, diese Arbeit selbstständig verfasst zu haben. Ich habe keine anderen als die angegebenen Quellen benutzt und alle wörtlich oder sinngemäß aus anderen Werken übernommene Aussagen als solche gekennzeichnet. Weder diese Arbeit noch wesentliche Teile daraus waren bisher Gegenstand eines anderen Prüfungsverfahrens. Ich habe diese Arbeit bisher weder teilweise noch vollständig veröffentlicht. Das elektronische Exemplar stimmt mit allen eingereichten Exemplaren überein. Ort, Datum, Unterschrift 1 Einleitung 2 Grundlagen 2.1 Grundbegriffe 2.2 Neuronale Netze 2.3 Interpolation 2.4 Fehleranalyse 3 Methodik 3.1 Datensätze 3.2 Subsampling 3.3 Netzwerk 3.4 Training 4 Ergebnisse 4.1 Training auf einem Datensatz 4.2 Training auf mehreren Datensätzen 4.3 Übersicht über alle Ergebnisse 5 Zusammenfassung und Ausblick Literaturverzeichnis