关于机器学习:GWD基于高斯Wasserstein距离的旋转目标检测-ICML-2021

45次阅读

共计 4397 个字符,预计需要花费 11 分钟才能阅读完成。

  论文详细描述了以后旋转指标检测的次要问题,提出将旋转回归指标定义为高斯分布,应用 Wasserstein 间隔度量高斯分布间的间隔用于训练。目前,惯例指标检测也有很多将回归转化为概率分布函数的做法,本文有殊途同归之妙,值得浏览

起源:晓飞的算法工程笔记 公众号

论文: Rethinking Rotated Object Detection with Gaussian Wasserstein Distance Loss

  • 论文地址:https://arxiv.org/abs/2101.11952
  • 论文代码:https://github.com/yangxue0827/RotationDetection

Introduction


  任意朝向的指标在检测数据集中无处不在,绝对于程度的指标检测,旋转指标检测仍处于起步阶段。目前,大多数 SOTA 钻研都集中于回归指标的旋转角度,而解决旋转角度则带来新的问题:i) 指标与损失不统一。ii) 旋转角度回归区间不间断。iii) 方形问题。事实上,以上的问题还没有很好的解决方案,这会极大地影响模型的性能,特地是在角度在范畴边界的状况。

  为了解决上述问题,论文提出了 GWD 办法,首先应用二维高斯分布来对旋转指标进行建模,而后应用 Gaussian Wasserstein Distance(GWD)来代替不可微的旋转 IoU,依据 GWD 计算 loss 值,这样就将模型训练和度量规范对齐了。
  论文的次要奉献有以下几点:

  • 总结了旋转指标检测的三个次要问题。
  • 应用 Gaussian Wasserstein Distance(GWD)形容旋转 bbox 间的间隔,再用 GWD 计算代替 IoU 损失的 loss,且是可微的。
  • GWD-based 损失可能解决旋转角度范畴不间断问题和方形问题,且对 bbox 的定义形式没有要求。
  • 在多个公开数据集上进行测试,论文的办法均有不错的体现。

Rotated Object Regression Detector Revisit


Bounding Box Definition

  图 2 展现了两种旋转 bbox 的定义形式:OpenCV 模式 $D_{oc}$ 和长边模式 $D_{le}$,前者的角度为 $h_{oc}$ 和横坐标的夹角 $\theta\in[-90^{\circ},0^{\circ})$,后者的角度则为长边与横坐标的夹角 $\theta\in[-90^{\circ},90^{\circ})$,两种定义能够进行互相的转换(不思考中心点):

  两种示意办法的次要差别在于边程序和角度 $(h,w,\theta)$,雷同的 bbox 用不同的表达方式,可能须要替换边的程序或角度加减 90。在当初很多的钻研中,将模型的设计与 bbox 的定义进行耦合来防止特定的问题:如 $D_{oc}$ 可防止方形问题,$D_{le}$ 可防止边替换问题。

Inconsistency between Metric and Loss(指标与损失不统一问题)

  IoU 是检测畛域的重要评测指标,但在理论训练中应用的回归损失函数 (如 $l_n$-norms) 与评测指标往往存在不统一的问题,即更小的损失值并不等于更高的性能。目前,不统一问题在程度指标检测畛域曾经有了一些应答措施,如 DIoU 和 GIoU。而在旋转指标检测畛域,因为角度回归的退出,使得不统一问题更加突出,但目前仍没有很好的解决方案,论文也列举了一些例子来比照 IoU 损失和 smooth L1 损失:

  • Case 1: 角度差值与损失值之间的关系,曲线几何都是枯燥的,但只有 smooth L1 曲线是凸曲线,能优化到全局最优解。

  • Case 2: 长宽比差别与损失值之间的关系,smooth-l1 损失值是固定的(次要来自于角度差别),而 IoU 损失则随着横轴激烈变动。

  • Case 3: 中心点偏移对损失值的影响,曲线都是枯燥的,但 smooth L1 曲线与差值大小没有高度一致。

  从下面的剖析能够看出,在旋转指标检测畛域,IoU 损失更能填补评判准则与回归损失间的差别。但很遗憾,在旋转指标检测畛域,两个旋转 bbox 间的 IoU 计算是不可微的,不能用于训练。为此,论文基于 Wasserstein distance 提出可微的损失来代替 IoU 损失,顺便也能够解决旋转角度回归区间不间断问题和方形问题。

Boundary Discontinuity and Square-Like Problem(旋转角度回归区间不间断以及方形问题)

  上图的 Case1- 2 总结了旋转角度回归区间不间断问题,以以 OpenCV 模式的 Case 2 为例,对于 anchor$(0,0,70,10,-90^{\circ})$ 以及 GT$(0,0,10,70,-25^{\circ})$,存在两种回归的办法:

  • way1 逆时针旋转一个小角度即可,预测后果为 $(0,0,70,10,-115^{\circ})$,但因为角度的周期性 (PoA) 和边程序替换(EoE),若应用 smooth L1 损失函数,这个后果与 GT 间会产生微小的损失值。另外,这个角度也超出了预约的角度范畴。
  • 抉择 way2 则须要在缩放宽高的同时,顺时针旋转一个大的角度。

  上述的问题通常呈现在 anchor 和 GT 的角度在角度范畴的边界地位时,当 anchor 和 GT 的角度不在边界地位时,way1 则不会产生微小的损失值。因而,对于 smooth-L1,边界角度和非边界角度的最优解决会太统一,这也会妨碍模型的训练。

  方形问题次要呈现在应用长边模式的检测办法中,因为方形指标没有相对的长边,长边模式对方形指标的表白自身就不惟一。以 Case3 为例,存在 anchor$(0,0,45,44,0^{\circ})$ 以及 GT$(0,0,45,43,-60^{\circ})$,way1 能够顺时针旋转一个小角度变成地位与 GT 统一的 $(0,0,45,43,30^{\circ})$。但因为角度差距较大,way1 会产生较高的回归损失。因而,须要像 way2 那样逆时针旋转较大的角度。造成方形问题的次要起因并不是后面提到的 PoA 和 EoE,而是度量规范和损失计算的不统一导致的。

The Proposed Method


  通过上述的剖析,论文心愿新的旋转指标检测办法的回归损失函数满足以下几点:

  • Requirement1: 与 IoU 度量规范高度一致。
  • Requirement2: 可微,容许间接学习。
  • Requirement3: 对角度回归范畴的边界场景更为平滑。

Wasserstein Distance for Rotating Box

  目前大多数 IoU 损失都可认为是间隔函数,基于此,论文基于 Wasserstein distance 提出新的回归损失函数。首先,将旋转 bbox$\mathcal{B}(x,y,h,w,\theta)$ 转化为 2 - D 高斯分布 $\mathcal{N}(m,\sum)$:

  $R$ 为旋转矩阵,$S$ 为特征值的对角向量。对于 $\mathbb{R}^n$ 上的任意两个概率测度 $\mu$ 和 $\upsilon$,其 Wasserstein 间隔 $W$ 可表白为:

  公式 2 对所有的随机向量组合 $(X,Y)\in\mathbb{R}^n\times\mathbb{R}^n,X\sim\mu,Y\sim\upsilon$ 进行计算,代入高斯分布 $d:=W(\mathcal{N}(m_1,\sum_1);\mathcal{N}(m_2,\sum_2))$,转换失去:

  特地要留神:

  思考在可替换的状况(程度指标检测)$\sum_1\sum_2=\sum_2\sum_1$ 下,公式 3 可转换为:

  $\parallel\parallel_F$ 为 Frobenius 范数,这里的 bbox 均是程度的,公式 5 近似于 $l_2$-norm 损失,表明 Wasserstein 间隔与程度检测工作中罕用的损失统一,可能用于回归损失。这里的公式推算比较复杂,有趣味的能够看看参考文献。

Gaussian Wasserstein Distance Regression Loss

  论文采纳非线性转化函数 $f$ 将 GWD 映射为 $\frac{1}{\tau+f(d^2)}$,失去相似于 IoU 损失的函数:

  后面的曲线图也形容了应用不同非线性函数 $f$ 下的损失函数曲线,能够看到公式 6 非常贴近 IoU 损失曲线,也能度量无相交的 bbox。因而,公式 6 显然能够满足 Requirement1 和 Requirement2,上面开始剖析 Requirement3,先给出公式 1 的个性:

  依据个性 1 可知,GWD 损失函数对于 OpenCV 模式和长边模式是相等的,即模型不须要固定特定 bbox 表达形式进行训练。以 Case2 的 Way1 为例,GT$(0,0,70,10,65^{\circ})$ 和预测 $(0,0,70,10,-115^{\circ})$ 领有雷同的均值 $m$ 和方差 $\sum$,GWD 损失函数不会输入较大的损失值。而依据个性 2 和个性 3,Case2 和 Case3 的 way1 同样不会产生较大的损失值,所以 GWD 损失函数也满足 Requirement3。
  整体而言,GWD 在旋转指标检测的劣势有以下几点:

  • GWD 使得 bbox 的不同定义模式相等,保障模型可能专一于准确率晋升,不须要顾虑 bbox 的定义模式。
  • GWD 是可微的 IoU 损失代替计划,与检测指标高度一致。而且,GWD 能够度量无相交 bbox 间的间隔,相似于 GIoU 和 DIoU 的个性。
  • GWD 防止了旋转角度回归区间不间断问题和方形问题,升高了模型的学习难度。

Overall Loss Function Design

  论文将 RetinaNet 作为根底检测器,bbox 示意为 $(x,y,w,h,\theta)$,试验次要采纳 OpenCV 模式,回归指标定义为:

  变量 $x$,$x_a$,$x^{*}$ 散布代表 GT,anchor 和预测后果,最终的多任务损失函数为:

  $N$ 为 anchor 数,$obj_n$ 为前景或背景的指示器,$b_n$ 为预测 bbox,$gt_n$ 为 GT,$t_n$ 为 GT 的标签,$p_n$ 为预测标签,$\lambda_1=1$ 和 $\lambda_2=2$ 为超参数,$L_{cls}$ 为 focal loss。

Experiments


  比照其余针对特定问题的解决方案。

  在 DOTA 数据集上比照多个模型,论文还有很多其余试验,有趣味的能够去看看。

Conclusion


  论文详细描述了以后旋转指标检测的次要问题,提出将旋转回归指标定义为高斯分布,应用 Wasserstein 间隔度量高斯分布间的间隔用于训练。目前,惯例指标检测也有很多将回归转化为概率分布函数的做法,本文有殊途同归之妙,值得浏览。

参考内容

  • Wasserstein distance between two Gaussians – https://djalil.chafai.net/blo…


如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

正文完
 0