一:IoU
1:笔记原页
IoU Loss = 1-IoU
2:IOU优缺点
目标检测中常常用iou来衡量proposal或anchor和gt之间的重合度,也就是他们之间的交并比,是目标检测中重要的评价尺度,鲜明的特点就是对尺度scale不敏感。然而没有方向信息,无法指导神经网络应该如何调整:
· 如果两个框没有交集,则IOU=0,不能反映两者距离的大小,并且loss=0,没有梯度回传,神 经网络无法学习;
·IoU无法精确的反映两者的重合度大小
·不能反映两个物体如何重叠
3:IoU Loss特性:
具有非负性、尺度不变性(即不受两个物体尺度大小的影响)、同一性、对称性、三角不等性等特点,因此对bounding box的回归任务比较友好。
但是当预测框与真实框不相交时,此时IoU为0,并且不会反应两个目标之间的距离,在这种无重叠目标的情况下,如果IoU用作于损失函数,梯度为0,无法优化,网络将无法进行训练。
二:GIoU
论文:https://arxiv.org/abs/1902.09630
github代码:https://github.com/generalized-iou
1:定义
先计算两个框的最小闭包区域面积,再计算闭包区域中都不属于两个框的区域占闭包区域面积的比重,再计算IOU,最后用IOU减去这个比重就能得到GIOU。
2:笔记原页
GIoU Loss是为了解决IoU当B与G不相交时,Loss为0的问题
3:特点
也是一种距离度量,满足损失函数要求
对scale不敏感
GIOU的下界,在两个框重合的情况下,IOU=GIOU
IOU取值[0,1],而GIOU取值[-1, 1],两者重合时为1,两者不重合,并且距离无线远的时候取值-1,因此是一个非常好的距离度量指标(因为两个框没有重合且距离无线远时,闭包区域中都不属于两个框的区域和最小闭包区域可看做相等,因此比值为1,iou减去这个比值就是-1
GIoU能够更好地反应相交情况(如下图)。
4:最小区域C的计算
就是读取AB中最小的Xmin,Ymin坐标,最大的Xmax,Ymax坐标,围成的区域就是要求的集合C
三:DIoU Loss
论文:https://arxiv.org/abs/1911.08287?context=cs.CV
GIoU Loss虽然解决了IoU Loss中Loss为0的问题,但是依然存在一些不足。
首先,因为GIoU主要是在收敛Ac-U这个值,这么收敛会导致网络优先选择扩大bounding box的面积来覆盖ground truth,而不是去移动bounding box的位置去覆盖ground truth。
其次,如下图所示,当B覆盖G或者被G覆盖时,只要B与G的面积不变,不管B与G的位置在哪里,IoU Loss与GIoU Loss都是一个定值。
相比GIoU,DIoU限制的不是最小外接矩与B与G并集面积的差值,而是直接限制了最小外接矩的面积和B与G中心点的位置,这会使得网络更倾向于移动bounding box的位置来减少Loss。同时也加入了IoU元素来使bounding box与ground truth的覆盖面积更加接近。
同样的DIoU也有着与GIoU相同的一些特性和取值范围。
四:CIoU Loss
纯属笔记用,方便自己的查阅和复习。
小白学习中。