GWD:基于高斯Wasserstein距离的旋转目标检测 | ICML 2021?高斯旋转力场原理

出境入境2024-03-19 05:17小乐

GWD:基于高斯Wasserstein距离的旋转目标检测 | ICML 2021?高斯旋转力场原理

论文详细描述了当前旋转目标检测的主要问题,提出将旋转回归目标定义为高斯分布,并使用Wasserstein距离来衡量高斯分布之间的距离进行训练。目前,常规目标检测中将回归转换为概率分布函数的方法有很多。这篇文章有同样的目的,值得一读。

来源:小飞算法工程笔记公众号

论文: 重新思考使用高斯Wasserstein 距离损失的旋转物体检测

论文地址:https://arxiv.org/abs/2101.11952 论文代码:https://github.com/yangxue0827/RotationDetectionIntroduction 任意方向的目标在检测数据集中普遍存在。与水平目标检测相比,旋转目标检测仍处于起步阶段。目前,大多数SOTA研究都集中在回归目标的旋转角度上,解决旋转角度带来了新的问题:i)指标和损失之间的不一致。 ii) 旋转角度回归区间是不连续的。 iii) 平方问题。事实上,上述问题没有很好的解决方案,这会极大地影响模型的性能,特别是当角度处于范围边界时。

为了解决上述问题,论文提出了GWD方法,首先使用二维高斯分布对旋转目标进行建模,然后使用高斯Wasserstein Distance(GWD)代替不可微的旋转IoU,并计算基于GWD的损失值,使模型训练和指标保持一致。本文的主要贡献如下:

总结了旋转目标检测中的三个主要问题。使用Gaussian Wasserstein Distance(GWD)来描述旋转的bbox之间的距离,然后使用GWD计算代替IoU损失的损失,并且是可微的。基于GWD的损失可以解决旋转角度范围的不连续问题和平方问题,并且对bbox如何定义没有要求。在多个公开数据集上进行测试,论文中的方法具有良好的性能。旋转对象回归检测器重新访问边界框定义 图2 显示了定义旋转bbox 的两种方法:OpenCV 形式和长边形式。前者的角度为长边与横坐标的角度,后者的角度为长边与横坐标的角度。角度,两种定义可以相互转换(不考虑中心点):

两种表示方法之间的主要区别在于边序和角度。同一个bbox使用不同的表达方式。可能需要交换边的顺序或者角度正负90。在当前的许多研究中,模型的设计与bbox的定义相结合,以避免具体问题:例如平方问题可以是避免了,并且可以避免边缘交换问题。

Metric与Loss不一致IoU是检测领域的一个重要评价指标,但实际训练中使用的回归损失函数(如-norms)往往与评价指标不一致,即较小的loss值不等于更高的性能。目前,水平目标检测领域有一些解决不一致问题的方案,例如DIoU和GIoU。在旋转目标检测领域,由于角度回归的加入,不一致问题变得更加突出,但仍然没有好的解决方案。论文还列出了一些例子来比较IoU 损失和平滑L1 损失:

案例1: 角度差与损失值的关系,曲线几何形状是单调的,但只有平滑的L1曲线才是凸曲线,可以优化到全局最优解。案例2: 纵横比差异与损失值之间的关系。 smooth-l1损失值是固定的(主要来自角度差异),而IoU损失沿水平轴变化剧烈。案例3:中心点偏移对损失值的影响,曲线都是单调的,但平滑的L1曲线与差值的一致性不高。从上面的分析可以看出,在旋转目标检测领域,IoU损失可以更好地填补评价标准和回归损失之间的差异。不幸的是,在旋转目标检测领域,两个旋转bbox之间的IoU计算是不可微的,不能用于训练。为此,论文提出了一种基于Wasserstein距离的可微损失来替代IoU损失,同样可以解决旋转角度回归区间不连续问题和平方问题。

边界不连续性和类平方问题(旋转角回归区间不连续性和平方问题) 上图中的Case1-2总结了旋转角回归区间不连续性问题。以OpenCV形式的案例2为例,对于anchor和GT,有两种回归方法:

Way1可以逆时针旋转一个小角度,预测的结果是。然而,由于角度(PoA)和边序交换(EoE)的周期性,如果使用平滑的L1损失函数,这个结果和GT之间会产生巨大的损失值。另外,该角度也在预定角度范围之外。选择way2需要较大的顺时针旋转,同时缩放宽度和高度。当锚点与GT之间的角度处于角度范围的边界时,通常会出现上述问题。当anchor与GT之间的角度不在边界时,way1不会产生巨大的损失值。因此,对于smooth-L1来说,边界角度和非边界角度的优化处理会过于一致,这也会阻碍模型训练。

平方问题主要发生在使用长边形式的检测方法中。由于方形靶材没有绝对的长边,因此方形靶材的长边形式本身的表达方式并不唯一。以Case3为例,有anchor和GT,way1可以顺时针旋转一个小角度,与GT的位置一致。但由于角度差异较大,way1会产生较高的回归损失。因此,需要像way2那样更大的逆时针角度。平方问题的主要原因并不是上面提到的PoA和EoE,而是metrics和loss计算的不一致。

The Proproved Method经过上述分析,论文希望新的旋转目标检测方法的回归损失函数满足以下几点:

Requirement1: 与IoU 指标高度一致。要求2: 可微分,允许直接学习。要求3: 角度回归范围的边界场景更平滑。 Wasserstein Distance for Rotating Box目前,大多数IoU 损失都可以视为距离函数。基于此,论文提出了一种新的基于Wasserstein距离的回归损失函数。首先,将旋转的bbox 转换为二维高斯分布:

^ 是旋转矩阵,是特征值的对角向量。对于上述任意两个概率测度之和,它们的Wasserstein 距离可以表示为:

公式2计算所有随机向量组合,将其代入高斯分布,转换为:

特别注意:

考虑到可互换情况(水平目标检测),式3可以转化为:

是弗罗贝尼乌斯范数。这里的bbox都是水平的。公式5近似于-norm损失,表明Wasserstein距离与水平检测任务中常用的损失一致,可以用于回归损失。这里的公式计算比较复杂。如果您有兴趣,可以阅读参考资料。

Gaussian Wasserstein Distance Regression Loss论文使用非线性变换函数将GWD映射到,得到类似于IoU损失的函数:

上图还描述了使用不同非线性函数的损失函数曲线。可以看出,公式6非常接近IoU损失曲线,也可以测量不相交的bbox。因此,式6显然可以满足要求1和要求2。我们开始分析Requirement3,首先给出公式1的特点:

根据特征1可以看出,GWD损失函数等于OpenCV形式和长边形式,即模型不需要固定特定的bbox表达形式进行训练。以Case2的Way1为例,GT和预测具有相同的均值和方差,GWD损失函数不会输出更大的损失值。根据特征2和3,Case2和Case3的way1也不会产生较大的损失值,因此GWD损失函数也满足要求3。总体而言,GWD在旋转目标检测方面的优势如下:

GWD使得bbox的不同定义形式相等,保证模型能够专注于提高准确率,而不用担心bbox的定义形式。 GWD 是IoU 损失的可微分替代方案,并且与检测指标高度一致。而且,GWD可以测量不相交的bbox之间的距离,类似于GIoU和DIoU的特性。 GWD避免了旋转角度回归区间不连续问题和平方问题,降低了模型的学习难度。总体损失函数设计论文采用RetinaNet作为基本检测器,bbox表示为,实验主要采用OpenCV形式,回归目标定义为:

变量、分布代表GT、锚点和预测结果。最终的多任务损失函数为:

是锚点编号,是前景或背景的指示符,是预测的bbox,是GT,是GT的标签,是预测的标签,是超参数,是焦点损失。

实验比较特定问题的其他解决方案。

在DOTA数据集上比较多个模型,论文还有很多其他实验。如果您有兴趣,可以查看一下。

结论论文详细描述了当前旋转目标检测的主要问题,提出将旋转回归目标定义为高斯分布,并使用Wasserstein距离来衡量高斯分布之间的距离进行训练。目前,常规目标检测中将回归转换为概率分布函数的方法有很多。这篇文章有同样的目的,值得一读。

参考内容两个高斯之间的Wasserstein 距离- https://djalil.chafai.net/blog/2010/04/30/wasserstein-distance- Between-two-gaussians/如果本文对您有帮助,请点赞或阅读~更多内容请关注微信公众号【小飞的算法工程笔记】

工作与生活的平衡。

猜你喜欢