Erstellung einer End-to-End-OCR-Pipeline mit Baidus Unlimited-OCR für Bilder und PDFs
Wichtige Erkenntnisse
- •MarkTechPost hat ein Tutorial veröffentlicht, das zeigt, wie man Baidus Unlimited-OCR-Vision-Language-Modell mit 3 Milliarden Parametern auf Dokumentbildern und mehrseitigen PDFs in Google Colab ausführt.
- •Unlimited-OCR führt eine End-to-End-Dokumentenerfassung durch und reduziert die Abhängigkeit von den separaten Stufen der Texterkennung, -erkennung und Layout-Analyse, die herkömmliche OCR-Engines benötigen.
- •Das Tutorial vergleicht den Gundam-Modus, der gekachelte Bildzuschnitte für dichte Layouts verwendet, mit dem Base-Modus, der eine einzelne 1024-Pixel-Ansicht für schnellere Verarbeitung sauberer Seiten nutzt.
- •Die Pipeline erweitert sich auf die Analyse mehrseitiger PDFs, indem Seiten mit PyMuPDF gerastert und an eine Inferenzfunktion mit langem Horizont und erweiterten Wiederholungskontrollen für stabile Dekodierung übergeben werden.
- •Ergebnisse können in mehreren strukturierten Formaten exportiert werden, darunter Markdown, JSON und MMD, und unterstützen so Workflows für Dokumentation, programmgesteuerte Verwendung und Diagrammerstellung.

Ein von MarkTechPost veröffentlichtes Tutorial beschreibt, wie man einen vollständigen Workflow für die Ausführung von Baidus Unlimited-OCR-Modell auf Dokumentbildern und mehrseitigen PDFs aufbaut. Die Pipeline ist für Google Colab konzipiert und umfasst die Umgebungseinrichtung, die Installation von Abhängigkeiten, das Laden des Modells, die Erstellung von Beispieldokumenten, einseitige OCR sowie die Analyse mehrseitiger PDFs. Unlimited-OCR ist Teil eines breiteren Trends hin zu Vision-Language-Modellen, die die Dokumentenerfassung in einem einzigen End-to-End-System verarbeiten und damit die mehrstufigen Pipelines – Texterkennung, -erkennung und Layout-Analyse – reduzieren, die von herkömmlichen OCR-Engines verwendet werden.
Der Workflow beginnt mit der Konfiguration einer GPU-fähigen Laufzeitumgebung und der Installation der für die Unlimited-OCR-Inferenz erforderlichen Bibliotheken. Es wird überprüft, ob eine CUDA-fähige GPU verfügbar ist, und anschließend wird abhängig von der Hardwareunterstützung automatisch bfloat16 oder float16 ausgewählt. Das Tutorial lädt den Tokenizer und das Vision-Language-Modell mit 3 Milliarden Parametern von Hugging Face, versetzt das Modell in den Evaluationsmodus und verschiebt es auf die GPU für die Inferenz. Das Hosting des Modells auf Hugging Face ermöglicht es Entwicklern, vortrainierte Gewichte direkt zu laden, ohne ein Dokumentenerkennungsmodell von Grund auf neu zu trainieren oder zu fine-tunen.
Um reproduzierbare Testeingaben zu erzeugen, richtet das Tutorial die erforderlichen Eingabe- und Ausgabeverzeichnisse ein und generiert drei realistische Beispieldokumentseiten mit PIL. Diese Seiten enthalten Überschriften, Absätze, Tabellen und Fußnoten, sodass die Pipeline die Erkennung an strukturierten, layoutreichen Inhalten testen kann, anstatt nur einfache Textblöcke zu verwenden. Die erste generierte Seite wird vor der Übergabe an den OCR-Workflow mit Matplotlib vorab angezeigt.
Für die einseitige Bild-OCR verwendet das Tutorial zunächst den Gundam-Modus, der eine globale Ansicht des Dokuments mit gekachelten Bildzuschnitten kombiniert. In dieser Konfiguration wird crop_mode aktiviert und eine kleinere Kachelgröße verwendet, um feinen Text zu erhalten und die Erkennung bei dichten Layouts zu verbessern. Der Workflow wendet zudem Einstellungen für die Generierung langer Ausgaben sowie Wiederholungskontrollen an, damit das Modell bei der Verarbeitung komplexer Dokumente stabile, strukturierte Ergebnisse liefert.
Dasselbe Dokument wird anschließend im Base-Modus verarbeitet, der eine einzelne 1024-Pixel-Bildansicht verwendet. Die Bildzuschnitte werden in diesem Modus deaktiviert, um die Inferenzkomplexität zu verringern und die Verarbeitungsgeschwindigkeit bei sauberen, klar gedruckten Seiten zu erhöhen. Das Tutorial behält die gleichen Einstellungen für Ausgabelänge und Wiederholungskontrolle bei, sodass der Base-Modus direkt mit dem Gundam-Modus unter konsistenten Generierungsparametern verglichen werden kann.
Die Pipeline wird dann von der Bild-OCR auf die Analyse mehrseitiger PDFs erweitert. Das Tutorial erstellt eine dreiseitige PDF aus den generierten Dokumentbildern und verwendet PyMuPDF, um jede Seite in ein hochauflösendes PNG zu rastern. Die resultierende Seitenbild-Sequenz wird an infer_multi() übergeben, wodurch das Modell das gesamte Dokument in einem einzelnen Inferenzdurchlauf mit langem Horizont analysieren kann. Das n-gram-Wiederholungsfenster wird erweitert, um eine stabile Dekodierung über mehrere Seiten hinweg zu unterstützen.
Nach der Ausführung sowohl der einseitigen als auch der mehrseitigen Inferenz inspectiert das Tutorial die vom Workflow erzeugten Ausgabeverzeichnisse. Es listet jede generierte Datei auf und zeigt Vorschauen der unterstützten Text-, Markdown-, MMD- und JSON-Artefakte an. Zudem enthält es eine kompakte Referenz zur Auswahl der Inferenzmodi mit Empfehlungen für verschiedene Konfigurationen bei dichten Bildern, sauberen Seiten und mehrseitigen PDFs. Die Möglichkeit, Ergebnisse in mehreren strukturierten Formaten zu exportieren – Markdown für Dokumentation, JSON für die nachgelagerte programmgesteuerte Verwendung und MMD für die Diagrammerstellung – macht die Pipeline anpassbar für unterschiedliche Dokumentenverarbeitungsanforderungen.
Der abgeschlossene Workflow demonstriert, wie Unlimited-OCR in Google Colab für detailreiche einseitige Dokumente und längere mehrseitige PDFs verwendet werden kann. Er vergleicht die Gundam- und Base-Inferenzmodi, wandelt PDFs in modellfertige Seitenbilder um, führt eine Dokumentenanalyse mit langem Horizont durch und überprüft die generierten Text-, Markdown- und Hilfsartefakte aus den Ausgabeordnern. Das Setup passt sich zudem an unterschiedliche GPU-Fähigkeiten an und bewahrt dabei die Generierungsparameter, die für eine stabile Dekodierung langer Dokumente erforderlich sind.
MarkTechPost erklärte, dass der Workflow eine wiederverwendbare Grundlage für die Anwendung von Unlimited-OCR auf Berichte, gescannte Formulare, technische Dokumente, Tabellen und andere layoutreiche Inhalte bietet, ohne auf einen separaten herkömmlichen OCR- und Layout-Analyse-Stack angewiesen zu sein. Der vollständige Tutorial-Code ist auf GitHub verfügbar.