作者:劉力算力魔方創(chuàng)始人/英特爾創(chuàng)新大使
《超4萬(wàn)6千星的開(kāi)源OCR黑馬登場(chǎng),PaddleOCR憑什么脫穎而出?》收到了讀者熱烈反響c,很多讀者提出:如何在C#中部署飛槳PP-OCRv4模型?本文從零開(kāi)始詳細(xì)介紹整個(gè)過(guò)程。
1什么是PP-OCRv4模型?
PP-OCRv4是PaddleOCR工具庫(kù)的PP-OCR系列模型中,當(dāng)前性能最優(yōu)的一個(gè)。它在前代模型(PP-OCRv3)的基礎(chǔ)上,針對(duì)檢測(cè)模型和識(shí)別模型進(jìn)行了數(shù)據(jù)、網(wǎng)絡(luò)結(jié)構(gòu)、訓(xùn)練策略等多個(gè)模塊的優(yōu)化,在多個(gè)應(yīng)用場(chǎng)景中,精度均有大幅提升:
·中文場(chǎng)景,相對(duì)于PP-OCRv3中文模型提升超4%;
·英文數(shù)字場(chǎng)景,相比于PP-OCRv3英文模型提升6%;
·多語(yǔ)言場(chǎng)景(支持韓語(yǔ)、日語(yǔ)、德語(yǔ)、法語(yǔ)等80種語(yǔ)言),平均準(zhǔn)確率提升超8%。
PP-OCRv4是一個(gè)兩階段的OCR系統(tǒng),包含檢測(cè)模型、方向分類(lèi)模型和識(shí)別模型。在檢測(cè)和識(shí)別之間添加方向分類(lèi)模型,將不同角度的文本檢測(cè)框修正為水平檢測(cè)框,方便識(shí)別模型完成行文本識(shí)別。

為了適應(yīng)服務(wù)器和邊緣端不同場(chǎng)景的部署需求,PP-OCRv4提供兩種推理模型權(quán)重版本:
邊緣端:中英文超輕量PP-OCRv4模型(16.1M) = 檢測(cè)模型(4.7M) + 識(shí)別模型(10.0M) + 方向分類(lèi)模型(1.4M)。Hmean:62.24%;ACC:70.1%。
服務(wù)器端:中英文高精度PP-OCRv4 server模型(199.4M) = 檢測(cè)模型(110M) + 識(shí)別模型(88M) + 方向分類(lèi)模型(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模型的卓越性能使其在多個(gè)領(lǐng)域具有廣泛的應(yīng)用前景,如文檔掃描、文字提取、智能表單填寫(xiě)、物流信息追蹤、文檔自動(dòng)化處理、智能服務(wù)窗口、文獻(xiàn)資料整理等等。本文將介紹使用OpenVINO工具套件在英特爾 CPU、獨(dú)立顯卡、集成顯卡和NPU上優(yōu)化并部署飛槳PP-OCRv4模型。
PP-OCRv4模型在飛槳AIStudio星河社區(qū)范例項(xiàng)目:
https://aistudio.baidu.com/projectdetail/8770259
2OpenVINO C# API簡(jiǎn)介
OpenVINO C# API是一個(gè)開(kāi)源的 OpenVINO 的 .Net wrapper(包裝器)項(xiàng)目,它基于最新的OpenVINO Runtime庫(kù)開(kāi)發(fā),通過(guò)調(diào)用官方的OpenVINO C API ,允許開(kāi)發(fā)者在 .NET 和 .NET Framework 環(huán)境中使用 C# 語(yǔ)言調(diào)用AI模型,并實(shí)現(xiàn)AI模型在英特爾 CPU、獨(dú)立顯卡、集成顯卡、NPU上的推理加速。
OpenVINO C# API的GitHub倉(cāng):https://github.com/guojin-yan/OpenVINO-CSharp-API
3搭建開(kāi)發(fā)環(huán)境
請(qǐng)參考《C# 中使用OpenVINO:輕松集成AI模型!》完成OpenVINO C# API開(kāi)發(fā)環(huán)境搭建。然后,啟動(dòng)“命令提示符”,用命令創(chuàng)建“ppocrv4_csharp”推理項(xiàng)目:
dotnet new console -o ppocrv4_csharp -f net8.0

然后,進(jìn)入“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開(kāi)發(fā)環(huán)境安裝。
4編寫(xiě)C# PP-OCRv4推理程序
PP-OCRv4的范例程序已開(kāi)源,請(qǐng)將代碼倉(cāng)克隆到本地:
git clone https://github.com/guojin-yan/PaddleOCR-OpenVINO-CSharp.git
接著,將“在線(xiàn)模型識(shí)別”范例代碼拷貝到Program.cs中,如下所示:

最后,在VS Code中運(yùn)行該代碼,結(jié)果如下所示:

5總結(jié)
使用OpenVINO C# API可以直接讀入PP-OCRv4模型(無(wú)需轉(zhuǎn)換),并能方便快捷的將PP-OCRv4模型用C#代碼部署在英特爾 CPU、獨(dú)立顯卡、集成顯卡、NPU等硬件上。
-
英特爾
+關(guān)注
關(guān)注
61文章
10296瀏覽量
180132 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
4173瀏覽量
45933 -
模型
+關(guān)注
關(guān)注
1文章
3730瀏覽量
52027 -
OpenVINO
+關(guān)注
關(guān)注
0文章
118瀏覽量
743
原文標(biāo)題:開(kāi)發(fā)者實(shí)戰(zhàn)|使用OpenVINO C# API輕松部署飛槳PP-OCRv4模型
文章出處:【微信號(hào):英特爾物聯(lián)網(wǎng),微信公眾號(hào):英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
PP-OCRv3優(yōu)化策略詳細(xì)解讀
基于C#和OpenVINO?在英特爾獨(dú)立顯卡上部署PP-TinyPose模型
百度飛槳PP-YOLOE ONNX 在LabVIEW中的部署推理(含源碼)
使用OpenVINO C# API輕松部署飛槳PP-OCRv4模型
使用OpenVINO優(yōu)化并部署飛槳PP-OCRv4模型
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】PP-OCRV5文字識(shí)別實(shí)例搭建與移植
如何使用Paddle2ONNX模型轉(zhuǎn)換工具將飛槳模型轉(zhuǎn)換為ONNX模型?
在Arm虛擬硬件上部署PP-PicoDet模型
NVIDIA 與飛槳團(tuán)隊(duì)合作開(kāi)發(fā)基于 ResNet50 的模型示例
NVIDIA與飛槳共同深度適配的NGC飛槳容器在NVIDIA GPU上體驗(yàn)
PaddleDetection 發(fā)新,歡迎在 NVIDIA NGC 飛槳容器中體驗(yàn)最新特性!
基于OpenVINO?工具包部署飛槳PP-Human的全流程
【報(bào)名有獎(jiǎng)】Imagination+百度飛槳模型部署實(shí)戰(zhàn) Workshop 邀您參加
基于OpenVINO C# API部署RT-DETR模型
一鍵搞定!PP-OCRv5模型轉(zhuǎn)ONNX格式全攻略,解鎖多平臺(tái)無(wú)縫部署
如何在C#中部署飛槳PP-OCRv4模型
評(píng)論