利索能及
我要发布
收藏
专利号: 2020106894215
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于改进VGG16网络的多目标检测方法,包括如下步骤:步骤一,样本图像增强处理;

选择采用直方图均衡化和直方图匹配的方法,通过改变图像的灰度直方图来改变图像的显示效果;

1.1)直方图均衡化,具体包括:

(1)统计直方图各灰度级;

首先,设变量r表示图像中像素灰度级,对灰度级进行归一化处理,若图像的灰度级为{0,1,2,...,L-1},则其中,0≤r≤1,L为灰度级层次数;

(2)计算出对应的概率密度;

因为图像的像素灰度级是在[0,1]之间随机分布的,所以用概率密度函数来表示图像k k k灰度级的分布;而在离散形式下,用r代表离散灰度,用Pr(r)代表灰度r出现的概率:其中,nk为图像中出现rk这种灰度的像素数,n是图像中的像素总数,而nk/n表示频数;

(3)求累计分布函数;

图像进行直方图均衡化的函数表达式为:

其中,k为灰度级数;

(4)求出每个灰度级对应的输出灰度级;

经过下式的反变换过程得到输出灰度级:

-1

ri=T (Si)                               (4)(5)映射到新的图像,得到均衡化处理后的直方图;

1.2)直方图匹配;

直方图匹配是通过指定直方图形状,将一幅图像的直方图变成指定形状直方图的图像增强方法;首先选定直方图形状,即选择一张图像的直方图作为匹配参考对象,然后通过映射函数,将目标图像与指定的参考对象匹配在一起,得到与参考对象直方图形状一致的直方图;

直方图匹配的需要对两个图像的直方图都做均衡化处理,使其变成归一化的均匀直方图;以此均匀直方图起到媒介作用,再对参考图像做均衡化的逆运算即可;可以说,直方图均衡化是直方图匹配的桥梁,需要先做直方图均衡化才可以做直方图匹配;

直方图匹配的具体操作步骤如下:

(S1)按照步骤1.1)将原始图像进行均衡化处理;

(S2)规定希望的灰度概率密度函数,计算它的累计分布函数G(z);

其中,z分别是匹配处理后的图像灰度级,Pz(z)表示希望得到的处理后图像的概率密度函数;

(S3)目标图像和参考图像具有相同的密度函数,因此,可以计算得到直方图匹配处理后的图像灰度值z;

-1 -1

z=G [T(r)]=G [s]                           (6)其中,r是匹配处理前的图像灰度级,s是输入的图像做均衡化处理的结果;

将原始样本图像经过图像增强处理后,作为图像样本,用作以下步骤的输入;

步骤二,构建特征提取模型;

使用改进后的VGGNet-16网络结构为主干,构建了特征提取网络模型;该网络结构由截断的VGGNet-16网络和加强网络层组成,在每一层中将产生对应参数的不同尺度的特征图,则目标物体的检测是在这些不同尺度的特征图上同时进行的,不同尺度的特征图用于预测不同尺度大小的目标物体;

特征提取模型网络结构具体参数如下所示:

(T1)输入层:分辨率为1024*1024像素大小的RGB三通道图像;

(T2)截断的VGGNet-16网络:该结构共分为5组13个卷积层,包括第一组:Conv1_1、Conv1_2;第二组:Conv2_1、Conv2_2;第三组:Conv3_1、Conv3_2、Conv3_3;第四组:Conv4_1、Conv4_2、Conv4_3;第5组:Conv5_1、Conv5_2、Conv5_3;其中,Conv5_3是最终的特征提取层;

设置每一层网络的卷积层和池化层的具体的参数;

卷积层的参数包括卷积核大小、卷积核个数、滑动步长以及存在的网络层数4个方面;5层卷积层的卷积核大小都是3*3,以1为滑动步长,卷积核的个数逐层增加,分别是64、128、

256、512、512;前两组卷积层中分别有2个卷积分层,后三组卷积层则分别有3个卷积分层;

池化层的参数包括池化方式、池化核尺寸、滑动步长以及池化类型数4个方面;池化方式选择最大池化方式;池化核的大小关系到提取的特征图尺寸,将前4个池化层Pool1、Pool2、Pool3、Pool4的池化核尺寸均设为2*2,又因为在经过第5层池化层Pool5池化操作后得到的特征图需要作为附加网络的输入数据,因此,将Pool5的池化核大小设置为3*3;最后,5层池化层的滑动步长均为1,池化类型为valid,valid类型的池化方式不提取特征矩阵的边界信息;

(T3)加强网络层:加强网络层包括6组卷积层、1层平均池化层和1层输出层,共计12层网络;其中,第2层卷积层Conv7、第三组卷积层的Conv8_2、第四组卷积层的Conv9_2、第五组卷积层的Conv10_2、第六组卷积层的Conv11_2作为特征提取层,分别提取不同尺寸大小的特征图;

加强网络层也是从卷积核大小、卷积核个数、滑动步长以及存在的网络层数4个方面来设置卷积层的网络参数;第6、7组卷积层均只有一层,第8、9、10、11组卷积层则均分别包括两个卷积分层;另外,加强网络层只在最后输出结果的时候设置了一层池化层,而且作为最后一层池化层,该层选择采用了最大池化的方式,降低特征图的维度,将结果输送到输出层;加强网络层的卷积核大小不仅限于3*3,在网络层Conv7、Conv8_1、Conv9_1、Conv10_1、Conv11_1这五个卷积层中,采用了1*1大小的卷积核,而且滑动步长也不再为1,将Conv8_1、Conv8_2、Conv9_1、Conv9_2网络层的滑动步长设置为2;

步骤三,设置特征提取模型相关函数;

3.1)中间层的激活函数;

中间层的激活函数即为两个卷积层之间的激活函数;为了有效缓解梯度消失的问题,提供了网络模型的稀疏表达能力分段函数:ReLU(x)=max(0,x)                           (7)上式中,如果x为正,则其导数为1;如果x为负,则其导数为0,这样将使得此函数在整个实数域上有一半空间是不饱和的,在构造的较深的网络模型中,其表现出来的泛化能力更好;

3.2)输出层的激活函数;

输出层的激活函数即为卷积层与池化层之间的激活函数;对于多目标检测输出问题,使用了多项式回归函数,即Softmax函数对输出层进行激活;

假设Softmax函数 的输入数据为C维度的向量z,则Softmax函数的数据也是一个C维度的向量y,其计算公式如下:则对于给定的输入z,可以求得每个分类的概率t=c,forc=1...C,其总的概率方程表示为:其中,P(t=C|z)表示给定输入z时,该输入数据为C分类的概率;

3.3)池化降维函数;

在截断的VGGNet-16网络和加强网络层中,均使用了最大池化的方式,对激活后的active数据矩阵进行降维,其计算公式如下所示:其中,kernelSize×Size表示设定的池化核,其边长为Size; 代表最大池化操作,即将池化核内部矩阵中最大值输出;r'和c'分别表示池化核核心在激活后的Active二维数据矩阵的横纵坐标值;

经过池化降维后,其数据维度大小的计算公式为:

W'=W/Stride,H'=H/Stride                       (11)其中,Stride为滑动距离;W'和H'分别为输出后的新宽度和新高度;

步骤四,对所提取的特征图上的目标进行定位;

先将k*k大小的特征图划分为s*s大小的网格,对于每个网格均预测B个边框信息,每个边框信息记为(x,y,w,h,score),其中,(x,y)为边框中心位置相对于其对应网格的偏移量,(w,h)为边框的宽和高,score表示置信度值;score用于反映该边框是否有目标物体以及其与真实目标的交并比的IoU值,其被定义为P(Object)*IoU,若没有真实目标,即边框对应原图上的位置为背景时,则置信度值定为0;最后每张特征图上预测出的结果维度为s*s*(B*5+C),其中C表示分类所得物体个数;与此同时,对于每个网格所预测的物体类别数满足条件概率P(Classi|Object),则总的预测概率公式表示为:P(Classi|Object)*P(Object)*IoU=Pr(Classi)*IoU          (12)对于目标物体的定位流程具体表述为:

1.将特征图划分为s*s大小的网格,每个网格均预测B个边框信息,包括位置信息和置信度值;

2.每个边框对应的置信度分值为score,代表该边框所预测目标为前景或者背景的概率及定位结果与预设标签IoU的准确性;

3.每个网格对应C个类别的目标物体概率值,筛选出最大的类别概率,并判定目标物体的边框回归;

步骤五,目标定位和特征分类损失函数的设定;

5.1)边框回归损失函数的设定;

在步骤四中已经求得每个边框的信息,即(x,y,w,h,score),则根据预先标定,已知其* * * *边框内对应的真实目标的位置信息表示为(x ,y ,w ,h),那么边框损失回归函数可以表示为如下公式:其中,ti表示边框i的坐标信息,即中心点坐标和边框宽与高ti=(xi,yi,wi,hi),而 表示真实目标的位置信息,则 上式中, 函数计算公式为:

5.2)多特征分类损失函数的设定;

为了将输出的多种目标特征进行分类,同时解决非线性划分的问题,采用了多分类Softmax损失函数;

对于给定模型的参数组θ,可以得求得输入样本的正确预测,然后推导出参数组θ的最大似然估计:利用联合概率对似然函数进行改写:P(t,z|θ),然后根据条件分布,求得如下条件分布公式:P(t,z|θ)=P(t|z,θ)P(z|θ)                        (16)然后将P(t,z|θ)转为l(θ|t,z)=P(t|z,θ),对于确定的θ,P(t|z,θ)则等价于P(t|z);

由于每一个ti都取决于z,而且仅激活一个ti,则得到如下式子:最大化似然函数则表示为最小化它的负对数似然函数:

其中,ξ(t,z)代表交叉熵误差函数,其在Softmax函数中被定义为下式:ξ(t,z)=-tc log(yc)-(1-tc)log(1-yc)                (19)在n个样本的处理过程中,交叉熵函数表示为:

上式中,当tic=1时,样本i是属于类别c,yic是样本i属于类别c的概率;

随后,对交叉熵损失函数进行推导, 为:

最后,由多分类模型回归输出得到目标边框,并显示其为某类别的概率。