--- tags: - ocr - image-to-text license: mit library_name: transformers --- # Model Card: PHOCR 高性能文字识别工具包 [PHOCR](https://github.com/puhuilab/phocr). # PHOCR: [English](README.md) | [简体中文](README_CN.md) PHOCR 是一个高性能的开源光学字符识别(OCR)工具包,专为多语种文本识别任务设计,支持包括中文、日文、韩文、俄文、越南文和泰文在内的多种语言。**PHOCR 搭载了我们完全自研的识别模型 PH-OCRv1,在准确率上显著优于现有解决方案。** ## 背景动机 当前基于下一个 token 预测的模型结构对上下文 token 的准确性非常敏感。即使仅有千次重复的模式,也可能导致模型产生永久性记忆。虽然大多数开源文字识别模型目前的字符错误率(CER)仍处于百分位水平,我们的目标是将其进一步提升至千分位(0.x%)。在这一精度下,对于处理 1 亿字符的系统,总错误字符数将下降至100万内,达到数量级的准确率提升。 ## 主要特性 - **自研识别模型**:**PH-OCRv1**,可在文档场景中实现千分位CER,英文场景下甚至可达0.0x%。 - **多语种支持**:支持中文、英文、日文、韩文、俄文等多种语言。 - **丰富词表覆盖**:中文 15316,韩文 17388,日文 11186,俄文 292。 - **高性能推理**:深度优化的模型结构,集成 ONNX Runtime 支持。 - **轻松集成**:提供简洁的 Python API。 - **跨平台**:支持 CPU 与 CUDA 环境。 ## 可视化效果 ## 安装方式 ```bash # 请选择以下 **一种** 安装方式: # 方法一:安装带 ONNX Runtime CPU 版本 pip install phocr[cpu] # 方法二:安装带 ONNX Runtime GPU 版本 pip install phocr[cuda] # 必须:确保已正确安装 CUDA Toolkit 和 cuDNN 库 # 你可以通过 conda 安装 cuda-runtime和cuDNN: conda install -c nvidia cuda-runtime=12.1 cudnn=9 # 或者手动安装对应版本的 CUDA Toolkit 和 cuDNN 库 # 方法三:手动管理 ONNX Runtime # 你可以自行安装 `onnxruntime` 或 `onnxruntime-gpu`,然后再安装 PHOCR pip install phocr ``` ## 快速开始 ```python from phocr import PHOCR # 初始化 OCR 引擎 engine = PHOCR() # 对图像进行 OCR 识别 result = engine("path/to/image.jpg") print(result) # 可视化结果 result.vis("output.jpg") print(result.to_markdown()) ``` ## 性能基准测试 我们进行了全面的基准测试,将 PHOCR 与领先的 OCR 解决方案在多种语言和场景下进行比较。**我们自研的 PH-OCRv1 模型在现有解决方案基础上实现了显著改进。** ### 整体性能对比
模型 | 中文 & 英文 CER ↓ |
日文 CER ↓ |
韩文 CER ↓ |
俄文 CER ↓ |
|||||
---|---|---|---|---|---|---|---|---|---|
英文 | 简体中文 | 中英混合 | 繁体中文 | 文档 | 场景 | 文档 | 场景 | 文档 | |
PHOCR | 0.0008 | 0.0057 | 0.0171 | 0.0145 | 0.0039 | 0.0197 | 0.0050 | 0.0255 | 0.0046 |
百度 | 0.0014 | 0.0069 | 0.0354 | 0.0431 | 0.0222 | 0.0607 | 0.0238 | 0.212 | 0.0786 |
阿里 | - | - | - | - | 0.0272 | 0.0564 | 0.0159 | 0.102 | 0.0616 |
PPOCR V5 | 0.011 | 0.060 | 0.032 | 0.061 | - | - | - | - | - |
PP-OCRv5 | 0.0149 | 0.0226 | 0.0722 | 0.0625 | 0.0490 | 0.1140 | 0.0113 | 0.0519 | 0.0348 |