刘馨嫔,王 洪,赵良瑾
(1.中国科学院空天信息创新研究院,北京 100190; 2.中国科学院大学电子电气与通信工程学院,北京 100049;3.中国科学院网络信息体系技术重点实验室,北京 100190)
舰船检测是遥感图像应用的重要课题之一,在民用和军事国防领域得到广泛关注[1-3],例如港口监视预警、港口交通管理等。传统舰船检测方法根据舰船位置及任务场景的不同,可以分为开阔海域检测[4]和近岸港口驻泊舰船检测[5]这2 类。其中,由于港口驻泊舰船目标与陆地毗邻,港口、码头环境地物要素复杂,舰船与陆地图像灰度、纹理等特征接近等因素,相比远海舰船目标检测,近岸港口区域舰船目标检测任务面临着更多挑战[6-7]。
近年来,随着卷积神经网络(Convolutional Neural Network,CNN)[8]的兴起,基于卷积神经网络的遥感目标检测技术也逐渐发展并广泛应用。基于卷积神经网络的目标检测算法总体分为双阶段检测方法和单阶段检测方法2 类。双阶段检测方法的主要思路是先生成若干候选框,再通过对这些候选框进行分类和位置回归得到目标检测结果,典型方法包括Fast R-CNN[9]、Faster R-CNN[10]、Cascade RCNN[11]、Mask R-CNN[12]等。双阶段目标检测算法具有准确性高、可扩展性好等特点,但是候选框生成过程会增加计算量和时间复杂度,限制了该算法的实时性应用。单阶段目标检测算法不需要生成候选框,直接对输入图像进行分类和位置回归,得到目标检测结果,代表算法有YOLO[13-16]系列、SSD[17]、RetinaNet[18]等。相较于双阶段目标检测算法,单阶段目标检测算法的优点是计算量少、速度快,在工业界应用广泛。现阶段遥感图像单景早已突破百亿像素,且遥感解译任务的时效性需求较高,因此,将单阶段检测算法应用在遥感目标检测任务中也逐渐成为研究与应用的趋势。
在多任务学习方面,已有一些结合目标检测与图像分割的多任务研究成果。Mask R-CNN[12]在目标检测网络的基础上,利用全卷积网络[19]作为掩码输出分支,与目标检测分支共享卷积特征。Masklab[20]通过在每个感兴趣区域内结合语义信息和方向信息对图像前景和背景进行分割。PANet[21]在分割分支将全连接特征与全卷积特征进行融合,强化了模型对空间位置的敏感程度,从而能够输出更加精确的分割结果。HTC[22]通过多阶段联合处理的方式,首次将级联的思想引入到实例分割领域,在每个阶段将互补特征集成在一起,从而提升模型的分割能力。但是,目前基于多任务目标检测分割中,更多关注于目标实例分割的应用,而对于舰船与海陆分割不同种类目标的研究较少。
随着遥感图像目标检测技术发展,舰船目标特征提取、定位识别等能力已大大提升,但是,在针对港口区域舰船检测应用场景中,由于GPU 算力、算法框架等条件限制,原始宽幅图像往往需要被分成若干带有重叠区域的切片依次进行检测,使得许多近岸陆地区域也执行了检测流程,导致检测结果中可能会出现较多陆地区域形似物体虚警。一方面,从遥感图像舰船目标几何特性看,军舰、货轮、油轮等舰船目标具有较大长宽比且紧贴码头驻泊,易与集装箱、突堤码头等形状近似物混淆,这使得舰船目标自特征提取变得困难。另一方面,从遥感图像地物纹理特性看,大场景宽幅光学图像的大量复杂纹理负样本会导致特征干扰,造成目标框回归变得更加困难。
为解决上述问题,现有方法一般通过加强网络自身的特征表示能力,达到更有效、更鲁棒地提取目标自特征的目的。例如,文献[23]通过对YOLOv4-tiny进行改进,借助空间注意力(Spatial Attention,SA)模型增强舰船关键重要部位的区域显著性,提高网络目标特征的感知能力;文献[24]提出了一种基于特征和区域定位增强的舰船检测算法,对于复杂背景下的舰船目标,通过在注意网络后加入极化函数,采用极化双重注意网络(Polarized Dual-Attention Network,PDAN)模块充分提取目标关键特征,同时抑制不相关信息,从而有效区分目标和背景,实现检测精度的有效提升。文献[25]利用四象限的方法建模遥感图像中的目标,将每个目标建模为一对中间线,通过预测每个目标内部的一对中间线来检测定向物体,避开了旋转检测的角度预测回归。此外,对于一些固定出现在限定区域的人造物体(如车辆、飞机和船只),结合场景语义信息的方法有助于快速定位检测目标。例如,文献[26]采用先检测停车场、道路等目标特定区域的思路,实现了级联场景上下文驱动的车辆目标检测方法,提高了车辆检测的准确率;文献[27]提出了一种基于场景背景注意力的融合网络,在YOLOv3网络基础上引入场景背景分支,先提取图像切片上车辆目标的潜在场景信息,作为后续目标检测的先验知识,增强融合特征的表征能力。然而,上述方法仅从加强目标自特征或结合场景语义信息的单一方向进行改进,对于模型精度的提升有限。
针对近岸复杂场景下舰船目标难于检测的问题,本文提出一种分割与检测双分支任务框架学习网络DBTF-Net(Dual-Branch Task Framework learning Network)。设计图像分割和目标检测多任务并行学习框架,将分割与检测任务由以往的串行处理改变为并行处理方式,提升任务整体处理效率。针对舰船检测与海陆分割2 类任务目标不统一的问题,设计联合损失函数,加速算法收敛,提升了模型稳定性,设计双分支融合处理模块,通过信息互馈实现舰船目标的虚警抑制,提升近岸舰船目标检测精度,降低了虚警率。
尽管传统海陆分割方法已具备较为出色的性能表现,但与检测任务相互独立依序执行将拖慢处理流程整体速度。此外,遥感图像解译中的不同视觉任务之间,通常存在各种背景信息条件的关联约束,对于舰船检测而言,舰船目标通常驻泊或出现在港口毗邻海域,不可能出现在陆地区域。针对这种情况,多任务网络更适合这种应用场景,因为:1)多任务网络可以通过同时并行处理多个任务,而不是按顺序的串行处理方式,可以达到加速图像解译过程的目的;2)多任务网络可基于相同的特征提取主干网络,在多个任务间共享特征参数,以减少模型参数量,并引导网络学习多任务之间的共性信息。因此,探索舰船检测中的多任务方法是非常有必要的。
从任务输出信息看,语义分割任务是基于像素级的类别信息,目标检测任务是基于目标框的回归信息;从任务输入来看,语义分割和目标检测任务都需要先进行特征提取,在编码器、骨干网选用上基本遵循相似的底层原则,例如增大卷积层感受野、多尺度特征计算与融合等。为了解决舰船检测和海陆分割的多任务问题,同时获得高精度和快速度,本文在YOLOv5 的基础上设计一种简单而高效的网络结构。如图1 所示,本文所提出的框架由3 个部分组成:1 个编码器特征提取网络、1 个包含2 个分支的解码器网络和1个融合模块。
图1 DBTF-Net框架结构
本文所提出框架的神经网络框架主要由2个部分组成:编码网络和解码网络。各部分结构描述如下:
1)编码网络(Encoder Network)。
编码网络由1 个数据输入端的聚焦模块(Focus)和4个特征层之间的跨阶段局部连接模块进行分别5次下采样,得到C1~C5 这5 层不同尺寸的特征图,以增大特征提取网络的感受野,引入更多局部上下文信息;再取相对于原始输入步长分别为1/8、1/16、1/32的特征层信息C3、C4、C5,根据路径聚合模块自顶向下和自底向上的双向传播路径,加强底层特征和顶层特征之间的信息流动,给模型添加不同尺度的特征映射,提取多尺度特征间的语境关系,融合全局上下文信息。
2)解码网络(Decoder Network)。
解码网络采用语义分割、目标检测2 个输出分支并行结构形式,下文分别介绍2个子任务的解码网络。
对于舰船目标检测任务,网络基于YOLOv5 检测分支结构,将编码网络输出的3层多尺度特征P3、P4、P5 分别送入不同尺寸大小的检测头,进行预设锚框匹配。通常,在目标检测任务中,大的特征图上适合检测小目标,因为大特征图的局部信息尚未被下采样丢失,含有更多小目标信息,而随着特征图经过多次下采样和卷积处理变成小尺寸特征图,其往往拥有更大的感受野和更广的全局信息,更适合大目标检测。因此,并行检测分支为原图尺寸大小的1/8、1/16、1/32,特征层P3、P4、P5 分别设置为[10,13],[16,30],[33,23]与[30,61],[62,45][59,119]及[116,90],[156,198],[373,326]的预设锚框尺寸。特征图每个网格被赋予3 个包含不同纵横比的先验锚框,对于每个锚框,检测头将输出一个5 维向量[x,y,w,h,s],分别表示预测框的位置偏移、高宽以及置信度。
对于海陆场景分割任务,分支网络如图2 所示,首先将编码网络输出的3 层多尺度特征P3、P4、P5,通过双线性插值上采样为统一尺寸后进行特征融合,然后经过感受野模块(Receptive Field Block,RFB),由扩张率分别为1、3、5逐渐递进的3层空洞卷积,以及1 层自适应全局池化与跳跃连接构成,较好地满足网络非线性、扩大感受野、多尺度融合的需求,再经过一个4 层的金字塔池化,提取不同尺度的语境关系并融合全局信息,最后经过特征合并与上采样操作,得到海陆分割结果。
图2 海陆分割分支结构
多任务学习中对多个任务联合优化本质上是一个多目标优化问题。不同的任务可能会发生冲突,需要对其进行权衡,常见的方法是设计一个代理目标并对其进行优化,使每个任务的加权线性组合损失最小化。为了更好地训练本文设计的网络,本文设计联合损失来平衡检测分支和分割分支。
语义分割与目标检测任务在特征提取过程中关注的信息存在高度耦合性,可以视为相互促进、相互补充的任务关联模式,遂采取加权求和进行计算:
其中,α1、α2分别为2 类任务的损失权重。Ldet表示目标检测总损失,如式(2)所示,检测损失包括边框回归损失Lbox、类别损失Lcls以及判别预选框是否为正样本的目标损失Lobj。Lseg表示海陆分割的总损失,如式(3)所示,将其抽象为二元分类问题引入二元交叉熵函数,其中ys表示该点像素为海洋,设置为0,yl表示表示该点为陆地,设置为1,ps表示该点输出属于海洋的概率,pl表示该点属于陆地的概率。
Ldet中类别损失Lcls和目标损失Lobj采用Focal loss以应对样本不平衡问题,引导网络模型对难例进一步挖掘。调制因子γ是用来降低易分样本的损失贡献。Lbox采用CIoU loss 以充分考虑重叠面积、中心点距离、长宽比等因素,具体公式如下:
在目标类别损失公式(4)中,αc∈[0,1],用以调节类别不平衡。γ为聚焦参数,易分类样本的损失函数的值与γ呈负相关性。pc表示判别为某类的概率。同理,在目标损失公式(5)中po表示目标置信度,piou表示该目标与对应真值目标交叠比例。在目标位置损失公式(6)中,ρ代表预测框中心b与真值框中心bgt之间的欧氏距离,c代表2 个矩形的最小外接矩形对角线长度。IoU 表示2 个框之间的重叠比例,wgt、hgt、w、h分别为真值框的宽、高以及预测框的宽、高。
通过设计多任务的联合损失函数可以实现模型训练的稳定收敛。在实际模型训练过程中,首先将2个任务的损失函数的权重统一设置为0.5,然后在后续训练过程中验证其可行性。
在海陆分割与舰船检测的双信号监督下,损失函数与反向传播的网络学习机制促进2 个关联子任务之间的信息互补互馈。在此基础上,本文提出双分支融合输出模块,对隐式知识进行显式建模,以加强“舰船目标不可能出现在陆地上”的知识约束。具体实现方式为:取海陆分割分支的预测结果Sseg二值矩阵,按标注格式,陆地为1,海洋为0,将检测分支输出的预测框B与该位置处的海陆二值子矩阵Ssub对齐,即
取交并比作为分子,取预测框面积为分母,计算得出的比值即表示该预测框的占地面积比(land area ratio)。
本文算法设置阈值为0.3,一旦IoUlar值大于阈值,说明该预测框大部分位于陆地上,则筛除该预测框,小于等于阈值则可保留预测框,经过该模块滤除存留的预测框为最终的舰船检测结果。
本文构建实验数据集是基于谷歌地球专业平台的光学遥感图像建立得到的。本文采用42 张尺寸为16384×16384 像素的原始图像和团队提供的标签作为实验数据集。其中,图像包含世界各地共42 个不同港口场景;检测标注包含军用、民用的大船,例如航母、战舰、货船等,游艇小船不属于关注目标,未进行标记。图3 给出了样本集的原始图像与分割标注的样例。为了便于与其他方法(例如YOLOv5、Faster R-CNN 等)进行比较,本文将所有原始图像滑框裁切为1600×1600 像素的切片,仅保留切片中存在舰船目标的部分,共900张,其中720张图片和相应的标签进行训练,180张进行测试评估。
图3 数据集原图与分割标注
实验训练在4 块11 GB 的GeForce RTX 2080Ti GPU 上进行的,操作系统为Ubuntu 18.04,编程语言为Python 3.6.9,深度学习框架为Pytorch 1.7.1;模型学习率设置为1.5e-3,批大小设置为16,训练迭代轮数共200轮,优化器选择adam优化器。
本文采用平均精确率(mean Average Precision,mAP)和虚警率(False Alarm Rate)作为主要衡量指标。在评测预测结果时,TP/TN 代表了在被正确预测的样本中正/负样本的个数;FP/FN则代表在被错判的样本中正/负样本的个数。精度Precision 反映的是所有预测的正样本中真实的正样本的比例,召回率Recall 反映的是被正确预测的正样本占总的正样本的比例。虚警率False Alarm Rate 反映的是负样本被预测为正样本占总的负样本的比例。平均精度均值mAP 是目标检测算法的主要评估指标,平均交并比(mean Intersection over Union,mIoU)是语义分割算法的主要评估指标。计算公式如下:
为了验证多任务网络对舰船检测虚警抑制的有效性,本文测试YOLOv5 与DBTF-Net 算法的检测效果。选取其中1张实验结果图,在YOLOv5检测结果(见图4(a))中存在的陆地虚警,在DBTF-Net的检测结果(见图4(b))中并未被误检。使用本文算法得到的分割掩膜结果(见图5),深紫色区域为陆地,浅色区域为海洋;定量分析如表1所示,在基准模型YOLOv5的基础上,DBTF-Net算法模型mAP分数提升了4.4个百分点,虚警率下降了3.4 个百分点,推理时间增加16.8%,模型参数增长9.0%。综上所述,在牺牲少量内存与速度条件下,本文算法的虚警率有较大降低。此外,相较于其他经典算法在检测精度方面均有一定提升。
表1 对比实验结果
图4 YOLOv5与本文算法检测结果对比
图5 本文算法海陆分割融合掩膜结果
为验证联合损失函数与双分支融合输出模块对实验模型的提升,本文进行消融实验,结果如表2 所示。结果表明,本文提出的多任务框架在联合损失训练以及双路融合模块对算法整体的mAP 有一定的提升。模型的准确率与召回率之间相互制约,保证检测的目标全部准确的情况下会造成部分目标漏检,反之保证全部目标均召回的情况下会造成更多的虚警。本文算法在综合2 个模块的优势下进行参数微调,实现了精度的提升与虚警的降低。
表2 消融实验数据
基于近岸复杂场景下舰船的目标特征与场景特征的虚警问题,本文提出一种新的分割与检测双分支任务融合学习的近岸舰船检测方法。该方法利用分割与检测并行网络结构,引入海陆分割作为多任务网络的解码分支,优化了近岸舰船目标检测过程;利用联合损失与双分支融合模块,进一步提高了检测准确率及虚警抑制率。通过采用基于谷歌地球图像数据集的实验,验证了本文方法在虚警滤除方面对近岸场景舰船目标检测的有效性。