基于动态二值化神经网络的图像处理方法、系统和设备

文档序号:31862128发布日期:2022-10-19 05:43阅读:214来源:国知局
基于动态二值化神经网络的图像处理方法、系统和设备

1.本技术涉及自动化领域,特别是涉及一种基于动态二值化神经网络的图像处理方法、系统和设备。


背景技术:

2.随着近年来深度学习的快速发展,卷积神经网络(cnn)已在众多领域取得了巨大的成功。但是目前现有的深度学习模型需要消耗大量的计算资源与存储空间来实现较高的精度,这很不利于部署在一些小型硬件设备中。二值化神经网络(bnn)又被称为1-bit网络,该网络的主要优点在于:1)将模型的权重及激活值限制在+1及-1的1bit类型,使得模型的存储消耗降低32倍;2)使用xnor及popcount操作代替原有模型中的乘法加法运算,在cpu上的计算消耗降低58倍。
3.尽管bnn具有以上这些优势,但在精度方面确与全精度模型存在着较大的差距。尤其在进行图像处理方面,利用现有的二值化神经网络在进行图像处理过程中,无法得到精度较高的图像处理结果,因为在二值化过程会大大限制模型的容量并且造成特征的大量信息损失。bnn的性能对于激活值的分布十分敏感。现有的bnn使用预定义或已学习的静态阈值对模型中特征的激活值进行二值化。这一过程限制了bnn的容量及特征表达能力,因为不同的样本可能具有不同的最优阈值。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种基于动态二值化神经网络的图像处理方法、系统和设备。
5.第一方面,本发明实施例提供了一种基于动态二值化神经网络的图像处理方法,该方法包括:
6.对待处理的样本图像进行采集,得到训练图像,将所述训练图像构造成图像分类数据集,从所述图像分类数据集中提取出样本图像的特征分布参数;
7.构建动态二值化网络模型,所述二值化网络模型包括阈值函数和激活函数;
8.通过所述动态二值化网络模型对所述特征分布参数进行二值化处理,通过对所述特征分布参数的处理保留所述图像分类数据集中的图像信息;对所述特征分布参数进行二值化处理包括:通过所述阈值函数学习所述特征分布参数通道中的阈值参数;通过所述激活函数学习所述特征分布参数通道中的特征偏移参数。
9.进一步的,所述构建动态二值化网络模型,所述二值化网络模型包括阈值函数和激活函数,包括:
10.所述阈值函数为动态学习特征阈值参数的dysign函数,对于包含有c个通道的输入特征x,所述dysign函数输入为特征x,输出为阈值参数a;
11.所述dysign函数为每一个通道的特征单独计算一个阈值,计算过程:
[0012][0013]
其中,h及w分别表示输入特征的尺寸大小,与表示两个全连接层。
[0014]
进一步的,所述通过所述阈值函数学习所述特征分布参数通道中的阈值参数,包括:
[0015]
通过所述dysign函数学习一组参数a
1:c
来二值化特征图,学习过程为:
[0016][0017]
其中ai表示学习得到的第i个通道的阈值,通过所述dysign函数对每个通道的全局信息进行编码,并自适应得到每一个通道的阈值,通过所述dysign函数降低二值化网络中的信息损失。
[0018]
进一步的,所述通过所述激活函数学习所述特征分布参数通道中的特征偏移参数,包括:
[0019]
所述激活函数为:
[0020]
其中,γi与表示改变图像分布的偏移参数;
[0021]
基于对激活函数输入特征自适应学习得到特征偏移参数γ
1:c
与通过特征偏移参数γ
1:c
与获得预设的特征分布。另一方面,本发明实施例还提供了一种基于动态二值化神经网络的图像处理系统,包括:
[0022]
图像数据集模块,用于对待处理的样本图像进行采集,得到训练图像,将所述训练图像构成图像分类数据集,从所述图像分类数据集中提取出图像的特征分布参数;
[0023]
二值化网络模块,用于构建动态二值化网络模型,所述二值化网络模型包括阈值函数和激活函数;
[0024]
特征处理模块,用于通过所述动态二值化网络模型对所述特征分布参数进行二值化处理,分别通过所述阈值函数和所述激活函数学习所述特征分布参数通道中的阈值参数及特征偏移参数,通过对所述特征分布参数的处理保留所述图像分类数据集中的图像信息。
[0025]
进一步的,所述二值化网络模块包括阈值函数单元,所述阈值函数单元用于:
[0026]
所述阈值函数为动态学习特征阈值参数的dysign函数,对于包含有c个通道的输入特征x,所述dysign函数为通过输入为特征x,输出为阈值参数a;
[0027]
所述dysign函数为每一个通道的特征单独计算一个阈值,表示:
[0028][0029]
其中,h及w分别表示输入特征的尺寸大小,与表示两个全连接层。
[0030]
进一步的,所述二值化网络模块包括阈值调节单元,所述阈值调节单元用于获取通道阈值参数,包括:
[0031]
通过所述dysign函数学习一组参数a
1:c
来二值化特征图,学习过程为:
[0032][0033]
其中ai表示学习得到的第i个通道的阈值,所述dysign函数采取的操作来学习得到每个通道特定的阈值;
[0034]
所述dysign函数对每个通道的全局信息进行编码,并自适应得到每一个通道的阈值,通过所述dysign函数降低二值化网络中的信息损失。
[0035]
进一步的,所述特征处理模块包括特征偏移调节单元,所述特征偏移调节单元用于获取特征偏移参数,包括:
[0036]
所述激活函数为:
[0037]
其中,γi与表示改变图像分布的偏移参数;
[0038]
基于对激活函数输入特征自适应学习得到特征偏移参数γ
1:c
与通过特征偏移参数γ
1:c
与获得预设的特征分布。本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0039]
对待处理的样本图像进行采集,得到训练图像,将所述训练图像构造成图像分类数据集,从所述图像分类数据集中提取出样本图像的特征分布参数;
[0040]
构建动态二值化网络模型,所述二值化网络模型包括阈值函数和激活函数;
[0041]
通过所述动态二值化网络模型对所述特征分布参数进行二值化处理,通过对所述特征分布参数的处理保留所述图像分类数据集中的图像信息;对所述特征分布参数进行二值化处理包括:通过所述阈值函数学习所述特征分布参数通道中的阈值参数;通过所述激活函数学习所述特征分布参数通道中的特征偏移参数。
[0042]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0043]
对待处理的样本图像进行采集,得到训练图像,将所述训练图像构造成图像分类数据集,从所述图像分类数据集中提取出样本图像的特征分布参数;
[0044]
构建动态二值化网络模型,所述二值化网络模型包括阈值函数和激活函数;
[0045]
通过所述动态二值化网络模型对所述特征分布参数进行二值化处理,通过对所述特征分布参数的处理保留所述图像分类数据集中的图像信息;对所述特征分布参数进行二值化处理包括:通过所述阈值函数学习所述特征分布参数通道中的阈值参数;通过所述激活函数学习所述特征分布参数通道中的特征偏移参数。
[0046]
上述基于动态二值化神经网络的图像处理方法、系统和设备和存储介质,该方法包括:对待处理的样本图像进行采集,得到训练图像,将所述训练图像构造成图像分类数据集,从所述图像分类数据集中提取出样本图像的特征分布参数;构建动态二值化网络模型,所述二值化网络模型包括阈值函数和激活函数;通过所述动态二值化网络模型对所述特征分布参数进行二值化处理,通过对所述特征分布参数的处理保留所述图像分类数据集中的图像信息;对所述特征分布参数进行二值化处理包括:通过所述阈值函数学习所述特征分布参数通道中的阈值参数;通过所述激活函数学习所述特征分布参数通道中的特征偏移参
数。本发明实施例能够将动态学习方法引入到二值化神经网络中,提出了动态学习神经网络。通过动态二值化神经网络动态生成自适应参数,以改变图像的特征分布通过动态二值化神经网络能够在有限的计算量增加的情况下,减少特征信息的丢失,,通过提高卷积神经网络的性能,使得图像处理的结果更加真实。
附图说明
[0047]
图1为一个实施例中基于动态二值化神经网络的图像处理方法的流程示意图;
[0048]
图2为一个实施例中基于动态二值化神经网络的图像处理系统的结构框图;
[0049]
图3为一个实施例中计算机设备的内部结构图。
具体实施方式
[0050]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0051]
在一个实施例中,如图1所示,提供了一种基于动态二值化神经网络的图像处理方法,所述方法包括:
[0052]
步骤101,对待处理的样本图像进行采集,得到训练图像,将所述训练图像构造成图像分类数据集,从所述图像分类数据集中提取出样本图像的特征分布参数;
[0053]
步骤102,构建动态二值化网络模型,所述二值化网络模型包括阈值函数和激活函数;
[0054]
步骤103,通过所述动态二值化网络模型对所述特征分布参数进行二值化处理,通过对所述特征分布参数的处理保留所述图像分类数据集中的图像信息;对所述特征分布参数进行二值化处理包括:通过所述阈值函数学习所述特征分布参数通道中的阈值参数;通过所述激活函数学习所述特征分布参数通道中的特征偏移参数。
[0055]
具体地,本实施例结合动态学习的动态bnn(dybnn),通过包含自适应sign函数和自适应prelu函数来进行神经网络的处理,该方法通过聚合全局信息有效增加功能表达能力。结果证明该方法可以有效且简单的减少二值化操作中的信息丢失及增强bnn的性能。通过动态二值化神经网络动态生成自适应参数,以改变图像的特征分布通过动态二值化神经网络能够在有限的计算量增加的情况下,减少特征信息的丢失,通过提高卷积神经网络的性能,使得图像处理的结果更加接近真实。
[0056]
在一个实施例中,所述构建动态二值化网络模型,所述二值化网络模型包括阈值函数和激活函数,包括:
[0057]
所述阈值函数为动态学习特征阈值参数的dysign函数,对于包含有x个通道的输入特征x,所述dysign函数输入为特征x,输出为阈值参数a;
[0058]
所述dysign函数为每一个通道的特征单独计算一个阈值,计算过程:
[0059][0060]
其中,h及w分别表示输入特征的尺寸大小,与表示两个全连接
层。
[0061]
在一个实施例中,所述通过所述阈值函数学习所述特征分布参数通道中的阈值参数,包括:
[0062]
通过所述dysign函数学习一组参数a
1:c
来二值化特征图,学习过程为:
[0063][0064]
其中ai表示学习得到的第i个通道的阈值,通过所述dysign函数对每个通道的全局信息进行编码,并自适应得到每一个通道的阈值,通过所述dysign函数降低二值化网络中的信息损失。
[0065]
具体的,在神经网络做中阈值计算中,对于将激活值限制在+1与-1,bnn对于特征分布的变化十分敏感,轻微的分布偏移会显著影响sign函数的输出。为了解决这个问题,reactnet利用一组可学习的阈值参数来调整特征图中各个通道特征的分布,该函数被称为rsign:
[0066][0067]
其中,xi表示输入特征图第i个通道的每一个位置的值,ai表示第i个通道的阈值。reactnet中不同通道的阈值是不同的。基于该函数特点,在进行阈值计算时,特征信息的损失仍会对二值化网络的性能造成很大的影响因为rsign采取一组静态的固定阈值参数。每一个样本应具有特定的特征表达,一组固定的阈值参数无法适应于所有样本。阈值参数应该根据样本的特征分布来自适应生成。本实施例中,通过提出可以动态学习阈值参数的dysign函数。对于一个给定的包含c个通道的输入特征x,dysign可以定义为一个输入为特征x,输出为阈值参数的函数f(x)。函数f(x)为每一个通道的特征单独计算一个阈值,学习过程包括全局池化层加两个全连接层,为了避免引入过多的计算量,两个全连接层间特征的降低比例设置为16。该函数对每个通道的全局信息进行编码从而自适应得到每一个通道的阈值。dysign可以有效降低二值化网络中的信息损失,相比之前的sign函数更具有特征表达能力。
[0068]
在一个实施例中,所述通过所述激活函数学习所述特征分布参数通道中的特征偏移参数,包括:
[0069]
所述激活函数为:
[0070]
其中,γi与表示改变图像分布的偏移参数;
[0071]
基于对激活函数输入特征自适应学习得到特征偏移参数γ
1:c
与通过特征偏移参数γ
1:c
与获得预设的特征分布。具体地,对激活函数通过引入参数,reactnet在图像分类任务的性能取得了巨大的提升。因此,对prelu也进行类似的操作,特征偏移参数γ
1:c
与也基于输入特征自适应学习得到。dyprelu可以动态的调整特征分布,是一种有效且简单的提升模型容量的方法。总的来说,dysign可以学习到一组最适合的阈值参数来二值化特征图,而且这些参数可以根据输入自身的特征分布进行调整。这种方式可以有效减少二值化过程中的信息损失。对于dyprelu,可以简单理解为通过特征偏移参数γ
1:c
与来获得更好的特征分布。通过引入这两种函数,可以有效解决bnn中存在的静态参数问题,并且帮
助bnn保留更多目标信息,进而学习到有用的特征。本实施例中计算量的增加主要来自dysign和dyprelu中的浮点操作,包括一个全局平均池化层和两个全连接层。为了减少引入的计算量,我们将两个全连接层之间的缩减率设置为16,这可以限制引入的模型参数和浮点运算。
[0072]
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0073]
在一个实施例中,如图2所示,提供了一种基于动态二值化神经网络的图像处理系统,包括:
[0074]
图像数据集模块201,用于对待处理的样本图像进行采集,得到训练图像,将所述训练图像构成图像分类数据集,从所述图像分类数据集中提取出图像的特征分布参数;
[0075]
二值化网络模块202,用于构建动态二值化网络模型,所述二值化网络模型包括阈值函数和激活函数;
[0076]
特征处理模块203,用于通过所述动态二值化网络模型对所述特征分布参数进行二值化处理,分别通过所述阈值函数和所述激活函数学习所述特征分布参数通道中的阈值参数及特征偏移参数,通过对所述特征分布参数的处理保留所述图像分类数据集中的图像信息。
[0077]
在一个实施例中,如图2所示,所述二值化网络模块202包括阈值函数单元2021,所述阈值函数单元2021用于对所述阈值函数进行运行,包括:
[0078]
所述阈值函数为动态学习特征阈值参数的dysign函数,对于包含有c个通道的输入特征x,所述dysign函数为通过输入为特征x,输出为阈值参数a;
[0079]
所述dysign函数为每一个通道的特征单独计算一个阈值,表示:
[0080][0081]
其中,h及w分别表示输入特征的尺寸大小,与表示两个全连接层。
[0082]
在一个实施例中,如图2所示,所述二值化网络模块202还包括阈值调节单元2022,所述阈值调节单元2022用于获取通道阈值参数,包括:
[0083]
通过所述dysign函数学习一组参数a
1:c
来二值化特征图,学习过程为:
[0084][0085]
其中ai表示学习得到的第i个通道的阈值,所述dysign函数采取的操作来学习得到每个通道特定的阈值;
[0086]
所述dysign函数对每个通道的全局信息进行编码,并自适应得到每一个通道的阈值,通过所述dysign函数降低二值化网络中的信息损失。
[0087]
在一个实施例中,如图2所示,所述特征处理模块203包括特征偏移调节单元2031,所述特征偏移调节单元2031用于获取特征偏移参数,包括:
[0088]
所述激活函数为:
[0089]
其中,γi与表示改变图像分布的偏移参数;
[0090]
基于对激活函数输入特征自适应学习得到特征偏移参数γ
1:c
与通过特征偏移参数γ
1:c
与获得预设的特征分布。关于基于动态二值化神经网络的图像处理系统的具体限定可以参见上文中对于基于动态二值化神经网络的图像处理方法的限定,在此不再赘述。上述基于动态二值化神经网络的图像处理系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0091]
图3示出了一个实施例中计算机设备的内部结构图。如图3所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现基于动态二值化神经网络的图像处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行基于动态二值化神经网络的图像处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0092]
本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0093]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
[0094]
对待处理的样本图像进行采集,得到训练图像,将所述训练图像构造成图像分类数据集,从所述图像分类数据集中提取出样本图像的特征分布参数;
[0095]
构建动态二值化网络模型,所述二值化网络模型包括阈值函数和激活函数;
[0096]
通过所述动态二值化网络模型对所述特征分布参数进行二值化处理,通过对所述特征分布参数的处理保留所述图像分类数据集中的图像信息;对所述特征分布参数进行二值化处理包括:通过所述阈值函数学习所述特征分布参数通道中的阈值参数;通过所述激活函数学习所述特征分布参数通道中的特征偏移参数。
[0097]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0098]
所述阈值函数为动态学习特征阈值参数的dysign函数,对于包含有c个通道的输入特征x,所述dysign函数输入为特征x,输出为阈值参数a;
[0099]
所述dysign函数为每一个通道的特征单独计算一个阈值,计算过程:
[0100][0101]
其中,h及w分别表示输入特征的尺寸大小,与表示两个全连接层。
[0102]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0103]
通过所述dysign函数学习一组参数a
1:c
来二值化特征图,学习过程为:
[0104][0105]
其中ai表示学习得到的第i个通道的阈值,通过所述dysign函数对每个通道的全局信息进行编码,并自适应得到每一个通道的阈值,通过所述dysign函数降低二值化网络中的信息损失。
[0106]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0107]
所述通过所述激活函数学习所述特征分布参数通道中的特征偏移参数,包括:
[0108]
所述激活函数为:
[0109]
其中,γi与表示改变图像分布的偏移参数;
[0110]
基于对激活函数输入特征自适应学习得到特征偏移参数γ
1:c
与通过特征偏移参数γ
1:c
与获得预设的特征分布。在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0111]
对待处理的样本图像进行采集,得到训练图像,将所述训练图像构造成图像分类数据集,从所述图像分类数据集中提取出样本图像的特征分布参数;
[0112]
构建动态二值化网络模型,所述二值化网络模型包括阈值函数和激活函数;
[0113]
通过所述动态二值化网络模型对所述特征分布参数进行二值化处理,通过对所述特征分布参数的处理保留所述图像分类数据集中的图像信息;对所述特征分布参数进行二值化处理包括:通过所述阈值函数学习所述特征分布参数通道中的阈值参数;通过所述激活函数学习所述特征分布参数通道中的特征偏移参数。
[0114]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0115]
所述阈值函数为动态学习特征阈值参数的dysign函数,对于包含有c个通道的输入特征x,所述dysign函数输入为特征x,输出为阈值参数a;
[0116]
所述dysign函数为每一个通道的特征单独计算一个阈值,计算过程为:
[0117][0118]
其中,h及w分别表示输入特征的尺寸大小,与表示两个全连接层。
[0119]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0120]
通过所述dysign函数学习一组参数a
1:c
来二值化特征图,学习过程为:
[0121][0122]
其中ai表示学习得到的第i个通道的阈值,通过所述dysign函数对每个通道的全局信息进行编码,并自适应得到每一个通道的阈值,通过所述dysign函数降低二值化网络中的信息损失。
[0123]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0124]
所述通过所述激活函数学习所述特征分布参数通道中的特征偏移参数,包括:
[0125]
所述激活函数为:
[0126]
其中,γi与表示改变图像分布的偏移参数;
[0127]
基于对激活函数输入特征自适应学习得到特征偏移参数γ
1:c
与通过特征偏移参数γ
1:c
与获得预设的特征分布。
[0128]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
[0129]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0130]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1