在香橙派部署yolov5模型时,需要转化两次模型,一次在PC端转为onnx文件,一次在UbuntuPC上转为rknn文件,详情请看这篇博客:
1.出现置信度大于1的情况
在不修改任何东西时,可能会出现置信度大于1的情况,这时候是因为,你转化的代码里面没有sigmoid这个函数,注意sigmoid函数不能同时在转onnx和rknn文件中出现。比如,你在转onnx文件中加入了这句话:
那么你在转rknn模型时就不要加sigmoid函数了。
2.解决重复框(在香橙派上的代码上解决)
(不要在UbuntuPC上转rknn模型上改,因为没有NMS这个参数,出现重复框无所谓,我们在香橙派上通过NMS去掉重复框)
在网上很多解决重复框的问题时,他们都以为是sigmoid函数的问题,其实不然。真正的问题其实是NMS(非极大值抑制)。
非极大值抑制(Non-Maximum Suppression,NMS)是一种在计算机视觉领域中常用的技术,特别是在目标检测任务中。NMS的主要作用是在检测过程中去除多余的边界框,从而提高检测的准确性。NMS通过计算候选框之间的交并比(IoU)来决定是否抑制某个框。如果两个框的IoU高于某个阈值(一般为0~0.5),则认为它们是重叠的,较低分数的框会被抑制。
这个参数在官方默认的代码里是0.45,在一般来说0.45有点大了,可以调小一点比如0.1。
修改这个参数,问题解决!
标签:RKNN,置信度,NMS,rknn,模型,sigmoid,香橙 From: https://blog.csdn.net/Z0603013xxx/article/details/143243835