【OpenVINO】 使用 OpenVINO CSharp API 部署 PaddleOCR 项目介绍
前言: ? 在之前的項(xiàng)目中,我們已經(jīng)使用 OpenVINOTM CSharp API 部署 PaddleOCR 全系列模型,但隨著PaddleOCRv4版本發(fā)布以及OpenVINO CSharp API版本迭代,上一版本的項(xiàng)目已經(jīng)不再適用。因此在推出的最新項(xiàng)目中,已經(jīng)完成了對(duì)PaddleOCRv4的匹配,并且采用了最新版本的 OpenVINOTM CSharp API,可以更快的實(shí)現(xiàn)在不同平臺(tái)進(jìn)行部署,減少使用者在使用時(shí)的步驟以及問(wèn)題。目錄
- 1. 項(xiàng)目介紹
-
2. 項(xiàng)目環(huán)境
- 2.1 NuGet Package
- 2.2 安裝方式
-
3. 快速開(kāi)始
- 3.1 獲取項(xiàng)目源碼
- 3.2 獲取預(yù)測(cè)模型
- 3.3 OCR識(shí)別
- 4. Contact
1. 項(xiàng)目介紹
? 該項(xiàng)目主要基于開(kāi)發(fā)的[OpenVINOTM C# API](OpenVINOTM C# API)項(xiàng)目,基于 C# 編程語(yǔ)言在.NET框架下使用OpenVINOTM 部署工具部署百度飛槳下的 PaddleOCR 系列模型,實(shí)現(xiàn)圖片文字識(shí)別、版面分析以及表格識(shí)別等功能。
? 項(xiàng)目提供了簡(jiǎn)單的案例以及二次開(kāi)發(fā)的API接口,大家可以根據(jù)自己需求進(jìn)行再次開(kāi)發(fā)與使用。
? 項(xiàng)目PaddleOCR-OpenVINO-CSharp鏈接為:
https://github.com/guojin-yan/PaddleOCR-OpenVINO-CSharp
2. 項(xiàng)目環(huán)境
? 在本項(xiàng)目中主要使用的是自己開(kāi)發(fā)的OpenVINOTM C# API項(xiàng)目以及OpenCvSharp4項(xiàng)目,所使用NuGet Package程序包以及安裝方式如下所示
2.1 NuGet Package
- OpenVINO.CSharp.API >= 2023.2.0.2
- OpenVINO.runtime.win >= 2023.2.0.1
- OpenCvSharp4.Windows >= 4.8.0.20230708
- OpenCvSharp4.Extensions >= 4.8.0.20230708
2.2 安裝方式
? NuGet Package 可以通過(guò)Visual Studio 安裝或者通過(guò)dotnet命令安裝,安裝方式如下:
dotnet add package OpenVINO.CSharp.API
dotnet add package OpenVINO.runtime.win
dotnet add package OpenCvSharp4.Windows
dotnet add package OpenCvSharp4.Extensions
3. 快速開(kāi)始
3.1 獲取項(xiàng)目源碼
git clone https://github.com/guojin-yan/PaddleOCR-OpenVINO-CSharp.git
cd PaddleOCR-OpenVINO-CSharp
3.2 獲取預(yù)測(cè)模型
? 項(xiàng)目中所使用的模型均來(lái)自于 PaddleOCR ,模型目錄可以參考
-
PP-OCR 系列模型列表
-
PP-Structure 系列模型列表
注意:? 經(jīng)過(guò)測(cè)試,OpenVINO目前已經(jīng)支持PP-OCR 系列模型列表、PP-Structure 系列模型列表中的所有模型,并且支持Paddlepaddle格式的模型,用戶(hù)在下載后可以直接使用,但是表格識(shí)別模型ppstructure_mobile_v2.0_SLANet需要進(jìn)行轉(zhuǎn)換才可以使用,需要固定模行輸入形狀為[1, 3, 488, 488],轉(zhuǎn)換方式keyi 參考該文章:Paddle2ONNX.
? 為了方便大家快速使用,此處提供了模型的快速下載方式:
cd model
./ocr_model_download.sh
./stru_model_download.sh
? 下載后模型文件目錄結(jié)構(gòu)為:
model
├──── paddle
├──── ch_ppocr_mobile_v2.0_cls_infer
├──── ch_PP-OCRv4_det_infer
├──── ch_PP-OCRv4_rec_infer
├──── ch_ppstructure_mobile_v2.0_SLANet_infer
├──── en_ppstructure_mobile_v2.0_SLANet_infer
├──── picodet_lcnet_x1_0_fgd_layout_cdla_infer
3.3 OCR識(shí)別
? 可以直接通過(guò)Visual Studio直接運(yùn)行該項(xiàng)目或者通過(guò)dotnet run指令運(yùn)行該項(xiàng)目,dotnet run命令如下:
cd PaddleOCR-OpenVINO-CSharp/sample
dotnet run ./../../
? 程序運(yùn)行后輸出如下圖所示:
4. Contact
? 如果您準(zhǔn)備使用OpenVINO部署PaddleOCR模型,歡迎參考本案例。在使用中有任何問(wèn)題,可以通過(guò)以下方式與我聯(lián)系。
總結(jié)
以上是生活随笔為你收集整理的【OpenVINO】 使用 OpenVINO CSharp API 部署 PaddleOCR 项目介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 用 Socket.D 替代原生 WebS
- 下一篇: puppeteer的简单使用