APP下载

基于Mask R-CNN的舰船目标检测研究

2018-02-13吴金亮陈金勇

无线电工程 2018年11期
关键词:掩膜边框舰船

吴金亮,王 港,梁 硕,陈金勇,高 峰

(1.中国电子科技集团公司航天信息应用技术重点实验室,河北 石家庄 050081; 2.中国电子科技集团公司第五十四研究所,河北 石家庄 050081)

0 引言

舰船作为主要的海上运输载体和重要的军事目标,其自动检测具有十分重要的应用价值,无论在民用还是军事领域都有广阔的应用前景[1]。由于光学卫星遥感图像直观易理解、特征丰富、容易解译,在海域舰船检测方面具有SAR卫星遥感图像不能比拟的优势[2]。因此,目前对于卫星遥感图像的研究重点已经从SAR卫星遥感图像慢慢转向光学卫星遥感图像[3]。基于光学遥感卫星图像的舰船目标检测方面的技术文献也在逐渐增多,Jubelin等人[4]提出了一种多尺度中高分辨率的舰船检测算法;龚志成等人提出基于邻域分析的海洋遥感图像舰船检测方法[5];王卫卫等人利用结构纹理分解检测海洋舰船目标[6]。此外,还有许多学者也研究了可见光遥感图像舰船检测。随着深度学习技术的发展,其很好地应用于遥感目标检测方面。王港等将深度学习Faster R-CNN框架针对高分一号遥感影像开展了基础设施目标检测,主要检测了机场、操场等基础设施,取得了很好的应用效果[7];胡炎等将深度学习的技术应用于多尺度SAR舰船目标检测,也取得了很好的效果[8];牛新等采用多尺度遥感影像和深度学习的方法开展了机场检测和飞机检测的研究,将深度学习和遥感影像的应用结合紧密,具有很好的参考价值[9]。文献[10-13]论述了深度神经网络在舰船检测方面的优势。

深度学习方法在舰船目标检测上展现出了良好的检测性能,但是也出现了问题[14]。舰船目标一般为长条状,驻泊在港口时一般为多艘舰船紧密排列,这就给检测识别算法带来了困难。当前主流的目标检测算法一般为选取候选方框,并对候选框内的目标进行分类,从而实现目标的检测识别[15]。当舰船紧密排列且倾斜摆放时,某舰船目标的目标方框就会包含相邻舰船目标的内容,一般会出现中间舰船无法检测的问题。图像语义分割技术可以将某具有特定语义的像素群分出来,这样目标的精细边缘曲线就可以得到[16]。Li等首先将目标分割系统和目标检测系统相结合,形成“全卷积实例分割系统”[17],这个想法得到了很多学者的赞同,相关算法被大量提出。综上,如果可以采用深度学习目标检测框架结合像素语义分割算法,在获得每一个目标的位置前提下,同时获得其轮廓边缘数据,就可以很好地解决舰船检测中舰船紧密排列的问题。

针对遥感影像舰船目标检测的具体问题,本文设计了基于Mask R-CNN的舰船目标检测算法。为了建立训练样本库,从谷歌地球下载数据,并应用分割标注工具进行样本的标注;在模型构建方面,采用ResNet50作为基准网络结构[18];通过训练模型,实现了舰船目标检测。本文算法在应对紧密排列目标的检测时,具有较强的检测性能,算法的准确性和实用性大大增强。

1 算法流程

本文算法总体流程如图1所示。

图1 算法流程

算法的设计思路:目标定位、目标识别以及语义分割协同工作,从而达到增强目标检测的目的。通过第一个卷积层特征提取,获得区别于Faster R-CNN的RoIPool的RoIAlign,用于接下来的目标检测过程。获得的RoIAlign输入到2个分支,第1个分支通过全连接网络获得区域框和目标类别,第2个分支通过卷积层的计算,获得目标像素级实例分割结果。2个分支合并,获得最终的目标检测结果。实例分割的加入,将目标检测识别的准确率进一步提高,且获得的检测信息更加有用。

2 网络设计

2.1 Mask R-CNN网络

Faster R-CNN为每个候选目标输出一个类别标签和一个边框偏移量。为此,本文添加了一个输出目标掩膜的第3条分支,Mask R-CNN算法成为了一个自然且直观的应用算法。但新附加的掩膜输出与类输出和边框输出不同,需要提取目标更加精细的空间分布。本节将会介绍Mask R-CNN的关键特点,包括像素到像素的对其(RoIAlign),这是Faster R-CNN所不具备的特点。

2.2 Faster R-CNN

Faster R-CNN由2级组成,第1级称为区域建议网络(RPN),其目的是候选目标边框,第2级本质上是Fast R-CNN,使用RoIPool从每一个候选框中提取特征,并进行分类和边框回归。2级的特征可以共享使用,以便更快推理[19]。

2.3 Mask R-CNN

Mask R-CNN采用相同的2级,第1级是与Faster R-CNN完全相同的,第2级在与预测(类别和边框)并行的还有一个为每一个边框提供的二进制掩码,用以描述目标的像素级分割结果,包括目标边缘和内部像素。

2.3.1 掩膜表示

掩膜编码了输入目标的空间布局。因此,掩膜与通过全连接层不可避免地缩成短输出向量不同,通过卷积所提供的像素到像素的对应关系,可以很自然地提取出掩码的空间结构。

具体地,采用FCN[20]从每一个RoI预测一个m×m的掩膜。这就允许掩膜分支的每一个卷积层都保持m×m的空间布局,而不会将其缩小到缺乏空间维度的向量表示。

2.3.2 RoIAlign

RoIPool是从每个RoI提取特征图的标准操作。RoIPool首先将浮点数表示的RoI量化到与特征图匹配的粒度,然后将量化后的RoI分块,最后汇总每一个块覆盖的区域的特征值。量化操作对分类的影像不大,但是对精细的像素级分割影像较大。

为了解决这些问题,提出了RoIAlign层,主要消除了对RoIPool的粗糙量化,同时将提取的特征和像素精准对齐。选取每个RoI分块中的4个常规位置,使用双线性差值计算每个位置的精确值,并将结果进行汇总[21]。

2.3.3 网络架构

本文深度学习网络模型的架构主要分为3个结构:卷积层1为用于整个图像上特征提取的主干卷积网络;下方在获得RoIAlign后,再对RoI区域进行卷积特征提取,形成卷积层2;区域卷积提取后,分别进行边框识别和掩膜预测,形成2个并行结构分支,其中掩膜预测为全卷积层,边框识别为卷积层和全连接层。

本文将主干卷积网络(卷积层1)设计为50层的ResNet,这里主要考虑了高分辨率遥感影像中舰船目标的特征复杂度和检测任务的难度。若进行精细识别或者多类别检测,应该增加残差网络的层数,提高其特征抽象能力。其卷积的网络结构示意图如2所示。

图2 ResNet结构示意

3 网络训练

本文对于超参数的设置与现有的Faster R-CNN框架基本一致,这些设置具备一定的鲁棒性。

在训练中,采用多任务损失函数,定义为:

L=Lcls+Lbox+Lmask,

式中,分类损失函数Lcls和边框损失函数Lbox与文献[7,11]定义相同;掩膜损失函数Lmask对于每一个RoI的输出维度为Km2,表示K个分辨率为m2的二进制掩膜,K表示二进制数量。本文为每一个像素值应用sigmoid函数,定义Lmask为平均二进制交叉熵损失。对于真实类别为k的RoI,仅在第k个掩膜上计算Lmask。本文对Lmask的定义允许网络在不跨类别竞争的情况下,对每一个类独立预测掩膜;本文使用专门的分类分支预测掩膜标签(Lcls),这样很好地解耦了掩膜和类别的预测。

如果RoI与真实框的IoU不小于0.5,则为正样本,否则为负样本。掩膜损失函数仅在正样本上定义。掩膜目标是RoI及其相关的真值掩膜之间的交集。本文采用以图像为中心的训练,图像被缩放到800像素(图像短边),批量大小为每个GPU两幅图像,每一个图像有64个RoI采样,在原有模型中进行微调,迭代4 000次。其中,学习率为0.01,采用0.000 1的学习衰减率和0.9的动量值。

4 目标检测

在执行目标检测时,区域建议的数量为300。在区域建议上进行边框预测,然后执行非极大值抑制,再将掩膜分支应用于边框评分最高的100个检测边框。掩膜分支可以预测每个RoI的K个掩膜,其中K是分类分支的类别数。然后将m2浮点数掩码的输出大小调整为RoI的大小。

5 样本库建立

本文中用于训练和测试的样本库,主要通过下载谷歌地球中的数据建立。其中,下载的遥感影像分辨率为0.3~0.5 m,以国家—军港的层次进行搜集和整理。制作细样本时,将样本大小选定在1 000*1 000左右,每一个样本中一般包含1~4个目标。

在样本的标注过程中,参考Pascal VOC数据集的图像分割数据标准和Microsoft COCO数据集图像分割的数据标准,通过开源软件进行样本标注。其中,舰船样本示例和标注的舰船样本的示意图如图3和图4所示。标注舰船样本的时候,以密集连续的点连线,将目标的轮廓边缘准确地标准出来。标注的数据格式如图 5所示,按照Pascal VOC数据标注格式,主要包括了路径、样本文件名、标注形式、类别名以及连接点坐标。

同时,为了增加样本,本文对样本进行了水平翻转,这样使得样本的数量提高了1倍,对于小样本的学习训练有很好帮助。最终获得样本共计750个。这些样本用于前期模型的学习训练和后期的测试。

图3 舰船样本示例

图4 舰船样本标注示例

图5 标注数据格式示例

6 实验结果分析

利用从Google Earth上获取的高分辨率光学遥感图像进行实验,其中样本750幅。随机从带有标签的数据集中选出舰船样本500幅作为训练样本,其余作为测试样本,训练样本与测试样本不重复。

本算法在Python3.5上进行编写,采用Tensorflow深度学习开源库作为模型构建基础。计算机为联想Think Station P910,至强E2620 v4(双路),显卡为英伟达Quadro P5000 16G。本算法训练和测试均是在GPU加速下完成。

6.1 Faster R-CNN检测结果分析

本文使用相同的样本库,在Faster R-CNN下进行了学习训练,其结果良好,但是存在几种检测结果有问题的情况,主要表现为紧密排列的舰船出现漏检情况、误检情况、目标检测区域框过大无法很好贴近目标等问题。问题示例如图 6所示。其中图6(a),(b)主要表现为漏检和分析其原因,尺寸较大的目标在候选框选取过程中,将小目标包括进去,这就造成在特征提取和目标检测结果分析中,出现小目标漏检的情况。图6 (c)主要表现为误检,Faster R-CNN缺乏对目标的轮廓描述和像素描述,这就造成很多具有局部特征的非目标地物被检测为目标。图6 (d)主要表现为目标检测区域框过大,Faster R-CNN候选框选取的时候,未充分考虑目标尺度的多样化,这就造成候选框虽然框选了目标的全部部分,但是并未紧密贴近目标,为精细化识别带来困难。

图6 Faster R-CNN舰船检测典型问题示例

6.2 Mask R-CNN检测结果分析

本文使用Mask R-CNN对舰船目标进行训练学习,然后进行检测测试工作。在获得的检测识别结果中,相对于Faster R-CNN取得了较大的改善。典型舰船检测结果如图 7所示。图7(a)~(d)分别显示Mask R-CNN舰船检测算法很好地解决了6.1节所述的舰船检测问题。Mask R-CNN算法由于掩膜分支的加入,在目标的候选框精修、紧密排列目标检测和抗干扰等方面具有较好的性能。

图7 Mask R-CNN舰船检测典型示例

同时,本文对250个样本进行检测测试,获得了统计的准确率结果,本次统计不仅考虑样本的准确率,还考虑样本中目标实例检测的准确率,检测的统计结果如表1所示。通过样本的检测测试,发现Mask R-CNN算法由于其加入了掩膜分支并优化了联合损失函数,在目标检测准确率方面,获得了较好的效果。

表1 舰船目标检测统计数据

6.3 存在改进的地方

本文将Mask R-CNN算法应用于舰船目标检测方面,相对于Faster R-CNN获取了更加优越的性能。但是在实验测试过程中也发现了一些不足的地方。首先,计算资源消耗较大,无论显存还是CUDA核,都会出现巨大消耗,较Faster R-CNN资源消耗较大;其次,训练和检测时间大幅增加,在超参数和硬件配置相同的情况下,Mask R-CNN比Faster R-CNN训练时间增加30%,检测时间增加50%;最后,依然存在检测结果不好的情况,主要出现在目标密集且多尺度目标都存在的情况,出现问题的检测示例如图8所示。

图8 Mask R-CNN舰船检测典型问题示例

7 结束语

本文针对遥感舰船目标检测中遇到的目标紧密排列的问题,采用基于Mask R-CNN的模型方法,在目标区域方框和类别预测的基础上,增加掩膜分支,在描述舰船目标特征的同时,增加对其轮廓边缘的限制,取得了较好的检测效果。本文方法可以应用于更多的场景,包括其他遥感地物的目标检测任务、目标精细识别的前期轮廓提取等。但是该方法还存在一些问题,主要为在紧密排列的多尺度目标群中进行检测出现漏检和掩膜错误等问题。通过基于深度学习的舰船检测研究,本文认为改进的主要方向是:加强训练机制的创新,监控训练参数和卷积特征的变化,使得训练的过程更加可控可视;加强样本多样化,提高样本库的数量和质量,引入数据增广算法,从数据方面增强学习的准确性和泛化性;改进网络结构,针对大场景、多尺度密集目标进行改进,提出更加符合遥感目标特性的神经网络结构。

猜你喜欢

掩膜边框舰船
舰船通信中的噪声消除研究
利用掩膜和单应矩阵提高LK光流追踪效果
宽周期掩膜法HVPE侧向外延自支撑GaN的研究
舰船测风传感器安装位置数值仿真
国内首条G11光掩膜版项目在成都高新区启动
用Lightroom添加宝丽来边框
光纤激光掩膜微细电解复合加工装置研发
给照片制作专业级的边框
外出玩
摆脱边框的束缚优派