APP下载

基于改进Faster R-CNN 的舰船目标三维识别算法*

2022-07-25柳碧辉王培元

火力与指挥控制 2022年5期
关键词:卷积舰船测试

柳碧辉,王培元

(海军航空大学,山东 烟台 264001)

0 引言

舰船目标识别技术在许多领域具有广泛的应用。在民用领域上,有利于监视海运交通、维护海洋权益;在军事领域上,有利于进行预警探测、对敌侦查识别、精确制导打击、提高海防预警防范能力,因此,对海洋实际场景中舰船目标的准确识别具有重要意义。

在复杂应用背景下,近些年来,人们对机器视觉系统的需求逐步提升,对图像的判读、目标的全方位精确识别也提出了更高的要求,获取的舰船二维图像还存在着抗干扰性、适应性较差的问题,自然也无法进行全方位的目标识别。例如,仇荣超等人对不同波段的红外图像进行采集,并在舰船目标候选区域进行拓展以融入局部上下文信息,生成检测区域,但该过程太过于复杂,红外图像易受海洋复杂环境影响。孙嘉赤等人在遥感影像中设计出旋转回归器对舰船目标进行精细识别,但是存在着背景冗余过多、二维图像并不能表征目标深度信息的问题。魏存伟等人提出了舰船视角参数估计方法,但对于雷达回波信号的目标识别来说,目标是主动的,观察者是被动的,观察者无法在所有视向上对目标取样,导致目标特征提取困难。因此,能够较好地呈现出物体空间信息、表征出物体细节、全面体现出客观事实的三维模型在目标识别方面具有明显的应用优势。

根据利用的特征及提取方式的不同,可以将现有的三维识别方法分类如下:基于特征匹配的目标识别、基于图匹配的目标识别以及基于深度学习的目标识别方法。基于深度学习的三维识别算法已经应用于国内外众多领域。针对舰船的目标识别,陈东等人提出基于改进型YOLOv3 的SAR 图像舰船目标检测方法,实现了嵌入式的应用,但存在着泛化性差的问题。王冰提出利用深度残差网络结合超像素方法对目标进行分割来识别舰船目标,但在实验中深度学习网络训练层数不够,使得鲁棒性不高,从而影响了检测精度。如今在瞬息万变的海洋战场环境中,舰船目标的三维识别越来越注重于“时效性、准确性、适用性”,因此,本文采用基于Faster R-CNN 方法对舰船目标进行三维识别研究。

针对舰船目标三维识别中存在的问题,本文所提的算法框架主要包含3 部分:1)利用三维重建软件生成舰船目标的三维模型;2)通过增加滑动窗口的方法,改进Faster R-CNN 的卷积层结构,采用合适的锚点对目标进行识别;3)设计了一个根据实景模型标识框与区域建议相结合的识别方法得到目标信息,最后,利用非极大值抑制的方法对冗余矩形标识框进行过滤去除,实现对三维舰船实景目标的准确识别。

1 Faster R-CNN 算法

基于区域建议方法的R-CNN 识别模型是深度学习在目标识别领域的重要发展。R-CNN 突破性地解决了传统方法对目标进行特征选择的问题,在此基础上Faster R-CNN创新性地改善了选择性搜索方法,引入区域生成网络(region proposal network,RPN),真正意义上实现了端到端的目标识别,从目标识别算法的功能上看,Faster R-CNN 是由RPN 候选区域框生成模块与Fast R-CNN 识别模块两部分组成,如图1 所示。

图1 Faster R-CNN 网络结构

1.1 RPN 网络结构

区域提议网络RPN 的输入是任意大小的图像,利用CNN 卷积操作后特征图以一组矩形生成区域提议(region proposals),并且每一个提议都会有相应的目标得分。替代了选择性搜索等方法,明显提升了识别速度,是Faster-RCNN 的核心组成网络。

为了生成区域提议,在最后的共享卷积层输出的卷积特征映射上面滑动一个小网络。这个小网络将卷积特征映射的空间窗口作为输入,如图2所示。

图2 RPN 网络结构示意图

每个滑动窗口映射到一个低维舰船特征,得到的舰船特征对应关系为:256 维长度与ZF 网络相对应,512 维长度与VGG 网络相对应,将提取特征输入到两个子全链接层,分别为分类层(cls)和回归层(reg)。分类层的主要作用是与区域提案中心锚点的宽度、高度以及二维坐标相对应,进行舰船的分类判断;回归层主要是对矩形识别框内的物体进行识别回归,判断其属于前景还是后景,以便对舰船目标进行更准确地识别。滑动窗口可以对多个区域同时进行提议预测,每滑动一次就会预测出k 个区域建议,其中分类层输出2k 个分数;回归层具有4k个分数的输出。把每个滑窗的中心点称为一个锚点。锚点具有平移不变性。无论是计算锚点还是计算相对于锚点的区域提议函数,如果在图像中平移目标,提议也会平移,并且同样的函数在任一位置被预测提议,这样会减少模型的大小、降低过拟合的问题,有助于RPN 在很大尺度范围内获得舰船目标。经过端到端训练后的RPN 网络,可以生成高质量的区域提议,最后,对得到的矩形标识边框进行坐标编码,即区域建议作为Fast R-CNN 框架的输入,继续进行系统的训练。

1.2 训练RPN

为了训练RPN,要给每个锚点分配一个二值类别标签,根据矩形边框及其分类得分数判断该目标是否为舰船目标。对以下两种类型的锚点分配正标签:1)具有与实际边界框(训练集中人工标识出的真实舰船目标矩形包围框)的重叠最高交并比(IoU,intersection over union)的锚点;2)与实际边界框的重叠超过0.7IoU 的锚点。对于与实际边界框重叠的IoU 比率低于0.3 的一个锚点,分配一个负标签。舍弃未得到正标签或者负标签的锚点,不参与训练目标函数。

根据以上定义,对目标函数Fast R-CNN 采用最小化的多任务损失函数,将损失函数定义为:

另外,目前对舰船目标识别应用中,方程式(1)中cls 项通过小批量数据的大小(即N=256)进行归一化,reg 项根据锚点位置的数量(即N~2 400)进行归一化。上面的归一化不是必须的,可以简化。

对于从锚盒到邻近的实际边界框的边界框回归(bounding box regression),如式(5)所示:

式中,x,y,ω 和h 表示边界框的中心坐标及其宽和高;变量x,x和x分别表示预测边界框,锚盒和实际边界框(y,ω 和h 同理)。

1.3 联合训练

采用4 步交替优化学习共享特征的方法来训练由RPN 和Fast R-CNN 组成的具有共享卷积层的统一网络,如图3 所示。

图3 Faster R-CNN 目标识别网络

Step 1 单独训练RPN 网络,使用ImageNet 的预训练模型对该网络进行初始化,并针对区域提议任务进行了端到端的微调。

Step 2 单独训练Fast R-CNN 网络,将Step 1 RPN 生成的提议作为识别网络的输入。该识别网络也由ImageNet 的预训练模型进行初始化。此时两个网络不共享卷积层。

Step 3 又一次训练RPN,固定网络公共部分的参数,并且只对RPN 特有的层进行微调。现在这两个网络共享卷积层。

Step 4 保持共享卷积层的固定,对Fast R-CNN网络进行微调。因此,两个网络共享相同的卷积层形成统一的网络。至此网络训练结束,类似的交替训练可以运行更多的迭代。

2 本文算法描述

本文提出的算法框架主要包含3 部分:1)通过增加滑动窗口的方法,使用卷积层改进的Faster R-CNN 的结构,采用合适的锚点对目标进行准确识别;2)根据得出的图像设计了一个根据实景模型标注框与区域建议相结合识别的方法得到目标信息,其后利用非极大值抑制的方法对多余不准确矩形标识框进行过滤去除,实现对三维舰船实景目标的识别。本文所提出的基于改进的Faster RCNN 的舰船目标三维识别流程如图4 所示。

图4 本文改进方法的流程图

2.1 改进的Faster R-CNN 的结构

原始的Faster R-CNN 中的AlexNet 网络结构共有8 层,前面5 层为卷积层,后面3 层为全连接层,残差块在TOP-5 的错误率达到了16.4豫,而且随着网络深度的增加,优化较为困难,使得深层网络表现反而不如浅层网络,为了解决这类“退化”问题,选择由残差块(residual block)构建的RetNet网络。在TOP-5 的错误率仅为4.6豫,所以,使用残差块能够训练更深的神经网络,可以减少梯度过拟合的现象。

通过实验证明,选择预训练的ResNet-101 模型比其他预训练模型(如VGG和Inception)可以获得更好的性能。之后,默认情况下,我们选择ResNet-101 模型作为Faster R-CNN 中的主干。RetNet101 网络结构如下页图6 所示。

图5 RetNet101 网络结构

图6 本文改进的基于ResNet101 的Faster RCNN 结构

本文将利用基于ResNet101 的Faster RCNN 结构。RetNet101 网络由输入图片、conv1、conv2_x、conv3_x、conv4_x 和conv5_x 组成,该模型由ImageNet 分类模型初始化。在conv2_x、conv3_x、conv4_x和conv5_x 每层使用3 个残差块。在conv4_x 最后的输出为RPN 和RoI Pooling 共享的部分,然后将RPN 的输出一起作用于RoI Pooling 之后的特征图,作为conv5_x 的输入,conv5_x 后加入一层卷积层,对conv5_x 的输出进行线性形变,使用2 048 个1*1,步长为1 的卷积核输出为2 048 维特征,将分别用于分类和框回归。

由于三维模型是立体的,可以比较真实地还原物体特征,所以对细节采集读取非常关键。原始的RPN 网络中只有一种3×3 的滑动窗口,通过一种感受野是不够的,限制了模型目标识别能力,但也会带来更多的参量。本文在原始的RPN 网络采用两个连续的3×3 与5×5 的卷积层来代替单个的3×3。3×3 与5×5 级联的卷积层参数个数为36,原有的参数个数为10。计算量作对比:输入记为x,为了方便讨论,假设padding=0,stride=1。利用卷积计算公式可得如表1 所示。

表1 计算过程

总的来说,虽然参量变多了,但是采用两个卷积核级联的方式在计算量上占有优势识别性能优于单个滑动窗口的性能,感受野范围也得到了提高,可以较为全面细致地识别出三维图形的舰船目标,如图6 所示。

2.2 区域组合识别模型

我们将设计一个新的区域组合模型,以更好地利用三维模型提供的区域信息。利用三维重建生成三维模型,舰船的边缘轮廓相对平滑,在舰船轮廓的延长线上,图像梯度变化是非常缓慢的,在舰船轮廓垂直方向上的梯度变化较为明显。所以,首先通过canny边缘检测算子,提高模糊边界的清晰度,同时抑制噪声,进而再对模型提供的舰船信息进行分析。同时经过在RPN 阶段生成对象建议后,基于Faster RCNN 阶段的卷积网络步幅,使用ROI 池层将每个区域建议投影到共享特征图上。然后,将与每一个区域建议对应的特征图进行编码,编码为具有预定义空间分辨率的固定尺寸的表达形式。之后,这些表示将作为几个完全连接的层的输入,以进行分类和边界框回归。

由于三维模型有助于物体识别,而且无人机拍摄舰船目标远,得到的舰船目标小,因此,考虑将三维模型实际框出的目标与经过卷积神经网络识别后的目标进行提案区域结合,这样将有助于识别远距离小型物体。此外,由于小型对象通常占据的图像区域较小,与较小候选提案相对应的特征图(在经过多次卷积处理后得到的其空间分辨率可能不足1×1)难以分辨。因此,本文选择区域组合识别的方法来提高小型目标识别的性能。如图7 所示,分别在三维模型进行框选后的区域和在ROI 池层之后得到的提案区域合并在一起,候选区域中的空间分辨率遵循默认设置,即7×7。这是用来合并上下文信息的简单且直观的方式,在我们的实验中证明了这种方法是有效的。此外,我们从没有完全连接的层的预训练ResNet101 模型中,构造了所有卷积层的共享特征图。因此,在最终分类和边界框回归之前,附加两个隐藏的1 024 维全连接层,它们通过Xavier 方法随机初始化,如图7 所示。

图7 区域组合识别模型

2.3 非极大值抑制(NMS)

为了减少冗余,建议区域根据其框分类得分采用非极大值抑制(NMS,non maximum suppression)。非极大值抑制在很多计算机视觉任务中都有广泛应用,如:边缘检测、目标识别等。步骤如下:1)将所有框的得分进行升序排序,选中最高分及其对应的框;2)遍历其余的框,如果和当前最高分框的重叠最高交并比(IoU)大于一定阈值,就将这个框删除;3)从未处理的框中继续选一个得分最高的,重复上述过程。经试验,将本文中NMS 的IoU 阈值固定为0.5。如图8 所示。

图8 NMS 处理结果

3 数据实测与分析

3.1 数据准备

目前,国内和国际上没有公开的关于真实海面场景下的舰船三维实景目标识别数据集,无法在统一平台上比较舰船目标三维识别各方法的性能,给出定量精度指标。故文中自建了某退役军舰的数据集。使用无人机对该退役军舰舰船进行360 °实景航拍,利用photoscan 软件重建三维模型,经过对齐照片、形成点云、形成纹理等步骤作出该舰船的三维实景立体模型,如图9 所示。

图9 某退役军舰舰船三维实景模型图

实验训练数据集分别来自三维网格模型、三维点云模型、三维纹理模型、退役军舰的航拍图片和退役军舰舰船三维手工建模模型等5 种数据集,如图10 所示。训练集样本已被调整为406×720 像素,以方便查看。这些训练数据集包含了舰船的各个角度、清晰、背景简单等特征,还专门采集了背景冗杂、舰船特征部位较相近的干扰图像,人为增加了数据集图片,以验证本文方法的有效性和鲁棒性。为了进行评估,我们的数据集被随机分为70豫用于训练和30豫用于测试。图10 为部分训练图像示例图。实验硬件环境为:Intel Core i5 CPU、NVIDIA GeForce GTX 1 650 显卡和8 G 内存。

图10 5 种训练集部分示例图

3.2 实验步骤

Step 1 实验对目标识别时的检测器统一使用ResNet101 模型,按照2.1 和2.2 节的模型框图进行网络模型的构建,并对模型进行初始化。

Step 2 将数据集使用canny 边缘检测算子进行降噪处理,作为网络模型的输入。

Step 3 RPN 中的区域建议窗口分别采用3 种尺度比例(1∶1,1∶2,2∶1)和3 个长宽比(128×128,256×256,512×512)条件进行设置,产生9 种候选框。

Step 4 分别利用原始Faster R-CNN 方法和本文改进的Faster R-CNN 方法,对上述退役军舰舰船3 种实拍照片、民船实拍图片、邮轮实拍图片进行测试实验,均使用IoU 阈值固定为0.5。

Step 5 经过Step 4 后得出标识框的位置并进行分析对比。利用MATLAB 中自带的evaluate Detection Precision 函数进行评估,并计算精准率-召回率(precision-recall,p-r)曲线指标来作为评估标准。

3.3 本文方法性能评估测试

3.3.1 三维纹理模型数据集进行测试实景数据

本小节利用的是三维纹理模型,分别基于原始ResNet-101 的Faster R-CNN 网络,和基于本文改进后ResNet-101 的Faster R-CNN 网络测试实际场景下拍摄的3 种退役军舰舰船图片、民船图片和邮轮图片。得到的矩形标示框如图11 所示。其中,青蓝色矩形标识框为使用基于原始ResNet-101 的Faster R-CNN 网络对舰船识别的结果,黄色矩形标识框为使用基于本文改进后ResNet-101 的Faster R-CNN 网络对舰船识别的结果。由于本实验的输入训练集均为某退役军舰舰船,利用原始网络和本文改进后的网络均无法识别出民船和邮轮,故无法绘制出二者的矩形标识框。因此,表明本实验方法对此退役军舰的目标识别是有效可行的。从图中可以看出,改进后的方法得到的标识框包围的区域比原始方法标识框包围的区域大,改进后的方法所包含的冗余少于原始方法标识框框选的区域,并且改进后的方法识别数据值高于原始方法识别数据值,直观说明了使用基于本文改进后ResNet-101 的Faster R-CNN 网络能够更大范围、更全面地识别出该舰船目标。

图11 三维纹理模型测试结果

对以上3 种实测数据下的退役军舰舰船目标识别的p-r 曲线如下页图13 所示,图中3 种颜色的数据线分别表示3 种实测数据,图12 中左图为原始网络测试的结果,右图为利用本文改进网络测试取得的结果。左图曲线在召回率r 升高的过程中出现了大幅度下降,这说明原始方法识别准确率较低,仅正确检测到船只但未能识别正确,而右图曲线较为平滑,在同样在召回率r 升高的过程中,仍有50豫的精准率,利用改进的方法对于舰船目标识别准确率较高。经过计算左图mAP 值为0.73,右图mAP 值为0.83,识别精确率提高了10豫,显然右图的精确度更高,相比于原始网络,本文改进的方法识别效果有明显提升。

图12 两种网络识别结果p-r 曲线

图13 其他模型测试结果

3.3.2 其他模型数据集进行测试实景数据

本小节使用的模型分别是三维网格模型、三维点云模型、退役军舰航拍图片和退役军舰舰船三维手工建模模型,与3.3.1 节使用的测试数据一样,同样分别在基于原始ResNet-101 的Faster R-CNN 网络和基于本文改进后ResNet-101 的Faster R-CNN 网络进行数据实测。得到的矩形标示框如图13 所示。其中,同样使用青蓝色框为使用基于原始ResNet-101的Faster R-CNN 网络对舰船识别的结果,黄色框为使用基于本文改进后ResNet-101 的Faster R-CNN网络对舰船识别的结果。得到的实验结论与3.3.1得出的结论是一致的。利用以上数据集经原始网络和本文改进的网络后均无法识别出民船和邮轮,无法得到二者的矩形标识框,因此,表明本文采用的实验方法对此退役军舰的目标识别是可行的。

在以上测试集上实验得p-r 曲线如图14 所示。其中,图中3 种颜色的数据线分别表示3 种实测数据,图14(a)中左图为三维点云模型经原始网络测试的结果,其mAP 值为0.71,右图为三维点云模型利用本文改进网络测试取得的结果,其mAP 值为0.8。14(b)中左图为三维网格模型利用原始网络测试的结果,其mAP 值为0.61,右图为利用三维网格模型经本文改进网络测试取得的结果,其mAP 值为0.7。14(c)中左图为退役军舰航拍图片基于原始网络测试的结果,其mAP 值为0.57,右图为退役军舰航拍图片利用本文改进网络测试取得的结果,其mAP 值为0.60。14(d)中左图为三维手工建模模型使用原始网络测试的结果,其mAP 值为0.63,右图为三维手工建模模型在本文改进网络测试后取得的结果,其mAP 值为0.67。由图中数据也可以看出,右一侧的图识别精度以及召回率均好于左一侧的图,即本文改进后的基于ResNet-101 的Faster R-CNN 网络目标识别效果要优于原始基于ResNet-101 的Faster R-CNN 网络目标识别效果,我们的方法提高了卷积神经网络鲁棒性。

图14 两种网络识别结果p-r 曲线

图14 经过计算得出,识别精确率右图比左图分别提高了9豫、9豫、3豫、4豫,将三维模型作为数据集经过本文改进的网络进行目标识别训练得到的测试效果要好于其他类型的数据集。两种方法识别性能的详细对比如表2 所示。对比可得将三维纹理模型作为训练集对舰船目标识别准确率最高,基于本文改进的方法比原始方法对5 种舰船目标的识别准确率提高了6豫,经试验证实本文提出的方法是有效的。

表2 识别性能的详细对比

4 结论

本文提出了一种改进的Faster R-CNN 方法,以解决舰船目标识别中二维图像提供信息少、远海识别舰船困难的问题。合理使用了三维重建软件重建三维模型。其次,针对原始Faster R-CNN 网络存在过拟合、小物体识别困难的问题,对卷积神经网络进行了优化,然后为了改善感受野获取信息有限问题,在原始的RPN 网络中选取级联的方法增加滑动窗口数量,提高了模型信息摄取范围,并同时提出区域组合识别模型,来进一步提高训练过程中的舰船目标识别性能。最后结合非极大值抑制的方法对冗余框进行过滤去除,实现对三维舰船实景目标的识别。为了验证所提算法的有效性,本文进行了充分的实验,使用某退役军舰的5 种舰船目标信息来源作为数据集分别经过Faster R-CNN 方法和改进的Faster R-CNN 方法进行了训练,使用5 种实际海景下的舰船目标为测试集进行测试,对舰船目标识别任务上的性能进行了全面分析,实验结果表明了利用改进后的卷积神经网络算法对三维实景模型目标识别的优越性与鲁棒性。

猜你喜欢

卷积舰船测试
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
心理测试
卷积神经网络概述
国产3000吨级护卫舰正式交付
心理小测试
测试
小测试:你对电子邮件上瘾了吗?
台日舰船对峙内幕曝光