[!NOTE] Automatische vertaling Dit artikel is automatisch vertaald vanuit de oorspronkelijke Engelse versie.
Het definitieve handboek over OCR in 2026: Van Pipelines tot VLMs
OCR Leaderboards verschillen van elkaar omdat ze verschillende documenten en uitvoerresultaten testen. judges. Een vroege versie uit 2026 snapshot van OmniDocBench en OCR Arena levert zeer verschillende resultaten op. model Ordeningen: de scores zijn niet onderling uitwisselbaar, maar het verschil in mening is nuttig. Een productiekeuze vereist documenten en metrics uit de daadwerkelijke werklast.
Vision-language models (VLMs) is in staat om lay-outs, handschrift, tabellen en beschadigde afbeeldingen te verwerken – elementen die een gewone tekstherkennings pipeline in de war brengen. Traditionele systemen blijven concurrerend wanneer het om schone afgedrukte teksten gaat, vooral wanneer CPU latency en de operationele kosten van belang zijn. Gespecialiseerde models zoals punten.ocr De algemene VLMs-oplossingen nemen de middelste en bovenste segmenten in, waarbij verschillende afwegingen zijn tussen hardware, privacy en kwaliteit.
Traditionele engines blijven de snelste en goedkoopste optie voor schone, gedrukte documenten. Geen enkele model is in alle situaties superieur, waardoor deze gids eerst gaat over evaluatie, vervolgens over de model selectie en uiteindelijk over de productie deployment.
Begeleidend repo: De OCR Gauntlet — een demo in één notebook die 5 documenttypen vergelijkt op 3 model niveaus (Tesseract → dots.ocr → Gemini 3 Flash), om de grote kwaliteitsverschillen en de kosten-batenafwegingen zichtbaar te maken.
TL;DR: Begin met het controleren op een ingebouwde tekstlaag. Benchmark een traditionele engine voor schone scans, en voeg vervolgens een gespecialiseerde of algemene VLM toe alleen voor documenttypen die het kwaliteitsdoel niet halen. Vergelijk de metrics voor tekst, tabellen en velden apart, en stuur velden met lage zekerheid of hoge risico’s door naar een andere model of een mens.
OCR stelt nu de kwaliteit van de downstream-processen in
OCR wordt al lange tijd gebruikt voor het beheren van archieven, postsystemen, toegankelijkheidshulpmiddelen en documentbeheersystemen. Dankzij RAG en agents konden meer ingenieurs de foutmodi ervan waarnemen: een downstream model kan de tekst of tabelstructuur die tijdens het extraheren is weggegooid, niet herstellen.
De retrieval-kwaliteit van uw RAG-systeem wordt beperkt door de kwaliteit van OCR. Als het extraheren een tabel verstoort, een datum verkeerd interpreteert of een paragraaf weglaat, kunnen latere chunking- en embedding-aanpassingen de ontbrekende informatie niet herstellen. Dezelfde fout kan er ook toe leiden dat een contractbepaling verborgen blijft, de totaalbedrag op een factuur verandert of een medisch dossier beschadigd raakt. OCR-fouten hebben gevolgen voor elke beslissing die daarna wordt genomen.
OCR maakt derhalve deel uit van de infrastructuur van retrieval en agent, naast parsing, chunking, embedding en indexeren. De fouten die hierbij optreden moeten apart worden geëvalueerd, in plaats van opgenomen te worden in één enkele eind-tot-eind-score.
Wat OCR betekent in het tijdperk van foundation models
OCR is verder ontwikkeld dan zijn oorspronkelijke definitie van “gedrukte tekst omzetten in machineleesbare tekens”. Tegenwoordig gaat het om documentintelligentie: het extraheren van tekst, structuur, tabellen, formules en semantische betekenis uit elke visuele invoer. Het veld evolueert van “OCR-1.0” (modulaire pipelines) naar “OCR-2.0”, waarbij één end-to-end model alle stappen afhandelt.
De traditionele OCR pipeline kent drie kernfases:
- Tekstdetectie: het lokaliseren van gebieden die tekst bevatten (bijv. CRAFT, DBNet).
- Teksterkenning: het omzetten van de gedetecteerde gebieden in karaktersequenties (bijv. CRNN).
- Na-verwerking: spellingcontrole en correctie van de model-taal.
Dit werkt goed voor schone documenten, maar fouten bij detectie, herkenning en postverwerking kunnen zich opstapelen. Meet zowel de nauwkeurigheid van de tekens als de nauwkeurigheid van de onderliggende velden, zodat een leesbare pagina geen verkeerde totaalwaarde of identificator verbergt.
OCR-2.0 zet een groter deel van die pipeline om in een visieencoder gecombineerd met een taaldecoder. Models zoals GOT-OCR 2.0 kunnen tekst en structuur tegelijk genereren, terwijl algemene VLMs-modellen ook velden kunnen koppelen aan een opgevraagd schema. De afwegingen hebben betrekking op workload-specifieke latency-, GPU- of API-kosten, evenals het risico op plausibele tekst die niet in de afbeelding voorkomt.
Een praktische waarschuwing: laat je niet misleiden door het “end-to-end”-etiket. In productie is OCR-2.0 alleen geunificeerd op het herkenningsniveau. Je hebt nog steeds PDF-rasterisatie nodig om afbeeldingen te genereren, evenals normalisatie van de afbeeldingen (kanteling corrigeren, DPI aanpassen) voor een consistente kwaliteit, en parsing van de uitvoer om gestructureerde velden uit de tekst van de model te halen. De pipeline is korter geworden, maar niet verdwenen.
Wat OCR benchmarks meet en wat wordt over het hoofd gezien
De volgende datasets geven aan hoe verschillende OCR taken tot verschillende metrics leiden. De scores zijn gedateerd snapshots op basis van hun respectievelijke leaderboards, in plaats van een actuele, gekruiste dataset rangschikking:
| Dataset | Jaar | Testgrootte | Talen | Primair metrisch criterium | Hoogste score | Saturatie |
|---|---|---|---|---|---|---|
| FUNSD | 2019 | 50 documenten | Engels | F1 | ~93.5% | Modereren |
| SROIE | 2019 | 347 facturen | Engels | F1 | ~98.7% | bijna verzadigd |
| CORD | 2019 | 100 bonnen | Indonesisch | F1 | ~98.2% | bijna verzadigd |
| IAM | 1999 | Ongeveer 1.861 regels | Engels | CER | ~2.75% | Modereren |
| OCRBench v2 | 2024 | 1.500 privé | EN + CN | Score /100 | 63.4 | Laag |
| OmniDocBench | 2024 | 1.355 pagina’s | EN + CN | Samengestelde | 94.62 | Laag-matig |
Het verschil tussen “benchmark” en arena
Geautomatiseerde rangschikkingen op basis van benchmark kunnen in strijd komen met menselijke voorkeuren, aangezien de invoerverdeling en de beoordelingscriteria verschillen.
| Model | Gesignaleerd OmniDocBench metriek | OCR Arena ELO | Arena-winstpercentage | Observatie |
|---|---|---|---|---|
| GLM-OCR | 94.62 | 1321 | 18.8% | Hoge testbank, lage arena |
| Gemini 2.5 Pro | 88.03 | 1569 | — | Goede testomgeving, goede testarena |
| Gemini 3 Flash | 0,115 ED (lager = beter) | 1770 | 77.2% | Een hoge rang in de arena voor snapshot |
| DeepSeek-OCR | Goed | 1335 | 20.2% | Hoge testbank, lage testomgeving |
In het begin van 2026 OCR Arena De hier gebruikte snapshot maakte het mogelijk dat gebruikers blindelings stemden op de uitkomsten van head-to-head vergelijkingen. De volgorde daarvan verschilde van OmniDocBench. De twee tabellen mogen niet worden samengevoegd tot één score, aangezien de ene tabel gebruikmaakt van dataset-metrieken en de andere tabel van voorkeurstemmen.
Tot de waarschijnlijke bepalende factoren behoren de combinatie van documenten, de uitvoerformaat, de taaldekking en de criteria van judge. Gepubliceerde cijfers zijn nuttig voor het screenen, maar voor de definitieve selectie is een apart gehouden dataset uit de doelwerkload nodig.
Traditionele OCR-machines: nog steeds relevant
Als traditionele engines slechter presteren op complexe gegevens, waarom worden ze dan nog gebruikt? Omdat ze snel en goedkoop zijn bij schone, gestructureerde gegevens.
| Motor | Er is melding gemaakt van CPU latency | Precisie van schone uitvoer | Talen | Het kleinste gemelde pakket |
|---|---|---|---|---|
| Tesseract 5.5 | ~0,5 s/pagina | 98–99% nauwkeurigheid bij het vertalen van tekens. | 100+ | ~30 MB |
| Ongeveer 2 seconden per pagina | Een karakternauwkeurigheid van 95–97%. | 80+ | ~200 MB | |
| PaddleOCR v5 | Ongeveer 1 seconde per pagina | 97–99% nauwkeurigheid bij het vertalen van tekens | 106+ | 3,5 MB (mobiel) |
Tesseract voor schone afbeeldingen
Tesseract (v5.5.x, Apache 2.0) is een geavanceerde engine die uitsluitend CPU ondersteunt en beschikt over meer dan 100 taalpakketten. De nauwkeurigheid bij het lezen van duidelijk afgedrukte tekst kan hoog zijn na adequate rasterisatie en voorverwerking, maar handschrift, tekst in omgevingen met veel afleidingen en complexe lay-outs vereisen aparte testen. Zijn grootste voordeel is een kleine, lokale CPU deployment, in plaats van een universele voorsprong op het gebied van nauwkeurigheid.
EasyOCR
EasyOCR koppelt een CRAFT-detector aan een CRNN-herkenningsmodule. Dankzij volledige PyTorch GPU-versnelling is het een snelle optie voor snel prototyperen en het herkennen van tekst in scènes.
import easyocr
# Three lines for complete OCR
reader = easyocr.Reader(["en"])
result = reader.readtext("receipt.jpg")
# Returns: [(bbox, text, confidence), ...]
PaddleOCR
PaddleOCR (PP-OCRv5) bevat pakketten voor detectie, herkenning en deployment componenten. De bijbehorende documentatie geeft aan dat het systeem meer dan 106 talen ondersteunt, evenals een compacte mobiele model versie voor gebruik op edge-apparaten. Controleer de exacte kwaliteit van het model artefact en de ondersteunde talen voor de geselecteerde release.
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_angle_cls=True, lang="en")
result = ocr.ocr("receipt.jpg", cls=True)
for line in result[0]:
bbox, (text, confidence) = line
if confidence > 0.85:
print(f"{text} ({confidence:.2f})")
Gespecialiseerde en algemene VLM opties
Vervormde facturen, afwijkende productlabels, handgeschreven tekst en overvolle lay-outs zijn situaties waarin gespecialiseerde of algemene VLMs zinvol zijn om te vergelijken met traditionele engines.
De gespecialiseerde OCR-golf
Gespecialiseerde documentparsingtools models die in 2025–2026 worden uitgebracht, omvatten:
- dots.ocr (1,7 miljard): Een open-source model die detectie van lay-out, herkenning en leesvolgorde met elkaar verenigt. Het rapport omvat meer dan 100 talen en biedt uitstekende functionaliteit. OmniDocBench Resultaten.
- GOT-OCR 2.0: Een geunificeerde model met 580 miljoen parameters die draait op één enkele consumer GPU (~4 GB VRAM) en Markdown-, LaTeX- en gestructureerde notaties genereert.
- DeepSeek-OCR (3B): Introduceert “contextuele optische compressie” om de visuele tokens te verminderen. Beschouw de throughput-figuren hiervan als hardware- en dataset-specifiek.
- Mistral OCR v3: Een proprietair dienst voor het extraheren van tekst en structuur. De prijzen en benchmark-cijfers kunnen veranderen, dus controleer altijd de meest recente model-kaart en de voorwaarden van de provider bij een vergelijking.
Frontier VLMs
Algemene VLMs zijn een andere optie wanneer de taak extractie combineert met visuele of semantische reasoning. De onderstaande voorbeelden weerspiegelen de situatie van het artikel eind 2026 snapshot, en niet de huidige ranglijst:
- Qwen3-VL (Alibaba): Een open-weight VLM-familie met verschillende groottes en varianten die langere contexten kunnen verwerken.
- Gemini 3 Flash (Google): Een gehost multimodale model die hoge scores behaalde in de genoemde OCR Arena snapshot.
- Claude Opus 4.6 (Anthropic): Een gehost algemene VLM met ondersteuning voor gestructureerde uitvoer.
- GPT-5.2 (OpenAI): Een gehost algemene VLM die zowel visuele als tekstuele invoer kan verwerken.
Latency per niveau
De onderstaande bereiken zijn planning-plaatshouders. Meet ze opnieuw aan de hand van de daadwerkelijke paginaresolutie, batchgrootte, hardware of regio van de provider, en de uitvoerlengte:
| Niveau | Voorbeeld | Latency/pagina | Hardware |
|---|---|---|---|
| Traditioneel | Tesseract, PaddleOCR | 0,5–3 seconden | CPU |
| Gespecialiseerde VLM | punten.ocr, GOT-OCR | 3–8 seconden | GPU |
| Frontier VLM | Gemini Flash, GPT-5.2 | 5–15 seconden | API |
Metrieken: het meten van wat belangrijk is
Kies een metriek die overeenkomt met het uitvoertype:
- CER en WER voor gewone tekst. De karakter- en woordfoutmarges hangen af van keuzes met betrekking tot normalisatie, zoals hoofdletters, witruimte en interpunctie; stel daarom het vergelijkingsprotocol bij voordat u models vergelijkt.
- EMR en Field F1 voor formulieren en bonnen. De exacte match-marge is binair, wat ideaal is voor belastingidentificaties en totaalsommen. Field F1 biedt een balans tussen nauwkeurigheid en herkenningsratio per veldtype.
- TEDS voor tabellen. De tree edit distance, gebaseerd op HTML-tree-representaties, detecteert meervoudige misalignments tussen cellen die door CER worden verborgen.
- ANLS voor document-VQA. De gemiddelde gecentraliseerde Levenshtein-similariteit geeft gedeeltelijke punten voor antwoorden met milde OCR-fouten.
Voor implementaties: jiwer verwerkt CER/WER standaard, en de TEDS-implementaties bevinden zich in de OmniDocBench-repo.
Testen van VLMs met OpenRouter
OpenRouter Het biedt een OpenAI-compatibele gateway naar models van verschillende aanbieders. De Model-identificaties en de ondersteunde verzoekfuncties kunnen veranderen; controleer ze dus tegen het huidige catalogus van de gateway voordat u het voorbeeld uitvoert.
import base64
from openai import OpenAI
client = OpenAI(base_url="https://openrouter.ai/api/v1", api_key="your-key")
def extract_text(image_path: str, model: str) -> str:
with open(image_path, "rb") as f:
image_b64 = base64.b64encode(f.read()).decode()
response = client.chat.completions.create(
model=model,
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Extract all text from this image, preserving layout as markdown."},
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_b64}"}},
],
}],
max_tokens=4096,
)
return response.choices[0].message.content
# Compare models by changing one string
models = ["google/gemini-3-flash", "anthropic/claude-sonnet-4.5", "qwen/qwen3-vl-8b"]
for model in models:
print(f"\n--- {model} ---\n{extract_text('receipt.jpg', model)[:200]}...")
Voor gestructureerde extractie, gebruik response_format met een JSON schema wanneer de geselecteerde model en de gateway dit ondersteunen. Dit kan ervoor zorgen dat het antwoord parsbaar is; er wordt geen validatie uitgevoerd op de uitgehaalde waarden ten opzichte van de afbeelding:
import json
response = client.chat.completions.create(
model="google/gemini-3-flash",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Extract the receipt fields from this image."},
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_b64}"}},
],
}],
max_tokens=4096,
response_format={
"type": "json_schema",
"json_schema": {
"name": "receipt",
"schema": {
"type": "object",
"properties": {
"vendor": {"type": "string"},
"date": {"type": "string"},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {"type": "string"},
"amount": {"type": "number"},
},
},
},
"total": {"type": "number"},
},
},
},
},
)
receipt = json.loads(response.choices[0].message.content)
Benchmark resultaten: wat de cijfers daadwerkelijk aantonen
De tabel hieronder is een gedateerde snapshot uit de OmniDocBench leaderboard en Punten.ocr paper (arXiv:2512.02498). Het vergelijkt de in die evaluatie gerapporteerde resultaten, en niet de huidige model versies:
| Model | Grootte | Text Edit Dist (EN) | Table TEDS | Algemeen |
|---|---|---|---|---|
| PaddleOCR-VL | 0,9 miljard | 0.035 | 90.89 | 92.86 |
| punten.ocr | 1,7 miljard | 0.048 | 86.78 | 88.41 |
| — | 0.075 | 85.71 | 88.03 | |
| MinerU (pipeline) | — | 0.209 | 70.90 | 75.51 |
| GPT-4o | — | 0.217 | 67.07 | 75.02 |
In deze snapshot scoren PaddleOCR-VL en dots.ocr boven de genoemde algemene VLMs. De conclusie is beperkt tot OmniDocBench: alleen de model-grootte kan niet voorspellen wat de score voor documentparsing zal zijn.
🔧 Voer het zelf uit: De OCR Gauntlet Het betreft één enkel uitvoerbaar notebook dat vijf verschillende documenttypen (schoon factuur, verkreukeld bonnetje, handgeschreven formulier, academisch artikel en meertalig document) test op drie verschillende niveaus (Tesseract → dots.ocr → Gemini 3 Flash), waarbij de CER/EMR-waarden naast elkaar worden weergegeven samen met een kostenanalyse.
Het implementeren van OCR in productieomgevingen
Een gestapelde architectuur maakt het mogelijk om de voorverwerking van CPU te scheiden van GPU of API inference, zodat dure verwerkingsroutes kunnen worden gereserveerd voor documenten die deze nodig hebben.
Opmerking over orchestration: Hulpmiddelen zoals Docling kunnen de conversie, batchverwerking en herproberingen coördineren. De routing-richtlijn heeft nog steeds eigen kwaliteitslabels en drempelwaarden nodig.
Het gestapelde fallback-patroon
Begin met het goedkoopste pad dat aan het kwaliteitsdoel voldoet, en kalibreer vervolgens routing op gelaagde pagina’s:
- Controleer op ingebedte tekst (Niveau 0). Voor PDF’s moet de tekstlaag worden geïnspecteerd met
PyMuPDFofpdfplumberVoor het rasteriseren moet eerst worden gecontroleerd of de laag compleet is en in de juiste volgorde ligt. - Probeer het met een snelle model. Gebruik een traditionele engine voor documentklassen waarvoor deze voldoet aan de vereisten.
- Beoordeel de gecalibreerde betrouwbaarheid. Combineer de model-betrouwbaarheid met de documentklasse, de criticiteit van het veld en de validatieregels.
- Stuur het door naar een krachtigere model. Stuur onzekere pagina’s door naar een gespecialiseerde of algemene VLM.
- Stuur fouten met hoge risico’s door naar een mens. Menselijke controle is nodig voor gevallen waarbij de kosten van fouten groter zijn dan de voordelen van automatisering.
Opmerking over de betrouwbaarheid: De ruwe karakterwaarschijnlijkheden zijn niet automatisch afgesteld op de correctheid van het veld. De hieronder beschreven gebiedsgewogen functie dient als basis voor de aggregatie op paginaniveau, en is geen universele router. Stel deze functie af aan de hand van gelabelde pagina’s, en stel voor kritieke velden aparte regels vast, aangezien een gemiddelde per pagina een verkeerde ID of totaal kan verhullen.
def area_weighted_confidence(ocr_result):
"""Compute area-weighted confidence from PaddleOCR output."""
total_area, weighted_sum = 0, 0
for line in ocr_result[0]:
bbox, (text, conf) = line
width = bbox[1][0] - bbox[0][0]
height = bbox[2][1] - bbox[1][1]
area = abs(width * height)
weighted_sum += conf * area
total_area += area
return weighted_sum / total_area if total_area > 0 else 0
Kostenanalyse op grote schaal
Er bestaat geen universele breukpunt voor het aantal pagina’s tussen het gebruik van API en zelfhosting. Stel de vergelijking op op basis van dezelfde werklast:
| Kostencomponent | API pad | Zelf gehoste pad |
|---|---|---|
| Inference | Huidige prijs gebaseerd op de pagina of token | GPU – uren per gemeten pagina/uur |
| Idle capaciteit | Meestal door de provider opgenomen | Utilisatie en capaciteitsruimte |
| Ingenieurswerk | Integratie en monitoring van providers | Deployment, upgrades, observability, en 24/7 ondersteuning |
| Gegevensverwerking | Overdracht, opslag en regiobegrippen | Beheersmaatregelen voor opslag, netwerk en conformiteit |
| Fouten op het gebied van kwaliteit | Herproberingen en menselijke beoordeling | Herproberingen en menselijke beoordeling |
Gebruik een gedeelde formule: monthly pages × cost per successful page + review cost + fixed operating costEen “succesvolle pagina” moet aan dezelfde criteria met betrekking tot tekst, tabellen en velden voldoen op beide paden. De prijzen van providers en de huurkosten voor GPU veranderen te snel om ze als betrouwbare inschatting voor inkoopdoeleinden te kunnen gebruiken.
Foutbeheer: het probleem met hallucination
VLM-fouten kunnen contextueel plausibel overkomen, terwijl ze feitelijk onjuist zijn. Een totaalbedrag op een bon van “$42.50” kan bijvoorbeeld veranderen in “$45.20”: dit is syntactisch correct, maar ontgaat een spelfoutcontroleerder.
Voorbeeld van synthetische fout: Een VLM haalt drie posten uit de factuur en een genoemd totaal op die met elkaar overeenkomen, maar één cijfer wijkt af van het beeld. De interne rekenoperaties slagen, ook al is de extractie incorrect. Daarom heeft validatie labels die gebaseerd zijn op het beeld of een aparte review-route nodig, in plaats van alleen controle op consistentie.
Enkele praktische mitigatiemaatregelen:
- Validatie van checksums. Voor facturen moet worden gecontroleerd of de bedragen van de individuele posten samen overeenkomen met het vermelde totaal, en moeten afwijkingen worden gemarkeerd ter menselijke beoordeling.
- Regex-controles voor data (geen maand 13), telefoonnummers (juiste aantal cijfers) en valutavormaten.
- Vergelijking van individuele posten met het totaal. De uit het VLM gehaalde subtotal moet worden vergeleken met een apart opgemaakte som van de daarin opgenomen posten.
- Dubbele model-verificatie. Belangrijke velden moeten worden gecontroleerd via twee verschillende models-processen, waarbij meningsverschillen moeten worden gemarkeerd.
- Onafhankelijke OCR-controle. Belangrijke getallen moeten opnieuw worden geëxtraheerd via een andere methode, en eventuele verschillen moeten worden gemarkeerd. Overeenstemming geeft pas vertrouwen wanneer de twee methoden verschillende foutpatronen vertonen; dit is geen bewijs van correctheid.
Belangrijkste conclusies
- Vergelijk het model-niveau met een geclassificeerde documentklasse. Traditionele engines zijn voldoende voor schoon tekst; gespecialiseerde en algemene VLMs-oplossingen moeten hun hogere kosten rechtvaardigen op moeilijkere pagina’s.
- Fusioneer geen verschillende leaderboard‑structuren. De metrics van OmniDocBench en de voorkeuren van OCR Arena beantwoorden verschillende vragen.
- Kalibreer routing. Confidentie‑schwellen, documentklassen, het belang van velden en de beleidsregels voor menselijke review moeten allemaal onderdeel zijn van één evaluatie.
- Valideer plausibele uitvoer. Schema‑conformiteit en interne rekenkundige bewerkingen kunnen niet aantonen dat een waarde daadwerkelijk in de afbeelding voorkomt.
- Bepaal de prijs voor succesvolle pagina’s. Houd rekening met herproberingen, reviews, gefixte acties en kwaliteitscontroles wanneer je APIs vergelijkt met zelfhosting.
Voorverwerking en detectie blijven belangrijk, maar in productieomgevingen vereist OCR nu ook routing, evaluatie specifiek voor de taak, en maatregelen tegen plausibele fouten bij extractie.
Referenties
- OCR Leidersbord van de arena - Crowdsourced, head-to-head model gevechten Het OCR Gauntlet-repo - Een uitvoerbaar notebook voor het testen van de drie-laagse OCR-architectuur
- OmniDocBench - Eind-tot-eind documentparsing eval
- puntjes.ocr - 1,7 miljard parameters, geïntegreerde VLM documentparser PaddleOCR - De traditionele OCR toolkit en models
- OpenRouter - Geunificeerde toegangspoort voor A/B testing models