从零开始学CV之二损失函数篇(2)

在这里插入图片描述
注:本篇博客大部分内容并非原创,而是本人将之前收藏的资料整理,并加以自己的愚解整合成到一起,方便回顾复习,所有参考资料均已注明出处,并已点赞加收藏~

前言: 续从零开始学CV之二损失函数篇(1)

2.2.3 IoU Loss(Intersection-Over-Union,交并比函数)

该方法由旷视提出,发表于2016 ACM,论文链接:

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

通过4个坐标点独立回归Building boxes的缺点:

(1)检测评价的方式是使用IoU,而实际回归坐标框的时候是使用4个坐标点,如下图所示,是不等价的;L1或者L2 Loss相同的框,其 IoU 不是唯一的

(2)通过4个点回归坐标框的方式是假设4个坐标点是相互独立的,没有考虑其相关性,实际4个坐标点具有一定的相关性

(3)基于L1和L2的距离的loss对于尺度不具有不变性
在这里插入图片描述
基于此提出 IoU Loss,其将4个点构成的box看成一个整体进行回归:
在这里插入图片描述

上图中的红色点表示目标检测网络结构中Head部分上的点(i,j),绿色的框表示Ground truth框,
蓝色的框表示Prediction的框,IoU
loss的定义如上,先求出2个框的IoU,然后再求个-ln(IoU),实际很多是直接定义为IoU Loss = 1-IoU

在这里插入图片描述
形象讲解部分:
在这里插入图片描述
IoU = 绿色面积 /(蓝色面积 + 绿色面积 + 橙色面积)

而 IOU Loss 可以简单表示为:

L I O U = 1 − I o U L_{I O U}=1-I o U LIOU=1IoU L I O U = − l n ( I O U ) L_{I O U}=-ln(I O U) LIOU=lnIOU

2.2.4 GIoU Loss(Generalized Intersection over Union)

本方法由斯坦福学者提出,发表于CVPR2019,论文链接:

https://arxiv.org/pdf/1902.09630.pdf

IoU Loss 的缺点:

(1)当预测框和目标框不相交时,IoU(A,B)=0时,不能反映A,B距离的远近,此时损失函数不可导,IoU Loss 无法优化两个框不相交的情况。

(2)假设预测框和目标框的大小都确定,只要两个框的相交值是确定的,其IoU值是相同时,IoU值不能反映两个框是如何相交的。
如上图所示,三种不同相对位置的框拥有相同的IoU=0.33值,但是拥有不同的GIoU=0.33,0.24,-0.1。当框的对齐方向更好一些时GIoU的值会更高一些。
如上图所示,三种不同相对位置的框拥有相同的IoU=0.33值,但是拥有不同的GIoU=0.33,0.24,-0.1。当框的对齐方向更好一些时GIoU的值会更高一些。
在这里插入图片描述
红色框为A、B外接矩形
在这里插入图片描述
GIoU的实现方式如上,其中C为A和B的外接矩形。用C减去A和B的并集除以C得到一个数值,然后再用框A和B的IoU减去这个数值即可得到GIoU的值。

形象讲解部分:
在这里插入图片描述
在IoU的基础上找到一个“外接矩形框”C,这个全局框能够刚好把两个b-box装进去。这样对多一部分面积C_。

根据上图表示: G I O U = I O U − C − / C GIOU = IOU - C_{-}/C GIOU=IOUC/C

GIOU loss可以简单表示为:
在这里插入图片描述
即:
在这里插入图片描述
在两个b-box没有交集的情况下:
在这里插入图片描述
可以看到GIOU会**随两个框之间的距离变化而变化,**从而反应到loss上,指导预测框的移动方向

GIoU的性质:

  • GIoUIoU一样,可以作为一种距离的衡量方式, L G I o U = 1 − G L o U L_{GIoU}=1-GLoU LGIoU=1GLoU
  • GIoU具有尺度不变性
  • 对于 ∀ A , B \forall A,B A,B ,有 G I o U ( A , B ) ≤ I o U ( A , B ) GIoU\left( A,B \right)\leq IoU\left( A,B \right) GIoU(A,B)IoU(A,B) 0 ≤ I o U ( A , B ) ≤ 1 0\leq IoU\left( A,B \right)\leq1 0IoU(A,B)1 ,因此 − 1 ≤ G I o U ( A , B ) ≤ 1 -1\leq GIoU\left( A,B \right)\leq1 1GIoU(A,B)1 。当 A → B A\rightarrow B AB 时,两者相同都等于1,此时 GIoU 等于1,当
    A和B 不相交时, G I o U ( A , B ) = − 1 GIoU\left( A,B \right) = -1 GIoU(A,B)=1

GIoU Loss不足
在这里插入图片描述
当目标框完全包裹预测框的时候,IoU和GIoU的值都一样,此时GIoU退化为IoU, 无法区分其相对位置关系;此时作者提出的DIoU因为加入了中心点归一化距离,所以可以更好地优化此类问题。

启发点:

基于IoU和GIoU存在的问题,作者提出了两个问题:

  • 第一:直接最小化预测框与目标框之间的归一化距离是否可行,以达到更快的收敛速度。
  • 第二:如何使回归在与目标框有重叠甚至包含时更准确、更快。

好的目标框回归损失应该考虑三个重要的几何因素:重叠面积,中心点距离,长宽比。基于问题一,作者提出了DIoU Loss,相对于GIoU Loss收敛速度更快,该Loss考虑了重叠面积和中心点距离,但没有考虑到长宽比;针对问题二,作者提出了CIoU Loss,其收敛的精度更高,以上三个因素都考虑到了。

2.2.5 DIoU Loss(Distance-IoU Loss)

本文发表在AAAI 2020,论文链接:

https://arxiv.org/pdf/1911.08287.pdf

通常基于IoU-based的loss可以定义为 L = 1 − I o U + R ( B , B g t ) L = 1- IoU + R\left( B,B^{gt} \right) L=1IoU+R(B,Bgt),其中 R ( B , B g t ) R\left( B,B^{gt} \right) R(B,Bgt) 定义为预测框 B B B 和目标框 B g t B^{gt} Bgt 的惩罚项。

DIoU中的惩罚项表示为 R D I o U = ρ 2 ( b , b g t ) c 2 R_{DIoU} =\frac{\rho^{2}\left( b,b^{gt} \right)}{c^{2}} RDIoU=c2ρ2(b,bgt) ,其中 b 和 b g t b和b^{gt} bbgt 分别表示 B B B B g t B^{gt} Bgt 的中心点, ρ ( ⋅ ) \rho\left( \cdot \right) ρ() 表示欧式距离, c c c 表示 B B B B g t B^{gt} Bgt 的最小外界矩形的对角线距离,如下图所示。可以将DIoU替换IoU用于NMS算法当中,也即论文提出的DIoU-NMS,实验结果表明有一定的提升。

DIoU Loss function定义为: L D I o U = 1 − I o U + ρ 2 ( b , b g t ) c 2 L_{DIoU} = 1- IoU +\frac{\rho^{2}\left( b,b^{gt} \right)}{c^{2}} LDIoU=1IoU+c2ρ2(b,bgt)

在这里插入图片描述
上图中绿色框为目标框,黑色框为预测框,灰色框为两者的最小外界矩形框,d表示目标框和真实框的中心点距离,c表示最小外界矩形框的距离。

DIoU的性质:

  • 尺度不变性 当两个框完全重合时, L I o U = L G I o U = L D I o U = 0 L_{IoU}=L_{GIoU}=L_{DIoU}=0 LIoU=LGIoU=LDIoU=0 , 当2个框不相交时 L D I o U → 2 L_{DIoU}\rightarrow 2 LDIoU2
  • DIoU Loss可以直接优化2个框直接的距离,比GIoU Loss收敛速度更快
  • 对于目标框包裹预测框的这种情况,DIoU Loss可以收敛的很快,而GIoU Loss此时退化为IoU Loss收敛速度较慢

2.2.6 CIoU Loss(Complete-IoU Loss)

CIoU的惩罚项是在DIoU的惩罚项基础上加了一个影响因子 α υ \alpha\upsilon αυ ,这个因子把预测框长宽比拟合目标框的长宽比考虑进去,CIoU Loss function的定义为:
在这里插入图片描述
其中 α \alpha α 是用于做trade-off的参数
在这里插入图片描述
α \alpha α 可以看出,当IOU小于0.5的时候,CIOU就变成DIOU。IOU越大, α \alpha α 越接近1。

υ \upsilon υ 是用来衡量长宽比一致性的参数,定义为:
在这里插入图片描述
那么,在IOU很大的情况下, ρ 2 ( p , p g t ) c 2 \frac{\rho^{2}\left(\boldsymbol{p}, \boldsymbol{p}^{g t}\right)}{c^{2}} c2ρ2(p,pgt) 变为0(中心点重合),这个时候需要调节长宽比了。DIOU在这个时候,loss的梯度也变小了(只靠IOU loss的部分在传递梯度),而CIOU可以依靠最后一项继续保持loss的梯度,使得检测器能够迅速调整好自己与GT框拥有一样的宽长比。
辅以一张对比图来说明:
在这里插入图片描述
第一排是GIOU,第二排是CIOU,原点处的绿色框是GT框,黑色框是anchor框,红色框是预测框。可以看到,在预测框和GT框没有交集(即IOU=0)的情况下,GIOUCIOU都有指导检测框移动的能力。此时,GIOU从位置、宽长比、size等角度调整预测框,而CIOU是迅速拉回位置(不怎么动预测框的形状),因此CIOU可以比GIOU更快拉回预测框使其IOU>0。等IOU>0以后,CIOU迅速调整size规模。等IOU>0.5以后,CIOU的宽长比(也叫纵横比)部分开始作为梯度传播的主要部分,使得预测框和GT框有用一样的宽长比。
在这里插入图片描述
这是论文中作者做的一个仿真对比,可以看出,CIoU Loss的效果是最好的。

参考

[1] https://mp.weixin.qq.com/s/ZbryNlV3EnODofKs2d01RA
[2] https://blog.csdn.net/leviopku/article/details/114655338?spm=1001.2014.3001.5501
[3] https://blog.csdn.net/u013069552/article/details/113804323?utm_source=app&app_version=4.9.0&code=app_1562916241&uLinkId=usr1mkqgl919blen

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值