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

一种基于二值化的卷积神经网络车辆分类方法与流程

2022-02-23 01:01:06 来源:中国专利 TAG:


1.本发明涉及一种基于二值化的卷积神经网络车辆分类方法,属于深度学习模型压缩技术领域。


背景技术:

2.车辆识别是智能交通系统的重要组成部分,尤其在公路安全管理中,车辆类型的识别在交通流量管理、高速公路收费及检测货车违法占道等方面起到重要的作用。
3.近年来,卷积神经网络(convolutional neural network,cnn)在图像分类、目标检测、实例分割等领域取得了一系列突破性的研究成果,其强大的特征学习与分类能力引起了广泛的关注。基于cnn的车辆识别技术在识别精度上全面超越了传统方法。
4.随着cnn及其改进算法的进一步发展,为了追求更高的精度,近年来,cnn模型的计算规模变得更加庞大、网络结构更加复杂且不规则、参数量巨大,对运算平台的存储容量和计算能力也提出了较高的要求,这就限制了cnn等算法在功耗和性能受限的嵌入式平台上的发展。
5.因此,很多研究人员开始提出各种模型压缩算法和技术,即在容忍一定的精度下降的代价下,降低cnn的运算强度和模型参数的容量。其中量化模型由于在硬件上移植会非常方便,因此神经网络模型的量化成为了一项有效的解决方案。


技术实现要素:

6.本发明要解决的技术问题是提供一种基于二值化的卷积神经网络车辆分类方法,降低卷积神经网络的运算强度和模型参数的容量,在保证精度的同时提高了运算速度,增加了深度学习算法在嵌入式端部署的可行性,从而解决深度学习由于模型复杂、参数量巨大,不适合在存储容量和计算能力有限的嵌入式终端上部署的问题。
7.本发明的技术方案是:一种基于二值化的卷积神经网络车辆分类方法,先构建并训练二值化卷积神经网络分类模型,然后通过训练好的网络模型对实际车辆进行分类。
8.具体步骤为:
9.step1:采集不同类型的车辆图像数据,对图像数据进行类别标注,然后分成训练集和测试集。
10.所述不同类型的车辆图像数据至少包括轿车、公交车、货车、面包车、摩托车,总样本不少于5000张,其中,小轿车占比40%,货车15%、面包车20%,公交车15%,摩托车10%,各类车辆图像角度至少包括正面、侧面、背面三个角度,训练集和测试集按照8:2的比例分割。
11.step2:构建卷积神经网络,并对其进行二值化,形成二值化的卷积神经网络;
12.所述构建的卷积神经网络为vgg网络,并对其进行了网络层的缩减,只保留6个卷积层、3个池化层以及一个全连接层,其中第一个卷积层和全连接采用全精度的输入和权重,以达到有效的信息流。
13.所述二值化的具体过程为:在卷积神经网络中将特征图利用分块偏移的符号函数二值化,将权重利用符号函数二值化,二值化的特征图和二值化的卷积核权重的卷积操作为
14.其中i表示全精度输入特征图,w表示全精度的权重,

《《’和

》》’为移位操作,s为移位步长;
15.卷积神经网络的网络层顺序改变为bn层

二值化激活层

二值化卷积

降采样层。对降采样层进行重新设计,使其能够更好地适应二值化网络。
16.所述降采样层的设计采用了新的池化方式,对特征图进行最大池化和最小池化(即每个池化块取最小值),并对两个结果进行拼接作为输出。
17.step3:利用所述训练集对二值化的卷积神经网络进行训练。
18.所述step3具体为:训练阶段权重初始化为32位浮点数,前向传播过程中利用符号函数将权重和激活二值化为 1/-1,运用二值化后的权重和激活值进行卷积运算,得到卷积层的输出;在反向传播中,由于二值化的激活函数不可微,基于梯度下降的反向传播算法不能直接应用于更新二值化的权重,反向传播中使用直通估计器(ste),对全精度的权重参数进行更新,待正向传播时再将其二值化使用。
19.所述对二值化的卷积神经网络进行训练采用adam优化器,对二值化的卷积层不适用l2正则化进行权重衰减,其余各层使用系数为0.0001的l2正则化惊醒权重衰,训练过程中先对激活进行二值化,在训练60个epoch后再加入权重的二值化,最终得到激活和权重均二值化的网络。
20.所述移位步长s是根据全精度参数值对二值化的值做一个调整,使其更接近真实值,在权重二值化前,对权重进行标准化操作:
[0021][0022][0023]
其中,mean为均值,std为标准差,为w距平,为w标准化结果。
[0024]
对归一化后的权重二值化:
[0025][0026]
bw为二值化权重。
[0027]
所述移位步长s为:
[0028][0029]
式中,round为取整函数,为标准化后的权重。
[0030]
所述偏移的符号函数为:
[0031]
resign=sign(x b)
[0032]
式中,sign为符号函数,x为全精度特征值,b为符号函数偏移。
[0033]
在二值化激活中,将特征图分块,每块按照不同的偏移符号函数进行二值化激活。
[0034]
step4:利用所述测试集测试训练后的二值化的的卷积神经网络,检测其性能,达到较优效果后将网络进行卷积层、bn层合并,并针对硬件移植做出优化调整,再移植到树莓派上,利用摄像头收集车辆图像数据进行实地测试。
[0035]
所述step4对硬件移植做出优化调整具体为:卷积层和bn层的合并;
[0036]
所述卷积层中包含权重w;
[0037]
所述bn层中包含均值:μ,方差:δ,缩放因子:γ,偏移:β,一个较小数:ε,较小数ε的作用是防止分母为0;
[0038][0039][0040][0041][0042]
式中,m为bn层输入特征值数量,xi为bn层输入特征值,yi为bn层输出,为xi标准化结果。
[0043]
所述bn层和卷积层合并后为:
[0044][0045]wmerged
=w
×
α
[0046]bmerged
=β-μ
×
α
[0047]
式中,w
merged
为合并卷和bn层后的卷积权重,b
merged
为合并卷积和bn层后的卷积偏置,α为合并卷积和bn层后的权重变换系数。
[0048]
激活函数后变为:
[0049][0050]
其中,w
merged
和w
merged
均可在模型训练好后求出。这样就简化了网络的前向传播过程,易于嵌入式端移植。
[0051]
本发明的有益效果是:
[0052]
1、本发明将现有的卷积神经网络分类算法二值化,并对二值化的网络结构进行了优化,运用适合二值化的训练方法训练出有效的二值化卷积神经网络模型,并移植到树莓派上。
[0053]
2、本发明降低卷积神经网络的运算强度和模型参数的容量,在保证精度的同时提高了运算速度,解决深度学习由于模型复杂、参数量巨大,不适合在存储容量和计算能力有限的嵌入式终端上部署的问题,增加了深度学习算法在嵌入式端部署的可行性。
附图说明
[0054]
图1是本发明的网络结构图;
[0055]
图2是最大池化和最小池化示意图;
[0056]
图3是改进的降采样层结构示意图。
具体实施方式
[0057]
下面结合附图和具体实施方式,对本发明作进一步说明。
[0058]
实施例1:一种二值化的卷积神经网络车辆分类方法,所述方法的具体步骤如下:
[0059]
step1:采集5种类型的车辆图像数据不少于5000张,分别为轿车、公交车、货车、面包车、摩托车,其中,小轿车占比40%,货车15%、面包车20%,公交车15%,摩托车10%,各类车辆图像角度包括正面、侧面、背面等多个角度;训练集和测试集按照8:2的比例分割。根据网络结构的输入要求,将图片均缩放为32*32的大小。
[0060]
step2:构建如图1所示的卷积神经网络,并对其进行二值化,形成二值化的卷积神经网络;二值化的具体操作为:
[0061]
在卷积神经网络中将特征图利用分块偏移的符号函数二值化公式为:
[0062]
resign=sign(x b)
[0063]
将权重利用符号函数二值化,二值化的特征图和二值化的卷积核权重的卷积操作为:
[0064][0065]
其中,i表示全精度输入特征图,w表示全精度的权重,

《《’和

》》’为移位操作,s为移位步长,s的确定步骤如下:
[0066]
在权重二值化前,对权重进行标准化操作:
[0067][0068][0069][0070]
其中,mean为均值,std为标准差,round为取整函数。
[0071]
移位步长s为:
[0072][0073]
卷积神经网络的网络层顺序改变为bn层

二值化激活层

二值化卷积

降采样层。如图2、图3所示,对降采样层进行重新设计,使其能够更好地适应二值化网络。
[0074]
step3:用训练集训练二值化的卷积神经网络,具体为:
[0075]
step3.1:训练阶段权重初始化为32位浮点数;设置初始学习率为0.001,在第30、60、90、120、150个epoch调整学习率,乘系数0.2,最大训练epoch设置为200,训练过程中先对激活进行二值化,在训练60个epoch后再加入权重的二值化,最终达到激活和权重均二值化的网络。
[0076]
step3.2:训练二值化卷积神经网络采用adam优化器,对二值化的卷积层不适用l2正则化进行权重衰减,其余各层使用系数为0.0001的l2正则化惊醒权重衰。
[0077]
step3.3:前向传播过程中利用符号函数将权重和激活二值化为 1/-1,运用二值化后的权重和激活值进行卷积运算,得到卷积层的输出。
[0078]
step3.4:在反向传播中,由于二值化的激活函数不可微,基于梯度下降的反向传播算法不能直接应用于更新二值化的权重,反向传播中使用直通估计器(ste),对全精度的权重参数进行更新,待正向传播时再将其二值化使用。
[0079]
step4:利用测试集测试二值化的的卷积神经网络,检测其性能,达到较优效果后将网络进行卷积层、bn层合并,并针对硬件移植做出一些优化调整,具体如下:
[0080]
对网络中的卷积层和bn层的合并:
[0081]
卷积层中:权重w
[0082]
bn层中:均值:μ,方差:δ,缩放因子:γ,偏移:β,一个较小数(防止分母为0):ε。
[0083][0084][0085][0086][0087]
bn层和卷积层合并后:
[0088][0089]wmerged
=w
×
α
[0090]bmerged
=β-μ
×
α
[0091]
激活函数变为:
[0092][0093]
根据训练得到的模型参数计算w
merged
和w
merged
的值,根据天正后的网络结构重新构建优化的二值化卷积神经网络,并将参数根据所求值进行更新。然后将网络模型移植到树莓派上,利用摄像头收集车辆图像数据进行实地测试。
[0094]
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
再多了解一些

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

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

相关文献