王 岩,娄树理
(烟台大学物理与电子信息学院,山东 烟台 264005)
海面舰船作为海上监测和战时打击的重点目标,能否快速准确地识别出海面舰船目标,极大地关系到行动成败[1]。由于红外舰船图像受海杂波、云雾雨雪等因素影响,且目标与背景复杂多样,如何快速准确地检测出舰船目标,是红外成像制导武器的关键问题和技术难题,一直是国内外研究热点。
传统的目标检测算法大多基于滑动窗口和人工特征提取,存在计算复杂度高以及复杂场景下鲁棒性差的缺陷。随着深度学习的发展,目标检测技术得到了很大的进步,增加了目标检测算法的多样性。基于深度学习的目标检测算法分为两类:一类是两阶段目标检测算法,如Faster R-CNN(Faster Region-based Convolutional Neural Networks)[2]和Mask R-CNN(Mask Region-based Convolutional Neural Networks)等[3],顾佼佼等[4]提出基于改进Faster R-CNN的红外舰船目标检测算法,马啸等[5]提出基于改进Mask R-CNN的舰船目标检测方法,这类算法精度高,但是速度稍慢,难以用在瞬息万变的海战场上;另一类是单阶段目标检测算法,如SSD(Single Shot MultiBox Detection)[6]和YOLO(You Only Look Once)[7-10]系列等,这类算法实现了端到端的目标检测,相比于两阶段目标检测算法,其检测速度更快,适用于海战场的目标检测。何维娟等[11]提出基于改进YOLOv3的遥感图像舰船目标检测方法;梁杰等[12]提出基于改进SSD的舰船目标精细化检测方法,该方法利用旋转的边框回归模块,通过学习密集区域目标的几何形变,预测目标的旋转角度,最终以旋转的矩形框获得目标位置,此方法虽使精度得到一定提高,但降低了原有的检测速度;谢晓方等[13]提出一种融合轻量级YOLOv4与KCF算法的舰船目标检测算法,但是相比两阶段目标检测算法,其检测精度偏低。
针对海战场舰船目标检测精度和速度要求较高的技术难题,本研究提出一种改进后的SSD目标检测算法,并通过实验验证其对红外舰船目标的检测精度与速度。
SSD算法的主干网络为VGG网络,此算法是将VGG末端的全连接层用卷积层代替,在此基础上增加几个额外的卷积层,获取更多的特征图层,并且使用VGG网络和新增的卷积层获得的特征图进行独立预测。SSD网络结构如图1,首先对输入图像进行大小调整,并作为模型的输入;其次利用SSD算法的特征提取网络获得一系列特征图层,其中低层特征矩阵关注较小目标的特征,高层特征矩阵关注较大目标的特征;最后对不同尺度的特征图层设置不同比例和数量的先验框,通过两个卷积层预测默认边界框的类别分数和位置偏移量,使用非极大值抑制筛选方法获得最终的预测边界框。
图1 SSD网络结构
为提高网络检测精度,本研究对SSD网络结构进行改进,改进后的SSD网络结构如图2,首先对输入的图像进行Mosaic数据增强的预处理,通过引进主干网络ResNet-50和添加的五个特征提取层进行特征提取;然后将提取出的特征图作为输入,利用ECANet通道注意力机制,进一步提高特征图中语义和细节信息的抗干扰能力;最后对特征图进行分类和边界框回归预测。
图2 改进后的SSD网络结构
红外舰船图像主要反映舰船目标和海天背景的辐射能量差异,由于岛屿等物体辐射能量与海天背景也有较大差异,实际检测时岛屿等物体会对舰船目标检测形成干扰,并且实际红外图像中噪声影响严重,这些因素降低了红外舰船目标的检测精度。使用SSD算法对舰船进行目标检测时,VGG网络提取的特征图中语义和细节信息抗干扰能力弱,为了避免复杂背景和相似物体对舰船目标检测的干扰,本研究将SSD特征提取网络替换为网络层数更深、细节信息更丰富的ResNet-50[14]网络,并且对ResNet-50网络加以修改,去掉Conv5对应的一系列层结构及其之后的层结构,并将Conv4的第一个残差块结构的步距由2改为1,由此得到尺度大小为38×38×1024的特征图,残差结构见图3。
图3 残差结构
为了获得不同感受野的特征图,使其能够提取不同尺度目标的特征信息,添加了一系列额外的层结构构成特征提取层(Addlayer)(图4),并将每个特征提取层中的全连接层用1×1的卷积层代替。针对红外舰船目标检测速度要求高的问题,在特征提取网络层中加入BN层,提高网络的训练速度。
图4 特征提取层
对红外舰船目标进行检测时,SSD网络对不同背景下的舰船目标检测精度差异较大,为了使SSD网络在不同情况下具有更好的鲁棒性,在检测前对图像进行数据增强的预处理。在SSD网络中加入Mosaic数据增强模块[10],Mosaic数据增强将四张图像进行拼接,每次读取四张图片,并分别对四张图片进行翻转、缩放、色域变化等,能够丰富检测物体的背景,并且在BN层计算时,能够同时计算四张图片的数据,提高网络的检测速率。图5为图像使用Mosaic数据增强方法的实例。
图5 Mosaic数据增强实例
使用SSD算法检测红外舰船目标时,特征提取网络提取的特征图中有目标特征和相似的干扰特征,而相似的干扰目标在特征图中与舰船目标具有同等重要性,不利于舰船目标在复杂背景下的检测。为了增加特征图对舰船目标的识别能力,降低复杂海战场背景的影响,在SSD网络中引入ECANet通道注意力机制[15],抑制干扰特征的影响,提高网络注意力。
ECANet通道注意力机制(图6),首先对输入的特征层进行全局平均池化,利用1D卷积进行特征提取,经过Sigmoid激活函数获得每一个特征点的权值,最后与输入的特征层相乘,得到新的特征图层。
图6 ECANet通道注意力机制
图6中H、W、C分别代表特征图的高度、宽度和通道数,为上一个卷积层的输出并且作为注意力机制的输入,GAP表示全局平均池化,σ表示Sigmoid非线性激活函数,k表示卷积核大小。Sigmoid非线性激活函数的定义式为[16]
(1)
式中:z表示神经网络上一层节点的输出。k的数学表达式为[15]
(2)
式中:b取1,γ取2,|t|odd表示距离t最近的奇数。
SSD算法中使用梯度下降法优化目标函数时,学习率下降使模型更加接近Loss值的全局最小值,但目标函数有多峰的可能性,除了全局最优解之外还有多个局部最优解,这导致网络训练时,模型可能陷入局部最小值,因此使用余弦退火衰减法[17]计算学习率,突然提高学习率使其跳过局部最优解,从而找到全局最优解,提高网络对舰船目标的检测精度。
余弦退火的数学表达式为[17]
(3)
使用余弦退火学习率的SSD网络损失和学习率如图7。
图7 SSD的网络损失和学习率
从学习率曲线轨迹来看,改进后的SSD网络优化目标函数时,模型会跳过损失值的局部最优解,寻找全局最优解,提高网络对舰船目标的检测精度。
本研究中算法的所有实验均在Windows11操作系统中进行;处理器为AMD Ryzen 7 5800H with Radeon Graphics 3.20 GHz;NVIDIA GeForce GTX 3060(6 GB);深度学习框架为Pytorch 1.10.1;使用Python作为主要编辑语言。
红外舰船数据集来源于实际采集图像,该数据集共1263张舰船图像,波段分别为3~5 μm和8~12 μm,图像目标为舰船目标,部分海天背景中存在岛屿,图像大小分别为320×240、621×471。数据集按7∶3的比例分为训练集和验证集,并且按照PASCAL VOC数据集的格式进行标注。
评价标准采用平均精度(average precision, AP)和检测速率(Frame Per Second, FPS),AP兼顾精确度(Precision)和召回率(Recall),常被用作评估模型的精度有效性,FPS为每秒检测图像的帧数,常被用作评估模型的检测速度。所有类别的AP的均值为mAP,本研究中算法为单目标检测,即AP=mAP。Precision为模型预测的所有目标中预测正确的比例。Recall是所有真实目标中模型预测正确的目标比例。IOU表示预测框与真实框的重叠程度。AP的定义式为
(4)
FPS越大,表明检测速度越快,实时检测的可行性越高。其定义式为
(5)
式中:Num(figure)表示样本检测数量;T表示检测运行时间。
使用改进后的SSD算法在红外舰船数据集上进行仿真实验,为了评估改进后的SSD算法的有效性,选取了不同系列的红外舰船图片,与改进前的SSD算法进行仿真实验对比,效果如图8。
图8 仿真结果对比
结果表明,改进前的SSD算法对单一背景中的舰船目标检测效果较好,但对大面积岛屿干扰背景中的舰船目标检测效果较差,出现误检情况。改进后的SSD算法检测精度更高、抗干扰性更强,明显降低了算法的误检率。为了更加准确地验证改进后的SSD算法的可行性,分别使用改进前的SSD算法、改进后的SSD算法、ResNet-50网络构架的Faster R-CNN算法、RetinaNet和Yolov4算法在红外舰船数据集上进行仿真实验。考虑到数据集存在人工制作误差等因素,对比实验使用IOU=0.75条件下的算法精度,结果如表1。
表1 不同算法检测精度比较
通过比较可以发现,改进后的SSD网络对红外舰船目标的检测精度最高、速度最快,与改进前的SSD算法、Faster R-CNN算法、RetinaNet和YOLOV4算法相比,AP分别提高6.5%、1.1%、6%和7.6%,FPS分别提高8、51、18和16。表明本研究中算法能够提高网络对舰船目标的检测精度和速度,对于复杂背景下红外舰船目标检测具有较强的适应性和抗干扰性。
为了证明改进后的SSD算法对提高舰船目标检测精度的可行性,在红外舰船数据集上进行消融实验,在SSD模型上依次添加ResNet-50模块、Mosaic数据增强模块、ECANet通道注意力机制模块、余弦退火衰减学习率(Cos-lr)模块,并通过比较检测精度的差异,分析改进后的SSD每个模块的性能,实验结果如表2。
表2 不同SSD模型对舰船检测的性能对比
模型在实验中未使用该模块。
实验设置以传统SSD为基线,将模型主干网络替换为ResNet-50网络,模型的AP比改进前的SSD提高3.4%,说明ResNet-50网络语义信息更丰富,提取的特征图中细节信息抗干扰能力更强。在此基础上依次添加Mosaic数据增强模块、ECANet通道注意力机制模块、Cos-lr模块,模型的AP较前者依次提高1.1%、1.7%、0.3%,说明了Mosaic数据增强模块能够丰富检测物体的背景,提高网络的鲁棒性;ECANet通道注意力机制模块可以抑制干扰信息的影响,提高网络对舰船目标的检测能力;Cos-lr余弦衰减学习率能够优化网络,提高网络对舰船目标的检测精度。改进后的SSD算法在检测速度上也有一定的提升,能更好地用在瞬息万变的海战场上。
针对红外图像中的舰船检测问题,提出一种基于改进SSD的检测算法。该算法以SSD目标检测算法为基础,在此基础上将主干网络换为ResNet-50网络,增强网络的抗干扰能力;使用Mosaic数据增强方法,提高网络的鲁棒性;引入ECANet通道注意力机制,抑制干扰信息的影响,提高网络注意力;使用Cos-lr来优化网络,提高网络的检测精度。实验结果表明,本研究中提出的检测算法,平均精度达到98.8%,FPS达到55,可实现对红外舰船目标快速精准的检测。