详解各种iou损失函数的计算方式(iou、giou、ciou、diou)

本文主要是理解各个回归损失函数的区别和改进,其实最主要的还是这些损失函数在yolo中起到了非常大的作用,包括从最原始的yolov3中引入,到v4、v5中变成真正的官方损失函数,确实很有效。本文将逐条分析这些损失函数,并不会按照论文结构来描述。

1、IOU

    paper:https://arxiv.org/pdf/1608.01471.pdf

    iou-loss本身是是从人脸检测的paper引入进来的,由于此文只分析损失函数比较简单,我们只讨论IOU-LOSS,先看paper的原图:

    简单易懂,IOU-loss与l2-loss值的差异,然后更进一步的给出了iou-loss的表达式,如下:

    流程和公式实在是很简单,相信有一定基础的同学肯定都理解,此处不再赘述,我们重点看接下来的GIOU和DIOU和CIOU。

2、GIOU

    paper:https://arxiv.org/abs/1902.09630

    首先本文最重要的一点,便是指出针对regression使用类似于l1 loss之类的损失函数不合适,因为在回归任务中,如果使用l1-loss时,相同的loss值时,regression的效果可以大不相同,也就是说,loss值不能够直观的体现出regression的效果,而我们在目标检测中,使用的最多的评估标准就是IOU,iou具有一个尺度不敏感的特性,根据当前的iou数值,可以体现出预测值与gt值的直接效果。我们直接看paper的原图:

    我们看到上图a和图b中,当l2-loss值固定时,regression效果完全不一样,明显,图a和图b的第三幅图效果是最好的,l2-loss的描述情况明显没有使用iou来表示好,进一步的,当iou相同时,只能代表目标框和检测框的交并比相同,但预测框的实际大小有可能完全不一样,这样也说明了无论是iou-loss或者l2-loss都不能够很好的反应出检测效果。而且iou有两个缺点不适合作为损失函数:

    1、检测框与gt框没有重叠时,iou=0,也就是说梯度为0,没法优化(GIOU重新定义了损失函数的公式,保证在没有相交时也会有损失函数值,能够进行反向传播)

    2、检测框与gt框有iou时,无法精确反映重合度大小,检测效果也有较大的差异

    针对上述问题,提出了GIOU,具体定义先见paper的截图:

    简单解释一下定义:先计算两个框的最小闭包区域面积,再计算IOU,再计算不闭包区域中不属于两个检测框的区域占闭包区域的比重,最后用IOU-这个比重得到GIOU。

    GIOU具有4个特点:

    1、与IOU相似,也是一种距离度量,作为损失函数满足损失函数的需求

    2、GIOU对scale不敏感

    3、GIOU是IOU的下界,取值为[-1, 1],在两个框无重合的情况下,IOU=0,减数为1,GIOU即为-1,当两个框完全重叠,IOU=1,减数为0,则GIOU=1(可以理解为由于惩罚项的引入,在不重叠的情况下,预测框会向目标框移动

    4、GIOU除了关注重叠区域不同,还关注了非重叠区域,能够更好的反应重合度。

    paper给出的算法流程如下:

    看上去相当的复杂,如果剔除掉阅读困难的复杂符号,其实就很简单了:

    第一步(上图中1):找出两个坐标的最边界点,用于计算闭包面积;

    第二步(上图2,3,4,7):计算IOU;

    第三步(上图5):计算闭包面积;

    第四步(上图8,9):计算IOU-LOSS和GIOU-LOSS

    测试结果:

    yolov3:

    

      faster-rcnn:

    可以看到,giou在yolov3和faster-rcnn上都获得了一定程度的提升,证明该损失函数适用于one-stage和two-stage,不像focal-loss一样存在一定的局限性。

 

3、DIOU与CIOU

    paper:https://arxiv.org/pdf/1911.08287.pdf   提出DIOU和CIOU

    paper:https://arxiv.org/pdf/2005.03572.pdf    提出CIOU和应用(检测+分割)

    注意,两篇paper的作者几乎是同一个团队,可以认为是一个补充或者互相印证的关系

3.1 DIOU

    首先我们直接看paper的原图,为什么DIOU会比IOU和GIOU要好:

    

    如上图所示,当出现如上场景时,计算各种基于IOU的损失函数值,L-diou是能够描述检测框与gt框的位置信息,上图中,我们可以看到,当处于第三幅图时,检测框和gt都位于中心,iou=giou=diou,但是,位置出现差异,如第一幅图和第二幅图时,明显第二幅图的效果要好一些,此时GIOU降级成为IOU,而DIOU的损失值较大,能够较好的描述当前位置信息。

    再进一步给出paper对各个损失函数的定义:

    基于上,作者此时提出了DIOU,提出了2个问题,第一:最小化两个边界框中心点的归一化距离能否加快收敛。第二:如何在回归时,能够更好的描述重叠信息,同时使得回归更准确,更快速?

    基于上述两个问题,我们看paper定义了基于iou的损失函数:

    作者认为,常规iou-loss可以被定义成如上式所示,其中R项我们可以认为是检测框与gt框的惩罚项,针对上文提到的两个问题,基于这个不同的惩罚项定义,paper提出了DIOU和CIOU。

    针对第一个问题,原paper中我们看到作者对DIOU的定义如下:

    如式6所示,b和b-gt分别代表预测框和gt框的中心点,\rho代表欧氏距离(paper使用),c代表能够同时覆盖预测框和gt框的最小矩形的对角线距离(就是闭包区域的对角线),如下图所示:

    DIoU的优点如下:
    1、对尺度不敏感,

    2、与GIoU loss类似,DIoU loss在与目标框不重叠时,仍然可以为边界框提供移动方向。

    3、当边界框完全匹配时,L_iou=L_giou=L_diou=0, 当相距很远时,L_giou=L_diou -> 2

    4、DIoU loss可以直接最小化两个目标框的距离,而GIOU loss优化的是两个目标框之间的面积,因此比GIoU loss收敛快得多。

    5、对于包含两个框在水平方向和垂直方向上这种情况,DIoU损失可以使回归非常快,而GIoU损失几乎退化为IoU损失

    以上就是DIOU的基本描述了,具体的实验我们讲解完同一篇论文提出的CIOU后一并给出结果。

   

   3.2 CIOU

    DIOU解决了上文提到的第一个问题,归一化两个中心点的距离从而加速收敛的问题,但是还未解决第二个问题,即如何在回归时能够更好的描述重叠信息。我们再回到paper。

    paper指出,预测的bbox的三个重要的因素分别是,重叠面积、中心点距离和纵横比(长宽比)。L_iou考虑了重叠区域,而giou很大程度上依赖了iou损失,DIou则同时考虑了重叠区域和中心点距离,更进一步的,边界框的长宽比的一致性也是一个重要的几何因素。因此,基于DIOU,我们通过施加长宽比的一致性来提出了CIOU-loss:

    我们可以看到,在式8中,α是用于平衡比例的参数,v是用来描述预测框和gt的长宽比的比例一致性的参数。其中v和α的取值如式9和式11所示,完整的CIOU表达式如式10所示。从式11的定义来看,损失函数会倾向于往重叠区域增多的方向进行优化,尤其是IOU为0的时候。

    最后,CIOU和DIOU的优化方式是一样的,但是参数v相对于w和h的梯度需要指定一下,如下式所示:

    对于h和w在[0,1]范围内的情况,控制因素w^2+h^2通常是一个很小的值,这很可能会产生梯度爆炸。 因此,在我们的实现中,为了稳定收敛,简单地删除了w^2+h^2,用1代替了步长w^2+h^2,等式12依旧成立。  

   3.2 DIOU和CIOU的实验结果

    1、pascal voc的测试结果:

    yolov3:

    2、coco的测试结果

    faster-rcnn:

    综上,我们可以看到CIOU最终提升了很多,尤其是最后一项,CIOU然后使用DIOU-nms,效果相当棒。

4、代码分析

    代码地址:https://github.com/ultralytics/yolov5

    简单分析yolov5的iou系列损失函数代码,如下图所示:

    其实也没啥好分析的,代码清晰易懂,首先计算iou,当存在GIOU、DIOU、CIOU时,进一步计算闭包区域,当存在DIOU、CIOU时,进一步计算中心点距离,当存在CIOU时,进一步计算参数v和α。得到IOU损失函数值以后,再使用如下式计算:

   求mean后得到最终的损失,完成bbox的回归损失计算。

综上,这就是从IOU->DIOU-> DIOU->CIOU的一个进化流程,讲的不对的地方欢迎同学指出并纠正。

版权声明:本文为CSDN博主「lovep1」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lovep1/article/details/114449861

lovep1

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐