0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在C#中部署飞桨PP-OCRv4模型

英特尔物联网 来源:英特尔物联网 2025-02-17 10:58 次阅读

作者:刘力算力魔方创始人/英特尔创新大使

《超4万6千星的开源OCR黑马登场,PaddleOCR凭什么脱颖而出?》收到了读者热烈反响c,很多读者提出:如何在C#中部署飞桨PP-OCRv4模型?本文从零开始详细介绍整个过程。

1什么是PP-OCRv4模型?

PP-OCRv4是PaddleOCR工具库的PP-OCR系列模型中,当前性能最优的一个。它在前代模型(PP-OCRv3)的基础上,针对检测模型和识别模型进行了数据、网络结构、训练策略等多个模块的优化,在多个应用场景中,精度均有大幅提升:

·中文场景,相对于PP-OCRv3中文模型提升超4%;

·英文数字场景,相比于PP-OCRv3英文模型提升6%;

·多语言场景(支持韩语、日语、德语、法语等80种语言),平均准确率提升超8%。

PP-OCRv4是一个两阶段的OCR系统,包含检测模型、方向分类模型和识别模型在检测和识别之间添加方向分类模型,将不同角度的文本检测框修正为水平检测框,方便识别模型完成行文本识别。

c6e365b0-eab3-11ef-9310-92fbcf53809c.png

为了适应服务器和边缘端不同场景的部署需求,PP-OCRv4提供两种推理模型权重版本:

边缘端:中英文超轻量PP-OCRv4模型(16.1M) = 检测模型(4.7M) + 识别模型(10.0M) + 方向分类模型(1.4M)。Hmean:62.24%;ACC:70.1%。

服务器端:中英文高精度PP-OCRv4 server模型(199.4M) = 检测模型(110M) + 识别模型(88M) + 方向分类模型(1.4M)。Hmean:82.69%;ACC:84.04%。

PP-OCRv4模型详述链接:

https://github.com/PaddlePaddle/PaddleOCR/blob/main/docs/ppocr/blog/PP-OCRv4_introduction.mdsudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

PP-OCRv4模型的卓越性能使其在多个领域具有广泛的应用前景,如文档扫描、文字提取、智能表单填写、物流信息追踪、文档自动化处理、智能服务窗口、文献资料整理等等。本文将介绍使用OpenVINO工具套件在英特尔 CPU、独立显卡、集成显卡和NPU上优化并部署飞桨PP-OCRv4模型。

PP-OCRv4模型在飞桨AIStudio星河社区范例项目:

https://aistudio.baidu.com/projectdetail/8770259

2OpenVINO C# API简介

OpenVINO C# API是一个开源的 OpenVINO 的 .Net wrapper(包装器)项目,它基于最新的OpenVINO Runtime库开发,通过调用官方的OpenVINO C API ,允许开发者在 .NET 和 .NET Framework 环境中使用 C# 语言调用AI模型,并实现AI模型在英特尔 CPU、独立显卡、集成显卡、NPU上的推理加速。

OpenVINO C# API的GitHub仓:https://github.com/guojin-yan/OpenVINO-CSharp-API

3搭建开发环境

请参考《C# 中使用OpenVINO:轻松集成AI模型!》完成OpenVINO C# API开发环境搭建。然后,启动“命令提示符”,用命令创建“ppocrv4_csharp”推理项目:

dotnet new console -o ppocrv4_csharp -f net8.0

c70802f8-eab3-11ef-9310-92fbcf53809c.png

然后,进入“ppocrv4_csharp”目录,使用NuGet安装OpenVINO C# API,命令如下:

dotnet add package OpenVINO.CSharp.API
dotnet add package OpenVINO.runtime.win
dotnet add package OpenVINO.CSharp.API.Extensions.OpenCvSharp
dotnet add package OpenVINO.CSharp.API.Extensions.PaddleOCR

最后,安装OpenCvSharp 4.9.0版:

dotnet add package OpenCvSharp4 --version 4.9.0.20240103
dotnet add package OpenCvSharp4.runtime.win --version 4.9.0.20240103

完成PP-OCRv4的OpenVINO C# API开发环境安装。

4编写C# PP-OCRv4推理程序

PP-OCRv4的范例程序已开源,请将代码仓克隆到本地:

git clone https://github.com/guojin-yan/PaddleOCR-OpenVINO-CSharp.git

接着,将“在线模型识别”范例代码拷贝到Program.cs中,如下所示:

c7205196-eab3-11ef-9310-92fbcf53809c.png

最后,在VS Code中运行该代码,结果如下所示:

c73a6d9c-eab3-11ef-9310-92fbcf53809c.png

5总结

使用OpenVINO C# API可以直接读入PP-OCRv4模型(无需转换),并能方便快捷的将PP-OCRv4模型用C#代码部署在英特尔 CPU、独立显卡、集成显卡、NPU等硬件上。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    61

    文章

    10087

    浏览量

    173033
  • 开源
    +关注

    关注

    3

    文章

    3486

    浏览量

    43019
  • 模型
    +关注

    关注

    1

    文章

    3428

    浏览量

    49537
  • OpenVINO
    +关注

    关注

    0

    文章

    109

    浏览量

    318

原文标题:开发者实战|使用OpenVINO C# API轻松部署飞桨PP-OCRv4模型

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PP-OCRv3优化策略详细解读

    PP-OCR是PaddleOCR团队自研的超轻量OCR系统,面向OCR产业应用,权衡精度与速度。近期,PaddleOCR团队针对PP-OCRv2的检测模块和识别模块,进行共计9个方面的升级,打造出一款全新的、效果更优的超轻量OCR系统:
    的头像 发表于 05-12 09:21 3788次阅读

    基于C#和OpenVINO™在英特尔独立显卡上部署PP-TinyPose模型

    和 OpenVINO,将 PP-TinyPose 模型部署在英特尔独立显卡上。 1.1 PP-TinyPose 模型简介
    的头像 发表于 11-18 18:27 2768次阅读

    百度PP-YOLOE ONNX 在LabVIEW中的部署推理(含源码)

    对于如何在LabVIEW中实现该模型部署,笔者目前还没有看到相关介绍文章,所以笔者在实现PP-YOLOE ONNX 在LabVIEW中的部署
    的头像 发表于 05-26 14:01 1326次阅读
    百度<b class='flag-5'>飞</b><b class='flag-5'>桨</b><b class='flag-5'>PP</b>-YOLOE ONNX 在LabVIEW中的<b class='flag-5'>部署</b>推理(含源码)

    使用OpenVINO C# API轻松部署PP-OCRv4模型

    ​ 作者:算力魔方创始人/英特尔创新大使刘力 《超4万6千星的开源OCR黑马登场,PaddleOCR凭什么脱颖而出?》 收到了读者热烈反响,很多读者提出:如何在C#中部署
    的头像 发表于 02-12 10:42 925次阅读
    使用OpenVINO <b class='flag-5'>C#</b> API轻松<b class='flag-5'>部署</b><b class='flag-5'>飞</b><b class='flag-5'>桨</b><b class='flag-5'>PP-OCRv4</b><b class='flag-5'>模型</b>

    如何使用Paddle2ONNX模型转换工具将模型转换为ONNX模型

    如何使用Paddle2ONNX模型转换工具将模型转换为ONNX模型
    发表于 12-29 07:42

    如何用Arm虚拟硬件在Arm Cortex-M上部署PaddlePaddle

    了如何在 AVH Corstone-300 平台上部署 PP-OCRv3 中发布的英文文本识别模型,并使用Cortex-M55。原作者:Liliya Wu
    发表于 09-02 14:48

    在Arm虚拟硬件上部署PP-PicoDet模型

    1、在Arm虚拟硬件上部署PP-PicoDet模型  经典的深度学习工程是从确认任务目标开始的,我们首先来简单地介绍一下目标检测任务以及本期部署实战课程中我们所使用的工具和平台。  目
    发表于 09-16 14:42

    部署基于嵌入的机器学习模型

    1、如何在生产中部署基于嵌入的机器学习模型  由于最近大量的研究,机器学习模型的性能在过去几年里有了显著的提高。虽然这些改进的模型开辟了新的可能性,但是它们只有在可以
    发表于 11-02 15:09

    NVIDIA 与团队合作开发基于 ResNet50 的模型示例

    为了让开发者可以快速复现顶尖的精度和超高的性能,NVIDIA 与团队合作开发了基于 ResNet50 的模型示例,并将持续开发更多的
    的头像 发表于 10-18 10:03 1356次阅读

    NVIDIA与共同深度适配的NGC容器在NVIDIA GPU上体验

    PaddleOCR 发版 v2.6,带来全新升级的 PP-StructureV2 智能文档分析系统,实现一键 PDF 转 Word。欢迎广大开发者使用 NVIDIA 与共同深度适配的 NGC
    的头像 发表于 11-01 10:41 1474次阅读

    PaddleDetection 发新,欢迎在 NVIDIA NGC 容器中体验最新特性!

    。 欢迎广大开发者使用 NVIDIA 与联合深度适配的 NGC 容器,在 NVIDIA GPU 上体验 PaddleDetection v2.5 的新特性。 PaddleDet
    的头像 发表于 11-10 11:00 1022次阅读

    ERNIE 3.0 Tiny新模型,压缩部署“小”“快”“灵”!欢迎在 NGC 容器中体验 PaddleNLP 最新版本

    、Embedding 量化等压缩方案,能够进一步提升模型推理速度、降低模型大小、显存占用。欢迎广大开发者使用 NVIDIA 与联合深度适配的 NGC
    的头像 发表于 02-22 07:05 1146次阅读

    基于OpenVINO™工具包部署PP-Human的全流程

    PP-Human是目标检测套件PaddleDetection中开源的实时行人分析工具,提供了五大异常行为识别和四大产业级功能:人体属性分析、人流计数、跨镜ReID
    的头像 发表于 02-23 18:03 930次阅读

    【报名有奖】Imagination+百度模型部署实战 Workshop 邀您参加

    举办线上Workshop,现已开放注册报名。在此次的Workshop中,您将学习“端到端在Imagination硬件上部署模型的工作流程”,来自百度
    的头像 发表于 09-28 10:20 660次阅读
    【报名有奖】Imagination+百度<b class='flag-5'>飞</b><b class='flag-5'>桨</b><b class='flag-5'>模型</b><b class='flag-5'>部署</b>实战 Workshop 邀您参加

    基于OpenVINO C# API部署RT-DETR模型

    C# 环境下使用该模型应用到工业检测中,因此在本文中,我们将向大家展示使用 OpenVINO Csharp API 部署 RT-DETR 模型,并对比不同编程平台下
    的头像 发表于 11-10 16:59 911次阅读
    基于OpenVINO <b class='flag-5'>C#</b> API<b class='flag-5'>部署</b>RT-DETR<b class='flag-5'>模型</b>