深度神经网络下的SAR舰船目标检测与区分模型

2019-07-03 06:46魏松杰蒋鹏飞袁秋壮刘梅林
西北工业大学学报 2019年3期
关键词:舰船特征提取卷积

魏松杰, 蒋鹏飞, 袁秋壮, 刘梅林

(1.南京理工大学 计算机科学与工程学院, 南京 210094; 2.上海卫星工程研究所, 上海 200240)

我国是一个海岸线长、海洋面积广、海洋资源富饶的大国,周边国家非法入侵管辖海域从事非法捕捞、监听等活动,使我国面临着海洋安全和领土权益受到威胁等问题。因此,对海上目标进行检测和识别具有十分重要的现实意义。星载合成孔径雷达(SAR)由于其不受气候、观测时段的影响,能全天时、全天候、高分辨率、大幅面对地观测,已经在海洋监测和海上交通监测中发挥着越来越重要的作用[1]。

传统的SAR舰船检测方法如恒虚警率(constant false alarm rate,CFAR)[2]检测算法,主要利用手工设计的特征来检测海陆分割后的舰船目标,但是这种方法的缺陷是对近海目标的识别性能较差,难以排除冰山、小岛等虚警。此外,SAR图像中存在散斑噪声和运动模糊,导致舰船间差异较大,这也让传统的SAR舰船检测方法提取有效的特征变得困难。

近年来,随着深度学习的快速发展,深度卷积神经网络(convolutional neural networks, CNN)在图像分类[3]、目标检测[4]、语义分割[5]等诸多计算机视觉任务中取得了巨大成功。许多专家和学者开始利用深度神经网络来完成计算机视觉任务中的目标检测问题。Girshick等人将目标检测问题转化为分类问题,相继提出了R-CNN[6]和fast R-CNN[7]目标检测方法。由于fast R-CNN候选区域的提取仍然是在CPU上进行的,速度较慢,Ren等[8]提出了faster R-CNN方法,引入了区域建议网络(region proposal network, RPN)取代传统的区域提取方法,借助CNN来完成候选区域的提取,并且将RPN和fast R-CNN共享全图卷积特征,大大提高了模型的检测效率。

当涉及对同一类不同尺寸的目标进行区分时,现有基于深度神经网络的分类模型无法达到良好的分类效果。SAR图像成像距离较远,图像中舰船目标视觉特性较弱、尺寸较小,一般在几个到几十像素之间,属于典型的弱小目标,不能用现有的目标检测模型直接进行检测,因为用于特征提取的卷积神经网络是一种层级网络,随着层数的加深,提取出的目标特征图会变得越来越抽象化,可供利用的有效信息非常有限。

针对上述问题,本文首先从欧空局官网下载了世界多个港口的Sentinel-1 SAR图像,并建立了SAR舰船目标数据集。然后设计并预训练了一个用于SAR图像舰船小目标识别的CNN分类模型,通过使用较小尺寸的卷积核和较少的网络层数,对输入的小目标图像进行一系列的卷积和池化操作,实现对目标有效的特征提取。最后针对现有faster R-CNN在检测小目标精度下降的问题,利用设计的分类模型对现有faster R-CNN进行了改进,并将特征金字塔网络FPN融合进faster R-CNN以实现对小目标特征的有效提取。实验结果表明,本文提出的改进faster R-CNN模型在SAR图像舰船小目标具有较好的检测和分类效果。

1 基于卷积神经网络的SAR舰船分类模型

由于卷积神经网络必须使用大规模标记好的训练样本对网络进行训练,而本文所采集的数据集规模还是太小,不足以使网络很好收敛。为了能在训练样本较少的情况下训练得到一个能有效提取目标特征、分类效果好的CNN模型,本文借助“迁移学习”[9]方法,先用与待检测的舰船目标相近的MSTAR数据集[10]训练得到CNN分类模型,再用该模型的参数对目标检测网络中特征提取层的参数进行初始化,以加速网络的收敛。

本文设计的SAR舰船CNN分类模型如图1所示,输入图像大小为n×n×1,网络结构包含卷积层3个,max pooling层2个,全连接层2个,最终输出c类预测结果。其中卷积层参数和池化层如表1所示。第一层全连接层包含512个神经元,第二层全连接层包含n(类别数)个神经元,均不使用激活函数。最终利用softmax分类器得到类别概率。

图1 SAR舰船CNN分类模型

表1 SAR舰船CNN分类模型卷积层参数

2 SAR舰船小目标检测模型

2.1 SAR舰船小目标检测模型总体架构

为实现对SAR图像中舰船这类弱小目标进行快速、准确地检测,本文基于faster R-CNN设计了一个改进的目标检测模型。图2是本文设计的目标检测模型的网络结构,该模型由一个基于全卷积的区域建议网络(region proposal network, RPN)和一个基于区域的目标检测网络fast R-CNN两部分组成。其中,区域建议网络主要用来高效地生成不同尺度和长宽比的候选区域,目标检测网络对区域建议网络提取的这些候选区域进行分类和位置的回归,最终通过非极大值抑制算法(non-maximum suppression, NMS)筛选出一个置信度最高的候选框作为检测结果。该模型使用本文设计的CNN分类模型的前3层卷积层作为区域建议网络和目标检测网络的共享特征提取层,其中,共享特征提取层融合了FPN网络结构,用于提取多尺度特征,提高小目标识别准确率。

图2 SAR舰船小目标检测模型架构

2.2 区域建议网络和目标检测网络

2.2.1 RPN网络

RPN网络机制是在共享特征提取层的最后一个卷积层后添加了滑动窗口操作、映射卷积层以及分类和回归2个全连接层。首先用一个n×n的小网络在共享特征提取层产生的特征图上进行滑动操作,然后将特征图上每个滑动窗口对应的区域通过映射卷积层映射成一个特征向量,该特征向量经过分类层和回归层分别输出每个滑动窗口的类别得分和回归后的位置坐标信息,最终对候选区域进行NMS操作后输出得分靠前的前N个区域作为目标检测网络的输入。

本文在设计时,采用的滑动窗口大小为3×3,虽然尺寸不大,但是能够感知到很大范围的感受野。由于共享特征提取层最后一层卷积输出的特征图为256个,因此,每个滑动窗口区域通过映射卷积层映射到一个256维特征向量。为每个滑窗区域的中心点生成k个不同尺寸和边长的anchor,这样做的目的是保证候选区域质量的同时也能保证其数量。将得到的256维特征向量输入到位置回归层reg layer和分类层cls layer,分别用于回归滑窗区域产生位置信息和区域是前景和背景的得分,由于每个滑窗产生k个候选区域 ,因此回归层产生4k个位置信息(x,y,w,h)和2k个得分(前景和背景)。

为适应舰船这类小目标,本文经过多次实验最终采用3种最佳尺度(64×64,128×128,256×256),3种最佳长宽比(1∶1,1∶2,2∶1)来生成9种anchor,以适应不同大小、不同长宽比的目标。

2.2.2 目标检测网络

目标检测网络主要用来对RPN网络提取出的候选区域进行分类识别和位置精修,并输出最符合要求的候选区域位置信息和类别。目标检测网络的结构如图2虚线框部分所示,在共享特征提取层后加入RoI(region of interest)池化层,将RPN网络生成的候选区域在卷积特征图上的映射区域统一到相同大小,然后接一个全连接层得到RoI特征向量,最后输入到2个并行的层-分类层和回归层,得到分类结果和每类目标的位置信息。

2.2.3 FPN特征提取

为了解决多尺度检测的问题,文献[11]引入了特征金字塔网络(feature pyramid networks, FPN),将FPN作为多尺度目标特征提取器,融合进faster R-CNN中,实现了对多尺度目标尤其是小目标的有效检测。因此,本文首次将FPN与faster R-CNN融合的算法应用到SAR图像舰船小目标检测中,以提高对舰船小目标的检测准确率。

如图3所示,FPN是为了自然地利用CNN层级特征的金字塔形式,同时生成在所有尺度上都具有强语义信息的特征金字塔。所以FPN的结构设计了top-down结构和横向连接,以此融合具有高分辨率的浅层layer和具有丰富语义信息的深层layer。这样就实现了从单尺度的单张输入图像,快速构建在所有尺度上都具有强语义信息的特征金字塔,同时不产生明显的代价。

图3 FPN网络结构

2.2.4 损失函数设置

由于RPN网络和目标检测网络都有位置回归和分类两部分,因此本文设计的目标检测模型训练采用多任务学习的方式,总损失等于目标检测网络损失(Lc)和RPN网络损失(Lp)两部分之和。目标检测网络损失函数的计算形式和RPN网络一致,唯一区别是候选窗口的个数不同,故在此不再赘述。

(1)

(2)

(3)

3 仿真实验与分析

3.1 实验环境

为验证本文提出的基于深度学习神经网络的目标检测模型针对SAR图像水面小目标自动检测的准确性和可行性,在深度学习开源库Caffe环境中实现深度卷积神经网络目标检测模型。实验的工作站采用64位Ubuntu 16.04操作系统,处理器为Intel Xeon(R) CPU,型号为E5-1620 v2 @ 3.70 GHz,内存大小为16 GB,独立显卡型号为Nvidia Quadro K2200/4GB。

3.2 SAR舰船数据集

目前还未有大规模完善的SAR图像舰船目标标准数据集可供使用,这对面向SAR舰船目标检测的深度神经网络模型训练带来了较大的困难。为了保证实验顺利进行,本文自行收集并建立了SAR图像舰船目标数据集。本文所采集的数据集为欧空局(European Space Agency,ESA)官网提供的Sentinel-1对地观测卫星所拍摄的世界知名港口的SAR卫星图像,数据集共包含21张原始SAR图像,成像模式为宽幅干涉模式(IW),距离分辨率为5 m,每张图像尺寸为26 019×16 706。

由于原始图像尺寸过大,目标检测网络无法处理分,因此,本文从每张原始SAR图像中截取若干张尺寸为1 022×761的子图像作为训练数据,并通过翻转、平移等方式对图像数据进行扩充,最终得到2 400张质量较好的子图像,每张子图像包含约1~20个舰船目标不等,共11 248个舰船目标。对其中2 000个舰船目标样本像素数进行统计表明,每个目标的尺寸在40像素到260像素之间,并使用图像标注软件LabelImg对这些子图像中目标的坐标和类别进行了标记。训练图像中包含了尺寸不一的船只,还包含岛屿、港口等干扰因素。

3.3 实验结果分析

3.3.1 训练设置

为了验证提出的小目标检测模型对SAR舰船目标检测的性能,本文进行了2组实验,第一组是不对舰船目标按尺寸分类情况下的目标检测实验,第二组是区分大船和小船类等不同类型的情况下的目标检测实验。其中,对舰船目标像素分布的统计表明,约70%的舰船目标像素小于80,在实际场景中舰船的尺寸约为125 m×15 m,因此,本文将小于80像素的目标划分为小船类,大于80像素的目标划分为大船类。

本文对数据集的划分方式为将70%的图像划分为训练集,共1 680张图像,7 647个舰船目标,剩下的30%的图像划分为测试集,共720张图像,3 601个舰船目标。

目标检测模型训练采用端到端的方式,权值更新方式采用自适应学习率的Adam方法,网络中共享特征提取层的参数利用训练好的CNN分类模型中的特征提取层参数来初始化,训练模型的初始学习率为0.001,为了使网络逐步收敛,每隔1万次迭代将学习率衰减10倍,训练迭代次数为4万次。

3.3.2 不分类情况下的实验结果与分析

1) SAR舰船目标检测模型上检测结果分析

为分析本文算法的检测效率和检测性能,分别选取经典的双参数CFAR检测算法、基于局部K分布的CFAR检测算法和原始faster R-CNN算法(ZF-Net网络)做比较。本文采用划分好的测试集对训练得到的SAR舰船目标检测模型进行性能评估,。测试集共有720张图像数据,共包括3 601个舰船目标。对这些SAR图像舰船目标的检测结果统计如表2所示。

表2 测试集舰船目标检测结果

由表2可知,作为对比实验的3个检测算法虽然正确检测到的舰船目标个数较多,精确率较高,但是漏检目标要明显多于本文提出的算法,而本文提出的改进faster R-CNN模型共正确检测到3 302个舰船目标,有299个目标未被检测到,召回率达到91.7%,检测效果良好,无论是精确率还是召回率均比原始faster R-CNN模型要高,说明本文提出的改进faster R-CNN模型对于舰船这类弱小目标具有良好的检测效果。此外,作为对比的双参数CFAR和局部K-CFAR对单张图片的检测时间高达20~30 s左右,而本文提出的模型对单张图片的检测时间仅为0.16 s,检测速度较传统的目标检测算法有了大幅度提升。

2) SAR舰船目标检测模型泛化能力评估

为了验证提出的目标检测模型的泛化能力,本文从欧空局官网又下载了另外一个港口的Sentinel SAR图像,并截取了2张子图像进行了测试,测试结果如图4所示。由图4左图可知,该图共5个目标,共检测出3个,另外2个未检测出的原因是一个目标过小,一个是舰船拖尾痕迹严重,导致模型无法判断;图4右图共7个目标,共检测出6个,另外一个未检测出的原因是目标过小。因此我们可以推测,当目标过小或者目标质量不高均有可能导致无法检测。

图4 SAR舰船目标检测模型测试图像(不分类)

3.3.3 分大船小船类情况下的实验结果分析

1) SAR舰船目标检测模型上检测结果分析

本组实验仍使用上一个实验的数据集,不同之处是对数据集进行了重新标注,把SAR图像数据中的舰船目标分成了大船和小船2类。经统计,数据集中共11 248个舰船目标,标注的大船为4 156个,小船为2 192个。其测试集中共3 601个舰船目标,大船为1 405个,小船为2 196个。对SAR舰船目标检测模型了新训练,改进得到的faster R-CNN模型和原始模型(ZF-Net网络)在测试集上的检测结果如表3所示。

表3 测试集大小船目标检测结果

对舰船目标分类之后训练得到的改进faster R-CNN模型能正确检测并分类出1 405个大船中目标的1 288个,检测率为91.7%,能正确检测并分类出2 196个小船目标中的2 036个,准确率为92.7%,总体平均检测准确率为92.2%,对于分类的舰船小目标检测效果明显比原始faster R-CNN模型要好。

2) SAR舰船目标检测模型泛化能力评估

对分类之后训练得到的模型也同样进行了泛化能力评估。首先从未在数据集出现的其他港口的SAR图像中截取4张子图像进行了测试,测试结果如图5所示,框上方标注MC的代表误分类的目标,标注了FN的代表漏检目标,标注了FP的代表误检目标,其余框中的代表模型正确检测到的目标。4张测试图像共包含29个舰船目标(13大16小),模型共正确检测并分类识别出27个目标。右上图像中漏检了1个小船目标,经分析是因为尺寸过小模型无法识别,左下图误将大船目标分类为小船,是因为该目标尺寸介于大船和小船之间,右下误将小岛检测为小船目标,因小岛和小船特征轮廓较为相似。可以看出,本文设计的目标检测模型在分类情况下基本能准确地检测并识别出不同尺寸的船只,具有较强的泛化能力。

图5 SAR舰船目标检测模型测试图像(分大小船)

4 结 论

本文针对SAR图像舰船目标尺度较小、干扰因素较多、现有目标检测模型无法直接检测等问题,提出了一种改进的基于faster R-CNN的SAR图像舰船小目标检测模型。基于深度学习技术设计并训练了专门用于识别舰船这类弱小目标的CNN模型,并将训练好的CNN模型对目标检测模型进行参数初始化,最终得到训练后的目标检测模型。仿真实验结果表明,本文提出的改进的faster R-CNN目标检测模型对于舰船这类弱小目标具有较强的检测识别性能,所设计的SAR舰船小目标分类模型能正确识别并提取出不同尺寸船只的特征,具有较好的变尺度识别能力,同时能抵抗住岛屿、港口能诸多干扰因素并正确检测到舰船目标,在工程应用上具有一定的参考价值。

猜你喜欢
舰船特征提取卷积
舰船通信中的噪声消除研究
基于3D-Winograd的快速卷积算法设计及FPGA实现
舰船测风传感器安装位置数值仿真
卷积神经网络的分析与设计
基于Gazebo仿真环境的ORB特征提取与比对的研究
从滤波器理解卷积
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
Bagging RCSP脑电特征提取算法
舰船腐蚀预防与控制系统工程