采用多尺度特征融合SSD 的遥感图像小目标检测

2021-12-14 02:07万敏杰顾国华
光学精密工程 2021年11期
关键词:先验尺度飞机

陈 欣 ,万敏杰 *,马 超 ,陈 钱 ,顾国华 *

(1. 南京理工大学电子工程与光电技术学院,江苏南京210094;2. 南京理工大学江苏省光谱成像与智能感知重点实验室,江苏南京210094)

1 引 言

遥感图像目标检测技术是目前计算机视觉领域重要的研究方向之一。相对于其他类型的遥感图像,高分辨率光学遥感图像具有独特的优势,因此在民用和军事领域得到了广泛的应用[1]。传统的遥感图像目标检测方法,如尺度不变特征变换、方向梯度直方图(HOG)、形变部件模型(DPM)等,都依赖人工设计的特征,检测精度较低,实时性差。

自 2012 年 Hinton 等人提出的 AlexNet 在 Im⁃ageNet 大规模视觉识别挑战赛(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)图像分类比赛夺冠后,深度学习迅速发展,并在计算机视觉领域得到了越来越广泛的运用[2],越来越多的学者将深度学习应用于遥感场景下的目标检测中[3-4]。基于深度学习的目标检测算法主要分为两类:一是以Faster R-CNN[5]系列为代表的基于候选区域的两阶段目标检测算法,该方法基于原始图像生成一系列建议区域,并将建议区域和特征图输入感兴趣区域池化层,最终实现目标的分类与定位;二是以SSD(Single Shot multibox Detector)[6]、YOLO[7]系列为代表的基于回归的单阶段目标检测算法,该类方法从回归的角度出发,直接在图像上回归出目标的边框位置和目标类别。文献[8]对Faster R-CNN 不同层的特征图进行聚合并改进了其损失函数,在合成孔径雷达(SAR)图像中的舰船目标检测上取得了较好的效果。文献[9]提出了DSSD 模型,采用ResNet-101 并结合反卷积模块加入了上下文信息,提高了网络的特征提取能力,但其检测速度较慢。Liu 等人[10]提出了结合浅层的细节特征和高层的语义特征的FSSD 算法,在保证精度的同时提高了检测速度,但它对小目标检测结果较差。文献[11]将YOLOv2 算法与生成对抗网络、卷积密集连接相结合,提升了算法的鲁棒性。Wang 等人[12]针对遥感影像小目标检测,提出了一种结合特征金字塔(Feature Pyramid Net⁃works,FPN)[13]的 SSD 改进算法,该算法一定程度上提高了检测的速度和精度。文献[14]提出了一种多尺度卷积神经网络遥感目标检测框架——MSCNN,该算法对多尺度遥感目标的检测结果较好,但对复杂背景的适应性较弱。上述两阶段类目标检测算法的高计算成本限制了该类算法的目标检测速度,单阶段的目标检测算法则对多尺度目标特别是小目标的检测精度较差。

为了实现复杂背景下遥感小目标的高效检测,本文提出了一种采用多尺度特征融合SSD 的检测方法。该方法设计了特征融合模块,将主要负责小目标检测大尺度的浅层特征图与具有丰富语义信息的深层特征图相融合,采用金字塔特征结合方式,对浅层信息进行了增强,提高了对小目标的提取能力。同时,针对遥感图像复杂的背景环境,增加通道注意力模块,增大目标区域通道的特征响应,减弱背景区域通道的特征响应。最后调整先验框相对于原图的比例,提高了网络的小目标检测能力。

2 SSD 算法模型

SSD 算法是一种在兼顾精度的同时大幅提升检测速度的目标检测算法。SSD 以VGG16 作为基础的特征提取网络,在将其最后两层的全连接层变换成卷积层的基础上,额外添加了5 个卷积结构形成其网络框架,其网络框架如图1所示。

图1 SSD 网络框架Fig.1 SSD network framework

SSD 算法的核心主要有两点,一是提取不同尺度的特征图进行目标检测,大尺度高分辨率的特征图用来检测小尺度目标,而小尺寸语义信息丰富的特征图则用来检测大尺度目标。SSD 分别提取了 Conv4_3,Conv7,Conv8_2,Conv9_2,Conv10_2 和Conv11_2 共 6 个 不 同 尺 度 的 特 征图,送入后端进行目标的分类和回归,有效提升了对不同尺度目标的检测能力。二是先验框的生成,针对待检测特征图,对其上的每一个像素点生成不同尺度和长宽比的先验框,预测时目标框以这些先验框为基准计算偏差,可在一定程度上降低训练的难度。

3 改进的SSD 方法

SSD 算法虽然提取了多尺度特征图进行目标检测,但是负责小目标检测的主要是浅层特征图Conv4_3,该层特征图的语义信息较少,因此在对复杂背景下的遥感图像进行检测时,对遥感图像中小目标的检测能力较弱,同时对复杂背景的区分能力不强。

为解决上述问题,本文采用了一种多尺度特征融合SSD 方法。首先,利用特征融合机制将深层、浅层特征进行融合,采用特征金字塔实现特征的增强;然后,加入通道注意力模块(Channel Attention Module,CAM)增强了背景和目标之间的可区分度;最后,对先验框相对于原图的比例进行了调整以更好地适应小目标检测任务。改进后的SSD 网络结构如图2 所示。

图2 改进后的SSD 网络结构Fig.2 Structure of improved SSD network

3.1 多尺度特征融合

SSD 算法提取多尺度特征图进行目标检测,负责小目标检测的主要是低层特征图Conv4_3,其分辨率高,拥有较为丰富的细节信息,但是它所包含的语义信息较为匮乏,对遥感图像小目标的检测能力较弱。

针对以上问题,本文设计了一种特征融合机制,将3 个不同深度的特征图进行融合。将丰富的语义信息从深层特征图融合到浅层特征图的同时,也将浅层特征图丰富的细节信息融合到了深层特征图,保留了更多的上下文信息。对Conv4_3,Fc7,Conv8_2 三个不同尺度的特征层进行特征增强,具体过程如图3 所示。具体步骤如下:首先,采用1×1 卷积核在提取到的3 个不同深度的特征图上进行卷积操作,将各个深度特征图的通道数进行统一;其次,针对提取到的不同深度特征图尺度不同的问题,使用3×3 卷积核进行卷积,统一其输出尺度;最后,在各个特征图输出的尺度和维度都一致之后,采用通道拼接(Concatenate,cat)的方式进行融合。融合后得到Conv4_3_1,Fc7_1,Conv8_2_1 三个不同尺度特征增强的特征图。

图3 特征融合增强过程Fig.3 Process of feature fusion enhancement

同时,采用特征金字塔代替SSD 原有的特征结合方式。算法共提取6 个特征层进行检测,3个 检 测 层 由 Conv11_2,Conv10_2 和 Conv9_2 构成,另外 3 个检测特征图由 Conv4_3_1,Fc7_1,Conv8_2_1 三个特征增强的特征图通过构建特征金字塔获得,即利用3 个不同尺度的特征图进一步进行特征增强。首先,将Conv8_2_1 特征图作为特征金字塔中第一个特征图。其次,对Conv8_2_1 进行上采样增大其尺度,然后将它与Fc7_1 经过1×1卷积降维后的特征图进行通道拼接,将连接获得的特征图作为金字塔的第二个特征图。最后,将连接后的特征图上采样增大尺度后,与Conv4_3_1 降维后的特征图进行通道拼接,作为金字塔的第3 个特征图。流程如图4所示。

图4 FPN 结合示意图Fig.4 Schematic diagram of FPN bonding

3.2 通道注意力机制

由于光学遥感图像背景复杂,背景杂波容易干扰目标的检测。为了实现复杂背景下目标的准确高效识别,减小背景干扰,在多尺度特征融合之后加入通道注意力模块,将模型注意力更多地转移到关注目标区域的通道,增大这一部分通道的特征响应,相应地减弱关注背景区域那一部分通道的特征响应,从而增大目标区域和背景区域的可区分性。

通道注意力模块设计了一个新的权重参数空间,通过引入不同的权重来衡量不同通道之间的重要程度,为关注目标区域的通道附加更高的注意力权重,相应地减小关注背景区域通道的注意力权重,进而增大背景和目标的可区分性,以减小遥感图像复杂背景的干扰。具体流程如图5所示。

图5 通道注意力机制示意图Fig.5 Schematic diagram of channel attention mechanism

首先,对输入尺寸为H×W×C的特征x进行最大池化和平均池化,分别得到两个1×1×C的一维特征向量,使用两种不同的池化方式在获得两种不同空间上下文的特征描述的同时,可以适应不同深度特征图中特征提取的需求。其次,经过两层全连接层先降低维度再升高维度,在得到每个通道权重大小的同时整合输入特征的每个通道信息。再次,将每个像素点的位置元素相加,经过Sigmod 激活函数将权重归一化到0~1之间,得到注意力权重y。最后,将注意力权重与特征进行特征值重塑,得到注意力特征xc如下:

3.3 先验框尺寸调整

SSD 算法将用于检测的特征图划分成网格结构,以每个网格的中心点为中心,生成大小及比例均不同的先验框。检测目标的中心落在哪个网格,就由该网格负责该目标的检测,如图6所示。

图6 SSD 先验框生成示意图Fig.6 Schematic diagram of priori frame generation for SSD

特征图上生成的先验框的尺寸遵守一个线性递增规则:随着特征图尺寸的减小,先验框尺寸线性增加。如式(2)所示:

式中:m=5,smin=0.2,smax=0.9,sk表示先验框尺寸相对原图片的比例。

(3) 在塔-线体系导地线和杆塔同时发生共振时,同阶共振的两个相邻单塔会出现共振方向相同和相反两种振型形式.在同阶情况下,与单塔模态频率相比,塔-线体系中的单塔共振频率值要小,而且垂直向要比水平向更加明显.

通过统计数据集中的目标尺寸,飞机目标的最小尺寸约为20×20,而SSD 算法中最浅层特征图上先验框的尺寸是30×30,不适应飞机目标的最小尺寸,容易漏检。故针对数据集中目标的尺寸信息调整比例,将smin,smax的值调整为0.12,0.88,那么在浅层特征图中先验框的尺寸减小为18,以适应数据集中飞机的最小尺度,避免因遥感图像目标尺寸小而导致在浅层特征图中先验框无法匹配到目标。尺寸调整前后的先验框尺寸如表1 所示。

表1 改进前后的先验框尺寸Tab.1 Dimensions of original and improved prior frames

3.4 算法总结

方法1 采用多尺度特征融合SSD 的遥感图像小目标检测方法

4 实验与结果分析

4.1 数据集与参数设置

多尺度目标检测实验在自己收集和标注的遥感飞机数据集上进行。该数据集共包含420幅光学遥感飞机图像,平均尺度约为1 300×900,共标注飞机目标3 324 个,图像分辨率在0.8~2.0 m,每幅图像至少包含一个目标。

为了避免过拟合,采用旋转、翻转等变换进行数据扩充。在训练过程中,实验随机将数据集的70%用于训练,剩下的30%用于测试。根据飞机数据集的尺度(1 300×900)以及目标分布信息,定义了相应的边界框尺度(小目标:S≤602、中目标:6021202),对所采集的遥感飞机数据集中的飞机目标尺度情况进行统计,结果如表2 所示。由表2 可知,所采集数据集中小目标数量占总体目标数量的37.2%。

表2 基于实例尺寸分布的边界面积定义及目标数量Tab.2 Definition of boundary area and number of targets based on instance size distribution

实验硬件环境CPU 为Inter E5-2680,内存为256G,GPU 为 NVIDIA TITAN RTX,操作系统为Ubuntu 16.04,采用Pytorch 作为深度学习框架进行训练和测试。本文采用端到端训练方式,初始学习率设置为0.000 1,批处理大小设置为16,优化方法为随机梯度下降,动量设置为0.9,正则化系设置为0.000 5。

4.2 评价指标

本文采用平均检测精度(Average Preci⁃sion,AP)作为飞机目标检测结果的评价指标。AP 计算的是召回率在0~1 之间的平均精度,即精度-召回率曲线所包络的面积,因此AP 值越高代表检测性能越好。精度p和召回率r可以表示为:

其中:Tp为真正例,Fp为假正例,FN为假反例。

4.3 实验结果与分析

在所采集的遥感飞机数据集上对不同的目标检测方法进行训练和测试,检测结果如表3所示。

表3 不同方法在遥感飞机数据集上的实验结果Tab.3 Experimental results of different algorithms on re⁃mote sensing aircraft dataset

图7 不同方法的检测结果Fig.7 Detection results of different algorithms

图8 SSD 算法的检测结果Fig.8 Detection results of SSD algorithm

图9 本文提出的改进SSD 方法的检测结果Fig.9 Detection results of proposed improved SSD algorithm

4.4 消融实验

为了定量分析本文方法中多尺度融合特征融合模块、通道注意力模块以及先验框改进模块对遥感飞机目标检测精度的影响,设计了消融实验,取IOU=0.5 时的平均检测精度以及帧频作为评价指标对算法性能进行表征。消融实验结果如表4 所示。

表4 各个模块的消融实验结果Tab.4 Results of ablation experiments for each module

由表4 可知,在SSD 方法基础上增加特征融合机制,平均精度由85.9%提升至88.7%,整体提升了2.8%,由于特征融合机制的增加,检测速度变慢,帧频由30.2 frame/s 降至25.3 frame/s;在SSD 算法基础上增加通道注意力模块,精度提升了1.3%,帧频下降1.7 frame/s;改进SSD 中先验框的比例,精度由85.9% 提升至86.5%,帧频改变不大;在增加特征融合机制的基础上增加通道注意力模块,精度由85.9%提升至89.8%,提升了3.7%,帧频却下降至24.8 frame/s;在前者的基础上再对先验框比例进行改进,精度提升至90.2%,检测速度为24.3 frame/s。

测量图3 特征融合模块中不同融合机制对检测精度的影响,结果如表5 所示。从实验结果可以看出,采用融合层Conv4_3_1 遥感飞机目标的检测精度提高了1.4%,表明浅层特征融合能够有效提升小目标的检测能力;在增加融合层Fc7_1 后,检测结果较仅使用Conv4_3_1 时提高了0.8%,增加Conv8_2_1 之后,精度达到了88.7%,表明较深特征层的融合能够提升对中、大型尺寸飞机目标的检测能力。实验结果表明,特征融合机制能够增强遥感飞机图像多尺度目标的特征学习能力,提升检测精度。

表5 特征融合模块的消融实验结果Tab.5 Ablation experimental results of feature fusion module

4.5 迁移实验

为了验证本文算法的有效性、通用性以及可迁移性,除了在遥感飞机数据集进行算法的性能对比之外,还将在上述遥感飞机数据集上训练好的检测模型,迁移到不同姿态、不同类型的空中飞机目标检测中。收集了35 张以天空为背景的不同姿态和不同机型的飞机图片,每张图片平均含有4~8 个飞机目标。以它们为迁移数据集进行迁移实验,改进SSD 方法和SSD 方法在迁移数据集上的平均检测精度分别为0.672 和0.541,改进SSD 方法的迁移精度较SSD 方法提升了0.131。检测结果如图10 所示。

图10 对空中不同姿态、不同类型的飞机目标的检测结果Fig.10 Detection results for different attitudes and types of aircraft targets in air

图10 给出SSD 和改进方法的检测模型对空中飞机目标的检测效果。所采集的遥感飞机数据集中的飞机目标皆为地面目标,机型主要为民航客机,姿态皆为俯拍。将在其上训练好的检测模型,用于检测空中不同姿态、不同类型的飞机目标。其中的检测目标分别为:空中仰拍姿态直升机、空中仰拍姿态以及侧拍姿态的不同机型军事飞机。由检测结果可知,相较于SSD 算法,改进方法训练好的检测模型对天空背景下不同姿态、不同类型的飞机目标能进行更加有效的检测,这是因为特征融合过程不仅提高了特征的提取能力,也一定程度上增强了特征的泛化能力,使得模型具有较好的迁移能力。迁移实验结果证明了改进算法所学习到的检测模型具有一定的迁移性和通用性。

5 结 论

本文针对遥感图像复杂背景下小目标的检测问题,提出了一种改进型多尺度特征融合SSD方法。首先,针对小目标特征弱的问题,设计了一种特征图融合机制,将分辨率高的浅层特征图与具有丰富语义信息的深层特征图进行融合,并在特征图间构建特征金字塔,增强小目标特征,其精度提升了2.8%。然后,针对遥感目标背景复杂的问题,增加通道注意力模块,将算法注意力集中在目标区域的通道,增大目标区域通道的特征响应,减弱背景杂波区域通道的特征响应,减小背景干扰,精度在原先基础上提升1.1%。最后,针对小目标尺度,对先验框相对于原图的比例进行了调整,使算法能够较好地适应小尺度遥感目标检测问题,精度在原先基础上提升了0.4%。性能实验证明了本文方法在检测精度上优于主流算法,消融实验以及迁移实验证明了方法的完备性和通用性。实验结果表明,本文所提方法能够有效增强小目标的表征能力,降低小目标的漏检率,在满足实时检测的基础上,实现对复杂背景下遥感图像中小目标的高效检测。

猜你喜欢
先验尺度飞机
飞机失踪
财产的五大尺度和五重应对
基于无噪图像块先验的MRI低秩分解去噪算法研究
“拼座飞机”迎风飞扬
乘坐飞机
基于自适应块组割先验的噪声图像超分辨率重建
神奇飞机变变变
宇宙的尺度
基于平滑先验法的被动声信号趋势项消除
先验的废话与功能的进路