<style>
/* reduce from default 48px: */
.reveal {
font-size: 24px;
text-align: left;
}
.reveal .slides {
text-align: left;
}
/* change from default gray-on-black: */
.hljs {
color: #005;
background: #fff;
}
/* prevent invisible fragments from occupying space: */
.fragment.visible:not(.current-fragment) {
display: none;
height:0px;
line-height: 0px;
font-size: 0px;
}
/* increase font size in diagrams: */
.label {
font-size: 24px;
font-weight: bold;
}
/* increase maximum width of code blocks: */
.reveal pre code {
max-width: 1000px;
max-height: 1000px;
}
/* remove black border from images: */
.reveal section img {
border: 0;
}
.reveal pre.mermaid {
width: 100% !important;
}
.reveal svg {
max-height: 600px;
}
.reveal .scaled-flowchart-td pre.mermaid {
width: 100% !important;
/* why? float: left; */
}
.reveal .scaled-flowchart-td svg {
max-width: 100% !important;
}
.reveal .scaled-flowchart-td svg g.node,
.reveal .scaled-flowchart-td svg g.label,
.reveal .scaled-flowchart-td svg foreignObject {
width: 100% !important;
}
.reveal .scaled-flowchart-td p {
clear:both;
}
.reveal .centered {
text-align: center
}
.reveal .width75 {
max-width: 75%;
}
/* remove black border from images: */
.reveal section img {
border: 0;
box-shadow: none;
}
</style>
# Implementierungsprojekt<br>OCR‑D / Kitodo
## Stefan Weil ![ubm-logo](https://www.bib.uni-mannheim.de/typo3conf/ext/uma_site/Resources/Public/Images/Icons/logo-ub-de.svg =200x)
## Robert Sachunsky ![slub-logo](https://www.slub-dresden.de/typo3conf/ext/slub_template/Resources/Public/Images/slublogo.svg =200x)
_Kitodo-Anwendertreffen, 24-25.11.2021_
: https://hackmd.io/@bertsky/kitodo-anwendertreffen-ocrd
---
1. Was ist OCR-D?
* Projekthistorie
* Prinzipien
<!--
- Design-Prioritäten
- Technologie für Massenverarbeitung
- Flexibilität
-->
2. Implementierungsprojekt Kitodo
* Projektrahmen
* Vorarbeiten
* Technische Ausgangslage
* Projektziele
<!--
- Weiterentwicklung OCR-D
- Weiterentwicklung Kitodo
- Kooperation
-->
* Systemarchitektur
---
## Was ist OCR-D?
### Projekthistorie
![](https://pro.europeana.eu/files/Europeana_Professional/EuropeanaTech/EuropeanaTech%20Insight/Images/OCR/c2.png) **ocr-d.de**
DFG-Projekt seit 2015 mit Ziel: Volltextdigitalisierung der VD-Bestände (16.-19. Jh.)
- 2015-2017: Bestandsaufnahme, Bedarfsanalyse
- 2018-2020: Entwicklung von Prototypen
* Koordinierungsprojekt
* 8 Modulprojekte (v. a. Unis)
- 2021-2023: Überführung in Produktivbetrieb
* Koordinierungsprojekt
* 4 Implementierungsprojekte, 3 Modulprojekte (v. a. Uni-Bibliotheken)
siehe https://ocr-d.de/de/phase3
---
## Was ist OCR-D?
### Prinzipien
#### Design-Prioritäten
- Massenverarbeitung > Ergonomie
- Transparenz > Perfektion
- Module > Black-Box
- Spezifikationen > Konventionen
- Offenheit, Freie Software, Community
- noch nicht: Handschriften, Zeitungen, Gegenwartsdokumente
- noch nicht: Robustheit und Skalierbarkeit
---
## Was ist OCR-D?
### Prinzipien
#### Technologie für Massenverarbeitung
- baut auf offene Standards
(METS-XML, MODS, PAGE-XML, ALTO-XML, JSON-Schema, XML-Schema)
- Tools mit einheitlicher Kommandozeilenschnittstelle (und Web-API …)
- anschlussfähige Technologien (Python, Git, Docker)
- austauschbare Komponenten und flexibel konfigurierbare Workflows
----
## Was ist OCR-D?
### Prinzipien
#### Flexibilität
- gängige OCR-Engines: nutzerfreundlich, aber unflexibel
- verschiedene Operationen vor und nach der eigentlichen Texterkennung
- an bestimmte Workflows gebunden
- OCR-D: freie Workflow-Konfiguration
- 1 Schritt im Workflow ↔ 1 Aufruf eines OCR-D-Prozessors
- inkrementelle Annotation mit PAGE-XML
- alternative Implementierungen für Prozessoren, z. B.:
_"Nimm die Binarisierung von Ocropus, die Segmentierung von Tesseract und die Texterkennung von Calamari"_
- leichte Integration neuer Tools
----
## Was ist OCR-D?
### Prinzipien
#### Flexibilität
![](https://pro.europeana.eu/files/Europeana_Professional/EuropeanaTech/EuropeanaTech%20Insight/Images/OCR/c3.png)
---
## Implementierungsprojekt Kitodo
### Projektrahmen
<div>
<span style="float:left;">
![](https://www.kitodo.org/typo3conf/ext/kitodo_website/Resources/Public/Images/kitdoHomeLogo.svg =400x)
</span>
<span style="float:right;">
![](https://pro.europeana.eu/files/Europeana_Professional/EuropeanaTech/EuropeanaTech%20Insight/Images/OCR/c2.png =550x)
</span>
</div>
* Partner:
* Sächsische Landesbibliothek –
Staats- und Universitätsbibliothek Dresden (SLUB)
* Universitätsbibliothek der TU Braunschweig (UBBS)
* Universitätsbibliothek Mannheim (UBMA)
* Umfang: 8 Personenjahre
* Dauer: 2 Jahre
* Start: Oktober 2021
---
## Implementierungsprojekt Kitodo
### Vorarbeiten
* SLUB-Mitarbeiter: OCR-D Koordinierungsprojekt (2015-19)
* SLUB-Mitarbeiter: OCR-D Modulprojekt (2018-19)
* UBMA: OCR-D Modulprojekt (2018-19)
* UBMA: Kitodo Entwicklungsbeiträge (seit 2014), Kitodo Test
* SLUB, UBMA: OCR-D Pilotbibliothek (2019-20)
* SLUB: Kitodo Entwicklung (seit 2012)
* UBBS: Kitodo Test, Dokumentation, Migration
* alle: erfahrene OCR-D- und Kitodo-Nutzer
---
## Implementierungsprojekt Kitodo
### Technische Ausgangslage
* Kitodo: Workflow-Management-System für Archive und Bibliotheken
<!--
* Open-Source, gemeinschaftlich
* Module:
* Kitodo.Production (Digitalisierungsworkflows)
* Kitodo.Presentation (DFG-Viewer etc.)
-->
* OCR: nur mit kommerziellen Plugins (Black-Box, Lizenzkosten)
* OCR-D: funktionsfähiger Prototyp für lokale Kommandozeile
* noch keine Netzwerkschnittstellen für Verteilung und Skalierung
* noch keine Fehlerbehandlung oder dynamische Workflow-Ausführung
* noch keine Laufzeit-Evaluierung und Ergebnis-Qualitätsabschätzung
* noch keine Unterstützung/Automatisierung der Workflow-Konfiguration
---
## Implementierungsprojekt Kitodo
### Projektziele (OCR-D)
1. OCR-D als Web-basiertes verteiltes System implementieren
- leicht skalierbar <!-- (by adding computing resources / servers) -->
- leicht aufsetzbar <!-- (via container virtualization) -->
2. Qualitätsbasierte Workflow-Optimierung für OCR-D entwickeln
- Qualitätsabschätzung für Zwischenergebnisse (Bildvorverarbeitung, Segmentierung und Erkennung) mittels **Heuristiken und Modellen**
- **Gewichtung** der Qualität von Zwischenergebnissen bezüglich Beitrag zu Gesamtergebnis (Folgeschritte, weitere Seiten)
- wenn unzulänglich, automatischer **Wechsel** auf alternative Konfiguration für Segment/Seite/Dokument, oder **Abbruch** der Berechnung
- Bereitstellung einer Auswahl empirisch **optimierter**, dynamisch qualitätsgesteuerter **Workflow-Konfigurationen** für verschiedene Materialien
---
## Implementierungsprojekt Kitodo
### Projektziele (Kitodo)
3. OCR-D als OCR-Modul in Kitodo.Production implementieren
- Import von Bildern, Metadaten und Strukturdaten
- Verfolgung und Visualisierung von Fortschritt und Ergebnisqualität
- Fehlerbehandlung, Versionierung
- Export, Validierung und Einspielen von Ergebnissen
- Bearbeitung und Verwaltung von Workflow-Konfigurationen
4. Kitodo.Presentation und DFG-Viewer erweitern
- Bewertung von Ergebnissen durch Nutzer, Versionierung
- Triggern von (Re-)OCR-Aufträgen durch Nutzer (On-Demand-OCR)
---
## Implementierungsprojekt Kitodo
### Projektziele (Sonstige)
- enge Zusammenarbeit mit OCR-D Koordinierungsprojekt
- enge Zusammenarbeit mit anderen OCR-D Implementierungs-/Modulprojekten
- Kitodo Community-Workshops (Bedarfserhebung und Dissemination)
- Kitodo Community-OCR-Dienst (Testbetrieb)
---
## Systemarchitektur
* Kitodo mit OCR-D-"Backend" als verteiltes System
* starke Integration von Daten- und Prozeßverwaltung
* generisch/unabhängig auf beiden Seiten
![architecture](https://i.imgur.com/KUWoEKl.png =750x)
{"metaMigratedAt":"2023-06-16T14:52:02.513Z","metaMigratedFrom":"YAML","title":"Implementierungsprojekt OCR-D / Kitodo","breaks":true,"description":"Kitodo-Anwendertreffen, 24-25.11.2021","slideOptions":"{\"theme\":\"white\",\"slideNumber\":true}","contributors":"[{\"id\":\"c0c732c1-ff66-4ae8-a5d1-6eb62c41466e\",\"add\":148,\"del\":21},{\"id\":\"c62f1b15-791a-47e1-8e4c-ab2ed00c04bc\",\"add\":13519,\"del\":5366}]"}