Topdu/OpenOCR
OpenOCR: An Open-Source Toolkit for General-OCR Research and Applications, integrates a unified training and evaluation benchmark, commercial-grade OCR and Document Parsing systems, and faithful reproductions of the core implementations from a wide range of academic papers.
OpenOCR – 通用开源 OCR 工具包
简介 – OpenOCR 是复旦大学 FVL 实验室开发的开源库,整合了用于通用光学字符识别 (OCR) 的最先进模型与流程。它涵盖了整个文档理解技术栈:版面检测、文本行检测、纯文本、数学公式与表格的识别,以及端到端的文件解析。
核心组件
| 组件 | 功能 | 大小 / 特点 |
|---|---|---|
| OpenDoc‑0.1B | 超轻量级文档解析器 (约 0.1B 参数)。两阶段:使用 PP‑DocLayoutV2 进行版面分析 + 使用 UniRec‑0.1B 进行统一识别。支持中英文,在 OmniDocBench v1.5 上得分 90.57%。 | 0.1B 参数,HuggingFace/ModelScope 演示 |
| UniRec‑0.1B | 单一模型,可识别纯文本、单行与多行公式以及表格。从零开始在 UniRec40M 数据集上训练(无预训练)。 | 0.1B 参数,论文 [arXiv 2512.21095] |
| OpenOCR (SVTRv2) | 基于 SVTRv2 识别器构建的完整 OCR 系统。在百度 AI Studio 竞赛中超越 PP‑OCRv4 4.5%,同时保持相似速度。提供服务器级与移动设备级检查点及 ONNX 导出。 | 使用 SVTRv2 (基于 CTC 的场景文本识别器) |
| SVTRv2 | 底层识别器架构 (ICCV 2025)。在大型 Union14M‑L‑Filter 数据集上训练,比合成数据基准准确度提升 20‑30%,在任意形状文本上优于编码器-解码器模型。 | 论文 [arXiv 2411.15858] |
为何选择 OpenOCR
- 混合内容的统一处理 – 大多数 OCR 工具包将文本与公式分开处理;UniRec‑0.1B 将它们整合处理,简化了科学文档的处理流程。
- 轻量级模型 – 小于 100M 参数的检查点使得在边缘设备或低资源服务器上部署成为可能。
- 研究就绪 – 仓库提供训练脚本、配置文件以及基于 Union14M 的基准测试,实现场景文本与文档 OCR 的可重现实验。
- 开放生态 – 模型发布于 HuggingFace 与 ModelScope,代码采用开放授权,鼓励社区贡献。
入门指南
- Clone 仓库并从 PyPI 安装
openocr-python包。 - 依照 Quick‑Start markdown (
QUICKSTART.md) 在本地或通过提供的 HuggingFace/ModelScope 空间执行演示。 - 若需处理自定义数据,请参考微调指南 (
finetune_det.md,finetune_rec.md)。 - 若需要框架无关的推理,请导出为 ONNX。
典型应用场景
- 科学论文数字化(文本 + 公式 + 表格)。
- 自动化处理版面多变的票据/收据。
- 建立支持多语言的可搜索文档库。
- 场景文本识别研究,特别是任意形状文本。
资源
- 文档:
docs/(OpenDoc, UniRec, OpenOCR, SVTRv2)。 - 模型卡:README 中的 HuggingFace 与 ModelScope 链接。
- 数据集:UniRec40M (HF) 与 Union14M‑L‑Filter (文档链接)。
- 论文:UniRec‑0.1B 与 SVTRv2 的 arXiv 链接。
所有信息均直接取自仓库的 README;未添加任何外部假设。
相关
- 项目
- Dispatch
- 项目
- 项目
- 项目