Projektskizze Layout-Workbench Phase 2
Projektziel
Die Layout-Workbench soll deutlich effizienter werden, wobei der Fokus zunächst auf der Stapelverarbeitung (Durchsatz) liegt. Außerdem ist die LW funktional so zu erweitern, daß eine robuste Einteilung von Bildseiten in vordefinierte Klassen ermöglicht und Workflows seitenklassenspezifisch spezialisiert werden können.
- Profiling zur Identifikation von Auffälligkeiten des Betriebsmittelbedarfs (CPU, RAM, I/O) innerhalb des Workflows
- Beseitigung von Flaschenhälsen in Prozessoren durch algorithmische und programmtechnische Optimierung
- Erweiterung der Optionen zur Parallelisierung von Workflows zusätzlich zur dokumenten-parallelen um seiten-parallele Prozessierung
- GPU-Portierung relevanter Prozessoren wie Binarisierung, Preprocessing und Texterkennung:
- Binarisierung: Wechsel zu neuronalem Modell
- Preprocessing: CuPy-Portierung von Ocropy
- Texterkennung: Training eines Modells für Gegenwartsdeutsch mit Calamari-OCR
Seitenklassifikation
- Annotation: Erweiterung von LAREX um eine Möglichkeit, Seiten eine Klasse zuzuordnen und dies in
/PcGts/Page/@type
zu annotieren (ggf. per Zuordnung zu PAGE-XML vordefiniertere Klassen)
- Backend: Erweiterung von Mask-RCNN um einen vierten Head-Layer mit Ausgabe der Klasse für das Gesamtbild (Zielfunktion Kreuzentropie), Möglichkeit zum selektiven Laden/Speichern von Modellkomponenten (also dynamische Konfiguration entsprechend Training, z.B.
- Seitenklassifizierung mit Regionenerkennung und -Klassifizierung
- nur Seitenklassifizierung
- nur Regionenerkennung und -Klassifizierung
- Sammlung geeigneter GT-Daten (in-domain von IAO, extern) und Training eines Baseline-Modells
- Rezept und Dokumentation für IAO-eigenes Training auf weiteren Daten
- OCR-D-Prozessor speziell für Seitenklassifikation mit Mask-RCNN, sowie entsprechende optionale Erweiterung des Prozessors zur visuellen Adreßerkennung
- Möglichkeit der dynamischen Formulierung von Workflow-Makefiles
- ggf. Erweiterung des Schemas um Kontextmarkierungen wie bei Adreßerkennung zur tieferen oder breiteren Unterscheidung von Klassen (nicht nur visuelle sondern auch textuelle Information)
Umsetzung
Arbeitsprogramm
Folgende Arbeitsschritte sind zur Umsetzung der beschriebenen Lösung erforderlich (jew. mit geschätztem Arbeitsaufwand, untergliedert in Arbeitsphasen):
- Phase: einfache Performance-Verbesserung (Prozessor-Profiling u. -Optimierung) – 1 PM
- Phase: erweiterte Performance-Verbesserung (Parallelisierung und GPU-Portierung) – 2 PM
- Phase: Prototyp Seitenklassifikation – 2 PM
- Phase: Erweiterung Seitenklassifikation – 1 PM
Summe Personenmonate: 6
Voraussetzungen
Vonseiten des Auftraggebers wird folgendes benötigt:
- bis spätestens Phase 3 – Klassen-Definition und GT für Seitentyp
Angesichts der Komplexität der Problemstellung versteht es sich, daß Anforderungen und Vorgehen jederzeit eng mit dem Auftraggeber abzustimmen sind.
Zeitplan
Nachfolgend ein Diagramm mit dem geplanten Zeitverlauf für die einzelnen Arbeitsphasen. Gerechnet wird mit 1 Vollzeit-Arbeitskraft.
Anhang und Ergänzungen