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

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

3天内不再提示

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

jf_23871869 来源:jf_23871869 作者:jf_23871869 2025-02-12 10:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

一,什么是PP-OCRv4模型?

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

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

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

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

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

wKgZO2esCdWAf_FZAAPTBDsBKkk891.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.md

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

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

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

二,OpenVINO 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

三,搭建开发环境

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

dotnet new console -o ppocrv4_csharp -f net8.0
wKgZO2esChGAbzZEAAIUyDTmrzc537.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开发环境安装。

四,编写C# PP-OCRv4推理程序

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

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

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

wKgZPGesCkKACbZhAAHyLiI9v9o001.png

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

wKgZO2esCliAYVgqAASLSmH3jxM860.png

五,总结

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

如果你有更好的文章,欢迎投稿!

稿件接收邮箱:nami.liu@pasuntech.com

更多精彩内容请关注“算力魔方®”!

​审核编辑 黄宇

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

    关注

    2

    文章

    2166

    浏览量

    66256
  • AI
    AI
    +关注

    关注

    89

    文章

    38171

    浏览量

    296920
  • OpenVINO
    +关注

    关注

    0

    文章

    117

    浏览量

    717
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C#集成OpenVINO™:简化AI模型部署

    在开源测控、机器视觉、数采与分析三大领域中,如何快速将AI模型集成到应用程序中, 实现AI赋能和应用增值? 最容易的方式是:在C#中,使用 OpenVINO工具套件 集成AI模型。 1
    的头像 发表于 02-17 10:03 2533次阅读
    <b class='flag-5'>C#</b>集成<b class='flag-5'>OpenVINO</b>™:简化AI<b class='flag-5'>模型</b><b class='flag-5'>部署</b>

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

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

    如何使用OpenVINO C++ API部署FastSAM模型

    象的位置和边界。本文将介绍如何使用 OpenVINO C++ API 部署 FastSAM 模型,以实现快速高效的语义分割。在前文中我们发表
    的头像 发表于 11-17 09:53 1669次阅读
    如何使用<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C</b>++ <b class='flag-5'>API</b><b class='flag-5'>部署</b>FastSAM<b class='flag-5'>模型</b>

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

    《超4万6千星的开源OCR黑马登场,PaddleOCR凭什么脱颖而出?》收到了读者热烈反响c,很多读者提出:如何在C#部署
    的头像 发表于 02-17 10:58 2662次阅读
    如何在<b class='flag-5'>C#</b>中<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>

    使用OpenVINO优化并部署PP-OCRv4模型

    算法,在此基础上打造产业级特色模型系列:PP-OCR、PP-Structure和PP-ChatOCR,打通了模型训练、压缩、
    的头像 发表于 04-03 18:07 2261次阅读
    使用<b class='flag-5'>OpenVINO</b>优化并<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>

    【EASY EAI Orin Nano开发板试用体验】PP-OCRV5文字识别实例搭建与移植

    PP-OCRV5,首先就是要安装PaddlePaddle 3.0()和PaddleOCR 3.0(OCR大
    发表于 08-18 16:57

    使用OpenVINO部署PaddleSeg模型库中的DeepLabV3+模型

          01 概述     本文是OpenVINO 工具套件与百度PaddlePaddle模型转换/部署系列的第二部。这篇文章专注于
    的头像 发表于 11-22 14:58 1.1w次阅读
    使用<b class='flag-5'>OpenVINO</b>™ <b class='flag-5'>部署</b>PaddleSeg<b class='flag-5'>模型</b>库中的DeepLabV3+<b class='flag-5'>模型</b>

    基于OpenVINO™ 的版 PGNet 实现案例

    OpenVINO 工具套件2022.1版于2022年3月22日正式发布,根据官宣OpenVINO 迎来迄今为止最重大更新,2022.1新特性抢先看!,OpenVINO 2022.1将是迄今为止最大变化的版本,并可以直接支持读取
    发表于 08-04 16:25 1194次阅读

    OpenVINOC# API详解与演示

    OpenVINO C# API 支持 NuGet 程序包安装方式,这与 OpenVINO C++ 库的安装过程相比,更加简单。如果使用 Vi
    的头像 发表于 10-13 16:39 1598次阅读
    <b class='flag-5'>OpenVINO</b>™  <b class='flag-5'>C#</b> <b class='flag-5'>API</b>详解与演示

    基于OpenVINO Python API部署RT-DETR模型

    平台实现 OpenVINO 部署 RT-DETR 模型实现深度学习推理加速, 在本文中,我们将首先介绍基于 OpenVINO Python API
    的头像 发表于 10-20 11:15 2167次阅读
    基于<b class='flag-5'>OpenVINO</b> Python <b class='flag-5'>API</b><b class='flag-5'>部署</b>RT-DETR<b class='flag-5'>模型</b>

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

    应用中,我们为了与当前软件平台集成更多会采用 C++ 平台,因此在本文中,我们将基于 OpenVINO C++ API 向大家展示了不包含后处理的 RT-DETR
    的头像 发表于 11-03 14:30 2049次阅读
    基于<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C</b>++ <b class='flag-5'>API</b><b class='flag-5'>部署</b>RT-DETR<b class='flag-5'>模型</b>

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

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

    OpenVINO C# API在intel平台部署YOLOv10目标检测模型

    模型设计策略,从效率和精度两个角度对YOLOs的各个组成部分进行了全面优化,大大降低了计算开销,增强了性能。在本文中,我们将结合OpenVINO C# API使用最新发布的
    的头像 发表于 06-21 09:23 2516次阅读
    用<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C#</b> <b class='flag-5'>API</b>在intel平台<b class='flag-5'>部署</b>YOLOv10目标检测<b class='flag-5'>模型</b>

    C#中使用OpenVINO™:轻松集成AI模型

    与分析三大领域中,如何快速将AI模型集成到应用程序中,实现AI赋能和应用增值?最容易的方式是:在C#中,使用OpenVINO™工具套件集成AI模型。 一,什么是
    的头像 发表于 02-07 14:05 1672次阅读
    <b class='flag-5'>C#</b>中使用<b class='flag-5'>OpenVINO</b>™:<b class='flag-5'>轻松</b>集成AI<b class='flag-5'>模型</b>!

    一键搞定!PP-OCRv5模型转ONNX格式全攻略,解锁多平台无缝部署

    PP-OCRv5模型转换为通用ONNX格式,让你能在Intel、AMD、高通、苹果等各类设备上轻松部署,真正实现“一次转换,随处运行”。 在当前多语言混合文档处理需求日益增长的背景下,
    的头像 发表于 09-05 16:10 1235次阅读
    一键搞定!<b class='flag-5'>PP-OCRv</b>5<b class='flag-5'>模型</b>转ONNX格式全攻略,解锁多平台无缝<b class='flag-5'>部署</b>