基于注意力与特征融合的光学遥感图像飞机目标检测

2021-11-12 00:47兰旭婷郭中华李昌昊
液晶与显示 2021年11期
关键词:网络结构飞机精度

兰旭婷,郭中华,2*,李昌昊

(1. 宁夏大学 物理与电子电气工程学院,宁夏 银川 750021;2. 宁夏沙漠信息智能感知重点实验室,宁夏 银川 750021)

1 引 言

高分辨率光学遥感图像有着丰富的空间信息以及清晰的结构和纹理信息,可以对遥感目标如飞机等进行精确的检测识别[1]。光学遥感图像的目标检测与识别表示在遥感图像中确定是否包含一个或多个目标物体,并确定目标在图像中的位置与类别[2]。由于光学遥感图像中的飞机目标类型、尺寸、停放位置等不确定性因素,以及高分辨率光学遥感图像易受光照、天气环境等因素的影响,再加之背景复杂程度大,给高分辨率图像中的目标检测带来了较大的挑战。

为了解决这一挑战,很多学者不断提出了一些传统的新方法。例如,Cheng等人[3]提出HOG算子提取目标的梯度方向,并通过将训练样本与感兴趣区域匹配来获得飞机目标。但飞机梯度方向特征不是唯一的,导致初步处理中出现大量虚假目标,增加了后续处理的负担。Liu等人[4]通过基于大量样本计算平均模板来匹配目标,并根据目标与模板的相似性来识别目标。但是这种方法也需要大量的训练样本,平均模板不能匹配所有的目标。Arandjelovi[5]提出了一种使用边界描述符为平滑和无纹理图像进行对象匹配的方法,该描述符包括采样边界法线方向的轮廓。等距关键点是通过采样图像边界曲线获得的。然后,利用一个关键点周围的局部轮廓的边界法线来描述该点。该方法在许多经典的目标图像集上表现出很强的鲁棒性。但局部描述对遥感图像中普遍存在的局部噪声和不正确的形状分量更加敏感。Kahaki等[6]提出了一种新的基于三重特征提取方法的匹配技术和相异性指标,根据测量两个兴趣点之间的路径,提取特征之间的相异性。该方法可以很好地检测目标图像中的对应点,还可以预测目标图像中的遗漏点。不仅依赖于局部点的信息,而且还利用这些点之间的空间信息。但对拍摄到的高分辨率光学遥感图像来说,在采集点间的特征上有一定的时间和精度限制。

近年来,遥感图像领域广泛应用了深度学习的方法,尤其在目标检测任务上该方法明显优于传统的固定模型的方法。现阶段,比较成熟的有基于候选区域的目标检测器(两阶段)和单次目标检测器(单阶段)这两类目标检测算法。基于R-CNN(Region with CNN feature)[7]、Fast-RCNN[8]与Faster-RCNN[9]的两阶段目标检测算法,采用RPN网络提取候选框的方式,能在一定程度上提高精度,但由于每个候选框的位置都需要精修导致检测速度过慢。Joseph Redmon[10]等人提出了一种新的目标检测方法YOLO,该方法利用整个图作为网络的输入,直接在输出层回归bounding box的位置和其所属类别,实现端对端的模型优化。但该方法每个方格只能预测一类物体,对于小目标检测困难。YOLO检测测速度相比Faster-RCNN提升很大,但同时也带来了检测精度下降的问题。YOLOv2[11]和YOLOv3[12]是YOLO的后续改进方法。YOLOv2借鉴了Faster-RCNN的思想,引入了anchor机制,比其他模型在各种检测数据集上的速度更快,但由于YOLO将图像分割成S×S的网格,导致精度不高的问题仍然存在。SSD(Single shot Multibox Detector)[13]算法,结合了YOLO中的回归思想和Faster-RCNN中的Anchor机制,并使用多尺度的特征图进行回归,既保持了YOLO速度快的特点,也保证了Faster RCNN精度高的优势[14]。该方法在自然图像中检测精度以及速度上都有一定的提升效果,但在纹理信息弱、背景复杂的光学遥感图像飞机目标的检测中,效果并不是很理想。

因此,为了解决光学遥感图像在复杂环境中小飞机目标检测精度及效率低的问题,本文以SSD300为基本算法,参考Resnet50[15]建立了光学遥感图像数据库,对网络模型进行了改进和优化。最终有效提高了弱小物体的表达能力,提高了检测精度和速度,具有一定的通用性。

2 SSD检测网络

2.1 SSD算法

SSD算法是一种目标检测算法,相比于YOLO在检测精度上有更大的提升。SSD的算法框架图如图1所示。SSD共有11个block,相比于VGG16[16]网络改变了第5个block的第4层,并将VGG16中的第6、7、8卷积层去掉,将FC7改成卷积层Conv7,并添加额外的Conv8、Conv9、Conv10、Conv11卷积层用于目标检测。其中:Conv4_3、FC7位于浅层但携带的细节信息更完整,用于小目标物体检测。对于Conv8_2、Conv9_2、Conv10_2、Conv11_2,随着特征层的增高,感受野也逐渐增大,因此这些层含有更多的语义信息,用来检测大目标物体。

图1 SSD_VGG16网络结构Fig.1 SSD_VGG16 Network structure

2.2 Resnet50+SSD网络结构

在SSD网络结构中是以VGG16作为特征提取的骨干网络,而在本文中采用Resnet50替换原来的特征提取骨干网络,如图2所示。对于Resnet50模型,只保留了前4层用于特征提取,舍弃了Conv5_x及以后的层,并额外添加了5个层,并将生成更多预测特征层。

图2 Resnet50+SSD网络结构Fig.2 Resnet50+SSD network structure

3 改进SSD网络结构

3.1 FPN特征融合

在神经网络结构中由于小目标本身具有的像素信息非常少,卷积操作容易导致小目标信息的丢失,因此,采用特征金字塔网络(Feature Pyramid Networks),它是一种将多个检测层的特征信息进行融合的网络,具体网络结构如图3所示。该结构表示:自底向上,自顶而下,横向连接。通过高层特征进行上采样与经过卷积操作后的低层特征进行自顶向下的连接,大幅度提升了小物体检测的性能。本文将从6个检测层分别进行特征融合,如图4所示。

图3 特征金字塔网络Fig.3 Feature pyramid networks

图4 带有特征融合的网络结构Fig.4 Network structure with feature fusion

3.2 增加通道与空间注意力机制模块

神经网络中每经过不同的卷积核都会产生不同的通道信息,而这些通道所包含的信息量以及重要程度也不同。对于原先的网络,特征层会默认特征层的每个通道上的信息重要性是相同的。故在改进的算法中,引入了CBAM[17](Convolutional-Block-Attention Module),即通道注意机制模块(Channel Attention Module)和空间注意力模块(Spatial Attention Module),如图5所示。本文在进行FPN之后的特征检测层层上分别加入双通道注意力模块CBAM,不仅可以很好地集中需要的信息,忽略与检测目标无关的边界信息,还可以提高网络的特征表达能力。

图5 卷积块注意力模块Fig.5 Convolution block attention module

3.3 Soft-NMS

非极大值抑制(Non-maximum supression,NMS)[18],顾名思义就是抑制一些不是极大值的值。在网络检测与回归过程中,NMS具体计算如式(1)所示。

(1)

式中:Si、M、bi表示预测框;Nt表示人为设定的阈值;iou表示两个预测框之间交集与并集的比值。

在上述的NMS算法当中,如图6所示,一方面若存在两个重叠区域较大的目标检测框,NMS会去除得分较低的蓝框而保留较高分的红框,此时物体的检测召回率就比较低;另一方面,传统的NMS的阈值也不容易确定,过大容易产生误检。而Soft-non maximum supression(Soft-NMS)[19]很好地解决了这个问题,两种改进形式。如公式(2)、(3)所示。

(2)

(3)

图6 重叠度超过设定阈值参照图Fig.6 Degree of overlap exceeds the set threshold

3.4 调整特征层上的先验框比例

在原先SSD300模型当中,每个特征层上的先验框的宽高比为1∶1、1∶2、1∶3、2∶1、3∶1这几种形式。在多目标的数据集如Pascal VOC[20]等数据集物体类别较多,但对于遥感图像的飞机目标来说,此时的先验框比例不再适合。因此按照飞机的尺寸大小将原有的先验框比例调整为1∶1、1∶2/5、1∶3/5、2/5∶1、3/5∶1。

3.5 改进后的网络结构

改进后的网络结构如图7所示:先将不同尺度的特征层进行融合(FPN)得到更多有效的特征图信息,再经过双注意力模块后得到更具有判断能力的特征图,最后将获取到含有丰富语义信息的6个特征图送入检测层。

图7 改进的网络结构Fig.7 Improved network structure

3.6 损失函数的选择

对于目标检测回归损失函数,我们依然延续SSD300算法中的Smooth L1 Loss对改进后的算法进行优化处理。在预测层中预测了每个特征图上的点的矩形框位置信息和目标物体的类别信息。即该点的损失函数就等于矩形框位置损失与物体类别损失之和。具体可以表示为:

(4)

其中:N为样本数,若N为0,则将损失设为0;x为当前预测框的类别信息;c代表预测类别信息;l为预测框的位置信息;g代表真实标注框的值;Lconf为类别损失函数,Lloc位置损失函数;而参数α用于调整Lconf与Lloc之间的比列,一般默认α=1。损失函数具体计算公式如式(5)、(6)所示:

互联网的日益发展和线上支付的普及,使得足不出户订餐受到广大学生的青睐.由李克特量表可知,外卖在便利性和产品口味方面明显优于学校食堂,但结合现实生活发现,等餐的时间成为影响就餐便利性的一大因素,很多人因为等餐的时间过长而放弃点外卖.外卖商家应合理安排配送,提高商品配送速度,进一步提高就餐便利性.

(5)

(6)

4 实验结果与分析

4.1 实验条件

图8 飞机样本例图Fig.8 Aircraft sample illustration

为评估本文所改进的模型算法的检测性能,公开数据集NWPU-RESISC45和武汉大学团队含有飞机信息的遥感图像共2 150张,其中按照7∶3生成1 505张为训练集,645张为测试集,并按照Pascal VOC数据集格式进行标注。网络输入前的图像尺寸为256×256,1 280×659,1 372×941,经过网络输入后均为300×300。并且整个实验在Ubuntu16.04操作系统、Pytorch1.6环境下完成,并使用单个NVIDIA GeForce RTX2080Ti型号的GPU加速训练模型。

具体数据集的分配如表1所示,数据集样本例图如图8所示。

表1 数据集的信息统计Tab.1 Information statistics of the data set

4.2 实验流程及训练参数

基于双通道的注意力机制及锚框比例缩放为适用飞机形状比例的原来的1/5模型,首先在以Resnet50作为SSD特征提取骨干网络结构上,用上述标注好的数据集进行训练。批处理操作Batch size设置为4,动量因子系数设定为0.9,权重衰减系数设为0.000 5,初始学习率设为0.000 5。

4.3 评价指标

(7)

(8)

4.4 算法对比实验

设定了10组实验与未改进的模型进行对照:第1组为最初网络结构实验结果;剩余组是在开始的网络基础上分别加入不同的改进内容后训练的结果,具体数据对比如表2所示。

表2 不同检测方法结果对比Tab.2 Comparison of results of different detection methods

实验结果表明,加入CBAM、Soft-NMS、特征融合及调整先验框后的模型检测效果明显优于以resnet50为骨干网络的SSD模型,在IoU(Intersection over Union)值为0.5的情况下检测效果达到5.04%,IoU为0.75时达到11.38%。对于单独加入注意力机制,在IoU为0.5时下降0.08%,IoU为0.75时提升1.57%;采用Soft-NMS算法在IoU为0.5时提升1.15%,IoU为0.75时提升1.67%;调整先验框比例,在IoU为0.5和0.75时分别提升1.31%、1.45%;特征金字塔的融合方式效果分别提升4.39%、10.02%。很明显,特征层间的信息融合大幅提高了物体检测精度。

4.5 算法模型对比实验与结果分析

图9所示为SSD300、YOLOV3、Faster-RCNN以及改进SSD四种算法分别在遥感图像飞机目标数据集训练1 000次的精度均值对比图。表3为这4种网络模型训练1 000次后的具体精度均值对比。

如图10所示,10(a)为原始图像,均来自不同于训练集的数据集Google earth光学遥感图像;10(b)为SSD300目标检测算法检测结果图像;10(c)为YOLOV3目标检测算法检测结果图像;10(d)为Faster-RCNN目标检测算法检测结果图像;10(e)为改进SSD目标检测算法检测结果图像。

图9 4种目标检测算法模型的检测精度对比Fig.9 Comparison of detection accuracy of four target detection algorithm models

表3 不同模型精度结果对比Tab.3 Comparison of accuracy results of different models

(a) 原始图像(a) Original image

(b) SSD300模型(b) SSD300 model

(c) YOLOV3模型(c) YOLOV3 model

(d) Faster-RCNN模型(d) Faster-RCNN model

(e) 改进SSD模型(e) Improve SSD model图10 不同模型实验检测结果对比Fig.10 Comparison of test results of different models

在图10(a)中,有3幅具有代表性的图。其中:左图为环境复杂度高,中间的图为多尺度、小目标聚集,右图为环境复杂度高并且小目标较多。通过以上4种算法模型检测结果可以得出,在环境复杂度高的情况下,除了Faster-RCNN与改进的SSD模型可以很好地检测出所有的飞机目标,剩余两个模型都存在漏检问题;在多尺度小目标聚集的情况下,只有改进的SSD模型存在漏检一个飞机目标,其余3个模型出现大量检测目标丢失,但Faster-RCNN检测结果优于SSD300和YOLOV3模型;在小目标多、环境非常复杂的条件下,更加体现出了改进模型的优势。其中SSD300和YOLOV3漏检情况明显,并且检测精度不是很高。对于Faster-RCNN与改进的模型,都检测出了飞机目标,但Faster-RCNN的检测速度却远低于改进的模型检测速度。因此,对比以上结果发现,对背景复杂度高、小目标繁多的遥感图像单目标实现高精度的实时检测,改进后的模型很大程度上优于Faster-RCNN、SSD300和YOLOV3模型。

4.6 算法扩展实验与结果分析

为证明改进SSD目标算法的可行性及通用性,本文设计了扩展实验,分别对雾天条件下的遥感图像、曝光环境下的遥感图像和噪声污染下的遥感图像进行检测,如图11所示。实验证明,改进后的SSD目标检测算法模型不仅精度最高而且可以实时检测,并且适用于不同复杂程度环境下的光学遥感图像飞机目标的检测,具有一定的通用性。

(b) SSD300模型(b) SSD300 model

(c) YOLOV3模型(c) YOLOV3 model

(d) Faster-RCNN模型(d) Faster-RCNN model

(e) 改进SSD模型(e) Improve SSD model图11 复杂环境下实验对比检测图Fig.11 Experimental comparison test in complex environment

5 结 论

本文针对经典的SSD300算法在光学遥感图像中存在飞机目标检测精度差以及检测速度慢的问题,提出了嵌入注意力机制模块、FPN特征融合、优化先验框的宽高比例以及利用Soft-NMS算法筛选出更加有效的检测框的方案。从算法改进的实验结果分析来看,第一,在不同卷积层引入通道、空间注意力机制后的模型检测效率优于SSD算法,并且针对单一目标检测效果有1.5%的提升;第二,加入特征金子塔,将不同尺度的特征进行融合后增强了特征信息,得到更加具有识别能力的特征图,精度明显提升。第三,利用Soft-NMS较于传统NMS算法保留了实际检测到的候选框,提升了召回率。最后,将所有改进的方法融合训练后精度达到92.54%,检测速度达到24.1 FPS。可见,改进的网络模型达到了实时检测以及高精度识别飞机目标。为判断改进模型能否在复杂环境下对光学遥感图像飞机目标的检测适用性,做了拓展实验。实验结果表明,改进后的SSD模型在不同环境下对飞机的检测有很好的效果,并且应用广泛。

猜你喜欢
网络结构飞机精度
飞机失踪
“拼座飞机”迎风飞扬
基于DSPIC33F微处理器的采集精度的提高
乘坐飞机
神奇飞机变变变
GPS/GLONASS/BDS组合PPP精度分析
基于互信息的贝叶斯网络结构学习
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
沪港通下A+ H股票网络结构演化的实证分析
复杂网络结构比对算法研究进展