本发明属于计算机视觉识别技术领域,具体地说,是一种涉及合成孔径雷达sar图像目标检测技术领域中的基于深度学习的sar图像水面目标检测方法。
背景技术:
合成孔径雷达sar具有全天候、全天时、分辨率高以及穿透力强等特点,广泛应用于军事侦察和遥感领域。
近年来,随着卫星遥感技术以及传感器技术、计算机技术、通信技术的飞速发展,空间遥感技术的应用进入了全新的发展阶段,一批高分辨率、短访问周期的成像卫星的出现,为sar图像目标识别与检测提供了大量的数据。舰船作为海上主要的运输载体和军事目标,其自动检测和识别技术在军用和民用领域有着广泛的应用前景。在不远的将来,随着天基、空基搭载平台的快速发展,未来将不断出现分辨率更高、性能更好、重访时间更短的对地观测卫星,应用空间遥感技术对海面舰船目标进行检测已经成为sar图像目标识别与检测技术的重点研究方向。
传统目标检测的方法一般分为三个阶段:首先进行区域选择,即在给定的图像上选择一些候选的区域,然后对这些区域进行人工特征提取,最后使用训练的分类器进行分类。但是这种检测方法存在两个主要问题:一个是区域选择使用滑动窗口的策略对整幅图像进行遍历,而且需要设置不同的尺度和长宽比,这种区域选择策略没有针对性,而且时间复杂度高;另一个是目标特征是人工设计的,这种方法对于特征多样性的变化没有很好的鲁棒性。
卷积神经网络(convolutionalneuralnetworks,cnn)是如今最热门的深度神经网络之一,将人工神经网络和深度学习技术相结合,具有局部感受野、结构层次、特征抽取与分类结合的全局训练特征。它的权值共享网络结构降低了网络模型的复杂度,减少了权值的数量,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。因此,基于深度学习卷积神经网络的目标检测技术是近年来的热门研究领域,其中,又以基于区域建议(regionproposal)的卷积神经网络目标检测方法和基于回归的卷积神经网络目标检测方法作为主要代表。
cn103400156a公开了一种基于cfar和稀疏表示的高分辨sar舰船检测方法。该方法在正常恒虚警cfar检测的基础上,对切片提取特征向量,并通过稀疏表示分类器做鉴别,得到最终的舰船检测结果。该方法的不足之处是检测过程要经过检测、鉴别两个步骤,不能做到端对端检测,检测速度慢,并且在复杂场景下,检测性能较差。
技术实现要素:
本发明的目的在于提出一种基于深度学习的sar遥感图像水面目标检测方法,克服现有技术中sar图像目标检测速度慢、准确率低的问题,实现了对sar图像水面目标的精确端到端检测。
为了实现上述目的,本发明采用如下技术方案:
基于深度学习的sar图像水面目标检测方法,包括步骤如下:
s1、采集sar图像,并扩充数据集;
s2、对sar图像数据集进行标注和打标签,构建训练样本集,所述标注是指记录sar图像水面目标在一整张图像中的左上角点和右下角点的坐标,所述标签是指标注的水面目标的类别标记;
s3、设计一个卷积神经网络分类模型c0,采用“迁移学习”方法对c0预训练,基于该模型设计rpn区域建议网络模型和fastr-cnn目标检测网络模型;
s4、采用交叉训练方法对rpn区域建议网络和fastr-cnn目标检测网络进行训练,得到最终的目标检测模型;
s5、使用目标检测模型对sar图像水面目标进行检测。
本发明与现有技术相比,其显著优点为:本发明解决了现有sar图像水面目标检测方法中检测速度慢和定位准确率低的问题,具有检测速度快、检测准确率高的优点,可用于大幅面sar图像的水面目标检测。
附图说明
图1是本发明的流程图。
图2是本发明所设计的目标检测网络模型结构图。
图3是原始的sar图像。
图4是分割后的sar图像。
图5是目标检测模型对sar图像水面目标的检测结果图。
具体实施方式
本发明基于深度学习的sar图像水面目标检测方法,包括步骤如下:
s1、采集sar图像,并扩充数据集;
s2、对sar图像数据集进行标注和打标签,构建训练样本集,所述标注是指记录sar图像水面目标在一整张图像中的左上角点和右下角点的坐标,所述标签是指标注的水面目标的类别标记;
s3、设计一个卷积神经网络分类模型c0,采用“迁移学习”方法对c0预训练,基于该模型设计rpn区域建议网络模型和fastr-cnn目标检测网络模型;
s4、采用交叉训练方法对rpn区域建议网络和fastr-cnn目标检测网络进行训练,得到最终的目标检测模型;
s5、使用目标检测模型对sar图像水面目标进行检测。
s1所述的采集sar图像,并扩充数据集包括以下子步骤:
s11、从欧空局官网(http://www.esa.int)下载开源的sentinelsar图像,覆盖世界大型港口,并将每张图片裁剪成若干张长边为1000、短边为600的子图像作为训练集;
s12、采用增量学习的方法,通过对sar图像进行几何变换(包括水平翻转、平移、随机缩放)、使用生成式对抗网络的方式对数据集进行扩充。
s12所述的生成式对抗网络的方式扩充数据集的步骤如下:
s121、构造生成式模型g,该模型包含两个全连接层和两个卷积层,从上往下数在第一个卷积层和第二个卷积层前面均添加upsampling操作;
s122、构造判别式模型d,该模型包含两个卷积层和两个全连接层,从上往下数在第一个卷积层和第二个卷积层后面均添加maxpooling操作;
s123、在训练的过程中对g和d分别固定一方,更新另一方的权重,直到d判别不出来输入数据是来自真实图像还是g生成的图像,即判别准确率稳定在50%左右,终止训练,得到g生成的sar图像;
s124、将生成式对抗网络生成的sar图像加入到数据集中,达到扩充目的。
s3所述的采用“迁移学习”方法对卷积神经网络分类模型c0进行预训练的步骤如下:
c0为8层网络结构,包含5个卷积层和3个全连接层,从上往下数在第一层、第二层、第五层卷积层后面均添加maxpooling池化操作,使用mstar数据集作为网络输入对模型进行训练,得到预训练后的分类模型,用该模型对rpn区域建议网络和fastr-cnn目标检测网络进行参数初始化。
s3所述的基于分类模型c0设计的rpn区域建议网络如下:
rpn区域建议网络的前五个卷积层和分类模型c0的前五个卷积层一致,在第五个卷积层后连接一个rpn卷积层,并将第七个和第八个卷积层直接连接到rpn卷积层后,其中,前五个卷积层为特征提取层,rpn卷积层为特征映射层,第七个卷积层输出回归框包含水面目标的置信度,第八个卷积层输出回归框的位置参数。
s3所述的基于分类模型c0设计的fastr-cnn目标检测网络如下:
fastr-cnn目标检测网络的五个卷积层、roipooling层、第一个全连接层和第二个全连接层直接依次级联,第三个全连接层和第四个全连接层均直接连接到第二个全连接层上,其中fastr-cnn目标检测网络的前五个卷积层与rpn卷积神经网络的前五个卷积层共享参数,fastr-cnn目标检测网络的第一个全连接层和第二个全连接层对特征做非线性变换,fastr-cnn目标检测网络的第三个全连接层输出判别类的置信度,fastr-cnn目标检测网络的第四个全连接层输出粗选框的位置修正参数。
s4所述的采用交叉训练方法得到最终的目标检测模型步骤如下:
s41、使用预训练的分类模型c0对候选区域提取网络做参数初始化,并进行端到端微调网络参数,得到候选区域提取模型。
s42、利用s41中训练得到的候选区域提取模型对训练数据集提取区域建议框,作为目标检测网络的输入,并使用分类模型对目标检测网络做参数初始化,微调网络参数,得到目标检测器。
s43、用s42得到的目标检测网络对候选区域提取网络做参数初始化,并固定共享的卷积层参数不变,只微调候选区域提取网络中独有的卷积层参数,现在,两个网络共享卷积层了。
s44、利用s43训练得到的候选区域提取网络对数据集提取候选区域,作为目标检测网络上的输入,并且固定共享的卷积层参数,微调目标检测网络中全连接层的参数。这样,两个网络共享相同的卷积层,构成了一个统一的检测网络。
s5所述的使用目标检测模型对sar图像水面目标进行检测步骤如下:
s51、将sar水面目标图像测试集输入到rpn区域建议网络模型中,提取出候选区域集合p’,对候选区域集合p’根据非极大值抑制nms去除重复候选区域,得到最终候选区域集合p;
s52、将候选区域集合p输入到目标检测网络模型中,对候选区域集合p中每个候选区域输出一个类别判定概率pr;
s53、设定阈值t=0.8,将概率值pr大于0.8的区域保留,即为最终检测结果。
下面结合附图对本发明作进一步说明。
参照图1,本发明的sar图像水面目标检测方法主要有模型设计、训练和测试三个阶段,因为最终的测试是一个端到端的过程,即输入sar图像直接可以得到最终的目标检测结果,因此本实施例主要阐述模型设计和训练两个阶段。
一、模型设计阶段
如图2所示,本发明采用的目标检测模型包括分类模型、rpn区域建议网络、fastr-cnn目标检测网络组成,设计步骤如下:
步骤1、设计基于卷积神经网络的分类模型c0。
分类模型c0主要由五个卷积层和两个全连接层组成,层与层之间具体连接方式如下:
第一层使用96个大小为7×7的卷积核,滑动步长为2,激活函数为relu,该层后接一个maxpooling层,将该层输出的特征图经过一个下采样进行降维,核窗口大小为3×3,滑动步长为2;
第二层使用256个大小为5×5的卷积核,滑动步长为2,激活函数为relu,该层后接一个maxpooling层,将该层输出的特征图经过一个下采样进行降维,核窗口大小为3×3,滑动步长为2;
第三层使用384个大小为3×3的卷积核,滑动步长为1,激活函数为relu;
第四层使用384个大小为3×3的卷积核,滑动步长为1,激活函数为relu;
第五层使用256个大小为3×3的卷积核,滑动步长为1,激活函数为relu;
第六层和第七层均为全连接层,均输出大小为4096的一维向量。
步骤2、设计基于分类模型c0的rpn区域建议网络。
rpn区域建议网络的前五个卷积层和分类模型c0的前五个卷积层一致;
在第五个卷积层后连接一个rpn卷积层,该卷积层使用256个大小为3×3的卷积核,滑动步长为1;
在rpn卷积层后并行连接两个卷积层——边框回归层和分类层,卷积核大小均为1×1,滑动步长为1。
步骤3、设计基于分类模型c0的fastr-cnn目标检测网络。
fastr-cnn目标检测网络的前五个卷积层和分类模型c0的前五个卷积层一致;
在第五个卷积层后连接一个roipooling层,核窗口大小为6×6;
roipooling层后连接两个全连接层,均输出大小为4096的一维向量;
在最后一个全连接层后并行连接两个全连接层——分类层和边框回归层,分类层用于判断目标的类别,边框回归层用于精确定位目标的位置。
二、模型训练阶段
由于目标检测模型主要包含rpn区域建议网络和fastr-cnn目标检测网络,因此对模型的训练主要是对这两个网络的训练。本发明采用的损失函数为多任务损失函数,包括分类损失函数和边框回归损失函数两部分,对模型的训练主要是将该损失函数值优化到最小。损失函数定义为:
其中,λ表示平衡系数,用于控制两个损失函数比重;ncls表示mini-batch中输入样本个数;nreg表示anchor位置的数量;pi表示anchor预测为目标的概率;
式中的分类损失函数lcls具体形式为
其中,
式中的边框回归损失函数lreg具体形式为
其中,l1(x)表示平滑1-范数。
通过反向传播和随机梯度下降方法训练两个子网络,因为两个网络是共享卷积层,如果独立训练的话,会增加额外的计算开销,降低检测的效率,因此,本发明采用采用交叉训练方法训练模型,使两个子网络共享卷积层,步骤如下:
a)使用预训练的分类模型c0对候选区域提取网络做参数初始化,并进行端到端微调网络参数,得到候选区域提取模型。
b)利用第a)步中训练得到的候选区域提取模型对训练数据集提取区域建议框,作为目标检测网络的输入,并使用分类模型对目标检测网络做参数初始化,微调网络参数,得到目标检测器。
c)用第b)步得到的目标检测网络对候选区域提取网络做参数初始化,并固定共享的卷积层参数不变,只微调候选区域提取网络中独有的卷积层参数,现在,两个网络共享卷积层了。
d)利用第c)步中训练得到的候选区域提取网络对数据集提取候选区域,作为目标检测网络上的输入,并且固定共享的卷积层参数,微调目标检测网络中全连接层的参数。这样,两个网络共享相同的卷积层,构成了一个统一的检测网络。
本发明方法的效果可通过以下实验来进一步说明:
sar图像具有分辨率高、包含目标较小的特点,图像拍摄的角度具有随机性和多样性。在实验中,我们将sar图像中的水面舰船目标分成大船和小船两类,并对其进行检测和识别。
1.实验条件
本发明的实验中所使用的原始数据集是从欧空局官网下载的多个港口的sentinel数据,如图3所示,图像的尺寸为26019×16706,图像中包含多种姿态、大小的舰船目标,并且包含多种干扰信息,如建筑物、树木、草坪等。由于原始图像尺寸过大,目标检测网络无法处理如此高分辨率的图像,因此,将每张原始sar图像分割成若干张如图4所示的尺寸为1022×761的子图像作为训练数据,并通过利用生成式对抗网络来生成更多符合要求的sar图像作为训练集的扩充。实验的目的是检测出sar图像中所有的水面目标。
本发明的实验环境:操作系统为ubuntu16.04lts64位版本,处理器为英特尔xeon(至强)e5-1620v2,显卡为nvidiaquadrok2200/4gb,软件平台为caffe。
2.实验内容与结果分析
本发明的实验是将sar图像中的水面目标分成大船和小船两类进行检测,首先,利用制作好的sar图像训练集对目标检测模型进行训练,得到训练好的模型。
然后,将测试样本输入到训练好的目标检测模型中,将概率阈值置为0.8进行筛选检测,检测完毕后统计准确率对检测结果进行量化,其中,
t为正确检测并正确分类的目标个数,np为该类目标个数。
实验所用的数据集共712个舰船目标,标注的大船目标为395个,小船目标为317个。其中,测试集中共388个舰船目标,大船目标为206个,小船目标为182个。训练得到的模型在测试集上对大小船目标的检测结果如表1所示。
表1
从表1可以看出,对舰船目标分类之后训练得到的模型能正确检测到206个大船中目标的187个,检测率为90.8%,能正确检测到182个小船目标中的166个,准确率为91.2%,总体平均检测准确率为91.0%,需要指出的是,本项目使用了基于深度学习的目标检测网络,单张图片的检测时间达到了0.14s,检测速度较传统的目标检测算法快了数百倍,体现了深度学习的速度快的优势。
图5是利用目标检测模型对sar图像水面目标的检测结果图。