1 Klasse pro Kennwert, aber Multitask-Learning über alle Klassen (Kennwerte)
2 zusätzliche Eingabe-Kanäle: Text vs. Nontext, Text vs. Kontext
1 zusätzlicher Ausgabe-Layer: Seiten-Klassifikation (welcher Messdienstleister); per Input-as-Output
Lösungsansatz: partielle Layoutanalyse
Datenbedarf und Groundtruth-Erstellung
textuelle Varianten (Formulierungen) für Kontexte (Plaintext)
Bilder annotiert mit Markierungen für jeden Kennwert:
Kontext
Kennwert
Herausforderung: DL-Training braucht große Mengen Daten
automatische Vorverarbeitung mit OCR-D-Pipeline
manuelle Annotation mit LAREX (PAGE-XML)
Lösungsansatz: partielle Layoutanalyse
Groundtruth-Erstellung
||
Lösungsansatz: partielle Layoutanalyse
Reduktion des Datenbedarfs
Bild-Augmentierung
Modell-Transfer von Standardproblemen
||||
||||
Schwierigkeiten
automatische Vorverarbeitung
OCR-D optimiert für saubere Scans historischer Drucke
Kontrast/Farbnormalisierung (neu)
Roh-Entrauschung (neu)
Deskewing (teilweise nicht robust)
De-Keystoning/Dewarping (unbrauchbar)
Schwierigkeiten
automatische Vorverarbeitung
Deskewing: Robustheit
Schwierigkeiten
automatische Vorverarbeitung
Dewarping: Hintergrund/Ausleuchtung/Layout
Schwierigkeiten
LAREX / Annotations-Server
Bugs bei Installation
Bugs bei PAGE-Import/Export
Bugs bei Darstellung
Bugs bei Handling
Schwierigkeiten
Mask-RCNN / Training (1)
Implementierung (Upstream) jetzt nicht mehr gepflegt
Bugs in Batch-Generatoren (identische Bilder in allen Threads, Hängen bei unvollständigen Batches)
GPU-Speicherbedarf auf Workstation, Multi-GPU / CPU-Oversubscription auf HPC-Cluster
zusätzl. Eingabekanäle / Modelltransfer
Augmentierung: Verallgemeinerung (Bild vs. Markierung vs. Annotation)
Schwierigkeiten
Mask-RCNN / Training (2)
auf leeren Seiten: zufällige Proposals generieren (statt nichts), mit negativen Regionen auffüllen (statt nichts)
Falschpositive: Hintergrund lernen durch saubere Unterscheidung zwischen Füll-Null und Klasse Null
nur 1 Klasse auf einmal: inaktive Klassen in Zielfunktion korrekt unterdrücken (nicht unerlaubt klassifizierte Instanzen sondern Klassen-Anteil in Kreuzentropie)
nur 1 Klasse auf einmal: auch bei Inferenz
Schwierigkeiten
Open-Source-ML allgemein
Frameworks zum Maschinellen Lernen: sehr kurzlebig
hohe Komplexität, viele Details, Korrektheit nur statistisch überprüfbar →
riskant bei neuen Aufgaben / Daten
erschwert zeitliche Planbarkeit
Status und Aussicht
Beispiele
Status und Aussicht
Experimente
alles einmal durchtrainieren, dann kontinuierlich weiter evaluieren (mAP)
Hyperparameter (Layer-Topologie, NMS-Schwellwerte und Konfidenzen, Optimierer, Regularisierung, Lernrate, Augmentierung)
erst leichte Klassen (Datum, Kosten, Fläche), dann schwere (Verbrauch/Einheiten, Anteile)
erst leichte Beispiele (Altdaten), dann schwere (Neudaten)
erst homogene Layouts, dann generisch Sonstige unter Mischung aller Daten
Transfer nicht von Photoszenerie-Detektion, sondern von domänenspezifischen Modellen: PubLayNet-Seitensegmentierung trainieren
Status und Aussicht
Nächste Schritte
Bootstrap/Konsolidierung Groundtruth
weitere (komplexere) Kennwerte dazunehmen
Seitenklassifikation (Messdienstleister) durch Erweiterung auf 4. Head-Layer; Trainingsmethode Input-as-Output
Optimierung (v.a. Robustheit gegenüber schlechter Bildqualität, Rückweisung/Konfidenz)
Textklassifikation aufbauen
Laufzeit-Integration als OCR-D-Prozessor
logisches Datenmodell zur wechselseitigen Plausibilisierung
Deployment als Webservice (Bild→Kennwerte)
Werkzeuge für Training kapseln und für Nachführung von weiterem GT verfügbar machen (mehr Daten / neue Klassen / neue Layouts)