owned this note
owned this note
Published
Linked with GitHub
# Projektskizze Layout-Workbench Phase 2
[TOC]
## 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.
### Performance-Optimierung
- 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):
1. Phase: einfache Performance-Verbesserung (Prozessor-Profiling u. -Optimierung) – 1 PM
2. Phase: erweiterte Performance-Verbesserung (Parallelisierung und GPU-Portierung) – 2 PM
3. Phase: Prototyp Seitenklassifikation – 2 PM
4. 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.
```mermaid
gantt
title Layout-Workbench
section Arbeitsphase
Performance CPU :p1, 2021-03-01, 31d
Performance GPU :p2, after p1, 61d
Seitenklasse Prototyp :p3, after p2, 60d
Seitenklasse Anwendung :p4, after p3, 31d
section Daten
Trainings-GT :2021-05-01 , 60d
```
## Anhang und Ergänzungen
:::info
Kommentare?
:::
###### tags: `Templates` `Documentation`