最新OpenVINO实现yolov5 6.1版本C++

本文档记录了如何在树莓派上使用NCS2运行Yolov5.6模型的过程,包括因NCS2仅支持FP16而进行的模型转换。作者详细介绍了在Windows环境下生成IR文件的步骤,以及在树莓派上安装OpenVINO并转换模型为FP16的技巧。最后展示了在树莓派上运行模型的C++代码示例,实现了320X320输入下45ms左右的推理时间,性能优于纯树莓派运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

yolov5.6出来那么久了竟没有OpenVINO的C++实现,又因为树莓派不支持OpenVINO,所以入手NCS2,NCS2又仅支持FP16....

中间踩了不少坑, 在此记录一下最简单的复现方式,代码Windows通用,直接使用onnx模型文件即可。

生成IR文件

1.openvino部署(Windows跳过)

需要注意的是,之前opencv dnn实现yolov5.6转成了onnx模型文件,OpenVINO是可以直接读取onnx,但由于树莓派使用NCS2仅支持FP16,因此我们需要在Windows将yolov5.6的深度学习模型转换为支持FP16的IR文件。如果是在windows下实现,无需转成IR文件。

(树莓派的OpenVINO工具套件不包含模型优化器Model Optimizer,IR文件包含一个*.xml文件用来描述网络结构,还包含一个*.bin文件用来存储网络的权重和偏置量)

树莓派安装openvino:树莓派安装部署OpenVINO

yolov5.6中export.py可以直接转成openvino的IR模型文件,但没有FP16的参数

需要将export.py中165行:

cmd = f"mo --input_model {file.with_suffix('.onnx')} --output_dir {f}"

改为:

 cmd = f"mo --input_model {file.with_suffix('.onnx')} --output_dir {f}  --scale=255 --data_type=FP16"

 安装openvino-dev,因为树莓派中安装的是2021.4.689版本,所以这里openvino选择2021.4.2版本。(版本不同存在模型文件读取失败的问题)

2.模型转换

export.py中修改参数

imgsz这里是自己训练的数据,大小为320

 --include加入openvino:

 运行export.py,生成openvino模型文件

代码

代码中有模型文件可以直接使用,如果自己的数据的话将模型文件和classes.txt换成自己的就可以了。

GitHub - snail0614/yolov5.6_openvino_cpp

运行结果:

用的yolov5n模型,输入320X320,推理用时45ms左右,速度可以,比单纯树莓派强多了。

yolov5.6.1训练自己的数据(超简单)

opencv dnn模块实现Yolov5_6.1

YOLOv5 6.1版本的ONNX文件是一种用于表示YOLOv5模型结构和权重的文件格式。ONNX(Open Neural Network Exchange)是一种开放的深度学习模型交换格式,它允许不同的深度学习框架之间共享和转换模型。 YOLOv5是一个快速、精确的目标检测算法,可以检测出图像或视频中的多个目标,并为每个目标提供边界框和类别预测。6.1版本YOLOv5的一个更新版本,可能包含了一些性能优化和改进。 ONNX文件中包含了YOLOv5 6.1版本模型的网络结构和权重信息。网络结构定义了模型的层次结构、连接方式和参数设置等。权重信息则表示模型已经经过训练,并包含了模型在训练数据上学到的知识。 使用YOLOv5 6.1版本的ONNX文件可以实现以下功能: 1. 加载模型:通过读取ONNX文件,可以将YOLOv5 6.1版本的模型加载到深度学习框架中,以便进行后续的操作。 2. 推理预测:将输入图像或视频传入加载的模型,并获得模型对检测目标的预测结果。YOLOv5 6.1版本的模型在目标检测方面具有较高的精度和速度。 3. 目标分类:对于检测到的目标,可以使用模型中的类别预测信息,将其分类为特定的类别,如人、车、狗等。 4. 边界框定位:利用模型中的边界框信息,可以准确地确定目标在图像中的位置,从而进行更精确的识别和定位。 总而言之,YOLOv5 6.1版本的ONNX文件是实现目标检测的关键文件,可以通过加载模型、进行推理预测、目标分类和边界框定位等功能。它为使用YOLOv5提供了一种方便且高效的方式。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值