基于感知向量的光学遥感图像舰船检测
2022-11-19潘超凡李润生牛朝阳
潘超凡, 李润生, 许 岩, 胡 庆, 牛朝阳, 刘 伟
(信息工程大学数据与目标工程学院, 河南 郑州 450001)
0 引 言
光学遥感图像舰船目标检测任务在获取敌方舰船情报、为己方指挥员提供决策参考方面发挥着重要作用,关乎海战场的战局胜败。当前,基于深度学习的目标检测技术按照是否考虑了目标角度信息可分为水平框检测和旋转框检测。
水平框检测通过预测目标的水平最小外接矩形来表示目标,其发展大致经历了滑动窗口法、选择性搜索法、区域生成网络(region proposal network, RPN)、无锚框检测4个阶段[1-8]。水平框检测适用目标小长宽比、稀疏排列的情况。对于一些大长宽比的目标和密集排列场景,水平框可能会出现相互之间高重叠的情况,在非极大抑制时会排除掉一些预测框,导致漏检。除此之外,对任意方向的大长宽比目标进行预测时,包围框内含有大量背景区域,其噪声信息的干扰会降低网络检测性能。
旋转框考虑了目标的角度信息,可以很好地解决上述问题。当前的旋转目标检测器按照是否采用预定义的候选框可大致分为两类:基于锚框的检测器[9-12]和无锚框的检测器[13-15]。基于锚框旋转检测器根据先验锚框提取候选目标区域并完成分类和回归过程,而无锚框类检测器通过关键点预测实现对目标的建模。
由于光学遥感图像的成像为俯视视角,因此光学遥感图像中的舰船目标具有任意方向和多尺度的特点。对于舰船这种大长宽比的旋转目标,采用旋转框检测方法可以更好地贴合目标,避免背景区域的干扰。针对这些特点,一些学者设计了相应的检测网络以实现对舰船目标的精确检测。Zhu等[16]提出一种基于关键点提取的舰船检测全卷积网络DiamondNet,其基本思想是在考虑舰船形状特征的基础上设计了中心点、两个头尾点、两个侧翼点和5个关键点来导出有效的舰船表示,通过聚类算法将关键点分组到相应目标实例中,完成舰船目标检测。Zhang等[17]将舰船目标建模成中心点和头点两个关键点,由主干网络和方向不变模型(orientation-invariant model,OIM)提取特征图后预测关键点,得到对舰船目标的两点表示,并利用先验信息精炼细化预测结果。
除此之外,光学遥感图像舰船目标检测任务还面临着背景噪声的问题,尤其是近岸场景下的建筑物或码头等会给检测带来较大干扰。针对该问题,本文在一个基于包围框边缘感知向量(box boundary-aware vectors, BBAVectors)的无锚框类旋转检测网络基础上添加了注意力机制模块来增强目标信息,解决近岸场景干扰大的问题。同时,考虑到原网络的向量学习过程仅依靠回归过程进行,缺少相互之间的约束,本文基于4个向量间的几何关系设计了一个损失函数来指导包围框的学习,提升了网络的鲁棒性。
1 基于BBAVectors的基线网络
为解决基于锚框的检测器两阶段旋转目标检测网络存在的正负样本不平衡问题,Yi等[18]在CenterNet的基础上进行了扩展,提出了一个单阶段旋转目标检测网络,网络结构如图1所示,其中包含特征金字塔网络(feature pyramid networks, FPN)。
图1 基于BBAVectors的旋转目标检测网络
主干特征提取网络采用ResNet101,特征图金字塔网络通过3次特征融合得到4倍下采样特征图C2,然后输入4个检测头进行目标包围框的学习。
中心点热图通道数为目标类别数,用来定位物体中心点,热图上像素点的值为该点在相应通道(类别)的置信度。训练热图的损失函数为变体focal loss,如下所示:
(1)
中心点偏移图用于中心点回归,训练损失为
(2)
(3)
包围框参数b包括4个BBAVectors和水平外接矩形的宽高:b=[t,r,b,X,we,he]。训练损失为
(4)
当旋转框接近坐标轴时会导致向量类型难以区分,旋转方向特征图可以较好地解决该问题。当旋转框和其水平外接矩形交并比达到某一阈值时,预测框为其外接矩形,否则为旋转框。旋转方向特征图定义为
(5)
式中:RBB表示旋转框;IOU(·,·)表示交并比;OBB表示定向框;HBB表示水平框。损失函数为
(6)
2 改进模型
本文在特征融合网络和检测头之间添加了一个有监督的多维注意力机制模块[19],通过真值掩膜图指导网络学习,有助于将更多的注意力集中到舰船目标区域,削弱背景噪声的干扰。同时,本文还设计了针对4个BBAVectors之间约束关系的损失函数,以此来保证相邻向量间的两两垂直关系,加强了学习耦合性,降低了因向量独立性造成的包围框不规则性。
2.1 有监督的注意力机制模块
对于近岸舰船目标检测,存在的较大挑战是干扰较多,一些岸上目标如房屋、船坞、码头等很容易被误检。本文对基线模型进行了改进以提高检测精度。图2为改进的网络结构。
图2 改进型网络
注意力机制借鉴了人脑聚焦感兴趣目标的功能,旨在让神经网络模型对不同区域具有不同的关注度。对于目标区域,注意力机制会赋予其更高的特征权重,同时抑制背景区域权重值,以此来投入更多的注意力资源,获取更多的目标信息,提高网络的目标辨识能力。
本文将空间注意力机制和通道注意力机制并行组合,分别提取空间维度和通道维度的注意力权重,并将权重张量和输入特征图C2逐像素相乘实现对特征的重新加权,得到信息连续的特征图。不同于串联方式,并行组合可以避免通道注意力机制全局平均池化造成的空间信息丢失,有效增强网络对目标特征的学习能力。
通道注意力分支由压缩-激励(squeeze-and-excitation, SE)注意力模块[20]组成,该模块针对通道域学习各通道间的相关性,并对通道重要性进行打分得到每个通道的注意力权重。具体来讲,SE模块共分为两部分,第一部分是对空间域进行全局平均池化操作,得到1×1×C的一维向量,C为特征通道数。其原理在于通道注意力权重是作用于整个空间维度的,因此需要利用空间域的整体信息进行计算,将其压缩为1×1大小可以得到全局感受野,实现全局信息的综合。第二部分是激发操作,通过压缩和扩张比率为16的两级全连接层实现对一维向量的压缩及扩张恢复过程,最后经过sigmoid激活函数得到通道注意力权重。两级全连接层的目的在于实现通道间的信息交互,从而根据学习到的通道相关性校准权重,避免了通道独立带来的权重学习片面性。
空间注意力分支[21]对输入特征图C2在通道维度进行最大池化和平均池化得到双通道显著图,经过softmax函数后显著图的目标信息相对于噪声区域会得到有效增强。不同于平均池化,最大池化舍弃了通道维度的次重要信息,只选择最具代表性的特征,对比度高,对特征的强化和对背景噪声的抑制作用强。考虑到对特征的表征能力,本文选择最大池化通道的显著图作为空间注意力分支的权重。同时,双通道显著图经过一个尺寸为7×7的卷积核进行特征融合得到单通道特征图,经由sigmoid函数激活后和真值掩膜图计算交叉熵损失作为注意力损失。该损失可有针对性地引导网络关注目标区域,发挥监督训练的高效性。
对于单样本而言,交叉熵损失函数定义如下:
(7)
(8)
在计算注意力损失时,样本空间为一个二维张量区域,样本数量为h×w,因此交叉熵损失函数为
(9)
由于图像中目标区域面积占比相对较小,正负样本分布失衡,直接计算交叉熵损失会使损失函数的分布向背景区域倾斜,导致训练的网络对目标区域关注度低,检测性能差。为保证对目标区域的有效学习,需在损失函数中添加权重因子来提高目标区域的损失权重,平衡正负样本的分布。注意力损失函数最终定义为
(10)
式中:λ1为真值区域像素损失权重;λ0为背景区域像素损失权重。
2.2 真值掩膜图生成算法
本文基于八参数系统设计了一个掩模图生成算法,用于注意力模块的监督训练。建立一个二维平面直角坐标系,坐标原点为左上点,如图3(a)所示,标注框顶点坐标分别为(x1,y1),(x2,y2),(x3,y3),(x4,y4)。首先以第一组对边建立两直线方程,求得两直线围成的区域,再以第二组对边建立两直线方程并得到所围区域,则两区域交集即为标注的目标区域,如图3(d)所示。将该区域赋值为1,其余区域赋值为0,即得到一张图片的真值掩膜图,效果如图4所示。算法具体步骤如算法1所示。
图3 地面真值掩膜生成原理图
图4 地面真值掩膜生成效果
算法 1 真值掩模图计算输入:八参数系统标注坐标:(x1,y1),(x2,y2),(x3,y3),(x4,y4)掩模图尺寸:W×H输出:真值掩膜图1:零初始化大小W×H×1的掩模图;2:建立第一组直线方程:f1(x,y)=x(y1-y2)-y(x1-x2)-x1(y1-y2)+y1(x1-x2)f2(x,y)=x(y3-y4)-y(x3-x4)-x3(y3-y4)+y3(x3-x4)3:求解满足f1(x,y)·f2(x,y)>0的坐标集合M;4:建立第二组直线方程:f3(x,y)=x(y1-y4)-y(x1-x4)-x1(y1-y4)+y1(x1-x4)f4(x,y)=x(y3-y2)-y(x3-x2)-x3(y3-y2)+y3(x3-x2)5:求解满足f3(x,y)·f4(x,y)>0的坐标集合N;6:求解目标区域:A=M∩N;7:将目标区域像素值赋值1;8:输出掩膜图。
2.3 损失函数设计
通过学习BBAVectors,网络可以将目标位置信息统一到同一笛卡尔坐标系下,避免各参数回归的不一致性。但该方法也存在一个潜在的问题,如图5所示。由于4个向量是单独进行学习的,因此相互间没有约束关系,可能不满足构成矩形框的条件,即相邻向量不一定垂直,反向向量不一定共线,导致最后学习到的包围框为不规则四边形。为解决上述问题,本文设计了一个向量监督损失,通过向量间的约束关系保证包围框学习的规范性。
图5 BBAVectors潜在问题示意图
损失函数计算分为3部分,分别为Lt·r、Ll·b、Lt·b。Lt·r由图6(a)向量组合计算,用于保证一、二象限边界向量垂直关系;Ll·b由图6(b)向量组合计算,保证三、四象限边界向量垂直关系;Lt·b由图6(c)向量组合计算,保证一、三象限边界向量共线关系。
图6 向量监督损失计算示意图
3组损失共同作用可实现对相邻向量两两垂直的约束关系,最终的向量监督损失表达式如下:
Lvec=Lt·r+Ll·b+Lt·b
(11)
其中,Lt·r、Ll·b、Lt·b分别为
(12)
式中:N为目标总数;t、l、b、r分别为一、二、三、四象限的BBAVectors。计算损失时需将向量进行归一化,利用单位向量内积来衡量损失,此时的内积值为两向量夹角余弦值,可用于表示角度关系。如图7所示,e1和e2为垂直关系时,d=e1·e2=0;e1和e2反向共线时,d=e1·e2=-1。
图7 向量监督损失计算原理
将本文设计的向量约束损失和空间注意力监督损失加入到基线网络损失函数,形成改进的损失函数:
L=Lh+Lo+Lb+Lα+weight1·Latt+weight2·Lvec
(13)
式中,weight1和weight2分别为注意力损失和向量约束损失的协调系数。
3 实验结果及分析
3.1 实验数据
实验验证采用的遥感舰船目标数据集为HRSC2016[22],涵盖了近岸和海面场景,共包括大小介于300×300~1 500×900的1 061幅图像,目标总数2 976。其中,训练集436幅图像,验证集181幅图像,测试集444幅图像。该数据集检测任务由3级构成[23]:L1、L2、L3。L1级目标类别均为船;L2级目标由航母、战舰、商船、潜艇组成;L3级目标为L2级目标型号级别的细分类,共27类目标。由于数据集中舰船目标相对较大,为保证目标完整性和训练效果,未对数据集进行裁剪预处理。在训练过程中对输入图像进行随机翻转、随机旋转和随机裁剪的数据增强处理来防止过拟合问题,增强模型训练的鲁棒性。
3.2 实验环境及参数设定
实验环境为Windows10操作系统,CPU为Inter(R) Xeon(R) Gold 5218 CPU @ 2.30 GHz,GPU为NVIDIA RTX 5000,显存16G,开发平台为pytorch 1.7.1+CUDA10.2。
训练参数设置epoch=100,batchsize=8,初始学习率为0.000 125,学习率调整选择指数型调整策略,学习率衰减因子为0.96,采用自适应矩估计法Adam作为优化器,主干特征提取网络在ResNet101预训练权重的基础上进行训练。训练过程中将输入图像缩放至608×608大小,输出的4倍下采样特征图C2尺寸为152×152。式(9)中的超参数设置为λ1=3、λ0=1。式(12)中的超参数设置为weight1=1、weight2=1。
3.3 实验结果及分析
表1给出了本文改进方法、基线网络和同领域其他旋转检测网络在L1级检测任务上的检测结果对比,07(12)表示使用2007(2012)评估指标。可以看出在检测精度方面,本文方法显示出了具有竞争力的性能。对于两种检测精度的评估指标,在基线网络的基础上分别提升了1.23%和3.75%。在推理速度方面,本文方法为12.68 fps,仅比基线网络降低了0.72 fps。造成推理速度略微下降的原因在于改进型网络比基线网络多了注意力机制模块,该模块中的卷积层和全连接层增加了网络参数量和计算量,因此速度会有所下降。
表1 改进方法与基线网络性能对比
整体来看,改进型网络在检测精度和推理速度两方面相较于其他检测网络均具有较大优势,和基线网络相比在精度方面有一定提升,证明了本文改进方法的有效性。
对于HRSC2016数据集上的L2级检测任务,改进模型的4类目标测试集精度-召回率曲线如图8所示。可以看出,航母和战舰的检测效果较好,对商船的检测效果最差。主要原因是航母和战舰特征较为固定,而商船特征多样,检测难度相对较高,容易出现误检和漏检情况。
图8 4种目标的精度-召回率曲线
为直观地比较基线网络和本文模型的检测效果,分别抽取部分近岸和海面的测试结果。如图9(a)和图9(b)所示,对于岸上干扰较强的场景和潜艇目标,改进模型的检测效果得到了一定程度提升,对于一些小目标也有较好的检测性能,如原网络对潜艇出现了漏检和误检,本文方法正确识别了相应目标。对一些海面目标,本文方法可以进行较准确地检测和分类,原网络可能会出现部分漏警和误分类,对比结果如图9(c)和图9(d)所示。
图9 检测结果对比
表2对比了本文方法和基线方法在L2级检测任务上的效果。可以看出,改进模型的整体检测性能相较于基线网络提升了8%左右,尤其对于航母和潜艇目标提升较为明显。这是由于在近岸条件下,航母目标的甲板纹理特征易与岸上建筑或道路混淆,其形状和船坞相似,存在被错检漏检的情况。潜艇目标形状细长,在图中所占比例较小,且其色调为暗黑色,容易被漏检。本文改进方法通过有监督训练的空间注意力机制和通道注意力机制并行组合,可以起到对目标区域聚焦的作用,加强网络对舰船目标的关注度,有利于对目标细节特征的学习。BBAVectors约束损失旨在给包围框的学习添加一个自监督机制,和回归损失Lb共同指导向量的学习过程。
表2 改进型网络与基线网络性能对比
除在HRSC2016数据集进行测试外,本文还选取了美国诺福克港口遥感图像进行对比检测。图像尺寸为5 112×6 352,本文将其裁减为608×608的子图大小。考虑到裁减可能会造成的目标截断,为保证目标完整性,设置裁减的重叠大小为300,边缘子图以原图为界,最终得到357张子图。重叠区域可能会带来同一目标对应多个检测框的情况,因此需先合并子图检测结果,然后利用非极大抑制实现冗余检测框的过滤,得到大图检测结果。从图10可看出,对于近岸场景,改进模型的抗干扰性具有明显优势。由3个红色放大区域对比可看出基线网络将岸上一些长条状建筑和房屋排列误检为舰船目标,而本文改进的网络模型较好避免了建筑物干扰,虚警率远低于基线网络。但两方法均存在一定程度的漏检,由黄色放大区域可看出贴靠码头停放的舰船未被准确识别。
图10 诺福克港口检测结果对比
3.4 消融实验
为研究改进模型各部分的贡献大小,本文对有监督的注意力模块和BBAVectors损失进行了消融实验,并针对损失函数中的超参数和监督训练中前景、背景权重设计了两组实验来探究最佳参数组合。消融实验基于L2级检测任务进行。
3.4.1 注意力模块
本节探究注意力模块对网络检测性能的影响,实验结果如表3所示。可以看出,注意力模块对检测性能的提升贡献为4%左右,除商船目标外,其他3类目标检测结果均有不同程度提升。如第3.3节所讲,这种情况是由于商船特征较为多样化,类内方差较大,训练样本不足时加入注意力模块会导致对一些细节特征过拟合而对整体类别的特征学习不足,检测性能变差。相对来说,航母和潜艇的特征比较单一,类内方差小于商船,因此注意力模块有助于更好地进行目标特征学习,提高网络的检测性能。
表3 注意力模块对网络性能影响
3.4.2 BBAVectors损失
本节将是否添加Lvec作为控制变量,通过消融实验探究该损失函数的性能优劣和对检测结果的影响。为直观了解包围框的学习效果,将3组BBAVectors所在方向的单位向量内积et·er、el·eb、et·eb转换为点的空间坐标表示,转换关系如下:
(14)
式中:x、y、z为空间点的三维坐标。
将测试集的检测结果进行坐标转换得到的空间点分布如图11所示。
图11 空间点分布
由图11可看出,添加Lvec后的单位向量内积分布更加靠近原点方向,这说明学习到的BBAVectors相较于基线网络有较强的两两垂直关系,包围框更接近矩形,不规则性得到了一定程度的降低,证明了利用向量间的约束关系设计损失函数使得4个BBAVectors在自监督模式下进行训练可以有效提高包围框的学习效果。
表4给出了Lvec对网络检测性能的影响,可以看出在L2级检测任务上的精度提升了5.66%。其中,航母目标提升了12.95%,潜艇目标提升了9.62%,而战舰和商船目标的检测结果提升不明显,仅分别提升了0.32%和0.18%。经过分析,本文认为航母的斜角甲板会对BBAVectors的学习产生一定干扰,利用相邻向量的几何关系进行约束可以较好地削弱这种影响;潜艇目标长宽比大,侧边向量学习困难,头尾向量学习较为简单,通过头尾向量和侧边向量的垂直关系指导回归过程可以显著提高学习效果;战舰目标外形特征明显,学习难度相对较低,基线网络就可达到较好的效果,添加Lvec损失对检测性能提升不大;商船目标尺度变化范围较大,较少的训练样本无法对目标外形进行有效学习,添加约束损失对检测结果影响不大。
表4 Lvec损失对网络性能影响
3.4.3 超参数影响
本文在模型训练时,多任务损失中注意力损失和BBAVectors损失的协调系数系数均默认设置为1,注意力损失中前景和背景损失权重分别默认设置为λ1=3、λ0=1。为探究协调系数和前背景损失权重对模型的影响,本文遵循控制变量法设计了几组不同的组合进行检测性能对比,实验结果如表5和表6所示。由表5可看出,固定λ1=3、λ0=1,当注意力损失和向量损失的协调系数组合为1和0.5时,检测的平均精度为84.59%,相较于默认组合weight1=1、weight2=1提升了0.04%。由表6可知,固定weight1=1、weight2=1,当前景和背景权重为λ1=3、λ0=1时检测性能最优,为84.55%。过低的前景权重会导致对目标区域的关注度不够;过高的前景权重会大大降低训练时背景噪声所占比重,而一定程度的噪声可以防止网络对某些特征的学习产生过拟合,因此高前景权重会削弱降低检测器的抗干扰性和鲁棒性,导致检测性能出现一定程度的下降。
表5 协调系数影响(λ1=3,λ0=1)
表6 注意力损失前景、背景权重影响(weight1=1,weight2=1)
4 结束语
针对光学遥感图像舰船检测任务中的背景干扰问题,本文在基于BBAVectors的单阶段检测网络基础上进行了改进,在基线网络的特征金字塔网络后添加了一个有监督的注意力机制模块并利用标签文件生成的二值掩模图实现模块训练,旨在加强目标区域特征,削弱背景噪声影响。同时还设计了一个BBAVectors损失函数,利用向量间的几何约束关系指导包围框的学习过程,抑制其不规则性。实验结果表明,本文改进方法有效提升了网络检测性能,对于航母和潜艇目标的检测效果提升明显。不足之处是依然存在一些虚警和漏检,且对于商船类目标的检测精度还有很大提升空间,这也是下一步工作需改进的地方。