模型

一般都是DB(ResNet50_vd) + CRNN(Resnet34_vd、MobileNetV3)

2024 之后会有一些用到视觉模型进行文档 OCR 效果也很好

开源用过的就是魔搭 OFA OCR,效果比阿里云读光商业的还要好一些

腾讯云 API

Cnocr

PaddleOcr

OCR识别不准确问题

文档OCR

技术路线 核心思想 优点 缺点 代表模型
传统级联流水线 将任务拆分为多个独立步骤(检测→识别→版面分析→后处理),串联执行。 - 部署成本低- 技术成熟,灵活性高- 各模块可单独优化 - 误差会逐步累积- 处理链路长,流程复杂 - PaddleOCR-V5- PP-StructureV3- MinerU2-pipeline
模块化专用 VLM(两段式) 先用小模型进行版面分析和阅读排序,再使用专用的小型视觉语言模型(VLM)识别各区域内容。 - 在成本、精度和速度间取得良好平衡- 比流水线精度高,比通用大模型省算力 - 仍需要多步推理 - PaddleOCR-VL- MonkeyOCR-1.5- MinerU2.5
通用多模态大模型(一段式) 将整张文档图像直接输入数百亿参数的通用视觉 - 语言大模型,端到端一步输出结果。 - 效果上限最高,理解能力强- 流程最简单 - GPU 消耗大,推理成本极高- 吞吐量低,响应慢 - Gemini-2.5-Pro- Qwen3-VL-235B- GPT-4o
端到端专用 VLM(一段式) 使用参数量较小的专用 VLM,在一个模型中统一完成版面分析和内容识别。 - 平衡了端到端简洁性和部署成本- 效率高于通用大模型 - 性能可能不及通用大模型或顶级两段式模型 - dots.ocr- Deepseek-OCR- HunyuanOCR
项目名称 优点 缺点
1.cnocr 安装使用方便,对环境的要求不高,检测精准度和识别准确率较高——cnocr 默认是ch_PP-OCRv3_det,这个是飞桨 ocr,用 cnocr 启动方便一些 语言方面有局限性,仅能识别中文简体繁体、英文、数字等,如需识别更高专业度的公式或其他语言需要进行自己的训练。
2.easyocr 安装调用方便,支持识别监测多种语言,识别的精确度尚可 对中文检测的准确度一般,对排版规整的印刷体都有较好的表现,但对于稍有畸变或包含其他字体的图像其效果一般;识别的速度较慢,模型较大,EasyOCR的内存占用较高。
3.mmocr 功能完善,包括文本检测、文本识别、以及端到端的文本识别任务都有给出对应的方法以及详细的说明文档 基于openmmlab的环境安装配置较为繁琐,不适合快速上手
4.paddleocr 方便进行自己的训练:官方给到的训练集非常全,也有常用的合成、标注工具。基本满足个性化训练的场景应用,不需要再自己花时间找,一键下载就行,文档中也有详细的说明;识别准确率较高、速度快 基于paddle框架,并不是目前所使用的主流框架,对未使用过的小白或是需要进行后续开发可能不是很友好,项目整体比较复杂,学习成本较高
5.tesseract tesseract具有良好的可扩展性,用户可以使用自定义训练数据来训练和优化OCR模型,Tesseract还提供了API和接口,方便用户进行二次开发和集成 不是专门针对中文场景且相关文档主要是英文,经过测试感觉其对于复杂字形和字体的识别准确性较低,与其他OCR相比,Tesseract的准确率可能相对较低