【OpenVINO】 使用 OpenVINO CSharp API 部署 PaddleOCR 项目介绍

前言:
  在之前的项目中,我们已经使用 OpenVINO^TM^ CSharp API 部署 PaddleOCR 全系列模型,但随着PaddleOCRv4版本发布以及OpenVINO CSharp API版本迭代,上一版本的项目已经不再适用。因此在推出的最新项目中,已经完成了对PaddleOCRv4的匹配,并且采用了最新版本的 OpenVINO^TM^ CSharp API,可以更快的实现在不同平台进行部署,减少使用者在使用时的步骤以及问题。

目录

  • [1. 项目介绍](#1. 项目介绍)
  • [2. 项目环境](#2. 项目环境)
    • [2.1 NuGet Package](#2.1 NuGet Package)
    • [2.2 安装方式](#2.2 安装方式)
  • [3. 快速开始](#3. 快速开始)
    • [3.1 获取项目源码](#3.1 获取项目源码)
    • [3.2 获取预测模型](#3.2 获取预测模型)
    • [3.3 OCR识别](#3.3 OCR识别)
  • [4. Contact](#4. Contact)

1. 项目介绍

该项目主要基于开发的[OpenVINO^TM^ C# API](OpenVINO^TM^ C# API)项目,基于 C# 编程语言在.NET框架下使用OpenVINO^TM^部署工具部署百度飞桨下的 PaddleOCR 系列模型,实现图片文字识别、版面分析以及表格识别等功能。

项目提供了简单的案例以及二次开发的API接口,大家可以根据自己需求进行再次开发与使用。

项目PaddleOCR-OpenVINO-CSharp链接为:

bash 复制代码
https://github.com/guojin-yan/PaddleOCR-OpenVINO-CSharp

2. 项目环境

在本项目中主要使用的是自己开发的OpenVINO^TM^ 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命令安装,安装方式如下:

shell 复制代码
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 获取项目源码

bash 复制代码
git clone https://github.com/guojin-yan/PaddleOCR-OpenVINO-CSharp.git
cd PaddleOCR-OpenVINO-CSharp

3.2 获取预测模型

项目中所使用的模型均来自于 PaddleOCR ,模型目录可以参考

注意:

经过测试,OpenVINO目前已经支持PP-OCR 系列模型列表、PP-Structure 系列模型列表 中的所有模型,并且支持Paddlepaddle格式的模型,用户在下载后可以直接使用,但是表格识别模型ppstructure_mobile_v2.0_SLANet 需要进行转换才可以使用,需要固定模行输入形状为[1, 3, 488, 488],转换方式keyi 参考该文章:Paddle2ONNX.

为了方便大家快速使用,此处提供了模型的快速下载方式:

bash 复制代码
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命令如下:

bash 复制代码
cd PaddleOCR-OpenVINO-CSharp/sample
dotnet run ./../../

程序运行后输出如下图所示:


4. Contact

如果您准备使用OpenVINO部署PaddleOCR模型,欢迎参考本案例。在使用中有任何问题,可以通过以下方式与我联系。

相关推荐
天天代码码天天2 天前
C# YoloV8 OpenVINO 视频抽帧 自动标注 预标注工具
人工智能·yolo·openvino
小女孩真可爱11 天前
onnx转openvino模型(2022版本和2024版本)
linux·python·openvino
椒颜皮皮虾྅12 天前
【OpenVINO™】使用 OpenVINO™ C++ 异步推理接口部署YOLOv8 ——在Intel IGPU 上实现80+FPS视频推理
c++·yolo·openvino
OpenVINO 中文社区23 天前
OpenVINO™ 助力 Qwen 2 —— 开启大语言模型新时代
人工智能·语言模型·自然语言处理·openvino
天天代码码天天3 个月前
LaMa Image Inpainting 图像修复 OpenVINO Demo
人工智能·opencv·目标检测·机器学习·计算机视觉·openvino
你的陈某某4 个月前
YOLOv7-Openvino和ONNXRuntime推理【CPU】
人工智能·yolo·目标检测·openvino·yolov7
乱蜂朝王4 个月前
C# OpenVINO Yolov8-OBB 旋转目标检测
yolo·c#·openvino
你的陈某某4 个月前
YOLOv5_seg-Openvino和ONNXRuntime推理【CPU】
人工智能·yolo·yolov5·实例分割·openvino
你的陈某某4 个月前
YOLOv5-Openvino-ByteTrack【CPU】
人工智能·yolo·目标跟踪·yolov5·openvino·bytetrack
天天代码码天天4 个月前
C# OpenVINO Nail Seg 指甲分割 指甲检测
人工智能·神经网络·opencv·目标检测·机器学习·计算机视觉·openvino