文档图像文本提取技术与OCR应用解析

50 阅读2分钟

使用Marker和OCR从文档和图像中提取文本

Datalab先进的文档解析和文本提取模型现已上线某平台。

模型功能

Marker可将PDF、DOCX、PPTX、图像等格式转换为Markdown或JSON。它能够格式化表格、数学公式和代码,提取图像,并在传入JSON Schema时提取特定字段。

OCR支持从图像和文档中检测90种语言的文本,并返回阅读顺序和表格网格。

Marker模型基于流行的开源Marker项目(29k GitHub星标),OCR基于Surya(19k GitHub星标)。

使用示例

运行Marker

import replicate

output = replicate.run(
    "datalab-to/marker",
    input={
        "file": open("report.pdf", "rb"),
        "mode": "balanced",  # fast / balanced / accurate
        "include_metadata": True,  # 返回页面级JSON元数据
    },
)
print(output["markdown"][:400])

运行OCR

import replicate

output = replicate.run(
    "datalab-to/ocr",
    input={
        "file": open("receipt.jpg", "rb"),
        "visualize": True,  # 返回带有检测文本红色多边形标注的输入图像
        "return_pages": True,  # 返回布局数据
    },
)
print(output["text"][:200])

结构化提取

Marker的一个强大功能是结构化提取。例如,可以从发票中提取特定字段:

import json
import replicate

schema = {
    "type": "object",
    "properties": {
        "vendor": {"type": "string"},
        "invoice_number": {"type": "string"},
        "date": {"type": "string"},
        "total": {"type": "number"}
    }
}

output = replicate.run(
    "datalab-to/marker",
    input={
        "file": "https://multimedia-example-files.replicate.dev/replicator-invoice.1page.pdf",
        "page_schema": json.dumps(schema),
    }
)
structured_data = json.loads(output["extraction_schema_json"])
print(structured_data)

性能表现

使用olmOCR-Bench基准测试评估Marker性能,该数据集包含1,403个PDF文件和7,010个测试用例,评估OCR系统将PDF文档准确转换为Markdown格式的能力。

Marker在所有测试模型中表现最佳,超越了GPT-4o、Deepseek OCR、Mistral OCR和olmOCR。

模型ArXiv旧扫描文档数学表格旧扫描文档页眉页脚多列长小文本基础总体
Datalab Marker (平衡模式)81.480.389.450.088.381.091.699.982.7 ± 0.9
Datalab Marker (快速模式)83.869.774.832.386.679.485.799.676.5 ± 1.0
Mistral OCR API77.267.560.629.393.671.377.199.472.0 ± 1.1
Deepseek OCR75.267.979.132.996.166.378.597.774.2 ± 1.0
Nanonets OCR67.068.677.739.540.769.953.499.364.5 ± 1.1
GPT-4o (锚定)53.574.570.040.793.869.360.696.869.9 ± 1.1
Gemini Flash 2 (锚定)54.556.172.134.264.761.571.595.663.8 ± 1.2
Qwen 2.5 VL (无锚定)63.165.767.338.673.668.349.198.365.5 ± 1.2
olmOCR v0.3.078.679.972.943.995.177.381.298.978.5 ± 1.1

价格信息

Marker定价:

  • 快速和平衡模式下,不使用page_schema时每1000页4美元
  • 使用page_schema进行结构化提取时每1000页6美元
  • 精确模式下每1000页6美元

OCR定价为每1000页2美元。