CN110473137B - 图像处理方法和装置 - Google Patents
图像处理方法和装置 Download PDFInfo
- Publication number
- CN110473137B CN110473137B CN201910336216.8A CN201910336216A CN110473137B CN 110473137 B CN110473137 B CN 110473137B CN 201910336216 A CN201910336216 A CN 201910336216A CN 110473137 B CN110473137 B CN 110473137B
- Authority
- CN
- China
- Prior art keywords
- convolution
- feature map
- output
- input
- convolution kernels
- 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.)
- Active
Links
Images
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/044—Recurrent networks, e.g. Hopfield 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/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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种图像处理方法,该方法包括:获取输入特征图;根据存储的多个基础卷积核和组合参数,对所述输入特征图进行卷积得到输出特征图,其中,所述组合参数用于指示所述多个基础卷积核组合成标准卷积核的排列顺序,所述基础卷积核的尺寸小于所述标准卷积核的尺寸;基于所述输出特征图进行图像处理,得到处理结果。本申请实施例提供的图像处理方法,能够减少进行图像处理所需使用的卷积神经网络模型的存储空间。
Description
技术领域
本申请涉及人工智能,更具体地,涉及图像处理领域中的图像处理方法和装置。
背景技术
随着图像处理技术的不断发展,以及人们对图像显示画质要求的不断提升,基于深度学习的卷积神经网络(convolutional neural networks,CNN)在图像处理领域得到了快速发展,尤其在终端设备(例如,手机、摄像头、智能家居、自动驾驶汽车)上的应用也越来越多,例如,人脸识别、物体检测、场景分割等。
通常,高精度的卷积神经网络的参数量和计算量都很大,常用的卷积神经网络模型都需要占据上百兆的存储空间以及数十亿的运算数目,而终端设备的内存和计算资源都非常有限,并不具备有较强的运算能力和较大的缓存,导致具有高精度的卷积神经网络在终端设备上难以进行部署。
因此,如何减少进行图像处理所需使用的卷积神经网络模型的存储空间成为一个亟需解决的问题。
发明内容
本申请实施例公开了一种图像处理方法和装置,能够减少进行图像处理所需使用的卷积神经网络模型的存储空间。
第一方面,提供了一种图像处理方法,该方法包括:获取输入特征图;根据存储的多个基础卷积核和组合参数,对所述输入特征图进行卷积得到输出特征图,其中,所述组合参数用于指示所述多个基础卷积核组合成标准卷积核的排列顺序,所述基础卷积核的尺寸小于所述标准卷积核的尺寸;基于所述输出特征图进行图像处理,得到处理结果。
根据本申请实施例提供的方法,通过与标准卷积核相比尺寸更小的基础卷积核,及用于指示所述多个基础卷积核组合成标准卷积核的排列顺序的组合参数,就可以实现对输入特征图的卷积处理,进而实现对该输入特征图的图像处理,此时,卷积神经网络模型中只需要保存尺寸更小的基础卷积核及其组合参数即可,因此,能够减少进行图像处理所需使用的卷积神经网络模型的存储空间。
在一种可能的实现方式中,所述根据存储的多个基础卷积核和组合参数,对所述输入特征图进行卷积得到输出特征图,包括:根据存储的所述多个基础卷积核和所述组合参数,拼接成一个或多个标准卷积核;根据所述标准卷积核,对所述输入特征图进行卷积得到输出特征图。
根据本申请实施例提供的方法,根据多个基础卷积核和组合参数拼接成的一个或多个标准卷积核,使得该拼接成的一个或多个标准卷积核中包括重复的片段(基础卷积核),因此,能够降低卷积神经网络中(该包含一个或多个标准卷积核的卷积层中)的参数量,从而能够减少进行图像处理所使用的卷积神经网络模型的存储空间。
在一种可能的实现方式中,所述方法还包括:计算所述标准卷积核的梯度和计算所述组合参数的梯度。
可选地,上述方法中可以采用先拼接得到一个或多个标准卷积核,再利用该标准卷积核对所述输入特征图进行卷积处理的方式,此时,在反向传播过程中可以计算该标准卷积核的梯度,及计算组合参数的梯度。
在一种可能的实现方式中,所述根据存储的多个基础卷积核和组合参数,对所述输入特征图进行卷积得到输出特征图,包括:根据所述多个基础卷积核,对所述输入特征图进行卷积得到多个输出子特征图;根据所述多个输出子特征图和所述组合参数,拼接成一个或多个输出特征图。
根据本申请实施例提供的方法,根据多个基础卷积核和组合参数拼接成的一个或多个卷积神经网络中的卷积核,使得该拼接成的一个或多个卷积核中包括重复的片段(基础卷积核),因此,能够降低卷积神经网络中(该卷积层中)的参数量,从而能够减少进行图像处理所使用的卷积神经网络模型的存储空间。
在一种可能的实现方式中,所述方法还包括:将所述输入特征图切分成多个输入子特征图;所述根据所述多个基础卷积核,对所述输入特征图进行卷积得到多个输出子特征图,包括:根据所述多个基础卷积核,对所述多个输入子特征图进行卷积得到多个输出子特征图。
在一种可能的实现方式中,所述方法还包括:计算所述多个基础卷积核的梯度和计算所述组合参数的梯度。
可选地,上述方法中可以采用先利用多个基础卷积核对所述输入特征图进行卷积得到多个输出子特征图,再利用组合参数将该输出子特征图拼接成一个或多个输出特征图的方式,此时,在反向传播过程中可以计算该多个基础卷积核的梯度,及计算组合参数的梯度。
在一种可能的实现方式中,多个所述基础卷积核的尺寸相同。
在一种可能的实现方式中,当所述标准卷积核为多个时,所述标准卷积核中的每一个包括相同数量的基础卷积核。
第二方面,提供了一种图像处理装置,该装置包括:获取模块,用于获取输入特征图;卷积模块,用于根据存储的多个基础卷积核和组合参数,对所述输入特征图进行卷积得到输出特征图,其中,所述组合参数用于指示所述多个基础卷积核组合成标准卷积核的排列顺序,所述基础卷积核的尺寸小于所述标准卷积核的尺寸;图像处理模块,用于基于所述输出特征图进行图像处理,得到处理结果。
根据本申请实施例提供的装置,通过与标准卷积核相比尺寸更小的基础卷积核,及用于指示所述多个基础卷积核组合成标准卷积核的排列顺序的组合参数,就可以实现对输入特征图的卷积处理,进而实现对该输入特征图的图像处理,此时,卷积神经网络模型中只需要保存尺寸更小的基础卷积核及其组合参数即可,因此,能够减少进行图像处理所需使用的卷积神经网络模型的存储空间。
在一种可能的实现方式中,所述卷积模块具体用于:根据存储的所述多个基础卷积核和所述组合参数,拼接成一个或多个标准卷积核;根据所述标准卷积核,对所述输入特征图进行卷积得到输出特征图。
根据本申请实施例提供的装置,根据多个基础卷积核和组合参数拼接成的一个或多个标准卷积核,使得该拼接成的一个或多个标准卷积核中包括重复的片段(基础卷积核),因此,能够降低卷积神经网络中(该包含一个或多个标准卷积核的卷积层中)的参数量,从而能够减少图像处理过程中卷积神经网络模型占用的内存。
在一种可能的实现方式中,所述装置还包括计算模块,用于:计算所述标准卷积核的梯度和计算所述组合参数的梯度。
可选地,上述卷积模块可以用于先拼接得到一个或多个标准卷积核,再利用该标准卷积核对所述输入特征图进行卷积处理,此时,所述计算模块可以用于在反向传播过程中计算该标准卷积核的梯度,及计算组合参数的梯度。
在一种可能的实现方式中,所述卷积模块具体用于:根据所述多个基础卷积核,对所述输入特征图进行卷积得到多个输出子特征图;根据所述多个输出子特征图和所述组合参数,拼接成一个或多个输出特征图。
根据本申请实施例提供的装置,利用多个基础卷积核分别对所述输入特征图的各部分进行卷积,得到多个输出子特征图,并根据组合参数将所述多个输出子特征图拼接成一个或多个输出特征图,能够减少卷积处理过程中的冗余计算。
在一种可能的实现方式中,所述装置还包括切分模块,用于:将所述输入特征图切分成多个输入子特征图;所述卷积模块具体用于:根据所述多个基础卷积核,对所述多个输入子特征图进行卷积得到多个输出子特征图。
在一种可能的实现方式中,所述计算模块还用于:计算所述多个基础卷积核的梯度和计算所述组合参数的梯度。
可选地,上述卷积模块可以用于先利用多个基础卷积核对所述输入特征图进行卷积得到多个输出子特征图,再利用组合参数将该输出子特征图拼接成一个或多个输出特征图,此时,所述计算模块可以用于在反向传播过程中计算该多个基础卷积核的梯度,及计算组合参数的梯度。
在一种可能的实现方式中,多个所述基础卷积核的尺寸相同。
在一种可能的实现方式中,当所述标准卷积核为多个时,所述标准卷积核中的每一个包括相同数量的基础卷积核。
第三方面,提供了一种图像处理装置,所述装置包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现所述第一方面或者第一方面的任一可能的实现方式中的方法。
第四方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或第一方面的任一可能的实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的任一可能的实现方式中的方法。
第五方面,提供一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第一方面或者第一方面的任一可能的实现方式中的方法的指令。
根据本申请实施例提供的方法,通过与标准卷积核相比尺寸更小的基础卷积核,及用于指示所述多个基础卷积核组合成标准卷积核的排列顺序的组合参数,就可以实现对输入特征图的卷积处理,进而实现对该输入特征图的图像处理,此时,卷积神经网络模型中只需要保存尺寸更小的基础卷积核及其组合参数即可,因此,能够减少进行图像处理所需使用的卷积神经网络模型的存储空间。
附图说明
图1是卷积神经网络的基本框架图。
图2是三维图像的高度、宽度和深度的示意图。
图3是卷积层实现卷积操作过程的示意图。
图4是本申请实施例提供的一种芯片硬件结构示意图。
图5是本申请实施例提供的应用场景示意图。
图6是本申请一个实施例提供的图像处理方法的示意性流程图。
图7是本申请的一个实施例中基础卷积核拼接成卷积核的示意性框图。
图8是本申请的一个实施例中基于基础卷积核进行卷积处理的示意性框图。
图9是本申请另一个实施例提供的图像处理方法的示意性流程图。
图10是本申请一个实施例的图像处理装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于理解,先对神经网络进行详细介绍。神经网络一般包括多个神经网络层,各神经网络层可以实现不同的运算或操作。常见的神经网络层包括卷积层(convolutionlayer)、池化层(pooling layer)和全连接层(full-connection layer)等。
图1为卷积神经网络(convolutional neural networks,CNN)的基本框架图。参见图1,卷积神经网络包括卷积层、池化层和全连接层。其中,多个卷积层与多个池化层交替排列,卷积层之后可以为卷积层,也可以为池化层。
卷积层主要用于对输入矩阵执行卷积操作,池化层主要用于对输入矩阵执行池化操作。无论是卷积操作还是池化操作,均可对应一个核,其中卷积操作对应的核可以称为卷积核。下面对卷积操作和池化操作进行详细描述。
卷积操作主要用于图像处理领域,在图像处理领域,输入矩阵也可称为特征图。卷积操作对应一个卷积核。卷积核也可称为权矩阵,权矩阵中的每个元素为一个权值。在卷积过程中,输入矩阵会被滑动窗口划分成许多与权矩阵大小相同的子矩阵,每个子矩阵与权矩阵进行矩阵乘法,得到的结果即为每个子矩阵中的数据元素的加权平均。
为了清楚起见,先对本申请中所使用的术语作以解释。
1、像素
像素是组成图像的最基本的元素,是一种逻辑尺寸单位。
2、图像的尺寸
图像的尺寸可以包括多个维度,当图像的维度为二维时,图像的尺寸包括高度和宽度;当图像的维度为三维时,图像的尺寸包括宽度、高度和深度。
应理解,图像的高度可以理解为该图像在高度方向上包括的像素的数量;图像的宽度可以理解为该图像在宽度方向上包括的像素的数量;图像的深度可以理解为该图像的通道数量。
在卷积神经网络模型中,图像的深度可以理解为图像包括的特征图(featuremaps)的数量,其中,该图像的任意一张特征图的宽度和高度都与该图像的其他特征图的宽度和高度相同。
也就是说,一张图像为三维的图像,可以理解为该三维的图像是由多张二维的特征图构成的,且该多张二维的特征图的尺寸相同。
应理解,一张图像包括M张特征图、该M张特征图中每张特征图的高度为H个像素,给每个特征图的宽度为W个像素,可以理解为该图像为三维的图像,且该三维的图像的尺寸为H×W×M,也就是说,该三维的图像包括M张H×W的二维的特征图。其中,H、W为大于1的整数,M为大于0的整数。
图2示出了一张5×5×3的图像,该图像包括3张特征图(例如红色(red,R)特征图、绿色(green,G)特征图和蓝色(blue,B)特征图,每张特征图的尺寸为5×5。
应理解,不同色彩的特征图可以理解为是图像的不同通道,卷积神经网络中可以把不同的通道看作为不同的特征图。
还应理解,图2中仅以深度为3的图像为例进行描述,图像的深度还可以为其它取值,例如,灰度图像的深度为1,RGB-深度(depth,D)图像的深度为4等,本申请实施例对此不作限定。
还应理解,图像(或特征图)的分辨率可以理解为该图像(或特征图)的宽度与高度的积,即若图像(或特征图)的高度为H个像素,该图像(或特征图)的宽度为W个像素,则该图像(或特征图)的分辨率为H×W。
3、卷积核
卷积核是一种滤波器,用于提取图像的特征图。卷积核的尺寸包括宽度、高度和深度,其中,卷积核的深度与输入图像的深度相同。对一张输入图像使用多少种不同的卷积核进行卷积操作,就可以提取多少张不同的特征图。
例如,采用一个5×5×3的卷积核对7×7×3的输入图像进行卷积操作,可以得到一个输出特征图,采用多个不同的5×5×3的卷积核对7×7×3的输入图像进行卷积操作,可以得到多个不同的输出特征图。
可选地,在卷积神经网络的卷积层中,可以通过设置不同大小的卷积核、不同权重值或以不同的卷积步长对同一张图像进行多次卷积,以尽可能多的抽取该图像的特征。
4、卷积步长
卷积步长(也可以称为滑动步长)是指卷积核在输入图像的特征图上滑动提取该输入图像的特征图的过程中,该卷积核在高度方向或宽度方向上执行两次卷积操作之间滑动的距离。
应理解,卷积步长可以决定输入图像的下采样倍率,例如,在宽度(或高度)方向上的卷积步长为B,可以使输入特征图在宽度(或高度)方向上实现B倍的下采样,B为大于1的整数。
5、卷积层(convolutional layer)
在卷积神经网络中可以包含一个或多个卷积层,卷积层主要起到作用是抽取特征的作用。卷积层通常包含多个卷积核,主要用于根据其包含的多个卷积核对输入图像进行卷积操作。
应理解,在使用一个K×K的卷积核对一张二维的输入图像进行卷积操作时,将卷积核在该图像上滑动时覆盖的K×K的图像块与卷积核做点乘,即图像块上每个点的灰度值与卷积核上相同位置的权重值相乘,共得到K×K个结果,累加后加上偏置,得到一个结果,输出为输出图像的单一像素,该像素在该输出图像上的坐标位置对应该图像块的中心在该输入图像上的坐标位置。
还应理解,在使用卷积核对输入的一张三维图像进行卷积操作时,该卷积核的维度也需为三维,且该卷积核的第三维度(深度)与该三维图像的第三维度(深度或特征图数量)相同。该三维图像与三维卷积核的卷积操作,可以转化为将三维图像和卷积核以深度(图像通道数或特征图数量)维度拆分为多张二维的特征图与卷积核进行二维卷积操作,最终在图像深度这一维度进行累加,最终获得一张二维图像输出。
还应理解,在卷积神经网络中,卷积层的输出图像通常也包括多张特征图,三维的卷积核对三维输入图像进行处理后得到一张二维输出特征图,而获得多张输出特征图需要多个三维卷积核,因此卷积核的维度比输入图像的维度大1,增加的维度的数值对应输出图像的深度,即输出图像包括的特征图的数量。
还应理解,卷积操作分为填充(padding)方式或非padding方式。padding方式可以理解为一种图像的预处理操作,padding方式包括相同填充(same padding)方式和有效填充(valid padding)方式。
应理解,本申请实施例中所述的padding方式,均指same padding方式,但本申请实施例不限于此。
还应理解,same padding方式是指对输入图像的宽度和高度都加上一个相同边界,并对加边界后的图像进行卷积操作,其中,该边界是指该输入图像的外边界。例如,输入图像的尺寸为5×5×2,采用same padding方式进行卷积操作时,该输入图像填充的高度边界为1个像素,该输入图像填充的宽度边界为1个像素,可以得到一个7×7×2的图像,再对该7×7×2的图像进行卷积操作。
应理解,在输入图像填充的宽度边界=(卷积核的宽度-1)/2、填充的高度边界=(卷积核的高度-1)/2,且卷积步长为1的情况下,该输入图像与卷积核进行卷积后,得到的输出图像与输入图像具有相同的宽度和高度。
可选地,一般来说,卷积核的尺寸为3×3时,输入图像填充的高度边界和宽度边界均为1个像素;卷积核的尺寸为5×5时,输入图像填充的高度边界和宽度边界均为2个像素;卷积核的尺寸为7×7时,输入图像填充的高度边界和宽度边界均为3个像素,但本申请实施例对此不作限定。
还应理解,本申请实施例采用same padding方式进行卷积操作时,仅以边界元素的取值全部为0作为示例性介绍,边界元素还可以取值还可以为其他值,本申请实施例对此不作限定。
还应理解,假设输入特征图的宽度(或高度)为W,卷积核的宽度(或高度)为F,卷积步长为S,采用same padding方式进行卷积操作,该输入特征图填充的宽度(或高度)边界为P,则得到的输出特征图的宽度(或高度)可以表示为:其中,W、F和S为大于0的整数,P为大于或等于0的整数,代表对·向下取整。
图3中示出了卷积层对输入图像进行卷积操作的过程,三维的输入图像的尺寸为5×5×3,该输入图像填充的高度边界和宽度边界均为1个像素,得到7×7×3的输入图像,卷积操作在宽度方向和高度方向上的卷积步长为2,卷积操作采用卷积核w0进行卷积,卷积核w0的尺寸为3×3×3,将该输入图像包括的3张输入特征图(输入特征图1、输入特征图2和输入特征图3)分别与卷积核的三层深度(卷积核w0-1、卷积核w0-2和卷积核w0-3)进行卷积,得到输出特征图1,该输出特征图1的尺寸为3×3×1。
具体地,w0的第一层深度(即w0-1)和输入特征图1中滑动窗口(这里的滑动窗口即输入特征图1中的黑色加粗方框,滑动窗口的起始位置可以为输入特征图的左上角位置)中对应位置的元素相乘再求和得到0,同理,卷积核w0的其他两个深度(即w0-2和w0-3)分别与输入特征图2和输入特征图3进行卷积操作,得到2和0,则图1中输出特征图1的第一个元素为0+2+0=2。经过卷积核w0的第一次卷积操作后,滑动窗口依次沿着每个输入特征图的宽度方向和高度方向上滑动,继续进行下一次卷积操作,其中,每次滑动的距离为2(即宽度和高度方向上的卷积步长均为2),直到完成对该输入图像的卷积操作,得到3×3×1的输出特征图1。
同理,若卷积操作还采用另1个卷积核w1对该输入图像进行卷积,基于与卷积核w0类似的过程,可以得到输出特征图2,该输出特征图2的尺寸为3×3×2。
可选地,还可以通过激活函数对该该输出特征图1和该输出特征图2进行激活,得到激活后的输出特征图1和激活后的输出特征图2。
还应理解,上文是以卷积操作的卷积步长=2为例进行说明的,但本申请实施例不限于此,卷积操作的卷积步长还可以为1,或也可以大于2。
图4为本申请实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器50。该芯片可以被设置在执行本申请实施例中的图像处理方法的设备中。
神经网络处理器NPU 50NPU作为协处理器挂载到主CPU(host CPU)上,由主CPU分配任务。NPU的核心部分为运算电路50,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器506用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器505(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
入口:可以根据实际发明说明这里的数据是说明数据,比如探测到车辆速度障碍物距离等
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
其中,本申请实施例中的卷积神经网络中各层的运算可以由运算电路503或向量计算单元507执行。
应理解,图4所示的芯片可以用于执行本申请实施例的图像处理方法的各个步骤。
在介绍完本申请实施例涉及的一些概念或术语之后,其次,需要指出的是,本申请实施例提供的图像处理方法是基于卷积神经网络进行的。具体地,卷积神经网络可以理解为一种特殊的深度神经网络,即卷积神经网络(CNN)是一种带有卷积结构的深度神经网络。本申请实施例中的卷积神经网络可以是预先训练好的,也可以是初始的未经过训练的。
应理解,本申请实施例提供的技术方案可以应用于各种需要对输入图像进行图像处理以得到相应地输出图像的场景,本申请实施例对此不作限定。
例如,本申请实施例提供的技术方案可以应用于计算机视觉等领域的各种场景,比如:人脸识别、图像分类、目标检测及语义分割等。进一步地,下面列举几种适用于本申请实施例的应用场景。应理解,下述应用场景仅为示例而非限定,本申请实施例提供的技术方案还可以应用于其他的基于卷积神经网络的应用场景,本申请对此并不限定。
场景一:终端侧物体检测
终端侧物体检测是一个目标检测问题。比如,当用户使用终端设备进行拍照时,卷积神经网络可以帮助终端设备(或者说摄像头)实现自动抓取人脸、动物等目标,还可以帮助终端设备实现自动对焦,或对拍摄对象进行美化等。
场景二:自动驾驶场景分割
自动驾驶场景分割是一个语义分割问题。自动驾驶车辆的摄像头捕捉到道路画面,需要对画面进行分割,以分割出路面、路基、车辆、行人等不同物体,从而保持车辆行驶在正确的区域。对于安全型要求极高的自动驾驶需要实时对画面进行理解,能够实时进行语义分割的卷积神经网络对自动驾驶至关重要。
场景三:入口闸机人脸验证
入口闸机人脸验证是一个图像相似度比对问题。在高铁、机场等入口的闸机上,乘客进行人脸认证时,摄像头会拍摄人脸图像,使用卷积神经网络抽取特征,和存储在系统中的身份证件的图像特征进行相似度计算,如果相似度高就验证成功。
场景四:翻译机同声传译
翻译机同声传译是一个语音识别和机器翻译问题。对于语音识别和机器翻译问题,卷积神经网络也是一种常见的识别模型。比如,在需要同声传译的场景,高效的卷积神经网络可以实现实时语音识别并进行翻译,可以给带来不错的用户体验。
本申请实施例提供的图像处理方法可以在服务器上被执行,也可以在云端被执行,还可以在终端设备上被执行。例如,如图5所示,本发明实施例的技术方案可以应用于终端设备,该终端设备可以为移动的或固定的,例如该终端设备可以是具有图像处理功能的移动电话、平板个人电脑(tablet personal computer,TPC)、媒体播放器、智能电视、笔记本电脑(laptop computer,LC)、个人数字助理(personal digital assistant,PDA)、个人计算机(personal computer,PC)、照相机、摄像机、智能手表、可穿戴式设备(wearabledevice,WD)或者自动驾驶的车辆等,本发明实施例对此不作限定。
上述各种场景中的高精度的卷积神经网络的参数量和计算量都很大,而终端设备的内存和计算资源都非常有限,导致具有高精度的卷积神经网络在终端设备上难以进行部署。
因此,本申请实施例提出了一种图像处理方法,通过尺寸较小的基础卷积核及指示所述多个基础卷积核组合成卷积神经网络中的卷积核的排列顺序的组合参数,就可以与现有技术中卷积神经网络保持相同数量的特征,此时,只需要保存尺寸更小的基础卷积核及其组合参数即可,因此,能够减少进行图像处理所使用的卷积神经网络模型的存储空间。
图6示出了本申请实施例提供的图像处理方法600的示意性流程图,该方法可以由图4中的终端设备执行。
S610,获取输入特征图。
当图6所示的方法由图5中的终端设备执行时,该输入特征图可以是终端设备通过摄像头拍摄到的图片,或者,该输入特征图还可以是从终端设备内部获得的图片(例如,终端设备的相册中存储的图片,或者终端设备从云端获取的图片),或者,该输入特征图也可以是卷积神经网络中的其他层处理后得到的特征图。应理解,这里所说的卷积神经网络中的其他层是指卷积神经网络中的一个层,例如,该其他层可以是卷积神经网络中的输入层、卷积层、池化层或全连接层中的一个。
S620,根据存储的多个基础卷积核和组合参数,对所述输入特征图进行卷积得到输出特征图。
可选地,所述组合参数用于指示所述多个基础卷积核组合成标准卷积核的排列顺序所述基础卷积核的尺寸小于所述标准卷积核的尺寸。
在本申请实施例中,所述多个基础卷积核和所述组合参数可以是预先设定好的。例如,所述多个基础卷积核中包含的参数和所述组合参数最初都是通过随机初始化得到的,随着训练的进行逐渐优化所述多个基础卷积核中包含的参数,所述组合参数也同步进行优化,优化后的模型中仅需要保存所述基础卷积核中包含的参数和所述组合参数即可。
应理解,这里的标准卷积核指标准尺寸的卷积核,即现有技术中卷积神经网络中的卷积核或本申请中由基础卷积核拼接成的标准卷积核,如图7所示,这里的基础卷积核指本申请中的基础卷积核。
需要说明的是,所述“拼接”可以是指多个基础卷积核在宽度方向上组成标准卷积核,例如,两个2×2的基础卷积核可以组成一个2×4的标准卷积核;或者,所述“拼接”也可以是指多个基础卷积核在高度方向上组成标准卷积核,例如,两个2×2的基础卷积核可以组成一个4×2的标准卷积核;或者,所述“拼接”也可以是指多个基础卷积核在深度方向上组成标准卷积核,例如,两个2×2的基础卷积核可以组成一个2×2×2的标准卷积核。
可选地,所述多个基础卷积核可以位于卷积神经网络的一个卷积层。
例如,如图7所示,假设现有技术中卷积神经网络中的一个卷积层包括5个卷积核,本申请中卷积神经网络中的一个卷积层可以包括4个基础卷积核,由这4个基础卷积核可以拼接成5个标准卷积核,其中,这5个标准卷积核的尺寸与现有技术中卷积神经网络中的卷积核的尺寸相同,基础卷积核的尺寸小于标准卷积核的尺寸。
为便于理解,后续将标准尺寸的卷积核(即现有技术中的卷积核或本申请中由基础卷积核拼接成的标准卷积核)统一称为标准卷积核,本申请实施例中提出的基础卷积核,其尺寸小于标准尺寸。
如图7所示,本申请实施例中可以通过这4个基础卷积核拼接成与现有技术中的卷积核的尺寸相同的5个标准卷积核。由此可见,在本申请实施例中,卷积神经网络的存储器只需要保存尺寸更小的基础卷积核及用于指示其组合成卷积神经网络中的卷积核的排列顺序的组合参数,就可以得到与现有技术中卷积神经网络具有相同甚至更多的参数,从而实现相同甚至更优的卷积操作。由此,本申请实施例能够减少进行图像处理所使用的卷积神经网络模型参数的存储空间。
同时,现有技术中同一个卷积层中的多个卷积核提取的特征可能会出现类似、或冗余的情况,也就是说,现有技术神经网络模型同一个卷积层中的多个卷积核可能会包括相似的或相同的片段(即卷积核中的部分),因此,本申请实施例中的方法还能保持与现有技术中原有模型相同的精度。
可选地,所述多个所述基础卷积核的尺寸可以相同。
可选地,当所述标准卷积核为多个时,所述标准卷积核中的每一个可以包括相同数量的基础卷积核,也就是说,所述多个标准卷积核的尺寸可以相同。
在本申请实施例中,所述根据存储的多个基础卷积核和组合参数,对所述输入特征图进行卷积得到输出特征图,可以包括以下两种可能的实现方式。
方式一:
根据存储的所述多个基础卷积核和所述组合参数,拼接成一个或多个标准卷积核;根据所述标准卷积核,对所述输入特征图进行卷积得到输出特征图。
也就是说,如图7所示,在本申请中可以先基于组合参数指示的排列顺序,将多个基础卷积核拼接成一个或多个标准卷积核;然后利用该标准卷积核,对输入特征图进行卷积,以得到输出特征图。
可选地,所述组合参数可以为矩阵,该矩阵可以指示所述基础卷积核的排列顺序。
例如,如图7所示,现有技术中卷积神经网络中的一个卷积层包括5个5×5×5的卷积核,本申请中卷积神经网络中的一个卷积层包括4个5×5×1的基础卷积核B,即B=[B1,B2,B3,B4],其中,B1,B2,B3,B4可以为5×5×1的矩阵(B1,B2,B3,B4即所述4个基础卷积核),组合参数M为4×5×5的矩阵,M中的元素可以用于指示基础卷积核的系数,M的每个列向量中可以只有一个元素为1,其余元素都为0,即M∈{0,1}4×5×5,由B和M可以拼接成与现有技术中卷积神经网络中的卷积核的尺寸相同的5个标准卷积核K,即K=[K1,K2,K3,K4,K5],其中,K1,K2,K3,K4,K5可以为5×5×5的矩阵。即:
可选地,通过神经网络模型的训练还可以学习得到一个系数矩阵C,C可以为5×5的矩阵,在B与M拼接的同时可以乘以该系数矩阵C。或者,C也可以为1×5的矩阵,拼接成的标准卷积核K可以乘以该系数矩阵C。
由此可见,本申请实施例中可以通过4个5×5×1的基础卷积核拼接成与现有技术中的卷积核的尺寸相同的5个5×5×5的标准卷积核(即,相当于25个5×5×1的基础卷积核),因此,可以在保持卷积神经网络中的特征数量不变的情况下,获得6.25倍(25/4=6.25)的压缩率,能够减少进行图像处理所使用的卷积神经网络模型的存储空间。
可选地,可以计算所述标准卷积核的梯度。
可选地,上述方法600中可以采用先拼接得到一个或多个标准卷积核,再利用该标准卷积核对所述输入特征图进行卷积处理的方式,此时,在反向传播过程中可以计算该标准卷积核的梯度,及计算组合参数的梯度。
例如,使用方式一的方法进行卷积处理时,可以先利用标准卷积核(即本申请中由所述多个基础卷积核拼接成的标准卷积核)对损失函数(由所述输出特征图计算得到)求梯度,得到中间梯度;然后利用所述多个基础卷积核,对所述中间梯度求梯度,公式如下:
可选地,可以对所述基础卷积核进行更新,公式如下:
其中,B′i为更新后的一个基础卷积核,η为学习率,i为整数,且i<=m。
可选地,可以计算所述组合参数的梯度,公式如下:
其中,M为所述组合参数,N为M的代理变量,M=MAX(N)。
类似地,可以对代理变量N进行更新,公式如下:
其中,N′为更新后的代理变量,η为学习率。
上述计算梯度的具体过程可以参照现有技术,这里不再赘述。
方式二:
根据所述多个基础卷积核,对所述输入特征图进行卷积得到多个输出子特征图;根据所述多个输出子特征图和所述组合参数,拼接成一个或多个输出特征图。
也就是说,在本申请中可以先利用所述多个基础卷积核,对所述输入特征图进行卷积得到多个输出子特征图;然后根据所述组合参数指示的排列顺序,将所述多个输出子特征图,拼接成一个或多个输出特征图。
应理解,这里的输出特征图指输入特征图与标准尺寸的卷积核进行卷积处理后得到的特征图,该输出特征图的尺寸大于输出子特征图的尺寸。
在一种可能的实现方式中,如图8所示,可以将所述输入特征图切分成多个输入子特征图,利用所述多个基础卷积核对所述多个输入子特征图进行卷积,得到多个输出子特征图;然后根据所述组合参数指示的排列顺序,将所述多个输出子特征图,拼接成一个或多个标准尺寸的卷积核。
其中,所述多个输入子特征图的尺寸可以与所述多个基础卷积核的尺寸相同。例如,所述基础卷积核的尺寸为5×5×1,则所述输入特征图切分成的每个输入子特征图的尺寸也可以为5×5×1。
在另一种可能的实现方式中,也可以不切分所述输入特征图,而在所述输入特征图中依次取出一个或多个输入子特征图。
例如,所述基础卷积核的尺寸为5×5×1,则可以依次从所述输入特征图中取出一个或多个尺寸为5×5×1的输入子特征图。
特别地,当所述基础卷积核的数量小于卷积神经网络中的标准尺寸的卷积核的数量时,上述方式二的方法还可以有效减少卷积处理的运算量。
例如,假设输入特征图的深度为5,本申请实施例中包括4个5×5×1的基础卷积核,并可以利用该4个5×5×1的基础卷积核拼接成与5个5×5×5的标准尺寸的卷积核。若采用方式一或现有技术中的方法,则该5个5×5×5的标准尺寸的卷积核都需要与输入特征图进行卷积处理,即相当于利用5×5×1的卷积核进行25次卷积运算;而利用方式二中的方法,则最多只需要利用所述4个5×5×1的基础卷积核与输入特征图深度方向的5个输入子特征图进行卷积处理,如图7所示,即最多只需要利用5×5×1的卷积核进行20次卷积运算。
可以看出,方式二的运算量是方式一(或现有技术)中的运算量的80%(20/25=0.8),可以有效减少卷积处理的运算量。
可选地,可以计算所述多个基础卷积核的梯度。
可选地,上述方法600中可以采用先利用多个基础卷积核对所述输入特征图进行卷积得到多个输出子特征图,再利用组合参数将该输出子特征图拼接成一个或多个输出特征图的方式,此时,在反向传播过程中可以计算该多个基础卷积核的梯度,及计算组合参数的梯度。
可选地,可以对所述基础卷积核进行更新,公式如下:
其中,B′i为更新后的一个基础卷积核,η为学习率,i为整数,且i<=m。
可选地,可以计算所述组合参数的梯度,公式如下:
其中,M为所述组合参数,N为M的代理变量,M=MAX(N)。
类似地,可以对代理变量N进行更新,公式如下:
其中,N′为更新后的代理变量,η为学习率。
上述计算梯度的具体过程可以参照现有技术,这里不再赘述。
S630,基于所述输出特征图进行图像处理,得到处理结果。
可选地,上述图像处理可以指人脸识别、图像分类、目标检测及语义分割等,本申请对此并不限定。
应理解,本申请对方法600中各步骤的执行顺序和方式不作限定。
图9示出了本申请实施例提供的图像处理方法900的示意性流程图,该方法可以由图4中的终端设备执行。
S910,获取输入特征图。
当所述方法900由图5中的终端设备执行时,该输入特征图可以是终端设备通过摄像头拍摄到的图片,或者,该输入特征图还可以是从终端设备内部获得的图片,或者,该输入特征图也可以是卷积神经网络中的其他层处理后得到的特征图。。
S920,确定基础卷积核和组合参数。
可选地,当所述方法900由终端设备执行时,该基础卷积核和组合参数可以是从终端设备的内部存储单元获取的。
或者,该基础卷积核和组合参数也可以是通过初始化得到的。
S930,确定卷积处理的方式。
其中,卷积处理的方式可以包括图6中所述的方式一和方式二。
可选地,可以分别预估两种方式可能产生的运算量,并选择运算量小的方式进行卷积处理。
例如,可以分别计算方式一及方式二进行的矩阵运算的次数,若方式一的运算量小,则使用方式一进行卷积处理,执行S940;否则使用方式二进行卷积处理,执行S950
再例如,可以判断基础卷积核的数量是否小于卷积神经网络中标准尺寸的卷积核,当所述基础卷积核的数量小于卷积神经网络中标准尺寸的卷积核时,使用方式二进行卷积处理,执行S950;否则可以使用方式一进行卷积处理,执行S940,或者,也可以使用方式二进行卷积处理,执行S950。
S940,使用方式一对输入特征图进行卷积处理。
可选地,可以先基于组合参数指示的排列顺序,将多个基础卷积核拼接成一个或多个标准卷积核;然后利用该标准卷积核,对输入特征图进行卷积,以得到输出特征图。
具体可以参照图6方法600中的所述方式一,这里不再赘述。
S940,使用方式二对输入特征图进行卷积处理。
可选地,可以先利用所述多个基础卷积核,对所述输入特征图进行卷积得到多个输出子特征图;然后根据所述组合参数指示的排列顺序,将所述多个输出子特征图,拼接成一个或多个标准尺寸的卷积核。
具体可以参照图6中的所述方式二,这里不再赘述。
S960,得到输出特征图。
S970,确定输出特征图是否收敛。
可选地,可以通过损失函数计算输出特征图与期望输出值的差异,并判断该差异是否小于或等于预设值。若该差异大于预设值,则执行S980;否则,结束。
S980,计算基础卷积核的梯度和组合参数的梯度。
可选地,可以按照图6方法600中的方法计算基础卷积核的梯度和组合参数的梯度,并更新基础卷积核和组合参数,然后可以执行S920。
应理解,本申请对方法900中各步骤的执行顺序和方式不作限定。
图10是本申请一个实施例的图像处理装置的示意性框图。应理解,图10示出的图像处理装置1000仅是示例,本申请实施例的装置还可包括其他模块或单元。
装置1000可以包括获取模块1010、卷积模块1020、图像处理模块1030、计算模块1040、和切分模块1050。其中,装置1000包括的各个模块可以通过软件和/或硬件方式实现。
例如,获取模块1010可以是接收器,卷积模块1020、图像处理模块1030、计算模块1040、和切分模块1050可以是处理器。
又如,获取模块1010可以是通信接口、卷积模块1020、图像处理模块1030、计算模块1040和切分模块1050可以是处理器。这种情况下,该装置1000可以是芯片。
再如,获取模块1010、卷积模块1020、图像处理模块1030、计算模块1040和切分模块1050可以是处理器。这种情况下,该装置1000也可以是芯片。
可选地,卷积模块1020、图像处理模块1030、计算模块1040、和切分模块1050可以是同一模块。
可选地,装置1000还可以包括存储器,用于存储处理器执行的程序代码,甚至可以用于存储数据。
装置1000可以用于执行图6或图9中任意一个所描述的方法中的步骤。
例如:
获取模块1010,用于获取输入特征图;
卷积模块1020,用于根据存储的多个基础卷积核和组合参数,对所述输入特征图进行卷积得到输出特征图,其中,所述组合参数用于指示所述多个基础卷积核组合成标准卷积核的排列顺序,所述基础卷积核的尺寸小于所述标准卷积核的尺寸;
图像处理模块1030,用于基于所述输出特征图进行图像处理,得到处理结果。
在一种可能的实现方式中,所述卷积模块1020具体用于:
根据存储的所述多个基础卷积核和所述组合参数,拼接成一个或多个标准卷积核;根据所述标准卷积核,对所述输入特征图进行卷积得到输出特征图。
在一种可能的实现方式中,所述装置1000还包括计算模块1040,用于:计算所述卷积核的梯度和计算所述组合参数的梯度。
在一种可能的实现方式中,所述卷积模块1020具体用于:
根据所述多个基础卷积核,对所述输入特征图进行卷积得到多个输出子特征图;根据所述多个输出子特征图和所述组合参数,拼接成一个或多个输出特征图。
在一种可能的实现方式中,所述装置1000还包括切分模块1050,用于:
将所述输入特征图切分成多个输入子特征图;
所述卷积模块1020具体用于:
根据所述多个基础卷积核,对所述多个输入子特征图进行卷积得到所述多个输出子特征图。
在一种可能的实现方式中,所述计算模块1040还用于:
计算所述多个基础卷积核的梯度和计算所述组合参数的梯度。
在一种可能的实现方式中,多个所述基础卷积核的尺寸相同。
在一种可能的实现方式中,当所述标准卷积核为多个时,所述标准卷积核中的每一个包括相同数量的基础卷积核。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种图像处理方法,其特征在于,包括:
获取输入特征图;
根据存储的多个基础卷积核和组合参数,对所述输入特征图进行卷积得到输出特征图,其中,所述组合参数用于指示所述多个基础卷积核组合成标准卷积核的排列顺序,所述基础卷积核的尺寸小于所述标准卷积核的尺寸;
基于所述输出特征图进行图像处理,得到处理结果;
所述根据存储的多个基础卷积核和组合参数,对所述输入特征图进行卷积得到输出特征图,包括:
根据存储的所述多个基础卷积核和所述组合参数,拼接成一个或多个标准卷积核;根据所述标准卷积核,对所述输入特征图进行卷积得到输出特征图;
或者
根据所述多个基础卷积核,对所述输入特征图进行卷积得到多个输出子特征图;根据所述多个输出子特征图和所述组合参数,拼接成一个或多个输出特征图。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述输入特征图切分成多个输入子特征图;
所述根据所述多个基础卷积核,对所述输入特征图进行卷积得到多个输出子特征图,包括:
根据所述多个基础卷积核,对所述多个输入子特征图进行卷积得到所述多个输出子特征图。
3.根据权利要求1或2所述的方法,其特征在于,多个所述基础卷积核的尺寸相同。
4.一种图像处理装置,其特征在于,包括:
获取模块,用于获取输入特征图;
卷积模块,用于根据存储的多个基础卷积核和组合参数,对所述输入特征图进行卷积得到输出特征图,其中,所述组合参数用于指示所述多个基础卷积核组合成标准卷积核的排列顺序,所述基础卷积核的尺寸小于所述标准卷积核的尺寸;
图像处理模块,用于基于所述输出特征图进行图像处理,得到处理结果;
所述卷积模块具体用于:
根据存储的所述多个基础卷积核和所述组合参数,拼接成一个或多个标准卷积核;根据所述标准卷积核,对所述输入特征图进行卷积得到输出特征图;或者
根据所述多个基础卷积核,对所述输入特征图进行卷积得到多个输出子特征图;根据所述多个输出子特征图和所述组合参数,拼接成一个或多个输出特征图。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括切分模块,用于:
将所述输入特征图切分成多个输入子特征图;
所述卷积模块具体用于:
根据所述多个基础卷积核,对所述多个输入子特征图进行卷积得到所述多个输出子特征图。
6.根据权利要求4或5所述的装置,其特征在于,多个所述基础卷积核的尺寸相同。
7.一种图像处理装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至3中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,当所述程序指令由处理器运行时,实现权利要求1至3中任一项所述的方法。
9.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910336216.8A CN110473137B (zh) | 2019-04-24 | 2019-04-24 | 图像处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910336216.8A CN110473137B (zh) | 2019-04-24 | 2019-04-24 | 图像处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110473137A CN110473137A (zh) | 2019-11-19 |
CN110473137B true CN110473137B (zh) | 2021-09-14 |
Family
ID=68507345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910336216.8A Active CN110473137B (zh) | 2019-04-24 | 2019-04-24 | 图像处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110473137B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111311599B (zh) * | 2020-01-17 | 2024-03-26 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备和存储介质 |
CN113222136A (zh) * | 2020-01-21 | 2021-08-06 | 北京希姆计算科技有限公司 | 卷积运算方法及芯片 |
CN113222125A (zh) * | 2020-01-21 | 2021-08-06 | 北京希姆计算科技有限公司 | 卷积运算方法及芯片 |
CN111260037B (zh) * | 2020-02-11 | 2023-10-13 | 深圳云天励飞技术股份有限公司 | 图像数据的卷积运算方法、装置、电子设备及存储介质 |
CN113919405B (zh) * | 2020-07-07 | 2024-01-19 | 华为技术有限公司 | 数据处理方法、装置与相关设备 |
CN111833360B (zh) * | 2020-07-14 | 2024-03-26 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置、设备以及计算机可读存储介质 |
CN112149694B (zh) * | 2020-08-28 | 2024-04-05 | 特斯联科技集团有限公司 | 一种基于卷积神经网络池化模块的图像处理方法、系统、存储介质及终端 |
CN112085167A (zh) * | 2020-09-11 | 2020-12-15 | 中国航空工业集团公司雷华电子技术研究所 | 一种卷积处理方法、装置及多核dsp平台、可读存储介质 |
CN112308837A (zh) * | 2020-10-30 | 2021-02-02 | 京东方科技集团股份有限公司 | 一种图像处理方法及装置、电子设备和可读存储介质 |
CN112488126A (zh) * | 2020-11-30 | 2021-03-12 | 北京百度网讯科技有限公司 | 特征图处理方法、装置、设备以及存储介质 |
CN112465932A (zh) * | 2020-12-10 | 2021-03-09 | 上海眼控科技股份有限公司 | 一种图像填充方法、装置、设备及存储介质 |
CN112651931B (zh) * | 2020-12-15 | 2024-04-26 | 浙江大华技术股份有限公司 | 建筑物变形监测方法、装置和计算机设备 |
CN113449852B (zh) * | 2021-08-05 | 2023-02-03 | 安谋科技(中国)有限公司 | 卷积神经网络的计算方法、片上系统和电子设备 |
CN113642589B (zh) * | 2021-08-11 | 2023-06-06 | 南方科技大学 | 图像特征提取方法及装置、计算机设备和可读存储介质 |
CN117853740A (zh) * | 2022-09-29 | 2024-04-09 | 中国电信股份有限公司 | 特征图处理方法及装置、计算机可读存储介质 |
CN117151968B (zh) * | 2023-10-25 | 2024-02-27 | 南京芯驰半导体科技有限公司 | 车辆的图像处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156781A (zh) * | 2016-07-12 | 2016-11-23 | 北京航空航天大学 | 排序卷积神经网络构建方法及其图像处理方法与装置 |
CN108537152A (zh) * | 2018-03-27 | 2018-09-14 | 百度在线网络技术(北京)有限公司 | 用于检测活体的方法和装置 |
CN108765247A (zh) * | 2018-05-15 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、存储介质及设备 |
CN108898086A (zh) * | 2018-06-20 | 2018-11-27 | 腾讯科技(深圳)有限公司 | 视频图像处理方法及装置、计算机可读介质和电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389596B (zh) * | 2015-12-21 | 2018-05-29 | 长沙网动网络科技有限公司 | 卷积神经网络适用于识别多种尺寸图片的方法 |
CN107657581B (zh) * | 2017-09-28 | 2020-12-22 | 中国人民解放军国防科技大学 | 一种卷积神经网络cnn硬件加速器及加速方法 |
CN108259997B (zh) * | 2018-04-02 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 图像相关处理方法及装置、智能终端、服务器、存储介质 |
-
2019
- 2019-04-24 CN CN201910336216.8A patent/CN110473137B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156781A (zh) * | 2016-07-12 | 2016-11-23 | 北京航空航天大学 | 排序卷积神经网络构建方法及其图像处理方法与装置 |
CN108537152A (zh) * | 2018-03-27 | 2018-09-14 | 百度在线网络技术(北京)有限公司 | 用于检测活体的方法和装置 |
CN108765247A (zh) * | 2018-05-15 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、存储介质及设备 |
CN108898086A (zh) * | 2018-06-20 | 2018-11-27 | 腾讯科技(深圳)有限公司 | 视频图像处理方法及装置、计算机可读介质和电子设备 |
Non-Patent Citations (2)
Title |
---|
Zheng Qin等.Merging and Evolution: Improving Convolutional Neural Networks for Mobile Applications.《Computer Science》.2018, * |
陈天华等.采用改进DeepLab网络的遥感图像分割.《测控技术》.2018,第37卷(第11期), * |
Also Published As
Publication number | Publication date |
---|---|
CN110473137A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110473137B (zh) | 图像处理方法和装置 | |
WO2020177651A1 (zh) | 图像分割方法和图像处理装置 | |
CN110188795B (zh) | 图像分类方法、数据处理方法和装置 | |
CN111311629B (zh) | 图像处理方法、图像处理装置及设备 | |
CN110532871B (zh) | 图像处理的方法和装置 | |
CN112236779A (zh) | 基于卷积神经网络的图像处理方法和图像处理装置 | |
WO2016054779A1 (en) | Spatial pyramid pooling networks for image processing | |
US20210398252A1 (en) | Image denoising method and apparatus | |
CN111402130B (zh) | 数据处理方法和数据处理装置 | |
US20180182083A1 (en) | Convolutional neural network for wide-angle camera images | |
US20230177641A1 (en) | Neural network training method, image processing method, and apparatus | |
CN109996023B (zh) | 图像处理方法和装置 | |
CN112446834A (zh) | 图像增强方法和装置 | |
CN110163188B (zh) | 视频处理以及在视频中嵌入目标对象的方法、装置和设备 | |
CN113066017B (zh) | 一种图像增强方法、模型训练方法及设备 | |
US20220157046A1 (en) | Image Classification Method And Apparatus | |
CN111340077B (zh) | 基于注意力机制的视差图获取方法和装置 | |
CN111797882A (zh) | 图像分类方法及装置 | |
CN111028158A (zh) | 电子系统、非暂时性计算机可读记录媒体及计算装置 | |
CN112287954A (zh) | 图像分类方法、图像分类模型的训练方法及其装置 | |
CN112529904A (zh) | 图像语义分割方法、装置、计算机可读存储介质和芯片 | |
CN111695673A (zh) | 训练神经网络预测器的方法、图像处理方法及装置 | |
CN111950700A (zh) | 一种神经网络的优化方法及相关设备 | |
KR101592087B1 (ko) | 배경 영상의 위치를 이용한 관심맵 생성 방법 및 이를 기록한 기록 매체 | |
CN115689947A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |