一种卷积处理方法、装置及多核DSP平台、可读存储介质与流程

文档序号:23307296发布日期:2020-12-15 11:37阅读:115来源:国知局
一种卷积处理方法、装置及多核DSP平台、可读存储介质与流程

本申请属于卷积神经网络处理技术领域,具体涉及一种卷积处理方法、装置及多核dsp平台、计算机可读存储介质。



背景技术:

卷积神经网络(cnn)在图像分类、目标识别定位等计算机视觉领域中取得了广泛应用,其主要构成为卷积处理,涉及大量的卷积操作,整个卷积处理可以基于不同卷积核及不同图层的数据进行并行,适合具有高并行度的硬件,gpu、cpu等进行加速处理。

卷积处理原理如图1所示,图1中给出单通道图像(1,w,h)与3个卷积核进行卷积,生成一个3通道的图像(3,w,h)的示意,即图层数为1、宽度为w、高度为h的单通道图像,与3个卷积核进行卷积,生成一个图层数为3、宽度为w、高度为h的3通道的图像。

实际卷积处理的网络架构如2所示,其输入图像多为图层数为c、宽度为w、高度为h的多通道图像(c,w,h),卷积核个数为n,每个卷积核和多通道图像进行卷积后还需进行多通道加和处理,生成图层数为n、宽度为w、高度为h的多通道图像(n,w,h)。

当前,为提高卷积处理的速度,gpu上大都采用nvidiacudnn库进行加速,cpu上大都采用多线程并行和mpi方式进行多任务加速,对卷积的复杂计算优化多是将多通道的图像卷积转换成矩阵运算,按照gpu、cpu平台的设计思路,卷积处理的权重数据、输入都应存放在快速访问内存中,但多核dsp平台相较于gpu、cpu平台其快速访问内存有限,多数情况下小于卷积处理的权重数据、输入,不能够依照上述gpu、cpu平台的设计思路实现卷积处理在多核dsp平台上的加速,卷积处理在多核dsp平台上的速度受到极大限制。

鉴于上述技术缺陷的存在提出本申请。

需注意的是,以上背景技术内容的公开仅用于辅助理解本发明的发明构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。



技术实现要素:

本申请的目的是提供一种卷积处理方法、装置及多核dsp平台、计算机可读存储介质,以克服或减轻已知存在的至少一方面的技术缺陷。

本申请的技术方案是:

一方面提供一种卷积处理方法,包括:

划分图像为多个区域;

每个卷积处理核对应一个区域,对图像各个图层位于对应区域的部分进行卷积处理;

综合各个图层的卷积处理结果。

根据本申请的至少一个实施例,上述卷积处理方法中,所述综合各个图层的卷积处理结果,具体为:

叠加每个卷积处理核对各个图层位于对应区域的卷积处理结果;

合并各个区域的卷积处理结果。

根据本申请的至少一个实施例,上述卷积处理方法中,所述每个卷积处理核对各个图层位于对应区域的部分进行卷积处理,具体为:

每个卷积处理核基于多个卷积核对各个图层位于对应区域的部分进行卷积处理;

所述叠加每个卷积处理核对各个图层位于对应区域的卷积处理结果,具体为:

对应于各个卷积核,叠加每个卷积处理核对各个图层位于对应区域的卷积处理结果;

合并各个区域的卷积处理结果,具体为:

对应于各个卷积核,合并各个区域的卷积处理结果。

根据本申请的至少一个实施例,上述卷积处理方法中,还包括:

对图像进行边缘padding处理。

根据本申请的至少一个实施例,上述卷积处理方法中,还包括:

导入卷积核。

根据本申请的至少一个实施例,上述卷积处理方法中,所述导入卷积核,具体为:

在卷积核的权重数据量<=共享缓存时,将卷积核导入共享缓存;

在卷积核的权重数据量>共享缓存时,运行时,将卷积核分步导入到共享缓存。

另一方面提供一种卷积处理装置,包括:

区域划分模块,划分图像为多个区域;

卷积处理模块,使每个卷积处理核对应一个区域,每个卷积处理核对图像各个图层位于对应区域的部分进行卷积处理;

综合处理模块,综合各个图层的卷积处理结果。

再一方面一种多核dsp平台,包括:

多个卷积处理核;

存储器,存储有计算机程序,该计算机程序被配置为由各个卷积处理核执行时能够实现任一上述的卷积处理方法。

又一方面一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被执行时能够实现任一上述的卷积处理方法。

附图说明

图1是卷积处理单通道图像的示意图;

图2是卷积处理多通道图像的示意图;

图3是本申请实施例提供的卷积处理方法的示意图。

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;此外,附图用于示例性说明,其中描述位置关系的用语仅限于示例性说明,不能理解为对本专利的限制。

具体实施方式

为使本申请的技术方案及其优点更加清楚,下面将结合附图对本申请的技术方案作进一步清楚、完整的详细描述,可以理解的是,此处所描述的具体实施例仅是本申请的部分实施例,其仅用于解释本申请,而非对本申请的限定。需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分,其他相关部分可参考通常设计,在不冲突的情况下,本申请中的实施例及实施例中的技术特征可以相互组合以得到新的实施例。

此外,除非另有定义,本申请描述中所使用的技术术语或者科学术语应当为本申请所属领域内一般技术人员所理解的通常含义。本申请描述中所使用的“上”、“下”、“左”、“右”、“中心”、“竖直”、“水平”、“内”、“外”等表示方位的词语仅用以表示相对的方向或者位置关系,而非暗示装置或元件必须具有特定的方位、以特定的方位构造和操作,当被描述对象的绝对位置发生改变后,其相对位置关系也可能发生相应的改变,因此不能理解为对本申请的限制。本申请描述中所使用的“第一”、“第二”、“第三”以及类似用语,仅用于描述目的,用以区分不同的组成部分,而不能够将其理解为指示或暗示相对重要性。本申请描述中所使用的“一个”、“一”或者“该”等类似词语,不应理解为对数量的绝对限制,而应理解为存在至少一个。本申请描述中所使用的“包括”或者“包含”等类似词语意指出现在该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。

此外,还需要说明的是,除非另有明确的规定和限定,在本申请的描述中使用的“安装”、“相连”、“连接”等类似词语应做广义理解,例如,连接可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,领域内技术人员可根据具体情况理解其在本申请中的具体含义。

下面结合附图1至图3对本申请做进一步详细说明。

一方面提供一种卷积处理方法,包括:

划分图像为多个区域;

每个卷积处理核对应一个区域,对图像各个图层位于对应区域的部分进行卷积处理;

综合各个图层的卷积处理结果。

在一些可选的实施例中,上述卷积处理方法中,所述综合各个图层的卷积处理结果,具体为:

叠加每个卷积处理核对各个图层位于对应区域的卷积处理结果;

合并各个区域的卷积处理结果。

在一些可选的实施例中,上述卷积处理方法中,所述每个卷积处理核对各个图层位于对应区域的部分进行卷积处理,具体为:

每个卷积处理核基于多个卷积核对各个图层位于对应区域的部分进行卷积处理;

所述叠加每个卷积处理核对各个图层位于对应区域的卷积处理结果,具体为:

对应于各个卷积核,叠加每个卷积处理核对各个图层位于对应区域的卷积处理结果;

合并各个区域的卷积处理结果,具体为:

对应于各个卷积核,合并各个区域的卷积处理结果。

在一些可选的实施例中,上述卷积处理方法中,还包括:

对图像进行边缘padding处理,具体公式如下:

y[m,n]=x[i,j],m=i+pad,n=j+pad

i∈[0,w-1],j∈[0,h-1],m∈[0,2*pad+w-1],n∈[0,2*pad+h-1]。

在一些可选的实施例中,上述卷积处理方法中,还包括:

导入卷积核。

在一些可选的实施例中,上述卷积处理方法中,所述导入卷积核,具体为:

在卷积核的权重数据量<=共享缓存时,将卷积核导入共享缓存;

在卷积核的权重数据量>共享缓存时,运行时,将卷积核分步导入到共享缓存。

对于上述实施例公开的卷积处理方法,领域内技术人员可以理解的是,该卷积处理方法可在多核dsp上应用,以多核dsp上的各处理核作为卷积处理核,通过将每个图层卷积拆分为多区域单次卷积,每个卷积处理核仅需遍历对应区域,可分步搬移权重数据,使得卷积的所有运算都集中在快速访问内存上进行,减少外存的直接访问和dma访问次数,在存储资源受限的情况下,使多核dsp平台消耗在卷积处理相对其他数据访问处理的比例最高,以此提高卷积处理在多核dsp平台上的速度。

为了使领域内技术人员能够更为容易的理解、实施本申请公开的多核dsp平台的卷积处理方法,本申请提供一下更为具体的实施例:

向多核dsp平台导入4个卷积核,在卷积核的权重数据量<=多核dsp共享缓存时,将卷积核导入多核dsp共享缓存;在卷积核的权重数据量>多核dsp共享缓存时,运行时,将卷积核分步导入到多核dsp共享缓存;

向多核dsp平台导入图像,该图像的尺寸为(3,w,h),即该图像的图层为3、宽度为w、高度为h,对该图像进行边缘padding处理;

划分图像为多个区域,卷积处理核的个数,在该实施例中多核dsp平台处理核为4,即有4个卷积处理核,包括卷积处理核0、卷积处理核1、卷积处理核2、卷积处理核3,即可划分图像为4个区域为a、b、c、d,每个区域的大小可以为w*h/4,3个图层中对应区域a的部分为a0、a1、a2;对应区域b的部分为b0、b1、b2;对应区域c的部分为c0、c1、c2;对应区域d的部分为d0、d1、d2;

每个卷积处理核对应一个区域,对此应当理解的是,划分图像的区域个数不应超过卷积处理核的个数,以此确保每个区域都能够有一个卷积处理核与之对应,在该实施中,具体可以是,卷积处理核0与区域a对应、卷积处理核1与区域b对应、卷积处理核2与区域c对应、卷积处理核3与区域d对应;

每个卷积处理核基于多个卷积核对各个图层位于对应区域的部分进行卷积处理,即4个卷积处理核基于4个卷积核对3个图层位于对应区域的部分进行卷积处理,具体是,卷积处理核0基于4个卷积核对3个图层位于对应区域a的部分a0、a1、a2进行卷积处理,卷积处理核1基于4个卷积核对3个图层位于对应区域b的部分b0、b1、b2进行卷积处理,卷积处理核2基于4个卷积核对3个图层位于对应区域c的部分c0、c1、c2进行卷积处理,卷积处理核3基于4个卷积核对3个图层位于对应区域d的部分d0、d1、d2进行卷积处理;

对应于各个卷积核,叠加每个卷积处理核对各个图层位于对应区域的卷积处理结果,即对应于4个卷积核,分别叠加4个卷积处理核对3个图层位于对应区域的卷积处理结果,更具体的表述可以假设,4个卷积核为卷积核0、卷积核1、卷积核2、卷积核3,其中,

对应于卷积核0,叠加卷积处理核0基于卷积核0对3个图层位于对应区域a的部分a0、a1、a2的卷积处理结果叠加卷积处理核1基于卷积核0对3个图层位于对应区域b的部分b0、b1、b2的卷积处理结果叠加卷积处理核2基于卷积核0对3个图层位于对应区域c的部分c0、c1、c2的卷积处理结果叠加卷积处理核3基于卷积核0对3个图层位于对应区域d的部分d0、d1、d2的卷积处理结果

对应于卷积核1,叠加卷积处理核0基于卷积核1对3个图层位于对应区域a的部分a0、a1、a2的卷积处理结果叠加卷积处理核1基于卷积核1对3个图层位于对应区域b的部分b0、b1、b2的卷积处理结果叠加卷积处理核2基于卷积核1对3个图层位于对应区域c的部分c0、c1、c2的卷积处理结果叠加卷积处理核3基于卷积核1对3个图层位于对应区域d的部分d0、d1、d2的卷积处理结果

对应于卷积核2,叠加卷积处理核0基于卷积核2对3个图层位于对应区域a的部分a0、a1、a2的卷积处理结果叠加卷积处理核1基于卷积核2对3个图层位于对应区域b的部分b0、b1、b2的卷积处理结果叠加卷积处理核2基于卷积核2对3个图层位于对应区域c的部分c0、c1、c2的卷积处理结果叠加卷积处理核3基于卷积核2对3个图层位于对应区域d的部分d0、d1、d2的卷积处理结果

对应于卷积核3,叠加卷积处理核0基于卷积核3对3个图层位于对应区域a的部分a0、a1、a2的卷积处理结果叠加卷积处理核1基于卷积核3对3个图层位于对应区域b的部分b0、b1、b2的卷积处理结果叠加卷积处理核2基于卷积核3对3个图层位于对应区域c的部分c0、c1、c2的卷积处理结果叠加卷积处理核3基于卷积核3对3个图层位于对应区域d的部分d0、d1、d2的卷积处理结果

对应于各个卷积核,合并各个区域的卷积处理结果,即对应4个卷积核,分别合并各个区域的卷积处理结果,每个区域的卷积处理结果即每个卷积核对3个图层位于该区域卷积处理结果的叠加,其中,

对应于卷积核0,a区域的卷积处理的结果为b区域的卷积处理结果为c区域的卷积处理的结果为d区域的卷积处理结果为合并各个区域的卷积处理结果,即合并从而得到卷积核0的卷积处理结果;

对应于卷积核1,a区域的卷积处理的结果为b区域的卷积处理结果为c区域的卷积处理的结果为d区域的卷积处理结果为合并各个区域的卷积处理结果,即合并从而得到卷积核1的卷积处理结果;

对应于卷积核2,a区域的卷积处理的结果为b区域的卷积处理结果为c区域的卷积处理的结果为d区域的卷积处理结果为合并各个区域的卷积处理结果,即合并从而得到卷积核2的卷积处理结果;

对应于卷积核3,a区域的卷积处理的结果为b区域的卷积处理结果为c区域的卷积处理的结果为d区域的卷积处理结果为合并各个区域的卷积处理结果,即合并从而得到卷积核3的卷积处理结果。

每个卷积处理核对应一个区域,对图像各个图层位于对应区域的部分进行卷积处理;

另一方面提供一种卷积处理装置,包括:

区域划分模块,划分图像为多个区域;

卷积处理模块,使每个卷积处理核对应一个区域,每个卷积处理核对图像各个图层位于对应区域的部分进行卷积处理;

综合处理模块,综合各个图层的卷积处理结果。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对于上述实施例公开的装置,由于其与上述实施例公开的方法相对应,描述的较为简单,具体相关之处可参见方法部分说明即可,其技术效果也可参考方法部分的技术效果,在此不再赘述。

此外,领域内技术人员还应该能够意识到,本申请实施例所公开装置的各个模块、单元能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,本申请中对其按照功能进行了一般性地描述,这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件,领域内技术人员可以对每个特定的应用及其实际约束条件选择采用不同的方法来实现所描述的功能,但是该种实现不应认为超出本申请的范围。

再一方面提供多核dsp平台,包括:

多个卷积处理核;

存储器,存储有计算机程序,该计算机程序被配置为由各个卷积处理核执行时能够实现任一上述的卷积处理方法。

在一些可选的实施例中,存储器可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器,易失性存储器可以是随机存取存储器ram和/或高速缓冲存储器cache,非易失性存储器可以是只读存储器rom、硬盘、闪存等。存储器上可以存储计算机程序,处理器运行该计算机程序,可实现本申请实施例中的功能以及/或者其它期望的功能,此外,还可以存储各种应用程序和各种数据。

需要说明的是,为表示清楚、简洁,上述实施例中并没有给出该多核dsp平台的全部组成单元,为实该多核dsp平台的必要功能,领域内技术人员可以根据具体需要提供、设置其他未示出的组成单元。

对于上述实施例公开的多核dsp平台,由于其卷积处理核执行其存储器上存储的计算机程序时可实现任一上述的方法,其技术效果可相应参考上述方法部分的技术效果,在此不再赘述。

又一方面一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被执行时能够实现任一上述的卷积处理方法。

在一些可选的实施例中,计算机可读存储介质可以包括智能手机的存储卡、平板电脑的存储部件、个人计算机的硬盘、随机存取存储器ram、只读存储器rom、可擦除可编程只读存储器eprom、便携式紧致盘只读存储器cd-rom、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。

至此,已经结合附图所示的优选实施方式描述了本申请的技术方案,领域内技术人员应该理解的是,本申请的保护范围显然不局限于这些具体实施方式,在不偏离本申请的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1