瑞芯微RV1126平台----yolov5输出后处理C++实现

瑞芯微RV1126平台----yolov5输出后处理C++实现1 前言标准的 yolov5 的输出有三个 分别是 1x255x80x801 其中这里的 255 是 85 3 这里的 3 是指 RGB 三个通道 每个通道都会产生一个结果 而这里的 85 是指 5 80 85 其中 80 是类别数量 每个类别数量对应一个 labelscore 一共 80 个 labelscore 而 5 是指 box 的四个坐标加一个 boxscore 2 代码这里以瑞芯微的代码为例 只不过在前面和后面加上了有关 paddingresiz 的处理 瑞芯微的具体代 yolov5 后处理代码 c 实现

目录

1.前言

2.代码

2.1 padding resize 代码

2.2 瑞芯微yolov5后处理

2.3 坐标框的后处理

3.完整代码

3.1 postprocess.h

3.2 posrprocess.cc


1.前言

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

1x255x80x80

1x255x40x40

1x255x20x20

其中这里的255是85*3,这里的3是指3个anchor产生的3个box(不是RGB三个通道,最后输出那里已经没有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版本三个输出没合到一起的,里面只有类别得分,没有类别。

瑞芯微目前移植的是三个没有合到一起的版本,也就是yolov5-5.0.

2.代码

今天的文章 瑞芯微RV1126平台----yolov5输出后处理C++实现分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-25 12:01
下一篇 2024-12-25 11:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/96245.html