作者:劉力算力魔方創始人/英特爾創新大使
《超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系統,包含檢測模型、方向分類模型和識別模型。在檢測和識別之間添加方向分類模型,將不同角度的文本檢測框修正為水平檢測框,方便識別模型完成行文本識別。
為了適應服務器和邊緣端不同場景的部署需求,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
然后,進入“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中,如下所示:
最后,在VS Code中運行該代碼,結果如下所示:
5總結
使用OpenVINO C# API可以直接讀入PP-OCRv4模型(無需轉換),并能方便快捷的將PP-OCRv4模型用C#代碼部署在英特爾 CPU、獨立顯卡、集成顯卡、NPU等硬件上。
-
英特爾
+關注
關注
61文章
10039瀏覽量
172565 -
開源
+關注
關注
3文章
3440瀏覽量
42818 -
模型
+關注
關注
1文章
3389瀏覽量
49349 -
OpenVINO
+關注
關注
0文章
101瀏覽量
258
原文標題:開發者實戰|使用OpenVINO C# API輕松部署飛槳PP-OCRv4模型
文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
PP-OCRv3優化策略詳細解讀
基于C#和OpenVINO?在英特爾獨立顯卡上部署PP-TinyPose模型
百度飛槳PP-YOLOE ONNX 在LabVIEW中的部署推理(含源碼)

使用OpenVINO C# API輕松部署飛槳PP-OCRv4模型

如何用Arm虛擬硬件在Arm Cortex-M上部署PaddlePaddle
在Arm虛擬硬件上部署PP-PicoDet模型
部署基于嵌入的機器學習模型
NVIDIA 與飛槳團隊合作開發基于 ResNet50 的模型示例
NVIDIA與飛槳共同深度適配的NGC飛槳容器在NVIDIA GPU上體驗
PaddleDetection 發新,歡迎在 NVIDIA NGC 飛槳容器中體驗最新特性!
ERNIE 3.0 Tiny新模型,壓縮部署“小”“快”“靈”!歡迎在 NGC 飛槳容器中體驗 PaddleNLP 最新版本
基于OpenVINO?工具包部署飛槳PP-Human的全流程
【報名有獎】Imagination+百度飛槳模型部署實戰 Workshop 邀您參加

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

評論