一种基于多尺度图像和加权融合损失的小目标检测方法与流程

文档序号:21641771发布日期:2020-07-29 02:53阅读:276来源:国知局
一种基于多尺度图像和加权融合损失的小目标检测方法与流程

本发明属于图像、视频处理领域,涉及一种基于多尺度图像和加权融合损失的小目标检测方法。



背景技术:

随着机器学习、深度学习的发展,依靠卷积神经网络强大的学习能力,模式识别、计算机视觉领域得到空前的关注与热度。在机器自动化、人工智能广泛普及的时代,摄像头扮演的角色愈发等同于人的眼睛,计算机视觉领域的发展显得尤其重要,并且得到了工业界和学术界的广泛关注。其中,目标检测在计算机视觉领域成果显著,并在不断进步当中。然而,图片、视频中的目标物体,绝大部分以极其微小的形式出现。通常有很多物体在一帧图片中所占像素极低,大部分像素低于49px,检测微小物体的任务显得艰巨而又十分重要。

小目标检测的难点在于尺度,以单一尺寸输入网络模型提取特征信息,往往不能照顾到各个尺度大小的目标。虽然现有maskrcnn模型在目标检测取得了不错的效果,但仍存在输入图像尺度单一、分辨率具有不确定性、上下文信息利用不充分、对小目标物体检测不敏感等问题。



技术实现要素:

针对现有maskrcnn模型的不足,本发明提供一种基于多尺度图像和加权融合损失的小目标检测方法。

本发明采用如下技术方案实现:

一种基于多尺度图像和加权融合损失的小目标检测方法,基于改进maskrcnn模型实现,包括:

s1、搭建改进的maskrcnn模型;所述改进的maskrcnn模型包括:残差骨干网络、特征金字塔网络层、区域生成网络层、感兴趣框对齐层、分类器层、损失函数计算层和测试层;

s2、构建图像金字塔:对原始图像进行缩放处理,将原始图像、缩小尺寸后的图像、放大尺寸后图像一起构成图像金字塔;

s3、将图像金字塔中的图像进行随机裁剪;

s4、将随机裁剪后的图像送入残差骨干网络进行卷积、批归一化、池化操作,输出多组不同尺寸的特征图;

s5、将多组不同尺度的特征图进行融合,并进一步处理得到特征图p2-p6;

s6、对特征图p2-p6分别生成未筛选的候选检测框;

s7、将特征图p2-p6输入区域生成网络层,通过一系列卷积操作,得到候选检测框的偏移量以及置信度;

s8、把s7的候选检测框的偏移量与s6得到的未筛选的候选检测框数据结合,筛选出设定量的候选检测框作为感兴趣检测框;

s9、将感兴趣检测框分别对应回特征图p2-p6,并进行对齐操作;

s10、将对齐操作的结果输入到分类层,输出预测的感兴趣检测框类别得分、类别概率、坐标偏移量;

s11、将预测的感兴趣检测框类别得分、类别概率、坐标偏移量输入测试层,在测试层对类别概率取最大值进行筛选,选出感兴趣检测框对应的预测目标类别,进一步通过非极大值抑制过滤出多余的感兴趣检测框,最后在测试层得到最终预测的感兴趣检测框和对应的预测目标类别。

进一步地,在训练阶段还包括:

s12、将s10中预测的感兴趣检测框类别得分输入损失函数计算层,与实际类别标签一起作为交叉熵函数的输入,用来计算分类损失值,得到特征图p2-p6的类别预测损失;

将s10中预测的感兴趣检测框坐标偏移量与真实目标框偏移量一起作为回归损失函数的输入,得到特征图p2-p6的回归预测损失;

s13、将特征图p2、特征图p3的类别预测损失分别进行加权,并与特征图p4、特征图p5、特征图p6的类别预测损失相加得到总的类别预测损失;

将特征图p2、特征图p3的回归预测损失分别进行加权,并与特征图p4、特征图p5、特征图p6的回归预测损失相加得到总的回归预测损失;

s14、通过反向传播对改进maskrcnn模型参数、权重进行迭代更新,具体地,总的类别预测损失与总的回归预测损失分别被利用,进行优化迭代、改变改进maskrcnn模型的权重值。

进一步地,改进的maskrcnn模型所作改进包括:

①、感兴趣检测框对齐不再统一对齐,而是分开对不同特征层进行对齐,对齐过后没有直接融合传入损失函数计算层,而是分别输入分类器层进行分别分类和回归,最终分开输入损失函数计算层,对检测小目标特征层计算出的损失函数进行加权,并与检测大、中目标层的损失函数融合;

②、在原有maskrcnn模型中增加一层有效特征层p6;

③、去除原有maskrcnn中图像分割模块,取消掩膜支路。

优选地,s2中对原始图像进行缩放处理包括:

缩放图片的公式表述为:

image_new=image*scale(1)

其中:image_new代表缩放后的图片,image代表缩放前的图片,scale表示缩放尺度;

缩放尺度scale由以下因素决定:

设缩放完成后最小边的长度不能小于min_dim,min()表示取最小值运算,h表示原图的高,w表示原图宽,则的当min_dim大于min(h,w)时,

scale=min_dim/min(h,w)(2)

否则scale=1;

设缩放完成后最长边的长度为max_dim,如果按照式(2)来进行缩放图片,若缩放后的图片的最长边已经超过了max_dim时,则令:

scale=max_dim/image_max(3)

否则继续按scale=min_dim/min(h,w)来进行缩放;

最后的缩放完成的图片大小尺寸为max_dim*max_dim,另外,如果最后缩放的尺度scale大于1,即放大原图,则将用双线性插值法进行放大;对于最后缩放后的图片不足max_dim*max_dim的部分,采用零值填充像素值。

优选地,s3中随机裁剪图片的公式表述如下:

y1=randi([0,image_size(1)-crop_size(1)])(4)

x1=randi([0,image_size(2)-crop_size(2)])(5)

其中:y1和x1分别表示裁剪图片开始的左下角纵坐标和左下角横坐标;randi表示随机取数,取数范围是小括号里面的范围;image_size是裁剪前的图片尺寸,第一维存放图片宽度,第二维存放图片长度;crop_size是需要裁剪出来的区域尺寸,第一维存放区域宽度,第二维存放区域长度;

y2=min(image_size(1),y1+crop_size(1))(6)

x2=min(image_size(2),x1+crop_size(2))(7)

其中:y2和x2分别表示裁剪图片开始的右上角纵坐标和右上角横坐标;randi表示随机取数;min()表示取最小值;

利用式(4)-式(7)求得的两个坐标确定裁剪的具体位置,如果裁剪区域溢出原图,将进行pad填充,得到裁剪后的图像。

优选地,残差骨干网络的卷积包括block1、block2两类卷积模块,其中:

卷积模块block1工作流程包括:

①、对于分支1,输出与输入保持一致不变;

②、对于分支2,依次使用1*1卷积核、3*3卷积核、1*1卷积核进行卷积操作,并在每次卷积完成后对输出的特征向量进行均值归一化;

卷积模块block2工作流程包括:

①、对于分支1,使用1*1卷积核进行卷积操作,紧接着对输出的特征向量进行均值归一化;

②、对于分支2,依次使用1*1卷积核、3*3卷积核、1*1卷积核进行卷积操作,并在每次卷积完成后对输出的特征向量进行均值归一化。

优选地,s4中输出多组不同尺寸的特征图包括:

对于原图输入,构成五层特征图输出:c2、c3、c4、c5、c6;对于相对原图缩小一倍的输入,构成五层特征图输出:c2s、c3s、c4s、c5s、c6s;对于相对原图放大一倍的输入,构成五层特征图输出:c2l、c3l、c4l、c5l、c6l。

优选地,步骤s5包括:

s51、对c2s-c6s进行基于插值原理的上采样,将c2s-c6s扩大一倍;

s52、将c2l-c6l进行最大值池化,将c2l-c6l缩小一倍;

s53、将c2-c6与扩大一倍后的c2s-c6s和缩小一倍后的c2l-c6l相加,得到融合了不同尺度图像特征的c2-c6;

s54、对融合了不同尺度图像特征的c2-c6进一步处理得到特征图p2-p6。

优选地,s54包括:

用256个1*1卷积核对融合了不同尺度图像特征的c6进行卷积得到输出为16*16*256的特征图p6;

用256个1*1卷积核对融合了不同尺度图像特征的c5进行卷积后与将p6进行上采样两倍后的输出相加,再进行3*3卷积得到输出为32*32*256的特征图p5;

用256个1*1卷积核对融合了不同尺度图像特征的c4进行卷积后与将p5进行上采样两倍后的输出相加,再进行3*3卷积得到输出为64*64*256的特征图p4;

用256个1*1卷积核对融合了不同尺度图像特征的c3进行卷积后与将p4进行上采样两倍后的输出相加,再进行3*3卷积得到输出为128*128*256的特征图p3;

用256个1*1卷积核对融合了不同尺度图像特征的c2进行卷积后与将p3进行上采样两倍的输出相加,再进行3*3卷积得到输出为256*256*256的特征图p2。

优选地,候选检测框的高度h、宽度w为:

其中:scale_length表示当候选检测框为高度与宽度相等的方框时,高度和宽度对应于原图的像素级大小。

本发明与现有maskrcnn模型小目标检测相比,具有如下有益效果:

(1)提出构造图像金字塔作为maskrcnn模型输入的方法,一张图像经过预处理变成多种尺度作为输入而并非单一尺度,增强了对小目标物体特征提取的能力。

(2)去除原有maskrcnn模型中图像分割模块,取消了mask(掩膜)支路,减少了网络参数,使得训练分类和回归部分更加高效。

(3)感兴趣区域对齐不再统一对齐,而是分开对不同特征层进行对齐,进而再输入分类层进行分别分类和回归,最终分开输入损失函数计算层,对检测小目标特征层计算出的损失函数进行加权,并与检测大、中目标层的损失函数融合,增强了小目标物体对模型损失函数的影响,让模型更好地学习到关于检测小目标物体的特征。

(4)在原有maskrcnn模型中增加一层有效特征层p6,在提高小目标物体检测精度的同时确保对大物体的检测精度不下降,最终达到了提高目标检测中对小目标物体的检测准确性和精度的提升。

附图说明

图1为本发明一个实施例中改进的maskrcnn模型结构图;

图2为本发明一个实施例中改进的maskrcnn模型中卷积块示意图;

图3为本发明一个实施例中小目标检测实现流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明。

一种基于多尺度图像和加权融合损失的小目标检测方法,基于改进maskrcnn模型实现,包括:

s1、搭建改进的maskrcnn模型。

在一个优选的实施例中,改进的maskrcnn模型包括骨干网络部分、候选窗口生成部分和分类层部分,利用keras平台搭建,包括:残差骨干网络、特征金字塔网络层、区域建议层、感兴趣框对齐层、分类器层、损失函数计算层、测试层。相对于原有maskrcnn所作改进包括:

①、感兴趣区域对齐不再统一对齐,而是分开对不同特征层进行对齐,对齐过后没有直接融合传入损失函数,而是分别输入分类器层进行分别分类和回归,最终分开输入损失函数计算层,对检测小目标特征层计算出的损失函数进行加权,并与检测大、中目标层的损失函数融合,增强了小目标物体对模型损失函数的影响,让模型更好地学习到关于检测小目标物体的特征。

②、在原有maskrcnn模型中增加一层有效特征层p6,在提高小目标物体检测精度的同时确保对大物体的检测精度不下降,最终达到提高目标检测中对小目标物体的检测准确性和精度的提升。

③、去除原有maskrcnn中图像分割模块,取消了mask(掩膜)支路,从而减少网络参数,使得训练分类和回归部分更加高效。

s2、构建图像金字塔。

将原始图像数据分别进行缩小图像尺寸一倍和放大一倍处理,并保留原始尺寸图像数据,原图、缩小图像、放大图像一起构成图像金字塔。

改变图片尺寸的第一步要进行图片的缩放,缩放图片的公式表述为:

image_new=image*scale(1)

其中:image_new代表缩放后的图片,image代表缩放前的图片,scale表示缩放尺度。缩放尺度scale由以下因素决定:

设缩放完成后最小边的长度不能小于min_dim,min()表示取最小值运算,h表示原图的高,w表示原图宽,则的当min_dim大于min(h,w)时,

scale=min_dim/min(h,w)(2)

否则scale=1。

设缩放完成后最长边的长度为max_dim,如果按照式(2)来进行缩放图片,若缩放后的图片的最长边已经超过了max_dim时,则令:

scale=max_dim/image_max(3)

否则继续按scale=min_dim/min(h,w)来进行缩放。

最后的缩放完成的图片大小尺寸为max_dim*max_dim,另外,如果最后缩放的尺度scale大于1,即放大原图,则将用双线性插值法进行放大。对于最后缩放后的图片不足max_dim*max_dim的部分,采用零值填充像素值。

s3、将图像金字塔中的原图、缩小图像、放大图像进行512*512的随机裁剪,作为一次训练输入。

随机裁剪图片的公式表述如下:

y1=randi([0,image_size(1)-crop_size(1)])(4)

x1=randi([0,image_size(2)-crop_size(2)])(5)

其中:y1和x1分别表示裁剪图片开始的左下角纵坐标和左下角横坐标;randi表示随机取数,取数范围是小括号里面的范围;image_size是裁剪前的图片尺寸,第一维存放图片宽度,第二维存放图片长度;crop_size是需要裁剪出来的区域尺寸,第一维存放区域宽度,第二维存放区域长度。

y2=min(image_size(1),y1+crop_size(1))(6)

x2=min(image_size(2),x1+crop_size(2))(7)

其中:y2和x2分别表示裁剪图片开始的右上角纵坐标和右上角横坐标;randi表示随机取数,取数范围是小括号里面的范围,min()表示取最小值,小括号里面是比较的两个数。

利用上述求得的两个坐标确定裁剪的具体位置,如果裁剪区域溢出原图,将进行pad填充,得到裁剪后的图像。pad填充将对溢出区域进行像素三通道的零填充,即为每个通道赋值0。

s4、将裁剪后的图像进行送入残差骨干网络进行卷积、批归一化、池化操作,输出三组不同尺寸的特征图。

在一个优选的实施例中,残差骨干网络一共进行60次卷积,以及开始的一次最大值池化和末尾的平均值池化,每次卷积过后进行一次批归一化。利用特定的卷积模块,按照卷积后特征图的大小关系,对于原图输入,构成五层特征图输出:c2、c3、c4、c5、c6;对于相对原图缩小一倍的输入,构成五层特征图输出:c2s、c3s、c4s、c5s、c6s;对于相对原图放大一倍的输入,构成五层特征图输出:c2l、c3l、c4l、c5l、c6l。

卷积公式表述如下:

其中,output是卷积输出的特征图中每个点的值,wi,j是n*n大小卷积核在(i,j)位置的权重;inputi',j'是输入卷积核的图在与卷积核位置(i,j)对应位置的像素值。

对于最大值池化操作,选用3*3大小的核、以2大小的步长在输入图中滑动,选出滑动的3*3局部接收域内的最大值作为输出图对应点的值,公式表述为:

outputmax=max(areainput)(9)

其中:areainput表示局部接收域中所有像素点的值。

对于平均值池化操作,则是对输入特征图所有像素点的值进行求和后再平均,最终得到1*1的输出,不改变通道数。公式表述如下:

其中:inputi,j是输入图在像素点(i,j)的像素值,n*n指输入特征图的尺寸。

批归一化是指对深度神经网络每一隐藏层输出的卷积图的每个点的值分布变换为以0为均值,单位方差的正态分布数值时,可以加速网络收敛。对于一批输入,假设有n个样本,在某隐藏层i的输出为:{z(1),z(2),z(3),z(4),...,z(n)},对这批输出进行求均值:

求方差:

对输出均一化(批归一化)即对每个送进样本的输出进行如下操作:

其中:∈是为了防止方差为0时产生无效计算而设置。

将i层输出进行批归一化为均值为0、方差为1的分布后,改变了原有数据的信息表达,使得底层网络学习到的参数信息丧失,导致数据表达能力缺失。基于此不足,本发明引入两个可学习的参数γ和β,从而对上述得到的批归一化输出进行如下操作:

以此恢复数据本身表达能力。

在一个优选的实施例中,改进的maskrcnn模型的激活函数统一用sigmoid函数,其数学表达式为:

s5、将s4中得到的三组不同尺度的特征图c2s-c6s、c2-c6、c2l-c6l进行融合,并再进一步得到特征图p2-p6。具体操作方式如下:

②、对c2s-c6s进行基于插值原理的上采样,将c2s-c6s扩大一倍;

②、将c2l-c6l进行最大值池化,将c2l-c6l缩小一倍;

最大值池化的原理如下:选用3*3大小的核、以2大小的步长在输入图中滑动,选出滑动的3*3区域内的最大值作为输出图对应点的值,公式表述为:

outputmax=max(areainput)(16)

其中:areainput表示局部接收域中所有像素点的值。

③、将c2-c6与扩大一倍后的c2s-c6s和缩小一倍后的c2l-c6l相加,得到融合了不同尺度图像特征的c2-c6。

此时的c2-c6已与s4中的c2-c6时有所不同,此时的c2-c6融合了不同尺度图像提取出的特征。

④、对融合了不同尺度图像特征的c2-c6进一步处理得到特征图p2-p6。

具体地:用256个1*1卷积核对融合了不同尺度图像特征的c6进行卷积得到输出为16*16*256的特征图p6。

用256个1*1卷积核对融合了不同尺度图像特征的c5进行卷积后与将p6进行上采样两倍后的输出相加,再进行3*3卷积得到输出为32*32*256的特征图p5。

用256个1*1卷积核对融合了不同尺度图像特征的c4进行卷积后与将p5进行上采样两倍后的输出相加,再进行3*3卷积得到输出为64*64*256的特征图p4。

用256个1*1卷积核对融合了不同尺度图像特征的c3进行卷积后与将p4进行上采样两倍后的输出相加,再进行3*3卷积得到输出为128*128*256的特征图p3。

用256个1*1卷积核对融合了不同尺度图像特征的c2进行卷积后与将p3进行上采样两倍的输出相加,再进行3*3卷积得到输出为256*256*256的特征图p2。

上述得到的p2-p6一起合并构成特征图矩阵。

s6、在s5得到的特征图p2-p6上生成未筛选的候选检测框。

候选检测框的高度h、宽度w为:

其中:scale_length表示当候选检测框为高度与宽度相等的方框时,高度和宽度对应于原图的像素级大小。对于p2到p6,分别是32、64、128、256、512。ratios表示每种尺寸候选检测框的三种尺度:0.5、1、2。

对特征图p2-p6以像素点为中心,生成不同大小、不同尺度的候选检测框,特征图上的每个像素点都会生成候选检测框。候选检测框中心坐标为每层特征图的每个像素点。

s7、将s5得到的特征图p2-p6输入rpn(regionproposalnetwork,区域生成网络层),用相同的卷积层对特征图p2-p6进行卷积,但不改变特征图大小。紧接着对卷积完后的特征图用1*1的卷积核进行卷积后得到rpn_score,再进行softmax操作,则输出通道数为(2*每个像素点候选检测框数量)的候选检测框置信度rpn_pro,在此基础上通过1*1卷积核再进行卷积,输出通道数为(4*每个像素点未筛选的候选检测框数量)的候选检测框偏移量信息rpn_bbox。

s8、把s7的rpn_bbox与s6得到的未筛选的候选检测框数据结合,生成最后的感兴趣检测框(又称roi框或建议检测框)rpnbox(完整的、经过筛选后的侯选检测框),并由s7得到的rpn_score得到感兴趣检测框得分,按照感兴趣检测框得分从大到小排列、作非极大值抑制,最终保留前面1500个感兴趣检测框(rpnbox)。

s9、对于s8中的得到的1500个感兴趣检测框,分别对应回p2到p6特征图进行对齐操作。

对于p5特征层,其检测目标大小平均值是224*224,在对齐时相对于原图,p5层的感受野为32,因此应对齐到(224/32=7)*(224/32=7)即7*7的大小。p2到p6层的感受野成2倍关系递增,以此类推,p2、p3、p4和p6也将对齐到7*7大小。对齐完成后输出分别为:align_p2、align_p3、align_p4、align_p5、align_p6。

s10、将s9中对齐完成后输出align_p2、align_p3、align_p4、align_p5、align_p6输入到分类层,将align_p2、align_p3、align_p4、align_p5、align_p6用卷积操作转换成向量,输出预测感兴趣检测框的类别得分、类别概率、坐标偏移量。

具体地,用7*7的卷积把向量(x,256,7,7)转化成(x,256,1,1)的数据,再用全连接把向量(x,256,1,1)转化成(x,81),输出为类别得分,其中81代表的是roi框81个类别;对向量(x,81)进行softmax操作,输出为类别概率;再用全连接操作,把(x,256,1,1)转化成(x,81*4),其中4代表的是roi框81个类别的4个坐标偏移量。注意,上面“x”表示每一层特征图感兴趣检测框的数量,在不同层,“x”的值大小可能不同。

s11、在测试阶段,到s10后,将类别得分、类别概率、坐标偏移量输入测试层,其中在测试层将对类别概率取最大值进行筛选,选出感兴趣检测框对应预测的目标类别,又进一步用0.7大小的阈值进行非极大值抑制过滤出多余的感兴趣检测框。最后在测试层会得出最终的预测的感兴趣检测框和对应的预测目标类别。

在训练阶段,还包括:

对检测小目标特征层计算出的损失函数进行加权,并与检测大、中目标层的损失函数融合,增强小目标物体对模型损失函数的影响,让改进的maskrcnn模型更好地学习到关于检测小目标物体的特征。

具体地,包括:

s12、将s10中每层特征图p2-p6中每一个感兴趣检测框输出的81个类别得分,输入损失函数计算层,与实际类别标签一起作为交叉熵函数的输入,用来计算分类损失值,得到类别预测损失。其中交叉熵函数表示为:

其中:y'i为真实类别标签中第i个值,c表示类别标签的总数,yi为预测类别经过softmax归一化后向量中对应的值,分类越准确,yi越接近1,损失函数值lossy′(y)越小。

对s10中每层特征图每一个感兴趣检测框输出的81类别的4个坐标偏移量,与真实目标框偏移量一起作为回归损失函数smooth_l1的输入,得到回归预测损失。其函数表示为:

其中:x表示预测感兴趣检测框偏移坐标与真实目标框偏移坐标的差值。

s13、将s12中输出p2、p3层的类别预测损失loss_class_p2、loss_class_p3分别进行加权,并与loss_class_p4、loss_class_p5、loss_class_p6相加得到总的类别预测损失:

loss_class_p2'=4*loss_class_p2

loss_class_p3'=2*loss_class_p3

loss_class=loss_class_p2'+loss_class_p3'+loss_class_p4+loss_class_p5+loss_class_p6

(21)

将s12中输出p2、p3层的回归预测损失loss_reg_p2、loss_reg_p3分别进行加权,并与loss_reg_p4、loss_reg_p5、loss_reg_p6相加得到回归预测损失:

loss_reg_p2'=4*loss_reg_p2

loss_reg_p3'=2*loss_reg_p3

loss_reg=loss_reg_p2'+loss_reg_p3'+loss_reg_p4+loss_reg_p5+loss_reg_p6

(22)

最终loss_class与loss_reg分别被利用,进行优化迭代、修改改进的maskrcnn模型的权重值,达到改进的maskrcnn模型的学习目的。

下面结合附图对本发明作进一步详细地说明。

参见图1-3,一种基于多尺度图像和加权融合损失的小目标检测方法,包括:

(1)、基于改进的maskrcnn模型的残差骨干网络对原图、放大一倍和缩小一倍的图像进行特征提取,得到三组不同尺度的特征,对三组不同尺度的特征进行特征融合,得到融合了不同尺度特征的输出向量图c2、c3、c4、c5和c6。

在一个优选的实施例中,主要利用不同的卷积模块提取不同尺度图片的特征。特征提取层(残差骨干网络)中的卷积模块如图2所示,共有两种,分别以“block1”和“block2”简称。

卷积模块block1工作流程包括:

①、对于分支1,输出与输入保持一致不变。

②、对于分支2,依次使用1*1卷积核、3*3卷积核、1*1卷积核进行卷积操作,并在每次卷积完成后对输出的特征向量进行均值归一化。具体来看,每一次卷积操作完成后的特征向量通道数目成1:1:4的比例关系。

卷积模块block2工作流程包括:

①、对于分支1,使用1*1卷积核进行卷积操作,紧接着对输出的特征向量进行均值归一化。

②、对于分支2,依次使用1*1卷积核、3*3卷积核、1*1卷积核进行卷积操作,并在每次卷积完成后对输出的特征向量进行均值归一化。具体来看,每一次卷积操作完成后的特征向量通道数目成1:1:4的比例关系。

在一个具体的实施例中,假设图片以x*x*3输入,注意到对于原图,将图片尺寸统一为1024*1024的标准尺寸,即x=1024,缩小一倍后x=512,放大一倍后x=2048。为简便,下面将省略描述每次卷积操作后都必将进行的均值归一化操作,并且卷积及池化中若填充参数为0、步数参数为1也将省略描述。

在残差骨干网络开始前对图片进行预处理,具体地:将输入的三种不同尺度的图片用7*7*64的卷积核,填充为3,步数为2进行卷积,输出的特征向量;紧接着用3*3池化核,步数为2进行最大值池化,输出的特征向量。

在c2层中,依次包含一个block2、一个block1、一个bock1、一个block2,输出为在c3层中,依次包含一个block2、一个block1、一个bock1、一个block1,输出为在c4层中,依次包含一个block2、一个block1、一个bock1、一个block1、一个block1,输出为在c5层中,依次包含一个block2、一个block1、一个block1,输出为在c6层中,依次包含一个block2、一个block1、一个block1,输出为

(2)接下来是特征金字塔网络层,本发明对上一步骤中五层特征向量输出进行1*1卷积改变通道数为256后,采用第n层与第(n+1)层进行相加融合输出的特征向量作为pn特征层输出,对于最高层p6,则直接输出。另外,此处可为增加更多候选检测框,对p6进行步数为2的最大值池化,得到p7特征向量输出,为节省训练空间,本实施例未采取该做法。

(3)通过在p2到p6特征图上生成候选检测框,对每一特征图以每一像素点为中心,生成三种比例、三种长宽比的候选检测框,根据p2到p6特征图大小的比例关系,将候选检测框的长度、宽度、中心坐标统一缩放到0到1区间。

(4)紧跟着在rpn层,通过一系列卷积操作,生成候选检测框的偏移量以及置信度,与候选检测框相结合,通过对置信度进行从高到低排列,以及非极大值抑制算法筛选出1500个最终的建议检测框。

(5)接下来对1500个建议检测框,分别对应回原来的p2、p3、p4、p5、p6特征图进行对齐操作,即根据建议检测框尺寸大小,找回它所属特征层,然后在对应特征图上使用非线性插值算法截取对应建议检测框。每个特征图所包含的建议检测框对齐后的输出都为7*7*256。

(6)将建议检测框对齐层的输出再输入到分类器层中。分类器层采用7*7的卷积输入的7*7特征向量转换为1*1的特征向量但通道数不变,再分别使用全连接,转换为81个类的类别得分输出和每一类的四个坐标位置偏移量;对81个类得分输出向量进行softmax操作,输出为类别概率。

(7)测试阶段,利用分类器层得到的类别得分信息以及位置偏移信息输入测试层,其中在测试层将对类别概率取最大值进行筛选,选出感兴趣检测框对应预测的目标类别,又进一步用0.7大小的阈值进行非极大值抑制过滤出多余的感兴趣检测框。最后在测试层会得出最终的预测的检测框和对应的预测目标类别。

训练阶段,在损失函数计算层,利用分类器层得到的类别得分信息以及位置偏移信息,计算与真实信息的损失大小,再通过反向传播对模型参数、权重进行修改。

具体应用上:

步骤一、得到一张包含大量小目标物体的图片,修改成标准尺寸,分别进行上采样一倍和下采样一倍,与原图组成图像金字塔作为改进maskrcnn模型的输入。

步骤二、将图像金字塔输入改进maskrcnn模型的残差骨干网络中,对图像金字塔中三种不同尺度图像进行特征的提取,输出三组特征向量。

步骤三、通过特征金字塔网络层对三组特征向量进行融合,构造特征金字塔。

步骤四、在特征金字塔的每一层生成候选检测框,送入rpn层。

步骤五、在rpn层,相应为每个候选检测框生成置信度和位置偏移信息,并且根据置信度高低排序以及非极大值抑制,筛选出一定量有效的建议检测框。

步骤六、对于筛选出的建议检测框,对应回特征金字塔中产生它们的特征图中,在特征图上对齐截取出来,并且统一调整为固定大小,但还是按特征层不同分开放置。

步骤七、最后将对齐后的建议检测框输入进去分类器层,得到建议检测框的各个类别置信度和位置偏移量信息。根据类别概率最大值确定建议检测框的类别;然后认为建议检测框的偏移量是其中类别最大值对应的偏移量,对建议检测框的位置进行调整;去除各个建议检测框中属于背景的对象,然后根据各个建议检测框的最大类别的置信度得分大小,取0.7的阈值,然后筛选出来一定的roi(regionofinterest,感兴趣区域),并做非极大值抑制。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1