Entscheidungen in OCR-D

In einem Softwareprojekt, insbesondere in einem stark verteilten Projekt wie OCR-D, müssen Entscheidungen getroffen werden über die verwendete Technologie, das Zusammenspiel der Schnittstellen und darüber, wie die Software als Ganzes konzipiert ist.

In diesem Dokument werden solche Entscheidungen über Schlüsselaspekte von OCR-D zum Nutzen aller OCR-D-Akteure diskutiert.

Terminologie

Allgemeine Entscheidungen

Workflow-Format

Web-API

QUIVER

Benchmarking

OCR-D/core

METS-Server

Der aktuelle Ansatz zur Dateiverwaltung erfordert Prozessoren, die auf eine einzelne METS-Datei auf der Festplatte zugreifen, was die Dateiverwaltung zu einem Engpass für Arbeitsabläufe macht.

Um dieses Problem zu lösen, werden wir einen HTTP-Server entwickeln, der asynchronen und parallelen Zugriff auf das METS im Q4 2022 ermöglicht.

Dezentrale Ressourcenliste

Derzeit wird eine Liste der Prozessorressourcen zentral in OCR-D/core geführt.

In Q3 2022 haben wir Mechanismen implementiert, die es Entwicklern von Prozessoren ermöglichen, ihre eigene, separate Ressourcenliste zu führen, indem Ressourcenlisten in der ocrd-tool.json des Prozessors gespeichert werden und die Ressourcen in ihrem eigenen Modulverzeichnis gebündelt werden.

Bis Q1 2023 sollten wir alle Prozessoren aktualisiert haben und die zentrale Liste auf eine weitgehend leere Liste reduziert haben.

Seitenweise Prozessierung

Derzeit iterieren die Prozessoren durch die Dateien eines Workspace indem sie eine Schleife durch alle Dateien in der/den Eingabedateigruppe(n) selbst durchführen.

In Q1 2023 werden wir die Prozessor-API überarbeiten und den derzeitigen Ansatz der Prozessoren, die in einer “process”-Methode iterieren, verwerfen und den Prozessoren ermöglichen, einzelne Seiten in einer process_page-Methode zu verarbeiten.

ocrd_all Docker deployment

Unterstützte Python-Versionen

Basis-OS-Image

Software-Bibliotheken

calamari

pillow

tensorflow

torch

[bash]