基于改进SSD遥感影像的飞机目标检测研究
2022-10-10刘顺利刘昌华
刘顺利,刘昌华
(河南理工大学 测绘与国土信息工程学院,河南 焦作 454003)
随着遥感技术的快速发展,遥感卫星提供了大量高分辨率的遥感影像,结合深度学习目标检测算法在行业中得到了广泛应用。然而,面对复杂背景下遥感影像小目标物体的漏检问题,如何提高小目标物体的检出率对遥感影像目标物检测精度的提升有着重要意义。曹磊等[1]基于改进RPN的Faster-RCNN网络进行SAR图像车辆目标检测,加快了RPN的收敛速度,提高了检测结果的查准率。林娜等[2]引入空洞残差块对Faster R-CNN的特征提取模块进行优化,在UCASAOD数据集上进行验证,在提高遥感影像飞机检测精度的同时,提升了模型的泛化能力。文莉莉等[3]基于注意力机制对Faster R-CNN进行改进,将卷积网络和SKNet网络相结合,增强模型的特征提取能力和特征有效性,应用于海洋目标物检测。这些算法都是在Faster R-CNN[4]算法的基础上,通过改进其网络结构,提高遥感影像目标物体的检测精度。但是,由于Faster R-CNN网络结构复杂、检测效率低下,而单阶段的YOLO算法具备检测效率高的优势,使得更多研究者开始对其改进。姜文志等[5]通过特征拼接和优化损失函数改进YOLO v3,模型检测船舰目标的平均精确度提升了6.72%。王彦超等[6]在卷积层和池化层之间加入残差网络并引入压缩激励注意力模块强化有效特征改进YOLO v3-tiny,对奶牛关键部位检测结果的平均精度均值和F1值分别提高了2.2%和6.2%。彭继慎等[7]在YOLO v4的基础上,在主干网络上加入通道注意力机制,使用深度可分离卷积替换传统卷积,平均精度均值少量下降,而参数量减少了94.9%,检测速度提升2.3倍。
Faster R-CNN网络结构与YOLO算法难以实现对检测精度和检测效率的同时兼顾。SSD算法[8]同时借鉴Faster R-CNN和YOLO算法的优点,能够实现检测精度和检测效率的兼顾,吸引更多学者对SSD算法进行优化。史文旭等[9]基于特征融合改进SSD算法,实现对遥感影像多尺度舰船目标检测,提升复杂场景下检测模糊舰船目标的效果。成喆等[10]基于RPN网络对SSD算法进行改进,在提高小目标物检测精度的同时,保证检测速度。郭智等[11]以DenseNet作为基础网络提取不同层次的特征图,通过特征融合将多层次特征信息融合,实现不同尺度的飞机检测,提高复杂背景下遥感图像目标物体的检测精度。
上述改进SSD算法虽然都能提升检测精度,但过多加深网络结构导致检测速度的大幅度下降。此外,由于SSD网络结构简单,使得浅层特征缺乏语义信息,容易丢失小目标信息,使算法在复杂场景下对小目标物体的检测精度降低。因此,本文以VGG16[12]作为主干网络,通过借鉴FSSD[13]的思想构建特征融合模块(Feature Fusion Module,FFM)实现对不同层次特征图的特征融合,用于生成新的浅层特征图提升对小尺度飞机的检测能力,同时减少算法的参数量,加快模型训练。在新的浅层特征图后引入通道注意力机制SE模块(Squeeze-and-Excitation Module)[14]替代CBAM,加强对重要通道特征信息的关注,抑制其他通道的特征信息,增强SSD对遥感影像小目标物体的识别能力,进而提高SSD算法对遥感影像目标物体的检测精度。
1 材料与方法
1.1 SSD算法
SSD算法是一种基于深度学习的目标检测算法,其主干网络是VGG16,整体框架结构如图1所示。通过不同层次卷积层进行卷积运算生成不同尺度的特征图,使用一系列固定尺寸的卷积过滤器对特征图中的目标物进行检测结果预测,使用默认框与每个特征图切片相关联,求出边界框偏移量的输出值,使用不同的长宽比可以有效地离散化可能的输出框形状的空间,进而实现在检测精度不变的前提下,提升对目标物的检测速度。
图1 SSD算法框架结构图[5]
1.2 改进SSD算法
SSD算法虽能对不同尺度的目标物进行检测,但对遥感图像进行检测时由于浅层特征语义信息较弱,存在对遥感影像小目标物检测精度低的问题。为了提升SSD算法对小目标物的检测能力,提出一种结合特征融合模块和注意力模块的改进SSD算法,如图2所示,主要对SSD算法进行两个方面的改进:一是对VGG16主干网络进行改进,通过将不同尺度特征图进行反卷积操作实现与浅层特征的融合,生成具有丰富语义信息和细节信息的浅层特征图;二是在浅层特征图后面添加注意力模块,通过调整特征通道的权重,加强对重要通道特征信息的关注,进而提升对遥感影像小目标物的检测能力。
图2 改进SSD网络模型
特征融合模块(FFM)主要是将原VGG16网络中的Conv4_3、FC7和Conv8_2进行卷积运算,用于生成具有丰富语义信息和细节信息新的浅层特征提取层Conv4_3_3、FC7_1和Conv8_2_2,该模块的卷积运算如图3所示。首先,使用通道数为256、卷积核大小为1*1的卷积核,分别对这3个特征图进行卷积运算实现通道数上的相同;然后,分别使用卷积核为3*3、通道数256的卷积层,卷积核大小为3*3、通道数为256、步长为2*2的反卷积以及卷积核大小为3*3、通道数为256、步长为4*4的反卷积,进行卷积运算,生成尺寸大小为38*38,通道数为256的3个特征图;最后,使用批量标准化(Batch Normalization,BN)解决网络在反向传播中的梯度爆炸和消失问题以及使用LeakyReLU激活函数增加模型的泛化能力,使用Add将经BN处理的特征图按对应位置相加,得到具有丰富细节信息和语义信息的浅层特征图,便于下一步生成新的特征提取层。
图3 特征融合模块
通道注意力机制模块(SE Module)作用于特征提取层的浅层特征图,根据不同通道的信息量,通过调节通道特征的权重,强化信息量丰富的通道特征和抑制其他的通道特征,该模块如图4所示,其中Ci、Di、Ei、Fi、Hi和Ii表示不同的特征图。挤压操作通过使用全局平均池化层将Ci各通道的全局空间特征作为该通道的特征信息表示,形成一个通道描述符Ci。提取操作通过使用两个全连接层来学习Ci各通道的依赖程度,并根据其依赖程度对各通道的权重进行调整得到Ci。其中,第一个全连接层通过压缩通道数C/r,减少参数的计算量;第二个全连接层的通道数为C,维持通道数与输入特征图一致,激活函数为Sigmoid。经过训练调试,r取16的整体性能和计算量最平衡;使用Multiply相乘操作将Ci和Ei逐元素相乘,得到尺寸调整过的Fi,对Fi使用卷积核大小为1*1、通道数为C的卷积层进行卷积操作,然后使用Add相加操作,得到融合不同层次特征信息的Hi;对Hi使用ReLU激活函数增强模型的表达能力和泛化能力,得到用于分类预测的Ii。
图4 通道注意力机制模块
为了解决SSD算法中的正负样本不平衡问题,引入Focal loss代替Softmax loss解决分类损失问题,Focal loss计算公式为:
(1)
其中:y′表示预测输出,y是真实样本标签,a是正负样本权重、γ是易分类样本和难分类样本权重。
采用Smooth L1计算回归损失,当预测框和真实框标签差值过大时,梯度值不至于过大,当预测框与真实样本标签差值过小时,梯度足够小,训练时可以加快收敛速度,loss对离群点、异常值不敏感,可控制梯度的量级使训练更趋于平稳,计算公式为:
(2)
其中:x是预测框与真实样本标签差值。因此,改进SSD损失函数由Focal loss与 Smooth L1部分构成,公式为:
L=Lfl+LSL1
(3)
1.3 数据集
为评估改进SSD算法检测小目标物体的性能提升效果,采用2015年发布的RSOD数据集[15]中的aircraft dataset,该数据集中的遥感影像分辨率为0.3~3 m,来自天地图和谷歌地图,共有446张遥感影像,包含4 993架不同尺寸大小的飞机目标物。根据公开数据集对目标物划分标准,飞机目标物尺寸主要为小尺寸和中等尺寸,能够满足改进SSD算法检测小目标物体性能的需求。将数据集以 811的比例划分为训练集、验证集、测试集,其中训练集遥感影像358张、验证集遥感影像44张和测试集遥感影像44张。
1.4 检测精度评价指标和训练方法
针对中小尺度的飞机目标物进行检测,以平均精度(Average Precision,AP)、召回率(Recall)、精度(Precision)、平均调和均值(F1-score)、每秒帧率(Frame Per Second,FPS)以及参数量(Parament)作为衡量模型的标准,其中AP和F1-score的大小反映检测精度的高低,Recall和Precision值的大小用于表征AP和F1-score,FPS和Parament的大小反映检测速度的快慢。
改进SSD算法在Windows 10(64 Bit)的操作系统下,图像处理器选择NVIDIA GeForce RTX 2060,深度学习框架采用Keras2.1.5进行训练和测试,利用PASCAL VOC2007数据集完成模型的预训练,然后采用迁移学习,用于模型对遥感影像中飞机目标物的训练和测试。模型参数设置时,初始学习率为0.000 05、学习率衰减率为0.95,批量处理图像数目为8,采用Adams 优化器优化模型。
2 结果与分析
将训练数据分别投喂SSD算法和改进SSD算法,模型的训练损失和验证损失都随着迭代次数的增加而逐渐下降,模型训练损失值的变化过程如图5所示。
(a) SSD训练损失 (b) 改进SSD训练损失图5 模型训练损失对比
由图5可知:改进SSD算法与SSD算法相比,完成模型训练所需要的迭代次数Epoch较少,说明改进SSD算法能够加快模型的训练速度,经较少Epoch次数即可完成模型的训练;此外,改进SSD算法的训练损失和验证损失值都低于SSD算法,表明改进SSD算法能够降低模型的训练损失,对遥感影像中飞机目标物的检测性能得到提升。
将测试集数据分别投喂两个算法,通过精度评价检测模型性能,通过不同指标参数的大小,评估改进SSD算法检测遥感影像中飞机目标物的性能提升效果,改进SSD算法和SSD算法在测试集影像飞机目标的测试结果见表1。
表1 改进方法对SSD算法检测遥感影像中飞机的性能评估
由表1可知:改进SSD算法在IOU取0.5时的AP和F1-score的性能指标优于SSD算法,Recall和Parament这两个指标高于SSD算法,Precision指标基本不变,FPS值有明显下降,但仍具有较高的检测速度。从AP和F1这两个指标上来看,改进SSD算法分别提升了2.39%和6%,表明本文提出的改进SSD算法,在检测遥感影像中飞机目标物时,检测性能有较大提升。由于AP和F1-score均与Recall 和Precision相关,而Precision变化较小,因此,引起AP和F1值发生明显变化的主要原因是Recall,而改进SSD算法比SSD算法的Recall提升了6.48%,表明改进SSD算法能增强对小目标物的检测性能。从FPS和Parament的指标变化来看,改进SSD算法比SSD算法的FPS下降14.3的原因是由于增加的特征融合模块生成新的特征提取层,加深网络结构深度造成的,通过模型训练时参数量的变化得到验证。
为进一步验证改进SSD算法检测遥感影像飞机的性能提升效果,使用改进SSD算法和SSD算法分别对测试集遥感影像飞机进行检测,背景复杂程度和目标物尺度两个不同场景的检测结果如图6所示。图6(a)和图6(b)左侧为 SSD算法检测结果,右侧为改进SSD算法检测结果。在遥感影像飞机背景复杂程度不同的场景中,由图6(a)可知,影像中包含5架不同尺度的飞机和若干形态近似的干扰物体,SSD算法检测出5架飞机,包含正确检测4架和将1个干扰物误检为飞机,而改进SSD算法将全部飞机检测出来。在遥感影像飞机尺度不同的场景中,由图6(b)可知,遥感影像中包含29架飞机,SSD检测出14架,改进SSD在检测出20架,包含SSD检测出14架和未检测出的6架小飞机,表明改进SSD算法能提高遥感影像中小飞机的检测能力。对于SSD算法和改进SSD算法共同检测出的飞机,改进SSD有更高的分类得分,表明使用分类损失函数Focal loss能够提高遥感影像飞机的识别能力。
(a) 背景复杂程度
(b) 目标物尺度不同的检测结果
将特征融合模块和注意力模块SE Module相结合对SSD算法进行改进,提升对遥感影像小飞机的检测精度,为进一步分析特征融合模块和注意力模块SE Module对SSD算法检测遥感图像飞机指标AP和FPS的影响,设置4组对比试验,各模块组合的试验结果见表2。
表2 不同模块对SSD算法检测遥感影像飞机影响
由表2可知:在SSD算法的基础上增加特征融合模块(FFM),平均精度(AP)由73.83%提升至75.33%,提高1.5%,由于在SSD算法上增加FFM,导致模型检测需要消耗额外时间,检测速度由60.7降为44.0;在SSD算法的基础上在浅层特征层增加SE Module,平均精度由73.83%提升至74.11%,由于SE Module只在浅层特征层与原网络结构相近,检测速度比SSD算法稍有降低;本文提出的改进SSD算法是在SSD算法的基础上,增加特征融合模块(FFM)和注意力模块(SE Module)两个模块,平均精度由73.83%增至76.22%,提升2.39%,因其网络结构比SSD算法更加复杂,使得FPS从60.7下降至43.9。通过消融试验对比,特征融合模块(FFM)对SSD算法检测遥感影像飞机平均精度提升效果更好,但也增加了网络复杂度,使得检测速度下降明显;注意力模块(SE Module)对于平均精度(AP)的提升效果有限,检测速度下降很小;本文将特征融合模块(FFM)和注意力模块(SE Module)相结合,丰富浅层特征的语义信息,提升对小目标物的检测能力,相比单一使用特征融合模块(FFM)改进SSD算法对于平均精度(AP)的提升效果更好,而且检测速度几乎没有损失。
3 结论
本文针对SSD算法检测遥感影像小目标物体漏检问题,提出一种将特征融合模块和通道注意力模块相结合的方法来改进SSD算法,并在RSOD的Aircraft数据集上进行验证。试验结果表明,该方法对遥感影像中的飞机目标物检测的平均精度比原始SSD算法提高2.39%,F1-score提升6%,加强了对遥感影像中小飞机的检测能力,改进SSD算法的召回率提升6.48%。通过对测试集数据进行检测,根据不同场景下的检测结果,改进SSD算法在背景复杂程度和多尺度目标物分布的情况下对小目标物体的检测能力得到提升。此外,消融试验表明:将特征融合模块(FFM)和注意力模块(SE Module)相结合来改进SSD算法,相比分别使用特征融合模块(FFM)和注意力模块(SE Module)的改进SSD算法对小目标物体的检测效果更佳。