用于图像处理的卷积神经网络模型的训练方法转让专利

申请号 : CN202210297850.7

文献号 : CN114399828B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 艾国杨作兴房汝明向志宏

申请人 : 深圳比特微电子科技有限公司

摘要 :

本公开涉及用于图像处理的卷积神经网络模型的训练方法。用于图像处理的卷积神经网络模型的训练方法,包括:利用训练集图像对待训练的卷积神经网络模型进行训练,卷积神经网络模型包括包含多个通道的卷积核,用于对包括多个通道的图像特征进行卷积处理;以及对经训练的卷积神经网络模型进行校验:基于测试集图像对图像特征的通道向量进行聚类以得到参考通道向量;对用于对图像特征进行卷积处理的每个卷积核计算其每个通道向量与每个参考通道向量的点乘结果以得到通道向量点乘表;以及存储参考通道向量和与卷积核对应的通道向量点乘表作为经训练的卷积神经网络模型的参数,通道向量是由图像特征或卷积核中的不同通道中的相同坐标处的值构成的向量。

权利要求 :

1.一种用于图像处理的卷积神经网络模型的训练方法,其特征在于,所述方法包括:利用训练集图像对待训练的卷积神经网络模型进行训练,其中待训练的卷积神经网络模型包括一个或多个卷积核,每个卷积核包括多个通道,用于对包括多个通道的图像特征进行卷积处理;以及通过以下步骤,对经训练的卷积神经网络模型进行校验:

基于测试集图像对图像特征的通道向量进行聚类以得到一组参考通道向量;

针对用于对所述图像特征进行卷积处理的每一个卷积核,计算该卷积核的每一个通道向量与所述图像特征的每一个参考通道向量的点乘结果以得到一个通道向量点乘表;以及存储所述一组参考通道向量和一个或多个通道向量点乘表作为经训练的卷积神经网络模型的参数,其中每一个通道向量点乘表分别与一个卷积核对应,并且其中所述通道向量是由包括多个通道的图像特征中的不同通道中的相同坐标处的值构成的向量,或者是由包括多个通道的卷积核中的不同通道中的相同坐标处的值构成的向量。

2.根据权利要求1所述的方法,所述方法还包括:

在对经训练的卷积神经网络模型进行校验时,通过不同方式对图像特征的通道向量进行聚类以得到两组或更多组参考通道向量,针对用于对所述图像特征进行卷积处理的每一个卷积核计算该卷积核的每一个通道向量与每一组参考通道向量中的每一个参考通道向量的点乘结果以得到与两组或更多组参考通道向量对应的两组或更多组通道向量点乘表,并且存储所述两组或更多组参考通道向量和所述两组或更多组通道向量点乘表作为经训练的卷积神经网络模型的参数。

3.根据权利要求1所述的方法,所述方法还包括:

至少部分地基于用于对所述图像特征进行卷积处理的卷积核的分辨率来确定对所述图像特征的通道向量进行聚类的类数。

4.根据权利要求1所述的方法,所述方法还包括:

将对所述图像特征的通道向量进行聚类的类数确定为使得聚类损失小于预定阈值的最小的数量。

5.根据权利要求1所述的方法,其中

所述卷积神经网络模型包括多级卷积层,每一级卷积层包括用于对该级卷积层的图像特征进行卷积处理的一个或多个卷积核,并且针对经训练的卷积神经网络模型的每一级卷积层进行校验。

6.一种图像处理方法,其特征在于,所述方法包括:

获得根据权利要求1所述的方法训练的卷积神经网络模型;以及

利用经训练的卷积神经网络模型中的一个或多个卷积核对要处理的图像的图像特征进行卷积处理,其中,在计算所述要处理的图像的图像特征的一个通道向量与用于对所述要处理的图像的图像特征进行卷积处理的卷积核的一个通道向量的点乘结果时:对所述要处理的图像的图像特征的所述通道向量进行分类,确定对应的一组参考通道向量中的与所述要处理的图像的图像特征的所述通道向量最接近的参考通道向量;并且查对应的通道向量点乘表,得到所述最接近的参考通道向量与所述卷积核的所述通道向量的点乘结果,作为所述要处理的图像的图像特征的所述通道向量与所述卷积核的所述通道向量的点乘结果。

7.根据权利要求6所述的方法,其中

获得根据权利要求2所述的方法训练的卷积神经网络模型;并且

在利用经训练的卷积神经网络模型中的一个或多个卷积核对要处理的图像的图像特征进行卷积处理时,预先选择聚类方式,从而在计算点乘结果时采用对应的一组参考通道向量和对应的一组通道向量点乘表。

8.根据权利要求6所述的方法,其中

通过相似度比较来对所述要处理的图像的图像特征的所述通道向量进行分类。

9.一种计算机存储介质,其上存储有可执行指令,所述指令在被执行时能够实现根据权利要求1‑8中任一项所述的方法。

10.一种图像处理装置,其特征在于,所述装置能够实现根据权利要求6‑8中任一项所述的方法。

11.一种智能设备,其特征在于,所述智能设备包括根据权利要求10所述的装置。

说明书 :

用于图像处理的卷积神经网络模型的训练方法

技术领域

[0001] 本公开涉及智能设备端的图像处理。
[0002] 具体来说,涉及一种用于智能设备端的图像处理的卷积神经网络模型的训练方法,采用如此训练的卷积神经网络模型的图像处理方法,其上存储有上述方法的计算机存储介质,实现上述方法的图像处理装置以及包括图像处理装置的智能设备。

背景技术

[0003] 目前,在智能设备(例如手机、平板电脑、智能摄像头、智能闸机等)中,对图像处理技术有广泛的需要。例如,在智能摄像头中,需要进行图像处理以实现人脸识别、美颜等功能。
[0004] 现有的图像处理方法采用卷积神经网络模型,在图像处理时需要进行大量的计算。但是,在智能设备端进行图像处理时,计算资源通常较为紧张,期望的计算时间也通常较短。
[0005] 因此,需要改进目前所采用的卷积神经网络模型的训练方法以及相应的图像处理方法,减少利用经训练的卷积神经网络模型进行图像处理的过程中的计算量,从而减少在智能设备端进行图像处理所需的计算时间和计算资源。

发明内容

[0006] 本公开的目的之一是提供一种用于图像处理的卷积神经网络模型的训练方法。
[0007] 根据本公开的一个方面,提供了一种用于图像处理的卷积神经网络模型的训练方法,其特征在于,所述方法包括:利用训练集图像对待训练的卷积神经网络模型进行训练,其中待训练的卷积神经网络模型包括一个或多个卷积核,每个卷积核包括多个通道,用于对包括多个通道的图像特征进行卷积处理;以及通过以下步骤,对经训练的卷积神经网络模型进行校验:基于测试集图像对图像特征的通道向量进行聚类以得到一组参考通道向量;针对用于对所述图像特征进行卷积处理的每一个卷积核,计算该卷积核的每一个通道向量与所述图像特征的每一个参考通道向量的点乘结果以得到一个通道向量点乘表;以及存储所述一组参考通道向量和与一个或多个卷积核对应的一个或多个通道向量点乘表作为经训练的卷积神经网络模型的参数,其中所述通道向量是由包括多个通道的图像特征或卷积核中的不同通道中的相同坐标处的值构成的向量。
[0008] 根据本公开的另一个方面,提供了一种图像处理方法,其特征在于,所述方法包括:获得根据权利要求1所述的方法训练的卷积神经网络模型;以及利用经训练的卷积神经网络模型中的一个或多个卷积核对要处理的图像的图像特征进行卷积处理,其中,在计算所述图像特征的一个通道向量与用于对所述图像特征进行卷积处理的卷积核的一个通道向量的点乘结果时:对所述图像特征的所述通道向量进行分类,确定对应的一组参考通道向量中的与所述图像特征的所述通道向量最接近的参考通道向量;并且查对应的通道向量点乘表,得到所述最接近的参考通道向量与所述卷积核的所述通道向量的点乘结果,作为所述图像特征的所述通道向量与所述卷积核的所述通道向量的点乘结果。
[0009] 根据本公开的另一个方面,提供了一种计算机存储介质,其上存储有可执行指令,所述指令在被执行时能够实现上述方法。
[0010] 根据本公开的另一个方面,提供了一种图像处理装置,其特征在于,所述装置能够实现上述方法。
[0011] 根据本公开的又一个方面,提供了一种智能设备,其特征在于,所述智能设备包括上述装置。
[0012] 通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得更为清楚。

附图说明

[0013] 构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
[0014] 参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
[0015] 图1示出了现有技术中用于图像处理的卷积神经网络模型的示意图。
[0016] 图2示出了根据本公开的至少一个实施例的用于图像处理的卷积神经网络模型的训练方法的流程图。
[0017] 图3示出了根据本公开的至少一个实施例的用于训练的卷积神经网络模型的示意图。
[0018] 图4示出了根据本公开的至少一个实施例的图像处理方法的流程图。
[0019] 图5示出了根据本公开的至少一个实施例的图像处理装置的示意性框图。
[0020] 注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在一些情况中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0021] 为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,本公开并不限于附图等所公开的位置、尺寸及范围等。

具体实施方式

[0022] 下面将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0023] 以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的结构及方法是以示例性的方式示出,来说明本公开中的结构和方法的不同实施例。然而,本领域技术人员将会理解,它们仅仅说明可以用来实施的本公开的示例性方式,而不是穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
[0024] 对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0025] 在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0026] 图1示出了现有技术中用于图像处理的卷积神经网络模型100的示意图。
[0027] 卷积神经网络模型100通常包括多级卷积层,图1中示意性地示出一级卷积层的结构。每一级卷积层包括卷积核121、122、123,用于对输入到这一级卷积层的图像特征110进行卷积处理,从而生成输出的图像特征130。输入的图像特征110由上一级卷积层输入到这一级卷积层(或作为要处理的图像的输入特征而输入到这一级卷积层),输出的图像特征130输出到下一级卷积层(或作为要处理的图像的输出特征而输出)。
[0028] 在图1的示例中,输入的图像特征110包括4个通道,其分辨率为6×6;输出的图像特征130包括3个通道,其分辨率为4×4;卷积核121、122、123分别包括4个通道,其分辨率为3×3。其中,卷积核121、122、123的通道数与输入的图像特征110的通道数相同,卷积核121、
122、123的数量与输出的图像特征130的通道数相同。
[0029] 在利用卷积核121、122、123对输入的图像特征110进行卷积处理时,利用每个卷积核分别对输入的图像特征110进行卷积处理,得到输出的图像特征130的相应一个通道的特征值。例如,利用卷积核121对输入的图像特征110进行卷积处理,得到输出的图像特征130的第1通道的特征值(aa1, ab1,…, dd1)。
[0030] 更具体而言,利用一个卷积核与图像特征110的一部分特征值进行乘加运算,得到图像特征130的相应一个通道的一个特征值。之后,利用该卷积核与图像特征110的另一部分特征值进行类似的乘加运算,得到图像特征130的相应一个通道的另一个特征值。依此类推,就完成了利用该卷积核对图像特征110进行卷积处理的过程。本文中提到的乘加运算是指进行乘法运算之后将相乘的结果加到一起。
[0031] 例如,在利用卷积核121对图像特征110进行卷积处理时,可以利用卷积核121与图像特征110的特征值aa1, ab1, ac1, ba1, bb1, bc1, ca1, cb1, cc1; aa2, ab2, ac2, …, ca2, cb2, cc2; aa3, ab3, ac3, … ca4, cb4, cc4进行乘加运算,得到图像特征130的第1通道的特征值aa1;之后利用卷积核121与图像特征110的特征值ab1, ac1, ad1, bb1, bc1, bd1, cb1, cc1, cd1; ab2, ac2, ad2, … cb4, cc4, cd4进行乘加运算,得到图像特征130的第1通道的特征值ab1;依此类推,利用卷积核121与图像特征110的特征值dd1, de1, df1, ed1, ee1, ef1, fd1, fe1, ff1; dd2, de2, df2, … fd4, fe4, ff4进行乘加运算,得到图像特征130的第1通道的特征值dd1,从而得到图像特征130的第1通道的所有特征值。
[0032] 为了叙述方便,以下将由包括多个通道的图像特征110、130或卷积核121、122、123中的不同通道中的相同坐标处的值构成的向量称为通道向量。例如,可以将由图像特征110的不同通道中的坐标(a,a)处(即,第1行第1列处)的特征值aa1, aa2, aa3, aa4构成的向量称为通道向量uaa,并且可以将由卷积核121的不同通道中的坐标(A,A)处(即,第1行第1列处)的参数AA1, AA2, AA3, AA4构成的向量称为通道向量vAA,依此类推。
[0033] 在利用一个卷积核与图像特征110的一部分特征值进行乘加运算时,针对该卷积核的每一个通道向量计算其与图像特征110的相应通道向量的点乘结果,并将该卷积核的每一个通道向量与图像特征110的相应通道向量的点乘结果之和作为输出的图像特征130的相应通道的对应一个坐标处的特征值。
[0034] 例如,在利用卷积核121与图像特征110的特征值aa1, ab1, ac1, …, ca1, cb1, cc1; aa2, ab2, ac2, … ca4, cb4, cc4进行乘加运算时,针对卷积核121的每一个通道向量vAA=[AA1, AA2, AA3, AA4], vAB=[AB1, AB2, AB3, AB4], vAC=[AC1, AC2, AC3, AC4], …, vCC=[CC1, CC2, CC3, CC4]分别计算其与图像特征110的相应通道向量uaa=[aa1, aa2, aa3, aa4], uab=[ab1, ab2, ab3, ab4], uac=[ac1, ac2, ac3, ac4], …, ucc=[cc1, cc2, cc3, cc4]的点乘结果,即分别计算uaa·vAA, uab·vAB, uac·vAC,…, ucc·vCC。之后,将上述点乘结果之和作为图像特征130的第1通道的坐标(a,a)处的特征值aa1。类似地,在利用卷积核121与图像特征110的特征值ab1, ac1, ad1, …, cb1, cc1, cd1; ab2, ac2, ad2, … cb4, cc4, cd4进行乘加运算时,针对卷积核121的每一个通道向量vAA=[AA1, AA2, AA3, AA4], vAB=[AB1, AB2, AB3, AB4], vAC=[AC1, AC2, AC3, AC4], …, vCC=[CC1, CC2, CC3, CC4]分别计算其与图像特征110的相应通道向量uab=[ab1, ab2, ab3, ab4], uac=[ac1, ac2, ac3, ac4], uad=[ad1, ad2, ad3, ad4], …, ucd=[cd1, cd2, cd3, cd4]的点乘结果,即分别计算uab·vAA, uac·vAB, uad·vAC, …, ucd·vCC。之后,将上述点乘结果之和作为图像特征130的第1通道的坐标(a,b)处的特征值ab1。依此类推,计算udd·vAA, ude·vAB, udf·vAC, …, uff·vCC的点乘结果,将它们之和作为图像特征130的第1通道的坐标(d,d)处的特征值dd1,从而得到图像特征130的第1通道的所有特征值。
[0035] 可以看出,在现有技术的基于卷积神经网络模型100的图像处理方法中,在利用卷积核对输入的图像特征进行卷积处理时需要执行大量的通道向量之间的点乘运算。相应的图像特征和卷积核的通道数越大,通道向量越长,这种点乘运算所需要的计算时间和计算资源也就越多。
[0036] 需要说明的是,图1仅示意性地示出卷积神经网络模型100的结构。在实际应用中,卷积神经网络模型100的每一级卷积层中的卷积核的个数和通道数以及其所处理的图像特征的通道数和分辨率通常远大于图1中的示例。因此,在现有技术的图像处理方法中,进行卷积处理需要耗费大量的计算时间和计算资源。
[0037] 但是,在智能设备端进行图像处理的应用场景下,计算时间和计算资源通常较为紧张。因此,在智能设备端进行图像处理时,需要一种利用较少计算时间和计算资源实现相近效果的改进的图像处理方法。
[0038] 图2示出了根据本公开的至少一个实施例的用于图像处理的卷积神经网络模型的训练方法200的流程图。方法200可以用于训练一种改进的卷积神经网络模型,其特别适用于在智能设备端进行图像处理。
[0039] 在步骤201处,方法200开始。
[0040] 在步骤202处,利用训练集图像对待训练的卷积神经网络模型进行训练。其中,待训练的卷积神经网络模型包括一个或多个卷积核,每个卷积核包括多个通道,用于对包括多个通道的图像特征进行卷积处理。
[0041] 在步骤204处,对经训练的卷积神经网络模型进行校验。
[0042] 其中,在步骤206处,基于测试集图像对图像特征的通道向量进行聚类以得到一组参考通道向量。在步骤208处,针对用于对所述图像特征进行卷积处理的每一个卷积核,计算该卷积核的每一个通道向量与所述图像特征的每一个参考通道向量的点乘结果以得到一个通道向量点乘表。在步骤210处,存储该组参考通道向量和与一个或多个卷积核对应的一个或多个通道向量点乘表作为经训练的卷积神经网络模型的参数。其中,通道向量是由包括多个通道的图像特征或卷积核中的不同通道中的相同坐标处的值构成的向量。
[0043] 在步骤212处,方法200结束。
[0044] 以下结合图3更详细地说明方法200中的步骤206‑208。
[0045] 图3示出了根据本公开的至少一个实施例的用于训练的卷积神经网络模型300的示意图。卷积神经网络模型300可以包括多级卷积层,图3中示意性地示出其中一级卷积层的结构。在所示出的一级卷积层中,利用卷积核321对输入的图像特征310进行卷积处理,从而生成输出的图像特征340。
[0046] 为了简洁起见,在图3中仅示出了一个卷积核321及其对应生成的一个通道的图像特征340。应当理解,卷积神经网络模型300的一级卷积层可以包括多个卷积核,相应地,可以利用多个卷积核对输入的图像特征310进行卷积处理以生成包括多个通道的输出的图像特征340。
[0047] 在方法200中的步骤206处,基于测试集图像对输入的图像特征310的通道向量进行聚类以得到一组参考通道向量330。
[0048] 以图3所示的卷积神经网络模型300为例,可以基于测试集针对每一个测试集图像计算得到相应的图像特征310中的36个通道向量,基于它们的值将所有这些通道向量分成具有相似的值的若干类,并且针对每一类计算出一个参考通道向量,其中每个参考通道向量的值能够代表相应的一类通道向量。将图像特征310的通道向量进行聚类的类数越少,利用卷积神经网络模型300进行图像处理时所需的计算时间和计算资源也就越少。
[0049] 如图3所示,可以基于测试集图像将图像特征310的通道向量uaa=[aa1, aa2, aa3, aa4], uab=[ab1, ab2, ab3, ab4], …, uff=[ff1, ff2, ff3, ff4]聚成8类,所得到的一组参考通道向量330相应地包括8个参考通道向量:uⅠ=[Ⅰ1,Ⅰ2,Ⅰ3,Ⅰ4], uⅡ=[Ⅱ1,Ⅱ2,Ⅱ3,Ⅱ4], …, uⅧ=[Ⅷ1,Ⅷ2,Ⅷ3,Ⅷ4]。例如,参考通道向量uⅠ代表图像特征310中的通道向量的第1类,uⅠ包括4个值Ⅰ1,Ⅰ2,Ⅰ3,Ⅰ4,其分别对应于图像特征310的4个通道。
[0050] 可以利用聚类算法(例如,k‑means算法)对图像特征310的通道向量进行聚类。可以基于多种因素确定对图像特征310的通道向量进行聚类的类数,之后按照确定的类数利用聚类算法对图像特征310的通道向量进行聚类。
[0051] 在优选的实施例中,可以至少部分地基于用于对图像特征310进行卷积处理的卷积核321的分辨率来确定对图像特征310的通道向量进行聚类的类数。例如,当卷积核321的分辨率较小(例如,1×1)时聚类的类数可以较多,而当卷积核321的分辨率较大(例如,3×3)时聚类的类数可以较少,以使得在这两种情况下随后要存储以用于计算的通道向量点乘表的大小相近。
[0052] 在优选的实施例中,可以将对输入的图像特征310的通道向量进行聚类的类数确定为使得聚类损失小于预定阈值的最小的数量。根据方法200对图像特征310的通道向量进行聚类并且用聚类得到的参考通道向量来代替图像特征310的实际通道向量进行点乘计算会带来计算误差,这种计算误差是由聚类导致的损失。聚类的类数越少,用参考通道向量代替实际通道向量进行点乘计算所导致的计算误差越大。可以基于测试集图像来估计这种聚类损失,并且可以将聚类的类数确定为使得聚类损失小于预定阈值的最小的数量。聚类损失的预定阈值可以基于工程实践适当地确定。
[0053] 在步骤208处,针对用于对输入的图像特征310进行卷积处理的卷积核321,计算其每一个通道向量与该图像特征310的每一个参考通道向量的点乘结果以得到通道向量点乘表331。
[0054] 通道向量点乘表331与卷积核321对应。为了简洁起见,图3中仅示出了一个卷积核及其对应的一张通道向量点乘表。在利用多个卷积核对输入的图像特征310进行卷积处理的情况下,针对每一个卷积核计算它的每一个通道向量与输入的图像特征310的每一个参考通道向量的点乘结果,以得到对应的通道向量点乘表。
[0055] 例如,如图3所示,计算卷积核321的每一个通道向量vAA=[AA1, AA2, AA3, AA4], vAB=[AB1, AB2, AB3, AB4], …, vCC=[CC1, CC2, CC3, CC4]与图像特征310的每一个参考通道向量uⅠ=[Ⅰ1,Ⅰ2,Ⅰ3,Ⅰ4], uⅡ=[Ⅱ1,Ⅱ2,Ⅱ3,Ⅱ4], …, uⅧ=[Ⅷ1,Ⅷ2,Ⅷ3,Ⅷ4]的点乘结果,以得到通道向量点乘表331。其中,例如,通道向量点乘表331中的标注为AA‑Ⅰ的值(即,第1行第1列的值)表示卷积核321的通道向量vAA与参考通道向量uⅠ的点乘结果。
[0056] 通道向量点乘表331的行数与参考通道向量的个数相同,即由对图像特征310的通道向量进行聚类的类数决定。通道向量点乘表331的列数由卷积核321的分辨率决定。因此,如果期望需要存储的通道向量点乘表的大小大致相同,当卷积核321的分辨率较小时,聚类的类数可以较多。
[0057] 在步骤210处,存储该组参考通道向量330和与卷积核321对应的通道向量点乘表331作为经训练的卷积神经网络模型300的参数。
[0058] 根据方法200训练得到的卷积神经网络模型300的一级卷积层的参数包括一组参考通道向量330和一个或多个通道向量点乘表331。如前所述,在利用多个卷积核对输入的图像特征310进行卷积处理的情况下,一级卷积层的参数可以包括多个通道向量点乘表,其中每一个通道向量点乘表对应于一个卷积核。在图像处理中,在智能设备端可以仅存储经训练的卷积神经网络模型300的上述参数。
[0059] 在优选的实施例中,在对经训练的卷积神经网络模型300进行校验时,可以通过不同方式对图像特征310的通道向量进行聚类,以得到两组或更多组参考通道向量。图3中仅示意性地示出一组参考通道向量330。在进一步优选的实施例中,可以以不同的类数对图像特征310的通道向量进行聚类,以得到两组或更多组参考通道向量。
[0060] 之后,可以针对用于对图像特征310进行卷积处理的每一个卷积核321计算其每一个通道向量与每一组参考通道向量330中的每一个参考通道向量的点乘结果,以得到与两组或更多组参考通道向量330对应的两组或更多组通道向量点乘表(图3中仅示意性地示出与一组参考通道向量330对应的一组通道向量点乘表331)。之后,可以存储这两组或更多组参考通道向量321和对应的两组或更多组通道向量点乘表331作为经训练的卷积神经网络模型330的参数。其中,每一组通道向量点乘表对应于一种聚类方式,而一组通道向量点乘表中的每一个通道向量点乘表对应于一个卷积核。
[0061] 在优选的实施例中,针对经训练的卷积神经网络模型300的每一级卷积层进行校验。即,在执行训练方法200时,针对每一级卷积层执行步骤206‑208,对每一级卷积层的输入的图像特征的通道向量进行聚类以得到并存储一组参考通道向量,并且计算并存储与该级卷积层中的一个或多个卷积核对应的一个或多个通道向量点乘表。在其他实施例中,可以只针对部分卷积层进行校验。
[0062] 图4示出了根据本公开的至少一个实施例的图像处理方法400的流程图。
[0063] 在步骤401处,方法400开始。
[0064] 在步骤402处,获得根据图2所示的方法200训练的、在图3中示意性地示出的经训练的卷积神经网络模型300。
[0065] 在步骤404处,利用经训练的卷积神经网络模型300中的一个或多个卷积核321对要处理的图像的图像特征进行卷积处理,其中,通过以下步骤406‑408来计算输入的图像特征300的一个通道向量与用于对图像特征300进行卷积处理的卷积核321的一个通道向量的点乘结果。
[0066] 例如,可以通过以下步骤406‑408来计算输入的图像特征300的通道向量uaa=[aa1, aa2, aa3, aa4]与卷积核321的通道向量vAA=[AA1, AA2, AA3, AA4]的点乘结果。
[0067] 在步骤406处,对图像特征300的该通道向量进行分类,确定对应的一组参考通道向量330中的与图像特征300的该通道向量最接近的参考通道向量。例如,可以对图像特征300的通道向量uaa=[aa1, aa2, aa3, aa4]进行分类,确定对应的一组参考通道向量330中的与uaa=[aa1, aa2, aa3, aa4]最接近的参考通道向量。例如,可以确定uⅠ=[Ⅰ1,Ⅰ2,Ⅰ3,Ⅰ4]为最接近的参考通道向量。
[0068] 在优选的实施例中,可以通过相似度比较来对所述图像特征的所述通道向量进行分类。具体而言,可以比较一组参考通道向量330中的每一个参考通道向量uⅠ=[Ⅰ1,Ⅰ2,Ⅰ3,Ⅰ4], uⅡ=[Ⅱ1,Ⅱ2,Ⅱ3,Ⅱ4], …, uⅧ=[Ⅷ1,Ⅷ2,Ⅷ3,Ⅷ4]与图像特征300的通道向量uaa=[aa1, aa2, aa3, aa4]的相似度,并且将相似度最高的一个参考通道向量(例如,uⅠ=[Ⅰ1,Ⅰ2,Ⅰ3,Ⅰ4])确定为最接近的参考通道向量。
[0069] 在步骤408处,查对应的通道向量点乘表331,得到该最接近的参考通道向量与卷积核321的该通道向量的点乘结果,作为图像特征300的该通道向量与卷积核321的该通道向量的点乘结果。例如,可以查通道向量点乘表331,在其第1行第1列处查到标注为AA‑Ⅰ的值,其表示最接近的参考通道向量uⅠ=[Ⅰ1,Ⅰ2,Ⅰ3,Ⅰ4]与卷积核321的通道向量vAA=[AA1, AA2, AA3, AA4]的点乘结果。将这个值作为图像特征300的通道向量uaa=[aa1, aa2, aa3, aa4]与卷积核321的通道向量vAA=[AA1, AA2, AA3, AA4]的点乘结果。
[0070] 在优选的实施例中,在训练方法200的校验步骤中可以通过不同方式对图像特征310的通道向量进行聚类以得到两组或更多组参考通道向量(图3中仅示意性地示出一组参考通道向量330)。在这种情况下,在利用经训练的卷积神经网络模型300中的一个或多个卷积核321对要处理的图像的图像特征310进行卷积处理时,可以预先选择聚类方式,从而在计算点乘结果时采用对应的一组参考通道向量330和对应的一组通道向量点乘表331。在优选的实施例中,可以由智能设备的用户选择聚类方式。例如,用户可以选择极速处理模式、精细处理模式等,其对应不同的聚类方式。
[0071] 在步骤410处,方法400结束。
[0072] 根据本公开的方法可以以软件、硬件、软件与硬件的结合等各种适当的方式实现。
[0073] 另一方面,可以实现一种计算机存储介质,其上存储有可执行指令,该指令在被执行时能够实现上述方法。
[0074] 图5示出了根据本公开的至少一个实施例的图像处理装置500的示意性框图。
[0075] 图像处理装置500可以用于实现上述训练方法,该装置包括:
[0076] 训练模块510,用于利用训练集图像对待训练的卷积神经网络模型进行训练,其中待训练的卷积神经网络模型包括一个或多个卷积核,每个卷积核包括多个通道,用于对包括多个通道的图像特征进行卷积处理;以及
[0077] 校验模块520,用于通过以下步骤对经训练的卷积神经网络模型进行校验:
[0078] 基于测试集图像对图像特征的通道向量进行聚类以得到一组参考通道向量;
[0079] 针对用于对所述图像特征进行卷积处理的每一个卷积核,计算该卷积核的每一个通道向量与所述图像特征的每一个参考通道向量的点乘结果以得到一个通道向量点乘表;以及
[0080] 存储所述一组参考通道向量和一个或多个通道向量点乘表作为经训练的卷积神经网络模型的参数,其中每一个通道向量点乘表分别与一个卷积核对应,并且
[0081] 其中所述通道向量是由包括多个通道的图像特征中的不同通道中的相同坐标处的值构成的向量,或者是由包括多个通道的卷积核中的不同通道中的相同坐标处的值构成的向量。
[0082] 此外,图像处理装置500还可以用于实现上述图像处理方法,该装置进一步包括:
[0083] 卷积处理模块530,用于获得根据上述方法训练的卷积神经网络模型,并且利用经训练的卷积神经网络模型中的一个或多个卷积核对要处理的图像的图像特征进行卷积处理,其中,
[0084] 在计算所述图像特征的一个通道向量与用于对所述图像特征进行卷积处理的卷积核的一个通道向量的点乘结果时:
[0085] 对所述图像特征的所述通道向量进行分类,确定对应的一组参考通道向量中的与所述图像特征的所述通道向量最接近的参考通道向量;并且
[0086] 查对应的通道向量点乘表,得到所述最接近的参考通道向量与所述卷积核的所述通道向量的点乘结果,作为所述图像特征的所述通道向量与所述卷积核的所述通道向量的点乘结果。
[0087] 另一方面,本发明还包括一种智能设备,其包括上述图像处理装置。例如,该智能设备可以是手机、平板电脑、相机、智能摄像头等。
[0088] 根据本公开的方法可以以软件、硬件、软件与硬件的结合等各种适当的方式实现。
[0089] 在说明书及权利要求中的词语“前”、“后”、“顶”、“底”、“之上”、“之下”等,如果存在的话,用于描述性的目的而并不一定用于描述不变的相对位置。应当理解,这样使用的词语在适当的情况下是可互换的,使得在此所描述的本公开的实施例,例如,能够在与在此所示出的或另外描述的那些取向不同的其他取向上操作。
[0090] 如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
[0091] 如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪声以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。
[0092] 另外,前面的描述可能提及了被“连接”或“耦接”在一起的元件或节点或特征。如在此所使用的,除非另外明确说明,“连接”意指一个元件/节点/特征与另一种元件/节点/特征在电学上、机械上、逻辑上或以其它方式直接地连接(或者直接通信)。类似地,除非另外明确说明,“耦接”意指一个元件/节点/特征可以与另一元件/节点/特征以直接的或间接的方式在机械上、电学上、逻辑上或以其它方式连结以允许相互作用,即使这两个特征可能并没有直接连接也是如此。也就是说,“耦接”意图包含元件或其它特征的直接连结和间接连结,包括利用一个或多个中间元件的连接。
[0093] 另外,仅仅为了参考的目的,还可以在本文中使用“第一”、“第二”等类似术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。
[0094] 还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
[0095] 在本公开中,术语“提供”从广义上用于涵盖获得对象的所有方式,因此“提供某对象”包括但不限于“购买”、“制备/制造”、“布置/设置”、“安装/装配”、和/或“订购”对象等。
[0096] 本领域技术人员应当意识到,在上述操作之间的边界仅仅是说明性的。多个操作可以结合成单个操作,单个操作可以分布于附加的操作中,并且操作可以在时间上至少部分重叠地执行。而且,另选的实施例可以包括特定操作的多个实例,并且在其他各种实施例中可以改变操作顺序。但是,其它的修改、变化和替换同样是可能的。因此,本说明书和附图应当被看作是说明性的,而非限制性的。
[0097] 虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。