跳转至

一、PP-OCRv5简介

PP-OCRv5 是PP-OCR新一代文字识别解决方案,该方案聚焦于多场景、多文字类型的文字识别。在文字类型方面,PP-OCRv5支持简体中文、中文拼音、繁体中文、英文、日文5大主流文字类型,在场景方面,PP-OCRv5升级了中英复杂手写体、竖排文本、生僻字等多种挑战性场景的识别能力。在内部多场景复杂评估集上,PP-OCRv5较PP-OCRv4端到端提升13个百分点。

二、关键指标

1. 文本检测指标

模型 手写中文 手写英文 印刷中文 印刷英文 繁体中文 古籍文本 日文 通用场景 拼音 旋转 扭曲 艺术字 平均
PP-OCRv5_server_det 0.803 0.841 0.945 0.917 0.815 0.676 0.772 0.797 0.671 0.8 0.876 0.673 0.827
PP-OCRv4_server_det 0.706 0.249 0.888 0.690 0.759 0.473 0.685 0.715 0.542 0.366 0.775 0.583 0.662
PP-OCRv5_mobile_det 0.744 0.777 0.905 0.910 0.823 0.581 0.727 0.721 0.575 0.647 0.827 0.525 0.770
PP-OCRv4_mobile_det 0.583 0.369 0.872 0.773 0.663 0.231 0.634 0.710 0.430 0.299 0.715 0.549 0.624

对比PP-OCRv4,PP-OCRv5在所有检测场景下均有明显提升,尤其在手写、古籍、日文检测能力上表现更优。

2. 文本识别指标

评估集类别 手写中文 手写英文 印刷中文 印刷英文 繁体中文 古籍文本 日文 易混淆字符 通用场景 拼音 竖直文本 艺术字 加权平均
PP-OCRv5_server_rec 0.5807 0.5806 0.9013 0.8679 0.7472 0.6039 0.7372 0.5946 0.8384 0.7435 0.9314 0.6397 0.8401
PP-OCRv4_server_rec 0.3626 0.2661 0.8486 0.6677 0.4097 0.3080 0.4623 0.5028 0.8362 0.2694 0.5455 0.5892 0.5735
PP-OCRv5_mobile_rec 0.4166 0.4944 0.8605 0.8753 0.7199 0.5786 0.7577 0.5570 0.7703 0.7248 0.8089 0.5398 0.8015
PP-OCRv4_mobile_rec 0.2980 0.2550 0.8398 0.6598 0.3218 0.2593 0.4724 0.4599 0.8106 0.2593 0.5924 0.5555 0.5301

单模型即可覆盖多语言和多类型文本,识别精度大幅领先前代产品和主流开源方案。

三、PP-OCRv5 Demo示例

更多示例

四、推理性能参考数据

测试环境:

  • NVIDIA Tesla V100
  • Intel Xeon Gold 6271C
  • PaddlePaddle 3.0.0

在 200 张图像(包括通用图像与文档图像)上测试。测试时从磁盘读取图像,因此读图时间及其他额外开销也被包含在总耗时内。如果将图像提前载入到内存,可进一步减少平均每图约 25 ms 的时间开销。

如果不特别说明,则:

  • 使用 PP-OCRv4_mobile_det 和 PP-OCRv4_mobile_rec 模型。
  • 不使用文档图像方向分类、文本图像矫正、文本行方向分类。
  • text_det_limit_type 设置为 "min"text_det_limit_side_len 设置为 736

1. PP-OCRv5 与 PP-OCRv4 推理性能对比

配置 说明
v5_mobile 使用 PP-OCRv5_mobile_det 和 PP-OCRv5_mobile_rec 模型。
v4_mobile 使用 PP-OCRv4_mobile_det 和 PP-OCRv4_mobile_rec 模型。
v5_server 使用 PP-OCRv5_server_det 和 PP-OCRv5_server_rec 模型。
v4_server 使用 PP-OCRv4_server_det 和 PP-OCRv4_server_rec 模型。

GPU:

配置 平均每图耗时(s) 平均每秒预测字符数量 平均 CPU 利用率(%) 峰值 RAM 用量(MB) 平均 RAM 用量(MB) 平均 GPU 利用率(%) 峰值 VRAM 用量(MB) 平均 VRAM 用量(MB)
v5_mobile 0.62 1054.23 106.35 1829.36 1521.92 17.42 4190.00 3114.02
v4_mobile 0.29 2062.53 112.21 1713.10 1456.14 26.53 1304.00 1166.68
v5_server 0.74 878.84 105.68 1899.80 1569.46 34.39 5402.00 4683.93
v4_server 0.47 1322.06 108.06 1773.10 1518.94 55.25 6760.67 5788.02

CPU:

配置 平均每图耗时(s) 平均每秒预测字符数量 平均 CPU 利用率(%) 峰值 RAM 用量(MB) 平均 RAM 用量(MB)
v5_mobile 1.75 371.82 965.89 2219.98 1830.97
v4_mobile 1.37 444.27 1007.33 2090.53 1797.76
v5_server 4.34 149.98 990.24 4020.85 3137.20
v4_server 5.42 115.20 999.03 4018.35 3105.29

说明:PP-OCRv5 的识别模型使用了更大的字典,需要更长的推理时间,导致 PP-OCRv5 的推理速度慢于 PP-OCRv4。

2. 使用辅助功能对 PP-OCRv5 推理性能的影响

配置 说明
base 不使用文档图像方向分类、文本图像矫正、文本行方向分类。
with_textline 使用文本行方向分类,不使用文档图像方向分类、文本图像矫正。
with_all 使用文档图像方向分类、文本图像矫正、文本行方向分类。

GPU:

配置 平均每图耗时(s) 平均每秒预测字符数量 平均 CPU 利用率(%) 峰值 RAM 用量(MB) 平均 RAM 用量(MB) 平均GPU利用率(%) 峰值 VRAM 用量(MB) 平均 VRAM 用量(MB)
base 0.62 1054.23 106.35 1829.36 1521.92 17.42 4190.00 3114.02
with_textline 0.64 1012.32 106.37 1867.69 1527.42 19.16 4198.00 3115.05
with_all 1.09 562.99 105.67 2381.53 1792.48 10.77 2480.00 2065.54

CPU:

配置 平均每图耗时(s) 平均每秒预测字符数量 平均 CPU 利用率(%) 峰值 RAM 用量(MB) 平均 RAM 用量(MB)
base 1.75 371.82 965.89 2219.98 1830.97
with_textline 1.87 347.61 972.08 2232.38 1822.13
with_all 3.13 195.25 828.37 2751.47 2179.70

说明:文本图像矫正等辅助功能会对端到端推理精度造成影响,因此并不一定使用的辅助功能越多、资源用量越大。

3. 文本检测模块输入缩放尺寸策略对 PP-OCRv5 推理性能的影响

配置 说明
mobile_min_1280 使用 PP-OCRv5_mobile_det 和 PP-OCRv5_mobile_rec 模型,将 text_det_limit_type 设置为 "min"text_det_limit_side_len 设置为 1280
mobile_min_736 使用 PP-OCRv5_mobile_det 和 PP-OCRv5_mobile_rec 模型,将 text_det_limit_type 设置为 "min"text_det_limit_side_len 设置为 736
mobile_max_960 使用 PP-OCRv5_mobile_det 和 PP-OCRv5_mobile_rec 模型,将 text_det_limit_type 设置为 "max"text_det_limit_side_len 设置为 960
mobile_max_640 使用 PP-OCRv5_mobile_det 和 PP-OCRv5_mobile_rec 模型,将 text_det_limit_type 设置为 "max"text_det_limit_side_len 设置为 640
server_min_1280 使用 PP-OCRv5_server_det 和 PP-OCRv5_server_rec 模型,将 text_det_limit_type 设置为 "min"text_det_limit_side_len 设置为 1280
server_min_736 使用 PP-OCRv5_server_det 和 PP-OCRv5_server_rec 模型,将 text_det_limit_type 设置为 "min"text_det_limit_side_len 设置为 736
server_max_960 使用 PP-OCRv5_server_det 和 PP-OCRv5_server_rec 模型,将 text_det_limit_type 设置为 "max"text_det_limit_side_len 设置为 960
server_max_640 使用 PP-OCRv5_server_det 和 PP-OCRv5_server_rec 模型,将 text_det_limit_type 设置为 "max"text_det_limit_side_len 设置为 640

GPU:

配置 平均每图耗时(s) 平均每秒预测字符数量 平均 CPU 利用率(%) 峰值 RAM 用量(MB) 平均 RAM 用量(MB) 平均GPU利用率(%) 峰值 VRAM 用量(MB) 平均 VRAM 用量(MB)
mobile_min_1280 0.66 985.77 109.52 1878.74 1536.43 18.01 4050.00 3407.33
mobile_min_736 0.62 1054.23 106.35 1829.36 1521.92 17.42 4190.00 3114.02
mobile_max_960 0.52 1206.68 104.01 1795.27 1484.73 18.66 2490.00 2173.91
mobile_max_640 0.45 1353.49 103.32 1728.91 1470.64 18.55 2378.00 1998.62
server_min_1280 0.86 759.10 107.81 1876.31 1572.20 37.33 10368.00 8287.41
server_min_736 0.74 878.84 105.68 1899.80 1569.46 34.39 5402.00 4683.93
server_max_960 0.64 988.85 103.61 1831.31 1544.26 30.29 2929.33 2079.90
server_max_640 0.57 1036.90 102.89 1838.36 1532.50 28.91 3153.33 2743.40

CPU:

配置 平均每图耗时(s) 平均每秒预测字符数量 平均 CPU 利用率(%) 峰值 RAM 用量(MB) 平均 RAM 用量(MB)
mobile_min_1280 2.00 326.44 976.83 2233.16 1867.94
mobile_min_736 1.75 371.82 965.89 2219.98 1830.97
mobile_max_960 1.49 422.62 969.11 2048.67 1677.82
mobile_max_640 1.31 459.11 978.41 2023.25 1616.42
server_min_1280 5.57 117.08 991.34 4452.39 3286.19
server_min_736 4.34 149.98 990.24 4020.85 3137.20
server_max_960 3.39 186.59 984.67 3492.62 2977.13
server_max_640 2.95 201.00 980.59 3342.38 2935.24

五、部署与二次开发

  • 多系统支持:兼容Windows、Linux、Mac等主流操作系统。
  • 多硬件支持:除了英伟达GPU外,还支持Intel CPU、昆仑芯、昇腾等新硬件推理和部署。
  • 高性能推理插件:推荐结合高性能推理插件进一步提升推理速度,详见高性能推理指南
  • 服务化部署:支持高稳定性服务化部署方案,详见服务化部署指南
  • 二次开发能力:支持自定义数据集训练、字典扩展、模型微调。举例:如需增加韩文识别,可扩展字典并微调模型,无缝集成到现有产线,详见文本检测模块使用教程文本识别模块使用教程