卷积方法及卷积系统与流程

文档序号:32889483发布日期:2023-01-12 22:45阅读:40来源:国知局
卷积方法及卷积系统与流程

1.本发明涉及卷积运算技术领域,尤其涉及一种卷积方法及卷积系统。


背景技术:

2.卷积运算的计算量,取决于卷积核大小以及输入特征的大小。随着卷积神经网络的发展,发现少量超大卷积核的有效感受野非常大。大卷积核的运算,在边缘设备上执行困难。
3.因此,有必要提供一种新型的卷积方法及卷积系统以解决现有技术中存在的上述问题。


技术实现要素:

4.本发明的目的在于提供一种卷积方法及卷积系统,提高边缘设备的利用率。
5.为实现上述目的,本发明的所述卷积方法,包括:
6.将卷积核按目标卷积核大小进行拆分,以得到若干子卷积核;
7.将若干所述子卷积核与图像特征进行卷积运算,以得到若干待拼接结果数据;
8.将若干所述待拼接结果数据进行拼接,以得到结果数据。
9.所述卷积方法的有益效果在于:将卷积核按目标卷积核大小进行拆分,以得到若干子卷积核,将若干所述子卷积核与图像特征进行卷积运算,以得到若干待拼接结果数据,将若干所述待拼接结果数据进行拼接,以得到结果数据,减小了运算卷积核的大小,便于在边缘设备上执行,提高了边缘设备的利用率。
10.可选地,所述将卷积核按目标卷积核大小进行拆分,以得到若干子卷积核,包括:
11.在所述卷积核的宽的方向上以所述目标卷积核的宽的大小依次切割所述卷积核;
12.在所述卷积核的高的方向上以所述目标卷积核的高的大小依次切割所述卷积核。
13.可选地,所述将若干所述待拼接结果数据进行拼接,以得到结果数据,还包括:
14.去掉所有所述待拼接结果数据的冗余部分。
15.可选地,所述去掉所有所述待拼接结果数据的冗余部分,包括:
16.计算目标结果数据的大小,根据所述目标结果数据的大小以固定步长从不同所述待拼接结果数据中选取数据,以得到去除冗余部分的待拼接结果数据;
17.其中,所述目标结果数据为所述图像特征与所述卷积核进行卷积运算的结果。
18.可选地,所述计算目标结果数据的大小包括:
19.计算所述图像特征的高与所述卷积核的高的差值的绝对值,然后加1,以得到所述目标结果数据的高的大小;
20.计算所述图像特征的宽与所述卷积核的宽的差值的绝对值,然后加1,以得到所述目标结果数据的宽的大小。
21.可选地,所述固定步长包括宽固定步长和高固定步长,所述宽固定步长等于所述目标卷积核的宽的大小,所述高固定步长等于所述目标卷积核的高的大小。
22.可选地,所述将若干所述待拼接结果数据进行拼接,以得到结果数据,包括:
23.对所述待拼接结果数据进行点对点相加,以得到所述结果数据。
24.本发明还提供了一种卷积系统,用于实现所述卷积方法,所述卷积系统包括拆分单元、卷积运算单元和拼接单元,所述拆分单元用于将卷积核按目标卷积核大小进行拆分,以得到若干子卷积核;所述卷积运算单元用于将若干所述子卷积核与图像特征进行卷积运算,以得到若干待拼接结果数据;所述拼接单元用于将若干所述待拼接结果数据进行拼接,以得到结果数据。
25.所述卷积系统的有益效果在于:所述拆分单元用于将卷积核按目标卷积核大小进行拆分,以得到若干子卷积核;所述卷积运算单元用于将若干所述子卷积核与图像特征进行卷积运算,以得到若干待拼接结果数据;所述拼接单元用于将若干所述待拼接结果数据进行拼接,以得到结果数据,减小了运算卷积核的大小,便于在边缘设备上执行,提高了边缘设备的利用率。
26.可选地,所述拆分单元包括第一切割单元和第二切割单元,所述第一切割单元用于在所述卷积核的宽的方向上以所述目标卷积核的宽的大小依次切割所述卷积核;所述第二切割单元用于在所述卷积核的高的方向上以所述目标卷积核的高的大小依次切割所述卷积核。
27.可选地,所述拼接单元包括冗余去除单元,所述冗余去除单元用于去掉所有所述待拼接结果数据的冗余部分。
28.可选地,所述冗余去除单元包括计算单元和选取单元,所述计算单元用于计算目标结果数据的大小,所述目标结果数据为所述图像特征与所述卷积核进行卷积运算的结果;所述选取单元用于根据所述目标结果数据的大小以固定步长从不同所述待拼接结果数据中选取数据,以得到去除冗余部分的待拼接结果数据。
29.可选地,所述计算单元包括高计算单元和宽计算单元,所述高计算单元用于计算所述图像特征的高与所述卷积核的高的差值的绝对值,然后加1,以得到所述目标结果数据的高的大小;所述宽计算单元用于计算所述图像特征的宽与所述卷积核的宽的差值的绝对值,然后加1,以得到所述目标结果数据的宽的大小。
附图说明
30.图1为本发明一些实施例中卷积方法的流程图;
31.图2本发明一些实施例中卷积系统的结构框图。
具体实施方式
32.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
33.针对现有技术存在的问题,本发明的实施例提供了一种卷积方法。参照图1,所述卷积方法包括以下步骤:
34.s1:将卷积核按目标卷积核大小进行拆分,以得到若干子卷积核;
35.s2:将若干所述子卷积核与图像特征进行卷积运算,以得到若干待拼接结果数据;
36.s3:将若干所述待拼接结果数据进行拼接,以得到结果数据。
37.一些实施例中,所述卷积方法应用于边缘设备。
38.一些实施例中,所述将卷积核按目标卷积核大小进行拆分,以得到若干子卷积核,包括:在所述卷积核的宽的方向上以所述目标卷积核的宽的大小依次切割所述卷积核;在所述卷积核的高的方向上以所述目标卷积核的高的大小依次切割所述卷积核。
39.一些具体实施例中,所述卷积核的高为10、宽为4、输入通道数为1、输出通道数为28,则表示为:10
×4×1×
28;所述目标卷积核的大小为高为3、宽为3;则将可以将所述卷积核拆分成8个子卷积核,8个所述子卷积核分别为第一子卷积核、第二子卷积核、第三子卷积核、第四子卷积核、第五子卷积核、第六子卷积核、第七子卷积核和第八子卷积核,所述第一子卷积核可以表示为3
×3×1×
28,所述第二子卷积核可以表示为3
×3×1×
28,所述第三子卷积核可以表示为3
×3×1×
28,所述第四子卷积核可以表示为1
×3×1×
28,所述第五子卷积核可以表示为3
×1×1×
28,所述第六子卷积核可以表示为3
×1×1×
28,所述第七子卷积核可以表示为3
×1×1×
28,所述第八子卷积核可以表示为1
×1×1×
28。
40.一些具体实施例中,所述图像特征的批为任意数,以“?”表示,所述图像特征的高为49、宽为10、通道数为1,则表示为:?
×
49
×
10
×
1,将第一子卷积核、第二子卷积核、第三子卷积核、第四子卷积核、第五子卷积核、第六子卷积核、第七子卷积核、第八子卷积核与所述图像特征进行卷积运算,则可以得到8个待拼接结果数据,8个所述待拼接结果数据分别为第一待拼接结果数据、第二待拼接结果数据、第三待拼接结果数据、第四待拼接结果数据、第五待拼接结果数据、第六待拼接结果数据、第七待拼接结果数据和第八待拼接结果数据,所述第一待拼接结果数据可以表示为:?
×
47
×8×
28,所述第二待拼接结果数据可以表示为:?
×
47
×8×
28,所述第三待拼接结果数据可以表示为:?
×
47
×8×
28,所述第四待拼接结果数据可以表示为:?
×
49
×8×
28,所述第五待拼接结果数据可以表示为:?
×
47
×
10
×
28,所述第六待拼接结果数据可以表示为:?
×
47
×
10
×
28,所述第七待拼接结果数据可以表示为:?
×
47
×
10
×
28,所述第八待拼接结果数据可以表示为:?
×
49
×
10
×
28。
41.一些实施例中,高的大小代表一列的数据个数,宽的大小代表一行的数据个数。
42.一些实施例中,所述将若干所述待拼接结果数据进行拼接,以得到结果数据,还包括:去掉所有所述待拼接结果数据的冗余部分。
43.一些实施例中,所述去掉所有所述待拼接结果数据的冗余部分,包括:计算目标结果数据的大小,根据所述目标结果数据的大小以固定步长从不同所述待拼接结果数据中选取数据,以得到去除冗余部分的待拼接结果数据;其中,所述目标结果数据为所述图像特征与所述卷积核进行卷积运算的结果。其中,所述固定步长包括宽固定步长和高固定步长,所述宽固定步长等于所述目标卷积核的宽的大小,所述高固定步长等于所述目标卷积核的高的大小。具体地,所述待拼接结果数据和所述目标结果数据均为数据阵列,所述待拼接结果数据的宽可以理解为行方向的长度,所述待拼接结果数据的高可以理解为列方向的长度,所述目标结果数据的宽可以理解为行方向的长度,所述目标结果数据的高可以理解为列方
向的长度,则根据所述目标结果数据的大小选取数据时可以将所述目标结果数据看作矩形框。
44.一些实施例中,所述计算目标结果数据的大小包括:计算所述图像特征的高与所述卷积核的高的差值的绝对值,然后加1,以得到所述目标结果数据的高的大小;计算所述图像特征的宽与所述卷积核的宽的差值的绝对值,然后加1,以得到所述目标结果数据的宽的大小。
45.一些具体实施例中,所述图像特征的批为任意数,以“?”表示,所述图像特征的高为49、宽为10、通道数为1,则表示为:?
×
49
×
10
×
1,所述卷积核的高为10、宽为4、输入通道数为1、输出通道数为28,则表示为:10
×4×1×
28,则所述目标结果数据的高为40、宽为7,则所述目标结果数据表示为:?
×
40
×7×
28。所述目标卷积核的高为3、宽为3,则所述高固定步长为3,所述宽固定步长为3。所述目标结果数据表示为:?
×
40
×7×
28,根据所述目标结果数据选取数据时,可以将所述目标结果数据看作长40
×
7的矩形框。
46.除冗余部分的待拼接结果数据包括第一冗余去除待拼接结果数据、第二冗余去除待拼接结果数据、第三冗余去除待拼接结果数据、第四冗余去除待拼接结果数据、第五冗余去除待拼接结果数据、第六冗余去除待拼接结果数据、第七冗余去除待拼接结果数据和第八冗余去除待拼接结果数据。
47.在所述第一待拼接结果数据中,从行和高的起始位置选取的数据得到的第一冗余去除待拼接结果数据,选取的数据可以表示为:[a,0:40,0:7,b],即从所述第一待拼接结果数据中选取前40行数据的前8列数据作为第一冗余去除待拼接结果数据。
[0048]
在所述第二待拼接结果数据中,从行和高的起始位置沿列方向滑动所述矩形框3行,相当于在所述第一待拼接结果数据的基础上滑动3行,即所述高固定步长为3,选取的数据可以表示为[a,3:43,0:7,b],即从所述第二待拼接结果数据选取第4行至第43行的前8列数据作为第二冗余去除待拼接结果数据。
[0049]
在所述第三待拼接结果数据中,从行和高的起始位置沿列方向滑动所述矩形框6行,相当于在所述第二待拼接结果数据的基础上滑动3行,即所述高固定步长为3,选取的数据可以表示为[a,6:46,0:7,b],即从所述第三待拼接结果数据选取第7行至第46行的前8列数据作为第三冗余去除待拼接结果数据。
[0050]
在所述第四待拼接结果数据中,从行和高的起始位置沿列方向滑动所述矩形框9行,相当于在所述第三待拼接结果数据的基础上滑动3行,即所述高固定步长为3,选取的数据可以表示为[a,9:49,0:7,b],即从所述第四待拼接结果数据选取第10行至第49行的前8列数据作为第四冗余去除待拼接结果数据。
[0051]
在所述第五待拼接结果数据中,从行和高的起始位置沿行的方向滑动所述矩形框3列,相当于在所述第一待拼接结果数据的基础上滑动3列,即所述宽固定步长为3,,选取的数据可以表示为:[a,0:40,3:10,b],即从所述第五待拼接结果数据中选取前40行数据的后8列数据作为第五冗余去除待拼接结果数据。
[0052]
在所述第六待拼接结果数据中,从行和高的起始位置沿行的方向滑动所述矩形框3列,在沿列的方向滑动3行,相当于在所述第五待拼接结果数据的基础上滑动3行,即所述高固定步长为3,选取的数据可以表示为:[a,3:43,3:10,b],即从所述第六待拼接结果数据中选取第4行至第43行数据的后8列数据作为第六冗余去除待拼接结果数据。
[0053]
在所述第七待拼接结果数据中,从行和高的起始位置沿行的方向滑动所述矩形框3列,在沿列的方向滑动6行,相当于在所述第六待拼接结果数据的基础上滑动3行,即所述高固定步长为3,选取的数据可以表示为:[a,6:46,3:10,b],即从所述第七待拼接结果数据中选取第7行至第46行数据的后8列数据作为第七冗余去除待拼接结果数据。
[0054]
在所述第八待拼接结果数据中,从行和高的起始位置沿行的方向滑动所述矩形框3列,在沿列的方向滑动9行,相当于在所述第七待拼接结果数据的基础上滑动3行,即所述高固定步长为3,选取的数据可以表示为:[a,9:49,3:10,b],即从所述第八待拼接结果数据中选取第10行至第49行数据的后8列数据作为第八冗余去除待拼接结果数据。
[0055]
一些实施例中,所述将若干所述待拼接结果数据进行拼接,以得到结果数据,包括:对所述待拼接结果数据进行点对点相加,以得到所述结果数据。
[0056]
一些具体实施例中,将所述第一冗余去除待拼接结果数据的第一行第一列的数据、所述第二冗余去除待拼接结果数据的第一行第一列的数据、所述第三冗余去除待拼接结果数据的第一行第一列的数据、所述第四冗余去除待拼接结果数据的第一行第一列的数据、所述五冗余去除待拼接结果数据的第一行第一列的数据、所述第六冗余去除待拼接结果数据的第一行第一列的数据、所述第七冗余去除待拼接结果数据的第一行第一列的数据、所述第八冗余去除待拼接结果数据的第一行第一列的数据相加,以得到所述结果数据第一行第一列的数据;
[0057]
将所述第一冗余去除待拼接结果数据的第一行第二列的数据、所述第二冗余去除待拼接结果数据的第一行第二列的数据、所述第三冗余去除待拼接结果数据的第一行第二列的数据、所述第四冗余去除待拼接结果数据的第一行第二列的数据、所述五冗余去除待拼接结果数据的第一行第二列的数据、所述第六冗余去除待拼接结果数据的第一行第二列的数据、所述第七冗余去除待拼接结果数据的第一行第二列的数据、所述第八冗余去除待拼接结果数据的第一行第二列的数据相加,以得到所述结果数据第一行第二列的数据;
[0058]
将所述第一冗余去除待拼接结果数据的第二行第一列的数据、所述第二冗余去除待拼接结果数据的第二行第一列的数据、所述第三冗余去除待拼接结果数据的第二行第一列的数据、所述第四冗余去除待拼接结果数据的第二行第一列的数据、所述五冗余去除待拼接结果数据的第二行第一列的数据、所述第六冗余去除待拼接结果数据的第二行第一列的数据、所述第七冗余去除待拼接结果数据的第二行第一列的数据、所述第八冗余去除待拼接结果数据的第二行第一列的数据相加,以得到所述结果数据第二行第一列的数据;进行点对点相加,以得到所述结果数据。
[0059]
图2本发明一些实施例中卷积系统的结构框图。参照图2,所述卷积系统用于实现所述卷积方法,应用于边缘设备,所述卷积系统100包括拆分单元101、卷积运算单元102和拼接单元103,所述拆分单元101用于将卷积核按目标卷积核大小进行拆分,以得到若干子卷积核;所述卷积运算单元102用于将若干所述子卷积核与图像特征进行卷积运算,以得到若干待拼接结果数据;所述拼接单元103用于将若干所述待拼接结果数据进行拼接,以得到结果数据。
[0060]
一些实施例中,所述拆分单元包括第一切割单元和第二切割单元,所述第一切割单元用于在所述卷积核的宽的方向上以所述目标卷积核的宽的大小依次切割所述卷积核;所述第二切割单元用于在所述卷积核的高的方向上以所述目标卷积核的高的大小依次切
割所述卷积核。
[0061]
一些实施例中,所述拼接单元包括冗余去除单元,所述冗余去除单元用于去掉所有所述待拼接结果数据的冗余部分。
[0062]
一些实施例中,所述冗余去除单元包括计算单元和选取单元,所述计算单元用于计算目标结果数据的大小,所述目标结果数据为所述图像特征与所述卷积核进行卷积运算的结果;所述选取单元用于根据所述目标结果数据的大小以固定步长从不同所述待拼接结果数据中选取数据,以得到去除冗余部分的待拼接结果数据。
[0063]
一些实施例中,所述计算单元包括高计算单元和宽计算单元,所述高计算单元用于计算所述图像特征的高与所述卷积核的高的差值的绝对值,然后加1,以得到所述目标结果数据的高的大小;所述宽计算单元用于计算所述图像特征的宽与所述卷积核的宽的差值的绝对值,然后加1,以得到所述目标结果数据的宽的大小。
[0064]
虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1