基于中心点和语义信息的多方向遥感舰船检测
2022-05-23李润林邹焕新贺诗甜李美霖
李润林, 邹焕新, 曹 旭, 成 飞, 贺诗甜, 李美霖
(国防科技大学电子科学学院, 湖南 长沙 410073)
0 引 言
随着卫星航天技术与遥感技术的不断发展,高分辨率遥感影像被广泛应用于对地观测、战场侦查以及情报获取等多种任务。从遥感影像中快速、精确地检测舰船目标是其中一项具有重要意义的研究内容。目前,在光学遥感影像中,舰船目标检测主要有以下3个难点:
(1) 排列密集。港口舰船目标通常呈现密集排布,较大的长宽比导致舰船目标边界框之间的交并比(intersection over union, IoU)对角度的变化更加敏感。
(2) 方向多变。遥感影像中的舰船目标因为拍摄角度的缘故,可能以任意方向出现。这要求检测器具有精确的角度预测能力。
(3) 背景复杂。近岸舰船的检测容易受到岸边复杂背景的干扰,岸上的集装箱区域容易与近岸的货船混淆。
传统的舰船检测方法多依赖于手工设计的特征。Ma等人提出了一种基于目标轮廓曲线及轮廓线凹凸程度约束的舰船检测方法;储昭亮等人提出了基于灰度值阈值分割的舰船目标检测方法,胡俊华等人分析图像局部区域特征以检测舰船。这些传统算法虽然取得了不错的检测结果,但是需要大量先验知识来设置算法中的许多参数。
随着深度学习的发展与计算机性能的提升,众多学者提出了许多高性能的基于深度学习的通用目标检测算法。当前主流的目标检测算法主要分为两种类型:单阶段的目标检测器与双阶段的目标检测器。一般来说,单阶段目标检测算法具有更快的检测速度,而双阶段的目标检测算法则具有更高的检测精度。但是这些目标检测算法多针对自然场景,包围框为水平矩形框,直接迁移到舰船检测领域效果较差。因此,研究人员提出了许多基于通用检测器的旋转检测器以解决舰船检测中的难点问题。旋转区域卷积神经网络(rotational region convolutional neural networks, R2CNN)、基于旋转区域的船舶检测(rotated region based CNN, RR-CNN)、旋转区域建议网络(rotation region proposal networks,RRPN)以及感兴趣区域变换网络(region of inferest transformer, ROI transformer)等方法通过改进更快速区域卷积神经网络(faster region CNN,Faster RCNN)以实现旋转目标检测;孙嘉赤等人提出了一种级联CNN和边缘直线提取相结合的方法来预测目标旋转包围框;旋转视网膜网络(RetinaNet-H)由单阶段的视网膜网络RetinaNet算法改进而来,而旋转敏感目标检测器(rotation sensitive regression detector, RRD)则是在单阶段的单视多盒检测器(single shot multibox detector,SSD)基础上改进得到的旋转检测方法。除了上述方法,还有很多基于深度学习的方法在不同方向进行改进以完成遥感舰船检测任务。然而,无论是基于单阶段算法或双阶段算法的上述改进算法,其本质都是基于锚框的检测算法。基于锚框的算法会产生大量的负样本导致正负样本不均衡,同时,在计算锚框与真实标注框之间的IoU时会耗费大量运算资源。针对这一问题,很多研究者提出了无锚框的单阶段旋转目标检测算法,Chen等人提出的基于角点的舰船检测算法改进自角点网络(CornerNet),通过检测舰船的船头、船尾以及舰船中心点来确定舰船的位置,但其并没有检测舰船的宽度,舰船宽度依赖于数据集中舰船的长宽比分布,由舰船长度确定舰船宽度,此方法得到的旋转矩形框在舰船目标长宽比与通用舰船长宽比差异较大时,包围框与真值差异较大;张筱晗等人提出的基于中心点的目标检测算法在CenterNet算法上进行改进,在预测尺寸的同时预测目标角度。文献[28]中提出的旋转目标检测算法用极坐标系代替直角坐标系,预测目标中心点以及旋转矩形框的顶点与中心点的距离以确定目标包围框。上文提到的无锚框旋转目标检测算法都依赖于利用全卷积网络确定目标的中心点,中心点位置越准确则检测准确率越高。但是这些方法忽略了目标的语义分割信息,图像的语义分割信息可以对目标所在区域的特征进行加强,更有利于寻找目标的中心点。
CenterNet算法是一种无锚框的目标检测算法,由Zhou等人于2019年提出。CenterNet算法将预测目标边界框问题转换为预测目标中心点问题,然后再对中心点位置处的目标类别、目标尺寸以及由下采样引起的关键点偏移量进行关联,从而得到目标的预测框结果。因此,为了解决基于锚框的检测算法在目标检测中存在的问题,本文采用无锚框的关键点检测网络CenterNet作为基础网络,通过改进实现遥感舰船目标检测。
具体来说,针对遥感影像舰船目标检测问题,本文主要工作如下。首先,在CenterNet中添加了语义分支,使得网络具有对前后背景的预测能力,并且将全局语义分割信息与检测分支信息进行融合以强化前景区域的特征,有利于排除复杂背景干扰以检测目标中心点。其次,本文在骨干网络之后添加空间和通道注意力模块。注意力模块使得网络关注特征中更有意义的通道与空间位置。最后,本文将添加了角度分支的CenterNet作为基线网络,基于HRSC2016数据集对本文提出的改进方法开展了多组舰船目标检测实验。实验结果表明,本文提出的改进方法平均检测精度(average precision, AP)为88.31%,检测速度达到17.8 FPS。此外,本文算法还与其他多种先进的目标检测算法进行了对比评估,验证了本文算法的优越性。
1 算法介绍
1.1 CenterNet算法原理
1.1.1 中心点热力图预测
(1)
式中:表示目标尺寸自适应偏差。
当属于同一个类别的两个目标的高斯分布重叠时,取较大值作为热力图真值。热力图的损失函数设置为像素级的焦点损失:
(2)
式中:和表示焦点损失的超参数;表示图像中关键点的数目。在本文中,根据文献[27]中的超参数设置方式,设置为2,设置为4。
112 偏移量预测
(3)
113 尺寸预测
(4)
综上所述,在基于CenterNet的目标检测算法中,总的损失函数如下所示:
=++
(5)
式中:和分别为偏移量预测损失与尺寸预测损失的权重因子。权重因子遵循文献[29]中的设置,设置为1,设置为01。
114 推理阶段
1.2 基于CenterNet改进的舰船目标检测
如前所述,在高分辨率遥感影像舰船目标检测中,舰船目标具有排列密集、方向多变等特点,且遥感影像近岸背景复杂。针对上述特点导致的舰船目标检测难点,本文基于CenterNet的目标检测基本思路,结合高分辨率遥感影像中舰船目标的特点,提出了一种基于旋转中心点网络和语义信息(rotated CenterNet using semantic information, RSI-CenterNet)的多方向遥感舰船目标检测法。RSI-CenterNet目标检测算法对CenterNet的改进主要体现在以下3个方面:首先,在检测头中添加角度分支以准确预测目标的方向(旋转角度);其次,添加语义分割分支并将语义分割分支的特征与输入检测头的特征进行融合以强化前景区域的特征,同时抑制复杂背景的干扰;最后,添加空间和通道注意力模块以使得网络关注特征中更有意义的通道与空间位置。本文方法的整体流程如图1所示。
图1 本文方法的整体流程
121 角度预测分支
在原始的CenterNet中,物体的标注方式采用水平边界框标注,这种标注方式在近景图像的目标检测中适用性更强。如图2所示,在遥感影像中,影像的拍摄角度均为从顶至下拍摄,在舰船目标排列密集的情况下,相邻舰船的水平边界框之间的区域IoU较大,在非极大值抑制(non-maximal suppression, NMS)后处理阶段,需要设置合适的NMS阈值。若阈值设置过大,部分舰船出现漏检;若阈值设置过小,则检测结果出现冗余。因此,采用旋转边界框进行标注更适合于遥感影像中多种方向的舰船目标检测。
部分房地产估价机构在信息化探索之路上已取得一定成果,但从行业角度来看,因缺少统一的数据标准,现有信息系统和平台的数据采集和管理的标准和方式各异,行业内部的系统对接难以实施,与行业外部的数据交换更无从谈起。故亟待建立房地产估价行业统一的数据标准,推进数据的内外部联通,进一步挖掘数据的应用潜力[3]。
图2 水平边界框与旋转边界框
本文使用旋转边界框标注的表示方法为(,,,,),其中(,)表示目标中心点的坐标,表示目标短边的长度,表示目标长边的长度,表示长边与轴正方向的夹角,∈[0,π],如图3所示。
图3 旋转边界框表示方法
如图2整体流程图中的检测头部分所示,本文在检测头中添加角度预测分支,并对特征图中的每个点进行角度预测。需要说明的是,网络只对真实中心点位置处的角度进行损失的计算,损失函数如下所示:
(6)
=+++
(7)
式中:角度损失部分的权重为01,其余损失权重与CenterNet保持一致。
此外,由于本文采用旋转边界框进行标注,因此,在网络的尺寸预测分支中,=(,),其中的与分别代表旋转边界框的宽与高,与原始的水平边界框的尺寸定义并不完全相同。
122 语义分割分支
受混合任务级联网络(hybrid task cascade, HTC)启发,在本文提出的RSI-CenterNet中,添加与检测并行的语义分割分支,并将语义分割分支的特征与骨干网络提取的特征进行融合以增强目标区域的特征,从而提高舰船目标检测的性能。
在遥感影像中,目标的掩膜具有丰富的语义信息。然而,获取舰船目标的精细掩膜是一个费时费力的过程。考虑到舰船目标在遥感影像中通常呈现为长条状形状,因此,为了在RSI-CenterNet中简便高效地利用舰船目标的掩膜信息,在本文中,根据舰船目标的基本物理形状,为每个舰船目标构建五边形的分割掩膜。构建舰船目标五边形掩膜的具体方法如下,如图4所示。
图4 舰船目标五边形掩膜构建示意图
=′×+
(8)
语义分割真值图生成过程如图5所示。首先,生成与原图尺寸一致的像素值均为0的单通道图像;其次,利用五边形掩膜生成方法获得图中每个目标的掩膜位置;最后,将所有目标掩膜对应五边形区域内以像素值1进行填充即获得了掩膜真值图。语义分割分支网络结构如图6所示,将骨干网络最后一层输出的特征图进行多次上采样并与骨干网络各个阶段不同尺度的特征图按元素相加融合。如图1所示,语义分割分支最后一层的特征图除了用于预测前景和背景区域,同时将其与输入检测分支的特征进行融合。
图5 语义分割图生成过程
图6 语义分割分支的网络结构
在本文中,采用掩膜真值图与语义分割分支的输出进行分割损失的计算。在掩膜真值图中,舰船区域像素在全图像素中占比小,因此分割分支的损失函数与热力图分支相同,为像素级的焦点损失,焦点损失有利于解决前后背景样本不均衡问题,语义分割分支损失函数如下:
(9)
式中:和表示焦点损失的超参数;表示分割真值图中标记为1的数目。在本文中,根据文献[29]中的超参数设置方式,设置为2,设置为4。
添加语义分割分支后,总的损失函数为
=+
(10)
检测分支与分割分支并行,因此检测分支与分割分支损失函数的权重相同,均设置为1。
123 卷积注意力模块
人类的眼睛在观察时,会自然地对具有显著性特征的区域进行关注而忽略其他区域,考虑到特征图中并非所有通道和位置的元素都具有相同的重要性,若重点关注显著性区域,可以有效提升网络性能。因此,本文在网络中添加卷积注意力模块(convolutional block attention module, CBAM)。
CBAM模块由空间注意力模块与通道注意力模块组成,CBAM模块具体结构如图7所示。输入特征图先后经过通道注意力模块与空间注意力模块后,输出精炼特征图。
图7 卷积注意力模块
图8 通道注意力模块
(11)
式中:MLP(·)表示多层感知网络;AvgPool(·)表示空间维度上的全局均值池化;MaxPool(·)表示空间维度上的全局最大值池化;(·)表示激活函数,与表示共享全连接层的参数。
图9 空间注意力模块
(12)
式中:AvgPool(·)表示通道维度上的全局均值池化;MaxPool(·)表示通道维度上的全局最大值池化;(·)表示激活函数;表示卷积层尺寸为3×3的卷积核。
整个注意力模块的公式如下所示:
(13)
式中:⊗表示对应元素相乘;′为经过通道注意力模块的特征;″为CBAM模块输出的特征。
骨干网络深层提取的特征比起浅层提取的特征具备更强的特征表达能力。因此,在本文中CBAM模块添加在骨干网络提取特征之后,对不同通道与不同空间位置的特征进行强化使得特征的表达能力进一步增强。此外,输入检测头的特征由骨干网最后一层输出的特征经过反卷积操作生成,将CBAM模块添加在骨干网之后可以在更小的参数量代价下取得更明显的检测效果提升。
2 实验与结果分析
在本文的实验中,基于高分辨率船舶数据集(High Resolution Ship Collections 2016, HRSC2016)遥感舰船目标数据集对本文所提方法的性能进行评估、对比和分析。本实验采用的计算机配置如下:Intel Core i7 CPU,NVIDIA GTX-2080Ti GPU(11 GB显存),32 GB内存,操作系统为Ubuntu18.04。
2.1 数据集
HRSC2016数据集是具有挑战性的高分辨率光学遥感图像舰船目标数据集,其包含两种场景的图像:近岸舰船与海上舰船。图像分辨率在0.4~2 m之间,图像大小在300×300~1 500×900像素之间,其中,训练集由436幅图像组成,验证集由181幅图像组成,测试集由444幅图像组成,共有2 976个舰船目标实例。
为了适应网络的输入,将所有图像裁剪为1 024×1 024像素的图像。若原始图像尺寸不足1 024像素,则以像素值0对边缘进行填充以保持图像的长宽比不变。此外,本文使用旋转、添加噪声、镜像翻转等数据增强方法对训练集中的图像进行数据扩充以提升模型训练的鲁棒性。
2.2 评价标准
本文实验采用目标检测领域通用的AP评价指标来评估RSI-CenterNet在舰船目标检测任务中的性能。AP的计算公式如下所示:
(14)
式中:(·)表示预测结果的准确率;表示预测结果的召回率。
在本文实验中,当预测框与真值框IoU大于等于设定的阈值时,认为该预测框为正确预测样本,本文IoU阈值设置为05。
2.3 对比实验
为了验证RSI-CenterNet的有效性与可行性,本文与其他多种旋转目标检测算法进行对比。这些对比算法主要包括:R2CNN、RR-CNN、RRPN、RetinaNet-H、RRD以及RoI-Transformer。各种舰船目标检测方法的对比实验结果如表1所示。注: RNet-H表示RetinaNet-H, RoI-T表示RoI-Transformer, R101表示ResNet101网络, RSI-C为本文算法。
表1 在HRSC2016数据集上不同舰船目标检测方法的性能对比
R2CNN算法在感兴趣区域提取阶段中仍然提取水平边界框,为了适应长宽比例较大的目标,感兴趣区域池化时添加长宽比较大的池化尺寸以提取不同方向的特征;RR-CNN算法在感兴趣区域池化阶段直接提取目标旋转边界框内的特征,减少了候选框区域内复杂背景的影响;RRPN算法提出了旋转区域提取网络以代替Faster-RCNN原本的区域提取网络,并在感兴趣区域池化阶段采用旋转池化的方法以保持感兴趣区域内特征的旋转不变性;RoI-Transformer与RRPN不同的是,RRPN训练阶段预设锚框时设置多个角度的锚框进行预测,而RoI-Transformer提出的RRoI Learner从提取到的水平感兴趣区域中学习旋转的感兴趣区域,无需增设锚框,因此计算量比RRPN小。以上几种算法都是以Faster-RCNN为基础,需要预设锚框,锚框设置过多会带来检测速度的下降,如RRPN算法预设多方向的锚框,其检测速度为1.5 FPS,在对比算法中效率最低。
RetinaNet-H对单阶段检测算法RetinaNet进行改进,添加了角度预测分支以完成对旋转目标的定位。但是RetinaNet-H与R2CNN采用相同水平锚框设置方式,锚框内的候选目标易受到复杂背景的干扰,引起检测精度的下降。
RRD算法对单阶段目标检测算法SSD进行改进,添加了旋转敏感回归器(rotation-sensitive regression, RSR)模块以保持对特征的旋转敏感性,实现旋转目标检测。但是RRD算法沿用SSD算法的锚框设置方式,在多个尺度的特征图中设置锚框,每个特征点设置13个锚框。过多的锚框数量导致检测效率的下降。
RSI-CenterNet在HRSC2016数据集中AP值达到88.31%,超过了以上6种对比算法,平均超出8.1%,比R2CNN高15.24%,比RoI-Transformer高2.11%。RSI-CenterNet检测速度达到17.8 FPS,与对比算法中检测速度最快的RetinaNet-H相比,高出3.8 FPS。
如图10所示为本文方法检测结果。第1行为原图,第2行为预测的中心点热力图在原图中的映射,第3行为语义分割预测结果,第4行为最终检测结果。在热力图映射中,亮度越高,则说明该点为目标中心点的概率越大。从图中可以看出,所有待检测目标的中心处亮度最高,被预测为目标中心的概率最大,本文算法可以精确地预测出目标中心点。为了将语义特征与输入检测头的特征融合,语义分割输出尺寸与热力图尺寸保持一致,其宽度和高度均为原图的1/,其中为热力图相对于原图的下采样倍数。需要指出的是,当下采样倍数较大时(比如大于4时),本文算法中的语义分割分支无法对尺寸较小的目标预测出准确的掩膜。本文算法采用无锚框的设计避免了锚框冗余问题,提升了检测速度。同时,本文算法将语义分割特征与输入检测头的特征进行融合,强化了目标区域的特征,使得目标的定位更加准确,检测精度更高。
图10 本文方法检测结果
图11为本文算法与其他算法的检测结果对比图。第1列为目标真实标注,第2列为R2CNN算法检测结果,第3列为单阶段RRD算法检测结果,第4列为RoI-Transformer算法检测结果,最后一列为本文算法检测结果。检测结果可视化图可以看出,对比算法与本文算法都可以检测出目标位置,其中R2CNN算法预测包围框的4个顶点坐标,针对舰船目标,存在包围框不贴合的问题,RRD算法与RoI-Transformer算法在背景区域复杂的情况下,产生虚警。而本文提出的RSI-CenterNet可以准确检测出目标位置,虚警更少且包围框更加贴合目标。
图11 检测结果对比图
2.4 消融实验
为测试本文算法中的不同改进对检测性能的提升效果,本文在HRSC2016数据集上设计了3组消融实验。需要指出的是,本文将已经添加了旋转分支的R-CenterNet作为基线模型。消融实验1在基线模型中添加了注意力模块;消融实验2在基线模型中添加了语义分支信息融合;消融实验3为消融实验1与消融实验2的组合,即RSI-CenterNet。在消融实验中,所采取的骨干网络均为ResNet34,输入图像尺寸被缩放为512×512。实验采用AP作为评价指标,同时对检测速度及参数量进行对比。消融实验结果如表2所示。
表2 消融实验结果
如表2所示,消融实验1的AP达到85.27%,相比基线方法提升了5.22%,注意力模块使特征在通道和空间维度得到了不同程度的增强,强化了特征的显著区域,同时注意力模块的添加使得消融实验1的参数量比起基线方法增长了0.1 M,较小的参数量的增加使得检测效果提升显著。消融实验2的AP达到87.43%,相比基线方法提升了7.38%,语义信息的融合可以有效地减少目标误检的概率,被语义分支判断为前景的区域特征得到增强,添加了语义分割模块后参数量达到了129.1 M,比起基线方法增加了8.1 M。消融实验3的结果表明,注意力模块与语义分割分支的信息融合彼此之间不冲突,组合使用后的AP达到87.81%,相比基线方法提升了7.76%。比起基线方法,消融实验3的参数量增长了8.2 M,比起消融实验2的参数量增长了0.1 M,这与消融实验1和基线方法的参数量变化是一致的。随着改进策略的增加,消融实验3的检测速度相比基线方法下降了3.47 FPS,但是下降之后的速度仍然达到了21.16 FPS且检测精度提升效果明显。
图12为不同改进策略的检测结果图。第1行为基线方法的检测结果;第2行为消融实验1的检测结果;第3行为消融实验2的检测结果;第4行为消融实验3的检测结果。如图12所示,基线方法检测结果中出现了漏检和误检的情况,而添加了语义分割分支信息融合与注意力模块的实验3的检测结果最好。由于添加了语义分割分支并将语义信息与原始特征融合,前景区域的特征得到了强化,背景区域被误检的概率有所下降。我们的改进策略对密集排布的舰船检测也有较大的提升,从图12第4行可以看出,对密集排列的细长舰船目标,本文提出的方法可以准确区分出并列的两个目标,这是因为本文方法不针对水平包围框进行非极大值抑制的筛选,即使两个目标预测框之间的IoU很大,也不会因此而抑制预测框导致漏检。
图12 消融实验检测结果
3 结 论
本文提出了一种基于中心点和语义信息的多方向遥感舰船目标检测算法RSI-CenterNet,以解决遥感舰船检测任务中目标排列密集、方向任意及背景复杂的问题。首先,在性能卓越的无锚框算法CenterNet中添加角度分支,以检测任意方向的舰船目标;其次,添加了语义分割分支,并将语义分割分支的特征与输入检测头的特征融合,以强化前景区域的特征,弱化背景区域的特征;最后,添加注意力模块,以强化目标显著区域与通道的特征,提升检测精度。基于HRSC2016数据集对本文算法进行性能验证与速度测试,实验结果表明,与其他多种先进方法相比,本文方法具有更高的检测精度与检测速度。