YOLOv3 SPP超详细入门( 二 )


2.增强模型鲁棒性,混合四张具有不同语义信息的图片,可以让模型检测超出常规语境的目标 。
3.加强批归一化层(Batch )的效果 。当模型设置 BN 操作后,训练时会尽可能增大批样本总量(),因为 BN 原理为计算每一个特征层的均值和方差,如果批样本总量越大,那么 BN 计算的均值和方差就越接近于整个数据集的均值和方差,效果越好 。
4. 数据增强算法有利于提升小目标检测性能 。数据增强图像由四张原始图像拼接而成,这样每张图像会有更大概率包含小目标 。
四、CIoU Loss 1.IoU
IoU即交并比,是目标检测中最常用的指标,在-based的方法中,他的作用不仅用来确定正样本和负样本,还可以用来评价输出框( box)和-truth的距离 。
???
1.它可以反映预测检测框与真实检测框的检测效果 。
2.具有尺度不变性,即对尺度不敏感(scale ), 在任务中,判断 box和gt的距离最直接的指标就是IoU 。(满足非负性;同一性;对称性;三角不等性)
但是使用它作为损失函数会出现问题,其损失函数一般有两种表达式:
1.IoU loss = -ln(IoU)
2.IoU Loss = 1 - IoU,第二种比较常用
IoU Loss 可以更好地反映出重合程度;且具有尺度不变性,无论重叠地框是大是小,重叠占比一定 IoU 一样大。但是当预测框和 GT 框不重叠时,损失为 0 。
图片展示了3组矩形框重合的示例:绿色是真实目标存在的框GT box,黑色是预测的box位置 。通过观察上图,发现第三个预测效果较好,因为预测目标的位置与真实目标最为接近 。但是计算三组l2损失发现损失值都为8.41,然而IOU的值不同 。因此说明l2损失不能准确反应两个目标边界框重合的程度,因此诞生了IOU损失函数 。
2.GIoU
由于IoU是比值的概念,对目标物体的scale是不敏感的 。然而检测任务中的BBox的回归损失(MSE loss, l1- loss等)优化和IoU优化不是完全等价的,而且 Ln 范数对物体的scale也比较敏感,IoU无法直接优化没有重叠的部分 。
上面公式的意思是:先计算两个框的最小闭包区域面积Ac(同时包含了预测框和真实框的最小框的面积),再计算出IoU,再计算闭包区域中不属于两个框的区域占闭包区域的比重,最后用IoU减去这个比重得到GIoU 。
在上图中绿色是真实目标边界框,红色是预测目标边界框,最外面的蓝色边框是将红绿矩形用最小矩形框起来的边界,Ac是蓝色矩形框的面积,u对应红绿矩形的并集面积 。
如果当红绿矩形完美重合,那么IOU =1, Ac = u = 预测目标边界框面积,GIoU= 1 - 0 = 1 。如果两个目标分开很远,Ac趋向于很大的数值,u趋于0,IOU也趋于0,GIOU = 0 - 1 = -1 。因此GIOU取值的区间是[-1, 1] 。
同理GIOU损失函数的最终表达形式是L(GIOU) = 1 - GIOU 。
与IoU只关注重叠区域不同,GIoU不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度 。
?

YOLOv3 SPP超详细入门

文章插图
GIOU缺点:当两个预测框高宽相同,且处于同一水平面时,GIOU就退化为IOU 。此外,GIOU和IOU还有两个缺点:收敛较慢、回归不够准确 。
3.DIou
DIoU要比GIou更加符合目标框回归的机制,将目标与之间的距离,重叠率以及尺度都考虑进去,使得目标框回归变得更加稳定,不会像IoU和GIoU一样出现训练过程中发散等问题 。
?
其中b和bgt分别代表了预测框和真实框的中心点,且分子代表的是计算两个中心点间的欧式距离 。c代表的是能够同时包含预测框和真实框的最小闭包区域的对角线距离 。
DIoU 要比 GIou 更加符合目标框回归的机制,将目标与之间的距离,重叠率以及尺度都考虑进去,使得目标框回归变得更加稳定,不会像 IoU 和 GIoU 一样出现训练过程中发散等问题 。