Glossar von Begriffen aus dem Bereich der Bildverarbeitung/OCR und deren Verwendung im Rahmen von OCR-D
Aus der PAGE XML-Dokumentation
Rand der eigentlichen Seite (wenn das gescannte Bild Teile enthält, die nicht zur Seite gehören)
In OCR-D ist eine Glyphe die atomare Einheit innerhalb eines Wortes.
Siehe Glyphe
Die Lesereihenfolge beschreibt die logische Abfolge von Regionen innerhalb eines Dokuments, wie sie von einem Menschen gelesen wird. Marginalien, Tabellen, Fußnoten und andere Elemente, die nicht in einer bestimmten Reihenfolge gelesen werden, sind nicht zwingend in der Beschreibung der Lesereihenfolge enthalten.
Siehe TextLine
Aus der PAGE XML-Dokumentation
Bestimmt die effektive Fläche einer gedruckten Seite auf dem Papier. [,,,]
Sie enthält alle lebenden Elemente (außer Marginalien) wie Absätze und Überschriften sowie Fußnoten, Überschriften, laufende Titel.
Sie enthält keine Seitenzahlen (wenn sie nicht Teil des laufenden Titels sind), Marginalien, Bogensignatur, Kustoden.
Eine Region wird durch ein Polygon innerhalb einer Seite beschrieben.
Die Semantik oder Funktion einer Region wie Überschrift, Seitenzahl, Spalte, Tabelle...
Siehe PrintSpace
Innerhalb von OCR-D bezieht sich Schriftfamilie auf die Gruppierung von Elementen nach Schriftähnlichkeit. Die Semantik einer Schriftfamilie bleibt denen überlassen, von denen die Daten erstellt werden.
Siehe Glyphe
Eine Textzeile ist eine Reihe von Wörtern innerhalb einer Text-Region. (Je nach Ausrichtung der Region oder der Seite und je nach Schreibrichtung der Schrift kann sie horizontal oder vertikal sein).
Ein Wort ist eine Folge von Glyphen innerhalb einer Zeile, die keine wortbegrenzenden Leerzeichen enthält. (Das heißt, es schließt Interpunktion ein und ist ein Synonym für token im NLP.)
Siehe Textzeile
Ground Truth (GT) im Kontext von OCR-D sind Transkriptionen, spezifische Strukturbeschreibungen und Wortlisten. Diese sind sind im PAGE XML-Format in Kombination mit dem Originalbild verfügbar. Wesentliche Teile der GT wurden manuell erstellt.
Wir unterscheiden verschiedene Nutzungsszenarien für GT:
Evaluierungsdaten dienen der quantitativen und qualitativen Bewertung der Leistung von OCR-Werkzeugen und/oder -Algorithmen. Da diese Daten zur Bewertung genutzt werden, können sie nicht mit dem selben OCR-Werkzeug erstellt werden wie die zu evaluierenden Daten, sondern müssen in einem kontrollierten und nachvollziehbaren Verfahren erstellt werden. Der manuelle Anteil an der Erstellung kann dabei bis zu 100% betragen. Je nach Zweck der Evaluation braucht man entsprechend annotierte Evaluierungsdaten. Wenn man beispielsweise einen Algorithmus zur Segmentierung von Regionen evaluieren möchte, benötigt man Evaluierungsdaten mit annotierten Regionen.
Mit dem Begriff Referenzdaten bezeichnen wir Daten, die verschiedene Stadien eines OCR/OLR-Prozesses an repräsentativen Materialien veranschaulichen. Sie sollen die Bewertung von häufig auftretenden Schwierigkeiten und Herausforderungen bei der Durchführung bestimmter Analysevorgänge unterstützen und werden daher auf allen Ebenen manuell kommentiert.
Viele OCR-Tools müssen an den spezifischen Bereich der zu bearbeitenden Werke angepasst werden. Diese Anpassung an den Bereich wird als Training bezeichnet. Die Daten, die zur Steuerung dieses Prozesses verwendet werden, nennt man Trainingsdaten. Es ist wichtig, dass die Teile dieser Daten, die dem Trainingsalgorithmus zugeführt werden, manuell erfasst werden und möglichst fehlerfrei sind.
Binarisierung bedeutet die Umwandlung aller Farb- oder Graustufenpixel eines Bildes in Schwarz oder Weiß.
Controlled Term: binarized
(comments
einer mets:file), preprocessing/optimization/binarization
(step
in ocrd-tool.json)
Siehe Felix Niklas' interaktive Demo
siehe Cropping
Erkennung des Satzspiegels auf einer Seite, im Gegensatz zu den Rändern. Dies ist eine Form der Regionensegmentierung.
Controlled Term: preprocessing/optimization/cropping
.
Ein Bild so drehen, dass die meisten Textregionen aufrecht (d.h. von links nach rechts, von oben nach unten lesbar) und gerade (d.h. nicht schief) liegen.
Controlled Term: preprocessing/optimization/deskewing
Artefakte wie Flecken, Tintenkleckse, Unterstreichungen usw. aus einem Bild entfernen. Wird üblicherweise angewendet, um "Salz-und-Pfeffer"-Rauschen zu entfernen, das durch Binarisierung entstanden ist.
Controlled Term: preprocessing/optimization/despeckling
Ein Bild so bearbeiten, dass alle Textzeilen begradigt und alle geometrischen Verzerrungen korrigiert sind.
Controlled Term: preprocessing/optimization/dewarping
Siehe Matt Zuckers Eintrag zu Dewarping.
Die Dokumentenanalyse ist die Erkennung von Strukturen auf Dokumentenebene, um z.B. ein Inhaltsverzeichnis zu erstellen.
Erkennung der im Dokument verwendete(n) Schrift(en), entweder vor oder nach einem OCR-Prozess.
Controlled Term: recognition/font-identification
Eine Textzeile in Glyphen unterteilen.
Controlled Term: SEG-GLYPH
ISSUE: #41
Controlled Term:
gray_normalized
(comments
in der Datei)preprocessing/optimization/cropping
(step
in ocrd-tool.json)
Die Graustufen-Normalisierung ist ähnlich wie die Binarisierung, aber statt eines rein bitonalen Bildes kann die Ausgabe auch Graustufen enthalten, um zu verhindern, dass versehentlich Glyphen kombiniert werden, wenn sie sehr nahe beieinander liegen.
Siehe OCR.
Interpretation von Pixelbereichen als Textregionen, Zeilen, Wörter und Zeichen. Meint im engeren Sinne die Elementaroperation des Mustererkenners (welche früher auf Zeichen, heute auf ganzen Wörtern oder Zeilen angewandt wird), im weiteren Sinne alle dazu vorab nötigen Verarbeitungsschritte, also auch die Segmentierung in Satzspiegel (d.h. Cropping), Regionen (d.h. Regionensegmentierung) und Zeilen (d.h. Zeilensegmentierung).
Bestimmung des Typs einer erkannten Region.
Segmentiert ein Bild in Regionen. Bestimmt auch, ob es sich um eine Text oder Nicht-Text-Region (z.B. Bilder) handelt.
Controlled Term:
SEG-REGION
(USE
)layout/segmentation/region
(step
in ocrd-tool.json)
Segmentierung bedeutet die Erkennung von Bereichen innerhalb eines Bildes.
Spezifische Segmentierungsalgorithmen werden durch die Semantik der Regionen gekennzeichnet die sie erkennen, und nicht nach der Semantik der Eingabe, d. h. ein Algorithmus, der Regionen erkennt, wird Regionensegmentierung genannt.
Die Textoptimierung umfasst die Manipulationen am Text anhand der Schritte bis hin zur Texterkennung. Dazu gehören die (halb-)automatische Korrektur von Erkennungsfehlern, orthografische Vereinheitlichung, Korrektur von Segmentierungsfehlern usw.
Siehe OCR.
Segmentierung einer Textzeile in Wörter.
Controlled Term:
SEG-LINE
(USE
)layout/segmentation/word
(step
in ocrd-tool.json)
Segmentiert Textregionen in Textzeilen.
Controlled Term:
SEG-LINE
(USE
)layout/segmentation/line
(step
in ocrd-tool.json)
Das Forschungsdaten-Repository kann die Ergebnisse aller Verarbeitungsschritte während der Dokumentenanalyse enthalten. Zumindest enthält es die Endergebnisse jedes verarbeiteten Dokuments und seine vollständige Provenienz. Das Forschungsdaten-Repository muss lokal verfügbar sein.
Enthält alle Ground-Truth-Daten.
Enthält alle trainierten (OCR-)Modelle für die Texterkennung. Das Modell-Repository muss zumindest lokal verfügbar sein. Idealerweise wird ein öffentlich zugänglicher Modellspeicher entwickelt werden.
Das Software-Repository enthält alle OCR-D-Algorithmen und -Tools, die während des Projekts entwickelt wurden, einschließlich Tests. Es enthält auch die Dokumentation und Installationsanweisungen für den Einsatz eines Dokumentenanalyse-Workflows.
Ein Workspace ist eine Repräsentation für ein Dokument im lokalen Dateisystem.
Er besteht im Wesentlichen aus einem Verzeichnis mit einer Kopie der METS-Datei.
Zusätzlich kann dieses Verzeichnis physische Datendateien und Unterverzeichnisse enthalten, die zu dem Dokument gehören (erforderlich oder durch die OCR-D-Verarbeitung zur Laufzeit erzeugt),
wie sie von METS über mets:file/mets:FLocat/@href
und mets:fileGrp/@USE
referenziert werden.
Dateien und Unterverzeichnisse ohne Verweis (wie Log- oder Konfigurationsdateien) sind nicht Teil des Workspaces, ebenso wenig wie Verweise auf entfernte Speicherorte.
Sie können dem Arbeitsbereich hinzugefügt werden, indem sie in der METS-Datei über ihre relativen lokalen Pfadnamen referenziert werden.
Das OCR-D-Projekt hat die verschiedenen Elemente eines OCR-Workflows in sechs abstrakte Module aufgeteilt:
- Bildvorverarbeitung
- Layoutanalyse
- Texterkennung und -optimierung
- Modelltraining
- Langzeitarchivierung und Persistenz
- Qualitätssicherung
Manipulation der Eingabebilder für die anschließende Layoutanalyse und Texterkennung.
Speicherung der Ergebnisse von OCR und OLR auf unbestimmte Zeit unter Berücksichtigung der Versionierung, mehrerer Durchläufe, Provenienz/Parametrisierung und Bereitstellung des granularen Zugriffs auf diese gespeicherten Snapshots.
Erkennung von Strukturen innerhalb der Seite.
Generierung von Datendateien aus abgeglichenen Ground-Truth-Texten und -bildern zur Konfiguration der Vorhersage von Text- und Layout-Erkennungsprogrammen.
Erkennung von Text und Nachkorrektur von Erkennungsfehlern.
Bereitstellung von Messgrößen, Algorithmen und Software zur Bewertung der Qualität der einzelnen Prozesse innerhalb von OCR-D.
Messagingdienst auf der Grundlage der Publish/Subscribe-Architektur (oder einer ähnlichen Architektur) zur Koordinierung der Netzkomponenten, insbesondere für die Verteilung von Aufgaben und den Lastausgleich sowie für die Übermittlung von Prozessor-/Evaluatorergebnissen.
Anwendung, die aus verschiedenen Servern besteht, die Prozessoren ausführen können; kann ein Desktop-Computer oder eine Workstation sein, ein verteiltes System, das einen Controller und mehrere Verarbeitungsserver umfasst, oder ein HPC-Cluster.
Softwarekomponente eines Servers, die sich mit dem Netzbetrieb befasst; z. B. Python-Bibliothek mit Request-Handlern, die eine Dienstsuche und eine netzfähige Arbeitsbereichsdatenverwaltung implementieren.
OCR-D Server (Implementierung von mindestens Discovery-, Workspace- und Workflow-Diensten), Ausführung von Workflows (ein einzelner Workflow oder mehrere Workflows gleichzeitig), Verteilung von Aufgaben an konfigurierte Verarbeitungsserver, Verwaltung von Workspace-Daten. Sollte auch den Lastausgleich verwalten.
Ein Evaluator ist ein Werkzeug, das die einheitliche OCR-D CLI für die Qualitätsbewertung zur Laufzeit implementiert, indem es die Anmerkung eines Verarbeitungsschrittes (d. h. die Ausgabe eines Prozessors) mit einer Qualitätsmetrik bewertet, um eine Metrik zu erhalten, und einen bestimmten Schwellenwert anwendet, um einen vollständigen oder teilweisen Erfolg/Fehlschlag zu signalisieren.
Softwarepaket/Repository, das einen oder mehrere Prozessoren oder Evaluator bereitstellt und möglicherweise zusätzliche Funktionsbereiche umfasst (Training, Formatkonvertierung, Erstellung von GT, Visualisierung)
Module können aus mehreren Methoden/Aktivitäten bestehen, die in OCR-D als Prozessoren bezeichnet werden. Es gab acht Modulprojekte in der zweiten Phase von OCR-D (2018–2020). In der aktuellen dritten Phase (2021–2024) gibt es drei Modulprojekte.
OCR-D-Server (der mindestens Discovery- und Processing-Dienste implementiert), der einen oder mehrere (lokal installierte) Prozessoren oder Evaluator ausführen kann und Workspacedaten verwaltet; die Implementierer sollten abwägen, ob ein einzelner OCR-D-Processing-Server (mit seitenparalleler Verarbeitung) oder mehrere OCR-D-Processing-Server (mit dokumentenparalleler Verarbeitung) oder sogar dedizierte OCR-D-Processing-Server mit GPU/CUDA-Unterstützung am besten für den Anwendungsfall geeignet ist.
Ein Prozessor ist ein Werkzeug, das die einheitliche OCR-D-Befehlszeilenschnittstelle für die Datenverarbeitung zur Laufzeit implementiert. Das heißt, er führt einen einzelnen Workflowschritt oder eine Kombination mehrerer Workflowschritte auf dem Workspace (dargestellt durch lokale METS) aus, wobei er Eingabedateien für alle oder angeforderte physische Seiten der fileGrp(s) liest und Ausgabedateien für sie in die Output-fileGrp(s) schreibt. Er kann eine Reihe von optionalen oder obligatorischen Parametern erwarten.
Konkrete Implementierung einer Teilmenge von OCR-D-Diensten oder der Netzwerk-Host, der sie bereitstellt.
Gruppe von Endpunkten der OCR-D Web-API; discovery/workspace/processing/workflow/...
Wie in OCR-D/spec#173 vorgeschlagen, definiert die OCR-D-Web-API einheitliche und voneinander abhängige Dienste, die je nach Anwendungsfall auf Netzkomponenten verteilt werden können.
Kombination von Verarbeitungsschritten über konkrete Prozessoren und Evaluatoren und deren Parametrisierung als Sequenz oder Verband konfiguriert, abhängig von deren Erfolg oder Misserfolg. Implementiert in der OCR-D Workflow Runtime Library und serialisierbar in einem noch zu spezifizierenden Format.
Der Begriff Workflow wird in anderen Kontexten so verstanden, dass er mehr Funktionen umfasst, wie z.B. manuelle Eingriffe durch den Benutzer. Im Gegensatz zur Terminologie in Workflow-Engines wie Taverna oder Digitalisierungs-Frameworks wie Kitodo ist ein OCR-D-Workflow ein vollautomatischer Prozess.
Zentrale Softwarekomponente des Controllers, die Arbeitsabläufe, einschließlich Kontrollstrukturen (linear/parallel/inkrementell), ausführt. Wird auch bei CLI-Einsätzen auf einem einzigen Host benötigt (wo es allein auf Interprozesskommunikation und Dateisystemein- und -ausgabe beruhen kann), z. B. ocrd process
.
Softwarekomponente eines Servers oder Prozessors, die sich mit der Modellierung von OCR-Systemen befasst; z.B. Python-Bibliothek in OCR-D/core, die Klassen für alle wesentlichen funktionalen Komponenten (OcrdPage
, OcrdMets
, Workspace
, Resolver
, Processor
, ProcessorTask
, Workflow
, WorkflowTask
...) bereitstellt, einschließlich Mechanismen zur Signalisierung und Orchestrierung von Workflows, auf denen Komponenten (vom Prozessor bis zum Controller) implementiert werden können.