【毕设记录日记】深度学习|铝型材表面缺陷视觉检测算法:YOLOv5改进笔记之NMS

目录

1 非极大值抑制Non-Maximum-Suppresion(NMS)

1.1 NMS基础代码

1.2 将NMS改为DIOU_NMS

1.3 NMS完整变体代码 

1.4 总结 


1 非极大值抑制Non-Maximum-Suppresion(NMS)

1.1 NMS基础代码

Pytorch机器学习(八)—— YOLOV5中NMS非极大值抑制与DIOU-NMS等改进_lzzzzzzm的博客-CSDN博客_diou-nms

 

YOLOv5——NMS_OngoingDC的博客-CSDN博客_yolov5的nms 

(含有详细注释) 

1.2 将NMS改为DIOU_NMS

【YOLO v4 相关理论】常见的非极大值抑制方法:(Hard) NMS、Soft NMS、DIoU NMS_满船清梦压星河HK的博客-CSDN博客_diou nms

 

目标检测算法——YOLOv5将NMS替换为DIoU-NMS_加勒比海带66的博客-CSDN博客_diou_nms yolov5

 (只有DIOU_NMS部分代码) 

1.3 NMS完整变体代码 

目标检测的Tricks | 【Trick9】nms非极大值抑制处理(包括变体merge-nms、and-nms、soft-nms、diou-nms等介绍)_Clichong的博客-CSDN博客_nms处理 

1.4 总结 

NMS 优缺点
Hard-NMS 直接删除相邻的同类别目标,密集目标的输出不友好
Soft-NMS 改变其相邻同类别目标置信度(有关iou的函数),后期通过置信度阈值进行过滤,适用于目标密集的场景
Or-NMS hard-nms的非官方实现形式,只支持cpu
Vision-NMS hard-nms的官方实现形式(c函数库),可支持gpu(cuda)只支持单类别输入
Vision-Batched-NMS hard-nms的官方实现形式(c函数库),可支持gpu(cuda),支持多类别输入
And-NMS 在hard-nms的逻辑基础上,增加是否为单独框的限制,删除没有重叠框的框(减少误检)。
Merge-NMS 在hard-nms的基础上,增加保留框位置平滑策略(重叠框位置信息求解平均值),使框的位置更加精确
DIOU-NMS 在hard-nms的基础上,用diou替换iou,里有参照DIOU的优势

【毕设记录日记】深度学习|铝型材表面缺陷视觉检测算法:YOLOv5改进笔记之NMS_第1张图片

来源:https://github.com/ultralytics/yolov3/issues/679

根据博主的建议直接无脑使用MergeNMS精度提升最高,但是我个人觉得铝型材有部分缺陷比较密集,可以试一试Soft-NMS

我看过的优化论文大多使用的是DIOU-NMS,但是也有人反应DIOU-NMS延长了时间但精度并没有明显提升,可以试一试。

 备注:

IOU_GIOU_DIOU_CIOU_EIOU优缺点总结_liiiiiiiiiiiiike的博客-CSDN博客_ciou优点

优点 缺点
DIOU DIOU在基于IOU特性的基础上考虑到GIOU的缺点,直接回归两个框中心点的欧式距离,加速收敛。 回归过程中未考虑Bounding box的纵横比,精确度上尚有进一步提升的空间

 

你可能感兴趣的:(YOLO网络,深度学习,视觉检测,人工智能)