柳碧辉,王培元
(海军航空大学 战勤学院,山东 烟台 264001)
海战场作为未来智能化战争的重要作战区域之一,其态势瞬息万变。舰船目标是海上监测和战时打击的重要目标,因此能否快速准确识别海战场中非合作舰船目标的战术意图、为战时指挥员提供相应决策支持,极大程度上关系到战争的成败。对不同类型的舰船目标在实施打击时的方式是不同的,只有准确识别出非合作舰船目标,才能对其实施精确打击任务,因此对海上非合作舰船目标的识别是关键问题。
由于舰船三维模型相比于二维图像,不仅能表征出舰船的体空间信息、物体细节,全面体现出客观事实,因此基于三维舰船目标的目标识别方面的研究也越来越多。例如,文献[1]提出一种基于自适应阈值的区域生长和形态学滤波相结合的红外舰船目标分割算法,运用几何学的图像处理方法,从图像中去除相应的背景干扰,从而提取出目标的有效信息;文献[2]基于射线追踪法进行SAR舰船目标运动状态的仿真,从而获得不同运动状态下的舰船目标图像,但能量损失造成目标识别率下降。文献[3-6]论述了深度神经网络在舰船检测方面的优势,深度学习方法在舰船目标检测上展现出了良好的检测性能[7],同时也出现了问题,例如,王冰提出利用深度残差网络结合超像素方法对目标进行分割来识别舰船目标[3],但在实验中训练样本不纯,包含太多背景信息,影响了检测精度。
在舰船目标识别中一般获取的舰船图像为二维图像,图像分辨率差、缺少舰船深度信息及空间特征,而且舰船目标形状一般为长条状,尤其是驻泊在港口时一般为多艘舰船紧密排列。利用原始MASK R-CNN对排列紧密的舰船进行目标识别时,由于缺乏对目标的轮廓描述和像素描述,造成很多具有局部特征的非目标舰船被检测为目标,使得检测框重叠度较高,导致检测框被误删,从而产生误检问题[8],这给舰船目标识别算法带来了困难。当前主流的目标识别算法一般为选取候选方框,并对候选框内的目标进行分类,从而实现目标的检测识别。
在此背景下,本文设计使用具有分割功能的MASK R-CNN[9]来对非合作舰船目标进行三维目标识别。对获取的非合作目标的可见光图像运用三维重建方法获得三维模型,对其进行显著性区域提取,利用Resnet101[10]为基准网络结构的MASK R-CNN网络,改进RPN卷积层,并且增加RoIAlign使得特征图与原图像像素完全对齐,采取极大值抑制方法进行非合作舰船目标三维目标识别。相比于原始MASK R-CNN方法,本文提出的方法在识别的准确率上提高了14.8%,能够有效减少误检情况,实现对目标的智能化处理,完成对目标的精确检测和提取,并且实现任意角度的目标识别,可为今后研发具备智能视觉的目标识别提供技术支撑。
原始MASK R-CNN结构是对原有的Faster R-CNN[11]进行扩展,添加一个掩模分支,作用于每个感兴趣区域(RoI)的小全卷积神经网络(FCN)[12],以像素到像素再到方式预测分割掩模,从而实现目标的识别与分割。其网络基本结构如图1所示,相比于Faster R-CNN,该网络结构比较容易实现和训练,可以提取出目标更精细的特征空间分布,速度也比较快,有效实现了多任务输出。
图1 原始MASK R-CNN结构图Fig.1 Structure of the original MASK R-CNN
本文改进的MASK R-CNN算法,如图2所示。
图2 本文改进MASK R-CNN结构图Fig.2 Structure of the improved MASK R-CNN in this paper
本文将改进的ResNet101网络作为MASK R-CNN的骨干网络结构,在ResNet101网络的第5层卷积层后加入再增加一层卷积层,使用步长为1的卷积核输出为2 048维特征,分别用于分类和框回归,其主要作用是用来提取图像特征;引入RoIAlign使用线性插值算法代替原有网络中的RoIAlign,使得原图中的像素和特征图中的像素没有偏差,提高了目标识别的精度。创新使用端到端的FCN作为骨干网络结构的拓展,采用先下采样再上采样,将从Resnet101提取到的高层和底层特征的相应尺寸的高级特征融合起来,可以减少图像特征信息丢失,降低目标识别中的误检,使网络能够对不同尺寸的图像进行详细描述。
将MASK R-CNN分解为Faster-rcnn、RoIAlign和FCN三个模块,接下来分别对这3个模块进行讲解,这也是该算法的核心。
基于区域建议方法的R-CNN识别模型是深度学习在目标识别领域的重要发展[13]。R-CNN突破性地解决了传统方法对目标进行特征选择的问题,在此基础上Faster R-CNN[14]创新性地改善了选择性搜索方法,引入区域生成网络(Region Proposal Network,RPN),利用CNN卷积操作后,特征图以一组矩形生成区域提议(Region Proposals),并且每一个提议都会有相应的目标得分。其替代了选择性搜索等方法,明显提升了识别速度,是Faster-RCNN的核心组成网络,真正意义上实现了端到端的目标识别,从目标识别算法的功能上看,Faster R-CNN是由RPN候选区域框生成模块与Fast R-CNN识别模块两部分组成,如图3所示。
图3 Faster R-CNN网络结构Fig.3 Faster R-CNN network structure
本文利用ResNet101网络模型为骨干结构,结构如图4所示。ResNet101网络由输入图片、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维特征,这也是与原始ResNet101网络不同的地方,改进此网络将更好用于对分类和框回归。
图4 ResNet101网络结构Fig.4 ResNet101 network structure
为了提高卷积网络的训练率和提高网络学习效率,本文采用4步交替优化学习共享特征的方法来训练由RPN和Fast R-CNN[15]组成的具有共享卷积层的统一网络,如图5所示。
图5 Faster R-CNN目标识别网络Fig.5 Faster R-CNN target recognition network
第1步:单独训练RPN网络,使用ImageNet的预训练模型对该网络进行初始化,并针对区域提议任务进行了端到端的微调。
第2步:单独训练Fast R-CNN网络,将第1步RPN生成的提议作为识别网络的输入。该识别网络也由ImageNet的预训练模型进行初始化。此时两个网络不共享卷积层。
第3步:又一次训练RPN,固定网络公共部分的参数,并且只对RPN特有的层进行微调。现在这两个网络共享卷积层。
第4步:保持共享卷积层的固定,对Fast R-CNN网络进行微调。因此,两个网络共享相同的卷积层形成统一的网络。至此网络训练结束,类似的交替训练可以运行更多的迭代[16]。
本文MASK R-CNN选用RoIAlign代替RoI Pooling,主要原因是RoI Pooling使用了两次量化操作。RoIAlign没有采用量化操作,而是使用了线性插值算法,没有引入误差,即原图中的像素和特征图中的像素是完全对齐的,没有偏差,这大大提高了目标识别的精度。
假设最接近实际目标的4个像素点为(x1,y1),(x1,y2),(x2,y1),(x2,y2),通过4个点预测的位置为(x,y),则得到x方向上的线性插值如式(1)所示。
(1)
与式(1)同理,得到y方向上的线性插值如式(2)所示。
(2)
将式(1)和式(2)合并,得到校正后的特征点位置,如式(3)所示。
(3)
FCN算法是一个经典的语义分割算法,可以对图片中的目标进行准确的分割。其总体架构如图6所示,图中数字为卷积核通道数。它是一个端到端的网络,主要的模块包括卷积和去卷积,即先对图像进行卷积和池化,使其特征图的大小不断减小;然后进行反卷积操作,即进行插值操作,不断增大其特征图,最后对每一个像素值进行分类,在此网络上使用FCN可以有效实现对输入图像的准确分割。
图6 FCN架构图Fig.6 FCN architecture diagram
这也是MASK R-CNN所特有的,在经过区域建议网络(RPN)后,进入与Faster R-CNN网络相同的网络结构,为每个预测并行提供的一个二进制掩码,这是输出目标掩模的第3条分支,用来描述目标边缘和内部像素的分割结果。其实现方法是采用FCN从每一个RoI预测一个m×m的掩膜。允许掩膜分支的每一个卷积层都保持m×m的空间布局,而不会将其缩小到缺乏空间维度的向量表示。
目前,世界范围没有公开的关于真实海面场景下的舰船三维实景目标识别数据集,无法在统一平台上比较舰船目标三维识别各方法的性能,给出定量精度指标。故文中自建了一艘舰船的数据集。使用无人机对舰船进行360°实景航拍,利用photoscan软件重建三维模型,经过对齐照片、形成点云以及形成纹理等步骤做出该舰船的三维实景立体模型,如图7所示。
图7 舰船三维模型Fig.7 Three-dimensional model of the ship
实验训练数据集分别来自三维网格模型、三维点云模型、三维纹理模型、舰船红外图片以及舰船的航拍图片等5种数据集。训练集样本已被调整为406×720像素,以方便查看。这些训练数据集体现了舰船的各个角度,且具有显示清晰、背景简单等特征,此外还专门采集了背景冗杂、舰船特征部位较相近的干扰图像,人为增加了数据集图片,以验证本文方法的有效性和鲁棒性。为了进行评估,数据集被随机分为70%用于训练和30%用于测试。图8为部分训练数据集图像示例,图9为部分测试图像。
(a) 三维纹理模型训练集示例图
(a) 红外测试图像
由于三维模型是立体的,可以比较真实地还原物体特征,所以对细节采集读取很是关键。原始的RPN网络中只有一种3×3的滑动窗口,通过一种感受野是不够的,其限制了模型目标识别能力,但也会带来更多的参量。本文在原始的RPN网络采用两个连续的3×3与5×5的卷积层来代替单个的3×3。3×3与5×5级联的卷积层参数个数为36,原有的参数个数为10。计算量做对比:输入记为x,为了方便讨论假设padding=0,stride=1。利用卷积计算公式可得如表1所示。
表1 计算过程
总体而言,虽然参量变多了,但是采用两个卷积核级联的方式在计算量上占有优势识别性能优于单个滑动窗口的性能,感受野范围也得到了提高,可以较为全面细致的识别出三维图形的舰船目标。
在训练中,将每个采样后RoI的多任务损失函数定义为:
L=Lcls+Lbox+Lmask,
(4)
式中,Lcls为分类损失函数,用来区分图像中存在的各个类别和背景。
(5)
Lbox为检测框回归函数,主要用来修正前景的锚点坐标,从而得到最佳的检测框。
(6)
(7)
测试结果:安装螺丝总个数为2 778,其中未成功安装数为22个(滑丝或未安装到位等),总体安装成功率为99.2%。由式(2)计算可知本螺丝机的效率达到92.3%,这充分验证了螺丝机的系统稳定性,基本满足了设计初衷和实际生产需求。此外,螺丝机在连续运行情况下,每分钟安装螺丝数量在9~10只左右,这基本和一名熟练工人的效率相当,但是采用螺丝机后可大大减少劳动力使用,节约成本,因此,在一些大量需要螺丝安装的企业岗位上,自动螺丝机的推广应用价值很高。
(8)
Lmask为平均二进制交叉熵损失,使用Sigmoid函数对每个像素进行特征映射,为不同类别的RoI提供独立的掩码预测,有效降低了不同类别掩膜间的干扰,同时也对分类和语义分割任务进行了解耦。
本文实验硬件环境为:Intel Core i5 CPU、NVIDIA GeForce GTX 1650显卡和8G内存。
步骤1:利用三维重建软件生成舰船的三维模型,选其各视角图像,输入进一个预训练好的ResNet101网络中;
步骤2:获得对应的特征图,对每一个特征图进行RoI设定,得到多个候选RoI;
步骤3:RPN中的区域建议窗口分别采用3种尺度比例(1:1,1:2,2:1)和3个长宽比(128×128,256×256,512×512)条件进行设置,产生9种候选框,将上一步得到的RoI送入RPN网络进行分类和回归,过滤到冗余边框。
步骤4:分别对剩下的RoI进行RoAlign操作(即先将原图和特征图的像素对应起来,然后将特征图和固定的特征应起来);
步骤5:使用IoU阈值固定为0.5的非极大值抑制[15]方法对这些ROI进行分类、回归和MASK生成(在每一个ROI里面执行FCN操作)。
本文在验证实验中采用了相同的测试集图片,分别在原始MASK R-CNN和基于本文改进的MASK R-CNN下进行了学习训练,其结果如图10~图12所示。
(a) 本文改进MASK R-CNN方法测试结果
(a) 本文改进MASK R-CNN方法测试结果
(a) 本文改进MASK R-CNN方法测试结果
由于MASK R-CNN只能对训练数据中的舰船类型进行训练识别,对于其他类型船只无法进行识别,所以测试结果只包含对该舰船的识别结果。两种算法都可以准确识别出舰船目标。
但在图12(b)中,除了正确识别出了目标舰船,还误识别了黄色框中与目标舰船外形相似的舰船。原算法出现误识别的原因是原始MASK R-CNN算法中缺乏对目标的轮廓描述,以及特征像素与原图像像素使用了多次量化操作导致二者无法对齐,造成具有局部特征的非目标舰船被检测为目标,文献[8]对其原理进行了详细的描述,而本文所提方法在舰船目标轮廓描述以及对齐原图像像素与特征像素之间,利用FCN以及选用RoIAlign代替RoI Pooling进行了优化。这表明,相对于原始MASK R-CNN,本文所提算法在降低误检、提高识别的准确率方面显示了更好的性能效果。
文献[17]利用准确率对算法进行了衡量,在目标识别中准确率可由识别准确目标数目占测试样本总体目标数目的百分比来得出。本文根据准确识别出测试数据集中舰船目标数量的百分比作为其各自的识别准确率,结果如表2所示。
表2 两种方法准确率
由表2可知,基于本文改进的MASK R-CNN方法比原始方法在三维舰船目标识别上识别准确率提高了14.8%,而且基于原始MASK R-CNN网络方法对舰船目标识别存在着舰船船体识别不完整、误检、识别精确率较低等问题。本文改进的MASK R-CNN算法相对于原始MASK R-CNN网络设置了合适的RPN网络结构,采用ResNET101网络,能够完整地框选出舰船目标,而原始方法只能识别出舰船目标的要害部位,所以本文方法可以对舰船等目标可以进行有效识别,在目标检测准确率方面,获得了较好的效果。
本文针对舰船二维图像分辨率差、缺少舰船深度信息及空间特征,且舰船紧密排列识别困难的问题,采用基于MASK R-CNN的模型方法,在目标区域方框和类别预测的基础上,合理使用了三维重建软件重建三维模型;为了改善感受野获取信息有限问题,在原始的RPN网络中选取级联的方法增加滑动窗口数量,提高了模型信息摄取范围来进一步提高训练过程中的舰船目标识别性能;同时增加掩膜分支,在描述舰船目标特征的同时,增加对其轮廓边缘的限制,取得了较好的检测效果;最后结合非极大值抑制的方法对冗余框进行过滤去除,实现对三维舰船实景目标的识别。为了验证所提算法的有效性,本文进行了充分的实验,使用舰船的3种目标信息来源作为数据集分别经过MASK R-CNN方法和改进的MASK R-CNN方法进行了训练,使用实景图片、红外图像以及网络舰船目标图像为测试集进行测试,对舰船目标识别任务上的性能进行了全面分析,实验结果表明了本文利用改进后的MASK R-CNN算法对三维实景模型目标识别的优越性与准确性。