mind-ware/dots-ocr-with-confidence

Multilingual document parser that unifies layout detection and content recognition

Public
28 runs

Run time and cost

This model runs on Nvidia H100 GPU hardware. We don't yet have enough runs of this model to provide performance information.

Readme

dots.ocr with confidence scores

🇬🇧 English

Advanced multilingual OCR model with per-word confidence scoring for document parsing, text extraction, and quality assessment.

Overview

This enhanced version of DOTS OCR adds confidence scoring capabilities to the original model, enabling quality assessment of extracted text. The model combines layout detection and content recognition in a single vision-language architecture, delivering state-of-the-art performance on text recognition, table extraction, and reading order tasks across 100+ languages.

Key Features

  • Confidence Scoring: Get per-word confidence scores to identify potentially incorrect extractions
  • Multilingual Support: Process documents in 100+ languages with excellent accuracy
  • Layout Understanding: Recognizes document structure including paragraphs, tables, lists, and headers
  • Multiple Prompt Modes: Flexible extraction options for different document types
  • Bounding Box Support: Extract text from specific regions of interest

Use Cases

  • Document Quality Control: Identify low-confidence extractions that need manual review
  • Automated Document Processing: Process invoices, receipts, and forms with quality assurance
  • Archival Digitization: Convert scanned documents while tracking accuracy
  • Multilingual Content Extraction: Process documents in multiple languages reliably
  • Table and Structure Extraction: Parse complex layouts with confidence metrics

Examples

Basic Text Extraction

import replicate

output = replicate.run(
    "mind-ware/dots-ocr-with-confidence",
    input={
        "image": open("document.jpg", "rb"),
        "return_confidence": True,
        "confidence_threshold": 0.7
    }
)

print(f"Extracted text: {output['text']}")
print(f"Average confidence: {output['avg_confidence']:.2f}")
print(f"Low confidence words: {output['low_confidence_count']}")

Extract Text from Specific Region

output = replicate.run(
    "mind-ware/dots-ocr-with-confidence",
    input={
        "image": "https://example.com/invoice.pdf",
        "prompt_mode": "grounding_ocr",
        "bbox": "100,50,400,300",  # x1,y1,x2,y2
        "return_confidence": True
    }
)

Structured Layout Analysis

output = replicate.run(
    "mind-ware/dots-ocr-with-confidence",
    input={
        "image": open("report.png", "rb"),
        "prompt_mode": "layout_all",
        "return_confidence": True
    }
)

# Check word-level confidence
for word_data in output['word_confidences']:
    if word_data['confidence'] < 0.7:
        print(f"Low confidence: '{word_data['word']}' ({word_data['confidence']:.2f})")

Tips for Best Results

Improve Accuracy

  • Use high-resolution images (300 DPI or higher for scanned documents)
  • Ensure good contrast between text and background
  • Straighten rotated or skewed documents before processing
  • Remove blur and noise from images when possible

Working with Confidence Scores

  • Set confidence_threshold between 0.6-0.8 for most documents
  • Review words flagged as low confidence manually
  • Lower thresholds (0.3-0.5) for handwritten or degraded documents
  • Higher thresholds (0.8-0.9) for critical applications requiring high accuracy

Prompt Modes

  • Use prompt_mode=None for simple text extraction
  • Use prompt_mode='layout_all' when document structure matters
  • Use prompt_mode='grounding_ocr' with bbox to extract specific regions
  • Use prompt_mode='custom' with custom_prompt for specialized extraction needs

Performance Optimization

  • Process multiple pages asynchronously for faster throughput
  • Use lower max_tokens values when extracting short documents
  • Enable return_confidence only when you need quality assessment

Technical Details

Built on a compact 1.7B parameter vision-language foundation, this model achieves state-of-the-art performance while maintaining faster inference speeds than larger competing models. The confidence scoring mechanism analyzes the model’s internal token probabilities to provide reliable quality metrics for each extracted word.

Limitations

  • Very low-quality or heavily degraded images may produce unreliable confidence scores
  • Handwritten text generally has lower confidence than printed text
  • Artistic fonts and stylized text may be challenging to recognize accurately
  • The model works best with document images; natural scene text may have reduced accuracy

🇮🇹 Italiano

Modello OCR multilingue avanzato con punteggi di confidenza per parola, ideale per analisi documentale, estrazione di testo e valutazione della qualità.

Panoramica

Questa versione migliorata di DOTS OCR aggiunge funzionalità di scoring di confidenza al modello originale, permettendo la valutazione della qualità del testo estratto. Il modello combina rilevamento del layout e riconoscimento del contenuto in un’unica architettura vision-language, offrendo prestazioni all’avanguardia nel riconoscimento del testo, estrazione di tabelle e analisi dell’ordine di lettura in oltre 100 lingue.

Caratteristiche Principali

  • Punteggi di Confidenza: Ottieni punteggi di confidenza per ogni parola per identificare potenziali errori di estrazione
  • Supporto Multilingue: Elabora documenti in oltre 100 lingue con eccellente accuratezza
  • Comprensione del Layout: Riconosce la struttura del documento inclusi paragrafi, tabelle, liste e intestazioni
  • Modalità Prompt Multiple: Opzioni di estrazione flessibili per diversi tipi di documento
  • Supporto Bounding Box: Estrai testo da specifiche regioni di interesse

Casi d’Uso

  • Controllo Qualità Documenti: Identifica estrazioni a bassa confidenza che richiedono revisione manuale
  • Elaborazione Automatica Documenti: Processa fatture, ricevute e moduli con garanzia di qualità
  • Digitalizzazione Archivi: Converti documenti scannerizzati tracciando l’accuratezza
  • Estrazione Contenuti Multilingue: Processa documenti in più lingue in modo affidabile
  • Estrazione Tabelle e Strutture: Analizza layout complessi con metriche di confidenza

Esempi

Estrazione Testo Base

import replicate

output = replicate.run(
    "mind-ware/dots-ocr-with-confidence",
    input={
        "image": open("documento.jpg", "rb"),
        "return_confidence": True,
        "confidence_threshold": 0.7
    }
)

print(f"Testo estratto: {output['text']}")
print(f"Confidenza media: {output['avg_confidence']:.2f}")
print(f"Parole a bassa confidenza: {output['low_confidence_count']}")

Estrazione da Regione Specifica

output = replicate.run(
    "mind-ware/dots-ocr-with-confidence",
    input={
        "image": "https://example.com/fattura.pdf",
        "prompt_mode": "grounding_ocr",
        "bbox": "100,50,400,300",  # x1,y1,x2,y2
        "return_confidence": True
    }
)

Analisi Layout Strutturato

output = replicate.run(
    "mind-ware/dots-ocr-with-confidence",
    input={
        "image": open("report.png", "rb"),
        "prompt_mode": "layout_all",
        "return_confidence": True
    }
)

# Controlla la confidenza per parola
for word_data in output['word_confidences']:
    if word_data['confidence'] < 0.7:
        print(f"Bassa confidenza: '{word_data['word']}' ({word_data['confidence']:.2f})")

Consigli per Risultati Ottimali

Migliorare l’Accuratezza

  • Usa immagini ad alta risoluzione (300 DPI o superiore per documenti scannerizzati)
  • Assicura un buon contrasto tra testo e sfondo
  • Raddrizza documenti ruotati o inclinati prima dell’elaborazione
  • Rimuovi sfocatura e rumore dalle immagini quando possibile

Lavorare con i Punteggi di Confidenza

  • Imposta confidence_threshold tra 0.6-0.8 per la maggior parte dei documenti
  • Rivedi manualmente le parole segnalate come a bassa confidenza
  • Soglie più basse (0.3-0.5) per documenti manoscritti o degradati
  • Soglie più alte (0.8-0.9) per applicazioni critiche che richiedono alta accuratezza

Modalità Prompt

  • Usa prompt_mode=None per semplice estrazione di testo
  • Usa prompt_mode='layout_all' quando la struttura del documento è importante
  • Usa prompt_mode='grounding_ocr' con bbox per estrarre regioni specifiche
  • Usa prompt_mode='custom' con custom_prompt per esigenze di estrazione specializzate

Ottimizzazione delle Prestazioni

  • Elabora più pagine in modo asincrono per maggiore velocità
  • Usa valori max_tokens più bassi quando estrai documenti brevi
  • Abilita return_confidence solo quando hai bisogno di valutazione della qualità

Dettagli Tecnici

Basato su una fondazione vision-language compatta da 1.7B parametri, questo modello raggiunge prestazioni all’avanguardia mantenendo velocità di inferenza superiori rispetto a modelli concorrenti più grandi. Il meccanismo di scoring di confidenza analizza le probabilità interne dei token del modello per fornire metriche di qualità affidabili per ogni parola estratta.

Limitazioni

  • Immagini di qualità molto bassa o molto degradate potrebbero produrre punteggi di confidenza inaffidabili
  • Il testo manoscritto ha generalmente confidenza più bassa rispetto al testo stampato
  • Font artistici e testo stilizzato potrebbero essere difficili da riconoscere con accuratezza
  • Il modello funziona meglio con immagini di documenti; il testo in scene naturali potrebbe avere accuratezza ridotta
Model created
Model updated