APP下载

深度学习遥感影像近岸舰船识别方法

2020-06-04王昌安田金文张强张英辉

遥感信息 2020年2期
关键词:细粒度池化舰船

王昌安,田金文,张强,张英辉

(1.华中科技大学 人工智能与自动化学院,武汉 430074;2. 北京空间飞行器总体设计部,北京 100086)

0 引言

可见光遥感影像中的近岸舰船的检测在海域安全、军事侦查等方面具有重要的意义,相比于海洋背景下的舰船定位,近岸舰船的背景环境更加复杂,且船只往往紧密相邻,尺度变化范围大,在检测问题上更为困难;近岸舰船的细粒度识别有助于实现港口的精细化监视、打击隐藏于民船中的敌方舰船,但不同类别的舰船目标通常形态、颜色区分度不大,要实现准确的细粒度判别具有很高的难度。

现有的近岸舰船检测和识别方法大致可分为2类:基于先验知识的传统方法和基于分布式特征表示的深度学习方法。在传统检测方法的典型研究中,李轩等[1]利用海陆二值分割图,结合直线段提取和船首定位进行舰船检测,最后基于几何先验知识进行目标确认;Li等[2]通过先检测特征明显的船头,然后确定舰船主方向并进行舰船轮廓的提取来实现近岸舰船检测。近年来,基于深度学习的方法由于优异的特征提取能力得到人们的广泛关注,其中,Lin等[3]利用全卷积网络的语义分割框架,将遥感影像分为海洋、陆地、船身和船首尾4类,然后进行舰船区域的提取;Yang等[4]改进了有向目标检测网络,提出利用密集连接的旋转特征金字塔网络实现了端到端的舰船检测。综合上述,已有的方法中常常受限于严格的先验知识以及较弱的特征表达,难以处理复杂背景环境的干扰,且不能实现舰船目标的细粒度识别。因此,针对上述问题,开展相关研究是十分必要的。

本文提出了一种端到端的近岸舰船目标检测和细粒度识别算法框架。针对短边较小的舰船目标难以有效检测的问题,提出了角度致密化的预设框设置策略和旋转方位敏感型区域插值池化模块;采用基于注意力机制的区域级特征融合方法,提高了舰船目标细粒度判别能力,通过引入迁移学习方法进一步提升了模型性能。实验结果表明,所提算法可以有效识别多类近岸舰船目标,对目标方向变化及背景干扰等都具有良好的鲁棒性。

1 本文算法框架

本文的算法流程如图1所示,首先针对舰船类目标角度分布多样性的特点,使用旋转候选区域生成网络(rotation region proposal network,RRPN)[5]提取舰船目标候选区域;然后通过旋转区域池化模块分别提取候选区域的局部和全局特征并进行融合;最后进行目标分类、检测框调整和角度回归,从而实现检测框的定位和类别的判别。该算法的网络框架如图2所示。

图1 本文算法流程图

图2 本文算法的网络框架

该网络采用端到端的训练方式,第一阶段和第二阶段的损失函数形式一致,如式(1)~式(4)所示。

(1)

Lcls(p,y)=-lnpy

(2)

Lreg=smoothL1(t-t*)

(3)

(4)

式中:B为mini-batch集合;Lcls为分类交叉熵损失函数;Lreg为坐标偏差损失;p为预测的概率分布;y为对应样本的真实标签;t和t*分别对应预测的坐标偏移量和真实坐标偏差。有向检测框的参数化形式和回归偏差的定义与文献[5]保持一致。

下文将分别介绍本文提出的网络框架所涉及的各个子模块,包括使用角度致密化来生成候选区域、有利于建模舰船局部特征的方位敏感型区域插值池化模块、基于注意力机制的特征融合子网络以及利用预测层的权重映射来实现迁移学习的训练方法。

1.1 角度致密化的预设框设置

在典型的目标检测任务中,真实目标往往会存在于图像中的任意位置,并具有任意大小的尺度,传统方法主要通过多尺度的滑动窗口来实现目标检测。基于深度学习的目标检测方法,引入了预设框来对空间和尺度进行离散化。但由于空间和尺度本质的连续性,离散化容易使小尺度目标匹配不到足够多的预设框,从而无法召回。在舰船目标的检测中,也存在着类似的问题,如图3(a)所示,舰船类目标通常具有较小短边尺度(16~64),同样会由于与预设框的匹配程度较低而难以召回。

为了检测任意方向的舰船目标,我们在空间上新增加了一个维度的离散化,即角度离散化。但现有的方法[4]往往针对所有尺度的预设框设置相同密度的角度离散化,使得小尺度目标匹配到的预设框数量不足的问题更加严重。如图3(b)所示,对于相同幅度的角度变化,小尺度目标与预设框的交并比(intersection over union,IoU)变化更为敏感。因此为了增加短边较小的舰船目标匹配到的预设框数量,进而提升小型舰船目标的检测率,本文创新性地提出角度致密化的预设框设置策略,即将短边长度最小的6个预设框增加一倍的角度,如图4(a)所示,其中虚线表示新增加的预设框。经过角度致密化,小尺度舰船匹配到的预设框平均数量大大增加,如图4(b)所示。

图3 舰船目标特性分析

图4 角度致密化及其影响

1.2 方位敏感型区域插值池化模块

区域池化模块被广泛应用在两阶段目标检测网络中,用于从各种大小的感兴趣区域(region of interest,RoI)中提取固定长度的特征。区域池化模块RoIPooling最初由He等[6]提出,并应用在金字塔池化中,Mask RCNN[7]中对其进行了改进,提出了RoIAlign,利用坐标插值的方式消除了坐标整数量化带来的误差。R-FCN[8]将RoIPooling改进为位置敏感型池化(position sensitive roi pooling,PsRoIPooling),通过将位置信息编码到不同的特征通道内,既实现了不同候选区域的计算共享,也有利于候选区域局部特征的建模。LightHead RCNN[9]将位置敏感型池化改进为PsRoIAlign,提升了池化精度。为了适应任意方向目标候选区域的角度多样性,Ma等[5]提出了RotateRoIPooling,其对应的可插值改进版RotateRoIAlign被应用在文献[4]中,但都无法有效地建模舰船区域的局部特征。文献[10]提出方位敏感型平均池化模块(rotate position sensitive roi average pooling,RotatePsRoIAvgPooling)缓解了这个问题,却仍存在坐标整数量化带来的误差问题,同时由于在格子内进行采样前,对格子进行了矩形近似,这会在候选区域倾斜角度很大或者短边尺度较小时带来误差。

结合以上研究,本文提出了方位敏感型区域插值池化模块RotatePsRoIAlign来更精确地建模舰船目标的局部特征。如图5所示,其中+表示采样点,箭头表示采样顺序,该模块具有以下特点:

1)旋转不变。每个格子的采样起始点和采样方向与区域旋转方向无关,确保学习过程的一致性。

2)不规则采样。由于舰船目标长宽比较大,与目前多数池化模块7像素×7像素的采样大小不同,本模块采用10像素×5像素的不规则采样大小。

3)位置敏感。每个采样格子在输入特征图的不同通道进行采样,显式建模目标不同位置的差异。

4)无整数量化。采样时不对采样坐标进行整数量化,而是通过双线性插值得到采样点特征值。

图5 方位敏感型插值区域池化模块

1.3 基于注意力机制的特征融合

对于细粒度类别的舰船检测和识别问题,除了定位精度以外,舰船区域特征的判别能力对最终性能也有很大影响。为了提升舰船区域特征的细粒度判别能力,本文提出了基于注意力机制的区域级特征融合子网络,如图2所示。

该特征融合模块主要由2个分支组成:主分支采用可以编码上下文信息的旋转区域插值池化模块RotateRoIAlign,提取全局特征;辅助分支采用能够建模局部信息的方位敏感型旋转区域插值池化模块RotatePsRoIAlign,提取局部特征,这两类特征往往具有很强的互补特性[11]。此外,由于不同细粒度类别的舰船通常只有部分区域具有显著差别。为了在没有局部标注信息的情况选出更具判别力的局部特征来进行细粒度的识别,本文首先利用局部特征学习不同区域的重要性权重,然后基于注意力机制[12]对全局特征进行重新加权,从而将2种特征有机地融合在一起。融合后的特征既有丰富的上下文信息,又具有局部的判别信息,能够更好地完成细粒度识别的任务。为了减少该模块的计算量,辅助分支的共享卷积层使用了大卷积核的可分离卷积层,卷积核大小分别为7像素×1像素和1像素×7像素。同时该模块还引入残差连接,以减轻Sigmoid函数的饱和性带来的梯度消失问题,从而帮助网络的学习和优化。

1.4 基于迁移学习的端到端训练

本文算法使用端到端的训练方式,根据舰船目标的形状和尺度分布,将超参数设置如下。

1)预设框尺度设置为64、128、256、512,长宽比设置为3∶1、5∶1、7∶1,旋转角度改为9个(-35°~125°平均划分)。

2)第一阶段与任一真实目标IoU超过0.5且角度偏差小于15°的预设框设为正样本;与所有真实目标IoU都小于0.2的预设框设为负样本。

3)第二阶段批量大小设为256,正负样本比例设为1∶1,正样本IoU阈值设为0.4,池化大小改为10像素×5像素,全连接层隐藏单元大小为1 024。

4)训练图像短边设为640,初始学习率为0.001,使用动量随机梯度下降优化算法迭代6 W步,学习率衰减系数为0.1,衰减步数为4 W、5 W、5.5 W、5.8 W步,权重衰减系数为5E-4。

研究[13]表明,相关任务之间的迁移学习可以加速目标任务的学习,并提高目标域的泛化能力,在目标域数据集规模相对较小时,迁移学习可以有效地提升目标任务的性能。本文提出了一种同类任务间的预测层权重迁移方法,可以用遥感影像中其他类别的目标标注信息[14](源域)辅助舰船类目标(目标域)的检测任务。由于源域和目标域目标的尺度和长宽比分布不一致,因此我们在RRPN阶段采用了不同的预设框设置,并使用独立的预测权重生成候选区域。针对源域和目标域类别数不同的问题,本文在第二阶段使用了权重迁移的方法进行参数共享,如图6所示,首先提取源域的预测层权重,通过可学习的线性映射变换为目标域预测权重,最后在目标域使用映射权重进行舰船检测和识别。除RRPN预测层权重进行随机初始化外,网络其余部分的权重直接从源域迁移到目标域。

图6 权重迁移预测模块

2 实验分析

2.1 数据集

由于没有标准的数据集进行实验结果性能评价,本文实验利用了实验室自建的影像数据,图像分辨率为1 m左右,每张图像长宽比在1 000~3 000之间,对数据集进行随机数据增强,引入颜色变换、旋转变换、区域裁切等操作(分辨率保持不变),最终获取有效训练样本4 926张,大小均为480像素×640像素。

实验数据集中所有标注船只被分成了包括军舰、航母、民船等在内的25个类别,表1列出了训练数据集中的主要一些细分类别及对应的实例数量。图7展示了各细分类别的典型样本缩略图(其中尺度经过了归一化缩放),可见各类别样本间存在较高类间相似性,尺度变化范围也比较大,这就要求算法需要具备对小尺度目标的精确定位能力,以及足够强的细粒度类别的判别能力。

表1 训练数据集的主要类别

图7 实验数据集各类别样本缩略图(类别编号自左向右,自上往下)

2.2 实验对比

由于本文主要研究细粒度多类别的舰船检测与识别问题,因此采用类似自然场景目标检测[15]中的评测指标对算法性能进行量化。算法运行速度的量化指标为单幅640像素×480像素大小,来测试图像的处理时间。测试环境为:64位Linux操作系统,GTX1080Ti显卡,CUDA8.0,CPU型号Intel Xeon E5-2620。首先,将本文网络框架的第二阶段子网络只保留全局池化分支,并把池化模块替换为RotateRoIPooling,以此作为基准算法,如表2所示,基准算法的平均精度(mAP)仅为51.8%。为了验证在池化过程中对采样点进行插值的必要性,我们将模块RotateRoIPooling换为对应的插值模块RotateRoIAlign,模型性能得到了大幅提升(62.0% mAP),可见区域特征的精确提取对舰船目标的精确定位和准确识别非常重要。

之后,验证方位敏感型插值区域池化模块的性能。在将RotateRoIAlign替换为本文提出的RotatePsRoIAlign模块后,算法的平均精度下降到60.2%,经过分析这主要是单个RoI的特征维度的量级差距悬殊导致的。如表2所示,RotateRoIAlign单个RoI区域的参数量为512×10×5=25 600,而本文的RotatePsRoIAlign单个RoI区域的参数量仅为10×10×5=500,特征参数量相差近2个数量级,使得RotateRoIAlign在性能上占有优势。为了公平验证RotatePsRoIAlign模块的有效性,我们增加了一组实验。在使用RotateRoIAlign模块的共享卷积层前增加一个降维卷积,从而使二者每个RoI的参数量保持在同一个数量级,实验结果参见表2中RotateRoIAlign-Light,此时性能与本文模块接近一致,从而表明本文提出的RotatePsRoIAlign模块在特征提取能力上是令人满意的,而占用的模型参数量是最低的,并且后续实验将表明,该模块在对舰船局部信息的建模上更具优势。

我们以RotatePsRoIAlign模块的单分支模型为基础,对本文提出的其他结构进行了逐一的验证,如表3所示。通过使用角度致密化的预设框设置策略,小尺度舰船可以匹配到更多的预设框,从而模型召回率得到了较大提升,模型整体性能也提升了2% mAP,并且参数量基本保持不变。由于预设框数量的增加,对候选区域进行过滤时需要更多计算量,从而使得算法运行时间增加,运行速度略有下降。

表2 区域池化模块分析

表3 对比分析

在加入基于注意力机制的区域特征融合后,模型平均精度提升到63.4%,可见RotatePsRoIAlign所提取到的特征与RotateRoIAlign模块具有一定的互补性,且本文提出的融合方法较大地提升了最终特征的判别能力。但融合模型的运行速度略有下降,同时由于新增加了残差映射和注意力建模2个全连接层,模型参数量也有增加。值得注意的是,在该模型的基础上再次加入角度致密化,模型性能提升较小,仅为0.6% mAP,这很可能是由于融合特征判别能力的增加,使得第二阶段分类器对候选区域筛选和调整更加高效,在一定程度上掩盖了角度致密化带来的候选区域质量的提高。最后,通过在DOTA数据集上对本文提出的网络框架进行3 W步的预训练,并将训练权重迁移到舰船数据集上继续训练,可以带来0.9% mAP的提升。

影响本文算法性能的相关因素,主要包括类别判别困难程度、尺度大小、样本数量3个方面。本文用尺度大小和样本数量2个因素对性能的影响进行了分析,如图8所示。结论如下。

1)对于本文算法无法检测到的目标,主要是4种情况:样本数量极少,如类别24;样本数量较少且类内差异较大,如类别10;与其他某类差异很小,如类别18;与尺度大小没有必然联系。

图8 算法性能的影响因素分析

2)对于本文算法容易检测的目标,主要是尺度偏大且类别特征明显,如类别20和类别25。

3)大部分类别的检测性能与样本数量和尺度大小基本呈正相关,样本数量少的类别在训练时梯度信息容易被多数样本覆盖;而尺度较小使得目标本身对定位精度要求很高。

2.3 算法检测结果的可视化

图9展示了本文算法的可视化检测结果。图9(a)原图大小为1 379像素×1 199像素,检测速度为0.582 4 s;图9(b)原图大小为2 041像素×1 302像素,检测速度为0.637 s,可见本文算法能够较好地处理陆地复杂背景环境的干扰。图10组图则从不同角度对算法的性能进行了展示:第1列展示了算法对不同亮度变化影响的鲁棒性;第2列展示了算法对不同大小的货船检测的稳定性;第3列展示了检测算法对多种类别舰船的判别能力,以上可视化结果均为正确检测的结果;第4列集中展示了本文算法的典型检测错误,包括类别判别错误(类别5和类别9具有较高的类间相似性)造成的虚警、检测框不准确(背景区域与舰船区域具有较高的相似性)和部分漏检(舰船排列过于紧密)。以上结果表明本文算法在近岸舰船检测和识别上具有良好的鲁棒性和较高的检测率。

图9 本文算法可视化检测结果示例1

图10 本文算法可视化检测结果示例2

3 结束语

本文研究了基于深度学习的近岸舰船检测和识别算法,提出了一种端到端的细粒度近岸舰船目标检测和识别框架。针对小型舰船对预设框角度变化敏感的问题,提出角度致密化的策略,提升了小型舰船的检测率;针对传统的区域池化算法带来的量化误差问题,采用改进的方位敏感型区域插值池化模块,可以更精确地建模舰船区域的局部特征;针对细粒度舰船分类的问题,利用基于注意力机制的局部和全局特征相融合的结构,增强了区域特征的类别判别能力;针对样本稀缺性问题,提出预测层的权重迁移模块,使用迁移学习进一步提升了模型性能。实验结果表明,本文算法在细粒度近岸舰船目标数据集上达到了较高的检测性能和识别精度,但由于近岸舰船目标背景环境复杂、类别多样、样本稀缺以及部分区域舰船排列紧密等问题,算法仍存在漏检或某些类别判别错误的情况,如何针对性地改进这些不足是未来的研究重点。

猜你喜欢

细粒度池化舰船
舰船通信中的噪声消除研究
融合判别性与细粒度特征的抗遮挡红外目标跟踪算法
基于高斯函数的池化算法
卷积神经网络中的自适应加权池化
舰船测风传感器安装位置数值仿真
基于SVM多分类的超分辨图像细粒度分类方法
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法
基于型号装备?角色的IETM访问控制研究
基于web粒度可配的编辑锁设计