Construire un pipeline OCR de bout en bout avec Unlimited-OCR de Baidu pour les images et les PDF
Points clés
- •MarkTechPost a publié un tutoriel pour exécuter le modèle vision-langage Unlimited-OCR de 3 milliards de paramètres de Baidu sur des images de documents et des PDF multipages dans Google Colab.
- •Unlimited-OCR effectue une compréhension de documents de bout en bout, réduisant la dépendance aux étapes distinctes de détection de texte, de reconnaissance et d'analyse de la mise en page requises par les moteurs OCR traditionnels.
- •Le tutoriel compare le mode Gundam, qui utilise des découpes d'images en tuiles pour les denses mises en page, au mode Base, qui utilise une seule vue de 1024 pixels pour un traitement plus rapide des pages propres.
- •Le pipeline s'étend à l'analyse de PDF multipages en rastérisant les pages avec PyMuPDF et en les transmettant à une fonction d'inférence à long horizon avec des contrôles de répétition élargis pour un décodage stable.
- •Les résultats peuvent être exportés dans plusieurs formats structurés, notamment Markdown, JSON et MMD, prenant en charge les flux de travail de documentation, d'utilisation programmatique et de rendu de diagrammes.

Un tutoriel publié par MarkTechPost décrit comment construire un flux de travail complet pour exécuter le modèle Unlimited-OCR de Baidu sur des images de documents et des PDF multipages. Le pipeline est conçu pour Google Colab et couvre la configuration de l'environnement, l'installation des dépendances, le chargement du modèle, la génération de documents d'exemple, l'OCR sur page unique et l'analyse de PDF multipages. Unlimited-OCR s'inscrit dans une tendance plus large vers les modèles vision-langage qui gèrent la compréhension de documents dans un système unique de bout en bout, réduisant le besoin des pipelines multi-étapes — détection de texte, reconnaissance et analyse de la mise en page — utilisés par les moteurs OCR traditionnels.
Le flux de travail commence par la configuration d'un environnement d'exécution compatible GPU et l'installation des bibliothèques nécessaires à l'inférence Unlimited-OCR. Il vérifie qu'un GPU compatible CUDA est disponible, puis sélectionne automatiquement bfloat16 ou float16 selon le support matériel. Le tutoriel charge le tokenizer et le modèle vision-langage de 3 milliards de paramètres depuis Hugging Face, passe le modèle en mode évaluation et le déplace sur le GPU pour l'inférence. L'hébergement du modèle sur Hugging Face permet aux développeurs de charger directement les poids pré-entraînés, supprimant le besoin d'entraîner ou d'affiner un modèle de reconnaissance de documents à partir de zéro.
Pour créer des entrées de test reproductibles, le tutoriel configure les répertoires d'entrée et de sortie requis et génère trois pages de documents d'exemple réalistes avec PIL. Ces pages incluent des titres, des paragraphes, des tableaux et des notes de bas de page, permettant au pipeline de tester la reconnaissance sur un contenu structuré et riche en mise en page plutôt que sur de simples blocs de texte. La première page générée est prévisualisée avec Matplotlib avant d'être transmise au flux de travail OCR.
Pour l'OCR sur image unique, le tutoriel utilise d'abord le mode Gundam, qui combine une vue globale du document avec des découpes d'images en tuiles. Dans cette configuration, crop_mode est activé et une taille de tuile plus petite est utilisée pour préserver le texte fin et améliorer la reconnaissance sur les denses mises en page. Le flux de travail applique également des paramètres de génération à longue sortie et des contrôles de répétition afin que le modèle puisse produire un résultat stable et structuré lors du traitement de documents complexes.
Le même document est ensuite traité avec le mode Base, qui utilise une seule vue d'image de 1024 pixels. Le découpage d'image est désactivé dans ce mode pour réduire la complexité d'inférence et améliorer la vitesse de traitement sur les pages propres et clairement imprimées. Le tutoriel conserve les mêmes paramètres de longueur de sortie et de contrôle de répétition afin que le mode Base puisse être comparé directement avec le mode Gundam sous des paramètres de génération cohérents.
Le pipeline est ensuite étendu de l'OCR d'image à l'analyse de PDF multipages. Le tutoriel crée un PDF de trois pages à partir des images de documents générées et utilise PyMuPDF pour rastériser chaque page en un PNG haute résolution. La séquence d'images de page résultante est transmise à infer_multi(), permettant au modèle d'analyser le document complet en une seule opération d'inférence à long horizon. La fenêtre de répétition n-gram est élargie pour maintenir un décodage stable sur plusieurs pages.
Après avoir exécuté les inférences sur page unique et multipages, le tutoriel inspecte les répertoires de sortie produits par le flux de travail. Il liste chaque fichier généré et affiche des aperçus des artefacts pris en charge au format texte, Markdown, MMD et JSON. Il inclut également une référence concise pour la sélection des modes d'inférence, recommandant différentes configurations pour les images denses, les pages propres et les PDF multipages. La possibilité d'exporter les résultats dans plusieurs formats structurés — Markdown pour la documentation, JSON pour une utilisation programmatique en aval et MMD pour le rendu de diagrammes — rend le pipeline adaptable à différents besoins de traitement de documents.
Le flux de travail terminé démontre comment Unlimited-OCR peut être utilisé dans Google Colab pour des documents d'une page à forte densité de détails et des PDF multipages plus longs. Il compare les modes d'inférence Gundam et Base, convertit les PDF en images de page prêtes pour le modèle, effectue une analyse de documents à long horizon et examine le texte généré, le Markdown et les artefacts auxiliaires dans les dossiers de sortie. La configuration s'adapte également aux différentes capacités de GPU tout en préservant les paramètres de génération nécessaires à un décodage stable des documents longs.
MarkTechPost a indiqué que le flux de travail fournit une base réutilisable pour appliquer Unlimited-OCR aux rapports, formulaires numérisés, documents techniques, tableaux et autres contenus riches en mise en page sans s'appuyer sur une pile distincte d'OCR traditionnel et d'analyse de mise en page. Le code complet du tutoriel est disponible sur GitHub.