CN110309906A - 图像处理方法、装置、机器可读存储介质及处理器 - Google Patents
图像处理方法、装置、机器可读存储介质及处理器 Download PDFInfo
- Publication number
- CN110309906A CN110309906A CN201910434293.7A CN201910434293A CN110309906A CN 110309906 A CN110309906 A CN 110309906A CN 201910434293 A CN201910434293 A CN 201910434293A CN 110309906 A CN110309906 A CN 110309906A
- Authority
- CN
- China
- Prior art keywords
- convolutional layer
- special setting
- length
- convolution
- neural network
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 28
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000013528 artificial neural network Methods 0.000 claims abstract description 85
- 238000000034 method Methods 0.000 claims abstract description 61
- 239000011248 coating agent Substances 0.000 claims abstract description 60
- 238000000576 coating method Methods 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 20
- 239000011159 matrix material Substances 0.000 claims description 32
- 238000003475 lamination Methods 0.000 claims description 4
- 210000005036 nerve Anatomy 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/16—Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及图像处理技术领域,公开了一种图像处理方法、装置、机器可读存储介质及处理器。该方法包括:构建神经网络结构,神经网络结构依次包括卷积层、池化层、第一激活层、第一特殊设置卷积层、第二激活层和第二特殊设置卷积层,其中,使第一特殊设置卷积层的卷积核的长和卷积的行的步长均等于第一激活层的特征图的长,使第一特殊设置卷积层的卷积核的宽和卷积的列的步长均等于第一激活层的特征图的宽。使第二特殊设置卷积层的卷积核的长和宽以及卷积的行和列的步长均为1。且第一特殊设置卷积层和第二特殊设置卷积层均不添加边界填充。本发明可大大加速多幅输入图像在无批预测能力芯片上的计算速度,达到与批预测同样的计算速度。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、机器可读存储介质及处理器。
背景技术
批预测(batch inference)是人工神经网络在输入多组数据时的快速预测方法。该方法能够快速简洁的预测出每组数据的结果,并且该结果与输入单组数据时的结果一模一样。在当前的人工神经网络项目落地中,批预测是提高持续计算速度的重要方法。然而有一些芯片没有批预测能力,比如intel Movidius神经元计算棒,这将严重减慢神经网络的预测速度,同时计算单元的计算效率也没有充分发挥出来。
现有技术中人工神经网络多输入预测时的加速方法包括:
(1)在有批预测能力的芯片上,人工神经网络直接使用批预测方法,快速准确的得到多个输入的结果;
(2)在无批预测能力的芯片上,人工神经网络可以使用循环的方法,顺序计算多个输入的结果,该方法速度远慢于批预测;也可以将计算单元分组,每组跑一个独立的程序,该方法速度同样远慢于批预测。
现有技术中人工神经网络多输入预测时的加速方法的技术问题包括:在无批预测能力的芯片上,目前的解决方案存在速度过慢,计算效率较低,计算单元利用率低,数据传输的时间占比过高的问题。
发明内容
针对上述现有技术中存在的不足,本发明提供了一种图像处理方法、装置、机器可读存储介质及处理器,可解决现有技术中无批预测能力的芯片的计算速度过慢,计算效率较低,计算单元利用率低,数据传输的时间占比过高的技术问题。
本发明第一方面提供了一种图像处理方法,该方法包括:
构建神经网络结构,所述神经网络结构依次包括卷积层、池化层、第一激活层、第一特殊设置卷积层、第二激活层和第二特殊设置卷积层,其中,使所述第一特殊设置卷积层的卷积核的长和卷积的行的步长均等于所述第一激活层的特征图的长,使所述第一特殊设置卷积层的卷积核的宽和卷积的列的步长均等于所述第一激活层的特征图的宽;
使用所述神经网络结构对输入图像进行处理以得到与所述输入图像对应的预测值。
可选的,所述构建神经网络结构包括:使所述第二特殊设置卷积层的卷积核的长和卷积的行的步长均等于1,使所述第二特殊设置卷积层的卷积核的宽和卷积的列的步长均等于1。
可选的,所述构建神经网络结构还包括:所述第一特殊设置卷积层和所述第二特殊设置卷积层不添加边界填充。
可选的,所述输入图像由m*n个图像拼接得到,与所述输入图像对应的预测值为m*n矩阵,其中,m和n均为大于0的正整数。
可选的,执行所述拼接的方式为以下一种或多种拼接方式:横向拼接、纵向拼接、多行拼接、或多列拼接。
可选的,该方法还包括:将相邻图像的接触边缘的预设宽度内的像素值置为特定值。
本发明第二方面提供了一种图像处理装置,该装置包括:
神经网络结构构建模块,用于构建神经网络结构,所述神经网络结构依次包括卷积层、池化层、第一激活层、第一特殊设置卷积层、第二激活层和第二特殊设置卷积层,所述神经网络结构构建模块包括设置模块,所述设置模块包括:第一尺寸相同模块,用于使所述第一特殊设置卷积层的卷积核的长和卷积的行的步长均等于所述第一激活层的特征图的长,使所述第一特殊设置卷积层的卷积核的宽和卷积的列的步长均等于所述第一激活层的特征图的宽;
图像处理模块,用于使用所述神经网络结构对输入图像进行处理以得到与所述输入图像对应的预测值。
可选的,所述设置模块还包括:第二尺寸相同模块,用于使所述第二特殊设置卷积层的卷积核的长和卷积的行的步长均等于1,使所述第二特殊设置卷积层的卷积核的宽和卷积的列的步长均等于1。
可选的,所述设置模块还包括:边界填充模块,用于不添加所述第一特殊设置卷积层和所述第二特殊设置卷积层的边界填充。
可选的,该装置还包括图像拼接模块,用于将m*n个图像拼接得到所述输入图像,与所述输入图像对应的预测值为m*n矩阵,其中m和n均为大于0的正整数。
可选的,所述图像拼接模块将所述多个图像进行拼接包括对所述多个图像执行以下一种或多种拼接方式:横向拼接、纵向拼接、多行拼接、或多列拼接。
可选的,该装置还包括像素值设置模块,用于将相邻图像的接触边缘的预设宽度内的像素值置为特定值。
本发明第三方面提供了一种机器可读存储介质,所述机器可读存储介质上存储有指令,所述指令用于使得所述机器可读存储介质能够执行上述本发明第一方面提供的所述图像处理方法。
本发明第四方面提供了一种处理器,用于运行程序,其中,所述程序被运行时用于执行:上述本发明第一方面提供的所述图像处理方法。
本发明提供的图像处理方法、装置、机器可读存储介质及处理器能够使得无批预测能力的设备一次计算多组输入数据并输出,引入的误差极低,将多张输入图像的接触边缘的像素值按需置零甚至可以零误差,可大大加速多幅输入图像在无批预测能力芯片上的计算速度,达到与批预测同样的计算速度。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施方式一提供的图像处理方法的流程示意图;
图2为本发明实施方式二提供的图像处理方法的流程示意图;
图3为本发明提供的一个普通神经网络结构的结构示意图;
图4为本发明实施方式三提供的神经网络结构的结构示意图;
图5为本发明提供的单张输入图像经过普通神经网络结构的流程图;
图6为本发明实施方式四提供的单张输入图像经过本方法中的神经网络结构的流程图;
图7为本发明实施方式五提供的拼接后的输入图像经过本方法中的神经网络结构的流程图。
图8为本发明实施方式六提供的图像处理装置的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而非全部实施方式。基于本发明中的实施方式,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
请参阅图1,图1为本发明实施方式一提供的图像处理方法的流程示意图,。
如图1所示,本发明第一方面提供了一种图像处理方法,该方法包括:
S100、构建神经网络结构,神经网络结构依次包括输入层、卷积层、池化层、第一激活层、第一特殊设置卷积层、第二激活层和第二特殊设置卷积层。其中,使第一特殊设置卷积层的卷积核的长和卷积的行的步长均等于第一激活层的特征图的长,使第一特殊设置卷积层的卷积核的宽和卷积的列的步长均等于第一激活层的特征图的宽。
S200、使用神经网络结构对输入图像进行处理以得到与输入图像对应的预测值。通常情况下,单张输入图像经过神经网络结构处理后会得到尺寸为1*1的特征图,该特征图其实是一个预测值。当然单张输入图像经过神经网络结构处理后也可以得到其他尺寸的特征图。
较佳的,神经网络结构还包括输入层,输入层尺寸即为输入图像的尺寸。神经网络结构一般是在定义过程中定义输入层对尺寸的要求,在使用过程中输入图像的尺寸要符合该要求。在本发明实施方式中,当有多个图像输入输入层时,多个图像的尺寸必须相同,且尺寸相同的图像不可以拼接成品字形。当然在其他实施方式中,可以将较小图像的尺寸均设置为最大图像的尺寸,且空白部分图像的参数均置零,品字形等不规则形状的图像可按照预设规则设置为矩形图像,且空白部分图像的参数均置零。
需要说明的是,输入图像或者特征图经过神经网络结构中的每一层(除了输入层)都会得到特征图,当将尺寸为W1*H1*D1的输入图像或者特征图输入卷积层或者池化层中时,输出的特征图的尺寸W2*H2*D2计算如下:
W2=(W1-F+2P)/S+1;H2=(H1-F+2P)/S+1;D2=K。(1)
在公式组(1)中,F为卷积层或池化层中卷积核的大小,S为卷积层或池化层中的步长,P为边界填充,W1为输入图像或者输入的特征图的行数,H1为输入图像或者输入的特征图的列数,D1为输入图像或者输入的特征图的通道数,W2为输出的特征图的行数,H2为输出的特征图的列数,D2为输出的特征图的通道数。
池化层用于对输入的特征图进行压缩,通常包括两种压缩方式,一种是最大池化,采用尺寸为2*2、步长为2的感受野在每一个区域中寻找最大值。另一种是平均池化,对每一个2*2的区域元素求和,再除以4。通常情况下,采用最大池化对特征图进行压缩。而一般的感受野的尺寸取2*2,最大取3*3,步长取2,压缩为原来的1/4。
即将尺寸为W1*H1*D1的特征图输入池化层后,输出尺寸为(W1/2)*(H1/2)*K的特征图。
激活层用于在特征图中加入非线性因素,通常情况下,经过激活层的特征图的尺寸不变。
请参阅图2,图2为本发明实施方式二提供的图像处理方法的流程示意图。
进一步地,如图2所示,构建神经网络结构包括:S300、使第二特殊设置卷积层的卷积核的长和卷积的行的步长均等于1,使第二特殊设置卷积层的卷积核的宽和卷积的列的步长均等于1。
进一步地,构建神经网络结构还包括:S400、第一特殊设置卷积层和第二特殊设置卷积层不添加边界填充。
卷积层一般都有边界填充,边界填充的宽度可设为大于或等于0的正整数,不添加边界填充意味着边界填充的宽度等于0,也叫做边界填充等于0。
即将尺寸为W1*H1*D1的特征图输入第一特殊设置卷积层和第二特殊设置卷积层后,可输出尺寸为1*1*K的特征图。
需要说明的是,当输入一张图像时,将尺寸为W1*H1*D1的特征图输入第一特殊设置卷积层后,可输出特征图的尺寸为1*1*K’;之后将得到的尺寸为1*1*K’的特征图输入第二特殊设置卷积层后,可输出尺寸为1*1*K”的特征图。其中,当K”为1时,尺寸为W1*H1*D1的特征图输入第一特殊设置卷积层和第二特殊设置卷积层后,就会输出尺寸为1*1*1特征图,也即一个预测值。在其他实施方式中,K’和K”均可取大于1的整数。
进一步地,该方法还包括:S500、输入图像由m*n个图像拼接得到,与输入图像对应的预测值为m*n矩阵,其中,m和n均为大于0的正整数。
进一步地,S500中执行拼接的方式为以下一种或多种拼接方式:横向拼接、纵向拼接、多行拼接、或多列拼接。
当将n个尺寸为W1*H1*D1的输入图像进行横向拼接时,可得到输入层尺寸为W1*(n*H1)*K的输入图像。
当将m个尺寸为W1*H1*D1的输入图像进行纵向拼接时,可得到输入层尺寸为(m*W1)*H1*K的输入图像。
当将m个尺寸为W1*(n*H1)*D1的输入图像进行纵向拼接,或者将n个尺寸为(m*W1)*H1*D1的输入图像进行横向拼接,即多行拼接或者多列拼接后,可得到输入层尺寸为(m*W1)*(n*H1)*K的输入图像。
进一步地,该方法还包括:S600、将相邻图像的接触边缘的预设宽度内的像素值置为特定值。
较佳的,特定值为零。由于图像拼接的接触边缘会出现噪声干扰,此时,将多张输入图像的接触边缘的像素值按需置零从本申请神经网络结构输出后甚至可以使得得到的特征图为零误差,可最大限度避免噪声干扰。其中,预设宽度可以等于感受野尺寸的1/2且向下取整得到的值。每一个定义好的神经网络结构都可以计算一个针对输出值的感受野,相邻图像的接触边缘的宽度值等于感受野的值。
较佳的,S200中使用所述神经网络结构对输入图像进行处理以得到与所述输入图像对应的预测值的步骤包括:
将输入图像输入输入层。
将具有输入层尺寸的输入图像与卷积层进行卷积得到具有卷积层尺寸的特征图。
将具有卷积层尺寸的特征图经过池化层后得到具有池化层尺寸的特征图。
将具有池化层尺寸的特征图经过第一激活层后得到的具有第一激活层尺寸的特征图,与第一特殊设置卷积层进行卷积得到具有第一特殊设置卷积层尺寸的特征图。
将具有第一特殊设置卷积层尺寸的特征图经过第二激活层后得到的具有第二激活层尺寸的特征图,与第二特殊设置卷积层进行卷积得到并输出与输入图像对应的预测值。
需要说明的是,具有第二激活层尺寸的特征图与第二特殊设置卷积层进行卷积得到具有第二特殊设置卷积层尺寸的特征图,其中,第二特殊设置卷积层尺寸为m*n。也即具有第二特殊设置卷积层尺寸的特征图其实就是与输入图像对应的预测值,该预测值是m*n矩阵,其中,m和n均为大于0的正整数。
示例性的,人工神经网络计算无批预测能力时的多输入预测加速方法主要是为了解决项目落地时,有些神经网络芯片无法进行批预测,导致速度过慢的问题。以下内容首先描述普通的人工神经网络在输入单张图像时的细节,之后在该网络中进行改动,得到本发明所描述的神经网络结构。
请参阅图3至图7,图3为本发明提供的一个普通神经网络结构的结构示意图,图4为本发明实施方式三提供的神经网络结构的结构示意图,图5为本发明提供的单张输入图像经过普通神经网络结构的流程图,图6为本发明实施方式四提供的单张输入图像经过本方法中的神经网络结构的流程图,图7为本发明实施方式五提供的拼接后的输入图像经过本方法中的神经网络结构的流程图。
本发明中的神经网络结构的特点不在于图4的整体固定结构,而在于以下几个特征:
一、输入图像
输入图像可以拼接任意多个,其中图像间有接触的边缘,需要将宽度等于感受野的范围内的像素值置零。
二、普通神经网络结构的卷积层到第一全连接层过程的修改
如图3所示,普通神经网络结构依次包括输入层、卷积层、池化层、第一激活层、第一全连接层、第二激活层和第二全连接层。在普通神经网络结构的卷积层到第一全连接层的过程中,本发明将此处的第一全连接层修改为第一特殊设置卷积层,其中,卷积核的尺寸与上一层的第一激活层的特征图的尺寸相同,卷积的步长与上一层的第一激活层的特征图的尺寸相同,并且不加边界填充。这种修改基于一个原理:卷积的本质是全连接。能够这样修改的原因可通过对比图5和图6说明。输入单张图像时,原有操作为首先将32*32*4的特征矩阵通过reshape函数调整为1*4096的矩阵,然后将此矩阵和第一全连接层的参数矩阵(维度为4096*128)进行矩阵乘法,得到1*128的矩阵。而本发明的操作为将4096*128的参数矩阵通过resize函数调整为32*32*4*128,再使用步长等于32、边界填充等于0的卷积方法进行卷积,得到1*1*128的特征矩阵,具体可参考图4。可以发现,此处的第一全连接层的计算和修改后的第一特殊设置卷积层的计算完全等价,唯一的区别只是本发明的方法重新调整了特征矩阵和参数矩阵的形状,并未改变任何的计算过程。无论是卷积层的输入值还是输出值,都与全连接层完全一致。唯一不同的只是每个元素的排布方式。
在实际使用过程中,由第一全连接层修改而来的第一特殊设置卷积层,既可以从头重新训练,也可以直接读取已训练完成的普通神经网络结构中的第一全连接层的参数值,调整形状后赋值即可。
三、普通神经网络结构的第一全连接层到第二全连接层过程的修改
在上述的普通神经网络结构的卷积层到第一全连接层的过程中,本发明的方法已经将作为输入的前一级的第一全连接层改为第一特殊设置卷积层,所以此处的后一级的第二全连接层接收到的特征矩阵的尺寸为1*1*通道数,在图6例子中便是1*1*128。所以普通神经网络结构的后一级的第二全连接层需转换为第二特殊设置卷积层,其参数需被reshape函数调整为1*1*128,并且在通过卷积步长为1,边界填充为0的卷积过程后,将得到与普通神经网络结构一样的结果。可以发现,此处的后一级的第二全连接的过程与修改后的第二特殊设置卷积层的过程完全等价,唯一的区别只是调整了参数矩阵的形状。
本发明提供的方法的原理如下:
将图3的普通神经网络结构修改为图4的本发明的神经网络结构后,通过观察只输入一幅图的效果,即对比图5和图6,可以发现除了矩阵形状外,其他的计算过程完全等价,得到的输出值也完全相同。观察图7可发现,修改后的神经网络结构为全卷积网络,可以输入拼接任意幅图像后的整副图,并且得到的结果与单张图像依次输入普通网络时的结果基本一致。如果将输入图像的接触边缘的像素按需求置零,则上述结果完全一致。
如图3和图5所示,单张输入图像经过普通神经网络结构的工作原理如下:
假设单张输入图像的输入层尺寸的格式为行数*列数*通道数,且该尺寸为64*64*3,而卷积层的卷积核的尺寸的格式为卷积核行数*卷积核列数*输入通道数*输出通道数,且该尺寸为3*3*3*4,卷积核的步长为1,边界填充为1,其中边界填充为经验值,从而使输出卷积层的特征图的尺寸与输入卷积层的输入图像的尺寸一致,根据公式组(1)可知,输入层尺寸为64*64*3,则卷积层尺寸为64*64*4。
池化层的卷积核的尺寸为2*2,步长为2,边界填充为0,根据公式组(1)可知,卷积层尺寸为64*64*4,则池化层尺寸为32*32*4。
经过第一激活层后,第一激活层尺寸为32*32*4。
第一全连接层的参数矩阵为4096*128,因此需要在将具有池化层尺寸的特征图输入第一全连接层之前,将池化层尺寸通过resize函数调整为1*4096的特征矩阵,其中32*32*4=4096,即只是调整了池化层的特征矩阵的形状。调整池化层尺寸之后的特征矩阵为1*4096,将该矩阵与第一全连接层的参数矩阵进行矩阵乘法,可得到1*128的矩阵。
经过第二激活层后,第二激活层尺寸为1*128。
第二全连接层的参数矩阵为128*1,将第二激活层尺寸与该矩阵进行矩阵乘法,可得到第二全连接层尺寸为1*1。
即将单张具有输入层尺寸为64*64*3的输入图像输入普通神经网络结构后,将输出第二全连接层尺寸为1*1的特征图,即输出预测值。
如图4和图6所示,单张输入图像经过本发明的神经网络结构的工作原理如下:
假设单张输入图像的输入层尺寸的格式为行数*列数*通道数,且该尺寸为64*64*3,而卷积层的卷积核的尺寸的格式为卷积核行数*卷积核列数*输入通道数*输出通道数,且该尺寸为3*3*3*4,卷积核的步长为1,边界填充为1,其中边界填充为经验值,从而使输出卷积层的特征图的尺寸与输入卷积层的输入图像的尺寸一致,根据公式组(1)可知,输入层尺寸为64*64*3,则卷积层尺寸为64*64*4。
池化层的卷积核的尺寸为2*2,步长为2,边界填充为0,根据公式组(1)可知,卷积层尺寸为64*64*4,则池化层尺寸为32*32*4。
经过第一激活层后,第一激活层尺寸为32*32*4。
将参数矩阵为4096*128的第一全连接层通过resize函数调整为卷积核尺寸为32*32*4*128、步长为32、边界填充为0的第一特殊设置卷积层,其中,4096=32*32*4,即只是调整了第一全连接层的参数矩阵的形状,根据公式组(1)可知,第一激活层尺寸为32*32*4,则第一特殊设置卷积层尺寸为1*1*128。
经过第二激活层后,第二激活层尺寸为1*1*128。
将参数矩阵为128*1的第二全连接层通过reshape函数调整为卷积核尺寸为1*1*128、步长为1、边界填充为0的第二特殊设置卷积层,即只是调整了第一二连接层的参数矩阵的形状,根据公式组(1)可知,第二激活层尺寸为1*1*128,则第二特殊设置卷积层尺寸为1*1。
即将单张具有输入层尺寸为64*64*3的输入图像输入本发明中的神经网络结构后,将输出第二特殊设置卷积层尺寸为1*1的特征图。
即将单张输入图像分别输入普通神经网络结构和本发明中的神经网络结构后,输出得到的特征图的尺寸均相同,也即预测值相同。
如图4和图7所示,多张输入图像经过本发明的神经网络结构的工作原理如下:
假设横向拼接后的n张输入图像的输入层尺寸的格式为行数*列数*通道数,且该尺寸为64*(64*n)*3,而卷积层的卷积核的尺寸的格式为卷积核行数*卷积核列数*输入通道数*输出通道数,且该尺寸为3*3*3*4,卷积核的步长为1,边界填充为1,其中边界填充为经验值,从而使输出卷积层的特征图的尺寸与输入卷积层的输入图像的尺寸一致,根据公式组(1)可知,输入层尺寸为64*(64*n)*3,则卷积层尺寸为64*(64*n)*4。
池化层的卷积核的尺寸为2*2,步长为2,边界填充为0,根据公式组(1)可知,卷积层尺寸为64*(64*n)*4,则池化层尺寸为32*(32*n)*4。
经过第一激活层后,第一激活层尺寸为32*(32*n)*4。
将参数矩阵为4096*128的第一全连接层通过resize函数调整为卷积核尺寸为32*32*4*128、步长为32、边界填充为0的第一特殊设置卷积层,其中,4096=32*32*4,即只是调整了第一全连接层的参数矩阵的形状,根据公式组(1)可知,第一激活层尺寸为32*(32*n)*4,则第一特殊设置卷积层尺寸为1*n*128。
经过第二激活层后,第二激活层尺寸为1*n*128。
将参数矩阵为128*1的第二全连接层通过reshape函数调整为卷积核尺寸为1*1*128、步长为1、边界填充为0的第二特殊设置卷积层,即只是调整了第一二连接层的参数矩阵的形状,根据公式组(1)可知,第二激活层尺寸为1*n*128,则第二特殊设置卷积层尺寸为1*n。
即将横向拼接的n张具有输入层尺寸为64*(64*n)*3的输入图像输入本发明中的神经网络结构后,将输出第二特殊设置卷积层尺寸为1*n的特征图,其实是一个1*n矩阵,n张图像分别对应n个预测值,且预测值取值均为0-100。
如图7所示,n取为2,即将2张输入图像进行横向拼接,输出与输入图像对应的1*2的预测值,即1*2矩阵。
同理可得,将纵向拼接的m张具有输入层尺寸为(64*m)*64*3的输入图像输入本发明中的神经网络结构后,将输出第二特殊设置卷积层尺寸为m*1的特征图。
同理可得,将多列拼接的n张具有输入层尺寸为(64*m)*64*3的输入图像,或者将多行拼接的m张具有输入层尺寸为64*(64*n)*3的输入图像输入本发明中的神经网络结构后,将输出第二特殊设置卷积层尺寸为m*n的特征图。
即在本发明的方法中,将多张输入图像横向拼接、纵向拼接、多行拼接或者多列拼接后输入本发明中的神经网络结构,可输出得到与输入图像对应的预测值,并且得到的结果与单张图像依次输入普通神经网络结构时的结果基本一致,如果将输入图像的接触边缘的像素值按需求置零,则上述结果完全一致。
因此,本发明能够使得无批预测能力的设备一次计算多组输入数据并输出,引入的误差极低,将多张输入图像的接触边缘的像素值按需置零甚至可以零误差,可大大加速多幅输入图像在无批预测能力芯片上的计算速度,达到与批预测同样的计算速度。
请参阅图8,图8为本发明实施方式六提供的图像处理装置的结构示意图。
如图8所示,本发明第二方面还提供了一种图像处理装置,该装置包括:
神经网络结构构建模块1,用于构建神经网络结构,神经网络结构依次包括输入层、卷积层、池化层、第一激活层、第一特殊设置卷积层、第二激活层和第二特殊设置卷积层,神经网络结构构建模块1包括设置模块3,设置模块3包括:第一尺寸相同模块31,用于使第一特殊设置卷积层的卷积核的长和卷积的行的步长均等于第一激活层的特征图的长,使第一特殊设置卷积层的卷积核的宽和卷积的列的步长均等于第一激活层的特征图的宽。
图像处理模块2,用于使用神经网络结构对输入图像进行处理以得到与输入图像对应的预测值。
进一步地,设置模块3还包括:第二尺寸相同模块32,用于使第二特殊设置卷积层的卷积核的长和卷积的行的步长均等于1,使第二特殊设置卷积层的卷积核的宽和卷积的列的步长均等于1。
进一步地,设置模块3还包括:边界填充模块33,用于不添加第一特殊设置卷积层和第二特殊设置卷积层的边界填充。
进一步地,该装置还包括图像拼接模块4,用于将m*n个图像拼接得到输入图像,与输入图像对应的预测值为m*n矩阵,其中m和n均为大于0的正整数。
进一步地,图像拼接模块4将多个图像进行拼接包括对多个图像执行以下一种或多种拼接方式:横向拼接、纵向拼接、多行拼接、或多列拼接。
进一步地,该装置还包括像素值设置模块5,用于将相邻图像的接触边缘的预设宽度内的像素值置为特定值。
较佳的,特定值为零。
较佳的,图像处理模块2包括:
输入模块21,用于将输入图像输入输入层。
卷积模块22,用于将具有输入层尺寸的输入图像与卷积层进行卷积得到具有卷积层尺寸的特征图。
池化模块23,用于将具有卷积层尺寸的特征图经过池化层后得到具有池化层尺寸的特征图。
第一激活模块24,用于将具有池化层尺寸的特征图经过第一激活层后得到具有第一激活层尺寸的特征图。
第一特殊设置卷积模块25,用于将具有第一激活层尺寸的特征图与第一特殊设置卷积层进行卷积得到具有第一特殊设置卷积层尺寸的特征图。
第二激活模块26,用于将具有第一特殊设置卷积层尺寸的特征图经过第二激活层后得到具有第二激活层尺寸的特征图。
第二特殊设置卷积模块27,用于将具有第二激活层尺寸的特征图与第二特殊设置卷积层进行卷积得到并输出与输入图像对应的预测值。
本发明提供的图像处理装置的工作原理与上述的图像处理方法的工作原理完全相同,此处不再赘述。
本发明第三方面还提供了一种机器可读存储介质,所述机器可读存储介质上存储有指令,所述指令用于使得所述机器可读存储介质能够执行上述所述的图像处理方法。
本发明第四方面提供了一种处理器,用于运行程序,其中,所述程序被运行时用于执行:上述本发明提供的所述图像处理方法。
本发明提供的图像处理方法、装置、机器可读存储介质及处理器能够使得无批预测能力的设备一次计算多组输入数据并输出,引入的误差极低,将多张输入图像的接触边缘的像素值按需置零甚至可以零误差,可大大加速多幅输入图像在无批预测能力芯片上的计算速度,达到与批预测同样的计算速度。
在上述实施方式中,对各个实施方式的描述都各有侧重,某个实施方式中没有详述的部分,可以参见其它实施方式的相关描述。以上为对本发明所提供的图像处理方法、装置以及机器可读存储介质的描述,对于本领域的一般技术人员,依据本发明实施方式的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
所述图像处理装置包括处理器和存储器,上述神经网络结构构建模块1、设置模块3、图像拼接模块4、像素值设置模块5和图像处理模块2等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来同时处理多个图像。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述本发明提供的图像处理方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:上述本发明提供的所述图像处理方法。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如上述本发明提供的图像处理方法步骤的程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种图像处理方法,其特征在于,该方法包括:
构建神经网络结构,所述神经网络结构依次包括卷积层、池化层、第一激活层、第一特殊设置卷积层、第二激活层和第二特殊设置卷积层,其中,使所述第一特殊设置卷积层的卷积核的长和卷积的行的步长均等于所述第一激活层的特征图的长,使所述第一特殊设置卷积层的卷积核的宽和卷积的列的步长均等于所述第一激活层的特征图的宽;
使用所述神经网络结构对输入图像进行处理以得到与所述输入图像对应的预测值。
2.根据权利要求1所述的方法,其特征在于,所述构建神经网络结构包括:使所述第二特殊设置卷积层的卷积核的长和卷积的行的步长均等于1,使所述第二特殊设置卷积层的卷积核的宽和卷积的列的步长均等于1。
3.根据权利要求2所述的方法,其特征在于,所述构建神经网络结构还包括:所述第一特殊设置卷积层和所述第二特殊设置卷积层不添加边界填充。
4.根据权利要求1所述的方法,其特征在于,所述输入图像由m*n个图像拼接得到,与所述输入图像对应的预测值为m*n矩阵,其中,m和n均为大于0的正整数。
5.根据权利要求4所述的方法,其特征在于,执行所述拼接的方式为以下一种或多种拼接方式:横向拼接、纵向拼接、多行拼接、或多列拼接。
6.根据权利要求4或5所述的方法,其特征在于,该方法还包括:将相邻图像的接触边缘的预设宽度内的像素值置为特定值。
7.一种图像处理装置,其特征在于,该装置包括:
神经网络结构构建模块,用于构建神经网络结构,所述神经网络结构依次包括卷积层、池化层、第一激活层、第一特殊设置卷积层、第二激活层和第二特殊设置卷积层,所述神经网络结构构建模块包括设置模块,所述设置模块包括:第一尺寸相同模块,用于使所述第一特殊设置卷积层的卷积核的长和卷积的行的步长均等于所述第一激活层的特征图的长,使所述第一特殊设置卷积层的卷积核的宽和卷积的列的步长均等于所述第一激活层的特征图的宽;
图像处理模块,用于使用所述神经网络结构对输入图像进行处理以得到与所述输入图像对应的预测值。
8.根据权利要求7所述的装置,其特征在于,所述设置模块还包括:第二尺寸相同模块,用于使所述第二特殊设置卷积层的卷积核的长和卷积的行的步长均等于1,使所述第二特殊设置卷积层的卷积核的宽和卷积的列的步长均等于1。
9.根据权利要求8所述的装置,其特征在于,所述设置模块还包括:边界填充模块,用于不添加所述第一特殊设置卷积层和所述第二特殊设置卷积层的边界填充。
10.根据权利要求9所述的装置,其特征在于,该装置还包括图像拼接模块,用于将m*n个图像拼接得到所述输入图像,与所述输入图像对应的预测值为m*n矩阵,其中m和n均为大于0的正整数。
11.根据权利要求10所述的装置,其特征在于,所述图像拼接模块将所述多个图像进行拼接包括对所述多个图像执行以下一种或多种拼接方式:横向拼接、纵向拼接、多行拼接、或多列拼接。
12.根据权利要求10或11所述的装置,其特征在于,该装置还包括像素值设置模块,用于将相邻图像的接触边缘的预设宽度内的像素值置为特定值。
13.一种机器可读存储介质,其特征在于,所述机器可读存储介质上存储有指令,所述指令用于使得所述机器可读存储介质能够执行根据权利要求1-6中任一项权利要求所述的图像处理方法。
14.一种处理器,其特征在于,用于运行程序,其中,所述程序被运行时用于执行:根据权利要求1-6中任意一项所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910434293.7A CN110309906A (zh) | 2019-05-23 | 2019-05-23 | 图像处理方法、装置、机器可读存储介质及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910434293.7A CN110309906A (zh) | 2019-05-23 | 2019-05-23 | 图像处理方法、装置、机器可读存储介质及处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110309906A true CN110309906A (zh) | 2019-10-08 |
Family
ID=68074857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910434293.7A Pending CN110309906A (zh) | 2019-05-23 | 2019-05-23 | 图像处理方法、装置、机器可读存储介质及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309906A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111402139A (zh) * | 2020-03-25 | 2020-07-10 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
CN112099737A (zh) * | 2020-09-29 | 2020-12-18 | 北京百度网讯科技有限公司 | 存储数据的方法、装置、设备和存储介质 |
CN113191480A (zh) * | 2020-01-14 | 2021-07-30 | 北京地平线机器人技术研发有限公司 | 一种用于神经网络的池化方法及装置 |
CN113344884A (zh) * | 2021-06-11 | 2021-09-03 | 广州逅艺文化科技有限公司 | 一种视频图形区域检测及压缩方法、装置及介质 |
CN113554095A (zh) * | 2021-07-26 | 2021-10-26 | 湖南国科微电子股份有限公司 | 特征图处理方法、装置及计算机设备 |
CN113762472A (zh) * | 2021-08-24 | 2021-12-07 | 北京地平线机器人技术研发有限公司 | 一种神经网络的指令序列生成方法及装置 |
CN113919405A (zh) * | 2020-07-07 | 2022-01-11 | 华为技术有限公司 | 数据处理方法、装置与相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679487A (zh) * | 2017-09-29 | 2018-02-09 | 中国科学院福建物质结构研究所 | 失踪人口鉴别方法和系统 |
CN108631727A (zh) * | 2018-03-26 | 2018-10-09 | 河北工业大学 | 一种基于卷积神经网络的太阳能电池板缺陷识别方法 |
-
2019
- 2019-05-23 CN CN201910434293.7A patent/CN110309906A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679487A (zh) * | 2017-09-29 | 2018-02-09 | 中国科学院福建物质结构研究所 | 失踪人口鉴别方法和系统 |
CN108631727A (zh) * | 2018-03-26 | 2018-10-09 | 河北工业大学 | 一种基于卷积神经网络的太阳能电池板缺陷识别方法 |
Non-Patent Citations (3)
Title |
---|
YAOYZ105: "为什么将全连接层替换为卷积层", 《CSDN》 * |
江湖小虾米: "理解为什么要将全连接层转化为卷积层", 《博客园》 * |
罗明柱: "全卷积神经网络的多尺度人脸检测的研究", 《计算机工程与应用》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113191480A (zh) * | 2020-01-14 | 2021-07-30 | 北京地平线机器人技术研发有限公司 | 一种用于神经网络的池化方法及装置 |
CN111402139A (zh) * | 2020-03-25 | 2020-07-10 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
CN111402139B (zh) * | 2020-03-25 | 2023-12-05 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
CN113919405A (zh) * | 2020-07-07 | 2022-01-11 | 华为技术有限公司 | 数据处理方法、装置与相关设备 |
CN113919405B (zh) * | 2020-07-07 | 2024-01-19 | 华为技术有限公司 | 数据处理方法、装置与相关设备 |
CN112099737A (zh) * | 2020-09-29 | 2020-12-18 | 北京百度网讯科技有限公司 | 存储数据的方法、装置、设备和存储介质 |
CN112099737B (zh) * | 2020-09-29 | 2023-09-01 | 北京百度网讯科技有限公司 | 存储数据的方法、装置、设备和存储介质 |
CN113344884A (zh) * | 2021-06-11 | 2021-09-03 | 广州逅艺文化科技有限公司 | 一种视频图形区域检测及压缩方法、装置及介质 |
CN113554095A (zh) * | 2021-07-26 | 2021-10-26 | 湖南国科微电子股份有限公司 | 特征图处理方法、装置及计算机设备 |
CN113762472A (zh) * | 2021-08-24 | 2021-12-07 | 北京地平线机器人技术研发有限公司 | 一种神经网络的指令序列生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309906A (zh) | 图像处理方法、装置、机器可读存储介质及处理器 | |
JP7132824B2 (ja) | ニューラルネットワークにおいてデコンボルーション演算を実行する装置及びその方法 | |
CN111242282B (zh) | 基于端边云协同的深度学习模型训练加速方法 | |
CN106056529B (zh) | 一种对用于图片识别的卷积神经网络训练的方法与设备 | |
US10417529B2 (en) | Learning combinations of homogenous feature arrangements | |
CN107451658A (zh) | 浮点运算定点化方法及系统 | |
CN106778682A (zh) | 一种卷积神经网络模型的训练方法及其设备 | |
CN110119809A (zh) | 深度学习处理中乘法和累加运算的非对称量化 | |
KR20210158436A (ko) | 콘볼루셔널 뉴럴 네트워크들에 대한 슈퍼픽셀 방법들 | |
CN112464784A (zh) | 一种基于混合并行的分布式训练方法 | |
CN111539526B (zh) | 一种神经网络卷积的方法和设备 | |
CN110853110B (zh) | 一种基于生成对抗网络的图片自动调色方法 | |
CN106447030A (zh) | 卷积神经网络的计算资源优化方法及系统 | |
CN112200300B (zh) | 卷积神经网络运算方法及装置 | |
CN107122327A (zh) | 一种利用训练数据训练模型的方法和训练系统 | |
US20100272367A1 (en) | Image processing using geodesic forests | |
CN107862741A (zh) | 一种基于深度学习的单帧图像三维重建装置及方法 | |
JP2021504837A (ja) | 重み行列への空間的局所性を強化すること、および周波数圧縮をもたらすことを通した、完全接続型/回帰型深層ネットワークの圧縮 | |
CN111882426B (zh) | 业务风险分类器训练方法、装置、设备及存储介质 | |
CN110059793A (zh) | 生成式对抗神经网络的逐步修改 | |
WO2021110147A1 (zh) | 一种图像处理,图像训练以通道混洗方法和装置 | |
CN115249315B (zh) | 面向异构计算设备的深度学习图像分类方法及装置 | |
CN107133190A (zh) | 一种机器学习系统的训练方法和训练系统 | |
Zhou et al. | Resource allocation of federated learning for the metaverse with mobile augmented reality | |
CN108270805A (zh) | 用于数据处理的资源分配方法及装置 |
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 |