前言:在之前的项目中,我们已经使用 OpenVINO TM CSharp API 部署 PaddleOCR 全系列模型,但随着PaddleOCRv4版本发布以及OpenVINO CSharp API版本迭代,上一版本的项目已经不再适用。因此在推出的最新项目中,已经完成了对PaddleOCRv4的匹配,并且采用了最新版本的 OpenVINO TM CSharp API,可以更快的实现在不同平台进行部署,减少使用者在使用时的步骤以及问题。
文章目录
- 1. 项目介绍
- 2. 项目环境
- 2.1 NuGet Package
- 2.2 安装方式
- 3. 快速开始
- 3.1 获取项目源码
- 3.2 获取预测模型
- 3.3 OCR识别
- 4. Contact
1. 项目介绍
该项目主要基于开发的[OpenVINOTM C# API](OpenVINOTM C# API)项目,基于 C# 编程语言在.NET框架下使用OpenVINOTM 部署工具部署百度飞桨下的 PaddleOCR 系列模型,实现图片文字识别、版面分析以及表格识别等功能。
项目提供了简单的案例以及二次开发的API接口,大家可以根据自己需求进行再次开发与使用。
项目PaddleOCR-OpenVINO-CSharp链接为:
https://github.com/guojin-yan/PaddleOCR-OpenVINO-CSharp
2. 项目环境
在本项目中主要使用的是自己开发的OpenVINOTM C# API项目以及OpenCvSharp4项目,所使用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 可以通过Visual Studio 安装或者通过dotnet命令安装,安装方式如下:
dotnet add package OpenVINO.CSharp.API
dotnet add package OpenVINO.runtime.win
dotnet add package OpenCvSharp4.Windows
dotnet add package OpenCvSharp4.Extensions
3. 快速开始
3.1 获取项目源码
git clone https://github.com/guojin-yan/PaddleOCR-OpenVINO-CSharp.git
cd PaddleOCR-OpenVINO-CSharp
3.2 获取预测模型
项目中所使用的模型均来自于 PaddleOCR ,模型目录可以参考
-
PP-OCR 系列模型列表
-
PP-Structure 系列模型列表
注意:经过测试,OpenVINO目前已经支持PP-OCR 系列模型列表、PP-Structure 系列模型列表中的所有模型,并且支持Paddlepaddle格式的模型,用户在下载后可以直接使用,但是表格识别模型ppstructure_mobile_v2.0_SLANet需要进行转换才可以使用,需要固定模行输入形状为[1, 3, 488, 488],转换方式keyi 参考该文章:Paddle2ONNX.
为了方便大家快速使用,此处提供了模型的快速下载方式:
cd model
./ocr_model_download.sh
./stru_model_download.sh
下载后模型文件目录结构为:
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识别
可以直接通过Visual Studio直接运行该项目或者通过dotnet run指令运行该项目,dotnet run命令如下:
cd PaddleOCR-OpenVINO-CSharp/sample
dotnet run ./../../
程序运行后输出如下图所示:
4. Contact
如果您准备使用OpenVINO部署PaddleOCR模型,欢迎参考本案例。在使用中有任何问题,可以通过以下方式与我联系。