CN108765506B - 基于逐层网络二值化的压缩方法 - Google Patents

基于逐层网络二值化的压缩方法 Download PDF

Info

Publication number
CN108765506B
CN108765506B CN201810487253.4A CN201810487253A CN108765506B CN 108765506 B CN108765506 B CN 108765506B CN 201810487253 A CN201810487253 A CN 201810487253A CN 108765506 B CN108765506 B CN 108765506B
Authority
CN
China
Prior art keywords
layer
value
network
neural network
convolutional neural
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810487253.4A
Other languages
English (en)
Other versions
CN108765506A (zh
Inventor
徐奕
倪冰冰
庄丽学
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201810487253.4A priority Critical patent/CN108765506B/zh
Publication of CN108765506A publication Critical patent/CN108765506A/zh
Application granted granted Critical
Publication of CN108765506B publication Critical patent/CN108765506B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供了一种基于逐层网络二值化的压缩方法,包括:构建浮点型的深度卷积神经网络;按照所述深度卷积神经网络的层级深度的相反顺序由深及浅地将网络中的参数逐层二值化,直至所述深度卷积神经网络中的所有层级均被二值化,得到二值化的深度卷积神经网络;通过所述二值化的深度卷积神经网络进行行人检测。从而实现了网络的压缩与加速,又有效地解决了由于网络量化造成的大幅度的精度损失的问题。

Description

基于逐层网络二值化的压缩方法
技术领域
本发明涉及图像处理技术领域,具体地,涉及基于逐层网络二值化的压缩方法。
背景技术
行人检测旨在将图像中的行人检测出来,并准确输出候选框的位置及分数。行人检测在计算机视觉领域具有极其广泛的应用:如智能监控,车辆辅助驾驶,智能机器人及人体行为分析等。近年来,随着深度学习方法的流行,深度卷积神经网络已经成为解决行人检测,行人再识别,语义分割等众多任务的先进的技术。为了提高检测的精度,研究人员普遍趋向于使用更深更宽的神经网络。然而这些基于卷积神经网络的方法需要进行大量的浮点型运算,并且网络模型占用的存储空间较大,因此对应用设备具有很高的要求。例如,获取2012年ImageNet物体分类比赛的AlexNet网络模型具有61兆参数,模型大小超过200兆。使用该模型进行一次图像分类需要进行约十亿次浮点型运算。在检测领域广泛使用的VGG-16网络的模型大小超过500兆,进行一次分类需要约四百亿次浮点型运算。巨大的运算需求及存储需求使得基于卷积神经网络的检测算法难以被部署到资源受限平台上,如嵌入式设备及手机等移动端。在这种情况下,如何实现网络压缩,降低计算量,加快检测速度是一个至关重要的问题。
经过对现有技术的文献检索发现,Mohammad Rastegari等人在2016年《EuropeanConference on Computer Vision》(欧洲计算机视觉会议)上发表的“Xnor-net:Imagenetclassification using binary convolutional neural networks”(Xnor-net:使用二值化卷积神经网络对Imagenet数据库进行分类)论文中提出了二值化网络BWN的概念,该方法利用二值化权值和实数化的尺度因子来近似浮点数权值,将原始浮点型权值近似为+1或-1,权值被二值化后,卷积运算可以只通过加减法运算完成,省去乘法运算,可以将运算速度提高约两倍,同时节省32倍的存储空间。该方法在应用到浅层神经网络时可以达到精度零损失,促使基于卷积神经网络的检测方法可以在资源受限平台上使用。
但是由于使用二值化权值近似浮点型权值的估计方法比较粗糙,存在估计误差。在较深的卷积神经网络中,将网络的所有层级的参数同时二值化,估计误差被逐层累积,经过多层网络后误差被大幅度地放大,导致检测网络存在较大的精度损失。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于逐层网络二值化的压缩方法。
根据本发明提供的一种基于逐层网络二值化的压缩方法,包括:
构建浮点型的深度卷积神经网络;
按照所述深度卷积神经网络的层级深度的相反顺序由深及浅地将网络中的参数逐层二值化,直至所述深度卷积神经网络中的所有层级均被二值化,得到二值化的深度卷积神经网络;
通过所述二值化的深度卷积神经网络进行行人检测。
可选地,所述构建浮点型的深度卷积神经网络,包括:
利用YOLOv2检测框架实现行人检测,通过误差反向传播算法训练得到浮点型的深度卷积神经网络。
可选地,所述利用YOLOv2检测框架实现行人检测,通过误差反向传播算法训练得到浮点型的深度卷积神经网络,包括:
步骤S11:输入图像,通过前向传播过程计算得出深度卷积神经网络中的各单元值;
其中,在前向传播过程中,深度卷积神经网络各层级的各节点单元激活值的计算公式如下:
Figure GDA0002809127260000021
式中,z(i)表示第i层节点单元的值,由输入值与卷积核相乘和偏移值相加得到;a(i)表示第i层节点经过激活函数f()后的激活值,W(i-1)及b(i-1)分别表示第i-1层上的卷积核及偏移值;z(i+1)表示第i+1层节点单元的值,由输入值与卷积核相乘和偏移值相加得到;a(i +1)表示第i+1层节点经过激活函数f()后的激活值,W(i)及b(i)分别表示第i层上的卷积核及偏移值;
f()表示激活函数,包括ReLU函数;其中,ReLU函数为:
f(x)=max(0,x)
步骤S12:求解深度卷积神经网络的代价函数
Figure GDA0002809127260000031
式中,y表示网络最后一层的输出,若网络包含L层参数,则y=aL,O表示训练样本的标准值,E表示损失值,aL表示第L层网络的激活值;
步骤S13:通过反向传播过程由代价函数求解各层各单元的残差值,其中,输出第l层单元的残差值为:
Figure GDA0002809127260000032
式中:δ(l)表示第l层单元的残差值,z(l)表示第l层节点单元的值,f′()表示激活函数的导数;
对于l=2,3,...,n-1各层,用sl表示第l层的节点数,则l层i单元的残差值为:
Figure GDA0002809127260000033
式中:
Figure GDA0002809127260000034
表示第l层上第i个节点单元的残差值,
Figure GDA0002809127260000035
表示第l层上第i个节点单元的值,
Figure GDA0002809127260000036
表示第l+1层上第j个节点单元的残差值,
Figure GDA0002809127260000037
表示第l层第i个结点与第l+1层第j个结点相连接的权值;
利用求得的残差值求取代价函数对权值W和偏移b的偏导数:
Figure GDA0002809127260000038
式中:
Figure GDA0002809127260000039
表示第l层第j个结点的激活值,
Figure GDA00028091272600000310
表示第l+1层第i个结点,
Figure GDA00028091272600000311
表示第l层第i个结点的偏移值;
步骤S14:令
Figure GDA00028091272600000312
式中:η代表学习率,左侧
Figure GDA00028091272600000313
表示更新后的值,右侧
Figure GDA00028091272600000314
表示更新前的值,左侧
Figure GDA00028091272600000315
表示更新后的值,右侧
Figure GDA00028091272600000316
表示更新前的值;其中,采用均匀分步策略改变学习率,所述均匀分步策略是指:当训练次数达到预设次数时,学习率按照预设的比例放大或减小;
步骤S15:循环执行步骤S11至S14步骤,使得代价函数E的值达到最小值或达到最大迭代次数,以得到深度卷积神经网络中各层级参数的最优解。
可选地,所述将网络中的参数逐层二值化,包括:
步骤S21:选定浮点型的深度卷积神经网络中的某一层级;
步骤S22,将选定的层级中的浮点型卷积核进行量化,计算二值化卷积核及尺度因子;
步骤S23:将选定层级的参数二值化后,通过前向传播,计算损失值,反向传播过程后,计算每层参数的梯度,将原始参数按照梯度下降的方向更新,使得参数更新到最优解,损失值变小。
可选地,所述步骤S22包括:
假设层级中原始浮点型卷积核为W,卷积核维度为Rc×w×h,其中c表示该层级卷积核的输出通道数,w和h分别表示该层卷积核的宽度及高度,尺度因子及二值化卷积核的计算遵循
Figure GDA0002809127260000048
的正则化标准;
Figure GDA0002809127260000041
得到二值化量化结果为:
Figure GDA0002809127260000042
B*=sign(W)
其中,尺度因子α∈R+,二值化权值矩阵B∈{+1,-1}c×w×h,J()表示优化函数;α*表示尺度因子的最优解,B*表示二值化卷积核的最优解;
Figure GDA0002809127260000043
表示最小化优化函数求取尺度因子α及二值化卷积核B的最优解;n=c×w×h表示滤波器中参数个数;
Figure GDA0002809127260000044
表示求取浮点型卷积核W中的各个参数的绝对值之和;
得到二值化量化结果后,原始浮点型卷积核近似为W≈αB,假设该层的输入为I,则原始的卷积运算公式如下:
Figure GDA0002809127260000045
其中,由于二值化矩阵只含有+1或-1,原始卷积运算中的乘法省略,
Figure GDA0002809127260000047
表示只含加减法的卷积运算。
可选地,所述深度卷积神经网络的第一层及最后一层参数保持为浮点型参数。
与现有技术相比,本发明具有如下的有益效果:
本发明提供的基于逐层网络二值化的压缩方法,通过将浮点型的深度卷积神经网络逐层二值化,替换一般算法中同时将所有参数量化的方式,既实现了网络的压缩与加速,又有效地解决了由于网络量化造成的大幅度的精度损失的问题。采用本发明提出的逐层二值化压缩方法得到的网络精度与浮点型网络相比相差仅3%,为在资源受限平台下实现深度物体检测算法提供了可能,推动了将深度学习算法应用到移动端等设备上的发展。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例提供的基于逐层网络二值化的压缩方法的流程图;
图2为本发明实施例提供的YOLOv2神经网络结构图;
图3为逐层二值化示意图;
图4为本发明方法与当前先进算法在加州理工数据集上的对比实验结果示意图;
图5为本发明与当前先进算法在INRIA数据集上的对比实验结果示意图;
图6为本发明方法在加州理工数据集上的行人检测结果示意图;
图7为本发明方法在INRIA数据集上的行人检测结果示意图;
图8为本发明方法在INRIA数据库中逐层二值化网络的漏检率变化曲线示意图;
图9为本发明方法在INRIA数据库中逐层二值化网络的模型大小变化曲线示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明提供的一种基于逐层网络二值化的压缩方法,包括:
S1:构建浮点型的深度卷积神经网络。
本实施例中,浮点型的深度卷积神经网络是指:卷积神经网络中的所有参数即权值W和偏置b保持为浮点型数值,在存储模型时每个数值占据32比特的空间。
一般深度神经网络使用最后一层特征层进行检测,随着网络层级的增加,卷积操作和下采样操作的堆积,特征逐渐粗糙,网络中浅层的特征层包含更多细节特征,即细粒度特征,将细粒度特征与高层语义特征结合对小尺度物体的检测有较大帮助。
所述步骤S1,包括:利用YOLOv2(You Only Look Once version 2)优卢2检测框架实现行人检测,通过误差反向传播算法训练得到浮点型的深度卷积神经网络。该算法实现端到端的检测,同时利用细粒度特征解决小尺度物体难以检测的问题。YOLOv2是基于GoogleNet深度网络结构的检测算法,该算法结合回归思想,借鉴了Faster R-CNN(FasterRegions With Convolutional Neural Network)基于区域的快速卷积神经网络方法中的建议框思想,即给定输入图像,在图像的多个位置上回归出该位置上的目标边框以及目标类别。其中,建议框思想是指:在卷积特征图上进行滑窗采样,特征图上每个像素点使用5种不同大小和比例的建议框来回归出最终的候选框。在训练过程中,通过将这些多尺寸的建议框和标定框比较,若来确定建议框是否含有行人,从而训练网络。在检测过程中,由于只需卷积操作,很好的保留了空间信息,最终特征图上的每个特征点和原图的每个块一一对应。网络预测出每个候选框相对于网格的中心位置(σ(tx),σ(ty)),得到中心点坐标(bx,by)。同时预测出相对于建议框的尺度的偏移。假设建议框的长宽分别为(pw,ph),该建议框位于原图的第(cx,cy)网格中,则候选框在原图中的中心位置(bx,by)及长宽(bw,bh)按下列公式计算:
bx=σ(tx)+cx
by=σ(ty)+cy
Figure GDA0002809127260000061
Figure GDA0002809127260000062
式中:tw表示对数空间中相对于建议框的宽,th表示对数空间中相对于建议框的高,tx表示相对于建议框尺度不变的x方向平移,ty表示相对于建议框尺度不变的y方向平移。
其中,误差反向传播算法(即梯度下降法)是指:在经过前向传播算法获得各层各节点的激活值后,通过计算相应的残差来修正相关的参数值。规定一组样本集为(xi,yi),i=1,2,3...,网络层数为n,其中各层级的权值为W,每层每个单元的激活值为a,输出层的输出值为O,即最后一层的激活值an
具体地,所述步骤S1可以包括:
步骤S11:输入图像,通过前向传播过程计算得出深度卷积神经网络中的各单元值;
其中,在前向传播过程中,深度卷积神经网络各层级的各节点单元激活值的计算公式如下:
Figure GDA0002809127260000071
式中,z(i)表示第i层节点单元的值,由输入值与卷积核相乘和偏移值相加得到;a(i)表示第i层节点经过激活函数f()后的激活值,W(i-1)及b(i-1)分别表示第i-1层上的卷积核及偏移值;z(i+1)表示第i+1层节点单元的值,由输入值与卷积核相乘和偏移值相加得到;a(i +1)表示第i+1层节点经过激活函数f()后的激活值,W(i)及b(i)分别表示第i层上的卷积核及偏移值;
f()表示激活函数,包括ReLU函数;其中,ReLU函数为:
f(x)=max(0,x)
步骤S12:求解深度卷积神经网络的代价函数
Figure GDA0002809127260000072
式中,y表示网络最后一层的输出,若网络包含L层参数,则y=aL,O表示训练样本的标准值,E表示损失值,aL表示第L层网络的激活值;
Figure GDA0002809127260000073
式中:δ(l)表示第l层单元的残差值,z(l)表示第l层节点单元的值,f′()表示激活函数的导数;
步骤S13:通过反向传播过程由代价函数求解各层各单元的残差值,其中,输出第l层单元的残差值为:
Figure GDA0002809127260000074
式中:δ(l)表示第l层单元的残差值,z(l)表示第l层节点单元的值,f′()表示激活函数的导数;
对于l=2,3,...,n-1各层,用sl表示第l层的节点数,则l层i单元的残差值为:
Figure GDA0002809127260000075
式中:
Figure GDA0002809127260000076
表示第l层上第i个节点单元的残差值,
Figure GDA0002809127260000077
表示第l层上第i个节点单元的值,
Figure GDA0002809127260000078
表示第l+1层上第j个节点单元的残差值,
Figure GDA0002809127260000079
表示连接第l层第i个结点与第l+1层第j个结点的权值;
利用求得的残差值求取代价函数对权值W和偏移b的偏导数:
Figure GDA0002809127260000081
Figure GDA0002809127260000082
式中:
Figure GDA0002809127260000083
表示第l层第j个结点的激活值,
Figure GDA0002809127260000084
表示第l+1层第i个结点,
Figure GDA0002809127260000085
表示第l层第i个结点的偏移值;
步骤S14:令
Figure GDA0002809127260000086
式中:η代表学习率,左侧
Figure GDA0002809127260000087
表示更新后的值,右侧
Figure GDA0002809127260000088
表示更新前的值,左侧
Figure GDA0002809127260000089
表示更新后的值,右侧
Figure GDA00028091272600000810
表示更新前的值;其中,采用均匀分步策略改变学习率,所述均匀分步策略是指:当训练次数达到预设次数时,学习率按照预设的比例放大或减小;
步骤S15:循环执行步骤S11至S14步骤,使得代价函数E的值达到最小值或达到最大迭代次数,以得到深度卷积神经网络中各层级参数的最优解。
S2:按照所述深度卷积神经网络的层级深度的相反顺序由深及浅地将网络中的参数逐层二值化,直至所述深度卷积神经网络中的所有层级均被二值化,得到二值化的深度卷积神经网络。
本实施例中,所述深度卷积神经网络的第一层及最后一层参数保持为浮点型参数。因为在网络中第一层及最后一层的卷积核的尺度较小,对该层卷积核进行二值化,在减小网络大小方面几乎无影响,但由于网络第一层参数直接与输入图像进行运算,该层参数对网络的精度影响很大,而网络的最后一层对输出结果影响较大,综合考虑压缩率及精度损失,因此在本发明中决定将网络的第一层及最后一层参数保持为浮点型参数。其中,层级深度的相反顺序由深及浅地将网络中的参数逐层二值化是指:对于含有多层网络的模型,例如本发明中含有22层卷积网络,保留网络中的第一层及最后一层参数为浮点型,首先将网络中第21层参数二值化,然后将第20层参数二值化,以此类推,最后将第2层参数二值化。采用反向顺序的原因为将参数二值化会导致一定的信息损失,在网络前向传播过程中,信息从浅层传递到深层,若首先将浅层参数二值化,则信息损失向后传播的过程中会累积放大,无法恢复,而如果先将深层参数二值化,浅层参数保持为浮点型精度,则深层参数二值化造成的信息损失对整个网络的精度影响较小。
所述步骤S2可以包括:
步骤S21:选定浮点型的深度卷积神经网络中的某一层级;
具体地,以第一步得到的浮点型的卷积神经网络为初始模型,选取网络中的某一层参数进行二值化运算,之后再将该网络进行再训练,直至网络收敛或者达到训练次数。二值化运算是指:以原始浮点型参数为初始值,将选定层级上的浮点型权值矩阵W由实数值的尺度因子α∈R+及二值化权值矩阵B∈{+1,-1}c×w×h近似,即W=αB。其中,c,w,h分别表示该层级上的权值矩阵的通道数,宽度级高度。
假设该层的输入为I,则原始的卷积运算可以由如下公式替代:
Figure GDA0002809127260000091
由于二值化矩阵只含有+1或-1,原始卷积运算中的乘法可以被省略,
Figure GDA0002809127260000096
表示只含加减法的卷积运算,该操作与原始卷积运算相比,计算速度加快近2倍。
步骤S22,将选定的层级中的浮点型卷积核进行量化,计算二值化卷积核及尺度因子;
步骤S23:将选定层级的参数二值化后,通过前向传播,计算损失值,反向传播过程后,计算每层参数的梯度,将原始参数按照梯度下降的方向更新,使得参数更新到最优解,损失值变小。
可选地,所述步骤S22包括:
假设层级中原始浮点型卷积核为W,卷积核维度为Rc×w×h,其中cout表示该层级卷积核的输出通道数,cin表示该层卷积核的输入通道数,w和h分别表示该层卷积核的宽度及高度,尺度因子及二值化卷积核的计算遵循
Figure GDA0002809127260000097
的正则化标准;
Figure GDA0002809127260000092
得到二值化量化结果为:
Figure GDA0002809127260000093
B*=sign(W)
其中,尺度因子α∈R+,二值化权值矩阵B∈{+1,-1}c×w×h,J()表示优化函数;α*表示尺度因子的最优解,B*表示二值化卷积核的最优解;
Figure GDA0002809127260000094
表示最小化优化函数求取尺度因子α及二值化卷积核B的最优解;n=c×w×h表示滤波器中参数个数;
Figure GDA0002809127260000095
表示求取浮点型卷积核W中的各个参数的绝对值之和。
得到二值化量化结果后,原始浮点型卷积核近似为W≈αB,假设该层的输入为I,则原始的卷积运算公式如下:
Figure GDA0002809127260000101
其中,由于二值化矩阵只含有+1或-1,原始卷积运算中的乘法省略,
Figure GDA0002809127260000103
表示只含加减法的卷积运算。
S3:通过所述二值化的深度卷积神经网络进行行人检测。
本实施例,考虑到在卷积神经网络中,将浮点型权值转化为二值化权值会有一定的估计误差,如果将网络中所有层级的参数同时二值化,会将估计误差累积放大,导致较大幅度的精度损失。因此,在训练得到精准的浮点型网络后,将网络中的参数逐层地二值化,二值化一层的参数造成的信息损失较小,与原始网络参数的偏差较小,然后再训练网络,网络中其他的浮点型层级会在一定程度上弥补信息损失,使得精度损失很小或者基本不变。循环地执行上述操作,直至网络中的所有层级均被二值化,最终可以将网络压缩32倍,检测速度加快,同时得到与浮点型网络相近的精度。
实施效果
依据上述步骤,对加州理工数据库及INRIA数据库进行行人检测,并对YOLOv2网络进行二值化压缩。加州理工数据库是由车载摄像头在美国街道上拍摄得到的,图像分辨率为640x480,共包含大约10小时的视频。该数据集被分为11个子集,其中set00-set05六个子集为训练数据集,set06-set10为测试数据集。由于YOLOv2在特征图大小为奇数的情况下检测效果更好,因此本发明中将该数据集的图像放大到672x512。而INRIA数据库中图片大小不一,因此采用了大致的平均尺度672x992。实验环境为一台Nvidia TiTan X 12GB显卡的PC,使用
Figure GDA0002809127260000102
CoreTMi7处理器。
实验还选取了多种现有的行人检测方法进行对比,在加州理工数据库上,分别采用了VJ(Viola&Jones)级联方法、HOG(Histogram of Oriented Gridients)方向梯度直方图方法、Joint Deep(Joint Deep Learning)联合行人深度学习方法、InformedHaar(Informed Haar-Like Features Improve Pedestrian Detection)基于哈尔特征改善行人检测方法、BWN(Binary-Weight-Network)二值化权重网络、DeepCascade(Real-TimePedestrian Detection With Deep Network Cascades)基于深度串联网络的行人实时检测方法、ACF-Caltech+(Local Decorrelation For Improved Pedestrian Detection)利用局部解相关改善行人检测方法、LAB(Layer-wise approximate binarization network)逐层近似二值化网络、YOLOv2(You Only Look Once version 2)优卢2检测方法、CCF+CF(Convolutional Channel Features)卷积通道特征检测方法、MS-CNN(A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection)用于快速目标检测的统一多尺度深度卷积神经网络检测方法。
在INRIA数据集上,分别采用了VJ(Viola&Jones)级联方法、HOG(Histogram ofOriented Gridients)方向梯度直方图方法、MultiFtr(A Performance Evaluation ofSingle and Multi-Feature People Detection)单多特征人群检测评估方法、ChnFtrs(Integral Channel Features)整体通道特征检测方法、ConvNet(Pedestrian Detectionwith Unsupervised Multi-Stage Feature Learning)无监督多阶段特征学习的行人检测方法、BWN(Binary-Weight-Network)二值化权重网络、ACF(Fast Feature Pyramids forObject Detection)用于对象检测的快速特征金字塔方法、InformedHaar(Informed Haar-Like Features Improve Pedestrian Detection)基于哈尔特征改善行人检测方法、LAB(Layer-wise approximate binarization network)逐层近似二值化网络、YOLOv2(YouOnly Look Once version 2)优卢2检测方法、RPN+BP(Region Proposal Network+Backpropagation)基于区域推荐网络与反向传播的检测方法。
将YOLOv2检测算法应用到行人检测数据库中,从精度方面观察,得到浮点型网络在加州理工数据库上的综合漏检率为24%,在INRIA数据库上的综合漏检率为11%。根据现有技术BWN方法将浮点型网络进行压缩后得到的BWN(Binary-Weight-Network)二值化权重网络在加州理工数据库和INRIA数据库上的综合漏检率分别为33%和18%,与浮点型网络相比精度分别下降9%和7%。根据本发明提出的逐层二值化的压缩方法得到的LAB(Layer-wise approximate binarization network)逐层近似二值化网络在加州理工数据库和INRIA数据库上的综合漏检率分别为27%和14%,与浮点型网络相比精度均只下降3%,有效地抑制了精度损失,并且达到了国际先进水平。
从模型大小方面观察,浮点型网络占用268.2兆存储空间,BWN和本发明提出的压缩方法得到的模型均为8.6兆,本发明将网络大约压缩了32倍。
从速度方面观察,本发明提出的方法在加州理工数据集上检测速度达到66帧每秒,与国际先进检测算法相比,速度远远超过其他方法。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (3)

1.一种基于逐层网络二值化的压缩方法,其特征在于,包括:
构建浮点型的深度卷积神经网络;所述构建浮点型的深度卷积神经网络,包括:
利用YOLOv2检测框架实现行人检测,通过误差反向传播算法训练得到浮点型的深度卷积神经网络;
按照所述深度卷积神经网络的层级深度的相反顺序由深及浅地将网络中的参数逐层二值化,直至所述深度卷积神经网络中的所有层级均被二值化,得到二值化的深度卷积神经网络;
通过所述二值化的深度卷积神经网络进行行人检测;
其中,所述将网络中的参数逐层二值化,包括:
步骤S21:选定浮点型的深度卷积神经网络中的某一层级;
步骤S22,将选定的层级中的浮点型卷积核进行量化,计算二值化卷积核及尺度因子;
步骤S23:将选定层级的参数二值化后,通过前向传播,计算损失值,反向传播过程后,计算每层参数的梯度,将原始参数按照梯度下降的方向更新,使得参数更新到最优解,损失值变小;
所述步骤S22包括:
假设层级中原始浮点型卷积核为W,卷积核维度为Rc×w×h,其中c表示该层级卷积核的输出通道数,w和h分别表示该层卷积核的宽度及高度,尺度因子及二值化卷积核的计算遵循l2的正则化标准;
Figure FDA0002809127250000011
得到二值化量化结果为:
Figure FDA0002809127250000012
B*=sign(W)
其中,尺度因子α∈R+,二值化权值矩阵B∈{+1,-1}c×w×h,J()表示优化函数;α*表示尺度因子的最优解,B*表示二值化卷积核的最优解;
Figure FDA0002809127250000013
表示最小化优化函数求取尺度因子α及二值化卷积核B的最优解;n=c×w×h表示滤波器中参数个数;
Figure FDA0002809127250000014
表示求取浮点型卷积核W中的各个参数的绝对值之和;
得到二值化量化结果后,原始浮点型卷积核近似为W≈αB,假设该层的输入为I,则原始的卷积运算公式如下:
Figure FDA0002809127250000021
其中,由于二值化矩阵只含有+1或-1,原始卷积运算中的乘法省略,
Figure FDA0002809127250000022
表示只含加减法的卷积运算。
2.根据权利要求1所述的基于逐层网络二值化的压缩方法,其特征在于,所述利用YOLOv2检测框架实现行人检测,通过误差反向传播算法训练得到浮点型的深度卷积神经网络,包括:
步骤S11:输入图像,通过前向传播过程计算得出深度卷积神经网络中的各单元值;
其中,在前向传播过程中,深度卷积神经网络各层级的各节点单元激活值的计算公式如下:
Figure FDA0002809127250000023
式中,z(i)表示第i层节点单元的值,由输入值与卷积核相乘和偏移值相加得到;a(i)表示第i层节点经过激活函数f()后的激活值,W(i-1)及b(i-1)分别表示第i-1层上的卷积核及偏移值;z(i+1)表示第i+1层节点单元的值,由输入值与卷积核相乘和偏移值相加得到;a(i+1)表示第i+1层节点经过激活函数f()后的激活值,W(i)及b(i)分别表示第i层上的卷积核及偏移值;x表示输入节点的值;
f()表示激活函数,包括ReLU函数;其中,ReLU函数为:
f(x)=max(0,x)
步骤S12:求解深度卷积神经网络的代价函数
Figure FDA0002809127250000024
式中,y表示网络最后一层的输出,若网络包含L层参数,则y=aL,O表示训练样本的标准值,E表示损失值,aL表示第L层网络的激活值;
步骤S13:通过反向传播过程由代价函数求解各层各单元的残差值,其中,输出第l层单元的残差值为:
Figure FDA0002809127250000025
式中:δ(l)表示第l层单元的残差值,z(l)表示第l层节点单元的值,f′()表示激活函数的导数;
对于l=2,3,...,n-1各层,用sl表示第l层的节点数,则l层i单元的残差值为:
Figure FDA0002809127250000031
式中:
Figure FDA0002809127250000032
表示第l层上第i个节点单元的残差值,
Figure FDA0002809127250000033
表示第l层上第i个节点单元的值,
Figure FDA0002809127250000034
表示第l+1层上第j个节点单元的残差值,
Figure FDA0002809127250000035
表示第l层第i个结点与第l+1层第j个结点相连接的权值;
利用求得的残差值求取代价函数对权值W和偏移b的偏导数:
Figure FDA0002809127250000036
式中:
Figure FDA0002809127250000037
表示第l层第j个结点的激活值,
Figure FDA0002809127250000038
表示第l+1层第i个结点单元的残差值,
Figure FDA0002809127250000039
表示第l层第i个结点的偏移值;
步骤S14:令
Figure FDA00028091272500000310
式中:η代表学习率,左侧
Figure FDA00028091272500000311
表示更新后的值,右侧
Figure FDA00028091272500000312
表示更新前的值,左侧
Figure FDA00028091272500000313
表示更新后的值,右侧
Figure FDA00028091272500000314
表示更新前的值;其中,采用均匀分步策略改变学习率,所述均匀分步策略是指:当训练次数达到预设次数时,学习率按照预设的比例放大或减小;
步骤S15:循环执行步骤S11至S14步骤,使得代价函数E的值达到最小值或达到最大迭代次数,以得到深度卷积神经网络中各层级参数的最优解。
3.根据权利要求1-2中任一项所述的基于逐层网络二值化的压缩方法,其特征在于,所述深度卷积神经网络的第一层及最后一层参数保持为浮点型参数。
CN201810487253.4A 2018-05-21 2018-05-21 基于逐层网络二值化的压缩方法 Active CN108765506B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810487253.4A CN108765506B (zh) 2018-05-21 2018-05-21 基于逐层网络二值化的压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810487253.4A CN108765506B (zh) 2018-05-21 2018-05-21 基于逐层网络二值化的压缩方法

Publications (2)

Publication Number Publication Date
CN108765506A CN108765506A (zh) 2018-11-06
CN108765506B true CN108765506B (zh) 2021-01-29

Family

ID=64008374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810487253.4A Active CN108765506B (zh) 2018-05-21 2018-05-21 基于逐层网络二值化的压缩方法

Country Status (1)

Country Link
CN (1) CN108765506B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766993B (zh) * 2018-12-13 2020-12-18 浙江大学 一种适合硬件的卷积神经网络压缩方法
CN109784474B (zh) * 2018-12-24 2020-12-11 宜通世纪物联网研究院(广州)有限公司 一种深度学习模型压缩方法、装置、存储介质及终端设备
CN110070119B (zh) * 2019-04-11 2021-11-26 北京工业大学 一种基于二值化深度神经网络的手写数字图像识别分类方法
CN110033766A (zh) * 2019-04-17 2019-07-19 重庆大学 一种基于二值化递归神经网络的语音识别方法
CN110321816B (zh) * 2019-06-19 2021-04-09 北京清微智能科技有限公司 图像识别方法及装置
JP6795721B1 (ja) * 2019-08-29 2020-12-02 楽天株式会社 学習システム、学習方法、及びプログラム
CN110717387B (zh) * 2019-09-02 2022-07-08 东南大学 一种基于无人机平台的实时车辆检测方法
CN110633668A (zh) * 2019-09-09 2019-12-31 合肥飞扬机电有限公司 基于二值化卷积神经网络的铁路调车信号灯检测方法及系统
CN110555425A (zh) * 2019-09-11 2019-12-10 上海海事大学 一种视频流实时行人检测方法
CN110837775A (zh) * 2019-09-30 2020-02-25 合肥合工安驰智能科技有限公司 一种基于二值化网络的井下机车行人及距离检测方法
CN110837887A (zh) * 2019-11-12 2020-02-25 西安微电子技术研究所 一种深度卷积神经网络的压缩及加速方法、神经网络模型及其应用
CN111178301B (zh) * 2019-12-30 2023-10-17 北京迈格威科技有限公司 对象再识别的方法、装置和电子系统
CN113298224B (zh) * 2020-02-24 2024-09-17 上海商汤智能科技有限公司 神经网络模型的重训练方法和相关产品
CN111666980A (zh) * 2020-05-13 2020-09-15 武汉大学 一种基于轻量化网络的目标检测方法
CN112651500B (zh) * 2020-12-30 2021-12-28 深圳金三立视频科技股份有限公司 一种量化模型的生成方法及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147869A (zh) * 2011-03-31 2011-08-10 上海交通大学 基于前景分析和模式识别的行人检测方法
CN107491787A (zh) * 2017-08-21 2017-12-19 珠海习悦信息技术有限公司 局部二值化cnn的处理方法、装置、存储介质及处理器
CN107844753A (zh) * 2017-10-20 2018-03-27 珠海习悦信息技术有限公司 视频图像中的行人重识别方法、装置、存储介质及处理器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147869A (zh) * 2011-03-31 2011-08-10 上海交通大学 基于前景分析和模式识别的行人检测方法
CN107491787A (zh) * 2017-08-21 2017-12-19 珠海习悦信息技术有限公司 局部二值化cnn的处理方法、装置、存储介质及处理器
CN107844753A (zh) * 2017-10-20 2018-03-27 珠海习悦信息技术有限公司 视频图像中的行人重识别方法、装置、存储介质及处理器

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks;Mohammad Rastegari等;《European Conference on Computer Vision》;20160917;第525-542页 *
基于二值化卷积神经网络的手势分类方法研究;胡骏飞等;《湖南工业大学学报》;20170131;第75-80页 *
神经网络--反向传播详细推导过程;love music.;《https://blog.csdn.net/qq_29762941/article/details/80343185》;20180516;第1-5页 *
胡骏飞等.基于二值化卷积神经网络的手势分类方法研究.《湖南工业大学学报》.2017,第75-80页. *

Also Published As

Publication number Publication date
CN108765506A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN108765506B (zh) 基于逐层网络二值化的压缩方法
CN109584248B (zh) 基于特征融合和稠密连接网络的红外面目标实例分割方法
CN108764292B (zh) 基于弱监督信息的深度学习图像目标映射及定位方法
CN110991311B (zh) 一种基于密集连接深度网络的目标检测方法
CN108830196A (zh) 基于特征金字塔网络的行人检测方法
CN111462120A (zh) 一种基于语义分割模型缺陷检测方法、装置、介质及设备
CN111091101B (zh) 基于一步法的高精度行人检测方法、系统、装置
CN110598673A (zh) 基于残差网络的遥感图像道路提取方法
CN113610144A (zh) 一种基于多分支局部注意力网络的车辆分类方法
CN112101364B (zh) 基于参数重要性增量学习的语义分割方法
CN112232411B (zh) HarDNet-Lite在嵌入式平台的优化方法
CN115311632A (zh) 一种基于多摄像头的车辆重识别方法和设备
CN106530330B (zh) 基于低秩稀疏的视频目标跟踪方法
CN114972885B (zh) 基于模型压缩的多模态遥感图像分类方法
CN109446933B (zh) 一种基于卷积神经网络的道路场景语义分割方法
CN113269224A (zh) 一种场景图像分类方法、系统及存储介质
CN109345559B (zh) 基于样本扩充和深度分类网络的运动目标跟踪方法
CN113449784A (zh) 基于先验属性图谱的图像多分类方法、装置、设备及介质
CN112215334A (zh) 一种面向事件相机的神经网络模型压缩方法
CN113963333B (zh) 一种基于改进yolof模型的交通标志牌检测方法
CN112560719A (zh) 基于多尺度卷积-多核池化的高分辨率影像水体提取方法
Ayachi et al. An edge implementation of a traffic sign detection system for Advanced driver Assistance Systems
CN114882434A (zh) 基于背景抑制的无监督异常行为检测方法
Ren et al. A lightweight object detection network in low-light conditions based on depthwise separable pyramid network and attention mechanism on embedded platforms
Park et al. Squantizer: Simultaneous learning for both sparse and low-precision neural networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant