You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

14 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

一、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-OCRv4PP-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 设置为 732

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 峰值 VRAM 用量MB 平均 VRAM 用量MB
v5_mobile 0.56 1162 106.02 1576.43 1420.83 18.95 4342.00
v4_mobile 0.27 2246 111.20 1392.22 1318.76 28.90 1304.00
v5_server 0.70 929 105.31 1634.85 1428.55 36.21 5402.00
v4_server 0.44 1418 106.96 1455.34 1346.95 58.82 6760.00

GPU使用高性能推理

配置 平均每图耗时s 平均每秒预测字符数量 平均 CPU 利用率(% 峰值 RAM 用量MB 平均 RAM 用量MB 峰值 VRAM 用量MB 平均 VRAM 用量MB
v5_mobile 0.50 1301 106.50 1338.12 1155.86 11.97 4112.00
v4_mobile 0.21 2887 114.09 1113.27 1054.46 15.22 2072.00
v5_server 0.60 1084 105.73 1980.73 1776.20 22.10 12150.00
v4_server 0.36 1687 104.15 1186.42 1065.67 38.12 13058.00

CPU不使用高性能推理

配置 平均每图耗时s 平均每秒预测字符数量 平均 CPU 利用率(% 峰值 RAM 用量MB 平均 RAM 用量MB
v5_mobile 1.43 455 798.93 11695.40 6829.09
v4_mobile 1.09 556 813.16 11996.30 6834.25
v5_server 3.79 172 799.24 50216.00 27902.40
v4_server 4.22 148 803.74 51428.70 28593.60

CPU使用高性能推理

配置 平均每图耗时s 平均每秒预测字符数量 平均 CPU 利用率(% 峰值 RAM 用量MB 平均 RAM 用量MB
v5_mobile 1.14 571 339.68 3245.17 2560.55
v4_mobile 0.68 892 443.00 3057.38 2329.44
v5_server 3.56 183 797.03 45664.70 26905.90
v4_server 4.22 148 803.74 51428.70 28593.60

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

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

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

GPU不使用高性能推理

配置 平均每图耗时s 平均每秒预测字符数量 平均 CPU 利用率(% 峰值 RAM 用量MB 平均 RAM 用量MB 峰值 VRAM 用量MB 平均 VRAM 用量MB
base 0.56 1162 106.02 1576.43 1420.83 18.95 4342.00
with_textline 0.59 1104 105.58 1765.64 1478.53 19.48 4350.00
with_all 1.02 600 104.92 1924.23 1628.50 10.96 2632.00

CPU不使用高性能推理

配置 平均每图耗时s 平均每秒预测字符数量 平均 CPU 利用率(% 峰值 RAM 用量MB 平均 RAM 用量MB
base 1.43 455 798.93 11695.40 6829.09
with_textline 1.50 434 799.47 12007.20 6882.22
with_all 1.93 316 646.49 11759.60 6940.54

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

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 设置为 1280
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 设置为 1280
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 峰值 VRAM 用量MB 平均 VRAM 用量MB
mobile_min_1280 0.61 1071 109.12 1663.71 1439.72 19.27 4202.00
mobile_min_736 0.56 1162 106.02 1576.43 1420.83 18.95 4342.00
mobile_max_960 0.48 1313 103.49 1587.25 1395.48 19.37 2642.00
mobile_max_640 0.42 1436 103.07 1651.14 1422.62 18.95 2530.00
server_min_1280 0.82 795 107.17 1678.16 1428.94 40.43 10368.00
server_min_736 0.70 929 105.31 1634.85 1428.55 36.21 5402.00
server_max_960 0.59 1073 103.03 1590.19 1383.62 33.42 2928.00
server_max_640 0.54 1099 102.63 1602.09 1416.49 30.77 3152.00

CPU不使用高性能推理

配置 平均每图耗时s 平均每秒预测字符数量 平均 CPU 利用率(% 峰值 RAM 用量MB 平均 RAM 用量MB
mobile_min_1280 1.64 398 799.45 12344.10 7100.60
mobile_min_736 1.43 455 798.93 11695.40 6829.09
mobile_max_960 1.21 521 800.13 11099.10 6369.49
mobile_max_640 1.01 597 802.52 9585.48 5573.52
server_min_1280 4.48 145 800.49 50683.10 28273.30
server_min_736 3.79 172 799.24 50216.00 27902.40
server_max_960 2.67 237 797.63 49362.50 26075.60
server_max_640 2.36 251 795.18 45656.10 24900.80

五、部署与二次开发

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