在DIoU实际应用中还引入了参数β,用于控制对距离的惩罚程度。
当 β趋向于无穷大时,DIoU退化为IoU,此时DIoU-NMS与标准NMS效果相当。
当 β趋向于0时,此时几乎所有中心点与得分最大的框的中心点不重合的框都被保留了。
注:除了DIoU外,还有GIoU,CIoU,但这两个都没有用于NMS,而是用于坐标回归函数,DIoU虽然本身也是用于坐标回归,但有用于NMS的。
GIoUGIoU的主要思想是引入将两个框的距离。寻找能完全包围两个框的最小框(计算它的面积Ac)。
计算公式如下:
当两个框完全不相交时,没有抑制的必要。
当两个框存在一个大框完全包围一个小框时或大框与小框有些重合时,GIoU的大小在(-1,1)之间,不太好用来作为NMS的阈值。
GIoU的提出主要还是用于坐标回归的loss,个人感觉用于NMS不合适,CIoU也是如此,这里之所以提这个,是因为它与DIoU、CIoU一般都是放一起讲的。
其它相关NMS为了避免阈值设置大小、目标太密集等问题,还有一些其他方法使用神经网络去实现NMS,但并不常用,这里只提一笔,感兴趣的读者请自行了解。如:
ConvNMS:A Convnet for Non-maximum Suppression
Pure NMS Network:Learning non-maximum suppression
Yes-Net: An effective Detector Based on Global Information
Fast NMS:https://github.com/dbolya/yolact
Cluster NMS:https://github.com/Zzh-tju/CIoU
Matrix NMS:https://github.com/WXinlong/SOLO