应用卷积神经网络进行数据处理的方法、装置和电子系统转让专利

申请号 : CN202010465619.5

文献号 : CN111797971A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马宁宁

申请人 : 北京迈格威科技有限公司

摘要 :

本发明提供了一种应用卷积神经网络进行数据处理的方法、装置和电子系统,能够在获取到目标对象的采集数据后,将采集数据输入至预先训练好的卷积神经网络进行处理;当结构单元的多个目标卷积核均接收到输入数据时,多个目标卷积核每次卷积得到的卷积结果输出至最值判别器,由最值判别器将多个目标卷积核对应卷积结果中的最值确定为本次卷积计算的卷积优选结果;基于最值判别器确定出的输入数据对应的卷积优选结果继续进行后续处理,直到得到卷积神经网络的输出结果。本发明的卷积神经网络无需通过划分通道路径的方式选择不同的卷积核,有效避免了访存开销,并且,利用最值判别器高效融合卷积核,进而提高了网络的运行速度。

权利要求 :

1.一种应用卷积神经网络进行数据处理的方法,其特征在于,所述卷积神经网络的至少一个目标卷积层包括至少一个结构单元,所述结构单元包括多个并行的目标卷积核,多个所述目标卷积核均与最值判别器连接,且多个所述目标卷积核的大小互不相同;所述方法包括:获取目标对象的采集数据;

将所述采集数据输入至预先训练好的所述卷积神经网络进行处理;

当所述结构单元的多个目标卷积核均接收到输入数据时,多个所述目标卷积核分别与所述输入数据进行卷积计算,多个所述目标卷积核每次卷积得到的卷积结果输出至所述最值判别器,由所述最值判别器将多个所述目标卷积核对应卷积结果中的最值确定为本次卷积计算的卷积优选结果;

基于所述最值判别器确定出的所述输入数据对应的卷积优选结果继续进行后续处理,直到得到所述卷积神经网络的输出结果。

2.根据权利要求1所述的方法,其特征在于,所述最值判别器为最大值判别器或最小值判别器。

3.根据权利要求1所述的方法,其特征在于,所述结构单元包括与多个所述目标卷积核的输入端分别连接的第一卷积核与所述最值判别器的输出端连接的第二卷积核;其中,所述第一卷积核和所述第二卷积核均为1×1卷积核。

4.根据权利要求1所述的方法,其特征在于,多个所述目标卷积核分别为1×1卷积核、3×3卷积核和5×5卷积核。

5.根据权利要求1所述的方法,其特征在于,多个所述目标卷积核分别为1×1的深度可分离卷积核、3×3的深度可分离卷积核和5×5的深度可分离卷积核。

6.根据权利要求1所述的方法,其特征在于,所述卷积神经网络包括依次连接的输入层、第一卷积层、最大池化层、第二卷积层、第三卷积层、第四卷积层、第五卷积层、全局池化层和FC层;

其中,所述第二卷积层、所述第三卷积层和所述第四卷积层为所述目标卷积层。

7.根据权利要求6所述的方法,其特征在于,所述第二卷积层包括依次连接的四个所述结构单元,所述第三卷积层包括依次连接的八个所述结构单元,所述第四卷积层包括依次连接的四个所述结构单元。

8.根据权利要求7所述的方法,其特征在于,所述第二卷积层、所述第三卷积层和所述第四卷积层的所述结构单元中的首个结构单元中的多个所述目标卷积核的卷积步长为2,其余结构单元中的多个所述目标卷积核的卷积步长为1。

9.一种应用卷积神经网络进行数据处理的装置,其特征在于,所述卷积神经网络的至少一个目标卷积层包括至少一个结构单元,所述结构单元包括多个并行的目标卷积核,多个所述目标卷积核均与最值判别器连接,且多个所述目标卷积核的大小互不相同;所述装置包括:获取模块,用于获取目标对象的采集数据;

输入模块,用于将所述采集数据输入至预先训练好的所述卷积神经网络进行处理;

确定模块,用于当所述结构单元的多个目标卷积核均接收到输入数据时,多个所述目标卷积核分别与所述输入数据进行卷积计算,多个所述目标卷积核每次卷积得到的卷积结果输出至所述最值判别器,由所述最值判别器将多个所述目标卷积核对应卷积结果中的最值确定为本次卷积计算的卷积优选结果;

输出模块,用于基于所述最值判别器确定出的所述输入数据对应的卷积优选结果继续进行后续处理,直到得到所述卷积神经网络的输出结果。

10.一种电子系统,其特征在于,所述电子系统包括:图像采集设备、处理设备和存储装置;

所述图像采集设备,用于获取目标对象的采集数据;

所述存储装置上存储有计算机程序,所述计算机程序在被所述处理设备运行时执行如权利要求1至8任一项所述的应用卷积神经网络进行数据处理的方法。

11.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理设备运行时执行如权利要求1至8任一项所述的应用卷积神经网络进行数据处理的方法的步骤。

说明书 :

应用卷积神经网络进行数据处理的方法、装置和电子系统

技术领域

[0001] 本发明涉及图像处理技术领域,尤其是涉及一种应用卷积神经网络进行数据处理的方法、装置和电子系统。

背景技术

[0002] 卷积神经网络由于具有较好的表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,因此被广泛应用于检测和识别的处理计算中。
[0003] 其中,卷积神经网络中的卷积核是对输入信息进行特征提取的关键部分,因此,卷积核大小的设定对特征的提取是至关重要的,在实际应用时,常将通道(channel)划分成多条路径,每条路径使用不同大小的卷积核实现特征提取,但是这种对通道切分的方式造成了额外的访存开销,从而降低了网络的运行速度。

发明内容

[0004] 有鉴于此,本发明的目的在于提供一种应用卷积神经网络进行数据处理的方法、装置和电子系统,以缓解上述技术问题。
[0005] 第一方面,本发明实施例提供了一种应用卷积神经网络进行数据处理的方法,其中,卷积神经网络的至少一个目标卷积层包括至少一个结构单元,结构单元包括多个并行的目标卷积核,多个目标卷积核均与最值判别器连接,且多个目标卷积核的大小互不相同;上述方法包括:获取目标对象的采集数据;将采集数据输入至预先训练好的卷积神经网络进行处理;当结构单元的多个目标卷积核均接收到输入数据时,多个目标卷积核分别与输入数据进行卷积计算,多个目标卷积核每次卷积得到的卷积结果输出至最值判别器,由最值判别器将多个目标卷积核对应卷积结果中的最值确定为本次卷积计算的卷积优选结果;
基于最值判别器确定出的输入数据对应的卷积优选结果继续进行后续处理,直到得到卷积神经网络的输出结果。
[0006] 结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,最值判别器为最大值判别器或最小值判别器。
[0007] 结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,结构单元包括与多个目标卷积核的输入端分别连接的第一卷积核与最值判别器的输出端连接的第二卷积核;其中,第一卷积核和第二卷积核均为1×1卷积核。
[0008] 结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,多个目标卷积核分别为1×1卷积核、3×3卷积核和5×5卷积核。
[0009] 结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,多个目标卷积核分别为1×1的深度可分离卷积核、3×3的深度可分离卷积核和5×5的深度可分离卷积核。
[0010] 结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,卷积神经网络包括依次连接的输入层、第一卷积层、最大池化层、第二卷积层、第三卷积层、第四卷积层、第五卷积层、全局池化层和FC层;其中,第二卷积层、第三卷积层和第四卷积层为目标卷积层。
[0011] 结合第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,第二卷积层包括依次连接的四个结构单元,第三卷积层包括依次连接的八个结构单元,第四卷积层包括依次连接的四个结构单元。
[0012] 结合第一方面的第六种可能的实施方式,本发明实施例提供了第一方面的第七种可能的实施方式,其中,第二卷积层、第三卷积层和第四卷积层的结构单元中的首个结构单元中的多个目标卷积核的卷积步长为2,其余结构单元中的多个目标卷积核的卷积步长为1。
[0013] 第二方面,本发明实施例还提供一种应用卷积神经网络进行数据处理的装置,其中,卷积神经网络的至少一个目标卷积层包括至少一个结构单元,结构单元包括多个并行的目标卷积核,多个目标卷积核均与最值判别器连接,且多个目标卷积核的大小互不相同;该装置包括:获取模块,用于获取目标对象的采集数据;输入模块,用于将采集数据输入至预先训练好的卷积神经网络进行处理;确定模块,用于当结构单元的多个目标卷积核均接收到输入数据时,多个目标卷积核分别与输入数据进行卷积计算,多个目标卷积核每次卷积得到的卷积结果输出至最值判别器,由最值判别器将多个目标卷积核对应卷积结果中的最值确定为本次卷积计算的卷积优选结果;输出模块,用于基于最值判别器确定出的输入数据对应的卷积优选结果继续进行后续处理,直到得到卷积神经网络的输出结果。
[0014] 第三方面,本发明实施例还提供一种电子系统,其中,该电子系统包括:图像采集设备、处理设备和存储装置;图像采集设备,用于获取目标对象的采集数据;存储装置上存储有计算机程序,计算机程序在被处理设备运行时执行上述的应用卷积神经网络进行数据处理的方法。
[0015] 第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其中,计算机程序被处理设备运行时执行上述的应用卷积神经网络进行数据处理的方法的步骤。
[0016] 本发明实施例带来了以下有益效果:
[0017] 本发明提供的一种应用卷积神经网络进行数据处理的方法、装置和电子系统,能够在获取到目标对象的采集数据后,将采集数据输入至预先训练好的卷积神经网络进行处理;当结构单元的多个目标卷积核均接收到输入数据时,多个目标卷积核分别与输入数据进行卷积计算,多个目标卷积核每次卷积得到的卷积结果输出至最值判别器,由最值判别器将多个目标卷积核对应卷积结果中的最值确定为本次卷积计算的卷积优选结果;基于最值判别器确定出的输入数据对应的卷积优选结果继续进行后续处理,直到得到卷积神经网络的输出结果。该数据处理方式能够利用并行的多个互不相同的目标卷积核对输入数据进行卷积运算,并基于最值判别器在多个卷积结果中确定出卷积优选结果,使得卷积神经网络输出最优的结果,上述卷积神经网络无需通过划分通道路径的方式选择不同的卷积核,有效避免了访存开销,并且,利用最值判别器高效融合卷积核,进而提高了网络的运行速度。
[0018] 本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
[0019] 为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0020] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021] 图1为本发明实施例提供的一种应用卷积神经网络进行数据处理的方法的流程图;
[0022] 图2为本发明实施例提供的一种结构单元的结构示意图;
[0023] 图3为本发明实施例提供的一种卷积神经网络的结构示意图;
[0024] 图4为本发明实施例提供的一种应用卷积神经网络进行数据处理的装置的结构示意图;
[0025] 图5为本发明实施例提供的一种电子系统的结构示意图。

具体实施方式

[0026] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027] 在实际使用时,为了使得卷积神经网络能够对输入信息进行充分的特征提取,通常,将通道划分成多条路劲以使用尺寸不同的卷积核进行卷积运算,并且,利用sigmoid、softmax、tanh等非线性的方法进行多卷积核的融合,但是,通过通道切分存在访存开销增大,以及,上述卷积核融合过程都包含指数操作存在融合效率低等问题,进而降低了卷积神经网络的运行速度,为了有效缓解上述问题,本发明实施例提供了一种应用卷积神经网络进行数据处理的方法、装置和电子系统,可以有效提高卷积神经网络的运行速度,下面通过实施例进行描述。
[0028] 本实施例提供了一种应用卷积神经网络进行数据处理的方法,其中,卷积神经网络的至少一个目标卷积层包括至少一个结构单元,结构单元包括多个并行的目标卷积核,多个目标卷积核均与最值判别器连接,且多个目标卷积核的大小互不相同。
[0029] 上述尺寸大小互不相同的多个并行的目标卷积核能够对接收到的输入数据同时进行卷积运算,并将得到的多个卷积结果输入至最值判别器,该最值判别器根据实际需要可以为最大值判别器或最小值判别器,在此不进行限定。
[0030] 具体地,应用上述卷积神经网络进行数据处理的过程,可参见图1所示的一种应用卷积神经网络进行数据处理的方法的流程图,该方法具体包括如下步骤:
[0031] 步骤S102,获取目标对象的采集数据;
[0032] 上述采集数据是通过摄像头拍摄得到的目标对象的图像数据,其中,目标对象为待识别或者待检测的对象,可以为以下对象之一:人体、人体部位、车辆或车牌,但不限于上述对象。
[0033] 步骤S104,将采集数据输入至预先训练好的卷积神经网络进行处理;
[0034] 上述预先训练好的卷积神经网络常用于对目标对象进行检测或识别处理,通常,图像的亮度、对比度等属性对图像的影响是非常大的,相同物体在不同亮度、对比度差别非常大,然而在很多图像识别和检测的问题中,这些因素都不应该影响最后的识别和检测结果,通过对图像的预处理,可以尽量避免卷积神经网络受到无关因素的影响,因此,在本实施例中可将上述采集数据在输入卷积神经网络进行卷积处理之前,对采集数据进行数据预处理,以提高卷积神经网络识别和检测的准确率。
[0035] 步骤S106,当结构单元的多个目标卷积核均接收到输入数据时,多个目标卷积核分别与输入数据进行卷积计算,多个目标卷积核每次卷积得到的卷积结果输出至最值判别器,由最值判别器将多个目标卷积核对应卷积结果中的最值确定为本次卷积计算的卷积优选结果;
[0036] 在具体使用时,需要上述多个目标卷积核对输入数据进行卷积运算得到的卷积结果矩阵大小是一致的才能利用最值判别器对卷积结果进行最值确定,但是,由于上述多个目标卷积核的大小不同,所以在对输入数据进行卷积运算时将会得到大小不同的卷积结果矩阵,比如,上述多个目标卷积核分别为1×1卷积核、3×3卷积核和5×5卷积核,且,多个目标卷积核对应的卷积步长均为1时,在不进行padding(扩展)的情况下对8×8的输入数据进行卷积运算得到的卷积结果矩阵分别为8×8、6×6和4×4,为了使得上述卷积结果矩阵相同,在利用上述多个并行的目标卷积核进行卷积运算之前,需要针对不同的目标卷积核设定对应的padding(扩展)。
[0037] 其中,padding的取值是由k×k的卷积核决定的,通常,padding=k/2,k取下整数,因此,对于1×1的目标卷积核设定padding为0,对于3×3的目标卷积核设定padding为1,对于5×5的目标卷积核设定padding为2,在此不再进行赘述。
[0038] 在上述3个目标卷积核每次卷积得到的卷积结果输出至最值判别器后,由最值判别器进行最值的判定,当最值判别器为最大值判别器时,上述3个目标卷积核输入至最值判别器的卷积结果分别为0,-1和1时,该最大值判别器将1确定为本次卷积计算的卷积优选结果;当最值判别器为最小值判别器时,该最小值判别器将-1确定为本次卷积计算的卷积优选结果。在本实施例中,不对目标卷积核的数量进行限定,并且,本发明实施例中的卷积运算与现有卷积运算类似,这里不再详述。
[0039] 步骤S108,基于最值判别器确定出的输入数据对应的卷积优选结果继续进行后续处理,直到得到卷积神经网络的输出结果。
[0040] 如果下一个卷积层同样为目标卷积层也执行上述过程,在此不再赘述,如果下一卷积层不为上述目标卷积层则只执行卷积运算不执行最值判别处理,利用整个卷积神经网络实现对采集数据的处理,以实现对目标对象的识别或检测。
[0041] 本发明提供的一种应用卷积神经网络进行数据处理的方法,能够在获取到目标对象的采集数据后,将采集数据输入至预先训练好的卷积神经网络进行处理;当结构单元的多个目标卷积核均接收到输入数据时,多个目标卷积核分别与输入数据进行卷积计算,多个目标卷积核每次卷积得到的卷积结果输出至最值判别器,由最值判别器将多个目标卷积核对应卷积结果中的最值确定为本次卷积计算的卷积优选结果;基于最值判别器确定出的输入数据对应的卷积优选结果继续进行后续处理,直到得到卷积神经网络的输出结果。该数据处理方式能够利用并行的多个互不相同的目标卷积核对输入数据进行卷积运算,并基于最值判别器在多个卷积结果中确定出卷积优选结果,使得卷积神经网络输出最优的结果,上述卷积神经网络无需通过划分通道路径的方式选择不同的卷积核,有效避免了访存开销,并且,利用最值判别器高效融合卷积核,进而提高了网络的运行速度。
[0042] 上述结构单元不仅包括多个目标卷积核,还包括与多个目标卷积核的输入端分别连接的第一卷积核与最值判别器的输出端连接的第二卷积核;其中,第一卷积核和第二卷积核均为1×1卷积核。
[0043] 为了便于理解,图2示出了一种结构单元的结构示意图,如图2所示,该结构单元包括一个1×1的第一卷积核CONV1、一个1×1的第二卷积核CONV2和一个目标卷积层,其中,目标卷积层包括3个大小互不相同的卷积核,以及与3个卷积核均连接的最大值判别器MAX,3个卷积核分别为1×1的深度可分离卷积核DW1、3×3的深度可分离卷积核DW2和5×5的深度可分离卷积核DW3;深度可分离卷积核DW1、深度可分离卷积核DW2和深度可分离卷积核DW3的输入端均与第一卷积核CONV1连接,以接收输入数据,最大值判别器MAX的输出端与第二卷积核CONV2连接,将由最大值判别器确定出的卷积优选结果输入至第二卷积核CONV2中;在实际使用时,图2中卷积核的类型不限定于上述的深度可分离卷积核,并且,对于目标卷积层中包括目标卷积核的数量也不进行限定。
[0044] 以上述结构单元为基本单元,搭建表1中示出的一种卷积神经网络,如表1所示:
[0045] 表1
[0046]
[0047] 由表1中示出的卷积神经网络可知,该卷积神经网络包括依次连接的输入层Image、第一卷积层Conv1、最大池化层MaxPool、第二卷积层Stage2、第三卷积层Stage3、第四卷积层Stage4、第五卷积层Conv5、全局池化层GlobalPool和FC(Fully Connected layer,全连接层)层;其中,第二卷积层、第三卷积层和第四卷积层为目标卷积层。
[0048] 由表1可知,输入至输入层Image的采集数据为224×224,第一卷积层Conv1包括一个3×3的卷积核,且,卷积核的卷积步长为2;最大池化层MaxPool包括一个3×3的卷积核,且,卷积核的卷积步长为2;第二卷积层Stage2包括依次连接的四个结构单元;第三卷积层Stage3包括依次连接的八个结构单元,第四卷积层Stage4包括依次连接的四个结构单元;第五卷积层Conv5包括一个1×1的卷积核,且,卷积核的卷积步长为1;全局池化层GlobalPool包括一个7×7的卷积核;FC层输出上述经卷积神经网络卷积运算和池化运算之后的数据。
[0049] 为了形象地对表1中示出的卷积神经网络进行描述,图3示出了一种卷积神经网络的结构示意图,如图3所示,第二卷积层Stage2包括依次连接的四个结构单元分别为第一结构单元、第二结构单元、第三结构单元和第四结构单元;第三卷积层Stage3包括依次连接的八个结构单元分别为第五结构单元、第六结构单元、第七结构单元、第八结构单元、第九结构单元、第十结构单元、第十一结构单元和第十二结构单元;第四卷积层Stage4包括依次连接的四个结构单元分别为第十三结构单元、第十四结构单元、第十五结构单元和第十六结构单元。
[0050] 并且,由表1可知,第二卷积层、第三卷积层和第四卷积层的结构单元中的首个结构单元中的多个目标卷积核的卷积步长为2,其余结构单元中的多个目标卷积核的卷积步长为1,因此,上述第一结构单元、第五结构单元和第十三结构单元中的多个目标卷积核的卷积步长为2,而第一结构单元、第五结构单元和第十三结构单元中的第一卷积核和第二卷积核的卷积步长均为1,且,上述结构单元中的最值判别器选用最大值判别器。
[0051] 进一步,如图3所示,最大池化层MaxPool的输出端与第二卷积层Stage2中的第一结构单元连接,第二卷积层Stage2中的第四结构单元与第三卷积层Stage3中的第五结构单元,第三卷积层Stage3中的第十二结构单元与第四卷积层Stage4中的第十三结构单元连接,第四卷积层Stage4中的第十六结构单元与第五卷积层Conv5连接。
[0052] 具体利用上述卷积神经网络对采集数据进行卷积和池化运算的过程为:由于第一卷积层Conv1的卷积步长为2,所以,224×224的采集数据经第一卷积层Conv1的卷积运算后的数据的矩阵为112×112,并将该数据输入至最大池化层MaxPool,由于最大池化层MaxPool的步长也为2,因此,经最大池化层MaxPool池化后的数据的矩阵为56×56。
[0053] 当第二卷积层Stage2中的第一结构单元接收到上述经最大池化层MaxPool池化后的数据时,由于第一结构单元中的第一卷积核的卷积步长为1,卷积核为1×1,所以,经该第一卷积核卷积运算后的数据的矩阵仍为56×56,当第一结构单元中的3个目标卷积核接收到第一卷积核输入的56×56的数据时,由于该3个目标卷积核的卷积步长为2,且,对于上述3个大小不同的目标卷积核设定对应的padding,因此,经3个目标卷积核的卷积运算和最大值判别器判别后的数据的矩阵为28×28,将该28×28的数据输入至第一结构单元中的第二卷积核进行卷积运算,由于第二卷积核的卷积步长为1,卷积核为1×1,所以,经该第二卷积核卷积运算后的数据的矩阵仍为28×28。
[0054] 第二卷积层Stage2中的第二结构单元、第三结构单元、第四结构单元进行的卷积计算过程与上述第一结构单元的卷积计算过程类似,在此不再进行赘述,但是由于第二结构单元、第三结构单元和第四结构单元中的第一卷积核,多个目标卷积核和第二卷积核的步长均为1,所以,将上述28×28的数据经第二结构单元、第三结构单元和第四结构单元卷积运算后的数据的矩阵仍为28×28。
[0055] 将上述经第二卷积层Stage2运算后的28×28数据输入至第三卷积层Stage3的第五结构单元进行卷积和最大值选取运算时,由于第五结构单元中的3个目标卷积核的卷积步长为2,所以,经第五结构单元运算后的数据的矩阵为14×14;由于第三卷积层中的第六结构单元、第七结构单元、第八结构单元、第九结构单元、第十结构单元、第十一结构单元和第十二结构单元中的第一卷积核,多个目标卷积核和第二卷积核的步长均为1,所以,将上述14×14的数据经由第六结构单元至第十二结构单元卷积运算后的数据的矩阵仍为14×14;该第五结构单元、第六结构单元、第七结构单元、第八结构单元、第九结构单元、第十结构单元、第十一结构单元和第十二结构单元的卷积过程与上述第二卷积层中第一结构单元的卷积计算过程类似,在此不再进行赘述。
[0056] 将上述经第三卷积层Stage3运算后的14×14数据输入至第四卷积层Stage4的第十三结构单元进行卷积和最大值选取运算时,由于第十三结构单元中的3个目标卷积核的卷积步长为2,所以,经第十三结构单元运算后的数据的矩阵为7×7;由于第四卷积层中的第十四结构单元、第十五结构单元和第十六结构单元中的第一卷积核,多个目标卷积核和第二卷积核的步长均为1,所以,将上述7×7的数据经第十四结构单元、第十五结构单元和第十六结构单元卷积运算后的数据的矩阵仍为7×7;该第十三结构单元、第十四结构单元、第十五结构单元和第十六结构单元的卷积过程与上述第二卷积层中第一结构单元的卷积计算过程类似,在此不再进行赘述。
[0057] 将上述经第四卷积层运算后的7×7数据输入至第五卷积层Conv5中,由于第五卷积层Conv5的卷积核的卷积步长为1,卷积核为1×1,所以,经该第五卷积层Conv5卷积运算后的数据的矩阵仍为7×7,并将该数据输入至全局池化层GlobalPool,由于全局池化层GlobalPool的步长为1,卷积核为7×7,因此,经全局池化层GlobalPool池化后的数据的矩阵为1×1,最后,将该一维数据输入至FC层继续后续运算。
[0058] 在实际使用时,可以根据用户需要将任何已经存在的神经网络结构中的固定卷积核大小的卷积层替换成上述具有多个目标卷积核,以及与多个目标卷积核均连接的最值判别器的卷积层,因此,上述卷积神经网络的网络结构仅是一种实例,所有具有上述目标卷积层的卷积神经网络都在本发明的包含范围内,所以,针对其他包含目标卷积层的卷积神经网络的运算过程同上,在此不再进行赘述。
[0059] 本发明中具有目标卷积层的卷积神经网络与常规神经网络相比,包含多种不同尺寸的卷积核,且每个像素独立选择,而常规神经网络按照通道划分、划分的通道路径对应固定大小的卷积核,并且,具有目标卷积层的卷积神经网络的不同卷积核的选择使用非线性的最值判别器,而不是线性的add、concat,这样的好处是增加了神经网络表达能力。
[0060] 对应于上述方法实施例,本发明实施例提供了一种应用卷积神经网络进行数据处理的装置,其中,卷积神经网络的至少一个目标卷积层包括至少一个结构单元,结构单元包括多个并行的目标卷积核,多个目标卷积核均与最值判别器连接,且多个目标卷积核的大小互不相同;图4示出了一种应用卷积神经网络进行数据处理的装置的结构示意图,如图4所示,该装置包括:
[0061] 获取模块402,用于获取目标对象的采集数据;
[0062] 输入模块404,用于将采集数据输入至预先训练好的卷积神经网络进行处理;
[0063] 确定模块406,用于当结构单元的多个目标卷积核均接收到输入数据时,多个目标卷积核分别与输入数据进行卷积计算,多个目标卷积核每次卷积得到的卷积结果输出至最值判别器,由最值判别器将多个目标卷积核对应卷积结果中的最值确定为本次卷积计算的卷积优选结果;
[0064] 输出模块408,用于基于最值判别器确定出的输入数据对应的卷积优选结果继续进行后续处理,直到得到卷积神经网络的输出结果。
[0065] 本发明提供的一种应用卷积神经网络进行数据处理的装置,能够在获取到目标对象的采集数据后,将采集数据输入至预先训练好的卷积神经网络进行处理;当结构单元的多个目标卷积核均接收到输入数据时,多个目标卷积核分别与输入数据进行卷积计算,多个目标卷积核每次卷积得到的卷积结果输出至最值判别器,由最值判别器将多个目标卷积核对应卷积结果中的最值确定为本次卷积计算的卷积优选结果;基于最值判别器确定出的输入数据对应的卷积优选结果继续进行后续处理,直到得到卷积神经网络的输出结果。该数据处理方式能够利用并行的多个互不相同的目标卷积核对输入数据进行卷积运算,并基于最值判别器在多个卷积结果中确定出卷积优选结果,使得卷积神经网络输出最优的结果,上述卷积神经网络无需通过划分通道路径的方式选择不同的卷积核,有效避免了访存开销,并且,利用最值判别器高效融合卷积核,进而提高了网络的运行速度。
[0066] 进一步的,上述最值判别器为最大值判别器或最小值判别器。
[0067] 进一步的,上述结构单元包括与多个目标卷积核的输入端分别连接的第一卷积核与最值判别器的输出端连接的第二卷积核;其中,第一卷积核和第二卷积核均为1×1卷积核。
[0068] 进一步的,多个目标卷积核分别为1×1卷积核、3×3卷积核和5×5卷积核。
[0069] 进一步的,多个目标卷积核分别为1×1的深度可分离卷积核、3×3的深度可分离卷积核和5×5的深度可分离卷积核。
[0070] 进一步的,上述卷积神经网络包括依次连接的输入层、第一卷积层、最大池化层、第二卷积层、第三卷积层、第四卷积层、第五卷积层、全局池化层和FC层;其中,第二卷积层、第三卷积层和第四卷积层为目标卷积层。
[0071] 进一步的,第二卷积层包括依次连接的四个结构单元,第三卷积层包括依次连接的八个结构单元,第四卷积层包括依次连接的四个结构单元。
[0072] 进一步的,第二卷积层、第三卷积层和第四卷积层的结构单元中的首个结构单元中的多个目标卷积核的卷积步长为2,其余结构单元中的多个目标卷积核的卷积步长为1。
[0073] 本发明实施例所提供的应用卷积神经网络进行数据处理的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,应用卷积神经网络进行数据处理的装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0074] 本发明实施例还提供了一种电子系统,参照图5所示的电子系统500的结构示意图。该电子系统可以用于实现本发明实施例的应用卷积神经网络进行数据处理的方法和装置。
[0075] 如图5所示的一种电子系统的结构示意图,电子系统500包括一个或多个处理设备502、一个或多个存储装置504、输入装置506、输出装置508以及一个或多个图像采集设备
510,这些组件通过总线系统512和/或其它形式的连接机构(未示出)互连。应当注意,图5所示的电子系统500的组件和结构只是示例性的,而非限制性的,根据需要,电子系统也可以具有其他组件和结构。
[0076] 处理设备502可以为服务器、智能终端,或者是包含中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对电子系统500中的其它组件的数据进行处理,还可以控制电子系统500中的其它组件以数据处理的功能。
[0077] 存储装置504可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理设备502可以运行程序指令,以实现下文的本发明实施例中(由处理设备实现)的客户端功能以及/或者其它期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。
[0078] 输入装置506可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
[0079] 输出装置508可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
[0080] 图像采集设备510可以获取目标对象的图像数据,并且将采集到的图像数据存储在存储装置504中以供其它组件使用。
[0081] 示例性地,用于实现根据本发明实施例的应用卷积神经网络进行数据处理的方法、装置和电子系统中的各器件可以集成设置,也可以分散设置,诸如将处理设备502、存储装置504、输入装置506和输出装置508集成设置于一体,而将图像采集设备510设置于可以采集到图像的指定位置。当上述电子系统中的各器件集成设置时,该电子系统可以被实现为诸如相机、智能手机、平板电脑、计算机、车载终端等智能终端。
[0082] 本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述应用卷积神经网络进行数据处理的方法,具体实现可参见方法实施例,在此不再赘述。
[0083] 本发明实施例所提供的应用卷积神经网络进行数据处理的方法、装置及电子系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
[0084] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子系统和/或装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0085] 另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0086] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0087] 最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。