CN111738276A - 基于多核卷积神经网络的图像处理方法、装置及设备 - Google Patents
基于多核卷积神经网络的图像处理方法、装置及设备 Download PDFInfo
- Publication number
- CN111738276A CN111738276A CN202010567656.7A CN202010567656A CN111738276A CN 111738276 A CN111738276 A CN 111738276A CN 202010567656 A CN202010567656 A CN 202010567656A CN 111738276 A CN111738276 A CN 111738276A
- Authority
- CN
- China
- Prior art keywords
- convolution
- core
- image
- module
- core operation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/513—Sparse representations
Abstract
本申请公开了一种基于多核卷积神经网络的图像处理方法,该方法沿着宽度方向和高度方向对原始图像进行拆分,拆分之后的卷积运算过程中,核与核之间仅需要传递子图边界数据,有效降低了通信数据量;而且每个核需要缓存的数据大大减少,因而在处理器如FPGA中可以用片上RAM全部缓存,有效提高并行处理速度。此外,本申请还提供了一种基于多核卷积神经网络的图像处理装置及设备,其技术效果与上述方法的技术效果相同。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种基于多核卷积神经网络的图像处理方法、装置及设备。
背景技术
卷积神经网络是神经网络的一种,其通过仿造大脑视觉原理,能够通过大量数据输入,学习输入与输出的关系,广泛应用于深度学习、人工智能、大数据处理等领域。卷积神经网络通常包含有若干卷积层、池化层和全连接层。所谓卷积,即两个向量的点乘,假设一个向量为输入的图像3x3的区域,另一个向量为3x3的固定系数,该固定系数或者权重被称为卷积核。
为提升效率,目前往往利用卷积神经网络进行并行处理,常见的方案有数据并行方案和算子并行方案等。通过将输入数据或者算子分给多个并行处理器进行计算,有效地降低了处理器整体运行的时间。
然而,目前的多核并行处理方案中,核与核之间的通信数据量较大,影响卷积运算速度。
发明内容
本申请的目的是提供一种基于多核卷积神经网络的图像处理方法、装置及设备,用以解决目前的多核并行处理方案中,核与核之间的通信数据量较大,影响并行运算性能的问题。其具体方案如下:
第一方面,本申请提供了一种基于多核卷积神经网络的图像处理方法,包括:
获取原始图像<C,H,W>,其中C为特征通道数,H为图像高度,W为图像宽度;
将每个特征通道的图像沿着高度方向和/或宽度方向进行划分,得到两个以上子图,所述子图与单核运算模块一一对应,将各个所述子图分别发送至对应的单核运算模块;
控制各个所述单核运算模块从相邻的单核运算模块获取子图边界数据,其中所述子图边界数据为与当前子图相邻的预设数量行或列的数据,所述预设数量为(K-1)/2,K为卷积核大小;
控制各个所述单核运算模块对所述当前子图和所述子图边界数据进行卷积运算,得到所述当前子图的卷积结果;
根据各个所述单核运算模块的卷积结果,生成所述原始图像的卷积结果。
优选的,在所述控制各个所述单核运算模块对所述当前子图和所述子图边界数据进行卷积运算,得到所述当前子图的卷积结果之前,还包括:
对原始卷积核的系数矩阵进行随机置零操作,得到不同的目标卷积核,并分别发送至各个单核运算模块。
优选的,所述对原始卷积核的系数矩阵进行随机置零操作,得到不同的目标卷积核,包括:
分别利用不同的置零模板对原始卷积核进行系数稀疏化,得到不同的目标卷积核,其中所述置零模板包括预设比例的置零元素。
优选的,所述获取原始图像<C,H,W>,包括:
获取四维张量<N,C,H,W>,其中N为并行图像数量,根据所述四维张量确定N个原始图像。
第二方面,本申请提供了一种基于多核卷积神经网络的图像处理装置,包括:
图像获取模块:用于获取原始图像<C,H,W>,其中C为特征通道数,H为图像高度,W为图像宽度;
拆分模块:用于将每个特征通道的图像沿着高度方向和/或宽度方向进行划分,得到两个以上子图,所述子图与单核运算模块一一对应,将各个所述子图分别发送至对应的单核运算模块;
边界数据获取模块:用于控制各个所述单核运算模块从相邻的单核运算模块获取子图边界数据,其中所述子图边界数据为与当前子图相邻的预设数量行或列的数据,所述预设数量为(K-1)/2,K为卷积核大小;
卷积模块:用于控制各个所述单核运算模块对所述当前子图和所述子图边界数据进行卷积运算,得到所述当前子图的卷积结果;
结果输出模块:用于根据各个所述单核运算模块的卷积结果,生成所述原始图像的卷积结果。
优选的,还包括:
系数稀疏化模块:用于对原始卷积核的系数矩阵进行随机置零操作,得到不同的目标卷积核,并分别发送至各个单核运算模块。
优选的,所述系数稀疏化模块用于:
分别利用不同的置零模板对原始卷积核进行系数稀疏化,得到不同的目标卷积核,其中所述置零模板包括预设比例的置零元素。
优选的,所述图像获取模块用于:
获取四维张量<N,C,H,W>,其中N为并行图像数量,根据所述四维张量确定N个原始图像。
第三方面,本申请提供了一种基于多核卷积神经网络的图像处理设备,包括:控制器和多个单核运算模块;
其中,所述控制器用于获取原始图像<C,H,W>,其中C为特征通道数,H为图像高度,W为图像宽度;将每个特征通道的图像沿着高度方向和/或宽度方向进行划分,得到两个以上子图,所述子图与单核运算模块一一对应,将各个所述子图分别发送至对应的单核运算模块;
所述单核运算模块用于从相邻的单核运算模块获取子图边界数据,其中所述子图边界数据为与当前子图相邻的预设数量行或列的数据,所述预设数量为(K-1)/2,K为卷积核大小;对所述当前子图和所述子图边界数据进行卷积运算,得到所述当前子图的卷积结果;
所述控制器用于根据各个所述单核运算模块的卷积结果,生成所述原始图像的卷积结果。
本申请所提供的一种基于多核卷积神经网络的图像处理方法,包括:获取原始图像<C,H,W>,其中C为特征通道数,H为图像高度,W为图像宽度;将每个特征通道的图像沿着高度方向和/或宽度方向进行划分,得到两个以上子图,子图与单核运算模块一一对应,将各个子图分别发送至对应的单核运算模块;控制各个单核运算模块从相邻的单核运算模块获取子图边界数据,其中子图边界数据为与当前子图相邻的预设数量行或列的数据,所述预设数量为(K-1)/2,K为卷积核大小;控制各个单核运算模块对当前子图和子图边界数据进行卷积运算,得到当前子图的卷积结果;根据所述单核运算模块的卷积结果,生成原始图像的卷积结果。
可见,该方法沿着宽度方向和高度方向对原始图像进行拆分,拆分之后的卷积运算过程中,核与核之间仅需要传递子图边界数据,有效降低了通信数据量;而且每个核需要缓存的数据大大减少,因而在处理器如FPGA中可以用片上RAM全部缓存,有效提高并行处理速度。
此外,本申请还提供了一种基于多核卷积神经网络的图像处理装置及设备,其技术效果与上述方法的技术效果相同,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为目前的卷积层四核数据并行方案的示意图;
图2为目前的卷积层四核算子并行方案的示意图;
图3为本申请所提供的一种基于多核卷积神经网络的图像处理方法实施例一的实现流程图;
图4为本申请所提供的卷积层四核子图并行方案的示意图;
图5为本申请所提供的卷积层四核通信过程示意图;
图6为本申请所提供的一种基于多核卷积神经网络的图像处理方法实施例二的实现流程图;
图7为本申请所提供的卷积层四核子图并行及系数稀疏化示意图;
图8为本申请所提供的一种基于多核卷积神经网络的图像处理装置实施例的功能框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
对于卷积神经网络,设输入输出为<N,C,H,W>的四维张量,其中N为并行图像数量,C为特征通道数,H为图像高度,W为图像宽度。下文用<Ni,Ci,Hi,Wi>描述卷积层输入张量,用<No,Co,Ho,Wo>描述卷积层输出张量,用<Ci,Co,Ki,Ko>描述卷积核系数。
对于四核的数据并行方案,如图1所示,将Ni个输入图像分为四部分:{0,Ni/4}、{Ni/4,Ni/2}、{Ni/2,3Ni/4}、{3Ni/4,Ni},每一部分通过一个独立的卷积核进行计算,最后结果合并。
对于四核的算子并行方案,如图2所示,将图像的输入和输出特征通道分别分为四个部分,则每个卷积核需要处理四个输入并累加合成一个输出。容易看出,单个卷积核需要其它几个部分的输入数据,数据交互量为C*W*H量级,交互数据量大,控制复杂。
综上,对于卷积层数据并行方案,卷积核的大小没有发生变化,无法更精细化地操作卷积数据;对于卷积层算子并行方案,可以看出算子之间的数据交互非常复杂,通信数据量大,而且也没有降低运算量。
针对数据并行方案没有减少硬件逻辑,而算子并行方案交互数据量大计算复杂的问题,本申请提供的基于多核卷积神经网络的图像处理方法、装置及设备,可以有效降低单个核的处理逻辑,并减少核与核之间的通信数据量,提升并行处理速度。
下面对本申请提供的一种基于多核卷积神经网络的图像处理方法实施例一进行介绍,参见图3,实施例一包括:
S301、获取原始图像<C,H,W>,其中C为特征通道数,H为图像高度,W为图像宽度;
当然,也可以获取四维张量<N,C,H,W>,其中N为并行图像数量,然后根据所述四维张量确定N个原始图像。
S302、将每个特征通道的图像沿着高度方向和/或宽度方向进行划分,得到两个以上子图,所述子图与单核运算模块一一对应,将各个所述子图分别发送至对应的单核运算模块;
S303、控制各个所述单核运算模块从相邻的单核运算模块获取子图边界数据,其中所述子图边界数据为与当前子图相邻的预设数量行或列的数据,所述预设数量为(K-1)/2,K为卷积核大小;
S304、控制各个所述单核运算模块对所述当前子图和所述子图边界数据进行卷积运算,得到所述当前子图的卷积结果;
S305、根据各个所述单核运算模块的卷积结果,生成所述原始图像的卷积结果。
将卷积层的输入图像沿着高度方向和/或宽度方向进行切分,切分下来的子图通过多核并行运算,该拆分方法没有修改原有模型,保证原有模型系数可以不经训练即可使用。多核处理器并行处理多个子图,具体的,多个核可以共享同一套神经网络系数,并能与四个邻接方向的核进行通信获得子图边界数据。
拆分之后,每个核需要缓存的数据大大减少,因而在并行处理器如FPGA中可以用片上RAM全部缓存,可以有效提高处理速度。相对数据并行方案和算子并行拆分方案,计算资源较数据并行方案有较大减少,数据通信量较算子并行方案有较大减少。
可以理解的是,由于划分是沿着高度方向和/或宽度方向进行的,所以得到的子图数量并非任意数值,同样的,单核运算模块的数量也并非任意值。假设记子图数量为Y,那么Y=a*b,其中a为H的正因数,b为W的正因数。
所谓相邻的单核运算模块,假设存在子块p和子块q,且二者在原始图像中是相邻的,那么,称子块p发送至的单核运算模块与子块q发送至的单核运算模块是相邻的。
假设子图数量为4,对于四核的子图并行方案,如图4所示,卷积层输入图像被切为四个子图,每个子图的卷积运算量为原有的1/4,从而整体运算时间为单核的1/4。对于多个卷积层级联,卷积核会用到临近的数据,所以多核之间需要互相通信。如图5所示,多个卷积核之间互相通信,单个核的通信数据量为(Hi/2+Wi/2)*Ci,其复杂度较如图2所示的算子并行方案有较大减小。
当需要拆分出更多的子图时,每个核需要与其相邻的核进行通信。最多情况下,核需要与其上下左右四个方向的核进行通信。通信内容就是计算卷积所需要的数据,具体为与当前核的子图相邻的(K-1)/2行或列的数据,其中K为卷积核大小。
对于算子并行方案,需要整个H*W*C三维数据,而对于本实施例的子图并行方案,卷积只用到临近的数据,只需要交界处的一个切面即可,所以大小不超过H*C或者W*C。下面就这两种情形分别进行说明:
对于算子并行方案的通信数据量,参考图2,假设目前有A*B个并行核,每个核需要接收(A*B-1)个特征数据,并发送本核的1个特征数据,每个特征数据大小为(Ci/(A*B))*(H*W),因此单个核的通信数据量为Ci*H*W。
对于本实施例提供的子图并行方案的通信数据量,参考图5,假设有A*B个并行核,每个核最多需要与其上下左右四个方向的临近核通信,实际应用中,每个核需要与邻近的两个、三个或四个核进行通信。为方便计算,此处以每个核均需要在四个方向进行通信为例,得到单个核的通信数据量为2*(K-1)*(H/A+W/B)*Ci。
一般情况,K值取值为3、5、7等较小的数,而H和W较大,因此,相较算子并行方案,本实施例中单核的通信数据量由(H*W)量级降低到了(H+W)量级,显著降低了核与核之间的通信数据量。
本实施例所提供一种基于多核卷积神经网络的图像处理方法,沿着宽度方向和高度方向对原始图像进行拆分,拆分之后的卷积运算过程中,核与核之间仅需要传递子图边界数据,有效降低了通信数据量;而且每个核需要缓存的数据大大减少,因而在处理器如FPGA中可以用片上RAM全部缓存,有效提高并行处理速度。
下面开始详细介绍本申请提供的一种基于多核卷积神经网络的图像处理方法实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。
具体的,实施例二在实施例一的基础上,对原始卷积核的系数矩阵进行随机置零操作,得到不同的目标卷积核,并分别发送至各个单核运算模块,一方面有效降低运算量,另一方面保证各个单核运算模块的卷积核不同。
参见图6,实施例二具体包括:
S601、获取原始图像<C,H,W>,其中C为特征通道数,H为图像高度,W为图像宽度;
S602、将每个特征通道的图像沿着高度方向和/或宽度方向进行划分,得到两个以上子图,所述子图与单核运算模块一一对应,将各个所述子图分别发送至对应的单核运算模块;
S603、对原始卷积核的系数矩阵进行随机置零操作,得到不同的目标卷积核,并分别发送至各个单核运算模块;
具体的,可以预先设置置零的比例。在一些具体的实施例中,可以通过置零模板实现上述随机置零操作。此时S603具体为:分别利用不同的置零模板对原始卷积核进行系数稀疏化,得到不同的目标卷积核,其中所述置零模板包括预设比例的置零元素。
S604、控制各个所述单核运算模块从相邻的单核运算模块获取子图边界数据,其中所述子图边界数据为与当前子图相邻的预设数量行或列的数据,所述预设数量为(K-1)/2,K为卷积核大小;
S605、控制各个所述单核运算模块对所述当前子图和所述子图边界数据进行卷积运算,得到所述当前子图的卷积结果;
S606、根据各个所述单核运算模块的卷积结果,生成所述原始图像的卷积结果。
容易看出,多个卷积核的卷积系数为共享,其尺寸为Ci*Co*Ki*Ko为进一步减少运算量,各个卷积核可以采用不同的系数稀疏化方法。本实施例中,多个处理器具有自己独特系数稀疏化模板,同一套系数经过不同的稀疏化单元之后,减少运算量而同时保持性能。
对于单个卷积核,卷积系数可以认为是一个二维矩阵,大小为(Ci*Ki)和(Co*Ko),该卷积系数可以随机地按一定比例进行置零操作,以降低运算复杂度和能耗。具体把置零的位置记录为1,则可以得到一个大小为(Ci*Ki)*(Co*Ko)的置零模板,该模板可以通过搜索的方法得到。假设Ci=Co=2,Ki,Ko=3,则置零模板大小为6x6。
对于多个子图,可以采用不同的置零模板进行系数稀疏化,如图7所示。相同的系数经过不同的稀疏化模板,再输入到单核运算模块中,可以有效降低所需要的运算量;同时,由于不同的置零模板只对部分子图生效,整体子图仍获得了完整的卷积系数,从而整体性能仍然得到保持。
可见,本实施例提供的一种基于多核卷积神经网络的图像处理方法,将输入神经网络输入的图像沿着高度和宽度方向进行切分,特征通道方向保持不变,平均分为多个子图;多核处理器并行处理多个子图,多个处理器共享同一套神经网络系数,并能与四个邻接方向的处理器进行通信获得子图边界数据;多个处理器具有自己独特系数稀疏化置零模板单元,同一套系数经过不同的稀疏化置零模板单元之后减少运算量而同时保持性能。
下面对本申请实施例提供的一种基于多核卷积神经网络的图像处理装置进行介绍,下文描述的一种基于多核卷积神经网络的图像处理装置与上文描述的一种基于多核卷积神经网络的图像处理方法可相互对应参照。
如图8所示,本实施例的基于多核卷积神经网络的图像处理装置,包括:
图像获取模块801:用于获取原始图像<C,H,W>,其中C为特征通道数,H为图像高度,W为图像宽度;
拆分模块802:用于将每个特征通道的图像沿着高度方向和/或宽度方向进行划分,得到两个以上子图,所述子图与单核运算模块一一对应,将各个所述子图分别发送至对应的单核运算模块;
边界数据获取模块803:用于控制各个所述单核运算模块从相邻的单核运算模块获取子图边界数据,其中所述子图边界数据为与当前子图相邻的预设数量行或列的数据,所述预设数量为(K-1)/2,K为卷积核大小;
卷积模块804:用于控制各个所述单核运算模块对所述当前子图和所述子图边界数据进行卷积运算,得到所述当前子图的卷积结果;
结果输出模块805:用于根据各个所述单核运算模块的卷积结果,生成所述原始图像的卷积结果。
在一些具体的实施例中,还包括:
系数稀疏化模块:用于对原始卷积核的系数矩阵进行随机置零操作,得到不同的目标卷积核,并分别发送至各个单核运算模块。
在一些具体的实施例中,所述系数稀疏化模块用于:
分别利用不同的置零模板对原始卷积核进行系数稀疏化,得到不同的目标卷积核,其中所述置零模板包括预设比例的置零元素。
在一些具体的实施例中,所述图像获取模块用于:
获取四维张量<N,C,H,W>,其中N为并行图像数量,根据所述四维张量确定N个原始图像。
本实施例的基于多核卷积神经网络的图像处理装置用于实现前述的基于多核卷积神经网络的图像处理方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种基于多核卷积神经网络的图像处理设备,包括:控制器和多个单核运算模块;
其中,所述控制器用于获取原始图像<C,H,W>,其中C为特征通道数,H为图像高度,W为图像宽度;将每个特征通道的图像沿着高度方向和/或宽度方向进行划分,得到两个以上子图,所述子图与单核运算模块一一对应,将各个所述子图分别发送至对应的单核运算模块;
所述单核运算模块用于从相邻的单核运算模块获取子图边界数据,其中所述子图边界数据为与当前子图相邻的预设数量行或列的数据,所述预设数量为(K-1)/2,K为卷积核大小;对所述当前子图和所述子图边界数据进行卷积运算,得到所述当前子图的卷积结果;
所述控制器用于根据各个所述单核运算模块的卷积结果,生成所述原始图像的卷积结果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种基于多核卷积神经网络的图像处理方法,其特征在于,包括:
获取原始图像<C,H,W>,其中C为特征通道数,H为图像高度,W为图像宽度;
将每个特征通道的图像沿着高度方向和/或宽度方向进行划分,得到两个以上子图,所述子图与单核运算模块一一对应,将各个所述子图分别发送至对应的单核运算模块;
控制各个所述单核运算模块从相邻的单核运算模块获取子图边界数据,其中所述子图边界数据为与当前子图相邻的预设数量行或列的数据,所述预设数量为(K-1)/2,K为卷积核大小;
控制各个所述单核运算模块对所述当前子图和所述子图边界数据进行卷积运算,得到所述当前子图的卷积结果;
根据各个所述单核运算模块的卷积结果,生成所述原始图像的卷积结果。
2.如权利要求1所述的方法,其特征在于,在所述控制各个所述单核运算模块对所述当前子图和所述子图边界数据进行卷积运算,得到所述当前子图的卷积结果之前,还包括:
对原始卷积核的系数矩阵进行随机置零操作,得到不同的目标卷积核,并分别发送至各个单核运算模块。
3.如权利要求2所述的方法,其特征在于,所述对原始卷积核的系数矩阵进行随机置零操作,得到不同的目标卷积核,包括:
分别利用不同的置零模板对原始卷积核进行系数稀疏化,得到不同的目标卷积核,其中所述置零模板包括预设比例的置零元素。
4.如权利要求1所述的方法,其特征在于,所述获取原始图像<C,H,W>,包括:
获取四维张量<N,C,H,W>,其中N为并行图像数量,根据所述四维张量确定N个原始图像。
5.一种基于多核卷积神经网络的图像处理装置,其特征在于,包括:
图像获取模块:用于获取原始图像<C,H,W>,其中C为特征通道数,H为图像高度,W为图像宽度;
拆分模块:用于将每个特征通道的图像沿着高度方向和/或宽度方向进行划分,得到两个以上子图,所述子图与单核运算模块一一对应,将各个所述子图分别发送至对应的单核运算模块;
边界数据获取模块:用于控制各个所述单核运算模块从相邻的单核运算模块获取子图边界数据,其中所述子图边界数据为与当前子图相邻的预设数量行或列的数据,所述预设数量为(K-1)/2,K为卷积核大小;
卷积模块:用于控制各个所述单核运算模块对所述当前子图和所述子图边界数据进行卷积运算,得到所述当前子图的卷积结果;
结果输出模块:用于根据各个所述单核运算模块的卷积结果,生成所述原始图像的卷积结果。
6.如权利要求5所述的装置,其特征在于,还包括:
系数稀疏化模块:用于对原始卷积核的系数矩阵进行随机置零操作,得到不同的目标卷积核,并分别发送至各个单核运算模块。
7.如权利要求6所述的装置,其特征在于,所述系数稀疏化模块用于:
分别利用不同的置零模板对原始卷积核进行系数稀疏化,得到不同的目标卷积核,其中所述置零模板包括预设比例的置零元素。
8.如权利要求5所述的装置,其特征在于,所述图像获取模块用于:
获取四维张量<N,C,H,W>,其中N为并行图像数量,根据所述四维张量确定N个原始图像。
9.一种基于多核卷积神经网络的图像处理设备,其特征在于,包括:控制器和多个单核运算模块;
其中,所述控制器用于获取原始图像<C,H,W>,其中C为特征通道数,H为图像高度,W为图像宽度;将每个特征通道的图像沿着高度方向和/或宽度方向进行划分,得到两个以上子图,所述子图与单核运算模块一一对应,将各个所述子图分别发送至对应的单核运算模块;
所述单核运算模块用于从相邻的单核运算模块获取子图边界数据,其中所述子图边界数据为与当前子图相邻的预设数量行或列的数据,所述预设数量为(K-1)/2,K为卷积核大小;对所述当前子图和所述子图边界数据进行卷积运算,得到所述当前子图的卷积结果;
所述控制器用于根据各个所述单核运算模块的卷积结果,生成所述原始图像的卷积结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010567656.7A CN111738276A (zh) | 2020-06-19 | 2020-06-19 | 基于多核卷积神经网络的图像处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010567656.7A CN111738276A (zh) | 2020-06-19 | 2020-06-19 | 基于多核卷积神经网络的图像处理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111738276A true CN111738276A (zh) | 2020-10-02 |
Family
ID=72651817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010567656.7A Withdrawn CN111738276A (zh) | 2020-06-19 | 2020-06-19 | 基于多核卷积神经网络的图像处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111738276A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799598A (zh) * | 2021-02-08 | 2021-05-14 | 清华大学 | 一种数据处理方法、处理器及电子设备 |
CN113239942A (zh) * | 2021-05-21 | 2021-08-10 | 佛山育脉科技有限公司 | 基于卷积运算的图像特征提取方法、装置及可读存储介质 |
CN113570612A (zh) * | 2021-09-23 | 2021-10-29 | 苏州浪潮智能科技有限公司 | 一种图像处理方法、装置及设备 |
WO2023015871A1 (zh) * | 2021-08-11 | 2023-02-16 | 南方科技大学 | 图像特征提取方法及装置、计算机设备和可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110555847A (zh) * | 2019-07-31 | 2019-12-10 | 瀚博半导体(上海)有限公司 | 一种基于卷积神经网络的图像处理方法及装置 |
CN110826708A (zh) * | 2019-09-24 | 2020-02-21 | 上海寒武纪信息科技有限公司 | 一种用多核处理器实现神经网络模型拆分方法及相关产品 |
-
2020
- 2020-06-19 CN CN202010567656.7A patent/CN111738276A/zh not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110555847A (zh) * | 2019-07-31 | 2019-12-10 | 瀚博半导体(上海)有限公司 | 一种基于卷积神经网络的图像处理方法及装置 |
CN110826708A (zh) * | 2019-09-24 | 2020-02-21 | 上海寒武纪信息科技有限公司 | 一种用多核处理器实现神经网络模型拆分方法及相关产品 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799598A (zh) * | 2021-02-08 | 2021-05-14 | 清华大学 | 一种数据处理方法、处理器及电子设备 |
CN113239942A (zh) * | 2021-05-21 | 2021-08-10 | 佛山育脉科技有限公司 | 基于卷积运算的图像特征提取方法、装置及可读存储介质 |
WO2023015871A1 (zh) * | 2021-08-11 | 2023-02-16 | 南方科技大学 | 图像特征提取方法及装置、计算机设备和可读存储介质 |
CN113570612A (zh) * | 2021-09-23 | 2021-10-29 | 苏州浪潮智能科技有限公司 | 一种图像处理方法、装置及设备 |
WO2023045197A1 (zh) * | 2021-09-23 | 2023-03-30 | 苏州浪潮智能科技有限公司 | 一种图像处理方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gao et al. | Pixel transposed convolutional networks | |
CN111738276A (zh) | 基于多核卷积神经网络的图像处理方法、装置及设备 | |
US10482380B2 (en) | Conditional parallel processing in fully-connected neural networks | |
Wang et al. | Multimodal transfer: A hierarchical deep convolutional neural network for fast artistic style transfer | |
CN109993299B (zh) | 数据训练方法及装置、存储介质、电子装置 | |
Ioannou et al. | Decision forests, convolutional networks and the models in-between | |
Liu et al. | Towards an efficient accelerator for DNN-based remote sensing image segmentation on FPGAs | |
Alawad et al. | Stochastic-based deep convolutional networks with reconfigurable logic fabric | |
CN112712546A (zh) | 一种基于孪生神经网络的目标跟踪方法 | |
US20210150363A1 (en) | Apparatus and method for multi-phase pruning for neural network with multi-sparsity levels | |
JP7418578B2 (ja) | マイクロ構造マスクを用いたマルチスケールファクタ画像の超解像 | |
CN112508190A (zh) | 结构化稀疏参数的处理方法、装置、设备及存储介质 | |
Ephrath et al. | LeanConvNets: low-cost yet effective convolutional neural networks | |
US20190050370A1 (en) | Hardware accelerator for online estimation | |
Luo et al. | Efficient human pose estimation by learning deeply aggregated representations | |
CN110110775A (zh) | 一种基于超连接网络的匹配代价计算方法 | |
KR100956747B1 (ko) | 신경망회로와 병렬처리 프로세서를 결합한 컴퓨터구조 및그를 이용한 처리방법 | |
CN111695689B (zh) | 一种自然语言处理方法、装置、设备及可读存储介质 | |
Pervez et al. | Differentiable mathematical programming for object-centric representation learning | |
CN110728351A (zh) | 数据处理方法、相关设备及计算机存储介质 | |
US20210241068A1 (en) | Convolutional neural network | |
CN114611667A (zh) | 一种基于小规模参数矩阵计算特征图边界的重构方法 | |
Chen et al. | Efficient multi-training framework of image deep learning on GPU cluster | |
Vasileiadis et al. | Optimising 3D-CNN Design towards Human Pose Estimation on Low Power Devices. | |
Ichinose et al. | Performance Evaluation of Pipeline-Based Processing for the Caffe Deep Learning Framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201002 |
|
WW01 | Invention patent application withdrawn after publication |