本发明涉及一种基于空间层次感知模块和度量学习的遥感图像目标检测方法,属于图像处理技术,适用于遥感图像中背景复杂、目标类内中特征差距较大、目标尺寸变化较大等情况的目标检测。
背景技术:
随着深度学习在计算机视觉领域的飞速发展,目标检测技术作为计算机视觉领域的重要组成部分也得到了突破性的发展。近几年,随着与目标检测技术紧密相连的应用产品的出现,例如智慧城市监控、无人驾驶等,以及依靠目标检测技术支撑的如行人识别,目标追踪,视觉感知等技术的快速发展,都表明了目标检测在计算机视觉中的重要地位。
在遥感影像中,由于拍摄角度等问题,图像的相同类别的目标具有不同姿态且经常收到树木和建筑物的遮挡,而且由于是在高空拍摄,目标的尺度小而且数量多,进一步增加了目标检测的难度。同时受到天气、光照等条件影响,图像的背景复杂多变也会对目标检测的效果造成影响。
以前的大多数的目标检测方法都是利用图像金字塔和基于手工制作的特征,对目标在不同的尺度上进行识别,以此提高目标检测的准确率。虽然目标特征的尺度对于检测任务至关重要,但考虑到内存和检测时间等问题,这些方法的准确率较低,计算成本较高,很难进行广泛的应用。近年来,随着深度卷积网络的到来,手工设计的特征被通过卷积神经网络计算的特征所取代,常见的图像特征提取的卷积神经网络如alexnet、vggnet、goolenet以及深度残差网络等。这些卷积神经网的使用使目标检测的性能得到了显著的提高。然而,在面对环境复杂类内目标特征差距较大的遥感图像,目标检测仍然是一个具有挑战性的问题。
技术实现要素:
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于空间层次感知模块和度量学习的遥感图像目标检测方法,主要解决在复杂环境下目标特征不明显以及类内目标特征差距大的目标检测问题。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于空间层次感知模块和度量学习的遥感图像目标检测方法,在卷积网络的金字塔结构下利用空间层次感知模块构建具有较高目标特征辨识度的特征金字塔,通过线难样本挖掘算法(onlinehardexamplemining,简称ohem算法)对难样本进行挖掘,利用度量学习拉近相同类别的难样本的特征之间的距离,增强类内目标的可辨识度,包括如下步骤:
(a)构建预训练数据集
从原始训练集中裁剪出有位置标注的目标,并对裁剪后的目标进行包括旋转、翻转和对比度调整在内的一种以上变化操作,将裁剪后的目标及变化操作后的目标均匀地插入到以原始训练集中所有图像的rgb均值构成的背景图像中,形成预训练数据集;
(b)利用空间层次感知模块构建特征金字塔
将预训练数据集输入到目标检测模型中,对目标检测模型的骨架网络中的第2、第3、第4、第5个卷积块的最后一张特征图通过各自的空间层次感知模块(简称shpm模块)进行特征提取,分别生成特征图f2、f3、f4、f5;f5上采样与f4相加后经过一层卷积生成特征图p4,p4上采样与f3相加后经过一层卷积生成特征图p3,p3上采样与f2相加后经过一层卷积生成特征图p2,第5个卷积块的最后一张特征图分别通过步幅为1(stride=1)的卷积和步幅为2(stride=2)的卷积生成特征图p5和p6,构建特征金字塔(p2,p3,p4,p5,p6);
(c)对输入图像上的区域进行前景和背景的分类和定位
根据特征金字塔(p2,p3,p4,p5,p6)对输入图像进行前景和背景的分类,并确定前景和背景的位置;具体为:对输入图像的特征金字塔(p2,p3,p4,p5,p6)分别进行两个1×1卷积:第一个1×1卷积对特征图上每个像素点对应到输入图像进行前景和背景的二分类,得到每个特征图上每个像素点对应到输入图像的前景概率和背景概率;第二个1×1卷积对输入图像进行边框预测,得到预测边框的中心点坐标、宽度和高度(以确定边框的位置),该预测边框所围成的区域与第一个1×1卷积所预测出的前景或背景相对应;对预测边框进行非极大值抑制过滤后,选择出对应的前景概率最大的k1个预测边框,将选择出的k1个预测边框在特征图上的对应区域称为可能的目标特征;进行非极大值抑制时通过设置边框的交并比阈值(一般设计为0.7)来调节过滤的程度;
(d)对可能的目标特征进行分类和定位
将可能的目标特征通过池化的方法统一到相同的空间维度中,将统一后的目标特征依次经过两个全连接层后分别连接一个用于分类的分类输出层(分类器)和一个用于位置回归的回归输出层(位置回归器),将分类输出层输出的类别概率值和位置回归层输出的位置信息共同作为目标预测边框,根据目标预测边框的位置信息和类别概率值对目标预测边框进行非极大值抑制过滤后,从过滤后的目标预测边框中选择出类别概率值最大的k2个目标预测边框作为目标的识别结果;进行非极大值抑制时通过设置边框的交并比阈值(一般设计为0.7)来调节过滤的程度;
(e)进行在线难样本挖掘
对步骤(d)中经非极大值抑制过滤后得到的目标预测边框,采用ohem算法进行难样本在线挖掘,找出类别概率值低于判决阈值的目标预测边框,将找出的目标预测边框作为难样本;
(f)利用度量学习拉近难样本中相同类别目标特征之间的距离
对相同类别的难样本,计算每对难样本特征之间的欧式距离,并求解该类别的平均欧式距离;对所有类别的平均欧式距离计算平均值,将得到的平均值作为辅助损失;
(g)计算总损失,更新目标检测模型参数
根据输入图像的真实位置标注以及经步骤(d)得到的分类概率和位置信息计算出分类损失和位置回归损失,对分类损失、位置回归损失和辅助损失进行加权求和得到总损失,根据总损失反馈更新目标检测模型,根据训练完成判定条件确定是否完成训练。
所述步骤(a)中,对裁剪后的目标进行包括旋转、翻转和对比度调整在内的一种以上变化操作,是为了增加训练样本,使得深度神经网络能够得到充分的训练,提高训练结果的鲁棒性;各种操作如现有技术的一般定义,具体如下:
旋转操作:将图像按顺时针旋转90°或180°;
翻转操作:先沿水平方向对图像进行一次翻转,再沿垂直方向对图像进行一次翻转;
比度变化操作:在图像的hsv颜色空间上,保持色调分量(h分量)不变,改变饱和度分量(s分量)和亮度分量(v分量),对每个像素的饱和度分量和亮度分量进行指数运算,可以设计指数因子在0.25~4之间随机选取,增加光照变化。
计算原始训练集中所有图像的rgb均值,生成设定大小的背景图像(比如像素为1000×600的背景图像);将裁剪后的目标及变化操作后的目标以固定的间隔从左到右、从上到下依次、均匀地插入到背景图像中。均匀插入目标是为了防止训练过程中正负样本的不均衡造成的目标检测性能下降;同时,单一的背景颜色可以使目标检测模型更加注重对目标的训练。训练中,先在预训练数据集上进行预训练,以可以减少复杂背景和正负样本不均的干扰,使得每个目标能够得到充分训练,之后可在预训练的基础上通过训练集进行进一步的训练。
具体的,所述步骤(b)中,目标检测模型的骨架网络为深度残差网,所述空间层次感知模块由三个并行感知卷积层和一个输出卷积层构成,待特征提取的特征图同时输入到三个并行感知卷积层,之后对三个并行感知卷积层输出的特征图相拼接后再通过输出卷积层进行整合得到由空间层次感知模块进行特征提取后的特征图;三个并行感知卷积层包括一个3×3卷积层、一个膨胀率为2(dilated=2)的3×3空洞卷积层和一个膨胀率为3(dilated=3)的3×3空洞卷积层,一个输出卷积层为3×3卷积层。
具体的,所述步骤(d)中,统一后的目标特征依次经过两个全连接层时,通过随机丢弃方法丢弃全连接层中20%的连接,以防止网络的过拟合。
具体的,通过特征金字塔(p2,p3,p4,p5,p6)对目标进行预测可参考fpn系列目标检测方法,特征图p2和p3中的像素点对应于输入图像的感受野像素大小32×32和64×64,主要用于预测像素大小在32×32和64×64左右的小目标;特征图p4和p5中的像素点对应于输入图像的感受野像素大小128×128和256×256,主要用于预测像素大小在128×128和256×256左右的中等目标,特征图p6中的像素点对应于输入图像的感受野像素大小为512×512,主要用于预测像素大小为512×512左右的大目标。
具体的,所有卷积层均使用relu函数作为激活函数,并使用批归一化方法(batchnormalization方法)进行归一化操作,以避免梯度消失。
有益效果:本发明提供的基于空间层次感知模块和度量学习的遥感图像目标检测方法,相对于现有技术,具有如下优势:
(1)本发明提出的预训练数据集的构建方法,通过把训练集中的目标均匀的插入具有相同颜色的背景图片中,使得目标检测模型在预训练时尽可能少是受到复杂背景的干扰,同时也可以让预训练时的正负样本变得均匀,使目标得到充分的训练。
(2)本发明提出的空间层次感知模块,利用不同步幅的空洞卷积,提取不同感受野下的具有空间层次的特征信息,增强特征金字塔的特征表示,更加有利于目标的判别,其中不同步幅的空洞卷积可以在卷积核参数不增加的情况按照步幅的大小扩大感受野的范围。
(3)本发明提出的辅助损失,通过度量学习可以拉近相同类别特征之间的距离,使得类内的目标更加容易识别,减少因类内目标特征差异过大造成的检测错误。
(4)本发明采用了预训练数据集和训练数据集混合训练方法,实验中先在预训练数据集上进行训练,减少训练数据集中复杂背景和正负样本不均的干扰,使得目标检测模型可以针对目标进行充分的训练,之后在预训练的基础上通过训练集再进行进一步的训练,使目标检测模型能够更好地适应不同的复杂背景和不同的目标分布的情况。
附图说明
图1为本发明的实施流程图;
图2为预训练数据集中图像示例;
图3为本发明中用于目标检测的网络结构示意图;
图4为本发明中空间层次感知模块意图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
如图1所示为一种基于空间层次感知模块和度量学习的遥感图像目标检测方法的实施流程图,具体包括如下步骤:
步骤一:构建预训练数据集
从原始训练集中裁剪出有位置标注的目标,并对裁剪后的目标进行包括旋转、翻转和对比度调整在内的一种以上变化操作,将裁剪后的目标及变化操作后的目标均匀地插入到以原始训练集中所有图像的rgb均值构成的背景图像中,形成预训练数据集。
本例中,计算原始训练集中所有图像的rgb均值,生成像素为1000×600的背景图像;将裁剪后的目标及变化操作后的目标以固定的间隔从左到右、从上到下依次、均匀地插入到背景图像中,效果如图2所示。
训练时先把目标检测模型在预训练数据集上训练5次,再在原始训练集上训练5次。
步骤二:利用空间层次感知模块构建特征金字塔
将预训练数据集输入到目标检测模型中,目标检测模型的骨架网络采用深度残差网resnet101,如图3所示;对深度残差网resnet101中的第2、第3、第4、第5个卷积块的最后一张特征图通过各自的shpm模块进行特征提取,分别生成特征图f2、f3、f4、f5,f5上采样与f4相加后经过一层3×3的卷积生成特征图p4,p4上采样与f3相加后经过一层3×3的卷积生成特征图p3,p3上采样与f2相加后经过一层3×3的卷积生成特征图p2,第5个卷积块的最后一张特征图分别通过3×3且stride=1的卷积、3×3且stride=2的卷积生成特征图p5、p6,构建特征金字塔(p2,p3,p4,p5,p6)。
所述空间层次感知模块的结构如图4所示,由三个并行感知卷积层和一个输出卷积层构成,待特征提取的特征图同时输入到三个并行感知卷积层,之后对三个并行感知卷积层输出的特征图进行拼接后再由输出卷积层进行整合得到由空间层次感知模块进行特征提取后的特征图。三个并行感知卷积层包括一个3×3卷积层、一个dilated=2的3×3空洞卷积层和一个dilated=3的3×3空洞卷积层;在这三个并行感知卷积层中,3×3卷积层输出的特征图维度是512,两个3×3空洞卷积层输出的特征图维度是256。三个并行感知卷积层之后的一个输出卷积层为3×3卷积层,该3×3卷积层输出的特征图维度是256。
步骤三:对输入图像上的区域进行前景和背景的分类和定位
根据特征金字塔(p2,p3,p4,p5,p6)对输入图像进行前景和背景的分类,并确定前景和背景的位置;具体为:对输入图像的特征金字塔(p2,p3,p4,p5,p6)分别进行两个1×1卷积:第一个1×1卷积对特征图上每个像素点对应到输入图像进行前景和背景的二分类,得到每个特征图上每个像素点对应到输入图像的前景概率和背景概率;第二个1×1卷积对输入图像进行边框预测,得到预测边框的中心点坐标、宽度和高度(以确定边框的位置),该预测边框所围成的区域与第一个1×1卷积所预测出的前景或背景相对应;对预测边框进行非极大值抑制过滤后,选择出对应的前景概率最大的k1个预测边框,将选择出的k1个预测边框在特征图上的对应区域称为可能的目标特征;进行非极大值抑制时通过设置边框的交并比阈值(一般设计为0.7)来调节过滤的程度。
步骤四:对可能的目标特征进行分类和定位
将可能的目标特征通过池化的方法统一到相同的空间维度中,实现过程如下:对可能的目标特征区域进行多区域池化,即把目标特征对应的区域进行划分,分为5×5个相等的区域,通过双线性内插的方法计算每个区域中心点的值,把池化后的5×5个区域中心的值作为统一后的目标特征值。
将统一后的目标特征依次经过两个全连接层后分别连接一个用于分类的分类输出层(分类器)和一个用于位置回归的回归输出层(位置回归器),分类输出层的神经元的个数为类别个数,回归输出层的神经元的个数为4倍的类别数,倍数4表示目标对应在原图上中心点位置坐标以及长和宽的偏移值,为了减少参数防止网络过拟合,通过随机丢弃方法丢弃两个全连接层中20%的连接。将分类输出层输出的类别概率值和位置回归层输出的位置信息共同作为目标预测边框,根据目标预测边框的位置信息和类别概率值对目标预测边框进行非极大值抑制过滤后,从过滤后的目标预测边框中选择出类别概率值最大的k2个目标预测边框作为目标的识别结果;进行非极大值抑制时通过设置边框的交并比阈值(一般设计为0.7)来调节过滤的程度。
步骤五:进行在线难样本挖掘
对步骤(d)中经非极大值抑制过滤后得到的目标预测边框,采用线难样本挖掘算法(onlinehardexamplemining,简称ohem算法)进行难样本在线挖掘,找出类别概率值低于判决阈值的目标预测边框,将找出的目标预测边框作为难样本。
步骤六:利用度量学习拉近难样本中相同类别目标特征之间的距离
对相同类别的难样本,计算每对难样本特征之间的欧式距离,并求解该类别的平均欧式距离;对所有类别的平均欧式距离计算平均值,将得到的平均值作为辅助损失;通过缩小相同类别中的难样本之间的欧式距离。
所述辅助损失可以表示为:
其中:s为类别的集合,
步骤七:计算损失,更新网络参数
根据输入图像的真实位置标注以及经步骤四得到的类别概率和位置信息计算出分类损失和位置回归损失,其中分类损失使用的是交叉熵损失记为lossc,位置回归损失使用的是l1平滑损失记为lossreg,对分类损失、位置回归损失和辅助损失进行加权求和得到总损失loss,表示为:
loss=lossc αlossreg βlossd
其中:loss表示总损失,α表示位置回归损失的权重,β表示辅助损失的权重。
根据总损失反馈更新目标检测模型,在目标检测模型的参数更新完成后,判断训练次数是否大于设置的迭代次数:如果大于,则训练结束;否则,对新的输入图片从(d)到(g)不停的迭代。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
1.一种基于空间层次感知模块和度量学习的遥感图像目标检测方法,其特征在于:包括如下步骤:
(a)构建预训练数据集
从原始训练集中裁剪出有位置标注的目标,并对裁剪后的目标进行包括旋转、翻转和对比度调整在内的一种以上变化操作,将裁剪后的目标及变化操作后的目标均匀地插入到以原始训练集中所有图像的rgb均值构成的背景图像中,形成预训练数据集;
(b)利用空间层次感知模块构建特征金字塔
将预训练数据集输入到目标检测模型中,对目标检测模型的骨架网络中的第2、第3、第4、第5个卷积块的最后一张特征图通过各自的空间层次感知模块进行特征提取,分别生成特征图f2、f3、f4、f5;f5上采样与f4相加后经过一层卷积生成特征图p4,p4上采样与f3相加后经过一层卷积生成特征图p3,p3上采样与f2相加后经过一层卷积生成特征图p2,第5个卷积块的最后一张特征图分别通过步幅为1的卷积和步幅为2的卷积生成特征图p5和p6,构建特征金字塔(p2,p3,p4,p5,p6);
(c)对输入图像上的区域进行前景和背景的分类和定位
根据特征金字塔(p2,p3,p4,p5,p6)对输入图像进行前景和背景的分类,并确定前景和背景的位置;具体为:对输入图像的特征金字塔(p2,p3,p4,p5,p6)分别进行两个1×1卷积:第一个1×1卷积对特征图上每个像素点对应到输入图像进行前景和背景的二分类,得到每个特征图上每个像素点对应到输入图像的前景概率和背景概率;第二个1×1卷积对输入图像进行边框预测,得到预测边框的中心点坐标、宽度和高度,该预测边框所围成的区域与第一个1×1卷积所预测出的前景或背景相对应;对预测边框进行非极大值抑制过滤后,选择出对应的前景概率最大的k1个预测边框,将选择出的k1个预测边框在特征图上的对应区域称为可能的目标特征;进行非极大值抑制时通过设置边框的交并比阈值来调节过滤的程度;
(d)对可能的目标特征进行分类和定位
将可能的目标特征通过池化的方法统一到相同的空间维度中,将统一后的目标特征依次经过两个全连接层后分别连接一个用于分类的分类输出层和一个用于位置回归的回归输出层,将分类输出层输出的类别概率值和位置回归层输出的位置信息共同作为目标预测边框,根据目标预测边框的位置信息和类别概率值对目标预测边框进行非极大值抑制过滤后,从过滤后的目标预测边框中选择出类别概率值最大的k2个目标预测边框作为目标的识别结果;进行非极大值抑制时通过设置边框的交并比阈值来调节过滤的程度;
(e)进行在线难样本挖掘
对步骤(d)中经非极大值抑制过滤后得到的目标预测边框,采用线难样本挖掘算法进行难样本在线挖掘,找出类别概率值低于判决阈值的目标预测边框,将找出的目标预测边框作为难样本;
(f)利用度量学习拉近相同类别难样本特征之间的距离
对相同类别的难样本,计算每对难样本特征之间的欧式距离,并求解该类别的平均欧式距离;对所有类别的平均欧式距离计算平均值,将得到的平均值作为辅助损失;
(g)计算总损失,更新目标检测模型参数
根据输入图像的真实位置标注以及经步骤(d)得到的分类概率和位置信息计算出分类损失和位置回归损失,对分类损失、位置回归损失和辅助损失进行加权求和得到总损失,根据总损失反馈更新目标检测模型,根据训练完成判定条件确定是否完成训练。
2.根据权利要求1所述的基于空间层次感知模块和度量学习的遥感图像目标检测方法,其特征在于:所述步骤(b)中,目标检测模型的骨架网络为深度残差网,所述空间层次感知模块由三个并行感知卷积层和一个输出卷积层构成,
待特征提取的特征图同时输入到三个并行感知卷积层,之后对三个并行感知卷积层输出的特征图进行拼接后再由输出卷积层进行整合得到由空间层次感知模块进行特征提取后的特征图;三个并行感知卷积层包括一个3×3卷积层、一个膨胀率为2的3×3空洞卷积层和一个膨胀率为3的3×3空洞卷积层,一个输出卷积层为3×3卷积层。
3.根据权利要求1所述的基于空间层次感知模块和度量学习的遥感图像目标检测方法,其特征在于:所述步骤(d)中,统一后的目标特征依次经过两个全连接层时,通过随机丢弃方法丢弃全连接层中20%的连接。
4.根据权利要求1所述的基于空间层次感知模块和度量学习的遥感图像目标检测方法,其特征在于:所有卷积层均使用relu函数作为激活函数,并使用批归一化方法进行归一化操作。
技术总结