Added more references

This commit is contained in:
Simon Gruber
2024-01-10 09:46:27 +01:00
parent d80e28cc5d
commit 6b02c8be9f
5 changed files with 103 additions and 40 deletions
+2 -2
View File
@@ -9,7 +9,7 @@ Um die Texterkennung mittels Tesseract und die anschließende Filterung der Erge
\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 zudem auf, dass die manche Screenshots durch das Selektieren mit der Maus sehr eng abgeschnitten wurden. Auch das ist bei der Vorverarbeitung zu berücksichtigen.
Im Falle dieser Bachelorarbeit handelt es sich bei den zu verarbeitenden Bildern ausschließlich um digitale Bildschirmaufnahmen von grafischen Benutzeroberflächen. Da die 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 zudem auf, dass die 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
@@ -33,7 +33,7 @@ Im Falle dieser Bachelorarbeit handelt es sich bei den zu verarbeitenden Bildern
\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 generieren, die den Trainingsdaten des neuronalen Netzes ähnlich sehen \mcite{todo}. 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.
Für die Verwendung von Tesseract ist es wichtig, unabhängig von der Diversität der Ausgangsdaten möglichst einheitliche Bilder zu generieren, die den Trainingsdaten des neuronalen Netzes ähnlich sehen. 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}
+4 -4
View File
@@ -1,13 +1,13 @@
\subsection{Metriken}
\label{metriken}
Um die erkannten Ergebnisse unter Verwendung der verschiedenen Pre- und Postprocessing Schritte mittels eines einheitlichen Systems vergleichen zu können, wird auf die in der optischen Texterkennung gängigen Metriken "Character Error Rate" (CER) und "Word Error Rate" (WER) zurückgegriffen.
Um die erkannten Ergebnisse unter Verwendung der verschiedenen Pre- und Postprocessing Schritte mittels eines einheitlichen Systems vergleichen zu können, wird auf die in der optischen Texterkennung gängigen Metriken "Character Metric", auch bekannt als "Character Error Rate" und "Word metric" oder "Word Error Rate" (\kurz{WER})\mcite{karpinski2018metrics}, basierend auf der Levenshtein-Distanz \mcite{levenshtein1966binary} zurückgegriffen.
Sowohl die CER als auch die WER sind beliebte Vergleichswerte, die ihren Ursprung in der computergestützten Sprachverarbeitung \bzw automatischen Spracherkennung (ASR) haben. Da OCR und ASR beide darauf abzielen, maschinenlesbaren Text aus nicht-strukturierten Daten zu extrahieren, sind die Prinzipien dieser Metriken auch auf die OCR anwendbar.
Sowohl die Character- als auch die Word Error Rate sind beliebte Vergleichswerte, die ihren Ursprung in der computergestützten Sprachverarbeitung \bzw automatischen Spracherkennung haben \mcite{wang2003word}. Da die optische Texterkennung und die automatische Spracherkennung jeweils darauf abzielen, maschinenlesbaren Text aus nicht-strukturierten Daten zu extrahieren, sind die Prinzipien dieser Metriken auch auf die optische Texterkennung anwendbar \mcite{tong1996statistical}.
\subsubsection{Word Error Rate}
Die Word Error Rate (WER) beschreibt den prozentualen Anteil der falsch erkannten oder fehlenden Wörter eines Textes im Vergleich zu einer Referenz, welche im Falle der folgenden Vergleiche immer alle sichtbaren Texte im Bild repräsentiert. Je niedriger die WER, desto genauer ist der OCR-Vorgang. Um die WER zu berechnen, bildet man die Summe aller notwendigen Ersetzungen, Entfernungen und Einfügungen, um aus dem erkannten Text den Referenztext bilden zu können und teilt sie durch die Anzahl an Wörtern im Referenztext.
Die Word Error Rate (\kurz{WER}) beschreibt den prozentualen Anteil der falsch erkannten oder fehlenden Wörter eines Textes im Vergleich zu einer Referenz, welche im Falle der folgenden Vergleiche immer alle sichtbaren Texte im Bild repräsentiert. Je niedriger die WER, desto genauer ist der OCR-Vorgang. Um die WER zu berechnen, bildet man die Summe aller notwendigen Ersetzungen, Entfernungen und Einfügungen, um aus dem erkannten Text den Referenztext bilden zu können und setzt sie mit der Gesamtwortanzahl im Referenztext in Verhältnis \mcite{park2008empirical}.
\subsubsubsection{Berechnung}
@@ -34,7 +34,7 @@ Um also ein umfassendes Bild von der Genauigkeit des Texterkennungssystems zu er
\subsubsection{Character Error Rate}
Die Character Error Rate (CER) beschreibt die Anzahl der falsch erkannten oder fehlenden Zeichen im Vergleich zu einem Referenzwort. Je niedriger die CER, desto genauer ist der OCR-Vorgang. Um die CER zu berechnen, bildet man die Summe aller notwendigen Ersetzungen, Entfernungen und Einfügungen, um aus dem erkannten Wort die Referenz bilden zu können und teilt sie durch die Anzahl an Zeichen im Referenzwort.
Die Character Error Rate (CER) beschreibt die Anzahl der falsch erkannten oder fehlenden Zeichen im Vergleich zu einem Referenzwort und basiert auf der Levenshtein-Distanz \mcite{levenshtein1966binary}. Je niedriger die CER, desto genauer ist der OCR-Vorgang. Ähnlich wie die WER wird die CER aus der Summe aller notwendigen Ersetzungen, Entfernungen und Einfügungen, um aus dem erkannten Wort die Referenz bilden zu können, geteilt durch die Zeichenanzahl des Referenzwortes, gebildet.
\subsubsubsection{Berechnung}
@@ -148,7 +148,7 @@ Abhängig von den verwendeten Prozessoren können also Eingangsdaten jeglichen T
Für den grundlegenden Ablauf der Bildverarbeitung und der anschließenden Ergebnisfilterung werden die Erkenntnisse aus \autoref{konzept} mithilfe des in \autoref{components_processorchain} beschriebenen Processing-Frameworks angewandt.
Angefangen mit einem Ausgangsbild, welches über die Softwarebibliothek Magick.NET geladen wurde, beginnt die Bildverarbeitung zunächst mit dem Resampling. Falls der geladene Screenshot die Mindestauflösung von 300dpi unterschreitet, wird es mittels Lanczos2-Verfahren, eine von Magick.NET mitgelieferte Implementierung des Lanczos2-Algorithmus mit leichter Schärfung, auf die Mindestauflösung vergrößert. Anschließend wird das Bild normalisiert, in Graustufen umgewandelt und jegliche Transparenz durch einen weißen Hintergrund ersetzt. Danach wird es mittels Schwellwertverfahren binarisiert und rund um das Bild wird ein Rahmen mit einer Dicke von 10px eingefügt. Um Texterkennungsfehler durch falsche Vorder- \bzw Hintergrundfarben auszuschließen, wird das Bild schlussendlich gemeinsam mit einer farblich invertierten Version an das Texterkennungssystem weitergegeben.
Angefangen mit einem Ausgangsbild, welches über die Softwarebibliothek Magick.NET geladen wurde, beginnt die Bildverarbeitung zunächst mit dem Resampling. Falls der geladene Screenshot die Mindestauflösung von 300dpi unterschreitet, wird es mittels Lanczos2-Verfahren, eine von Magick.NET mitgelieferte Implementierung des Lanczos2-Algorithmus mit leichter Schärfung \mcite{imagemagick}, auf die Mindestauflösung vergrößert. Anschließend wird das Bild normalisiert, in Graustufen umgewandelt und jegliche Transparenz durch einen weißen Hintergrund ersetzt. Danach wird es mittels Schwellwertverfahren binarisiert und rund um das Bild wird ein Rahmen mit einer Dicke von 10px eingefügt. Um Texterkennungsfehler durch falsche Vorder- \bzw Hintergrundfarben auszuschließen, wird das Bild schlussendlich gemeinsam mit einer farblich invertierten Version an das Texterkennungssystem weitergegeben.
\begin{CsCode}[numbers=none]
var preprocessing = new ProcessorChainConfiguration<MagickImage, MagickImage>()
+1
View File
@@ -51,6 +51,7 @@
\newcommand{\csharp}{C\#}
\newcommand{\engl}[1]{engl. "#1"}
\newcommand{\kurz}[1]{kurz: "#1"}
%%%-----------------------------------------------------------------------------
+95 -33
View File
@@ -8,11 +8,6 @@
% langid={english}
% }
% Conference = Inproceedings
% Tesseract Open Source OCR Engine (main repository) \url{https://github.com/tesseract-ocr/tesseract}
% Improving the quality of the output, Tesseract documentation \url{https://tesseract-ocr.github.io/tessdoc/ImproveQuality.html}
@book{2007Crs,
isbn = {9780471415701},
year = {2007},
@@ -235,20 +230,18 @@ doi = {10.1007/978-981-99-3716-5_7}
language = {eng}
}
@inproceedings{the_old_bailey_and_ocr,
title = "The Old Bailey and OCR: Benchmarking AWS, Azure, and GCP with 180,000 Page Images",
keywords = "Amazon Web Services, Google Cloud Platform, Historical Documents, Microsoft Azure, Old Bailey, Optical Character Recognition",
author = "William Ughetta and Kernighan, {Brian W.}",
note = "Funding Information: The authors are grateful for help and advice from David Brailsford, Zoe LeBlanc, Sharon Howard, Tim Hitchcock, Mikki Hornstein, Chris Miller, Rasool Tyler, and Jack Brassil, and for funding from Princeton SEAS and GCP credits. Publisher Copyright: {\textcopyright} 2020 ACM.; 20th ACM Symposium on Document Engineering, DocEng 2020 ; Conference date: 29-09-2020 Through 01-10-2020",
year = "2020",
month = sep,
day = "29",
doi = "10.1145/3395027.3419595",
language = "English (US)",
series = "Proceedings of the ACM Symposium on Document Engineering, DocEng 2020",
publisher = "Association for Computing Machinery, Inc",
booktitle = "Proceedings of the ACM Symposium on Document Engineering, DocEng 2020",
title = "The Old Bailey and OCR: Benchmarking AWS, Azure, and GCP with 180,000 Page Images",
keywords = "Amazon Web Services, Google Cloud Platform, Historical Documents, Microsoft Azure, Old Bailey, Optical Character Recognition",
author = "William Ughetta and Kernighan, {Brian W.}",
year = "2020",
month = sep,
day = "29",
doi = "10.1145/3395027.3419595",
language = "English (US)",
series = "Proceedings of the ACM Symposium on Document Engineering, DocEng 2020",
publisher = "Association for Computing Machinery, Inc",
booktitle = "Proceedings of the ACM Symposium on Document Engineering, DocEng 2020",
}
@article{eikvil1993optical,
@@ -274,21 +267,21 @@ booktitle = "Proceedings of the ACM Symposium on Document Engineering, DocEng 20
publisher={Springer}
}
@article{10.1145/219717.219778,
author = {Church, Kenneth W. and Rau, Lisa F.},
title = {Commercial Applications of Natural Language Processing},
year = {1995},
issue_date = {Nov. 1995},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {38},
number = {11},
issn = {0001-0782},
url = {https://doi.org/10.1145/219717.219778},
doi = {10.1145/219717.219778},
journal = {Commun. ACM},
month = {nov},
pages = {7179},
numpages = {9}
author = {Church, Kenneth W. and Rau, Lisa F.},
title = {Commercial Applications of Natural Language Processing},
year = {1995},
issue_date = {Nov. 1995},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {38},
number = {11},
issn = {0001-0782},
url = {https://doi.org/10.1145/219717.219778},
doi = {10.1145/219717.219778},
journal = {Commun. ACM},
month = {nov},
pages = {7179},
numpages = {9}
}
@article{kalyanathaya2019advances,
@@ -300,3 +293,72 @@ numpages = {9}
pages={199--202},
year={2019}
}
@inproceedings{tong1996statistical,
title={A statistical approach to automatic OCR error correction in context},
author={Tong, Xiang and Evans, David A},
booktitle={Fourth workshop on very large corpora},
year={1996}
}
@inproceedings{karpinski2018metrics,
title={Metrics for complete evaluation of ocr performance},
author={Karpinski, Romain and Lohani, Devashish and Belaid, Abdel},
booktitle={IPCV'18-The 22nd Int'l Conf on Image Processing, Computer Vision, \& Pattern Recognition},
year={2018}
}
@article{approximate_string_matching,
author = {Navarro, Gonzalo},
year = {2000},
month = {04},
pages = {},
title = {A Guided Tour to Approximate String Matching},
volume = {33},
journal = {ACM Computing Surveys},
doi = {10.1145/375360.375365}
}
@inproceedings{levenshtein1966binary,
title={Binary codes capable of correcting deletions, insertions, and reversals},
author={ and others}
}
@inproceedings{wang2003word,
title={Is word error rate a good indicator for spoken language understanding accuracy},
author={Wang, Ye-Yi and Acero, Alex and Chelba, Ciprian},
booktitle={2003 IEEE workshop on automatic speech recognition and understanding (IEEE Cat. No. 03EX721)},
pages={577--582},
year={2003},
organization={IEEE}
}
@inproceedings{park2008empirical,
title={An empirical analysis of word error rate and keyword error rate.},
author={Park, Youngja and Patwardhan, Siddharth and Visweswariah, Karthik and Gates, Stephen C},
booktitle={Interspeech},
volume={2008},
pages={2070--2073},
year={2008}
}
@article{sporici2020improving,
title={Improving the accuracy of Tesseract 4.0 OCR engine using convolution-based preprocessing},
author={Sporici, Dan and Cușnir, Elena and Boiangiu, Costin-Anton},
journal={Symmetry},
volume={12},
number={5},
pages={715},
year={2020},
publisher={MDPI}
}
@article{mursari2021effectiveness,
title={The effectiveness of image preprocessing on digital handwritten scripts recognition with the implementation of OCR Tesseract},
author={Mursari, Lily Rojabiyati and Wibowo, Antoni},
journal={Computer Engineering and Applications Journal},
volume={10},
number={3},
pages={177--186},
year={2021}
}