关于Yolov5分类结果不正确的问题

koalerhi 2024-05-14 14:00:39

各位大佬,我在wos上下了一个snpe2.20,跑了一个yolov5l的目标检测模型(用的是这个预训练https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l.pt)。我导出的onnx可以正确识别,但是转成dlc后我发现,从output0里读出的xywh和bbox的confidence是正常的,但是所有类别的confidence都很小,几乎就是0,即使是在cpu上执行也是这样,这个是哪里有什么问题吗

...全文
1343 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38498942 2024-05-14
  • 打赏
  • 举报
回复 1

如果您使用的是原版模型而没有经过任何裁剪,这种方式一般来说是不被推荐的。对于YoloV5而言,通过archers还原bbox的后处理部分一般来说是不做进模型中的,而是在sdk中实现,这里可以参考https://github.com/gesanqiu/SNPE_Tutorial 中的实现,仓库里doc目录中有文档描述如何实现。另一种调试思路,您可以逐层排查精度是在哪里掉光的。您可以在build snpe task的时候调用Snpe_SNPEBuilder_SetOutputLayers接口,指定中间层的layer名称,并把该层的输出保存,检查范围是否符合预期。您应该重点关注用红框框出来的三个layer,以/model.24/Transpose_2为例,如果您发现从Transpose的output tensor的data[:][:][:][:][5:](85即4+1+80,[5:]即所有类别的confidence)有大于0(sigmoid(0)即0.5,习惯上以0.5为界限)的值,那您应该继续向下排查剩余的层或使用上面提到的方案,否则您应该检查模型转换是不是出了什么问题,例如对比dlc和onnx在某一层的参数是否一致。

img

3,302

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧