旋转目标检测 | R3Det,基于特征精炼的单阶段检测模型

2022-04-11 09:43:56 浏览数 (1)

R3det: Refined single-stage detector with feature refinement for rotating object

论文发表:AAAI 2021 论文链接:https://ojs.aaai.org/index.php/AAAI/article/view/16426/16233 论文代码:https://github.com/Thinklab-SJTU/R3Det_Tensorflow

代码语言:javascript复制
@article{yang2019r3det,
  title={R3det: Refined single-stage detector with feature refinement for rotating object},
  author={Yang, Xue and Liu, Qingqing and Yan, Junchi and Li, Ang and Zhang, Zhiqiang and Yu, Gang},
  journal={arXiv preprint arXiv:1908.05612},
  volume={2},
  number={4},
  pages={2},
  year={2019},
  publisher={Aug}
}

1. 归纳总结

标签

目的

方法

总结

#遥感 #单阶段 #Anchor

针对单阶段精炼检测器特征未对齐的问题,提出了FRM模块

RRetinaNet Based,FRM,SkewIou

精炼

2. 问题背景

作者称对于旋转目标检测存在三个挑战:

  • 大宽高比
  • 密集排列
  • 方向任意

3. 主要工作

针对上述问题,作者提出了R3Det,其主要工作如下:

  • progressive regression: 作者发现旋转框在密集场景下的能有较好的目标检测精度,而水平框能达到更好的召回率,因此使用了这两种形式的框进行组合,具体做法是第一阶段检测水平框,从而提升检测速度,提高召回率,第二阶段也就是精炼阶段(refinement stage)检测旋转框,以适应密集目标的检测。
  • feature refinement module:针对现有的单阶段refined detector,作者发现他们存在特征没对齐的问题,因此设计了一个特征精炼模块,使用特征插值来获取精炼的位置信息并重建特征图实现特征对齐,并且该模块还可以减少精炼边界框的数量,提升检测速度。
  • approximate SkewIoU loss:为解决Skew IoU计算不可微的问题,设计了一种近似SkewIoU损失,以获得更精确的旋转估计。

3.1 模型结构

R3Det主要基于 RetinaNet 实现,结构如下:

3.2 边界框定义

对于边界框(x,y,w,h,theta),其中x,y代表中心点坐标,w,h代表宽和高,theta in [-frac{pi}{2},0)代表角度,边界框回归的值为:

其中x,x_a,x’分别代表gt,anchor以及预测值,其余同上。

损失函数为:

其中v’为预测的偏移量向量,v代表gt的偏移量向量。其中N表示Anchor的数目,超参数 lambda_1lambda_2 控制着这两个损失的平衡,并且默认值为1。L_{cls}L_{reg} 分别是Focal Loss和smooth L1 Loss。

3.3 精炼检测

Skew IoU对于角度十分敏感,因此作者在第一阶段使用0.5为前景阈值,0.4为背景阈值,在精炼的第一阶段使用0.6为前景阈值,0.5为背景阈值,如果有多段精炼阶段,使用0.7以及0.6为阈值。总损失:

L_{total}=sum_{i=1}^Nalpha_iL_i

其中Li为第i个精炼阶段的损失,αi为平衡系数,默认为1.

3.4 特征精炼模块

许多精炼检测器仍然使用相同的特征图来执行多个分类和回归,而没有考虑边界框位置变化引起的特征未对齐。因此作者提出将当前精炼边界框(橙色矩形)的位置信息重新编码为对应的特征点(红色点),从而以逐像素的方式重构整个特征图,实现特征对齐。整个过程如上图(c)所示。为了准确地获取精炼后的包围框对应的位置特征信息,采用了双线性特征插值方法,如上图(a)所示。特征插值可以表示为:

其中A代表图(a)中的区域,Fin mathbb{R}^{Ctimes 1times 1}代表特征图上点的特征向量。

算法流程:

4. 实验结果

0 人点赞