Qu’est-ce que franken_ocr ?
franken_ocr fait tourner Unlimited-OCR de Baidu, un modèle de document à mélange d'experts de 3B dérivé de DeepSeek-OCR, sur un CPU ordinaire. Au lieu d'un framework ML général, il porte à la main quelques modèles fixes et quantise les couches feed-forward du décodeur en int8 dans son propre format .focrq, gardant la tour de vision, l'attention et la tête de sortie à une précision plus élevée. L'outil en ligne de commande, focr, se livre comme un binaire de 13 à 17 Mo pour macOS, Linux et Windows en x86-64 et ARM64.
Outre Unlimited-OCR, il fait tourner GOT-OCR2 pour les formules et les tableaux, SmolVLM2 pour la description d'images, OneChart pour les données de graphiques et Polyphonic-TrOMR, qui transforme des partitions scannées en MusicXML. Il lit les PDF scannés nativement, peut parser de nombreuses pages en une passe, et a un mode « robot » NDJSON pour les agents.
Le projet a commencé le 25 juin 2026 et a atteint v0.9.1 le 29 septembre. C'est le travail d'une seule personne, Jeffrey Emanuel (les 792 commits), et il ne fusionne pas les contributions extérieures. La licence est MIT plus un avenant qui n'accorde aucun droit à OpenAI, Anthropic ou quiconque agissant pour eux, raison pour laquelle GitHub ne peut pas la classer et pour laquelle ce n'est pas une licence open source OSI.
franken_ocr vaut-il le coup ?
franken_ocr est construit pour un seul travail : faire tourner un modèle moderne d'analyse de documents sur une machine sans GPU. La pile officielle Unlimited-OCR de Baidu est Python plus CUDA ; celle-ci la remplace par un seul binaire et de l'inférence hors ligne. Dans le registre de performance de l'auteur, sur une machine Apple Silicon à 8 threads, une page a pris 8,6 secondes de bout en bout contre 28,9 secondes pour la référence CPU bf16 de Hugging Face, et une autre 14,7 contre 41,3, environ trois fois plus vite. Ce sont ses mesures, et elles sont exceptionnellement bien documentées, avec les lignes perdantes gardées à côté des gagnantes.
La précision tient sur ses chiffres mais n'est pas parfaite. Une exécution sur une vraie page historique a mesuré un taux d'erreur de caractères de 0,0094 contre le décodage de référence ; l'artefact de la version actuelle passe un corpus de 20 pages à un taux d'erreur normalisé agrégé de 0,193, avec une page difficile qui traîne la queue. L'artefact int8 pour Unlimited-OCR fait environ 4,2 Go sur disque et culmine bien au-dessus, si bien que le README lui-même avertit qu'une machine de 8 Go passera son temps à faire du swap.
La licence est la première chose que les avocats d'une entreprise remarqueront. C'est MIT sauf qu'OpenAI, Anthropic, leurs affiliés et quiconque travaille pour leur compte ne reçoivent aucun droit du tout, y compris pour tester ou analyser le code. C'est peu susceptible de toucher directement la plupart des utilisateurs, mais c'est une licence non standard que les équipes d'achat signaleront, et les prestataires de l'une ou l'autre entreprise sont exclus.
La seconde est le facteur de bus. Chaque commit est celui de l'auteur, il déclare qu'il ne fusionnera pas les pull requests extérieures, les builds depuis les sources ont besoin d'une chaîne d'outils Rust nightly épinglée, et la crate a environ 83 téléchargements sur crates.io. Le travail est soigné et les vérifications de version sont étendues, mais vous adoptez le projet d'une seule personne à ses conditions.
Là où il fait la différence
Un chercheur qui numérise des livres scannés sur un portable de 32 Go sans GPU discret
Transformer des chapitres choisis de PDF scannés en Markdown hors ligne
Installez le binaire, lancez focr pull, puis focr ocr book.pdf --pages 3,5-9 --split-spreads -o excerpt.md. Gratuit ; attendez-vous à des secondes à des dizaines de secondes par page sur CPU, le démon résident gardant les poids chargés entre les exécutions.
Un bibliothécaire musical dans un conservatoire
Convertir des partitions imprimées du domaine public en MusicXML éditable
focr pull tromr, puis focr ocr --task music sur chaque page ; le modèle int8 TrOMR de 61 Mo détecte les portées, reconnaît chacune et les fusionne. Les photos d'appareil ont encore besoin d'un aplanissement d'abord, que l'auteur liste comme travail restant.
Avant de vous engager
- Mise en route
- curl le script d'installation (ou PowerShell sur Windows), qui télécharge et vérifie le SHA256 du binaire ; focr pull récupère et vérifie l'artefact Unlimited-OCR d'environ 4,2 Go. Construire depuis les sources a besoin de la chaîne d'outils Rust nightly épinglée.
- Intégrations
- Bibliothèque Rust avec une API OcrEngine bloquante, le CLI focr, un mode robot NDJSON avec un schéma publié et des codes de sortie stables ; sortie Markdown, JSON avec boîtes, découpes de figures et MusicXML.
- Données et confidentialité
- L'inférence est hors ligne une fois les poids installés ; l'usage du réseau est limité à focr pull. L'historique d'exécution est journalisé dans une base de données locale (~/.cache/franken_ocr/runs.db). La licence est MIT avec un avenant excluant OpenAI, Anthropic et quiconque agit pour eux.
- Coût à grande échelle
- Pas d'édition payante ; le coût est le temps CPU. Le registre de l'auteur montre des pages uniques prenant environ 9 à 15 secondes sur 8 threads Apple Silicon, si bien que les gros volumes favorisent encore une pile GPU comme vLLM.
- Limites
- CPU uniquement par conception (CUDA est un « objectif ambitieux reporté ») ; cinq modèles fixes, pas des modèles arbitraires ; l'int4 n'est pas validé ; environ 83 téléchargements crates.io et un projet âgé de seulement quatre mois.
Les points forts
- Fait tourner Unlimited-OCR sur CPU, sans Python, CUDA ni GPU
- Le registre de l'auteur montre environ 3x plus rapide que le chemin CPU de Hugging Face
- Binaires de 13 à 17 Mo pour six plateformes avec vérifications SHA256
- Modèles supplémentaires pour les formules, les graphiques et les partitions
Les points faibles
- Licence personnalisée excluant OpenAI, Anthropic et leurs prestataires
- Mainteneur unique qui ne fusionne pas les contributions extérieures
- Artefact de modèle d'environ 4,2 Go ; les machines de 8 Go font du swap
- Les builds depuis les sources ont besoin de Rust nightly
Idéal pour
Les développeurs individuels et petites équipes qui ont besoin de la qualité d'Unlimited-OCR sur des machines CPU uniquement et sont à l'aise avec un projet d'un seul auteur et sa licence.
Alternatives à franken_ocr
franken_ocr : questions fréquentes
- franken_ocr vaut-il le coup ?
- franken_ocr est une sérieuse pièce d'ingénierie qui met Unlimited-OCR sur un CPU de portable, enveloppée dans une licence et un modèle de gouvernance que la plupart des entreprises n'accepteront pas. Nous lui donnons 3.5 sur 5.
- Combien coûte franken_ocr ?
- Gratuit sous la licence MIT avec un avenant d'exclusion OpenAI/Anthropic ; les poids des modèles portent leurs licences amont (Unlimited-OCR est MIT).
- Quels sont les inconvénients de franken_ocr ?
- Licence personnalisée excluant OpenAI, Anthropic et leurs prestataires; mainteneur unique qui ne fusionne pas les contributions extérieures; artefact de modèle d'environ 4,2 Go ; les machines de 8 Go font du swap; les builds depuis les sources ont besoin de Rust nightly.
- À qui s’adresse franken_ocr ?
- Les développeurs individuels et petites équipes qui ont besoin de la qualité d'Unlimited-OCR sur des machines CPU uniquement et sont à l'aise avec un projet d'un seul auteur et sa licence.
- Combien coûte franken_ocr pour une équipe ou en production ?
- Pas d'édition payante ; le coût est le temps CPU. Le registre de l'auteur montre des pages uniques prenant environ 9 à 15 secondes sur 8 threads Apple Silicon, si bien que les gros volumes favorisent encore une pile GPU comme vLLM.
- franken_ocr est-il sûr pour les données de l’entreprise ?
- L'inférence est hors ligne une fois les poids installés ; l'usage du réseau est limité à focr pull. L'historique d'exécution est journalisé dans une base de données locale (~/.cache/franken_ocr/runs.db). La licence est MIT avec un avenant excluant OpenAI, Anthropic et quiconque agit pour eux.
- Quelles sont les meilleures alternatives à franken_ocr ?
- Les alternatives les plus proches que nous avons testées sont deepseek-ocr.rs, Xberg (formerly Kreuzberg), Ocrs et Docling.
Réponses vérifiées le 26 oct. 2026.