个人学习记录,如有错误请指出,感谢大家的指导建议。
在前文中讨论了IOU与GIOU。
目标检测中的损失函数(一) IOU,GIOU_黑野桥的博客-CSDN博客
对比起前二者,DIOU,CIOU和ALPHA IOU相对较为复杂。本文的图例来自 B站UP主 自由时有船
常见面试问题4:损失函数DIOU、CIOU、阿尔法IOU_哔哩哔哩_bilibili
对比上面两幅图,在IOU和GIOU的背景下,如果两幅图的目标框和预测框的大小都是相同的,那么二者的计算结果也都是相同的。但无论从感官上还是实际效果来看,第二幅图的检测结果都更加稳定且准确。因此需要找到新的损失函数能够衡量这种情况。
DIOU
其中,(a,b)表示a,b两点的距离,公式中所指为目标框的中心和预测框的中心。c表示最小闭包对角线的长度。DIOU加入了对预测框与目标框距离的优化。
CIOU
那么如果两个检测框的中心都和目标框重合且IOU一样大时,该如何选取呢?
如上图所示,假设两个目标框和检测框的面积都相同,且中心都重合,此时IOU,DIOU,CIOU都无法区分。但是从第一幅图的结果显然要比第二幅图要好,因为他的稳定性更强。也就是说,在CIOU中,我们还会考虑长宽比。
公式来自IoU、GIoU、DIOU、CIOU损失函数 - 知乎
公式中,A,B代表两个框, 代表A和B的中心点。所以CIOU的前两部分和DIOU是一致的(这里的LOSS就是1-CIOU)。唯一增加的部分是后面的av,这个就是对长宽比的考量。
公式中的常数 来自原论文作者的经验考量,使用arctan的原因也是作者经过尝试得到效果不错的函数。wgt和hgt是目标框的宽和高。CIOU不仅能让预测框快速的接近目标框,还能让预测框的长宽比也快速接近目标框。
ALPHA IOU
ALPHA IOU实际上是对前面所有IOU的一种加速收敛的改进。
alpha iou就是给所有的项
都增加了一个alpha的指数,一般取alpha为3,可以增大梯度加速收敛