“强基固本,行稳致远”,科学研究离不开理论基础,人工智能学科更是需要数学、物理、神经科学等基础学科提供有力支撑,为了紧扣时代脉搏,我们推出“强基固本”专栏,讲解AI领域的基础知识,为你的科研学习提供助力,夯实理论基础,提升原始创新能力,敬请关注。
地址:https://zhuanlan.zhihu.com/p/374907266
00
在GIoU Loss[2]一文中我们介绍到GIoU Loss使用闭包作为惩罚项,当两个矩形没有重叠区域时,它的值和 成反比。它的缺点是闭包的惩罚项并不是十分直接,因为它可以通过两个方式减小loss的值,一个是通过缩小闭包的方式减小loss,另外一个方式是通过扩大预测框面积的方式增加并集 的大小。但是第二个方式并不总是我们想要的,因此GIoU存在让模型迭代“走弯路”的问题,进而影响模型的收敛速度。 这里要介绍的DIoU Loss(Distance)使用更直接的两个框的欧式距离作为惩罚项,它的特点是惩罚项和我们的优化目标是一致的,因此拥有比GIoU Loss更快的收敛速度。另外一个CIoU Loss(Complete)则是进一步在惩罚项中加入了矩形框的相对比例。除此之外,作者还将DIoU和NMS进行结合,提出了DIoU-NMS的后处理方法。 01
1.1 收敛速度 如之前所介绍的,因为GIoU Loss使用闭包作为惩罚项,可能导致在模型训练过程中存在“走弯路”的问题,如图1所示的这种情况,其中绿色框是ground truth,蓝色框是我们预测的bounding box。在上面的GIoU loss的情况下,因为两个框没有重合区域,因此此时loss的值为 ,对比第 100 代和第 40 代,第 100 代的损失值是比第 40 代要低的,但是检测效果反而变的更差了,这一切的根源GIoU的设计使得扩大两个区域的并集面积也能够减小损失值。而下面的DIoU Loss的训练情况则要比GIoU Loss强很多。 图1:GIoU loss在训练过程中的“走弯路”的现象
1.2 检测效果 GIoU Loss的另外一个问题是当预测框在ground truth内部时,GIoU Loss的惩罚项退化为0,此时GIoU loss也退化回了IoU Loss [3]。如图2所示,这时的GIoU Loss和IoU Loss已无法反应检测效果的优劣了。 图2:不同效果的检测框的 GIoU 的损失都是 0.75 02
2.1 DIoU Loss的定义 基于上面的介绍,DIoU Loss设计了一个更符合实际检测效果的惩罚项,DIoU Loss表示为式(1)。 其中 和 表示两个矩形框的中心点, 表示两个矩形框之间的欧氏距离, 表示两个矩形框的闭包区域的对角线的距离,它的物理意义如图3所示。可以看出DIoU loss的优化目标是直接减小两个矩形框中心点之间的欧式距离, 的作用是防止损失函数的值过大,提升收敛速度。 图3:DIoU惩罚项的物理意义
这里我们通过分析DIoU loss的两个极端情况来看一下DIoU的阈值。一种极端是预测结果完全一致,此时 , ,因此DIoU Loss的最小值是 0 。另外一个极端是预测的bounding box距离ground truth比较远,此时 和 无限逼近,因此 , ,因此DIoU Loss的最大值是 2 。而且我们可以看出 ,因此DIoU Loss的值域是 [0,2] ,而且不存在除 0 的情况,所以DIoU Loss是个稳定的损失函数。 对比IoU Loss和GIoU Loss,因为DIoU Loss的惩罚项是距离,因此它丧失了尺度不变性的优点,但是它仍旧是一个距离,因此具有对称性,非负性,同一性和三角不等性。 2.2 DIoU Loss的问题 从式(1)中我们可以看出 和闭包的对角线距离 成反比,当两个bounding box的中心点之间的距离不变时,闭包的对角线越长,则DIoU损失函数的值越小,这就意味着DIoU Loss可能存在图4所示的问题。 图4:DIoU Loss存在训练过程中预测框被错误放大,但是损失值变小的现象
图4.(a)是两个没有互相覆盖的矩形框,它们都是边长为 的矩形,它们中心点的距离为 。图4.(b)是中心点不变,但是边长扩大到了 ,两种情况下DIoU的值分别是 和 ,因此DIoU Loss也存在预测框被错误放大的问题。 另外DIoU Loss破坏了尺度不变性,因此可能导致小尺度样本检测精度失准的问题。 2.3 DIoU NMS 在原始的NMS中,它使用的是IoU作为是否合并的标准。而因为DIoU中引入了新的衡量检测效果优劣的指标,因此可以使用DIoU作为合并的标准,从而对图2中的几种情况进行更好的合并。DIoU-NMS表示为式(2)。 其中 表示预测框中得分更高的bounding box, 是DIoU-NMS的阈值。 03
DIoU Loss考虑了两个指标:IoU和中心点距离,CIoU Loss则又向其中添加了相对比例,用于对预测的形状和ground truth不一致的结果进行惩罚,它的惩罚项定义为式(3)。 其中 用来衡量两个矩形框相对比例的一致性, 是权重系数: CIoU比DIoU就多了一项 ,而 中包含了我们要预测的 和 。 关于这两个变量的倒数为: 当预测的 和 的值非常小时,会导致 的值非常大,进而导致梯度爆炸,为了避免这个问题,在CIoU Loss中,这个值被设置为了常数 1 。 04
DIoU Loss将两个框之间的距离作为损失函数的惩罚项,比GIoU Loss间接的优化闭包面积要直接的多,所以拥有比GIoU Loss更快的收敛速度和更好的表现。而CIoU Loss则进一步考虑了矩形框的相对比例,使得检测效果更进一步。此外DIoU还可以与NMS结合,提升后处理的效果。 Reference [1] Zheng, Zhaohui, et al. "Distance-IoU loss: Faster and better learning for bounding box regression." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 34. No. 07. 2020. [2] Rezatofighi, Hamid, et al. "Generalized intersection over union: A metric and a loss for bounding box regression." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. [3] Yu, Jiahui, et al. "Unitbox: An advanced object detection network." Proceedings of the 24th ACM international conference on Multimedia. 2016.
本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。
“强基固本”历史文章
更多强基固本专栏文章, 请点击文章底部“阅读原文 ”查看
分享、点赞、在看,给个三连击呗!