AFF-Det: 通过自适应多级特征融合实现航空图像中的精确定向目标检测


论文链接:《Towards Accurate Oriented Object Detection in Aerial Images with Adaptive Multi-level Feature Fusion》
代码链接:暂无

本文中提出了一种新型的两阶段检测器,该检测器具有自适应特征融合功能,可以实现航空图像中高精度的定向物体检测,命名为AFF-Det。

摘要

检测航空图像中的物体是一个挑战性的问题,因为航空图像中的物体在尺寸和方向上有很大的不同。大多数现有的基于神经网络的方法都不够强大,无法在航空图像中提供准确的定向物体检测结果,因为它们没有考虑不同层次和尺度的特征之间的相关性。

本文中提出了一种新型的基于网络的两阶段检测器,该检测器具有自适应特征融合功能,可以实现航空图像中高精度的定向物体检测,命名为AFF-Det。 首先,一个多尺度特征融合模块(MSFF)建立在提取的特征金字塔的顶层,以减轻小尺度特征的语义信息损失。文中还提出了一种级联的定向边界盒回归方法,将水平建议转化为导向建议。

然后,将转换后的建议分配给所有的特征金字塔网络(FPN)级别,并由加权RoI特征聚合(WRFA)模块进行聚合。上述模块可以根据注意力机制在网络的不同阶段自适应地增强特征表示。最后,引入了一个旋转的解耦-RCNN头来获得分类和定位结果。作者在DOTA和HRSC2016数据集上进行了广泛的实验,以证明AFF-Det的优势。 在这两个数据集上,最佳检测结果可以分别达到80.73%mAP和90.48%mAP,超过了最近的最先进方法。

一、介绍

遥感图像中的物体具有任意的方向,因此HBBs不能正确地回归目标物体的边界盒(BBoxes)。为了解决这个问题,两阶段AFF-Det利用定向边界框(OBB)回归分支来定位定向物体。引入了参数θ来表示一个定向物体的方向。AFF-Det提出了一个级联的OBB回归(COR)结构,以将水平的提议转化为定向的提议。基于定向建议,区域特征和定向目标之间的错位可以被消除。因此,我们可以取得比基于HBB的检测器更好的检测结果。

传统的检测器按照自下而上的途径与骨干网络一起提取航空图像特征。从主干网络提取特征后,顶层的特征图被缩放到非常小的尺寸。而这些顶层特征图的通道通常会从2048个减少到256个,然后再从上到下建立FPN。因此,最高层的特征受到了最严重的语义信息损失。为了解决这个问题,作者用基于自我注意机制的多尺度聚合特征来自适应地增强顶层特征表示。然后,增强的多尺度特征被融合和传播以建立FPN。所提出的方法可以极大地缓解小型和集群物体领域的语义信息损失。

此外,基于FPN的两阶段检测器通常从FPN中不同层次的特征图中预测感兴趣区域(RoIs),并采用RoIAlign来提取RoI特征。一般来说,RoI将被分配到不同级别的FPN中,与RoI的尺度有关。具体来说,小尺度的RoI往往会被分配到较低的FPN特征级别,反之亦然。然而,传统方法的分配函数是根据经验用硬编码的超参数得到的,它对航空图像不具有适应性。由于航空图像很大,并且有尺度不同的物体,基于ImageNet的预设分配函数不适合训练。在AFF-Det检测器中,将RoI映射到所有的FPN级别,并在不依赖赋值函数的情况下汇总提取的特征。此外,还以不同的权重自适应地融合和增强来自不同层次的RoI特征。所提出的方法可以自适应地增强网络中的特征,因此可以达到比以前的方法更高的检测精度。

本文提出了一个基于Faster-RCNN的两阶段检测器,用于航拍图像中的定向物体检测。首先,为了自适应地增强backbone提取的特征并减轻语义信息损失,在提取的特征金字塔的顶层建立了一个多尺度特征融合(MSFF)模块。在RPN之后,生成的水平建议首先通过级联的OBB回归头转化为定向建议;然后将旋转的建议分配给所有FPN层,以提取旋转不变的RoI特征。这些特征通过加权RoI特征聚合(WRFA)模块进行自适应融合。最后,引入一个旋转解耦的RCNN头来分类和定位定向物体。与以前的方法不同,旋转的解耦RCNN头没有共享的全连接(FC)层来处理提取的特征;它拥有两个独立的网络分支来获得面向物体的分类和定位结果。

本文的主要贡献如下:

  • 提出了一种新型的两阶段物体检测器,以实现航空图像中高度准确的定向物体检测。提出了级联的OBB回归(COR)方法,以缓解水平建议框和定向真实框之间的不匹配。因此,区域特征可以被提取出来与定向目标相一致,并且结果可以得到明显的提升。
  • 提出了MSFF和WRFA模块,可以自适应地融合具有不同权重的多层次航空图像特征,以减轻语义和背景信息的损失。
  • 引入了旋转的解耦RCNN头,为定向物体检测分别执行分类和定位任务,与耦合的RCNN头相比,它可以实现更好的性能。
  • 为了平衡检测性能和模型复杂度,提出了AFF-Det的轻量级版本,即AFF-Det-Lite。AFF-Det-Lite在DOTA基准测试中可以达到非常有竞争力的准确度,同时大幅降低计算成本。
  • 实验结果表明,所提出的AFF-Det在广泛使用的DOTA和HRSC2016数据集上可以达到最先进的精度。

二、相关工作

一般的物体检测器主要可分为两类:单阶段检测器和双阶段检测器。在这一节中,回顾了为解决基于这两类检测器的定向物体检测问题而提出的方法。

三、方法

3.1 网络结构


图2:框架的整体结构。为了简单起见,本图中省略了提议的级联OBB回归结构。


AFF-Det由主干网络、特征金字塔网络(FPN)、MSFF和WRFA模块、级联的OBB回归头和旋转的解耦RCNN组成。backbone使用ResNet来产生不同层次的特征图,用{C2,C3,C4,C5}表示。然后使用这些特征图建立FPN,并将金字塔级别表示为{P2, P3, P4, P5}。所有用于RoI特征提取的金字塔特征有256个通道。MSFF模块增强了顶层的特征图C5,它的上下文和语义信息损失最为严重。在FPN之后建立了一个级联回归结构来学习旋转的建议,这可以更好地模拟定向目标。在WRFA模块中,Rotated-RoIAlign被用来从基于旋转的RoIs的FPN的每一层中提取特征。这些特征以不同的权重被自适应地融合在一起。然后,来自WRFA模块的融合特征被送入解耦-RCNN头,用于定向物体检测。卷积层和全连接层在解耦RCNN头中分别用于物体分类和定位。

3.2 多尺度特征融合模块(MSFF)

为了建立FPN,所有从骨干中提取的特征{C2,C3,C4,C5}都要经过1×1的卷积层,将特征通道减少到256个。然后,FPN在一个自上而下的路径中通过上采样和element-wisely将多尺度特征P5加入到P2中来融合这些特征。然而,航空图像中存在极小的物体,其相应的特征在金字塔级别C5将被缩减到非常小的尺寸。此外,为了建立FPN,C5的通道通常从2048个减少到P5的256个。基于以上两个原因,FPN中的P5在准确预测检测结果方面有明显的语义信息损失。

图3:多尺度特征融合(MSFF)模块的网络结构。为了简单起见,图中省略了卷积层之前的ReLU激活函数。


图3显示了所提出的MSFF模块的网络结构。首先,通过使用自适应平均池化(AAP)对原始单尺度特征C5生成多尺度特征。考虑到大小为H×W的特征图,多尺度特征的生成可表示为如下:
H i × W i = ( S i × H ) ( S i × W ) H_i×W_i=(S_i×H)(S_i×W) Hi​×Wi​=(Si​×H)(Si​×W)
其中,Si是人工定义的特征尺度,i∈{1, . . . n}是不同特征尺度的数量。
自适应平均池化可以增强和聚集不同尺度的特征。然后,通过双线性插值对多尺度增强的特征进行上采样,使其具有与C5相同的形状H×W。上采样的数量等于特征尺度的数量n。
在接下来的步骤中,如图3所示,特征被合并起来并分成两个分支。第一个分支利用1×1和3×3卷积层将特征通道减少到尺度数n;然后沿通道维度采用sigmoid函数将每个通道的值自适应归一化为(0,1)之间。归一化的值现在分别代表每个特征尺度的权重。另一个分支首先将原始特征和相应的权重按通道相乘,然后将它们求和,得到最终的增强融合特征。最后,我们将多尺度融合后的特征作为残差连接添加到从C5到P5的原始特征分支中。实验结果表明,由于语义信息的损失被加权的多尺度信息所补偿,MSFF模块可以明显地提高检测精度。

即先将C5按不同的缩放比例平均池化到不同的尺度,再上采样回H×W,再将这些特征concat,这时的特征是nC×H×W,然后将特征
送入分支1,得到n个(1×H×W)的权重张量,送入分支2的split成n个(C×H×W)的张量,然后相乘得到n个(C×H×W)的张量,然后按n维度求和得到(C×H×W)的特征矩阵,把这个特征矩阵当做残差链接加到原本FPN得到的P5上去得到新的P5。

3.3 级联的定向框回归

依靠水平建议会在航空图像中引入RoI特征和定向物体之间的错位。单个探测头很难在水平建议和定向目标BBoxes的情况下统一表现。受Cascaded-RCNN工作的启发,将困难的OBB回归任务分解为两个连续的步骤,如图4所示。

图4:级联定向边界框回归方法(COR)的示意图。I是输入图像,C是分类。HB0表示水平建议; RB1表示vanilla coupled-RCNN检测头H1的旋转BBox输出; RB2表示旋转解耦-RCNN头H2的重构旋转BBox输出。


在这项工作中,作者以从粗到细的方式回归OBBs。在第一个粗回归步骤中,将水平建议(HB0)送入第一个普通的耦合-RCNN检测头H1,以便将其与定向真实框进行回归。第一个检测头将预测水平RoI(HRoI)和定向真实框之间的角度差。在第一个探测头之后,我们可以用预测的角度将水平的RoI转化为旋转的RoI(RRoI)。与HRoI相比,RRoI与定向真实框的不匹配较少。然后,在重构阶段,RRoIs被送入旋转解耦RCNN头H2,用于区域特征提取和最终的定向物体检测。

由于要处理定向框,使用普通的 RoIAlign 操作从 FPN 中提取 RRoI 特征会导致性能下降。在旋转解耦RCNN head(H2)中,采用Rotated-RoIAlign(R-RoIAlign)操作进行旋转不变特征提取。

3.4 加权的ROI特征融合模块(WRFA)

在 FPN 中,不同的特征金字塔级别具有不同的感受野和语义信息,这有益于处理目标检测中的尺度变化问题。因此,FPN 可以显着提高小物体的检测精度,例如航拍图像。对于经典的基于区域的检测器,如 Faster-RCNN或 Mask-RCNN,按如下方程将不同尺度的 RoI 分配给不同的FPN 中的金字塔层 k:
k = [ k 0 + l o g 2 w h / 224 ] k=[k_0+log_2\sqrt{wh}/224] k=[k0​+log2​wh ​/224]
其中 k 0 k_0 k0​ 是 4,w, h 是每个 RoI 的宽度和高度。 224 是典型的 ImageNet 预训练大小。但是,由于两个原因,此分配函数不适用于遥感图像。首先,遥感图像比 ImageNet 图像大得多。因此方程中的参数 224。不适合AFF-Det。其次,方程式中的参数是硬编码的,不适应图像或特征变化。

图5:加权 RoI 特征聚合 (WRFA) 模块的网络架构。为简单起见,图中省略了卷积层上的 ReLU 激活函数。


在这项工作中,为了消除手动和规范设计的影响,作者提出了旋转解耦 RCNN 头部中的加权 RoI 特征聚合 (WRFA) 模块。与以前的方法不同,本文将转换后的 RRoI 分配给所有 FPN 层,而不是遵循手动设计的分配函数 。首先为所有FPN层 {P2, P3, P4, P5} 分配一个 RRoI,以使用 R-RoIAlign 进行特征提取。然后将每个层 i ∈ {2, 3, 4, 5} 的特征 F i ∈ R C × H × W F_i ∈ R^{C×H ×W} Fi​∈RC×H×W 连接起来并分成两个分支,可以表示如下:
F = F 2 ∘ F 3 ∘ F 4 ∘ F 5 F=F_2\circ F_3\circ F_4\circ F_5 F=F2​∘F3​∘F4​∘F5​
其中 F F F是级联特征, ∘ \circ ∘是级联操作。

作者引入了通道自注意力层来引导不同的金字塔特征来突出有意义的通道并进一步抑制无信息的通道。连接的特征首先由全局平均池化,用于生成每个特征通道的静态 z c z_c zc​。该过程正式描述如下:
z c = 1 H × W ∑ l = 1 H ∑ m = 1 W F ( c , l , m ) z_c=\frac{1}{H×W}\sum_{l=1}^H\sum_{m=1}^WF(c,l,m) zc​=H×W1​l=1∑H​m=1∑W​F(c,l,m)
其中 c 是 F F F中的第 c 个通道。将全局信息编码到通道描述符 z c z_c zc​中后,可以充分捕捉不同特征通道之间的依赖关系。特征首先通过两个 1×1 的卷积层来压缩和扩展特征通道,其性能类似于瓶颈模块

squeeze卷积和excitation卷积有两个优点:1)首先,与单个卷积层相比,它们增加了模块中的非线性并有助于泛化; 2)其次,与不减少通道相比,它们可以通过可接受的参数增加来限制模块复杂性。然后采用带有 sigmoid 函数的简单门控机制来归一化并为每个特征金字塔通道生成权重 计算过程总结如下:
W ( F ) = δ ( I 1 × 1 ( P A v g ( F ) ) ) \mathcal{W}(F)=\delta(\mathcal{I}_{1\times1}(\mathcal{P}_{Avg}(F))) W(F)=δ(I1×1​(PAvg​(F)))
其中 δ \delta δ 表示 sigmoid 函数, I 1 × 1 \mathcal{I}_{1\times1} I1×1​ 表示 1×1 卷积层, P A v g \mathcal{P}_{Avg} PAvg​ 表示用于生成静态 z c z_c zc​ 的全局平均池化函数。大小为 4 × (C × 1 × 1) 的 W ( F ) \mathcal{W}(F) W(F) 是每个特征金字塔通道的可学习权重。权重中的每个值都在 (0, 1) 之内,代表了不同通道的重要性。最后,通过求和的方式自适应地融合不同层次的特征,得到融合的特征图 F 0 F_0 F0​ 。计算过程可以表示如下:
F 0 = ∑ i = 2 5 W ( F i ) ⨂ F i F_0=\sum_{i=2}^5\mathcal{W}(F_i)\bigotimes F_i F0​=i=2∑5​W(Fi​)⨂Fi​
其中 i ∈ {2, 3, 4, 5} 对应不同的特征金字塔层, F i F_i Fi​ 枚举 { F 2 F_2 F2​, F 3 F_3 F3​, F 4 F_4 F4​, F 5 F_5 F5​}。 ⊗ 是逐元素乘法。所提出的 WRFA 模块能够自适应地从每个特征级别提取 RRoI 的特征,并学习它们的相关性以增强上下文信息。

3.5 旋转解耦-RCNN Head


图6:耦合 RCNN 头和解耦 RCNN 头之间的比较。 (a) 具有 2 个共享 FC 层的耦合 RCNN 头; (b) decoupled-RCNN head,它有一个基于 FC 层的分类分支和一个基于 Conv 层的定位分支。


3.5.1 结构

解耦 RCNN 头,它具有用于面向对象分类和定位的单独分支。在 Faster-RCNN 中,耦合检测头共享几个卷积层(Conv 层)或全连接层(FC 层)用于分类和 BBox 回归。然而,Conv 层和 FC 层对不同的检测任务具有不同的灵敏度。Conv 层可以更精确地对 BBoxes 进行编码,而 FC 层提供更准确的分类结果。
回归分支中的 K r K_r Kr​至层少有一个ResBlock。ResBlock结构如下:

图7:用于 OBB 回归的解耦 RCNN 头中使用的 ResBlock。

3.5.2 回归

采用五参数法,具体回归参数如下:

3.5.3 损失函数

训练损失函数基本上遵循 Cascaded-RCNN, AFF-Det 的损失函数可以表述如下:
L = L r p n + α L H 1 + β L H 2 L=L_{rpn}+\alpha L_{H_1}+\beta L_{H_2} L=Lrpn​+αLH1​​+βLH2​​
其中 L r p n L_{rpn} Lrpn​ 代表 RPN 的训练损失, L H 1 L_{H_1} LH1​​ 和 L H 2 L_{H_2} LH2​​ 分别代表第一个 vanilla 耦合 RCNN 头和旋转解耦 RCNN 头的训练损失。 α 和 β 是在实验中设置为 1 的平衡参数。 L H 2 L_{H_2} LH2​​损失可以进一步表示如下:
L H 2 = λ f c 1 N c l s ∑ i L c l s + λ c o n v 1 N r e g ∑ i p ^ i L r e g ( t i , t ^ i ) L_{H_2}=\lambda _{fc}\frac{1}{N_{cls}}\sum_i L_{cls}+\lambda_{conv}\frac{1}{N_{reg}}\sum_i\widehat{p}_iL_{reg}(t_i,\widehat{t}_i) LH2​​=λfc​Ncls​1​i∑​Lcls​+λconv​Nreg​1​i∑​p ​i​Lreg​(ti​,t i​)
其中 λ f c \lambda _{fc} λfc​ 和 λ c o n v \lambda_{conv} λconv​ 分别表示分类和定位的平衡权重。与之前的两级检测器中的损失不同,作者在检测头中为 L c l s L_{cls} Lcls​ 和 L c o n v L_{conv} Lconv​ 设置了两个平衡权重。这种修改可以更灵活地处理损失变化。在实验中, L c l s L_{cls} Lcls​ 和 L c o n v L_{conv} Lconv​ 设置为 2。在这个损失函数中, N c l s {N_{cls}} Ncls​ 和 N r e g N_{reg} Nreg​ 分别代表了用于分类的训练样本数和用于回归的正样本数; i 是抽样 mini-batch 中建议的索引。 L c l s L_{cls} Lcls​为交叉熵损失, L c o n v L_{conv} Lconv​为平滑 L 1 L_1 L1​ 损失。

四、实验

4.1 消融实验


表1:DOTA 测试数据集的消融研究。 COR代表级联OBB回归; D-RCNN 表示旋转解耦 RCNN,MS 表示多尺度训练和测试。

表2:多尺度特征融合模块中不同特征尺度下的实验结果。基本的实验模型是baseline + COR模型。


表3:加权 RoI 特征聚合模块中不同融合方法的比较。基本的实验模型是baseline + COR模型。


表4:旋转解耦 RCNN 中不同 ResBlock 数量下的实验结果。基线 + COR 模型中的耦合 RCNN 有 0 个 ResBlocks。

4.2 对比实验


表5:OBB 任务的 DOTA 测试数据集上与最先进方法的比较。 † 表示多尺度训练和测试。加粗的结果表示每列的最佳和次佳结果。

效果:


表6:在 HBB 任务的 DOTA 测试数据集上与最先进的方法进行比较。 † 表示多尺度训练和测试。加粗的结果表示每列的最佳结果。


表7:在 HRSC2016 测试数据集上与最先进方法的比较。 ‡ 表示结果是使用 PASCAL VOC 2012 度量标准测量的。


表8:DOTA-1.5 测试数据集的性能比较。 ‘O’表示为OBB任务修改了方法。结果是在 ResNet-50 主干下测量的。 ∗ 表示结果来自开源项目 AlphaRotate。


表9:模型复杂度分析。 Mem 表示训练内存消耗; size 是模型大小,FPS 是推理速度,图像大小为 1024 × 1024。† 表示多尺度训练和测试。

五、结论

在本文中,提出了一种基于 CNN 的两级检测器,用于航空图像中的定向目标检测。提出了一种级联OBB回归方法来消除区域特征与定向目标之间的错位。进一步提出了 MSFF 和 WRFA 模块来自适应地融合网络中的多级特征并增强不同特征的上下文相关性。自适应特征融合方法可以引导网络充分利用来自不同尺度和层次的信息特征区域。因此,可以减轻网络中的语义和上下文信息丢失,并提高最终性能。此外,提出了一种轻量级版本的检测器,以实现最佳的精度-复杂性权衡。对两个广泛使用的数据集 DOTA 和 HRSC2016 进行了广泛的实验,以验证提出的方法。实验结果表明,所提出的 AFF-Det 对于定向目标检测是相当有效和高效的。

【论文学习】Towards Accurate Oriented Object Detection in Aerial Images with Adaptive Multi-level Feature相关推荐

  1. 【论文学习】MKIoU Loss: Towards Accurate Oriented Object Detection in Aerial Images

    [论文学习]MKIoU Loss: Towards Accurate Oriented Object Detection in Aerial Images 在本文中,提出了一种近似 SkewIoU 的 ...

  2. 基于dota的目标检测(旋转框)论文阅读Oriented Object Detection in Aerial Images with Box Boundary-Aware Vectors

    基于dota的目标检测(旋转框)|论文阅读Oriented Object Detection in Aerial Images with Box Boundary-Aware Vectors 文章目录 ...

  3. 【论文】Learning RoI Transformer for Oriented Object Detection in Aerial Images

    RoI Transformer: 将空间转换应用在RoIs上,并通过标注旋转框,监督学习得到转换参数. RoI Transformer是轻量级的. 一.Introduction (1) 水平框检测会造 ...

  4. 论文学习笔记《SWA Object Detection》

    这是一篇2020年年底挂在arxiv上的论文,主要思想很简单,就做了一件事情:采用周期性学习率迭代策略(余弦退火算法)额外再训练模型12个epoch,然后平均每个epoch训练得到的weights作为 ...

  5. 论文阅读《Accurate Few-shot Object Detection with Support-Query Mutual Guidance and Hybrid Loss》

    Background & Motivation 文中将 Few-shot 学习分为两类:metric-based 和 optimization-based,后者是元学习的方法.将 Few-sh ...

  6. 【CVPR 2020】Learning RoI Transformer for Oriented Object Detection in Aerial Images

    介绍 这篇文章是针对旋转框任务的: 摘要 由于鸟瞰视角.高度复杂的背景和多变的物体外观,航拍图像中的目标检测是计算机视觉中一项活跃但具有挑战性的任务.许多检测方法依赖于通用目标检测中的水平候选框,而这 ...

  7. 深度学习论文: Task-Specific Context Decoupling for Object Detection及其PyTorch实现

    深度学习论文: Task-Specific Context Decoupling for Object Detection及其PyTorch实现 Task-Specific Context Decou ...

  8. [caffe]深度学习之CNN检测object detection方法摘要介绍

    [caffe]深度学习之CNN检测object detection方法摘要介绍  2015-08-17 17:44 3276人阅读 评论(1) 收藏 举报 一两年cnn在检测这块的发展突飞猛进,下面详 ...

  9. 笔记:A Novel Representation of Parts for Accurate 3D Object Detection and Tracking in Monocular Images

    A Novel Representation of Parts for Accurate 3D Object Detection and Tracking in Monocular Images 20 ...

最新文章

  1. web开发下的各种下载方法
  2. python怎么画条形图-python使用Matplotlib画条形图
  3. 系统升级后找不到网络计算机,Windows10系统局域网中共享计算机找不到怎么办
  4. 构建和运行Java 8支持
  5. acc定义代码 神经网络_神经网络的这几个坑,你都躲过了吗
  6. oracle 数据结构部署,
  7. 一个html数据编辑模板
  8. 【PL/SQL】处理数据
  9. python批量导入mysql_用python批量向数据库(MySQL)中导入数据
  10. 金融危机下的企业经营战略
  11. pg数据库表接口和数据导出
  12. Java躲子弹课设,Robocode高手的诀窍 - 躲避子弹[Java编程]
  13. 本特利探头330104-00-02-10-02-00
  14. linux之调试触摸屏驱动
  15. 伽马校正(Gamma Correction)
  16. 为戴尔服务器下载ESXi
  17. 360抢票 网站维护中 你的登录被踢了!
  18. AutoIt v3.3.14.2 汉化最新版
  19. SRC众测挖洞之支付逻辑漏洞的奇淫技巧
  20. 2023年计算机考研经验贴

热门文章

  1. MySQL教程-01
  2. 网络协议之:基于 UDP 的高速数据传输协议 UDT
  3. 关于dnw驱动安装失败的问题解决
  4. 电厂、电网、电力公司、供电局 之间关系 清理
  5. SpriteKit:模拟器中播放效果音有延时的解决办法
  6. 商业贷款买房的7个步骤
  7. BurpSuite--Proxy详解
  8. Python加密word文档
  9. OSError: exception: access violation writing,
  10. 配置系统未能初始化 错误的解决方案