点击上方“CVer”,选择加"星标"或“置顶”
重磅干货,第一时间送达
R3Det 在HRSC2016上无论是准确率还是速率都远超其他方法
旋转目标检测是一项有挑战性的任务,因为难以定位多角度物体并且与背景准确和快速的分离。虽然已经取得了长足的进步,但在实际设置中,对于大宽高比,密集分布和类别不平衡的旋转目标检测仍然存在困难。
在这篇论文中,提出了一种快速,准确且端到端的的旋转目标检测器。考虑到现有精炼单级检测器的特征未对齐的缺点,这篇论文设计了一个特征精炼模块来获取更准确的特征以提高旋转目标检测性能。
特征精炼模块的关键思想是通过特征插值将当前精炼的边界框位置信息重新编码为对应的特征点,以实现特征重构和对齐。
在DOTA,HRSC2016和ICDAR2015数据集上进行的广泛实验显证明了这种算法的有效性。目前这篇论文的代码已开源。
论文链接:https://arxiv.org/abs/1908.05612
代码地址:https://github.com/Thinklab-SJTU/R3Det_Tensorflow
研究背景
目标检测是计算机视觉中的基本任务之一,并且已经有很多高性能的通用目标检测器被提出。当前流行的目标检测器可以分为两种:单阶段和双阶段。双阶段方法在各种基准上取得了可喜的结果,而单阶段的方法则实现了更快的检测速度。
然而,当前常规水平目标检测器对于许多实际的应用具有局限性。例如文本检测和遥感目标检测,因为目标可以在任何方向和位置。
因此,在文本检测和遥感目标检测场景中已经提有很多基于一般检测框架的旋转目标检测器被提出。实际上,在文本检测和遥感目标检测领域主要面临三个挑战:
1)大长宽比:对于大长宽比的目标,SkewIOU分数对角度的变化十分敏感,如Figure3所示;
2)密集排列:如Figure6所示,许多目标通常以密集排列的形式出现;
3)类别不平衡,很多多类旋转目标数据集的类别极度不平衡,如Figure7所示。
在这篇论文中,主要讨论如何设计一个精确且快速的旋转目标检测器。
为了对大长宽比的目标保持较高的定位精度和速度,论文采使用了精炼单级旋转目标检测器。
首先,
论文发现旋转锚框(Anchors)可以在目标密集场景发挥更好的效果,而水平锚框可以以更少的数量实现更高的召回率
。因此,在本文精炼的单级检测器中使用两种形式的锚框进行组合,即在第一阶段使用水平锚框以提高速度和产生更多候选框。然后在精炼阶段去使用旋转锚框以适应目标密集场景。
第二,
论文还指出现有的精炼单级检测器存在特征未对齐的问题,极大的限制了分类和精炼阶段回归的可靠性
。本文设计了一个特征精炼模块(FRM),该模块使用特征插值来获取精炼Anchor的位置信息并重建特征图实现特征对齐。FRM还可以在第一阶段之后减少精炼边界框的数量,从而加速模型。
将这三种技术结合在一起,本文的方法可以在三个公开旋转目标检测数据集(包括DOTA,HRSC2016和ICDRA2015)上实现SOTA性能。
相关工作
双阶段目标检测器和单阶段目标检测器就不细说了,应该都非常熟悉了。这里主要说一下旋转目标检测和精炼目标检测器这两方面的相关工作。
遥感和文本检测是旋转目标检测器的主要应用场景。由于遥感影像场景的复杂性以及拥有大量小的,杂乱和旋转的目标,双阶段旋转目标检测器仍然是最鲁棒的选择,例如ICN,ROI-Transformer和SCRDet。但是它们使用了相对复杂的结构导致速度较慢。对于文本检测,有许多有效的旋转目标检测方法,包括双阶段的方法(R2CNN,RRPN,FOTS)和单阶段的方法(EAST,TextBoxes)。
为了获得更好的定位精度,许多级联或者精炼目标检测器被提出。Cascade RCNN,HTC和FSCascade在第二阶段执行了多次分类和回归,极大的提高了分类的准确性和定位精度。
同样的想法也适用于单级检测器,例如RefineDet。和双阶段检测器不同,后者使用ROI Pooling或ROI Aligin进行特征对齐。
在特征对齐方面,当前的精炼目标检测器不能很好的解决这个问题。精炼单阶段目标检测器的一个关键要求是保持一个全卷积网络结构,这可以获得速度优势,但是诸如ROIAlign之类的方法无法满足要求,因此不得不引入全连接层。
尽管一些工作使用可变形卷积进行特征对齐,但其偏移参数通常是通过学习预定义Anchor和精炼Anchor之间的偏移量来获得的。这些基于可变性卷积的特征对齐方法的一个目的是扩大感受野,这个感受野往往是不明显并且不能确保特征真正对齐。
特征对齐仍然限制着精炼单级目标检测器的性能。与这些方法相比,本文的方法通过计算可以清楚的找到对应的特征区域,并通过特征图重建达到特征对齐的目的。
方法
此方法是一个基于RetinaNet的单级旋转目标检测器,命名为R3Det。
将精炼阶段(可以多次添加和重复)添加到网络以精炼边界框,并在精炼阶段添加特征精炼模块(FRM)以重建特征图。
在单阶段旋转目标检测任务中,对预测边界框进行连续的精炼可以提高回归精度,因此特征精炼是必要的。应该注意的是,FRM也可以在其他单级检测器如SSD中使用。
1、带旋转目标检测功能的RetinaNet
RetinaNet是目前最先进的单级目标检测器之一。它主要由两部分组成:主干网络,分类和回归子网络。RetinaNet采用特征金字塔网络(FPN)作骨干网络。
简而言之,FPN通过自顶向下的路径和横向连接来增强卷积神经网络,从而有效地从单分辨率输入图像中构造出丰富的多尺度特征金字塔,金字塔的每一层都可以用来探测不同尺度的物体。
此外,FPN的每一层都连接分类和回归子网,用于预测目标类别和位置。注意,目标分类子网和目框回归子网虽然结构一样,但使用单独的参数。RetinaNet提出了Focal Loss来解决类别不平衡引起的问题,大大的提到了单级目标检测器的精度。
为了实现基于RetinaNet的旋转目标检测器,我们使用了5个参数 来代表有方向的目标框。数据范围为 的 表示矩形的高 相对于 轴的锐角的角度。因此,在回归子网中要求预测附加角度偏移,旋转边界框表示为:
其中, 表示边界框的中心坐标,长,宽和角度。变量 分别代表GT框,Anchor框,预测框坐标,其他变量类似。这个多任务损失函数如下:
其中N表示Anchor的数目, 是一个二元值(对于前景区域取1,背景区域取0,即只对目标框回归)。 表示预测的偏移量, 表示GT信息。 表示目标的类别标签, 代表用Sigmoid函数算出来多类别概率分布(多类别意思是多个单独的类别,为了配合Focal Loss使用)。超参数 , 控制着这两个损失的平衡,并且默认值为1。 和 分别是用Focal Loss和smooth L1 Loss计算的。
倾斜交并比分数(SkewIOU)对角度很敏感,轻度的偏移都会导致SkewIOU快速下降,如Figure3所示。因此,对预测框的精炼有助于提高旋转目标检测的召回率。本文将不同的IOU阈值应用于不同的精炼阶段。除了在第一阶段使用前景IOU阈值0.5和背景IOU阈值0.4以外,将第一个精炼阶段的前景阈值和背景阈值分别设置为0.6和0.5。如果有多个精炼阶段,则剩余阈值是0.7和0.6。精炼检测器的总损失为:
其中 是第 个精炼阶段的损失值,平衡系数 默认设置为1。
许多精炼检测器仍然使用相同的特征图来执行多个分类和回归,而没有考虑边界框位置变化引起的特征未对齐。
Figure4(b)展示了没有特征对齐的框精炼过程,导致了特征不准确,这对于大宽高比和数量少的样本是不利的。本文提出将当前精炼的边界框(橙色矩形)的位置信息重新编码为相应的特征点(红色的点),然后通过重建整个特征图来实现特征对齐。整个过程如Figure4(c)所示,为了准确的获取精炼边界框的位置特征信息,本文使用了双线性插值的方法,公式表示如下:
基于以上结果,本文设计了特征精炼模块,其结构和伪代码如Figure5和Algorithm1所示。
具体地,通过双路卷积来叠加特征图获得新的特征。在精炼阶段,只保留每个特征点得分最高的边界框,来提高速度,同时也保证了每个特征点仅对应一个精炼的边界框。对于特征图的每个特征点,论文根据精炼边界框的5个坐标(一个中心点,四个角点)获得特征图上的相应特征向量。通过双线性插值可以获得更加准确的特征向量。接下来,论文添加了5个特征向量来替换之前的特征向量。遍历特征点后,将重建整个特征图。最后将重构的特征图添加到原始特征图中以完成整个过程。
解决特征偏移的FRM模块的核心是特征重构。和其它两级旋转目标检测器(包含R2CNN,RRPN等)使用的ROIAlign相比,FRM精度速度均有优势,如Table5所示。
1)ROI Align具有更多的采样点(默认有7x7x4=196个),而减少采样点会极大的影响目标检测器的性能。FRM仅仅采样5个特征点,约为ROI Align的1/40,这为FRM提供了巨大的速度优势。
2)在进行分类和回归之前,ROI Align仅需要获得与ROI对应的特征。相比之下,FRM首先获得与特征点对应的特征(实例级别),然后重建整个特征图(图像级别)。最终,与基于ROI Align的全连接网络结构相比,基于FRM的方法可以获得更高效率和更少参数的全卷积结构。
实验
论文使用Tensorflow实现了代码,并在RTX 20180Ti上对航空和文本数据场景进行测试。
论文在DOTA航空图像数据集,HRSC2016海上船体数据集和ICDAR2015文本数据集上进行评测。论文使用ResNet-FPN,MobileNetV2-FPN作为BackBone进行实验,所有的Backbone都是在ImageNet上预训练后的。权重惩罚和动量分别为0.0001和0.9。Anchor的尺寸在金字塔的P3-P7特征图上从32x32变到512x512,在每一个金字塔层次上Anchor使用的宽高比为{1,/1/2,2,1/3,3,1/5,5},尺度为{2^0, 2^{1/3}, 2^{2/3}}。对于基于旋转Anchor的检测器,论文再为每个Anchor添加6个旋转角度{-90°,-75°,-60°,-45°,-30°,-15°}变成旋转Anchor。
Anchor的铺设对于基于区域的检测模型非常重要,水平Anchor和旋转Anchor均可以达到旋转检测的目的,但各有优缺点。水平Anchor的优点是可以通过使用GT框外接矩形来计算IOU,从而使用较少的Anchor来匹配更多的正样本。但对于大长宽比的目标,其旋转边界框往往不准确,如Figure6(a)所示。
相反,在Figure6(b)中,旋转Anchor通过添加角度参数避免引入噪声区域,且在密集场景中具有更好的检测性能。但是,Anchor数量成倍增加,使得模型的效率降低。
下面的Table1展示了BaseLine模型以及添加FRM和数据增强方法在DOTA数据集上的消融实验结果,证明了FRM的有效性。
而下面的Table2和Table3则分别展示了使用不同的插值策略以及不同精炼阶段数量的消融实验结果。
下面的Table4展示了本文的模型和当前的SOTA旋转目标检测方法在DOTA数据集上的测试结果对比,可以看到本文提出的R3Det实现了SOTA精度。
论文在Table5和Table6中还给出了在HRSC2016和ICDAR2015数据集上的精度和速度测试结果,可以看到在同等精度下,R3Det的速度也具有竞争力。
同时,论文提出的FRM模块还可以嵌入到其它的单级目标检测框架如SSD中,提升目标检测性能。测试结果如Table7所示。
结论
这篇论文针对航空和文本数据集中常常出现的大长宽比,密集分布和类别极度不平衡的旋转目标提出一种端到端的精炼旋转目标检测器。
考虑到当前单级精炼检测器中有特征未对齐的缺点,本文设计了一个特征精炼模块(FRM)来提高检测性能,这在长尾数据集中特别有效。
FRM的主要思想是通过特征插值将当前精炼的边界框位置信息重新编码到对应的特征点上,以实现特征重构和对齐。
论文在DOTA,HRSC2016和ICDAR2015数据集上的进行了丰富的消融实验和对比实验,证明了本方法可以高效的实现SOTA的检测精度。论文已经开源,感兴趣的同学可以结合源码进一步理解此算法。
重磅!CVer-学术微信交流群已成立
扫码添加CVer助手,可申请加入CVer大群和细分方向技术群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索等群。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲长按加群
▲长按关注我们
麻烦给我一个在看!