使用 OpenVINO™.CSharp.API.Extensions.PaddleOCR NuGet 快速实现文本识别
内容提要
PP-OCR是PaddleOCR自研的超轻量OCR系统,用于图像文本检测。OpenVINO.CSharp.API.Extensions.PaddleOCR是基于OpenVINO.CSharp.API项目封装的NuGet Package,用于在C#平台部署PP-OCR模型。该程序集支持多个框架,提供了使用介绍和应用案例演示。测试结果显示,多Bathsize推理可以提升模型的推理速度。
延伸解读
PP-OCR 的版本演进与优化重点
PP-OCR 从初代到 v4 持续迭代,每代针对检测和识别模块进行优化。初代采用 19 种策略实现模型瘦身,得到 3.5M 中英文和 2.8M 英文数字模型;v2 引入协同互学习蒸馏和 CopyPaste 数据增广;v3 升级检测蒸馏策略并采用 SVTR 识别算法;v4 进一步优化数据、网络和训练策略。了解这些演进有助于开发者根据精度与速度需求选择合适的版本。
多 BatchSize 推理的性能收益与配置
文章测试表明,在 11 代 i7-1165G7 上,将 cls 和 rec 的 batch_num 设为 16 时,推理时间从 161ms 降至 93ms,提升约 42%。开发者可通过 OcrConfig 的 cls_option.batch_num 和 rec_option.batch_num 设置批大小,并将设备设为 AUTO 以利用 OpenVINO 的自动设备选择。但需注意,批处理可能增加内存占用,且收益随硬件和模型不同而变化。
灵活配置 OCR 流程与模型选择
OCRPredictor 支持通过 ocr() 方法的 det、rec、cls 标志位控制是否执行文本检测、识别和方向分类。例如,若已确定文本区域,可设置 det:false 仅进行识别和方向判断。此外,程序集提供 OnlineOcr 和本地模型加载两种方式,并支持通过 Language 枚举或 OCRDetModels.Get() 等接口下载不同语言的 PP-OCR 模型,方便开发者按需定制。
Q&A
PP-OCR是什么?
PP-OCR是PaddleOCR自研的超轻量OCR系统,支持端到端的图像文本检测。
如何在C#中使用OpenVINO.CSharp.API.Extensions.PaddleOCR?
可以通过NuGet Package安装OpenVINO.CSharp.API.Extensions.PaddleOCR,并使用Visual Studio或命令行添加相关程序集。
OpenVINO.CSharp.API.Extensions.PaddleOCR支持哪些.NET框架?
该程序集支持NET6.0、NET5.0、NET Core 3.1、NET Framework 4.8和4.7等多个框架。
多Bathsize推理有什么优势?
多Bathsize推理可以显著提升模型的推理速度,测试显示最大可提升42%。
PP-OCR的版本迭代有哪些主要改进?
PP-OCR经过多次迭代,主要改进包括模型瘦身、深度优化和推理速度提升,发布了多个版本如PP-OCRv2、v3和v4。
如何使用OnlineOcr进行在线模型识别?
可以通过调用OnlineOcr的ocr_test()接口,下载模型并进行在线图片检测。