一种图像处理方法及芯片、存储介质与流程

文档序号:33192898发布日期:2023-02-04 09:25阅读:32来源:国知局
一种图像处理方法及芯片、存储介质与流程

1.本技术实施例涉及图像处理技术领域,尤其涉及一种图像处理方法及芯片、存储介质。


背景技术:

2.池化(pooling),是卷积神经网络中一个重要的算子,用于对特征图进行非线性形式的降采样。
3.平均池化(average pooling)池化操作中应用较为广泛的一种,其主要根据滑动窗口在特征图上滑动,从而将特征图划分为若干个矩形块,再对每个矩形块输出所有元素的平均值。
4.目前,在不支持平均池化算子的硬件平台上,包含平均池化算子的卷积神经网络模型无法直接运行,在此情况下,通常将模型根据平均池化算子进行切分。如图1所示,对于一个卷积神经网络模型,包括2个卷积算子、1个平均池化算子,以及2个全连接算子,可以将其进行切分为3个子图,其中,子图0和子图2所示部分可以部署在网络处理器上运行,子图1所示部分,即平均池化算子部署到中央处理器上运行。
5.然而,上述方法虽然能够达到运行整个模型的目的,但是由于网络被切分成多个子网络并部署在不同的芯片上运行,必然会增加内存搬移开销,导致模型处理效率低下。


技术实现要素:

6.本技术实施例提供一种图像处理方法及芯片、存储介质,提高了模型处理效率。
7.本技术实施例的技术方案是这样实现的:
8.本技术实施例提供了一种图像处理方法,应用于图像处理芯片,所述图像处理芯片中部署有预设的卷积神经网络模型,所述卷积神经网络模型包括:深度可分离卷积算子和除法算子,所述方法包括:
9.在生成待处理图像对应的特征图的情况下,按照所述深度可分离卷积算子的卷积核尺寸,将所述特征图划分成至少一个平均池化单元;
10.利用所述深度可分离卷积算子和所述除法算子对所述至少一个平均池化单元进行平均池化处理,得到所述特征图的平均池化结果。
11.在上述方法中,所述按照所述深度可分离卷积算子的卷积核尺寸,将所述特征图划分成至少一个平均池化单元,包括:
12.将所述特征图,划分成至少一个与所述卷积核尺寸相同的部分;
13.将划分出的每个部分确定为一个平均池化单元,得到所述至少一个平均池化单元。
14.在上述方法中,所述利用所述深度可分离卷积算子和所述除法算子对所述至少一个平均池化单元进行平均池化处理,得到所述特征图对应的平均池化结果,包括:
15.利用所述深度可分离卷积算子,对所述至少一个平均池化单元中每个平均池化单
元内的元素进行求和,得到至少一个求和结果;
16.利用所述除法算子,对所述至少一个求和结果中每个求和结果分别进行均值处理,得到所述特征图的平均池化结果。
17.在上述方法中,所述利用所述深度可分离卷积算子,对所述至少一个平均池化单元中每个平均池化单元内的元素进行求和,得到至少一个求和结果,包括:
18.将所述至少一个平均池化单元中,每个平均池化单元与所述深度可分离卷积算子进行卷积,得到至少一个卷积结果;
19.将所述至少一个卷积结果中,每个卷积结果确定为一个求和结果,得到所述至少一个求和结果。
20.在上述方法中,所述深度可分离卷积算子的卷积核参数为1。
21.在上述方法中,所述利用所述除法算子,对所述至少一个求和结果中每个求和结果分别进行均值处理,得到所述特征图的平均池化结果,包括:
22.利用所述除法算子,分别确定所述至少一个求和结果中,每个求和结果除以所述至少一个平均池化单元中对应平均池化单元内元素的数量,得到至少一个均值;
23.将所述至少一个均值中每个均值作为一个元素,组成所述特征图的平均池化结果。
24.在上述方法中,所述卷积神经网络模型还包括:特征提取卷积算子,所述方法还包括:
25.利用所述特征提取卷积算子,对所述待处理图像进行特征提取,得到所述特征图。
26.本技术实施例提供了一种图像处理芯片,所述图像处理芯片中部署有预设的卷积神经网络模型,所述卷积神经网络模型包括:深度可分离卷积算子和除法算子,所述图像处理芯片包括:
27.单元划分模块,用于在生成待处理图像对应的特征图的情况下,按照所述深度可分离卷积算子的卷积核尺寸,将所述特征图划分成至少一个平均池化单元;
28.平均池化模块,用于利用所述深度可分离卷积算子和所述除法算子对所述至少一个平均池化单元进行平均池化处理,得到所述特征图的平均池化结果。
29.在上述芯片中,所述单元划分模块,具体用于将所述特征图,划分成至少一个与所述卷积核尺寸相同的部分;将划分出的每个部分确定为一个平均池化单元,得到所述至少一个平均池化单元。
30.在上述芯片中,所述平均池化单元,具体用于利用所述深度可分离卷积算子,对所述至少一个平均池化单元中每个平均池化单元内的元素进行求和,得到至少一个求和结果;利用所述除法算子,对所述至少一个求和结果中每个求和结果分别进行均值处理,得到所述特征图的平均池化结果。
31.在上述芯片中,所述平均池化单元,具体用于将所述至少一个平均池化单元中,每个平均池化单元与所述深度可分离卷积算子进行卷积,得到至少一个卷积结果;将所述至少一个卷积结果中,每个卷积结果确定为一个求和结果,得到所述至少一个求和结果。
32.在上述芯片中,所述深度可分离卷积算子的卷积核参数为1。
33.在上述芯片中,所述平均池化单元,具体用于利用所述除法算子,分别确定所述至少一个求和结果中,每个求和结果除以所述至少一个平均池化单元中对应平均池化单元内
元素的数量,得到至少一个均值;将所述至少一个均值中每个均值作为一个元素,组成所述特征图的平均池化结果。
34.在上述芯片中,所述卷积神经网络模型还包括:特征提取卷积算子,所述图像处理芯片还包括:特征图确定单元,用于利用所述特征提取卷积算子,对所述待处理图像进行特征提取,得到所述特征图。
35.本技术实施例提供了一种图像处理芯片,所述图像处理芯片中部署有预设的卷积神经网络模型,所述卷积神经网络模型包括:深度可分离卷积算子和除法算子,所述图像处理芯片包括处理器、存储器和通信总线;
36.所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
37.所述处理器,用于执行所述存储器中存储的一个或多个程序,以实现上述图像处理方法。
38.本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述图像处理方法。
39.本技术实施例提供了一种图像处理方法及芯片、存储介质,图像处理芯片中部署有预设的卷积神经网络模型,卷积神经网络模型包括:深度可分离卷积算子和除法算子,方法包括:在生成待处理图像对应的特征图的情况下,按照深度可分离卷积算子的卷积核尺寸,将特征图划分成至少一个平均池化单元;利用深度可分离卷积算子和除法算子对至少一个平均池化单元进行平均池化处理,得到特征图的平均池化结果。本技术实施例提供的技术方案,在卷积神经网络模型中设置深度可分离卷积算子和除法算子,用于对特征图进行平均池化,从而支持在一个图像处理芯片运行完整的卷积神经网络模型,提高了模型处理效率。
附图说明
40.图1为本技术实施例提供的一种示例性的卷积神经网络模型的切分示意图;
41.图2为本技术实施例提供的一种图像处理方法的流程示意图;
42.图3为本技术实施例提供的一种示例性的平均池化等价示意图;
43.图4为本技术实施例提供的一种示例性的平均池化的过程示意图;
44.图5为本技术实施例提供的一种图像处理芯片的结构示意图一;
45.图6为本技术实施例提供的一种图像处理芯片的结构示意图二。
具体实施方式
46.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
47.本技术实施例提供了一种图像处理方法,通过图像处理芯片实现,具体可以是网络处理器等,本技术实施例不作限定。图像处理芯片中部署有预设的卷积神经网络模型,该卷积神经网络模型包括:深度可分离卷积算子和除法算子。此外,卷积神经网络模型还可以包括其它算子,即卷积神经网络模型的算子均部署在同一芯片上。
48.图2为本技术实施例提供的一种图像处理方法的流程示意图。如图1所示,在本申
请的实施例中,图像处理方法主要包括以下步骤:
49.s101、在生成待处理图像对应的特征图的情况下,按照深度可分离卷积算子的卷积核尺寸,将特征图划分成至少一个平均池化单元。
50.在本技术的实施例中,图像处理芯片在生成待处理图像对应的特征图的情况下,可以按照深度可分离卷积算子的卷积核尺寸,将特征图划分成至少一个平均池化单元。
51.需要说明的是,在本技术的实施例中,待处理图像可以是任意的需要进行图像处理的图像,其可以是其它器件传输至图像处理芯片的,也可以是图像处理芯片自己采集到的,具体的待处理图像,以及待处理图像的来源本技术实施例不作限定。
52.需要说明的是,在本技术的实施例中,卷积神经网络模型中还包括:特征提取卷积算子,图像处理芯片还可以执行以下步骤:利用特征提取卷积算子,对待处理图像进行特征提取,得到特征图。
53.可以理解的是,在本技术的实施例中,图像处理芯片可以将待处理图像,与卷积神经网络模型中的特征提取卷积算子进行卷积,这样,就可以得到后续需要进行平均池化的特征图。
54.具体的,在本技术的实施例中,图像处理芯片按照深度可分离卷积算子的卷积核尺寸,将特征图划分成至少一个平均池化单元,包括:将特征图,划分成至少一个与卷积核尺寸相同的部分;将划分出的每个部分确定为一个平均池化单元,得到至少一个平均池化单元。
55.可以理解的是,在本技术的实施例中,图像处理芯片可以获取到深度可分离卷积算子的卷积核尺寸,从而将特征图按照该尺寸进行划分,划分出的每个部分其尺寸均与卷积核的尺寸相同,这样,后续可以相应进行卷积处理。具体的深度可分离卷积算子的卷积核尺寸可以根据实际需求和应用场景预先设定,本技术实施例不作限定。
56.示例性的,在本技术的实施例中,深度可分离卷积算子的卷积核尺寸为2
×
2,因此,图像处理芯片可以将特征图采用2
×
2的滑动窗口进行划分,即得到的每个平均池化单元实际上就是一个2
×
2的矩形块,包含4个元素。
57.s102、利用深度可分离卷积算子和除法算子对至少一个平均池化单元进行平均池化处理,得到特征图的平均池化结果。
58.在本技术的实施例中,图像处理芯片在将特征图划分成至少一个平均池化单元之后,即可调用卷积神经网络模型中的深度可分离卷积算子和除法算子,对至少一个平均池化单元进行平均池化处理,从而得到特征图的平均池化结果。
59.具体的,在本技术的实施例中,图像处理芯片利用深度可分离卷积算子和除法算子对至少一个平均池化单元进行平均池化处理,得到特征图对应的平均池化结果,包括:利用深度可分离卷积算子,对至少一个平均池化单元中每个平均池化单元内的元素进行求和,得到至少一个求和结果;利用除法算子,对至少一个求和结果中每个求和结果分别进行均值处理,得到特征图的平均池化结果。
60.需要说明的是,通过对平均池化算子的处理过程的分析,其从本质上而言,可以划分为两个步骤,第一个步骤为求和,第二个步骤为取平均,为了实现平均池化算子的等价替换,将卷积神经网络模型的算子均部署在一个芯片中,在本技术的实施例中,将求和步骤利用深度可分离卷积算子来实现,将取平均步骤利用除法算子来实现,而这两种算子结构简
单,可以在各种芯片上部署和调用,即可以与卷积神经网络模型的其它算子部署在一起,在一个芯片上执行全模型推理,从而避免内存搬移开销,提高了模型效率。
61.图3为本技术实施例提供的一种示例性的平均池化等价示意图。如图3所示,深度可分离卷积算子和除法算子的联合运算,与单个平均池化算子可以等价。
62.具体的,在本技术的实施例中,图像处理芯片利用深度可分离卷积算子,对至少一个平均池化单元中每个平均池化单元内的元素进行求和,得到至少一个求和结果,包括:将至少一个平均池化单元中,每个平均池化单元与深度可分离卷积算子进行卷积,得到至少一个卷积结果;将至少一个卷积结果中,每个卷积结果确定为一个求和结果,得到至少一个求和结果。
63.需要说明的是,在本技术的实施例中,图像处理芯片利用深度可分离卷积算子对任意一个平均池化单元卷积如以下公式(1)所示:
[0064][0065]
其中,dwconv_out为卷积结果,input为平均池化单元内包含的元素,kernel为深度可分离卷积算子。
[0066]
需要说明的是,在本技术的实施例中,深度可分离卷积算子的卷积核参数为1。
[0067]
需要说明的是,在本技术的实施例中,利用深度可分离卷积算子执行的卷积操作是一种高效的卷积操作,它在每个通道独立执行空间卷积,然后进行逐点卷积,深度可分离卷积算子的卷积核参数并不是训练而来的,其是需要固定成常量1,这样在利用深度可分离卷积算子对每个平均池化单元进行卷积时,卷积操作就等同于对单元内的元素求和,如以下公式(2)所示:
[0068]
dwconv_out=sum(input)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0069]
其中,sum(input)即为平均池化单元内包含的元素之和。
[0070]
具体的,在本技术的实施例中,图像处理芯片利用除法算子,对至少一个求和结果中每个求和结果分别进行均值处理,得到特征图的平均池化结果,包括:利用除法算子,分别确定至少一个求和结果中,每个求和结果除以至少一个平均池化单元中对应平均池化单元内元素的数量,得到至少一个均值;将至少一个均值中每个均值作为一个元素,组成特征图的平均池化结果。
[0071]
需要说明的是,在本技术的实施例中,对于任意一个平均池化单元内元素的求和结果sum(input),图像处理芯片利用除法算子可以按照以下公式(3)进行均值处理:
[0072]
divide_out=mean(sum(input))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0073]
其中,divide_out即为利用除法算子得到的均值。
[0074]
可以理解的是,在本技术的实施例中,由于每个平均池化单元实际上与深度可分离卷积算子卷积核尺寸相同,例如,卷积核尺寸为2
×
2,平均池化单元也是2
×
2,即包含4个元素,因此,每个求和结果除以对应平均池化单元内元素的数量,实际上等同于除以卷积核尺寸。
[0075]
图4为本技术实施例提供的一种示例性的平均池化的过程示意图。如图4所示,对于特征图,利用深度可分离卷积算子可以将划分的每个平均池化单元,即2
×
2的一组元素,进行卷积,从而得到元素之和,之后,针对元素之和再利用除法算子确定均值。
[0076]
需要说明的是,在本技术的实施例中,卷积神经网络模型还可以包括:全连接算
子,其可以对平均池化结果进行进一步处理,起到“分类器”的作用。当然,卷积神经网络模型还可以包括其它算子,以进行其它处理,本技术实施例不作限定。
[0077]
本技术实施例提供了一种图像处理方法,应用于图像处理芯片,图像处理芯片中部署有预设的卷积神经网络模型,卷积神经网络模型包括:深度可分离卷积算子和除法算子,方法包括:在生成待处理图像对应的特征图的情况下,按照深度可分离卷积算子的卷积核尺寸,将特征图划分成至少一个平均池化单元;利用深度可分离卷积算子和除法算子对至少一个平均池化单元进行平均池化处理,得到特征图的平均池化结果。本技术实施例提供的图像处理方法,在卷积神经网络模型中设置深度可分离卷积算子和除法算子,用于对特征图进行平均池化,从而支持在一个图像处理芯片运行完整的卷积神经网络模型,提高了模型处理效率。
[0078]
本技术实施例提供了一种图像处理芯片,图像处理芯片中部署有预设的卷积神经网络模型,卷积神经网络模型包括:深度可分离卷积算子和除法算子。图5为本技术实施例提供的一种图像处理芯片的结构示意图一。如图5所示,图像处理芯片包括:
[0079]
单元划分模块201,用于在生成待处理图像对应的特征图的情况下,按照所述深度可分离卷积算子的卷积核尺寸,将所述特征图划分成至少一个平均池化单元;
[0080]
平均池化模块202,用于利用所述深度可分离卷积算子和所述除法算子对所述至少一个平均池化单元进行平均池化处理,得到所述特征图的平均池化结果。
[0081]
在本技术一实施例中,所述单元划分模块201,具体用于将所述特征图,划分成至少一个与所述卷积核尺寸相同的部分;将划分出的每个部分确定为一个平均池化单元,得到所述至少一个平均池化单元。
[0082]
在本技术一实施例中,所述平均池化单元202,具体用于利用所述深度可分离卷积算子,对所述至少一个平均池化单元中每个平均池化单元内的元素进行求和,得到至少一个求和结果;利用所述除法算子,对所述至少一个求和结果中每个求和结果分别进行均值处理,得到所述特征图的平均池化结果。
[0083]
在本技术一实施例中,所述平均池化单元202,具体用于将所述至少一个平均池化单元中,每个平均池化单元与所述深度可分离卷积算子进行卷积,得到至少一个卷积结果;将所述至少一个卷积结果中,每个卷积结果确定为一个求和结果,得到所述至少一个求和结果。
[0084]
在本技术一实施例中,所述深度可分离卷积算子的卷积核参数为1。
[0085]
在本技术一实施例中,所述平均池化单元202,具体用于利用所述除法算子,分别确定所述至少一个求和结果中,每个求和结果除以所述至少一个平均池化单元中对应平均池化单元内元素的数量,得到至少一个均值;将所述至少一个均值中每个均值作为一个元素,组成所述特征图的平均池化结果。
[0086]
在本技术一实施例中,所述卷积神经网络模型还包括:特征提取卷积算子,所述图像处理芯片还包括:特征图确定单元(图中未示出),用于利用所述特征提取卷积算子,对所述待处理图像进行特征提取,得到所述特征图。
[0087]
图6为本技术实施例提供的一种图像处理芯片的结构示意图二。如图6所示,图像处理芯片包括处理器301、存储器302和通信总线303;
[0088]
所述通信总线303,用于实现所述处理器301和所述存储器302之间的通信连接;
[0089]
所述处理器301,用于执行所述存储器302中存储的一个或多个程序,以实现上述图像处理方法。
[0090]
本技术实施例提供了一种图像处理芯片,图像处理芯片中部署有预设的卷积神经网络模型,卷积神经网络模型包括:深度可分离卷积算子和除法算子,方法包括:在生成待处理图像对应的特征图的情况下,按照深度可分离卷积算子的卷积核尺寸,将特征图划分成至少一个平均池化单元;利用深度可分离卷积算子和除法算子对至少一个平均池化单元进行平均池化处理,得到特征图的平均池化结果。本技术实施例提供的图像处理芯片,在卷积神经网络模型中设置深度可分离卷积算子和除法算子,用于对特征图进行平均池化,从而支持运行完整的卷积神经网络模型,提高了模型处理效率。
[0091]
本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法。计算机可读存储介质可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);也可以是包括上述存储器之一或任意组合的各自设备,如移动电话、计算机、平板设备、个人数字助理等。
[0092]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0093]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0094]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0095]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0096]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本实用申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1