飞桨PaddleOCR这几年发布了从V2到V5的中英文OCR模型,Paddle推理框架也从2.X升级到3.0.0版本。
本次对不同模型和推理框架的性能做些对比。
测试条件:
操作系统:win10 X64
CPU:13th Gen Intel(R) Core(TM) i9-13900HF 3.0GHz 24核32线程
CPU指令集:AVX,AVX2
测试基于PaddleOCRSharp的C++版本SDK:
https://gitee.com/raoyutian/PaddleOCRSharp
测试图片:
测试方法:连续10次识别
测试代码:
https://gitee.com/raoyutian/PaddleOCRSharp/blob/master/Demo/Cpp/PaddleOCRCppDemo.cpp
硬件模式:CPU推理模式,开启MKLDNN加速
测试结果:
PaddleOCRSharp 简介
PaddleOCRSharp 是一个.NET版本OCR可离线使用类库。项目核心组件PaddleOCR.dll目前已经支持C\C++、.NET、Python、Golang、Rust、java等众多开发语言的直接API接口调用。项目包含文本识别、文本检测、表格识别功能。本项目做了大量优化,提高了识别率和推理性能。包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别。同时支持中英文、纯英文以及多种语言文本检测识别。
PaddleOCRSharp封装极其简化,实际调用仅几行代码,极大地方便了中下游开发者的使用和降低了PaddleOCR的使用入门级别,同时提供不同的.NET框架使用,方便各个行业应用开发与部署。Nuget包即装即用,可以离线部署,不需要网络就可以识别的高精度中英文OCR。
本项目支持官方所有公开的通用OCR模型,如:PPOCRV2、PPOCRV3、PPOCRV4、PP-OCRv4_server、PP-OCRv4_server_doc(1.5万字符字典模型)、
PP-OCRv5、PP-OCRv5_Server(1.8万+字符字典模型):
★windows系统支持:win7SP1、win10、win11、winserver2012R2、winserver2016、winserver2019、winserver2022等。免费版支持在x86的CPU上使用,CPU指令集需要包含AVX指令集。
★windows下版本有免费开源版、CPU加速版(付费版)、GPU加速版(付费版)
★linux系统支持(付费版):统信UOS、麒麟、ubuntu、CentOS8等绿色离线部署,支持docker部署。支持国产CPU如华为鲲鹏、飞腾、海光、兆芯等CPU。
本项目目前支持以下.NET框架(linux版本仅支持net6.0及以上框架):
net35;net40;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net481;
netstandard2.0;netcoreapp3.1;
net5.0;net6.0;net7.0;net8.0;net9.0
★ 高度集成高度集成:PaddleOCRSharp将百度飞桨PaddleOCR的核心功能完美集成到.NET平台,让开发者无需关心底层实现,只需调用相应接口即可实现OCR功能。
★ 性能卓越性能卓越:得益于百度飞桨PaddleOCR的高效算法和对PaddleOCR代码的部分算法优化,PaddleOCRSharp在保持高度集成的同时,也保证了卓越的性能表现。
★ 易于使用易于使用:PaddleOCRSharp提供了丰富的API接口和详细的文档说明,让开发者能够轻松上手,快速实现OCR功能。
★ 扩展性强扩展性强:PaddleOCRSharp支持自定义模型加载和训练,开发者可以根据自己的需求进行模型扩展和优化。
★ 离线免费离线免费:PaddleOCRSharp支持离线绿色部署,无其他依赖需要安装,满足了众多开发者的福音。
PaddleOCRSharp提供了两个SDK,一个是C++版本,一个是.net版本,.net版本是对C++版本的二次封装,其他语言开发亦是调用C++版本。同时也提供了Go、Python、C++的调用示例代码
项目地址:
Github:
https://github.com/raoyutian/PaddleOCRSharp
码云:
https://gitee.com/raoyutian/PaddleOCRSharp