一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于卷积神经网络的行人检测方法与流程

2022-02-22 06:52:44 来源:中国专利 TAG:


1.本发明属于计算机视觉中的目标检测领域,特别是一种基于卷积神经网络的行人检测方法。


背景技术:

2.行人检测技术是在给定的图像上判断是否有行人,并且要标注出行人的位置,一般使用矩形框进行标注,行人检测技术可以与行人跟踪、行人重识别等技术相结合,应用于汽车无人驾驶系统(adas)、智能机器人、智能视频监控、人体行为分析、客流统计系统以及智能交通等领域。
3.传统的行人检测方法包括背景差法、帧差法、光流法、模板匹配法以及基于机器学习的方法,此类方法由于行人姿态变化,行人所处的环境较为复杂的因素检测精度不高,所以就催生了基于深度学习的行人检测方法,基于深度学习的行人检测方法检测精度远远高于其他传统方法,应用领域广泛;同时基于深度学习的目标检测方法大致分为单阶段法与两阶段法,其中单阶段法检测速度快,但检测精度略低于两阶段法,而两阶段法虽然检测精度较高,但是由于其检测速度过低,不能应用于实际检测的检测环境中,所以本发明就提供了一种能应用于实际检测环境中的行人检测方法。


技术实现要素:

4.本发明的目的在于提供一种基于卷积神经网络的行人检测方法,以解决行人检测领域中传统方法检测精度低,以及基于两阶段法检测速度过慢的问题。
5.实现本发明目的的技术解决方案为:一种基于卷积神经网络的行人检测方法,所述方法包括以下步骤:
6.步骤a,采集行人图像数据集且进行预处理,并将数据集按照预设比例划分为训练集以及测试集;
7.步骤b,构建卷积神经网络模型,并对模型中的参数进行初始化设置;
8.步骤c,标注训练集图像中目标的尺寸,利用训练集训练所述卷积神经网络模型;
9.步骤d,利用训练好的深度卷积神经网络模型检测行人,得到准确位置的行人检测框。
10.进一步地,步骤b所述构建卷积神经网络模型,并对模型中的参数进行初始化设置,具体过程包括:
11.步骤b1,构建用于提取行人图像中的特征的特征提取网络,并对其进行参数初始化;
12.步骤b2,构建用于对不同尺寸的目标的图像分别进行处理的特征提取分支网络,并对其进行参数初始化;
13.步骤b3,构建行人回归网络,并对其进行参数初始化。
14.进一步地,步骤b1中所述特征提取网络具体包括依次连接的:第一卷积层、最大池
化层、三个相同的第一残差模块、四个相同的第二残差模块、六个相同的第三残差模块、以及三个相同的第四残差模块,网络的输入与第一残差模块的输出相连;所述第一卷积层的卷积核大小为7
×
7、通道数为64、步长为2,最大池化层的卷积核为3
×
3、步长为2;所述第一残差模块包括依次连接的卷积核为1
×
1、通道数为64的卷积层,卷积核为3
×
3、通道数为64的卷积层,以及卷积核为1
×
1、通道数为256的卷积层;所述第二残差模块包括依次连接的卷积核为1
×
1、通道数为128的卷积层,卷积核为3
×
3,通道数为128的卷积层,以及卷积核为1
×
1、通道数为512的卷积层;所述第三残差模块包括依次连接的卷积核为1
×
1、通道数为256的卷积层,卷积核为3
×
3、通道数为256的卷积层,以及卷积核为1
×
1、通道数为1024的卷积层;所述第四残差模块包括依次连接的卷积核为1
×
1、通道数为512的卷积层,卷积核为3
×
3、通道数为512的卷积层,以及卷积核为1
×
1,通道数为2048的卷积层;
15.对所述特征提取网络进行参数初始化,具体包括:
16.(1)设置残差模块参数,卷积层参数以及池化层参数,其中残差模块的前向传播公式如式(1)所示:
[0017][0018]
其中,x
l
表示残差模块的输出,x
l
表示残差模块的输入,表示对输入进行卷积操作,f(
·
)表示卷积函数,wi表示卷积结构的待训练参数;
[0019]
残差模块的逆向传播公式如式(2)所示:
[0020][0021]
卷积层的前向传播公式如式(3)所示:
[0022][0023]
式中,f表示激励函数,l表示层数,m和n表示上一层和当前层上特征图的映射编号,表示当前第l层的第n个特征图,表示第l-1层的第m个特征图,表示第l层的第n个特征图与第l-1层的第m个特征图之间相关的卷积核,表示第l层的第n个特征图对应的偏置,mn表示输入特征图的一个子集,*表示卷积操作;
[0024]
卷积层的逆向误差传播公式如式(4)所示:
[0025][0026]
式中,表示第l层的第n个神经节点的灵敏度,表示下采样层的权值,o表示点乘,up()表示上采样操作,f
t
(
·
)表示对函数f求转置,其中,和分别表示第l层第n个特征图对应的权值和偏导,表示第l-1层的第n个特征图;
[0027]
卷积层的偏置以及卷积核的反向传播公式分别如式(5)、(6)所示:
[0028]
[0029][0030]
式中,e表示损失函数,为计算卷积时的每一个小区域,u、v分别表示灵敏度中的元素位置;
[0031]
对于池化层前向传播,直接对上一层的特征图相邻的4个像素进行求均值即可,而对于池化层的反向传播,当池化层的下一层是卷积层时,其反向误差传播公式如式(7)所示:
[0032][0033]
式中,m表示输入特征的集合,表示第l 1层的第n个特征图与第l层第m个特征图之间相关的卷积核,表示第l 1层的第n个神经节点的灵敏度,表示第l层的第m个神经节点的灵敏度;当池化层的下一层不是卷积层时,池化层的反向误差传播与bp网络误差传播形式相同;
[0034]
(2)采用高斯初始化对特征提取网络进行初始化操作。
[0035]
进一步地,所述特征提取分支网络的输入为特征提取网络的输出,包括三路分支,每一路分支包括依次连接的1
×
1卷积层、3
×
3卷积层、1
×
1卷积层,分支的输入与输出相连,同时每个分支与其他分支共享权值,三路分支的区别在于空洞卷积的膨胀率不同,分别设置为1,2,3;
[0036]
对所述特征提取分支网络进行参数初始化,具体包括:
[0037]
(1)设置空洞卷积的参数,空洞卷积的前向传播公式以及反向传播公式与卷积层的前向传播以及反向传播相同,如式(5)、式(6)所示,空洞卷积感受野的计算公式如式(8)所示:
[0038][0039]
式中,r
n-1
是上一层感受野,si是第i层卷积的步长,k为卷积核的大小;
[0040]
(2)采用高斯初始化对特征提取分支网络进行初始化操作。
[0041]
进一步地,所述行人回归网络的输入为特征提取分支网络的输出经过一个卷积层的结果,包括三个分支,分别用于预测行人中心点位置、行人的尺寸以及行人中心点的偏置;三个分支均包括依次连接的卷积核为3
×
3、padding为1、步长为1的卷积层,以及卷积核为1
×
1的卷积层;
[0042]
对所述建行人回归网络进行参数初始化,具体包括:
[0043]
采用高斯初始化对行人回归网络进行初始化操作。
[0044]
进一步地,步骤c中利用训练集训练所述卷积神经网络模型,具体为:
[0045]
(1)训练集中的图像输入至特征提取网络;
[0046]
(2)之后依据以下原则将特征提取网络的输出分别送入至特征提取分支网络的三个分支:
[0047]
将的图像送入至空洞卷积膨胀率为1的分支;
[0048]
将的图像送入至空洞卷积膨胀率为2的分支;
[0049]
将的图像送入至空洞卷积膨胀率为3的分支;
[0050]
其中,li、ui分别为预设的目标的最小尺寸和最大尺寸,w、h分别表示图像中所标注的目标的宽和高;
[0051]
(3)特征提取分支网络的输出经过一个卷积层后输入至行人回归网络,输出图像中行人的位置和尺寸;
[0052]
(4)利用(9)、(10)、(11)以及(12)得到网络的损失,利用反向传播训练卷积神经网络模型中的参数,重复训练直至网络的输出与真实的标注相差小于设定值,则网络训练结束;
[0053][0054]
式(9)为中心点的损失函数,其中α和β分别为2和4,n表示图像中关键点的数量,即待检测目标的数量,x,y以及z分别表示图像中像素点的位置和类别,y为真实值,预测值;
[0055][0056]
式(10)为目标位置的损失函数,p表示标注的真实值的坐标,p/r表示预测的目标中心位置,为网络的偏置输出特征图;
[0057][0058]
式(11)为目标尺寸的损失函数,表示预测的行人尺寸,n表示检测图像中目标的个数,sk表示目标k的真实尺寸;
[0059]
l
det
=lk λ
size
l
size
λ
off
l
off
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0060]
式(12)是整个网络的损失函数,根据此式训练网络的参数,其中λ
size
、λ
off
分别为0.1和1。
[0061]
本发明与现有技术相比,其显著优点为:1)利用深度学习构建行人检测网络,检测精度较高,对实际检测环境的变化不敏感,鲁棒性较好,能够应用在实际的生产环境中;2)由于在网络中直接使用卷积神经网络回归出行人位置以及尺寸信息,同时使用分支训练的方法,检测速度以及检测精度都能够很好的满足工程中的检测要求。
[0062]
下面结合附图对本发明作进一步详细描述。
附图说明
[0063]
图1为一个实施例中残差模块结构图。
[0064]
图2为一个实施例中特征提取网络结构图。
[0065]
图3为一个实施例中特征提取分支网络结构图。
[0066]
图4为一个实施例中基于卷积神经网络的行人检测方法的流程图。
具体实施方式
[0067]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0068]
在一个实施例中,结合图4,提供了一种基于卷积神经网络的行人检测方法,所述方法包括以下步骤:
[0069]
步骤a,采集行人图像数据集且进行预处理,并将数据集按照预设比例划分为训练集以及测试集;
[0070]
这里,行人图像数据集可通过收集公开的行人检测图像数据(例如caltech行人数据集、eurocity persons-ecp数据集、cvc行人数据集等)和已有的道路卡口监控视频获取;
[0071]
步骤b,构建卷积神经网络模型,并对模型中的参数进行初始化设置;
[0072]
步骤c,标注训练集图像中目标的尺寸,利用训练集训练所述卷积神经网络模型;
[0073]
步骤d,利用训练好的深度卷积神经网络模型检测行人,得到准确位置的行人检测框。
[0074]
进一步地,在其中一个实施例中,步骤a中所述预处理包括高斯滤波以及归一化处理,具体过程包括:
[0075]
步骤a2a,将行人图像数据集中图像的大小统一设置为512x512,对图像进行高斯滤波,所用公式为:
[0076][0077]
式中,(x,y)为图像中点的坐标,σ为标准差;此操作是消除图像中不相关的干扰,使最终的检测更加准确;
[0078]
步骤a2b,对图像中的每一个像素进行归一化,所用公式为:
[0079][0080]
式中,(i,j)表示图像中像素的位置,x
ij
表示位置(i,j)的像素值,x
min
、x
max
分别表示图像中像素的最小值与最大值。
[0081]
进一步地,在其中一个实施例中,步骤a中将整个行人图像数据集以4:1的比例划分为训练数据以及测试数据,因为按照此比例可以更好地泛化模型参数,使训练后的网络鲁棒性更好。
[0082]
进一步地,在其中一个实施例中,步骤b所述构建卷积神经网络模型,并对模型中的参数进行初始化设置,具体过程包括:
[0083]
步骤b1,构建用于提取行人图像中的特征的特征提取网络,并对其进行参数初始化;
[0084]
步骤b2,构建用于对不同尺寸的目标的图像分别进行处理的特征提取分支网络,并对其进行参数初始化;
[0085]
步骤b3,构建行人回归网络,并对其进行参数初始化。
[0086]
进一步地,在其中一个实施例中,结合图1和图2,步骤b1中所述特征提取网络是由多个残差模块连接而成,所谓残差模块就是在多个卷积层串联的基础上,将输入与输出连
接起来。具体包括依次连接的:第一卷积层、最大池化层、三个相同的第一残差模块、四个相同的第二残差模块、六个相同的第三残差模块、以及三个相同的第四残差模块,网络的输入与第一残差模块的输出相连;所述第一卷积层的卷积核大小为7
×
7、通道数为64、步长为2,最大池化层的卷积核为3
×
3、步长为2;所述第一残差模块包括依次连接的卷积核为1
×
1、通道数为64的卷积层,卷积核为3
×
3、通道数为64的卷积层,以及卷积核为1
×
1、通道数为256的卷积层;所述第二残差模块包括依次连接的卷积核为1
×
1、通道数为128的卷积层,卷积核为3
×
3,通道数为128的卷积层,以及卷积核为1
×
1、通道数为512的卷积层;所述第三残差模块包括依次连接的卷积核为1
×
1、通道数为256的卷积层,卷积核为3
×
3、通道数为256的卷积层,以及卷积核为1
×
1、通道数为1024的卷积层;所述第四残差模块包括依次连接的卷积核为1
×
1、通道数为512的卷积层,卷积核为3
×
3、通道数为512的卷积层,以及卷积核为1
×
1,通道数为2048的卷积层;具体如下表1所示:
[0087]
表1特征提取网络结构
[0088][0089]
对所述特征提取网络进行参数初始化,具体包括:
[0090]
(1)设置残差模块参数,卷积层参数以及池化层参数,其中残差模块的前向传播公式如式(15)所示:
[0091][0092]
其中,x
l
表示残差模块的输出,x
l
表示残差模块的输入,表示对输入进行卷积操作,f(
·
)表示卷积函数,wi表示卷积结构的待训练参数;
[0093]
残差模块的逆向传播公式如式(16)所示:
[0094][0095]
卷积层的前向传播公式如式(17)所示:
[0096][0097]
式中,f表示激励函数,l表示层数,m和n表示上一层和当前层上特征图的映射编号,表示当前第l层的第n个特征图,表示第l-1层的第m个特征图,表示第l层的第n个特征图与第l-1层的第m个特征图之间相关的卷积核,表示第l层的第n个特征图对应的偏置,mn表示输入特征图的一个子集,*表示卷积操作;
[0098]
卷积层的逆向误差传播公式如式(18)所示:
[0099][0100]
式中,表示第l层的第n个神经节点的灵敏度,表示下采样层的权值,o表示点乘,up()表示上采样操作,f
t
(
·
)表示对函数f求转置,其中,和分别表示第l层第n个特征图对应的权值和偏导,表示第l-1层的第n个特征图;
[0101]
卷积层的偏置以及卷积核的反向传播公式分别如式(19)、(20)所示:
[0102][0103][0104]
式中,e表示损失函数,为计算卷积时的每一个小区域,u、v分别表示灵敏度中的元素位置;
[0105]
对于池化层前向传播,直接对上一层的特征图相邻的4个像素进行求均值即可,而对于池化层的反向传播,当池化层的下一层是卷积层时,其反向误差传播公式如式(21)所示:
[0106][0107]
式中,m表示输入特征的集合,表示第l 1层的第n个特征图与第l层第m个特征图之间相关的卷积核,表示第l 1层的第n个神经节点的灵敏度,表示第l层的第m个神经节点的灵敏度;当池化层的下一层不是卷积层时,池化层的反向误差传播与bp网络误差传播形式相同;
[0108]
(2)采用高斯初始化对特征提取网络进行初始化操作。
[0109]
本网络仅仅是一个举例,在具体实施中可以将此网络的网络层数适当的增加或减少,甚至增加诸如inception的模块以改进网络性能。
[0110]
进一步地,在其中一个实施例中,结合图3,所述特征提取分支网络的输入为特征
提取网络的输出,包括三路分支,每一路分支包括依次连接的1
×
1卷积层、3
×
3卷积层、1
×
1卷积层,分支的输入与输出相连,同时每个分支与其他分支共享权值,三路分支的区别在于空洞卷积的膨胀率不同,分别设置为1,2,3;关于膨胀率的介绍如下,在一般的卷积核中,是取特征图相邻连续的像素作为元素与卷积核相乘,此时空洞率为1,但空洞卷积大于1的卷积,则是两个采样点相隔d-1个特征像素,其中d为空洞率;
[0111]
对所述特征提取分支网络进行参数初始化,具体包括:
[0112]
(1)设置空洞卷积的参数,空洞卷积的前向传播公式以及反向传播公式与卷积层的前向传播以及反向传播相同,如式(19)、式(20)所示,空洞卷积感受野的计算公式如式(22)所示:
[0113][0114]
式中,r
n-1
是上一层感受野,si是第i层卷积的步长,k为卷积核的大小;
[0115]
(2)采用高斯初始化对特征提取分支网络进行初始化操作,即从均值为0,方差为1的高斯分布中随机采样。
[0116]
在本例中采用一个这样的特征提取分支网络,再具体的实施方案中,可以根据实际用途,采用多个此分支网络。
[0117]
进一步地,在其中一个实施例中,所述行人回归网络的输入为特征提取分支网络的输出经过一个卷积层的结果,包括并联的三个分支,分别用于预测行人中心点位置、行人的尺寸以及行人中心点的偏置;三个分支均包括依次连接的卷积核为3
×
3、padding为1、步长为1的卷积层,以及卷积核为1
×
1的卷积层(降维);
[0118]
对所述建行人回归网络进行参数初始化,具体包括:
[0119]
采用高斯初始化对行人回归网络进行初始化操作。
[0120]
进一步地,在其中一个实施例中,步骤c中利用训练集训练所述卷积神经网络模型,具体为:
[0121]
(1)训练集中的图像输入至特征提取网络;
[0122]
(2)之后依据以下原则将特征提取网络的输出分别送入至特征提取分支网络的三个分支:
[0123]
将的图像送入至空洞卷积膨胀率为1的分支;
[0124]
将的图像送入至空洞卷积膨胀率为2的分支;
[0125]
将的图像送入至空洞卷积膨胀率为3的分支;
[0126]
其中,li、ui分别为预设的目标的最小尺寸和最大尺寸,w、h分别表示图像中所标注的目标的宽和高;
[0127]
(3)特征提取分支网络的输出经过一个卷积层后输入至行人回归网络,输出图像中行人的位置和尺寸;
[0128]
(4)利用(23)、(24)、(25)以及(26)得到网络的损失,利用反向传播训练卷积神经网络模型中的参数,重复训练直至网络的输出与真实的标注相差小于设定值,则网络训练结束;
[0129][0130]
式(23)为中心点的损失函数,其中α和β分别为2和4,n表示图像中关键点的数量,即待检测目标的数量,x,y以及z分别表示图像中像素点的位置和类别,y为真实值,预测值;
[0131][0132]
式(24)为目标位置的损失函数,p表示标注的真实值的坐标,p/r表示预测的目标中心位置,为网络的偏置输出特征图;
[0133][0134]
式(25)为目标尺寸的损失函数,表示预测的行人尺寸,n表示检测图像中目标的个数,sk表示目标k的真实尺寸;
[0135]
l
det
=lk λ
size
l
size
λ
off
l
off
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(26)
[0136]
式(26)是整个网络的损失函数,根据此式训练网络的参数,其中λ
size
、λ
off
分别为0.1和1。
[0137]
在上述卷积网络的训练过程中,一次迭代的过程包括:通过反向传播和梯度下降算法来拟合行人目标的检测,通过降低检测目标位置,偏置以及类别的误差来达到降低整个卷积神经网络误差的目的,再通过前向传播更新模型中的权重,达到10000次迭代或者神经网络的输出与真实目标的的误差小于设定值后,终止训练。
[0138]
综上,本发明方法利用卷积神经网络检测出行人,可以根据检测目标的尺寸不同动态的选择训练分支,得到更加准确的行人特征描述,无需手动设计行人特征,并且其检测准确率较高,检测速度较快,省时省力,可以应用在自动驾驶,辅助驾驶系统,安保系统以及机器人等多个领域,并且因为其基于深度学习方法,可以根据不同的应用场景获取不同的行人数据集进行训练,使其能够适用多种不同的领域,并且保持较高的检测准确率。
[0139]
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献