This repository has been archived on 2024-06-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
thesis/chapters/c30_konzept/annahmen.tex
T
Simon Gruber 26faa0207b Feedback
2024-01-15 08:44:26 +01:00

79 lines
5.6 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
\section{Annahmen}
\label{annahmen}
Um die Texterkennung mittels Tesseract und die anschließende Filterung der Ergebnisdaten zu verbessern, ist es sinnvoll, anwendungsspezifische Annahmen für den Verarbeitungsablauf festzulegen.
\subsection*{Preprocessing}
\label{annahmen_preprocessing}
\subsubsection*{Eigenschaften von Screenshots}
\label{annahmen_bild_eigenschaften}
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 ist bei der Bildverarbeitung auf farbige Hintergrundflächen zu achten, mit deren Unterstützung Bildschirmelemente in modernen grafischen Oberflächen oft gruppiert oder getrennt werden. Nach Sichtung des zu verarbeitenden Bilddatensatzes fällt außerdem auf, dass manche Screenshots durch das Selektieren mit der Maus sehr eng abgeschnitten wurden. Auch das ist bei der Vorverarbeitung zu berücksichtigen.
\begin{figure}[ht]
\centering
\begin{minipage}{0.66\textwidth}
\includegraphics[width=\textwidth]{include/screenshots/driver_brpvi_offlineimport_004.png}
\end{minipage}
\hfill
\begin{minipage}{0.3\textwidth}
\begin{minipage}{\textwidth}
\includegraphics[width=\textwidth]{include/screenshots/historian_assistent_001.png}
\end{minipage}\hfill
\vspace{\baselineskip}
\begin{minipage}{\textwidth}
\includegraphics[width=\textwidth]{include/screenshots/driver_archdrv_variablendefinition_001.png}
\end{minipage}\hfill
\end{minipage}
\caption{Beispielhafte Auswahl typischer Dialogscreenshots.}
\label{annahmen_bild_eigenschaften_beispiel}
\end{figure}
\subsubsection*{Optimieren von Daten für Tesseract}
\label{annahmen_bild_optimal}
Für die Verwendung von Tesseract ist es wichtig, unabhängig von der Diversität der Ausgangsdaten möglichst einheitliche Bilder zu erzeugen. Während störende Elemente wie Bildrauschen aus dem Bild entfernt werden sollen, sollen Texte unabhängig von der Hinter- bzw. Vordergrundfarbe gut zu erkennen und leicht von Formen oder grafischen Symbolen abzugrenzen sein \mcite{sporici2020improving} \mcite{mursari2021effectiveness}.
\begin{figure}[ht]
\begin{minipage}{0.4\textwidth}
\fbox{\includegraphics[width=\textwidth]{include/screenshots/command-processing_screentypes_controlgroup_005.png}}
\end{minipage}
\hspace{0.1\textwidth}
\begin{minipage}{0.4\textwidth}
\fbox{\includegraphics[width=\textwidth]{\detokenize{include/results/ThresholdProcessor(40\%).00.command-processing_screentypes_controlgroup_005.png}}}
\end{minipage}
\caption{Ein optimales Ergebnisbild. Jegliche farblichen Flächen wurden durch die Bildverarbeitung entfernt. Übrig bleibt klar lesbarer Text mit einem hohen Kontrast zum Hintergrund.}
\label{fig:screenshot_comparison_optimal}
\end{figure}
\subsection*{Postprocessing}
\label{annahmen_postprocessing}
\subsubsection*{Filtern von Symbolen}
Bei der Texterkennung kommt es vor, dass grafische Elemente als Unicode-Symbole erkannt werden. Beispielsweise finden sich in den ungefilterten Ergebnisdaten oft Aufzählungszeichen "•" oder diverse Varianten von Bindestrichen "". Diese Zeichen sind gemäß Anwendungsanforderungen nicht relevant für die Schlagwortsuche und können somit entfernt \bzw ignoriert werden.
\begin{figure}[t]
\centering
\begin{minipage}{0.45\textwidth}
\includegraphics[width=0.90\textwidth]{include/postprocessing/source.png}
\end{minipage}
\hfill
\begin{minipage}{0.5\textwidth}
\lstinputlisting[firstnumber=100,linerange={100-110}]{include/postprocessing/source.json}
\end{minipage}
\caption{Auszug aus den ungefilterten Ergebnisdaten bei Durchführung der Texterkennung in dem gezeigten Screenshot.}
\label{fig:screenshot_postprocessing}
\end{figure}
\subsubsection*{Mehrsprachigkeit}
\label{annahmen_mehrsprachigkeit}
Eine weitere Anforderung an das Textverarbeitungssystem ist das Einlesen und Interpretieren mehrsprachiger Bilddateien. So sollen beispielsweise Bilder mit englischen, deutschen oder italienischen Inhalten zugeführt und die Ergebnisdaten richtig verarbeitet werden können. Um eine Filterung für verschiedene Zeichensätze zu ermöglichen und eine Unterstützung für Sprachen mit nicht-lateinischen Schriften zu gewährleisten, werden dynamische Sprachfilter verwendet, die individuell an die jeweilige Sprache angepasst werden können. Um die Ergebnisdaten nicht unnötig zu verkomplizieren, werden für die initialen Tests und die Beschreibung der generellen Vorgehensweise im Rahmen dieser Bachelorarbeit jedoch nur deutsche oder englische Inhalte verarbeitet.
\subsubsection*{Schlagworte}
\label{annahmen_schlagworte}
Für die spätere Suche von Screenshots sollen relevante Schlagworte aus den erkannten Textdaten extrahiert werden. Ein Wort eignet sich dann als Schlagwort, wenn es in relevantem Bezug zum jeweiligen Bild steht und dabei idealerweise eine wichtige Aktion oder Information widerspiegelt. Inhalte, die direkt in der grafischen Benutzeroberfläche ersichtlich sind, eignen sich demnach besonders gut als Suchworte. Damit die Menge an Schlagwörtern allerdings nicht zu unspezifisch wird, sollte es vermieden werden, allgemeine sogenannte Stoppwörter (\engl{Stop words}) ohne besondere Semantik, wie "und", "oder", in das Ergebnis mit aufzunehmen. Sie beinhalten keine spezifische Information und fördern aufgrund ihrer Häufigkeit das Auftreten von Verwechslungen.