IENet:分支交互一步无锚的定向遥感目标检测

📝论文下载地址

  [论文地址]

👨‍🎓论文作者

Youtian Lin,Pengming Feng,Jian Guan

📦模型讲解

[背景介绍]

  近年来,随着深度卷积神经网络的发展,目标检测在自然图像中取得了巨大的成功。使用主流目标检测方法(例如Faster-RCNN,YOLO,SSD),在遥感图像中检测也取得了重大进展。在遥感图像是向下观察目标的,并且目标始终是任意方向的,因此很难将传统检测方法应用于遥感和航空图像中的定向物体。此任务面临以下重大挑战:
  ①在遥感图像中,大多数目标具有比自然图像(例如房屋,车辆)相似的形状和更少的外观特征。这些目标可能会导致错误检测,因为在这种情况下目标形状比目标外观更明显。
  ②复杂的背景、目标的尺寸增加了目标检测的难度,尤其是对于小而密集的目标。
  ③遥感视图导致了目标的不同方向,因此该模型必须获取代表方向的参数。

[网络结构]

[定向框的表示]

  作者的方法中定向框表示为 [ x , y , w , h , o ] [x,y,w,h,o] [x,y,w,h,o]。在表示中, [ x m i n , y m i n , x m a x , y m a x ] [x_{min},y_{min},x_{max},y_{max}] [xmin,ymin,xmax,ymax]描述对象水平边界框,参数 [ o ] [o] [o]表示对象边界框的方向角。但是,网络很难在这种表示形式中预测目标位置。因此,为了让网络准确地预测目标,我们使用几何变换来重建OBB的表示。
  如下图所示,作者首先通过一步网络回归HBB,它使用回归点计算预选框和HBB边界之间的偏移量。因此, [ l , t , r , b ] [l,t,r,b] [l,t,r,b]分别表示为左,上,右,下。然后将方向角转换为 [ w , h ] [w,h] [w,h]。因此,将角度分为两个不同的预测任务。这样,原始的OBB表示为 [ l , t , r , b , w , h ] [l,t,r,b,w,h] [l,t,r,b,w,h],便于网络预测。

[一步网络结构]

  大多数遥感影像数据集都缺乏精度和数量。将backbone在ImageNet上进行预训练,并在目标数据集中进行微调,例如DOTA和HRSC2016。这样,网络能够从遥感图像中提取更精细的特征。

KaTeX parse error: Expected '\right', got '}' at position 85: …lfloor\frac{s}2}̲\right\rfloor+y…其中 [ x , y ] [x,y] [x,y]是图像上的位置, [ x s , y s ] [x_s,y_s] [xs,ys]是特征上的位置, s s s表示特征图的数量。框回归分支预测对象的HBB偏移,这将输出四维向量,表示特征图中每个位置的 [ l , t , r , b ] [l,t,r,b] [l,t,r,b]。偏移量通过以下方式计算:
l = x − x min ⁡ , t = y − y min ⁡ r = x max ⁡ − x , b = y max ⁡ − y \begin{array}{ll}l=x-x_{\min }, & t=y-y_{\min } \\r=x_{\max }-x, & b=y_{\max }-y\end{array} l=xxmin,r=xmaxx,t=yyminb=ymaxy

  在一般数情况下,一步网络的分类层、回归层对于角度的回归没有很多的关系,因此作者需要在分类层中添加了一个新层或者在回归层进行回归,二维向量进一步表示为 [ w , h ] [w,h] [w,h],这也是表示目标方向的参数。此外,还分别使用两个卷积层来预测 [ w , h ] [w,h] [w,h]参数。将此分支称为方向分支,这是head上的第三个分支。此head设计为:

  在上图中,作者使用IE模块从其他分支提取特征,并将其组合到方向特征,以生成最终特征以进行方向回归。

[自监督IE模块]

  为了提供更多的特征并提高定向预测的准确性,作者使用自注意模块构建了一个相互作用的分支,以获取来自分类和检测框回归分支的特征,这些特征可能会通过自注意机制进行重新安排。自注意可以建立这些特征图之间的关系,并确定哪个特征更适合定向回归。这些特征将与注意相结合,然后添加到定向分支中,如下图所示。

  仅由三个1x1卷积层和一个softmax层构成自注意模块。然后分别使用三个不同的卷积层通过 f ( x ) , g ( x ) , h ( x ) f(x),g(x),h(x) f(x),g(x),h(x)将特征投影到三个特征空间, f ( x ) f(x) f(x) g ( x ) g(x) g(x)通过softmax函数一起形成注意力图。此外,注意力图指示输入特征的相对量,并给出在 h ( x ) h(x) h(x)的反馈,其呈现原始特征图的注意力。注意力由以下各项计算: α = s o f t m a x ( f ( x ) T g ( x ) ) \alpha=softmax(f(x)^Tg(x)) α=softmax(f(x)Tg(x))其中 f ( x ) T g ( x ) f(x)^Tg(x) f(x)Tg(x)输出是一个 N × N N×N N×N的特征图 s s s N N N是特征图 x x x的数目。在 s s s中每一行使用softmax函数:
α j , i = exp ⁡ ( s i j ) ∑ i = 1 N exp ⁡ ( s i j ) \alpha_{j, i}=\frac{\exp \left(s_{i j}\right)}{\sum_{i=1}^{N} \exp \left(s_{i j}\right)} αj,i=i=1Nexp(sij)exp(sij)然后自注意层的输出 o = ( o 1 , o 2 , . . . , o j , . . . , o N ) o=(o_1,o_2,...,o_j,...,o_N) o=(o1,o2,...,oj,...,oN) N N N表示输入和输出特征图的数量。
o j = ∑ i = 1 N α j , i h ( x i ) o_{j}=\sum_{i=1}^{N} \alpha_{j, i} h\left(x_{i}\right) oj=i=1Nαj,ih(xi)注意层的输出乘以比例参数 γ \gamma γ并加回输入特征图,因此自注意模块的输出为:
y i = γ o i + x i y_{i}=\gamma o_{i}+x_{i} yi=γoi+xi

[损失函数]

  为了训练网络,作者给出了损失函数,该函数是在特征图上所有位置上计算的:
L = 1 N pos L cls + λ N pos L reg + ω N pos L ori L=\frac{1}{N_{\text {pos}}} L_{\text {cls}}+\frac{\lambda}{N_{\text {pos}}} L_{\text {reg}}+\frac{\omega}{N_{\text {pos}}} L_{\text {ori}} L=Npos1Lcls+NposλLreg+NposωLori
  其中 N p o s N_{pos} Npos表示正样本的数量。 L c l s L_{cls} Lcls表示通过Focal Loss计算分类损失。计算回归损失 L r e g L_{reg} Lreg L r e g = B C E ( P centerness , G centerness ) + Smooth ⁡ L 1 ( P ltrb , G ltrb ) + ( 1 − IOU ⁡ ( ( P ltrb , G ltrb ) ) \begin{aligned} L_{r e g}=& B C E\left(P_{\text {centerness}}, G_{\text {centerness}}\right) \\ &+\operatorname{Smooth}_{L 1}\left(P_{\text {ltrb}}, G_{\text {ltrb}}\right) \\ &+\left(1-\operatorname{IOU}\left(\left(P_{\text {ltrb}}, G_{\text {ltrb}}\right)\right)\right. \end{aligned} Lreg=BCE(Pcenterness,Gcenterness)+SmoothL1(Pltrb,Gltrb)+(1IOU((Pltrb,Gltrb))
  在回归损失中构造中心损失,并且将标准二进制交叉熵损失用于中心点。中心损失的目的是希望网络预测接近目标中心点的回归。 P l t r b P_{ltrb} Pltrb G l t r b G_{ltrb} Gltrb表示预测和真实HBB。 HBB的预测 P l t r b P_{ltrb} Pltrb来自回归分支,作者进一步使用IOU来计算HBB。 L o r i L_{ori} Lori之间的IOU损失,其构造如下: L ori = Smooth ⁡ L 1 ( P w h , G w h ) + ( 1 − IOU ⁡ ( P w h , G w h , P ltrb , G ltrb ) ) \begin{aligned}L_{\text {ori}} &=\operatorname{Smooth}_{L 1}\left(P_{w h}, G_{w h}\right) \\&+\left(1-\operatorname{IOU}\left(P_{w h}, G_{w h}, P_{\text {ltrb}}, G_{\text {ltrb}}\right)\right)\end{aligned} Lori=SmoothL1(Pwh,Gwh)+(1IOU(Pwh,Gwh,Pltrb,Gltrb))   P w h P_{wh} Pwh G w h G_{wh} Gwh表示来自定向分支的预测结果和真实结果。作者还使用Smooth-L1损失和IOU损失,使用OBB计算IOU损失。因此,参数 [ l , t , r , b ] [l,t,r,b] [l,t,r,b] [ w , h ] [w,h] [w,h]结合起来将HBB转换为OBB。因为计算OBB IOU在训练过程中的计算量太大,作者为OBB形成了不同版本的IOU,它是通过以下方式计算的内部框: l n = ∣ l − w ∣ , t n = ∣ t − h ∣ , r n = ∣ r − w ∣ , b n = ∣ b − h ∣ \begin{aligned}l_{n}=|l-w|, & t_{n}=|t-h|, \\r_{n}=|r-w|, & b_{n}=|b-h|\end{aligned} ln=lw,rn=rw,tn=th,bn=bh其中 [ l n , t n , r n , b n ] [l_n,t_n,r_n,b_n] [ln,tn,rn,bn]表示内框偏移量。可以使用偏移量来计算OBB上IOU的简单版本。

[推理]

  给定输入图像,Backbone生成 N N N级特征图,并使用最后三层输出作为FPN的输入。FPN将三个特征图融合在一起,并为head生成最终特征图。head包含三个分支,每个分支完成不同的任务,分类分支用于分类任务,回归分支用于边界框预测任务,方向分支用于预测定向任务。head共享三个特征图。每个分支生成的预测的大小与backbone生成的特征图的大小相同,可以将每个预测结果上的位置投影到图像上的某个位置,选择分类置信度高于0.5的框作为结果。

[结果分析]

  作者在DOTA和HRSC2016挑战数据集上评估提出的IENet。

[训练细节]

  将数据集中的所有图像裁剪为1024×1024像素以提高存储效率,并且为了进行数据增强,还进行随机翻转和随机旋转(0,90,180,270),以避免数据集中类别之间的不平衡。
  ResNet-101用作backbone。批量大小设置为16,学习率以0.01初始化,使用随机梯度下降(SGD)进行100K次迭代,权重衰减和动量分别设置为0.0001和0.9。

[与最先进方法的比较]
[消融研究]

几何变换 使用DCN训练FCOS,并直接回归OBB的五个参数。IENet将角度分为两个参数 [ w , h ] [w,h] [w,h],有六个参数可以预测。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值