IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> yolov5转成rknn模型 -> 正文阅读

[人工智能]yolov5转成rknn模型

目录

1 转换方法

2 yolov5版本问题

3 yolov5的输出格式问题

4 转成rknn模型时的格式问题


1 转换方法

将yolov5的pth模型转成rknn模型,具体方法分两步

  1. 利用yolov5工程中自带的export.py将pt模型转成onnx模型
  2. 利用如下脚本生成rknn模型

将onnx模型转化为RV1126平台的rknn模型_cumtchw-CSDN博客

这篇笔记不是为了介绍具体转换方法,而是记录一下中间转换过程中的一些问题。

2 yolov5版本问题

我们想在瑞芯微的板子用C++推理yolov5的rknn模型,目前一般是利用瑞芯微提供的C++ demo

瑞芯微RV1126的YOLOv5官方推理demo

这个demo的后处理针对的三个输出的模型,如果我们想用这个demo,那么我们使用的yolov5要用v5.0版本,不能使用v6.0版本,因为v5.0版本模型是三个输出的,v6.0版本最后是把三个输出合到一起的。

3 yolov5的输出格式问题

标准的yolov5-5.0的输出有三个,分别是

1x255x80x80

1x255x40x40

1x255x20x20

其中这里的255是85*3,这里的3是指RGB三个通道,每个通道都会产生一个结果,而这里的85是指5+80=85,其中80是类别数量,每个类别数量对应一个label score,一共80个label score,而5是指box的四个坐标加一个box score.

如果是yolov5-6.0版本,6.0是把三个输出合到一起的,那么排列是x y w h box_score ?id ?Id1_score ?id2_score .... idn_score,那么如果3*80*80*12,则输出类别数是6不是7,因为里面有个id,相当于把id计算出来了,而yolov5-5.0版本三个输出没合到一起的,里面只有类别得分,没有类别。

4 转成rknn模型时的格式问题

这里我们以一个3标签(没带口罩,正确佩戴口罩,不正确佩戴口罩)的口罩识别模型为例,3标签的口罩识别模型输出如下,其中24是3通道*8输出,8输出是x y w h box_score??Id1_score ?id2_score ?id3_score;

1*24*80*80

1*24*40*40

1*24*20*20

我之前第一次转换时,发现转出的rknn模型在瑞芯微的RV1126板子上推理的时候结果完全不对,整个图片上都是各种小框,经查找我发现是我的输出格式不是1*24*20*20,而是成了例如1*3*20*20*8这种,于是我在用export.py生成onnx模型前,把yolov5-5.0工程中的yolo.py做了如下修改,然后再用export.py生成onnx模型,然后再转成rknn模型即可。

注意修改是把permute去掉,并且view()里面是把self.na和self.no乘起来了。

经过这样修改后的输出格式如下:

netron查看onnx模型时

?netron查看rknn模型时:

?在RV1126板子上运行时的打印如下:

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-11 22:11:31  更:2022-03-11 22:11:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 16:41:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码