Refactoring, new preprocessing details

This commit is contained in:
Simon
2023-10-22 16:24:57 +02:00
parent ba944905a6
commit 518ecc14a3
15 changed files with 152 additions and 152 deletions
@@ -1,6 +1,7 @@
\chapter{Problemstellung}
\label{cha:Problemstellung}
\chapter{Einleitung}
\label{cha:Einleitung}
\section{Einleitung}
Die in Salzburg ansässige COPA-DATA GmbH bietet die Softwareplattform zenon an, die als umfassende Gesamtlösung Unternehmen in zahlreichen Anwendungsgebieten bei der Automatisierung ihrer Herstellungsprozesse unterstützt.
@@ -12,13 +13,14 @@ Während das Programm auch die Basisfunktionalität, das effiziente Speichern, B
Mithilfe von optischer Texterkennung (engl. optical character recognition, "OCR") soll es den Mitarbeitern möglich gemacht werden, hochgeladene Screenshots und Grafiken innerhalb von kürzester Zeit aufgrund ihrer Inhalte zu verschlagworten und auf eine bestehende Liste von Schlagworten (engl. "Keywords" beziehungsweise "Tags") zu prüfen.
\section{Herausforderungen}
Die konkrete Herausforderung bei der Texterkennung mittles OCR besteht
Die konkrete Herausforderung bei der Texterkennung mittels OCR besteht aus dem Finden eines passenden Texterkennungs-Frameworks, der Einbindung der im Rahmen dieser Bachelorarbeit entwickelten Prototypbibliothek in das bestehende "ScreenshotManager" Basisprogramms und nicht zuletzt dem korrekten und zuverlässigen Erkennen der erwarteten bzw. bis dahin unbekannten Schlagworte in den bestehenden Bilddateien und denen, die in Zukunft hochgeladen werden. Um bestmögliche Ergebnisse zu erzielen, ist das automatische Verändern der Bilddaten (Thresholds, Anpassen der Kontrastwerte, Farbe, Helligkeit, etc.) dabei unumgänglich.
Weiters bildet die Verknüpfung der Schlagworte mit den entsprechenden Screenshots unter Rücksichtnahme auf die Sprache der hochgeladenen Grafik die Basis des Schlagwortsystems. Es ist ein geeignetes Speichersystem notwendig, um bei der Vielzahl an gespeicherten Screenshots performant nach Schlagwörtern suchen zu können. Die OCR-Funktionalität und auch die Ablagestruktur der Schlagwortinformation muss modular aufgebaut sein, um zukünftig hinzukommende Dokumentationssprachen beziehungsweise neue Schlagwörter, beispielsweise bei Anpassung des Corporate Brandings, ohne großen Konfigurations- oder gar Entwicklungsaufwand unterstützen zu können.
Auch die Integration mit dem intern eingesetzten Content-Management-Systems (kurz "CMS") "Author-It" muss gegeben sein, wobei die Verwaltung und Verknüpfung der Bilddateien mit dem Author-It System aufwendiger ist, als die für die Bachelorarbeit relevante Ablage der Schlagwortinformation.
\section{Fragestellung}
Ziel dieser Bachelorarbeit ist es, herauzufinden, welche Vorgehensweisen bei der Texterkennung zu den besten Ergebnissen führen. Dazu werden die Ergebnisse, beeinflusst durch verschiedene Bildverarbeitungsschritte sowie Filtermethoden anhand gängiger Fehlermetriken für Texterkennungssysteme in einer prototypischen Implementierung verglichen.
@@ -1,8 +1,10 @@
\chapter{Forschungsstand}
\label{cha:Forschungsstand}
\chapter{Grundlagen}
\label{cha:Grundlagen}
\section{Stand der Technik}
Seit einigen Jahren wird optische Texterkennung in der Informationstechnik dazu verwendet, Texte in verschiedensten Grafiken als solche zu erkennen und zu extrahieren. In diesem Kontext sticht besonders die seit 2005 quelloffene "Tesseract OCR Engine" \cite{tessdoc} hervor, die mit mittlerweile über 50.000 Sternen auf der Website GitHub eine der größten OCR Engines darstellt.
Es gibt zahlreiche Werke, die sich mit der Funktionsweise von optischen Texterkennungswerkzeugen wie Tesseract befassen. Empfehlungen zur Verbesserung des zu verarbeitenden Ursprungsbildes wurden in der Literatur, wie auch in der Tesseract Dokumentation \cite{tessdoc} bisher nur oberflächlich behandelt.
Für die Filterung der Ergebnisdaten werden unter anderem Vorgehensweisen aus dem gut erforschten Themengebiet des Natural Language Processing verwendet.
Für die Filterung der Ergebnisdaten werden unter anderem Vorgehensweisen aus dem gut erforschten Themengebiet des Natural Language Processing verwendet.
+98
View File
@@ -0,0 +1,98 @@
\chapter{Konzept}
\label{cha:Konzept}
\section{Preprocessing}
Beim sogenannten "Preprocessing" werden die zu verarbeitenden Bilder gemäß nachfolgender Methoden für die Texterkennung vorbereitet. Ziel der Vorbereitung ist es, Texte im Bild für die Texterkennungs-Engine lesbar zu machen. Während störende Elemente wie Bildrauschen aus dem Bild entfernt werden sollen, werden Texte ungeachtet der Hinter- bzw. Vordergrundfarbe mit maximalem Kontrast hervorgehoben und von interferierenden "Nicht-Text Elementen" wie Formen oder graphischen Symbolen isoliert.
\subsection{Stand der Technik}
Die im Rahmen dieser Bachelorarbeit verwendete Texterkennungs-Engine Tesseract basiert seit der Major-Version 4 auf einem neuralen Netzwerk, durch welches mithilfe von sprachspezifischen Trainingsdaten Texte in Bildern erkannt werden können \cite{tessdoc}. Damit dieses neurale Netzwerk gut arbeiten kann, ist es wichtig, aus unterschiedlichen Ausgangsdaten möglichst einheitliche Bilder zu generieren, die den Trainingsdaten ähnlich sehen (TODO Quelle, generell neurale Netzwerke, eig. Hausverstand?)
Verwendet man moderne Tesseract-Implementierungen, sind in diesen oft bereits rudimentäre Bildverarbeitungswerkzeuge verfügbar (TODO: Quelle). Mit diesen Werkzeugen werden die eingespeisten Bilder - sofern nicht bereits im richtigen Format - automatisch für die Texterkennung vorbereitet. Ohne weitere Einstellungen zu treffen, bewirkt diese Bildverarbeitung zwar ein Umwandeln der Eingangsgrafiken in ein in den meisten Fällen gut für Tesseract geeignetes Bild, nichtsdetotrotz ist es jedoch sinnvoll, die Bildverarbeitungsschritte individuell auf die erwarteten Eingangsdaten anzupassen, um die bestmöglichen Ergebnisse zu erhalten.
\subsection{Annahmen}
Um die Texterkennung mittels Tesseract weiter zu verbessern, ist es notwendig, das Preprocessing zu spezifizieren indem die Breite an möglichen Eingangsdaten durch Annahmen beschränkt wird.
Im Falle dieser Bachelorarbeit handelt es sich bei den zu verarbeitenden Bildern ausschließlich um digitale Bildschirmaufnahmen von grafischen Benutzeroberflächen. Es kann also angenommen werden, dass die Screenshots keine Transparenz aufweisen, die Perspektive der Aufnahme nicht verzerrt ist und der Kontrast in den meisten Fällen ausreicht, um die relevanten Inhalte zu erkennen.
Weiters beinhalten grafische Oberflächen oft farbige Hintergrundflächen zur Trennung von Sektionen, auf die bei etwaigem Thresholding gachtet werden muss. Auch kommt es besonders oft vor, dass zu verarbeitende Inhalte sehr eng abgeschnitten wurden, was wahrscheinlich auf das Aufnahmeverfahre mittels per Maus gezogenem Rechteck zurückzuführen ist.
Um die Ergebnisse der Texterkennung zu optimieren, wurde eine Auswahl an Bildverarbeitungsalgorithmen bestimmt. Anhand einer durch den Menschen verschlagworteten Vergleichsmenge können diese Algorithmen nun mittels der Fehlermetriken A, B und C (TODO: metriken) verglichen werden, um den besten zu ermitteln.
\subsection{Gegenüberstellung}
Die folgende Gliederung an Preprocessing-Schritten basiert auf der empfohlenen Vorgehensweise zur Verbesserung der Output-Qualität laut Tesseract-Dokumentation \cite{tessdoc}. Da Screenshots gemäß der oben getroffenen Annahmen weder perspektivische Fehler, noch ein Rauschen aufweisen, werden verschiedene Bildverarbeitungskonzepte in folgenden Kategorien verglichen:
\subsubsection{Skalierung}
TODO Quelle
Durch Skalierung werden Bilder vergrößert oder verkleinert, während das Seitenverhältnis erhalten bleibt.
Da Tesseract für optimale Ergebnisse Eingangsbilder mit einer Mindestauflösung von 300 dpi benötigt \cite{tessdoc}, werden Screenshots automatisch hochzuskalieren, falls sie die benötigte Auflösung nicht erreichen.
Für die Skalierung gibt es in der Bildverarbeitung eine vielzahl an Algorithmen: [TODO:] (Am Ende wird es der Lanczos2)
\subsubsection{Dilation und Erosion}
Dilation und Erosion werden in der Bildverarbeitung zum vergrößern und verkleinern von Objekten verwendet. Bei der Dilation werden Objekte in einem Bild nach einem gewissen Schema erweitert. Bei der Erosion hingegen werden Objekte verkleinert, um unerwünschte Details zu entfernen.
TODO: Quelle
Diese Operationen eignen sich besonders dafür, eine einheitliche Schriftdicke zu gewährleisten. Zu dünne Symbole können mittels Dilation dicker, zu dicke mittels Erosion dünner gemacht werden.
\subsubsection{Rahmen}
Weist ein Bild zu üppige einfärbige Ränder auf, kann es passieren, dass Tesseract die Datei als "leer" erkennt und den Texterkennungsvorgang vorzeitig abbricht.
Befindet sich der Text jedoch zu nah am Rand des Bildes, kommt es vor, dass die Texte nicht richtig erkannt werden können.
\begin{figure}[th]
\centering
\fbox{\includegraphics[width=0.7\linewidth]{bsp_rahmen_groß}}
\caption[Ein Screenshot mit zu großem Rahmen]{Ein im Verhältnis zur Bildgröße zu großer einfärbiger Rahmen}
\label{fig:bsp_rahmen_großs}
\end{figure}
\subsubsection{Thresholding und Binarisierung}
Die Binarisierung beschreibt den Prozess, ein Graustufenbild in ein Schwarz-Weiß-Bild umzuwandeln. Der dazu notwendige Schwellenwert kann entweder fix definiert oder anhand von verschiedensten Algorithmen ermittelt werden.
Binarisierung hilft bei der Segmentierung und Extraktion von Objekten in einem Bild und sorgt in den Screenshots für einen ausreichenden Kontrast, unabhängig von der Vorder- und Hintergrundfarbe von Textelementen
(
TODO:
[Erläuterung der Gründe und Beispiele warum bzw. in welchen Fällen das Preprocessing versagt]
[Beispiele: Auswirkungen der verschiedenen Methodiken auf unterschiedliche Ausgangsbilder]
)
\section{Postprocessing}
Beim "Postprocessing" werden die durch die Texterkennung ermittelten Biltinhalte gefiltert und aufbereitet. Durch die Filterung könenn die Ergebnisdaten beispielsweise durch das Entfernen von Füllwörtern auf das für den Nutzer wesentliche reduziert und durch Praktiken wie unscharfes Zuweisen Begriffe etwaige Fehler ausgebessert werden.
\subsection{Stand der Technik}
Heutzutage werden vor allem im Gebiet des Natural Language Processing (TODO:) mächtige Werkzeuge zur Analyse von Textbasierten Daten verwendet.
Da im Rahmen dieser Bachelorarbeit ein besonderer Fokus auf dem Verschlagworten der Inhalte liegt, um die Suche innerhalb der Screenshot-Datenbank zu verbessern, sind besonders die Vorgehensweise zur Extraktion der relevanten Daten von großem Nutzen.
Wie auch im Preprocessing gibt es auch im Postprocessing verschiedene Algorithmen, die mit den selben Ausgangsdaten unterschiedlich wertvolle Ergebnisse liefern. Daher ist es ratsam, mehrere Algorithmen zu vergleichen und den für den individuellen Use-case am besten geeignetsten zu wählen:
TODO: NLP Folien durchlesen.
\subsection{Gegenüberstellung}
TODO:
[Auflistung einiger Methodiken, mit vor und nachteilen und bildern]
[Erläuterung der verwendeten Methodiken und Erläuterung warum sie sich so gut für Screenshots eignen]
[Auswirkungen der verschiedenen Methodiken auf unterschiedliche Ausgangsdaten]
Durch den Vergleich ist ersichtlich, dass sich der XXX in Kombination mit dem Algoritmus YYY am besten für das Ermitteln von relevanten Schlagworten aus Screenshots von Benutzeroberflächen eignet. Durch die Kombination beschränkt sich die Menge an gefilterten Wörtern ausschließlich auf Füllwörter, die nicht inhaltsspezifisch sind, während durch das Fuzzy Matching kleinere Fehler, verursacht durch die Texterkennung, ausgebessert werden können.
\section{Datenbankentwurf}
+30
View File
@@ -0,0 +1,30 @@
\chapter{Implementierung}
\label{cha:Implementierung}
\section{Processing Framework}
Hier wird die Implementierung des processing frameworks beschrieben, anhand dessen die unterschiedlichen Datenverarbeitungsschritte aneinander gereiht werden können.
\section{Preprocessing}
Hier wird die Implementierung der Preprocessing-Schritte beschrieben.
\subsection{Image Threshold Filter}
\subsection{Resize Filter}
\subsection{Binarization Filter}
\section{Postprocessing}
Hier wird die Implementierung der Postprocessing-Schritte beschrieben.
\subsection{Regular Expression Filter}
\subsection{Confidence Filter}
\subsection{Fuzzy Match Filter}
\section{Datenbank}
Hier wird die Datenbankstruktur (folgend dem Datenbankentwurf) beschrieben.
+4
View File
@@ -0,0 +1,4 @@
\chapter{Zusammenfassung}
\label{cha:Zusammenfassung}
Hier werden die Ergebnisse der Bachelorarbeit zusammengefasst und die Ergebnisse besprochen.
-4
View File
@@ -1,4 +0,0 @@
\chapter{Fragestellung}
\label{cha:Fragestellung}
Ziel dieser Bachelorarbeit ist es, herauzufinden, welche Vorgehensweisen bei der Texterkennung zu den besten Ergebnissen führen. Dazu werden die Ergebnisse, beeinflusst durch verschiedene Bildverarbeitungsschritte sowie Filtermethoden anhand gängiger Fehlermetriken für Texterkennungssysteme in einer prototypischen Implementierung verglichen.
-46
View File
@@ -1,46 +0,0 @@
\chapter{Vorläufige Gliederung}
\label{cha:Vorläufige Gliederung}
\begin{enumerate}
\item Einleitung, Aufgabenstellungen und Ziele
\item Themengrundlagen und Forschungsstand
\item Konzept / Design
\begin{enumerate}[label*=\arabic*.]
\item Texterkennung
\begin{enumerate}[label*=\arabic*.]
\item Vergleich verschiedener Bildtransformationstechniken
\item Konzepte zur Filterung der Ergebnisdaten
\end{enumerate}
\item Datenbankstruktur
\begin{enumerate}[label*=\arabic*.]
\item Entwicklung einer Struktur für das Verbinden von Schlagwörtern mit Datenbankobjekten
\end{enumerate}
\item Programmaufbau
\begin{enumerate}[label*=\arabic*.]
\item Beschreibung der Bibliotheksarchitektur
\item Schnittstellenbeschreibung
\item Konzept für Vor- und Nachbearbeitung der Daten
\item Entwurf der unscharfen Suche in den Ergebnisdaten
\end{enumerate}
\end{enumerate}
\item Prototypische Umsetzung
\begin{enumerate}[label*=\arabic*.]
\item Texterkennung
\begin{enumerate}[label*=\arabic*.]
\item Module für "Bildvorbereitung"
\item Module für Nachbearbeitung der Ergebnisdaten
\begin{itemize}
\item Filtern von erkannten Textdaten
\item Erkennen von Schlüsselwörtern durch unscharfe Suche
\end{itemize}
\end{enumerate}
\item Datenbankstruktur
\item Anbindung an bestehenden "ScreenshotManager"
\begin{enumerate}[label*=\arabic*.]
\item Einbinden der Bibliothek
\item GUI-Prototyp für Bild-Upload
\item \raggedright Verknüpfung der Schlagwortdatenbank mit bestehender Datenbankstruktur
\end{enumerate}
\end{enumerate}
\item Zusammenfassung und Erfahrungen
\end{enumerate}
-28
View File
@@ -1,28 +0,0 @@
\chapter{Postprocessing}
\label{cha:Postprocessing}
% Preprocessing: Vorbereiten der Screenshots für die Bildverarbeitung
Beim "Postprocessing" werden die durch die Texterkennung ermittelten Biltinhalte gefiltert und aufbereitet. Durch die Filterung könenn die Ergebnisdaten beispielsweise durch das Entfernen von Füllwörtern auf das für den Nutzer wesentliche reduziert und durch Praktiken wie unscharfes Zuweisen Begriffe etwaige Fehler ausgebessert werden.
\section{Stand der Technik}
Heutzutage werden vor allem im Gebiet des Natural Language Processing (TODO:) mächtige Werkzeuge zur Analyse von Textbasierten Daten verwendet.
Da im Rahmen dieser Bachelorarbeit ein besonderer Fokus auf dem Verschlagworten der Inhalte liegt, um die Suche innerhalb der Screenshot-Datenbank zu verbessern, sind besonders die Vorgehensweise zur Extraktion der relevanten Daten von großem Nutzen.
Wie auch im Preprocessing gibt es auch im Postprocessing verschiedene Algorithmen, die mit den selben Ausgangsdaten unterschiedlich wertvolle Ergebnisse liefern. Daher ist es ratsam, mehrere Algorithmen zu vergleichen und den für den individuellen Use-case am besten geeignetsten zu wählen:
TODO: NLP Folien durchlesen.
\subsubsection{Vergleich}
TODO:
[Auflistung einiger Methodiken, mit vor und nachteilen und bildern]
[Erläuterung der verwendeten Methodiken und Erläuterung warum sie sich so gut für Screenshots eignen]
[Auswirkungen der verschiedenen Methodiken auf unterschiedliche Ausgangsdaten]
Durch den Vergleich ist ersichtlich, dass sich der TODO: in Kombination mit dem TODO: Algoritmus am besten für das Ermitteln von relevanten Schlagworten aus Screenshots von Benutzeroberflächen eignet. Durch die Kombination beschränkt sich die Menge an gefilterten Wörtern ausschließlich auf Füllwörter, die nicht inhaltsspezifisch sind, während durch das Fuzzy Matching kleinere Fehler, verursacht durch die Texterkennung, ausgebessert werden können.
-39
View File
@@ -1,39 +0,0 @@
\chapter{Preprocessing (Probekapitel)}
\label{cha:Preprocessing}
% Preprocessing: Vorbereiten der Screenshots für die Bildverarbeitung
Beim sogenannten "Preprocessing" werden die zu verarbeitenden Bilder gemäß nachfolgender Methoden für die Texterkennung vorbereitet. Ziel der Vorbereitung ist es, Texte im Bild für die Texterkennungs-Engine lesbar zu machen (TODO: QUELLE). Während störende Elemente wie Bildrauschen aus dem Bild entfernt werden sollen, werden Texte ungeachtet der Hinter- bzw. Vordergrundfarbe mit maximalem Kontrast hervorgehoben und von interferierenden "Nicht-Text Elementen" wie Formen oder graphischen Symbolen isoliert.
\section{Stand der Technik}
Die im Rahmen dieser Bachelorarbeit verwendete Texterkennungs-Engine Tesseract verfügt in der aktuellen Version (TODO: VERSION) (TODO: QUELLE) über ein neurales Netzwerk, mit dem auf Basis von sprachspezifischen Trainingsdaten (TODO: QUELLE) Texte in Bildern erkannt werden können.
Laut der Tesseract-Dokumentation gibt es gemäß dem derzeitigen Stand der Technik eine empfohlene Vorgehensweise bei der Vorbereitung von Bildern für die Texterkennung. Jede Methodik bietet dabei wiederum je nach Eigenschaften der Bilddatei verschiedene Vor- und Nachteile:
TODO:
[Auflistung einiger Methodiken, mit vor und nachteilen und bildern]
Verwendet man moderne Tesseract-Implementierungen, sind in diesen oft bereits rudimentäre Bildverarbeitungswerkzeuge verfügbar. Mit diesen Werkzeugen werden die eingespeisten Bilder - sofern nicht bereits im richtigen Format - meist automatisch für die Texterkennung vorbereitet.
Diese initialie Bildverarbeitung, das sogenannte "Preprocessing", folgt in der aktuellen Tesseract-Version folgendem Schema:
TODO: Tesseract-eigenes Preprocessing
(TODO: [Erläuterung der Gründe und Beispiele warum bzw. in welchen Fällen das Preprocessing versagt])
Ohne weitere Einstellungen zu treffen, bewirkt die oben beschriebene Bildverarbeitung zwar ein Umwandeln der Eingangsgrafiken in ein grundsätzlich gutes (TODO: das ist universell aber halt kaka)
\subsection{Optimierung}
Um die Texterkennung mittels Tesseract weiter zu verbessern, ist es notwendig, das Preprocessing zu spezifizieren indem die Breite an möglichen Eingangsdaten durch Annahmen beschränkt wird.
Im Falle dieser Bachelorarbeit handelt es sich bei den zu verarbeitenden Bildern ausschließlich um digitale Bildschirmaufnahmen von grafischen Benutzeroberflächen. Es kann also angenommen werden, dass sowohl die Perspektive der Aufnahme nicht verzerrt ist und der Kontrast in den meisten Fällen ausreicht, um die relevanten Inhalte zu erkennen. Weiters beinhalten grafische Oberflächen oft farbige Hintergrundflächen zur Trennung von Sektionen, auf die bei etwaigem Thresholding gachtet werden muss.
Um die Ergebnisse der Texterkennung zu optimieren, wurde eine Auswahl an Bildverarbeitungsalgorithmen bestimmt. Anhand einer durch den Menschen verschlagworteten Vergleichsmenge können diese Algorithmen nun mittels der Fehlermetriken A, B und C (TODO: metriken) verglichen werden, um den besten zu ermitteln.
\subsubsection{Vergleich}
[Erläuterung der verwendeten Methodiken und Erläuterung warum sie sich so gut für Screenshots eignen]
[Auswirkungen der verschiedenen Methodiken auf unterschiedliche Ausgangsbilder]
-17
View File
@@ -1,17 +0,0 @@
\chapter{Zeitplan}
\label{cha:Zeitplan}
\begin{table}[!ht]
\begin{tabularx}{\textwidth}{ll>{\raggedright\arraybackslash}X}
\textbf{Datum} & \textbf{Meilenstein} & \textbf{Beschreibung} \\
\toprule
31.07.2023 & Expose & Themenfindung, Literaturrecherche, Definition der Forschungsfrage \\
31.08.2023 & Recherche & Schnittstellendefinition, Datenbankdesign \\
15.09.2023 & Preprocessing & Vergleich verschiedenster Bild\-manipulations\-methoden, anschließendes Sammeln und Auswerten der Daten. Danach Implementierung in Beispielbibliothek \\
31.09.2023 & Postprocessing & Vergleich und Auswerten der Ergebnisse der verschiedenen Filterstrategien, inklusive unscharfer Suche nach Schlüsselwörtern. Anschließende Implementierung in der Beispielbibliothek \\
31.11.2023 & Auswertung & Auswertung der extrahierten Textdaten mithilfe der Beispielbibliothek: Qualität der Ergebnisse, Anteil erkannter Worte und Laufzeit der Texterkennung \\
01.12.2023 & Erster Entwurf & \\
31.12.2023 & Finale Abgabe & \\
\end{tabularx}
\caption{Zeitplan}
\end{table}
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
View File
Binary file not shown.
+8 -10
View File
@@ -44,7 +44,7 @@
\placeofstudy{Hagenberg}
\dateofsubmission{2023}{06}{06} % {YYYY}{MM}{DD}
% \advisor{} % optional
\advisor{Barbara Traxler MSc}
%\strictlicense % restriktive Lizenz anstatt Creative Commons (nicht empfohlen!)
@@ -52,21 +52,19 @@
\frontmatter % Titelei (röm. Seitenzahlen)
%%%-----------------------------------------------------------------------------
\maketitle
%\maketitle
\includepdf[pages=1-1]{./include/title.pdf}
\tableofcontents
%%%-----------------------------------------------------------------------------
\mainmatter % Hauptteil (ab hier arab. Seitenzahlen)
%%%-----------------------------------------------------------------------------
\include{chapters/fragestellung}
\include{chapters/forschungsstand}
\include{chapters/problemstellung}
\include{chapters/gliederung}
\include{chapters/zeitplan}
\include{chapters/preprocessing}
\include{chapters/postprocessing}
\include{chapters/literatur}
\include{chapters/c01_einleitung}
\include{chapters/c02_grundlagen}
\include{chapters/c03_konzept}
\include{chapters/c04_implementierung}
\include{chapters/c99_literatur}
%%%-----------------------------------------------------------------------------
\backmatter % Schlussteil (Quellenverzeichnis und dgl.)