跳转至

一、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

4. 产线基准测试数据

点击展开/折叠表格
流水线配置硬件平均推理时间 (s)峰值CPU利用率 (%)平均CPU利用率 (%)峰值主机内存 (MB)平均主机内存 (MB)峰值GPU利用率 (%)平均GPU利用率 (%)峰值设备内存 (MB)平均设备内存 (MB)
OCR-default Intel 6271C 3.97 1015.40 917.61 4381.22 3457.78 N/A N/A N/A N/A
Intel 8350C 3.79 1022.50 921.68 4675.46 3585.96 N/A N/A N/A N/A
Intel 8350C + A100 0.65 113.50 102.48 2240.15 1868.44 47 19.60 7612.00 6634.15
Intel 6271C + V100 1.06 114.90 103.05 2142.66 1791.43 72 20.01 5516.00 4812.81
Intel 8563C + H20 0.65 108.90 101.95 2456.05 2080.26 100 36.52 6736.00 6017.05
Intel 8350C + A10 0.74 115.90 102.22 2352.88 1993.39 100 25.56 6762.00 6039.93
Intel 6271C + T4 1.17 107.10 101.78 2361.88 1986.61 100 51.11 5282.00 4585.10
OCR-nopp-mobile Intel 6271C 1.39 1019.60 1007.69 2178.12 1873.73 N/A N/A N/A N/A
Intel 8350C 1.15 1015.70 1006.87 2184.91 1916.85 N/A N/A N/A N/A
Hygon 7490 + P800 0.35 110.80 103.77 2022.49 1808.11 N/A N/A N/A N/A
Intel 8350C + A100 0.27 110.90 103.80 1762.36 1525.04 31 19.30 4328.00 3356.30
Intel 6271C + V100 0.55 113.80 103.68 1728.02 1470.52 38 18.59 4198.00 3199.12
Intel 8563C + H20 0.22 111.90 103.99 2073.88 1876.14 32 20.25 4386.00 3435.86
Intel 8350C + A10 0.31 119.90 104.24 2037.38 1771.06 52 32.74 3446.00 2733.21
M4 6.51 147.30 106.24 3550.58 3236.75 N/A N/A N/A N/A
Intel 6271C + T4 0.46 111.90 103.11 2035.38 1742.39 65 46.77 3968.00 2991.91
OCR-nopp-server Intel 6271C 3.00 1016.00 1004.87 4445.46 3179.86 N/A N/A N/A N/A
Intel 8350C 3.23 1010.70 1002.63 4175.39 3137.58 N/A N/A N/A N/A
Intel 8350C + A100 0.34 110.90 103.30 1904.99 1591.10 57 32.29 7494.00 6551.47
Intel 6271C + V100 0.69 108.90 102.95 1808.30 1568.64 72 35.30 5410.00 4741.18
Intel 8563C + H20 0.38 109.40 102.34 2100.00 1863.73 100 50.18 6614.00 5926.51
Intel 8350C + A10 0.41 109.00 103.18 2055.21 1845.14 100 47.15 6654.00 5951.22
Intel 6271C + T4 0.82 104.40 101.73 1906.88 1689.69 100 76.41 5178.00 4502.64
OCR-nopp-min736-mobile Intel 6271C 1.41 1020.10 1008.14 2184.16 1911.86 N/A N/A N/A N/A
Intel 8350C 1.20 1015.70 1007.08 2254.04 1935.18 N/A N/A N/A N/A
Hygon 7490 + P800 0.36 112.90 104.29 2174.58 1827.67 N/A N/A N/A N/A
Intel 8350C + A100 0.27 113.90 104.48 1717.55 1529.77 30 19.54 4328.00 3388.44
Intel 6271C + V100 0.57 118.80 104.45 1693.10 1470.74 40 19.83 4198.00 3206.91
Intel 8563C + H20 0.22 113.40 104.66 2037.13 1797.10 31 20.64 4384.00 3427.91
Intel 8350C + A10 0.31 119.30 106.05 1879.15 1732.39 49 30.40 3446.00 2751.08
M4 6.39 124.90 107.16 3578.98 3209.90 N/A N/A N/A N/A
Intel 6271C + T4 0.47 109.60 103.26 1961.40 1742.95 60 44.26 3968.00 3002.81
OCR-nopp-min736-server Intel 6271C 3.26 1068.50 1004.96 4582.52 3135.68 N/A N/A N/A N/A
Intel 8350C 3.52 1010.70 1002.33 4723.23 3209.27 N/A N/A N/A N/A
Intel 8350C + A100 0.35 108.90 103.94 1703.65 1485.50 60 35.54 7492.00 6576.97
Intel 6271C + V100 0.71 110.80 103.54 1800.06 1559.28 78 36.65 5410.00 4741.55
Intel 8563C + H20 0.40 110.20 102.75 2012.64 1843.45 100 55.74 6614.00 5940.44
Intel 8350C + A10 0.44 114.90 103.87 2002.72 1773.17 100 49.28 6654.00 5980.68
Intel 6271C + T4 0.89 105.00 101.91 2149.31 1795.35 100 76.39 5176.00 4528.77
OCR-nopp-max640-mobile Intel 6271C 1.00 1033.70 1005.95 2021.88 1743.27 N/A N/A N/A N/A
Intel 8350C 0.88 1043.60 1006.77 1980.82 1724.51 N/A N/A N/A N/A
Hygon 7490 + P800 0.28 125.70 101.56 1962.27 1782.68 N/A N/A N/A N/A
Intel 8350C + A100 0.21 122.50 101.87 1772.39 1569.55 29 18.74 2360.00 2039.07
Intel 6271C + V100 0.43 133.80 101.82 1636.93 1464.10 37 20.94 2386.00 2055.30
Intel 8563C + H20 0.18 119.90 102.12 2119.93 1889.49 29 20.92 2636.00 2321.11
Intel 8350C + A10 0.24 126.80 101.78 1905.14 1739.93 48 30.71 2232.00 1911.18
M4 7.08 137.80 104.83 2931.08 2658.25 N/A N/A N/A N/A
Intel 6271C + T4 0.36 124.80 101.70 1983.21 1729.43 61 46.10 2162.00 1836.63
OCR-nopp-max960-mobile Intel 6271C 1.21 1020.00 1008.49 2200.30 1800.74 N/A N/A N/A N/A
Intel 8350C 1.01 1024.10 1007.32 2038.80 1800.05 N/A N/A N/A N/A
Hygon 7490 + P800 0.32 107.50 102.00 2001.21 1799.01 N/A N/A N/A N/A
Intel 8350C + A100 0.23 107.70 102.33 1727.89 1490.18 30 20.19 2646.00 2385.40
Intel 6271C + V100 0.49 109.90 102.26 1726.01 1504.90 38 20.11 2498.00 2227.73
Intel 8563C + H20 0.20 109.90 102.52 1959.46 1798.35 28 19.38 2712.00 2450.10
Intel 8350C + A10 0.27 102.90 101.19 1938.48 1741.19 47 29.27 3344.00 2585.02
M4 5.44 122.10 105.91 3094.72 2686.52 N/A N/A N/A N/A
Intel 6271C + T4 0.41 106.00 101.81 1859.88 1722.62 68 47.05 2264.00 2001.07
OCR-nopp-max640-server Intel 6271C 2.16 1026.30 1005.10 3467.93 3074.06 N/A N/A N/A N/A
Intel 8350C 2.30 1008.70 1003.32 3435.54 3042.62 N/A N/A N/A N/A
Hygon 7490 + P800 0.35 104.70 101.27 1948.85 1779.77 N/A N/A N/A N/A
Intel 8350C + A100 0.25 104.90 101.42 1833.93 1560.71 41 27.61 4480.00 3955.14
Intel 6271C + V100 0.56 106.20 101.47 1669.73 1500.87 58 31.78 3160.00 2838.78
Intel 8563C + H20 0.23 109.40 101.45 1968.77 1800.81 58 30.81 2602.00 2588.77
Intel 8350C + A10 0.30 106.10 101.55 2027.13 1749.07 69 39.10 3318.00 2795.54
M4 7.26 133.90 104.48 5473.38 3472.28 N/A N/A N/A N/A
Intel 6271C + T4 0.58 103.90 100.86 1884.23 1714.48 84 63.50 2852.00 2540.37
OCR-nopp-max960-server Intel 6271C 2.53 1014.50 1005.22 3625.57 3151.73 N/A N/A N/A N/A
Intel 8350C 2.66 1010.60 1003.39 3580.64 3197.09 N/A N/A N/A N/A
Hygon 7490 + P800 0.40 105.90 101.76 2040.65 1810.97 N/A N/A N/A N/A
Intel 8350C + A100 0.29 108.90 102.12 1821.03 1620.02 44 30.38 4290.00 2928.79
Intel 6271C + V100 0.60 109.90 101.98 1797.75 1544.96 61 32.48 2936.00 2117.71
Intel 8563C + H20 0.28 108.80 101.92 2016.22 1811.74 73 41.82 2636.00 2241.23
Intel 8350C + A10 0.34 111.00 102.75 1964.21 1750.21 68 41.25 2722.00 2293.74
M4 6.28 129.10 103.74 7780.70 3571.92 N/A N/A N/A N/A
Intel 6271C + T4 0.67 116.90 101.33 1941.09 1693.39 88 65.48 2714.00 1923.06
OCR-nopp-min1280-server Intel 6271C 4.13 1043.40 1005.45 5993.70 3454.00 N/A N/A N/A N/A
Intel 8350C 4.46 1011.70 996.72 5633.51 3489.79 N/A N/A N/A N/A
Intel 8350C + A100 0.42 113.90 106.08 1747.88 1546.18 85 43.73 13558.00 11297.98
Intel 6271C + V100 0.82 116.80 105.18 1873.38 1609.55 100 39.57 10376.00 8427.30
Intel 8563C + H20 0.55 114.80 103.14 2036.36 1864.45 100 69.67 13224.00 11411.31
Intel 8350C + A10 0.55 105.90 101.86 1931.35 1764.44 100 56.16 12418.00 10510.77
Intel 6271C + T4 1.13 105.90 102.35 2066.73 1787.78 100 83.50 10142.00 8338.80
OCR-nopp-min1280-mobile Intel 6271C 1.59 1019.90 1008.39 2366.86 1992.03 N/A N/A N/A N/A
Intel 8350C 1.29 1017.70 1007.28 2501.24 2059.99 N/A N/A N/A N/A
Hygon 7490 + P800 0.43 120.90 107.02 2108.87 1821.91 N/A N/A N/A N/A
Intel 8350C + A100 0.29 117.90 107.19 1847.97 1570.89 31 18.98 3746.00 3321.86
Intel 6271C + V100 0.61 122.80 107.07 1789.25 1542.56 39 20.52 4058.00 3487.46
Intel 8563C + H20 0.24 116.80 106.80 2092.63 1882.77 28 18.67 3902.00 3444.00
Intel 8350C + A10 0.34 125.80 106.79 1959.45 1783.97 49 32.66 3532.00 3094.29
M4 6.64 139.40 107.63 4283.97 3112.59 N/A N/A N/A N/A
Intel 6271C + T4 0.51 116.90 105.06 1927.22 1675.34 68 45.78 3828.00 3283.78
Pipeline configurationdescription
OCR-default 默认配置
OCR-nopp-mobile 默认配置基础上,关闭文档图像预处理,使用mobile的det和rec模型
OCR-nopp-server 默认配置基础上,关闭文档图像预处理
OCR-nopp-min736-mobile 默认配置基础上,关闭文档图像预处理,det模型输入缩放策略为min+736,使用mobile的det和rec模型
OCR-nopp-min736-server 默认配置基础上,关闭文档图像预处理,det模型输入缩放策略为min+736
OCR-nopp-max640-mobile 默认配置基础上,关闭文档图像预处理,det模型输入缩放策略为max+640,使用mobile的det和rec模型
OCR-nopp-max960-mobile 默认配置基础上,关闭文档图像预处理,det模型输入缩放策略为max+960,使用mobile的det和rec模型
OCR-nopp-max640-server 默认配置基础上,关闭文档图像预处理,det模型输入缩放策略为max+640
OCR-nopp-max960-server 默认配置基础上,关闭文档图像预处理,det模型输入缩放策略为max+960
OCR-nopp-min1280-server 默认配置基础上,关闭文档图像预处理,det模型输入缩放策略为min+1280
OCR-nopp-min1280-mobile 默认配置基础上,关闭文档图像预处理,det模型输入缩放策略为min+1280,使用mobile的det和rec模型
  • 测试环境:
    • PaddlePaddle 3.1.0、CUDA 11.8、cuDNN 8.9
    • PaddleX @ develop (f1eb28e23cfa54ce3e9234d2e61fcb87c93cf407)
    • Docker image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.1.0-gpu-cuda11.8-cudnn8.9
  • 测试数据:
    • 测试数据包含文档场景和通用场景的200张图像。
  • 测试策略:
    • 使用 20 个样本进行预热,然后对整个数据集重复 1 次以进行速度性能测试。
  • 备注:
    • 由于我们没有收集NPU和XPU的设备内存数据,因此表中相应位置的数据标记为N/A。

五、部署与二次开发

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