APP下载

基于卷积神经网络与注意力机制的SAR图像飞机检测

2021-11-10李广帅李义红

系统工程与电子技术 2021年11期
关键词:注意力卷积飞机

李广帅, 苏 娟, 李义红, 李 响

(1.火箭军工程大学核工程学院, 陕西 西安 710025; 2.中国人民解放军96882部队,江西 南昌 330200; 3.中国人民解放军96823部队, 云南 昆明 650200)

0 引 言

合成孔径雷达(synthetic aperture radar,SAR)主动发射微波信号,通过相干机制进行成像,突破了光照的限制,且受雨雪雾等不良天气影响较小,具有全天时、全天候的观测优势。随着SAR技术的不断发展,利用脉冲压缩和孔径合成技术,得到的距离向和方位向二维图像的分辨率也越来越高。因SAR具有上述独特优势,在环境保护监测、地形测绘、战场态势侦察、目标识别等领域有着广阔的应用前景。飞机作为一种重要军事目标,实现SAR图像中飞机目标的检测也成为了一个重要研究问题。

不同于光学图像,由于相干机制成像,SAR图像存在较多斑点噪声,且飞机目标在图像中的连续性较差,增加了检测任务的难度,当前传统的SAR图像飞机目标检测算法大多基于目标散射特征和结构特征。Fu等人[1]提出一种基于散射结构特征和模板匹配的SAR图像飞机检测识别的方法,利用高斯混合模型对目标散射特征进行建模,并通过样本决策优化算法提高模板匹配的效率。He等人[2]提出一种用于SAR图像目标检测的多分量模型,该模型基于混合统计分布,实现了较好的SAR飞机检测效果。高君等人[3]提出一种基于几何特征的SAR图像飞机检测算法,利用机翼、机身形成的T型或Y型结构特征并结合先验知识实现目标检测,在微小SAR图像中取得了较好的检测结果。传统的SAR图像飞机检测算法一般需要预处理、典型特征设计等步骤,过程较为繁琐复杂,且算法存在着泛化能力弱、检测效率低等缺点。

随着深度学习理论的不断发展与成熟,在图形处理器等技术的支持下,基于深度学习的目标检测算法得到了较大的研究成果,当前主流的检测算法主要分为两大类:双阶段检测和单阶段检测。双阶段检测主要有双阶段检测主要有区域卷积神经网络(region with convolutional neural networks,R-CNN)[4]、快速区域卷积神经网络(fast region with convolutional neural networks,Fast R-CNN)[5]、更快区域卷积神经网络(faster region with convolutional neural networks,Faster R-CNN)[5-6]、PVANET[7]和掩膜区域卷积神经网络(mask region with convolutional neural networks,Mask R-CNN)[8]等,单阶段的检测主要有单次多盒检测器(single shot multibox detector,SSD)系列[9-11]、YOLO(you only look once)系列[12-14]和反向连接目标先验网络(reverse connection with objectness prior networks,RON)[15]等。得益于大规模数据集ImageNet[16]、COCO(microsoft common objects in context)[17]等的公开,深度学习的目标检测算法大多应用于光学图像,在SAR图像目标检测中的应用较少。Chu等人[18]提出一种基于组件的多层并行网络并用于SAR图像飞机目标的检测,通过标注将飞机组件信息引入到网络结构中,帮助算法模型检测到完整的飞机目标,并在TerraSAR-X数据上进行测试,结果表明该方法具有较高的检测精度,但组件标注任务又引入了更多的工作量。王思雨等人[19]为解决定位不精确和虚警的问题,提出一种全新的SAR图像飞机检测算法。首先利用显著性预检测方法在大场景SAR图像中实现粗定位,再设计卷积神经网络实现对候选飞机目标的精确检测。由于该方法使用多尺度滑动窗口进行显著性预测,使得检测过程耗时较长。Zhang等人[20]在Faster R-CNN和残差网络的基础上提出一种级联三视网络,该网络包含机场监视、飞机探测和机场跑道提取3个方面的内容,在测试数据上的F-score值达到了0.67,但网络级联方式增加了计算成本,导致对SAR图像飞机的检测效率有所下降。

因此针对以上问题,本文在Faster R-CNN算法的基础上,提出一种基于深度可分离卷积神经网络与注意力机制的SAR图像飞机检测算法,通过实验验证该模型在SAR图像飞机数据集中的检测效果。本文的创新点主要有:

(1)采用深度可分离卷积代替特征提取网络中卷积核为3×3的传统卷积,减少网络参数量,并结合逆残差结构防止特征信息丢失问题,以提高检测精度。

(2)提出多尺度空洞卷积—空间注意力模块,使网络关注有效的空间信息。同时引入全局上下文模块,赋予各通道特征图更有代表性的权值,捕捉通道间语义相关性。

(3)迁移学习的应用:使用运动和静止目标获取与识别(moving and stationary target acquisitionand recognition,MSTAR)数据集和SAR舰船检测数据集(SAR ship detection dataset,SSDD)数据集在检测网络进行预训练,将得到的模型参数对本算法的特征提取层进行初始化,再利用SAR数据集(SAR aircraft dataset, SAD)对网络参数进行微调。

1 Faster R-CNN原理

Ren等人[6]使用区域建议网络(region proposal network,RPN)替代选择性搜索(search selective,SS)方式,提出了Faster R-CNN检测算法,大幅提高了网络的检测速度。Faster R-CNN检测网络的整体流程如图1所示。

图1 Faster R-CNN检测网络

Faster R-CNN使用VGG16作为特征提取网络,该网络较为简单,使用若干卷积和池化组合堆叠构成,共包含13个卷积层和4个池化层,并且卷积核尺寸均设置为3×3。区域建议网络在输出的特征图上每点生成9种锚框,是由[8,16,32]3种尺寸和[1∶2,1∶1,2∶1]3种比例组合得到,区域建议网络的提出极大提升了检测框的生成速度。感兴趣区域池化层将输入的特征图分区域池化,可将不同尺寸大小的特征图转化为固定长度输出至全连接层,然后对锚框边界进行回归和对锚框内目标类别进行确定,从而实现检测任务。

Faster R-CNN将建议框生成、目标分类和边界框回归统一至网络中进行训练,实现了端到端的检测任务,提高了检测的效率。Faster R-CNN采用多任务损失函数,其表达式如下:

(1)

2 基于深度可分离卷积神经网络与注意力机制的检测算法

经典的Faster R-CNN针对多类目标,模型参数多、计算量大,训练时占用计算机内存资源多。文献[21]中指出,卷积神经网络存在大量参数,这是限制了其在实际中的应用,在SAR图像识别任务中,在保证识别精度的同时,要注意减少网络参数和计算量。深度可分离卷积(depthwise separable convolution, DS-Conv)[22]是传统卷积(traditional convolution, T-Conv)的一种变体,在参数减少的情况下可以实现与T-Conv近似的效果[23]。因此,本文使用深度可分离卷积网络提取特征,降低运算复杂度,提高检测效率[21]。同时为提高检测精度引入注意力机制,具体做法如下:基础特征网络采用结合特征金字塔网络(feature pyramid networks,FPN)的残差网络ResNet50,使用深度可分离卷积替换传统卷积运算。同时为挖掘特征之间的语义相关性,增强网络的特征表达能力,引入通道和空间注意力模块。改进后的网结构示意图如图2所示,图中MDC-SA为改进的空间注意力模块,GC为通道注意力模块,其具体结构见第2.2节。

图2 本文检测算法

2.1 深度可分离卷积

残差网络ResNet使用函数F(x)=H(x)-x的思想设计网络结构,当F(x)=0时,实现H(x)与x的恒等映射,使得深层网络更加容易训练。ResNet搭建层数更深的网络以增强特征表达能力,引入恒等快捷连接跳过多个中间层,并通过1×1卷积降低特征图数量,加快网络收敛速度,减少训练时间成本。因此,特征提取网络使用残差网络ResNet50替代原来的VGG16,ResNet50网络中残差块结构如图3所示。

图3 残差块结构

由于成像原理的不同,SAR图像中的纹理、梯度、深层语义信息等没有光学图像丰富。为进一步减少计算冗余、轻量网络参数以提升检测效率,使用参数量少和计算复杂度低的DS-Conv[21]替代ResNet50中卷积核尺寸为3×3的传统卷积。F-Conv的结构如图4(a)所示,M个卷积核与输入数据的所有通道进行卷积操作,所有卷积结果融合后输出,输出共有M个通道。DS-Conv的结构如图4(b)所示,由深度卷积(depthwise convolution,D-Conv)和逐点卷积(pointwise convolution,P-Conv)组成,DS-Conv对输入数据的各通道进行D-Conv操作,然后利用D-Conv将中间输出结果线性连接起来,得到M通道数的输出结果。

图4 传统卷积和深度可分离卷积示意图

当输入数据为H×W×N时,共有M个核大小为k×k、滑动步长为1的卷积核,F-Conv积的参数量为

PT-Conv=k×k×N×M

(2)

DS-Conv的参数量为

PDS-Conv=k×k×N+N×M

(3)

DS-Conv与F-Conv参数量比值为

(4)

由式(4)可知,当输出向量的通道数很大时,DS-Conv参数量大约为F-Conv的1/k2,一般k>1。这从理论上证明了DS-Conv比F-Conv有着更少的计算量,对提升SAR图像飞机目标的检测速度具有促进作用。DS-Conv拆分F-Conv结构,解耦通道和空间相关性[22],可以达到与F-Conv相近的效果[23],利用D-Conv和P-Conv大幅压缩了卷积过程的参数量,从而提高检测效率。

使用D-Conv替换T-Conv后,由于DS-Conv过程无法改变通道数,经过激活函数ReLU时负值输入为零,部分神经元静默导致特征信息的丢失。为此,借鉴逆残差(inverted residuals,IR)[24]模块的思想,将ResNet网络中残差块“降维—变换—升维”的模式转换为“升维—变换—降维”,利用通道扩张减少特征信息的丢失。逆残差块具体结构如图5所示。

图5 IR块结构

在IR模块中引入扩张因子f(f=2),对N维数据的输入利用1×1卷积实现通道数的扩张,输出N×f通道数,有效防止残差网络ResNet通道压缩时因非线性激活引起的特征信息丢失问题,同时使用Leaky ReLU替换ReLU激活函数,解决负值输入神经元不学习的问题,最后再利用1×1卷积实现降维输出N通道数。

2.2 注意力机制

近年来为提高卷积神经网络的特征表达能力,一些注意力机制模型被提出,如CBMA[25]、SENet[26]、GCNet[27]等。文献[28]指出,SAR图像的视觉显著性不同于自然图像,飞机目标在SAR图像中表现为强散射区。在网络中加入注意力机制,通过学习中间注意力图,对源特征图上各元素赋予不同权值,可以使模型捕捉到图像中贡献显著的特征区域[29]。SAR图像中飞机目标常表现为高亮区域,为选择出显著特征区域,提升网络特征表达能力,借鉴空间注意力模块思想[25]提出一种多尺度空洞卷积-空间注意力模块(multi-scale dilated convolution spatial attention module,MDC-SA),以进一步提升检测精度,更好地完成检测任务,其公式表达如下:

fs=sigmoid{c7×7[GAP(f′),GMP(f′)]}

(5)

f′=F[f,D_Conv2(f),D_Conv4(f)]

(6)

式中:fs为输出特征图;c7×7表示7×7卷积;GAP表示全局平均池化;GMP表示全局最大池化;sigmoid{·}为激活函数;D_Conv2和D_Conv4分别表示空洞因子为2和4的空洞卷积;F[·]表示上采样融合操作,其具体结构如图6所示。

图6 多尺度空洞卷积-空间注意力模块

为兼顾检测速度,本文仅在特征提取网络L2层加入多尺度空洞卷积—空间注意力模块,如图2所示。L2层特征经过卷积层数少、特征图分辨率较大,如图7所示,在该层中加入空间注意力模块可以更好利用浅层细节信息,同时使用引导流进行{2,4,8}倍下采样后融合至{C3,C4,C5}中,跳层连接融合可以增加浅层与深层特征之间的信息流动,利于网络关注有效的空间信息。

图7 原始SAR图像和浅层特征图

SENet[26]是作为ImageNet 2017竞赛分类任务的冠军模型,具有易扩展、轻量化等优点。GCNet[27]作为SENet的改进版本,在网络中融合了Non-local Block,有效实现对全局上下文信息的建模,又保持了SENet网络的轻量特点。因此本文借鉴GCNet[27]思想在特征提取网络中引入全局上下文模块。全局上下文模块主要用于捕获通道间依赖关系,并实现了全局上下文的建模,是一种通道注意力机制,该模块的公式表达如下:

zi=F[xi,δ(*)]

(7)

(8)

(9)

式中:∑αjxj表示上下文模块,αj为注意力池化的权值;δ(*)表示转换模块,用于捕获通道间依赖关系;LN表示层归一化操作。

全局上下文模块由特征获取、特征转换和特征融合3部分组成。特征获取:通过1×1卷积Wc和Softmax函数得到注意力权值αj,使用注意力池化捕获全局上特征,实现上下文建模。特征转换:利用1×1卷积Wt实现特征转换,并进行归一化,使模型训练更加容易优化,提高泛化性。特征融合:使用加法实现全局上下文特征的聚合。全局上下文模块的具体结构如图8所示。

图8 全局上下文模块

不同尺度(C3∶113×75、C4∶57×38,C5∶19×29)特征图对比如表1所示,由表1可以看出,相比于原始Faster R-CNN得到的特征图,融入注意力机制后使网络更好地重利用浅层特征和全局上下文信息,不同尺度下的特征图保留了更多的目标信息,有助于帮助网络有效地关注到图像中可能存在的物体目标。

表1 不同尺度特征图对比

2.3 迁移学习

迁移学习一般借助有标记的源域知识学习目标域的知识,减少二者间的差异性,实现知识迁移。在深度学习图像处理领域,迁移学习的基本思路是使用预训练模型,利用现有的大规模数据进行训练,以学习数据组织模式,迁移应用于新的任务中,待训练的数据集规模较小时一般使用预训练的ImageNet初始化模型,以加速模型训练。

现有的预训练模型多数基于光学图像,而光学图像与SAR图像成像原理不同,数据分布存在较大的差异性。迁移学习的关键是源任务领域和目标任务领域有一定的相似性[30],因此考虑使用同源的SAR图像数据集对模型预训练,可以有效避免负迁移现象的发生。本文使用公开SAR图像数据MSTAR和SSDD进行预训练,对2 650张MSTAR图像数据进行标注,包含主战坦克T72、步兵战车BMP2、自行榴弹炮2S1等10类目标,融入1 160张SSDD中SAR舰船图像,制作了数据集MASD(mSTAR and ship dataset),共包含3 810张SAR图像,包含11类目标。随机选取数据集中3 048张图像,利用裁剪、平移等方法将数据集扩充至6 095张进行训练,直至损失函数完全收敛,得到基于SAR图像的预训练模型。使用预训练好的模型参数对ResNet50最后全连接层之前的特征提取层进行初始化,最后利用SAD[31]对网络参数进行微调,具体过程如图9所示。

图9 迁移学习示意图

3 实验结果与分析

3.1 实验平台

深度学习框架为Pytorch和Tensorflow,并使用CUDA8.0和cuDNN5.0加速训练,编程语言使用python语言和C语言,操作系统为Ubuntu 16.04 LTS,仿真硬件平台为inter®CoreTM7-6850K CPU@3.60 GHz×12,图像处理器为NVIDIA TITAN Xp GPU,内存为64 G。数据集使用SAD[31],共包含647张SAR图像,2 294架飞机目标,并使用“留出法”将SAD按照7∶3的比例随机划分为训练集和测试集。

3.2 模型训练与评估

训练参数设置:训练batch_size设为1,初始学习率设为0.001,权重衰减系数取0.000 04,最大迭代次数max_epochs取100,采用梯度下降法(stochastic gradient descent,SGD)更新网络参数,动量因子momentum设为0.9,利用旋转、加噪等方法将训练样本进行扩充至1 034张。

为客观描述算法的检测性能,使用平均准确率(average precision,AP)、F-score值、平均交并比(mIoU)、检测速度(frame per second,FPS)和准确率—召回率(precision-recall,P-R)曲线作为评价指标,其表达式如下:

(10)

(11)

(12)

(13)

式中:AP为平均准确率;R和P分别代表召回率和准确率;F为F-score值;β为调和因子,一般取值为1;mIoU 为平均交并比;N为检测框数量;IoU为交并比;bpt为预测框;bgt为真实框。

3.3 测试结果分析

表2为不同方法检测结果对比,表3为检测模型比,方法中1、2、3分别代表VGG16、ResNet50和ResNet101网络。由表2可以看出,本文算法平均准确率达到86.3%,相比于原始算法的79.8%,提升了6.5%。F-score值由76.3%提升至84.6%,平均交并比由71.3%提升至74.4%,召回率和准确率也提升了约8%。由表3可以看出,使用深度可分离卷积替换残差网络中的3×3卷积,使得网络相比于Faster R-CNN-2和Faster R-CNN-3具有更少的参数量,同时训练得到的模型也更小。本文算法参数量和模型大小相比于Faster R-CNN-2减少了37.1%和37.8%,相比于Faster R-CNN-3减少了51.2%和60.0%,模型的优化使检测速度得到提升,达到22.4 fps/s。P-R曲线如10所示,对比可看出本文算法曲线下降最为缓慢,表明相比于原始Faster R-CNN,本文算法利用空间注意力模块和通道注意力模块增强了网络特征表达能力,对检测性能的提升有一定的促进作用。

表2 检测结果对比

表3 检测模型对比

图10 P-R曲线

通过对关键模块的加减对比分析各改进模块对算法检测性能的影响和作用,特征提取网络均使用ResNet50。模型组件性能对比如表4所示,表中W表示迁移学习得到的预训练权重。对比第1行和第2行可以看出,使用深度可分离卷积网络提取特征,检测速度提升了8.1 fps/s,平均准确率下降了1.5%,表明深度可分离卷积网络通过对参数和通道的压缩,基本保持了原有检测的平均准确率同时又提升了检测速度。对比第4行、第5行和第6行可以看出,单独引入多尺度空洞卷积—空间注意力模块和全局上下文模块,平均准确率分别提升了2.6%和1.9%,同时引入时平均准确率提升了4.0%,说明两个注意力模块有互补促进的关系,同时引入对检测性能的提升作用更加明显,额外计算的增加使得检测速度略有下降。对比第2行和第3行、第6行和第7行可以看出,预训练权重的使用对平均检准确率约有1%的提升作用。

表4 模型组件性能对比

几种典型场景检测结果图对比如表5所示。由表5可看出,对于密集分布的SAR飞机图像,特征提取网络使用VGG16、ResNet50和ResNet101的Faster R-CNN算法出现一定的漏检和误检;独立分布的SAR飞机图像,飞机目标存在离散性特点,增加了检测的难度,原始Faster R-CNN算法易将机身、机尾等检测为飞机目标;大幅面场景和复杂场景中,由于建筑物等人造目标的干扰,原始Faster R-CNN算法出现不同程度的误检现象。本文算法引入多尺度空洞卷积—空间注意力模块和全局上下文模块,使网络关注有效的空间信息和调整各通道权值分配,对上下文信息的建模有助于网络关注飞机目标整体,同时使用SAR图像MASD数据集得到的预训练权重初始化网络参数,使得模型更加准确、全面地检测到飞机目标。

表5 检测结果图

4 结 论

本文提出一种基于深度可分离卷积神经网络与注意力机制的SAR图像飞机检测算法,使用深度可分离卷积取代残差网络中3×3传统卷积,大幅减少网络参数量,使得检测速度达到20 fps/s以上。同时在网络中融合空间注意力模块和通道注意力机制模块,在小幅增加计算量的情况下进一步提升了算法对SAR图像飞机目标检测的平均准确率,达到了86.3%。实验结果表明了本文算法在SAR图像飞机检测应用方向的可行性,对于提升双阶段目标检测算法的平均准确率与速率有一定的现实意义。

猜你喜欢

注意力卷积飞机
飞机失踪
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
“拼座飞机”迎风飞扬
基于傅里叶域卷积表示的目标跟踪算法
乘坐飞机
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
神奇飞机变变变