一种基于二值化图像分类网络的图像分类方法

文档序号:26628280发布日期:2021-09-14 22:17阅读:284来源:国知局
一种基于二值化图像分类网络的图像分类方法

1.本发明属于图像分类技术领域,具体涉及一种基于二值化图像分类网络的图像分类方法。


背景技术:

2.近年来,深度神经网络(deep neural network,dnn)在机器学习和模式识别领域带来了革命性的变化。然而,现有的大部分dnn模型计算成本高且内存密集,这阻碍了它们在具有低内存资源的设备或具有严格延迟要求的应用中的部署。
3.深度神经网络(deep neural network,dnn)在机器学习和模式识别领域带来了革命性的变化。以图像分类为例:lenet、alexnet、resnet、vggnet等经典网络结构接连提出。这些结构主要针对服务器端,训练和推理均在算力充足的硬件环境下,对gpu算力以及存储空间有较高的要求。这对于移动端的部署较为困难,例如无人机、智能小车等硬件条件受限的终端。


技术实现要素:

4.本发明的目的是为了解决图像分类的问题,提出了一种基于二值化图像分类网络的图像分类方法。
5.本发明的技术方案是:一种基于二值化图像分类网络的图像分类方法包括以下步骤:
6.s1:采集原始图像,并对原始图像进行初始化;
7.s2:根据初始化后的原始图像,搭建图像分类网络;
8.s3:利用图像分类网络的softmax分类器进行图像分类。
9.进一步地,步骤s1包括以下子步骤:
10.s11:采集尺寸为224*224*3的原始图像,并在原始图像的四周各添加宽度为3的0元素,得到尺寸为230*230*3的第一输出图像;
11.s12:利用尺寸为7*7且步长为1的卷积核对第一输出图像进行卷积操作,得到尺寸为224*224*64的第二输出图像,并对第二输出图像进行批量归一化,得到尺寸为224*224*64的第三输出图像;
12.s13:利用非线性激活函数h(x)对第三输出图像进行激活,并对激活后的第三输出图像进行最大池化,得到尺寸为112*112*64的第四输出图像;
13.s14:利用符号函数s(x

)对第四输出图像进行二值化,得到尺寸为112*112*64的第五输出图像,完成原始图像初始化。
14.进一步地,步骤s14中,符号函数s(x

)的表达式为:
[0015][0016]
其中,x表示符号函数的输入图像,α表示第一待学习参数。
[0017]
进一步地,步骤s2包括以下子步骤:
[0018]
s21:在第五输出图像的四周各添加宽度为1的0元素,得到尺寸为114*114*64的第六输出图像;
[0019]
s22:利用尺寸为3*3且步长为1的二值化卷积核对第六输出图像进行卷积操作,得到尺寸为112*112*128的第七输出图像;
[0020]
s23:利用非线性激活函数h(x)对第七输出图像进行激活,并对激活后的第七输出图像进行最大池化,得到尺寸为56*56*128的第八输出图像;
[0021]
s23:在第八输出图像的四周各添加宽度为1的0元素,得到尺寸为58*58*128的第九输出图像;
[0022]
s24:利用尺寸为3*3且步长为1的二值化卷积核对第九输出图像进行卷积操作,得到尺寸为56*56*256的第十输出图像;
[0023]
s25:利用非线性激活函数h(x)对第十输出图像进行激活,并对激活后的第十输出图像进行最大池化,得到尺寸为28*28*256的第十一输出图像;
[0024]
s26:在第十一输出图像的四周各添加宽度为1的0元素,得到尺寸为30*30*256的第十二输出图像;
[0025]
s27:利用尺寸为3*3且步长为1的二值化卷积核对第十二输出图像进行卷积操作,得到尺寸为28*28*512的第十三输出图像;
[0026]
s28:利用非线性激活函数h(x)对第十三输出图像进行激活,并对激活后的第十三输出图像进行最大池化,得到尺寸为14*14*512的第十四输出图像;
[0027]
s29:在第十四输出图像的四周各添加宽度为1的0元素,得到尺寸为16*16*512的第十五输出图像;
[0028]
s210:利用尺寸为3*3且步长为1的二值化卷积核对第十五输出图像进行卷积操作,得到尺寸为14*14*512的第十六输出图像;
[0029]
s211:利用非线性激活函数h(x)对第十六输出图像进行激活,并对激活后的第十六输出图像进行最大池化,得到尺寸为7*7*512的第十七输出图像;
[0030]
s212:在第十七输出图像的四周各添加宽度为1的0元素,得到尺寸为9*9*512的第十八输出图像;
[0031]
s213:利用尺寸为3*3且步长为1的二值化卷积核对第十八输出图像进行卷积操作,得到尺寸为7*7*512的第十九输出图像;
[0032]
s214:利用非线性激活函数h(x)对第十九输出图像进行激活,并对激活后的第十九输出图像进行拉伸,得到尺寸为1*25088的第二十输出图像;
[0033]
s215:将第二十输出图像输入至两层神经元为4096的全连接层,完成图像分类网络搭建。
[0034]
进一步地,步骤s13、步骤s23、步骤s25、步骤s28、步骤s211和步骤s214中,进行最大池化的池化池大小为2*2,步长为2*2。
[0035]
进一步地,步骤s13、步骤s23、步骤s25、步骤s28和步骤s211中,非线性激活函数h(x)的表达式为:
[0036]
[0037]
其中,x表示非线性激活函数的输入图像,β表示第二待学习参数,γ表示第三待学习参数,τ表示第四待学习参数。
[0038]
进一步地,步骤s2中,对尺寸为3*3的卷积核进行二值化包括以下子步骤:
[0039]
a21:利用尺寸为3*3*c
in
*c
out
的第一二值化卷积核b
i1
、第二二值化卷积核b
i2
、第三二值化卷积核b
i3
和第四二值化卷积核b
i4
对尺寸为3*3的卷积核分别进行线性近似,其中,c
in
表示输入通道数,c
out
表示输出通道数;
[0040]
a22:对线性近似后的卷积核矩阵中的各个元素进行归一化处理,得到归一化处理后的卷积核;
[0041]
a23:设定第一二值化卷积核b
i1
、第二二值化卷积核b
i2
、第三二值化卷积核b
i3
和第四二值化卷积核b
i4
对应的激活阈值,分别为b
i1
、b
i2
、b
i3
和b
i4

[0042]
b
i1
=0.2493,b
i2
=0.4987,b
i3
=0.7480,b
i4
=0.9973。
[0043]
a24:在第一二值化卷积核b
i1
、第二二值化卷积核b
i2
、第三二值化卷积核b
i3
和第四二值化卷积核b
i4
中,分别将归一化处理后的卷积核矩阵中小于激活阈值b
i1
、b
i2
、b
i3
和b
i4
的参数确定为0,大于激活阈值b
i1
、b
i2
、b
i3
和b
i4
的参数确定为1,并随机初始化第一二值化卷积核b
i1
、第二二值化卷积核b
i2
、第三二值化卷积核b
i3
和第四二值化卷积核b
i4
的权重,完成尺寸为3*3的卷积核的二值化。
[0044]
进一步地,步骤a21中,进行线性近似的计算公式为:
[0045]
w
i
≈α
i1
*b
i1

i2
*b
i2

i3
*b
i3

i4
*b
i4
[0046]
其中,w
i
表示线性近似后的卷积核,α
i1
表示第一二值化卷积核b
i1
的权重,α
i2
表示第二二值化卷积核b
i2
的权重,α
i3
表示第三二值化卷积核b
i3
的权重,α
i4
表示第四二值化卷积核b
i4
的权重;
[0047]
步骤a22中,对线性近似后的卷积核矩阵中的各个元素a
ij
进行归一化处理的公式为:
[0048][0049]
其中,a

ij
表示归一化后的各个元素,min表示元素a
ij
中的最小值,max表示元素a
ij
中的最大值。
[0050]
本发明的有益效果是:
[0051]
(1)该图像分类方法对传统图像分类中运算量最大的卷积运算模块的卷积核进行二值化处理,使用4个同规格的二值化卷积核进行线性近似,节约算法存储空间开销。
[0052]
(2)该图像分类方法使用带位移的非线性激活函数对相关输出进行处理,在二值化的限制下增强了提取的特征的表征能力,使用带位移的符号函数对相关输出进行处理,使得卷积运算双方,即卷积核元素与输入元素均二值化,加减法甚至二进制逻辑运算代替传统浮点数乘法,极大提升运算速度,减轻算法对硬件的依赖。
附图说明
[0053]
图1为图像分类方法的流程图;
[0054]
图2为二值化后的图像初始化网络结构图;
[0055]
图3为二值化后的特征提取网络结构图;
[0056]
图4为非线性激活函数h(x)的示意图。
具体实施方式
[0057]
下面结合附图对本发明的实施例作进一步的说明。
[0058]
如图1所示,本发明提供了一种基于二值化图像分类网络的图像分类方法,包括以下步骤:
[0059]
s1:采集原始图像,并对原始图像进行初始化;
[0060]
s2:根据初始化后的原始图像,搭建图像分类网络;
[0061]
s3:利用图像分类网络的softmax分类器进行图像分类。
[0062]
在本发明实施例中,如图2所示,步骤s1包括以下子步骤:
[0063]
s11:采集尺寸为224*224*3的原始图像,并在原始图像的四周各添加宽度为3的0元素,得到尺寸为230*230*3的第一输出图像;
[0064]
s12:利用尺寸为7*7且步长为1的卷积核对第一输出图像进行卷积操作,得到尺寸为224*224*64的第二输出图像,并对第二输出图像进行批量归一化,得到尺寸为224*224*64的第三输出图像;
[0065]
s13:利用非线性激活函数h(x)对第三输出图像进行激活,并对激活后的第三输出图像进行最大池化,得到尺寸为112*112*64的第四输出图像;
[0066]
s14:利用符号函数s(x

)对第四输出图像进行二值化,得到尺寸为112*112*64的第五输出图像,完成原始图像初始化。
[0067]
在本发明实施例中,步骤s14中,符号函数s(x

)的表达式为:
[0068][0069]
其中,x表示符号函数的输入图像,α表示第一待学习参数。
[0070]
参数对应梯度计算为:
[0071]
在本发明实施例中,如图3所示,步骤s2包括以下子步骤:
[0072]
s21:在第五输出图像的四周各添加宽度为1的0元素,得到尺寸为114*114*64的第六输出图像;
[0073]
s22:利用尺寸为3*3且步长为1的二值化卷积核对第六输出图像进行卷积操作,得到尺寸为112*112*128的第七输出图像;
[0074]
s23:利用非线性激活函数h(x)对第七输出图像进行激活,并对激活后的第七输出图像进行最大池化,得到尺寸为56*56*128的第八输出图像;
[0075]
s23:在第八输出图像的四周各添加宽度为1的0元素,得到尺寸为58*58*128的第九输出图像;
[0076]
s24:利用尺寸为3*3且步长为1的二值化卷积核对第九输出图像进行卷积操作,得到尺寸为56*56*256的第十输出图像;
[0077]
s25:利用非线性激活函数h(x)对第十输出图像进行激活,并对激活后的第十输出图像进行最大池化,得到尺寸为28*28*256的第十一输出图像;
[0078]
s26:在第十一输出图像的四周各添加宽度为1的0元素,得到尺寸为30*30*256的
第十二输出图像;
[0079]
s27:利用尺寸为3*3且步长为1的二值化卷积核对第十二输出图像进行卷积操作,得到尺寸为28*28*512的第十三输出图像;
[0080]
s28:利用非线性激活函数h(x)对第十三输出图像进行激活,并对激活后的第十三输出图像进行最大池化,得到尺寸为14*14*512的第十四输出图像;
[0081]
s29:在第十四输出图像的四周各添加宽度为1的0元素,得到尺寸为16*16*512的第十五输出图像;
[0082]
s210:利用尺寸为3*3且步长为1的二值化卷积核对第十五输出图像进行卷积操作,得到尺寸为14*14*512的第十六输出图像;
[0083]
s211:利用非线性激活函数h(x)对第十六输出图像进行激活,并对激活后的第十六输出图像进行最大池化,得到尺寸为7*7*512的第十七输出图像;
[0084]
s212:在第十七输出图像的四周各添加宽度为1的0元素,得到尺寸为9*9*512的第十八输出图像;
[0085]
s213:利用尺寸为3*3且步长为1的二值化卷积核对第十八输出图像进行卷积操作,得到尺寸为7*7*512的第十九输出图像;
[0086]
s214:利用非线性激活函数h(x)对第十九输出图像进行激活,并对激活后的第十九输出图像进行拉伸,得到尺寸为1*25088的第二十输出图像;
[0087]
s215:将第二十输出图像输入至两层神经元为4096的全连接层,完成图像分类网络搭建。
[0088]
在本发明实施例中,步骤s13、步骤s23、步骤s25、步骤s28、步骤s211和步骤s214中,进行最大池化的池化池大小为2*2,步长为2*2。
[0089]
在本发明实施例中,如图4所示,步骤s13、步骤s23、步骤s25、步骤s28和步骤s211中,非线性激活函数h(x)的表达式为:
[0090][0091]
其中,x表示非线性激活函数的输入图像,β表示第二待学习参数,γ表示第三待学习参数,τ表示第四待学习参数。
[0092]
i
{
·
}
运算定义为
[0093]
在本发明实施例中,步骤s2中,对尺寸为3*3的卷积核进行二值化包括以下子步骤:
[0094]
a21:利用尺寸为3*3*c
in
*c
out
的第一二值化卷积核b
i1
、第二二值化卷积核b
i2
、第三二值化卷积核b
i3
和第四二值化卷积核b
i4
对尺寸为3*3的卷积核分别进行线性近似,其中,c
in
表示输入通道数,c
out
表示输出通道数;
[0095]
a22:对线性近似后的卷积核矩阵中的各个元素进行归一化处理,得到归一化处理后的卷积核;
[0096]
a23:设定第一二值化卷积核b
i1
、第二二值化卷积核b
i2
、第三二值化卷积核b
i3
和第
四二值化卷积核b
i4
对应的激活阈值,分别为b
i1
、b
i2
、b
i3
和b
i4

[0097]
b
i1
=0.2493,b
i2
=0.4987,b
i3
=0.7480,b
i4
=0.9973。
[0098]
a24:在第一二值化卷积核b
i1
、第二二值化卷积核b
i2
、第三二值化卷积核b
i3
和第四二值化卷积核b
i4
中,分别将归一化处理后的卷积核矩阵中小于激活阈值b
i1
、b
i2
、b
i3
和b
i4
的参数确定为0,大于激活阈值b
i1
、b
i2
、b
i3
和b
i4
的参数确定为1,并随机初始化第一二值化卷积核b
i1
、第二二值化卷积核b
i2
、第三二值化卷积核b
i3
和第四二值化卷积核b
i4
的权重,完成尺寸为3*3的卷积核的二值化。
[0099]
近似后的卷积核前向传播输出o如下所示:
[0100][0101]
其中a是送入卷积核的输入。
[0102]
近似后的卷积核反向传播如下所示:
[0103][0104]
由直通估计器ste可知:
[0105][0106]
在本发明实施例中,步骤a21中,进行线性近似的计算公式为:
[0107]
w
i
≈α
i1
*b
i1

i2
*b
i2

i3
*b
i3

i4
*b
i4
[0108]
其中,w
i
表示线性近似后的卷积核,α
i1
表示第一二值化卷积核b
i1
的权重,α
i2
表示第二二值化卷积核b
i2
的权重,α
i3
表示第三二值化卷积核b
i3
的权重,α
i4
表示第四二值化卷积核b
i4
的权重;
[0109]
步骤a22中,对线性近似后的卷积核矩阵中的各个元素a
ij
进行归一化处理的公式为:
[0110][0111]
其中,a

ij
表示归一化后的各个元素,min表示元素a
ij
中的最小值,max表示元素a
ij
中的最大值。
[0112]
本发明的工作原理及过程为:
[0113]
本发明的有益效果为:本发明研究一种图像分类神经网络二值化方法,该方法采用二值化卷积核代替常规卷积核,不仅减小了存储开销,在卷积计算方面也由常规的浮点数乘法运算变为二进制的加减法,甚至配合硬件设计可以替换为二进制逻辑运算,提升计算效率,减轻算法对硬件算力的依赖。
[0114]
(1)该图像分类方法对传统图像分类中运算量最大的卷积运算模块的卷积核进行二值化处理,使用4个同规格的二值化卷积核进行线性近似,节约算法存储空间开销。
[0115]
(2)该图像分类方法使用带位移的非线性激活函数对相关输出进行处理,在二值
化的限制下增强了提取的特征的表征能力,使用带位移的符号函数对相关输出进行处理,使得卷积运算双方,即卷积核元素与输入元素均二值化,加减法甚至二进制逻辑运算代替传统浮点数乘法,极大提升运算速度,减轻算法对硬件的依赖。
[0116]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1