CN116152037A - 图像反卷积方法和设备、存储介质 - Google Patents

图像反卷积方法和设备、存储介质 Download PDF

Info

Publication number
CN116152037A
CN116152037A CN202211556038.8A CN202211556038A CN116152037A CN 116152037 A CN116152037 A CN 116152037A CN 202211556038 A CN202211556038 A CN 202211556038A CN 116152037 A CN116152037 A CN 116152037A
Authority
CN
China
Prior art keywords
elements
intermediate data
deconvolution
output
image
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
Application number
CN202211556038.8A
Other languages
English (en)
Inventor
徐兵
张楠赓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sisheng Technology Co ltd
Original Assignee
Canaan Bright Sight Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canaan Bright Sight Co Ltd filed Critical Canaan Bright Sight Co Ltd
Priority to CN202211556038.8A priority Critical patent/CN116152037A/zh
Publication of CN116152037A publication Critical patent/CN116152037A/zh
Priority to PCT/CN2023/120984 priority patent/WO2024119976A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本公开提供了一种图像反卷积方法,包括:获取反卷积输入图像;所述反卷积输入图像包括多个元素;基于所述多个元素和卷积核确定多组中间数据;根据所述多组中间数据确定反卷积输出图像的特征值。本公开无需对反卷积输入图像进行补零,从而运算单元也不用对零元素进行相应的无效运算,减少了反卷积的运算量和复杂程度,提高了效率。

Description

图像反卷积方法和设备、存储介质
技术领域
本公开涉及卷积运算技术领域,特别涉及图像反卷积方法和设备、存储介质。
背景技术
在卷积神经网络(CNN)等类型的神经网络中,需进行大量的卷积(Convolution)运算,而中央处理器(CPU)等通用器件进行卷积运算的效率很低,故可设置特定结构的、专用于神经网络的神经网络计算单元(NPU),使神经网络中的各种算子均可在神经网络计算单元中高效的运算。
但现有的神经网络计算单元等器件,无法实现对反卷积(Deconvolution)的高效计算。
发明内容
本公开提供一种图像反卷积方法和设备、存储介质,可实现对反卷积的高效计算。
第一方面,本公开实施例提供一种图像反卷积方法,其包括:
获取反卷积输入图像;所述反卷积输入图像包括多个元素;
基于所述多个元素和卷积核确定多组中间数据;
根据所述多组中间数据确定反卷积输出图像的特征值。
在一些实施例中,所述基于所述多个元素和卷积核确定多组中间数据,包括:
基于所述多个元素和卷积核确定对应于所述多个元素的多组中间数据。
在一些实施例中,所述基于所述多个元素和卷积核确定对应于所述多个元素的多组中间数据,包括:
将所述多个元素分别与卷积核相乘得到对应于所述多个元素的多组中间数据。
在一些实施例中,所述将所述多个元素分别与卷积核相乘得到对应于所述多个元素的多组中间数据,包括:
所述多个元素分别与卷积核中的权重值相乘,得到对应于所述多个元素的多组中间数据;其中,所述多组中间数据中的每一组所包含中间数据的数量与所述卷积核中权重值的数量相同。
在一些实施例中,所述根据所述多组中间数据确定反卷积输出图像的特征值,包括:
至少根据所述多组中间数据确定所述反卷积输出图像的多个输出元素分别对应的中间数据;
根据所述多个输出元素分别对应的中间数据,确定所述反卷积输出图像的特征值。
在一些实施例中,所述至少根据所述多组中间数据确定所述反卷积输出图像的多个输出元素分别对应的中间数据,包括:
根据所述多组中间数据和所述反卷积输出图像的目标尺寸,确定所述反卷积输出图像的多个输出元素分别对应的中间数据。
在一些实施例中,所述根据所述多组中间数据和所述反卷积输出图像的目标尺寸,确定所述反卷积输出图像的多个输出元素分别对应的中间数据,包括:
根据所述多组中间数据确定相应的多个中间矩阵;
根据所述多个中间矩阵确定符合所述反卷积输出图像的目标尺寸的输出矩阵,所述输出矩阵中的多个元素对应于所述多个输出元素;
根据所述输出矩阵中的每个元素所对应的中间数据确定所述多个输出元素分别对应的中间数据。
在一些实施例中,所述根据所述多组中间数据确定相应的多个中间矩阵,包括:
采用所述多个中间矩阵组合得到符合所述反卷积输出图像的目标尺寸的输出矩阵,所述多个中间矩阵组合时,至少部分中间矩阵的元素之间存在重叠。
在一些实施例中,所述多个输出元素中的每个输出元素对应于至少一个中间数据;
所述根据所述多个输出元素分别对应的中间数据,确定所述反卷积输出图像的特征值,包括:根据每个所述输出元素对应的至少一个中间数据之和,确定所述反卷积输出图像的特征值。
在一些实施例中,所述卷积核的权重值存储于至少一个运算单元,用于实现所述多个元素分别与所述卷积核中的权重值相乘。
在一些实施例中,每个所述运算单元中存储有多个所述权重值。
在一些实施例中,每个所述运算单元中存储的多个所述权重值为一个卷积核中一个通道的多个权重值。
在一些实施例中,每个所述运算单元中存储的多个所述权重值为一个卷积核中一个通道的一行多个权重值。
在一些实施例中,任意所述权重值仅存储在一个所述运算单元中。
在一些实施例中,所述运算单元的个数为多个,多个所述运算单元排成矩阵。
在一些实施例中,所述卷积核个数为多个;
同列的所述运算单元中存储的所述权重值属于同一卷积核。
第二方面,本公开实施例提供一种图像反卷积设备,其中,包括:
一个或多个处理器;
存储器,其上存储有一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,能实现本公开实施例的任意一项的图像反卷积方法。
第三方面,本公开实施例提供一种存储介质,其上存储有一个或多个计算机程序,当所述一个或多个计算机程序被执行时,能实现本公开实施例的任意一项的图像反卷积方法。
本公开实施例中,不对反卷积输入图像进行补零,从而运算单元也不用对零元素进行相应的无效运算,减少了反卷积的运算量和复杂程度,提高了效率;同时,运算单元不是直接对其乘运算的结果(中间数据)进行累加,而是以反卷积输出图像的每个元素对应的所有中间数据的和为该元素的输出特征值,从而可在不补零的情况下实现正确的反卷积运算。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与详细实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细实施例进行描述,以上和其它特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为一些相关技术中在反卷积中进行补零的操作示意图;
图2为另一些相关技术中在反卷积中进行补零的操作示意图;
图3为运算单元的矩阵的示意图;
图4为一些相关技术中卷积操作等价的矩阵乘法的示意图;
图5为一些相关技术中进行卷积运算的过程示意图;
图6为本公开实施例提供的一种图像反卷积方法的流程图;
图7为本公开实施例提供的一种图像反卷积方法中产生的中间数据与反卷积输出图像的元素的对应关系示意图;
图8为一些相关技术中的神经网络计算单元的组成框图;
图9为本公开实施例提供的一种图像反卷积方法中一个运算单元产生中间数据的过程的示意图;
图10为本公开实施例提供的另一种图像反卷积方法中一个运算单元的组成框图;
图11为本公开实施例提供的一种图像反卷积方法中一个运算单元产生中间数据的过程的示意图;
图12为本公开实施例提供的一种反卷积运算的装置的组成框图;
图13为一些相关技术中对一个反卷积输入图像进行反卷积的过程示意图;
图14为根据本公开实施例提供的一种图像反卷积方法对图13中的反卷积输入图像进行反卷积的过程示意图;
图15为本公开实施例提供的一种图像反卷积设备的组成框图;
图16为本公开实施例提供的一种存储介质组成框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的图像反卷积方法和设备、存储介质进行详细描述。
在下文中将参考附图更充分地描述本公开,但是所示的实施例可以以不同形式来体现,且不应当被解释为限于本公开阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
本公开可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
本公开所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本公开所使用的术语“和/或”包括一个或多个相关列举条目的任何和所有组合。如本公开所使用的单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。如本公开所使用的术语“包括”、“由……制成”,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本公开所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本公开明确如此限定。
本公开不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不是旨在限制性的。
卷积(Convolution)可用于对输入图像(其具有多个元素,该元素可以为图像的像素,每个元素具有一定的特征值)进行特征提取、风格转换等。
卷积需预先设置卷积核(Kernel),卷积核的每个通道(Channel,也称输入通道)为一个二维矩阵,二维矩阵的每个元素有预设的权重值。而卷积操作中,卷积核以预设的步长(Stride)在输入图像上滑动,每次滑动后卷积核的各元素会与输入图像的部分元素重合,且相互重合的元素和元素分别对应的权重值与输入特征值相乘并累加,作为输出图像中相应元素的输出特征值。由此,卷积通常会导致输出图像的尺寸相对输入图像的尺寸减小,故卷积是一种“下采样”操作。
而反卷积(Deconvolution)可起到将图像尺寸“还原”的作用,故其近似于卷积的逆运算(但不是严格逆运算),故反卷积是一种“上采样”操作。
其中,实现反卷积的具体方式也是多样的。
例如,作为一种实现方式,反卷积也称旋转卷积(Transposed Convolution),其先对反卷积输入图像(即之前卷积的输出图像)进行补零(Padding)操作,即,在反卷积输入图像中插入大量的零元素(即特征值为零的元素),再将卷积核(不一定与卷积用的卷积核相同)旋转180度,并用旋转后的卷积核对补零后的反卷积输入图像进行常规卷积,得到反卷积输出图像,从而一定程度上“还原”得到卷积的反卷积输入图像。
其中,反卷积中插入的零元素的个数、位置等,可根据卷积核尺寸、步长、设定的补零方式、反卷积输入图像尺寸、所需的反卷积输出图像尺寸等确定。例如,对两个不同的反卷积输入图像,两种不同的补零方式可分别参照图1和图2。
再如,作为另一种实现方式,也可以是将反卷积输入图像的各行摊平(flatten)形成为一个“列向量”,列向量的行数等于反卷积输入图像的元素数。
并且,构造一个“卷积矩阵”,该卷积矩阵的列数等于列向量的行数,而卷积矩阵的行数等于反卷积输出图像中的元素数;其中,卷积矩阵的每行包括卷积核的全部元素,而由于卷积矩阵每行的元素数(反卷积输入图像的元素数)必然大于卷积核的元素数,故卷积矩阵的每行中的其它元素置为零。
之后,将卷积矩阵与列向量相乘,可得到一个列向量,该列向量的每个元素对应反卷积输出图像的一个元素。
由此可见,反卷积的本质相当于在卷积核和/或反卷积输入图像中补入部分0,之后将卷积核的权重值与反卷积输入图像的特征值(均包括补入的0)相乘,再将部分特定的乘积相加,作为反卷积输出图像的元素的输出特征值。
其中,由于反卷积本质是“上采样”,故其中必须要通过一定的方式引入额外信息(即补零),而其中引入额外信息的方式可根据需要设定的(即补零的方式根据需要设定),是多样的,而并非只有一种“正确”方式;只要保证补零后,对设定的卷积核,按照设定的步长,可得到所需尺寸的反卷积输出图像就是可行的。
在一些实施例中,为高效的进行卷积运算,可参照图3,设置运算单元(PE)的矩阵,其中每个运算单元具有一定的计算能力,而多个运算单元排成矩阵,即同行、同列的运算单元间相互连接,且同列的运算单元的数据可进行累加(Sum),而同行的运算单元可同时获取输入数据(如输入特征值)。
当然,应当理解,以上运算单元的行、列只是运算单元排布的两个相对方向,并不代表行必然为水平方向,列必然为竖直方向。
例如,每个运算单元可为一个乘加器(MAC,Multiply Accumulate),且其中存储有卷积核的权重值,从而可将元素的输入特征值输入运算单元,与运算单元中的权重值相乘,并将对应一个卷积核在一个位置的相乘结果累加,得到反卷积输出图像中相应元素的输出特征值。
例如,参照图4,卷积操作相当于D矩阵和W矩阵的乘法(D*W)。其中D矩阵代表输入图像的数据,其每行为卷积核在一个位置对应的所有元素的输入特征值(Patch),故D矩阵的列数等于一个卷积核中的元素数,行数等于一个卷积核的移动次数(也就是输出图像中的元素个数)。而W矩阵代表卷积核的数据,其每列为一个卷积核中的全部权重值(Kernel),故W矩阵的行数等于一个卷积核中的元素数,列数等于卷积核个数(也就是输出通道个数)。
例如,若输入图像每个通道的尺寸为H*M,通道数为C,卷积核的每个通道的尺寸为R*S,通道数也为C,步长为k,则可确定一个卷积核中的元素数为R*S*C,卷积核个数为K,而一个卷积核的移动次数(也就是输出图像中的元素个数)为E*F。其中,E、F分别为卷积核在一行、一列上的移动次数,且E=floor((H-R)/k)+1,F=floor((M-S)/k)+1,floor表示向下取整。其中,以上H、M、C、R、S、k、K均是根据需要人为设定的。
在一些实施例中,为实现以上矩阵乘法,可参照图5,每个运算单元中可存储有一个权重值,而一列运算单元中分别存储的是以上W矩阵的一列的权重值,故以上D矩阵的一行输入特征值应被转变为一列,且在相邻列相差一个时间步的情况下输入对应W矩阵的一列的运算单元,从而每个运算单元将收到的输入特征值与其中存储的权重值相乘,且同列运算单元将对应D矩阵的一行的乘结果累加(Sum),即得到反卷积输出图像的一个元素的输出特征值。
本公开实施例中,d(i,j,k)表示反卷积输入图像第i通道、第j行、第k列的元素的输入特征值,w(i,j,k,l)表示第i个卷积核、第j通道、第k行、第l列的元素的权重值。
可见,以上相关技术能实现卷积运算,但当其用于反卷积时,需要对大量的零元素的输入特征值进行相应的乘加运算,而零元素的输入特征值为零,其乘加运算无实际意义,这导致以上方法复杂、运算量大、内存消耗大、效率低。
第一方面,本公开实施例提供一种图像反卷积方法。
参照图6,本公开实施例的方法包括:
S101、获取反卷积输入图像。
其中,反卷积输入图像包括多个元素。
S102、基于多个元素和卷积核确定多组中间数据。
S103、根据多组中间数据确定反卷积输出图像的特征值。
在一些实施例中,基于多个元素和卷积核确定多组中间数据,包括:
基于多个元素和卷积核确定对应于多个元素的多组中间数据。
在一些实施例中,基于多个元素和卷积核确定对应于多个元素的多组中间数据,包括:
将多个元素分别与卷积核相乘得到对应于多个元素的多组中间数据。
在一些实施例中,将多个元素分别与卷积核相乘得到对应于多个元素的多组中间数据,包括:
多个元素分别与卷积核中的权重值相乘,得到对应于多个元素的多组中间数据;其中,多组中间数据中的每一组所包含中间数据的数量与卷积核中权重值的数量相同。
在一些实施例中,根据多组中间数据确定反卷积输出图像的特征值,包括:
至少根据多组中间数据确定反卷积输出图像的多个输出元素分别对应的中间数据;
根据多个输出元素分别对应的中间数据,确定反卷积输出图像的特征值。
在一些实施例中,至少根据多组中间数据确定反卷积输出图像的多个输出元素分别对应的中间数据,包括:
根据多组中间数据和反卷积输出图像的目标尺寸,确定反卷积输出图像的多个输出元素分别对应的中间数据。
在一些实施例中,根据多组中间数据和反卷积输出图像的目标尺寸,确定反卷积输出图像的多个输出元素分别对应的中间数据,包括:
根据多组中间数据确定相应的多个中间矩阵;
根据多个中间矩阵确定符合反卷积输出图像的目标尺寸的输出矩阵,输出矩阵中的多个元素对应于多个输出元素;
根据输出矩阵中的每个元素所对应的中间数据确定多个输出元素分别对应的中间数据。
在一些实施例中,根据多组中间数据确定相应的多个中间矩阵,包括:
采用多个中间矩阵组合得到符合反卷积输出图像的目标尺寸的输出矩阵,多个中间矩阵组合时,至少部分中间矩阵的元素之间存在重叠。
在一些实施例中,多个输出元素中的每个输出元素对应于至少一个中间数据;
根据多个输出元素分别对应的中间数据,确定反卷积输出图像的特征值,包括:根据每个输出元素对应的至少一个中间数据之和,确定反卷积输出图像的特征值。
本公开实施例的方法用于在反卷积运算装置上进行反卷积运算。其中,该反卷积运算可为卷积神经网络(CNN)等中的反卷积,也可为其它任意情况下的反卷积。
参照图3,本公开实施例的反卷积运算装置包括运算单元(PE),每个运算单元是具有一定计算能力的器件,且至少部分运算单元中存储有反卷积中使用的卷积核的权重值。
其中,反卷积运算装置可为通用性装置,例如为神经网络计算单元(NPU),故其中运算单元的个数可比某次具体反卷积运算中用到的运算单元数量多,即,在单次的反卷积运算中,反卷积运算装置中可只有部分运算单元参与,而这些运算单元中存储有相应的权重值。由此,运算单元中的权重值,可以是在确定要进行的反卷积运算后,根据该次反卷积运算的卷积核的情况映射到相应的运算单元中的。
而且,若无特殊说明,则本公开实施例的方法中提到的运算单元,均是指参与本次反卷积运算的运算单元。
作为本公开实施例的另一种方式,本公开实施例的方法包括:
A101、存储有权重值的运算单元获取反卷积输入图像的输入特征值。
其中,每个输入特征值为反卷积输入图像的一个通道的一个元素的特征值。
反卷积输入图像可分为多个通道(channel),如按照颜色分为红色通道、绿色通道、蓝色通道,而每个通道中有排成二维矩阵的元素,每个元素有相应的特征值(输入特征值),如相应颜色的亮度值(灰阶值),其中该元素可以为反卷积输入图像的像素。
当然,反卷积输入图像可为表示一定图案的“图片”,但也可以是其它任何以图像形式存在的、需进行反卷积的信息。
本步骤中,各运算单元获取反卷积输入图像的至少部分元素的输入特征值。
其中,反卷积输入图像是需要进行反卷积运算的图像,而与相关技术中的反卷积不同,该反卷积输入图像并未进行补零(Padding)操作,即反卷积输入图像中的元素中并不包括通过补零操作添加的零元素,因此,运算单元获取的输入特征值也不包括补零操作导致的零值(当然,反卷积输入图像的部分元素的输入特征值可能原本就是零,但其并非补零操作的结果)。
A102、存储有权重值的运算单元将获取的输入特征值与其中存储的权重值相乘得到中间数据。
各运算单元将其获取到的输入特征值,与其中预存的各权重值相乘,而每个输入特征值与每个权重值的相乘结果,即为一个“中间数据”。
与相关技术不同的是,运算单元并不直接将对应一个卷积核在一个位置的相乘结果累加。
A103、确定反卷积输出图像的每个元素的输出特征值为该元素对应的多个中间数据的和。
在常规的反卷积运算中,需要对反卷积输入图像补零后用旋转180度的卷积核进行卷积,在补零后的反卷积输入图像上,卷积核在按照预设步长移动过程中,卷积核在每一个位置对应的部分元素为补充的零元素,部分元素为反卷积输入图像的原有元素,而零元素与卷积核元素的乘积显然是零,故此时卷积核在每个位置进行乘加得到的结果(输出特征值),实际上等于原反卷积输入图像的部分元素的输入特征值与卷积核的部分元素的权重值的乘加结果。
当然,类似的,如果是采用构造卷积矩阵的方式,卷积矩阵中补充的零也是进行相乘运算时也是没有意义的,故其得到的输出特征值也等于原反卷积输入图像的部分元素的输入特征值与卷积核的部分元素的权重值的乘加结果。
也就是说,反卷积输出图像的每个元素的输出特征值,实际等于补零后的反卷积输入图像的部分特定元素的输入特征值与卷积核的部分特定权重值的乘加结果,也就是等于部分特定中间数据的和。
应当理解,只要反卷积输入图像的尺寸、卷积核的尺寸、步长、补零方式、反卷积输出图像的尺寸确定,则反卷积输出图像的每个元素的输出特征值,应当是反卷积输入图像的哪些元素的输入特征值与卷积核的哪些权重值的乘加结果,也是确定的,或者说是具有“预设对应关系”,且这种“预设对应关系”是确定可知的。
具体的,若反卷积输入图像的每个通道中元素总数为n,而反卷积用的卷积核的每个通道中元素总数为k,则每个元素的输入特征值与卷积核的各元素的权重值分别相乘会得到k个中间数据,故反卷积输入图像的一个通道对应的中间数据总数为n*k。
由此,反卷积输出图像的相应通道中每个元素的输出特征值,均可根据这n*k个中间数据计算得到,其中,每个输出特征值为部分中间数据的和,而具体每个输出特征值对应哪些中间数据,是符合一定的“预设对应关系”的。
本公开实施例中,先计算得到以上中间数据,并根据“预设对应关系”确定反卷积输出图像的每个输出特征值对应哪些中间数据,并将这些中间数据相加得到相应输出特征值。
其中,“预设对应关系”是预先设定的,其表征反卷积输出图像的每个输出特征值对应哪些中间数据。
更具体的,如前,若对反卷积输入图像补零后用旋转180度的卷积核进行卷积,则反卷积输出图像的每个元素的输出特征值应等于一些输入特征值(不包括补充的零元素)与一些权重值的乘加结果,而这些输入特征值和权重值相乘得到的中间数据,就是根据以上“预设对应关系”确定的该元素的输出特征值对应的中间数据。
其中,“预设对应关系”可根据反卷积输入图像尺寸、卷积核尺寸、步长、所需的反卷积输出图像尺寸、原本设定的补零方式等,按照已知的数学规则或运算方法计算得到。
在一些实施例中,存储有权重值的运算单元将获取的输入特征值与其中存储的权重值相乘得到中间数据(A102)包括:
A1021、存储有权重值的运算单元将获取的每个输入特征值分别与存储的各权重值相乘得到一个中间矩阵。
确定反卷积输出图像的每个元素的输出特征值为该元素对应的所有中间数据的和(A103)包括:
A1031、将各中间矩阵拼接(组合)形成反卷积输出图像,反卷积输出图像每个元素对应一个中间矩阵的元素或多个中间矩阵的元素。
其中,反卷积输出图像的每个元素的输出特征值为该元素对应的至少一个中间矩阵的元素的特征值的和。
作为本公开实施例的一种方式,在很多情况下,可以将反卷积输入图像的每个元素的输入特征值分别与卷积核的各元素的权重值相乘,即点乘,得到一个中间矩阵。
由此,中间矩阵的个数等于反卷积输入图像的元素数,而每个中间矩阵的尺寸与卷积核的尺寸相同的,且每个中间矩阵的每个元素的特征值也就是一个中间数据(一个输入特征值与一个权重值的乘积)。
进而,可将多个中间矩阵“拼接”形成反卷积输出图像,即使中间矩阵相接或重叠,以所得的图像(矩阵)或图像(矩阵)的一部分为反卷积输出图像。由此,拼接中不同的中间矩阵可以是边缘相接,也可以是有部分重叠;可以是拼接得到的整体图像均为反卷积输入图像(参照图7),也可以是拼接得到的整体图像中的一部分为反卷积输入图像(参照图14)。
由此,反卷积输出图像的每个元素,可以对应一个中间矩阵的一个元素,也可以对应多个中间矩阵中的各一个元素。进而,可以确定反卷积输出图像的每个元素的输出特征值,等于其对应的中间矩阵的元素的特征值(中间数据)的和,即,反卷积输出图像的每个元素的输出特征值,可以是一个输入特征值与一个权重值的乘积(一个中间数据),也可以是多个不同输入特征值与对应权重值的乘积(多个中间数据)的和。
例如,参照图7,假设卷积核的一个通道为3*3的矩阵,则在该通道中,反卷积输入图像的每个元素的输入特征值分别与卷积核(未旋转180度的卷积核)的各元素的权重值相乘(点乘),可得到一个3*3的中间矩阵,该中间矩阵的每个元素的值等于该输入特征值与一个权重值乘积,即为一个中间数据(故每个中间矩阵为9个中间数据)。根据已知的数学规则可知,以上各中间矩阵中的元素的值(中间数据)若以一定方式错位相加(图7中多个重叠的元素表示相应元素的值相加),即可得到反卷积输出图像,从而,反卷积输出图像的每个元素的输出特征值对应的中间数据,就是图7的中间矩阵中相应元素。
再如,参照图13,若要用一个3*3的卷积核以1的步长对2*2的反卷积输入图像进行反卷积以得到3*3反卷积输出图像,可以是:按照图中的方式将2*2的反卷积输入图像补零得到5*5的图像,之后将3*3的卷积核旋转180度,并以1的步长进行卷积,得到图中的3*3反卷积输出图像。
相应的,对图13的反卷积过程,也可采用本公开实施例的图14的方式处理:
首先,将反卷积输入图像的每个元素的输入特征值,分别与未旋转的卷积核点乘,得到图中的四个中间矩阵。
之后,将四个中间矩阵按照右下角、左下角、右上角、左上角的元素重叠的方式“拼接”,以拼接结果的中部3*3的区域作为反卷积输出图像。
最后,将以上3*3区域中的每个元素对应的全部中间矩阵的元素的特征值相加,即可得到反卷积输出图像中相应元素的输出特征值。
例如,反卷积输出图像左上角的元素仅对应一个中间矩阵的元素,即输入特征值1对应的中间矩阵的中间的元素9,故该元素的输出特征值为9;再如,反卷积输出图像中间的元素对应四个中间矩阵的元素,即输入特征值1对应的中间矩阵的右下角的元素5,输入特征值2对应的中间矩阵的左下角的元素14,输入特征值3对应的中间矩阵的右上角的元素33,输入特征值4对应的中间矩阵的左上角的元素52,故其该元素的输出特征值为5+14+33+52=104。
由此可见,通过图14的本公开实施例的方法,也可得到5*5的反卷积输出图像,其与图13中“反卷积输入图像补零-卷积核旋转180度-卷积”的方式得到的反卷积输出图像是完全一样的。
由此可见,反卷积输出图像的每个元素的输出特征值,必然是部分中间数据(输入特征值与权重值的乘积)的和,而具体每个元素的输出特征值对应哪些中间数据,是符合“预设对应关系”的,而针对每种具体的反卷积过程,该预设对应关系是确定且可知的。
例如,当以上图13的过程中卷积核不旋转180度时,则预设对应关系不同,也就是中间矩阵需要旋转180度后再进行拼接方式;再如,当以上图13的过程中以不同的方式补零时,则预设对应关系可能不同,也就是中间矩阵的拼接位置可能不同。
示例性的,要获得对应关系的具体方式是多样的,作为本公开实施例的另一种方式,也可以是在进行本公开实施例的方法前,预先对某图像进行补零并用卷积核处理,并记录处理得到的图像的每个元素对应哪些权重值和特征值的乘积,也就是得到“预设对应关系”。
总之,“预设对应关系”与具体的反卷积过程(卷积核的尺寸、步长、所需的反卷积输出图像的尺寸、原本设定的补零方式、反卷积输入图像的尺寸等相关),因此,当以上情况不同时,应选用不同的“预设对应关系”实现本公开实施例的方法;而针对每种确定的反卷积过程(确定的卷积核的尺寸、步长、所需的反卷积输出图像的尺寸、原本设定的补零方式、反卷积输入图像的尺寸),其预设对应关系也是确定且可知的,也就是每个输出特征值应由哪些中间数据相加得到是确定且可知的。
由此,本公开实施例不是直接用卷积核对反卷积输入图像进行卷积,也不是将反卷积输入图像补零后用卷积核进行卷积,而是分别算出反卷积输入图像的输入特征值与卷积核的各权重值相乘的中间结果,并根据以上预设对应关系,确定反卷积输出图像的每个元素的输出特征值,应等于哪些中间结果的和,以得到反卷积输出图像,等价的完成了反卷积的运算。
本公开实施例中,不对反卷积输入图像进行补零,从而运算单元也不用对零元素进行相应的无效运算,减少了反卷积的运算量和复杂程度,提高了效率;同时,运算单元不是直接对其乘运算的结果(中间数据)进行累加,而是以反卷积输出图像的每个元素对应的多个中间数据的和为该元素的输出特征值,从而可在不补零的情况下实现正确的反卷积运算。
通常而言,数据存储时,只能在行方向、列方向中的一个方向上连续存放,而在读取数据时,也只有读取连续存放的数据才可确保较高的读取带宽。
根据参照图4、图5的相关技术,为保证同列的多个运算单元(PE)的乘结果正确的实现累加,故在一个运算周期(cycle)中应当进行的是卷积核在一个位置的数据的运算,故此时需要输入到不同行运算单元的是反卷积输入图像中多行、多列的输入特征值,如对3*3的卷积核,则每次要输入3行、3列的9个输入特征值,其对内存的读取不连续,效率低,耗时长。
为此,参照图8,在一些实施例的神经网络计算单元中,可设置内部存储(InMem),如SRAM(随机存取存储器)等,而内部存储从外部存储(OutMem)获取反卷积输入图像的输入特征值,输入特征值再经过Im2col单元的复制、转换,变为可输入到运算单元(PE)矩阵各行的数据,而Im2col单元的存在导致结构复杂,运算量大。或者,也可通过内存切分的方式,将内部存储切分为多个可并行的存储块以提高读取速度;但是,该方式会使内部存储的结构复杂,面积增大,且需要进行特殊的数据排布,软件管理也不方便;尤其是,若希望运算单元矩阵可“通用”于各种尺寸的卷积核的卷积运算,则其必须将内部存储切分为很细的小块,导致以上问题更加严重。
在一些实施例中,存储有权重值的运算单元获取反卷积输入图像的输入特征值(A101)包括:存储有权重值的运算单元,连续获取反卷积输入图像的一个通道的一行中全部元素的输入特征值。
参照图7,本公开实施例中,反卷积输入图像(3*3)中每一个元素的特征值分别与卷积核(3*3)中的各元素值相乘,在分别与相应权重值相乘后并不用相加,得到9个3*3的矩阵,故它们也不一定要在同一个运算周期(cycle)中运算。因此,每个运算单元在接收到输入特征值后,只要将其与内部存储的权重值相乘得到中间数据即可,而不要求这些中间数据有特定的位置关系。
因此,对于每个运算单元而言,其可连续、依次获取反卷积输入图像中一行的全部输入特征值,待一行的全部输入权重值获取完毕后,运算单元再连续、依次的获取下一行的全部输入特征值。
由此,本公开实施例可在既不需要设置im2col单元,也不进行内存切分的情况下,始终依次读取内存中连续存放的数据,简化结构,减少运算量,且提高读取带宽。
当然,如前,以上反卷积输入图像(卷积核)的行、列也只是反卷积输入图像(卷积核)中元素(元素)排布的两个相对方向,并不代表行必然为水平方向,列必然为竖直方向。
在一些实施例中,确定反卷积输出图像的每个元素的输出特征值为该元素对应的所有中间数据的和(A103)包括:对得到的每个中间数据,确定其对应的反卷积输出图像的元素,将该中间数据累加至其对应的反卷积输出图像的元素的输出特征值中。
本公开实施例中,每个中间数据对应反卷积输出图像的一个元素,故作为本公开实施例的一种方式,可以是在计算得到中间数据后,确定其对应的反卷积输出图像的元素,并将该中间数据累加至相应元素的输出特征值中。
也就是说,反卷积输出图像的每个元素的输出特征值都可从0开始,每当有一个中间数据加入其中,则在其中加上该中间数据的值,直到所有中间数据都被加入相应输出特征值中,则反卷积输出图像的每个元素的输出特征值都已知,得到了反卷积输出图像。
例如,可参照图13、图9,反卷积输入图像(假设反卷积输入图像只有一个通道)中第1行、第1列的输入特征值在一个运算单元中,依次分别与一个卷积核(3*3的卷积核)的9个权重值相乘得到9个中间数据(中间矩阵),且9个中间数据依次分别写入反卷积输出图像的9个(3*3的矩阵)元素的输出特征值中;而反卷积输入图像中第1行、第2列的输入特征值也在该运算单元中与一个卷积核(3*3)的9个权重值相乘得到9个中间数据(中间矩阵),该9个中间数据也依次分别写入反卷积输出图像的9个(3*3的矩阵)元素的输出特征值中,且该9个元素的最左侧一列与之前的9个元素的最右侧一列重合,从而该重合的3个元素中的每个的输出特征值此时为2个中间数据的累加。
在一些实施例中,任意权重值仅存储在一个运算单元中。
作为本公开实施例的一种方式,权重值的存储可不存在重复,即卷积核的每个权重值存储且仅存储在一个运算单元,从而所有需要与该权重值相乘的输入特征值均可输入该运算单元中,并在该运算单元中与该权重值相乘得出对应的中间数据。
在一些实施例中,存储有权重值的每个运算单元中存储有多个权重值。
作为本公开实施例的一种方式,每个运算单元中可存储有多个权重值,从而每个输入其中的输入特征值可分别与各权重值相乘,得到多个中间数据。
在参照图4、图5的相关技术中,每个运算单元中仅存储有一个权重值,从而若一个输入特征值要与多个权重值相乘时,则该输入特征值需要被分别输入至该多个权重值所在的多个运算单元,由此,该输入特征值需要被从内存中多次读取,运算量和占据的读取带宽均较大。
而根据本公开实施例的方式,因有多个权重值存储在一个运算单元中,故需要与这多个权重值相乘的输入权重值只要输入至该一个运算单元中即可,从而大大降低了运算量和占据的读取带宽。
例如,假设反卷积运算中只有一个单通道的卷积核,且该卷积核的所有权重值存储在一个运算单元中,则只要将反卷积输入图像的所有输入特征值都依次输入至该运算单元中进行计算,即可得到反卷积的全部中间数据。
其中,参照图10,为提高运算的效率,在每个运算单元(PE)中,除以上乘加器(MAC),还可引入一个很小的内部缓存单元,例如可为一个寄存器(scratch RAM)。
由此,可参照图11,运算单元的缓存中有多个输入特征值,并以“滑窗(图中虚线框)”方式使各权重值依次分别与输入特征值相乘,得到多个中间数据,并随着时间的前进获取新的输入特征值,以及使滑窗相应移动。
其中,参照图10,为了控制滑窗,每个运算单元中还可具有控制器(Control)等,在此不再详细描述。
当然,运算单元中具体进行运算的方式不限于此,例如,运算单元每次也可仅获取一个输入特征值,使其依次与内部存储的多个权重值分别相乘后,再获取下一个输入特征值。
在一些实施例中,存储有权重值的每个运算单元中存储的多个权重值为一个卷积核的一个通道的多个权重值。例如,存储有权重值的每个运算单元中存储的多个权重值为一个卷积核的一个通道的全部元素的权重值。
作为本公开实施例的一种方式,每个运算单元中可存储有一个卷积核的一个通道的全部元素的权重值。例如卷积核的每个通道的尺寸为R*S,则每个运算单元中可存储R*S个权重值,而参照图7、图9,输入该运算单元的每个输入特征值分别与其中的各权重值相乘(点乘),即可得到该输入特征值在该通道对应的“中间矩阵”。无需跨运算单元进行计算,提升了计算效率。
在一些实施例中,存储有所述权重值的每个所述运算单元中存储的多个所述权重值为一个卷积核的一个通道的一行中的多个权重值。例如,存储有权重值的每个运算单元中存储的多个权重值为一个卷积核的一个通道的一行中全部元素或多个连续元素的权重值。
参照图7、图9,反卷积输入图像的一行的输入特征值与卷积核不同行的权重值相乘得到的中间数据,是对应反卷积输出图像中不同行的元素的;相应的,与反卷积输出图像中的一行元素对应的多个中间数据,也可能是由反卷积输入图像中多行输入特征值与相应权重值相乘后得到的。
例如,参照图7、图9,其反卷积输入图像的第3行的输入特征值产生的中间数据(即第3行的中间矩阵),与反卷积输出图像的第3至5行的元素均对应;而反卷积输出图像的第3行的元素对应的各中间数据,则分别是由反卷积输入图像中第1至3行的输入特征值与相应权重值相乘后得到的(即反卷积输出图像的第3行的元素的输出特征值可根据第1至3行的中间矩阵计算得到)。
因此,当一个运算单元中存储有一个卷积核的一个通道中多行、多列元素的权重值(如以上R*S个权重值)时,则一个输入特征值在该运算单元中得出的多个中间数据,分别对应反卷积输出图像的多行、多列的元素,给输出特征值的计算造成困难;尤其是,当反卷积输出图像尺寸较大时,由于内部存储的限制,需要对其进行切分,造成很多重叠(overlap),进而导致很多重复计算和数据重复加载(load),影响运算效率。
故本公开实施例中,可以是每个运算单元中仅存储有一个卷积核的一个通道的一行中的权重值(当然若卷积核只有一行,则其就是卷积核的一个通道的全部权重值),或者说以上卷积核一个通道的R*S个权重值,可分别存储在R个运算单元中,每个运算单元中存储同行的S个权重值。
从而,一行输入特征值在一个运算单元中计算得到的全部中间数据,都对应反卷积输出图像一行的元素,可减少重复计算和数据重复加载。
进一步的,若一个运算单元因缓存、计算能力等的限制,无法同时存储一行的全部权重值时,也可将一行权重值分为“多段”,分别存储在不同运算单元中。
在一些实施例中,反卷积运算装置中运算单元的个数为多个,多个运算单元排成矩阵。
作为本公开实施例的一种方式,反卷积运算装置中的运算单元(PE)也可以是参照图3排成矩阵的。
在一些实施例中,卷积核个数为多个;同列的所述运算单元中存储的所述权重值属于同一卷积核。例如,同列的所有存储有权重值的所有运算单元中存储的权重值属于同一卷积核。
在一次反卷积运算中,可有多个卷积核,或者说是有多个输出通道(输出channel),而各卷积核可分别独立的对反卷积输入图像进行处理,从而得到多个相对独立的反卷积输出图像。
为此,可参照图3,不同卷积核对应的权重值可分别存储在不同列的运算单元中,如每个卷积核对应的权重值存储在一列对应的运算单元中,从而不同列的运算单元可分别输出与不同卷积核对应的多个反卷积输出图像,避免存储冲突。
在一些实施例中,同行的所有存储有权重值的不同运算单元中存储的权重值对应不同卷积核的相应位置。
存储有权重值的运算单元获取反卷积输入图像的输入特征值包括:同行的所有存储有权重值的运算单元,同步获取相同的输入特征值。
作为本公开实施例的一种方式,当不同卷积核的权重值存储在不同列的运算单元中时,可以是同行的各运算单元中存储有不同卷积核的相同相对位置(即不同卷积核中位于相同通道、相同行、相同列的位置)的权重值,例如,第一行的不同运算单元,分别存储不同卷积核的一个通道中第一行的权重值;由此,一个输入特征值可以被同步的输入至一行的各运算单元,而各运算单元可同步的运算对应不同卷积核相同相对位置的中间数据,从而减少从内存中读取的次数,并且便于对运算过程的控制。
其中,当运算单元为矩阵时,根据同列的不同运算单元的运算结果得到输入特征值的多个中间数据,并构成中间矩阵。
例如,当反卷积输入图像有多个通道时,则不同通道中,反卷积输入图像相同相对位置的输入特征值和卷积核相同相对位置的权重值相乘产生的多个中间数据,可由一列中的不同运算单元分别算出,得到输入特征值的多个中间数据,并构成中间矩阵。
基于上述方法对于反卷积输入图像的多个输入特征值进行处理得到相应的多个中间矩阵。
在一些实施例中,在确定反卷积输入图像的多个输入特征值的多个中间矩阵之后,根据多个中间矩阵拼接出符合反卷积输出图像的尺寸的拼接矩阵。所得到的拼接矩阵的尺寸可以与反卷积输出图像的尺寸相同(参照图7),或者大于反卷积输出图像的尺寸(参照图14)。当大于时,从拼接矩阵中裁剪出符合反卷积输出图像的尺寸的矩阵。
以上实施例中拼接过程中中间矩阵之间至少存在部分重叠元素,重叠元素中的元素值进行叠加,得到相应于反卷积输出图像相同位置下的输出元素的特征值。
第二方面,参照图15,本公开实施例提供一种设备,其中,包括:
一个或多个处理器;
存储器,其上存储有一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,能实现本公开实施例的任意一项的图像反卷积方法。
第三方面,参照图16,本公开实施例提供一种存储介质,其上存储有一个或多个计算机程序,当所述一个或多个计算机程序被执行时,能实现本公开实施例的任意一项的图像反卷积方法。
本领域普通技术人员可以理解,上文中所公开的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。
某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器(CPU)、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机可读介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机可读介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机可读介质包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH)或其它磁盘存储器;只读光盘(CD-ROM)、数字多功能盘(DVD)或其它光盘存储器;磁盒、磁带、磁盘存储或其它磁存储器;可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本公开已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

Claims (18)

1.一种图像反卷积方法,其包括:
获取反卷积输入图像;所述反卷积输入图像包括多个元素;
基于所述多个元素和卷积核确定多组中间数据;
根据所述多组中间数据确定反卷积输出图像的特征值。
2.根据权利要求1所述的方法,其中,所述基于所述多个元素和卷积核确定多组中间数据,包括:
基于所述多个元素和卷积核确定对应于所述多个元素的多组中间数据。
3.根据权利要求2所述的方法,其中,所述基于所述多个元素和卷积核确定对应于所述多个元素的多组中间数据,包括:
将所述多个元素分别与卷积核相乘得到对应于所述多个元素的多组中间数据。
4.根据权利要求3所述的方法,其中,所述将所述多个元素分别与卷积核相乘得到对应于所述多个元素的多组中间数据,包括:
所述多个元素分别与卷积核中的权重值相乘,得到对应于所述多个元素的多组中间数据;其中,所述多组中间数据中的每一组所包含中间数据的数量与所述卷积核中权重值的数量相同。
5.根据权利要求1至4中任意一项所述的方法,其中,所述根据所述多组中间数据确定反卷积输出图像的特征值,包括:
至少根据所述多组中间数据确定所述反卷积输出图像的多个输出元素分别对应的中间数据;
根据所述多个输出元素分别对应的中间数据,确定所述反卷积输出图像的特征值。
6.根据权利要求5所述的方法,其中,所述至少根据所述多组中间数据确定所述反卷积输出图像的多个输出元素分别对应的中间数据,包括:
根据所述多组中间数据和所述反卷积输出图像的目标尺寸,确定所述反卷积输出图像的多个输出元素分别对应的中间数据。
7.根据权利要求6所述的方法,其中,所述根据所述多组中间数据和所述反卷积输出图像的目标尺寸,确定所述反卷积输出图像的多个输出元素分别对应的中间数据,包括:
根据所述多组中间数据确定相应的多个中间矩阵;
根据所述多个中间矩阵确定符合所述反卷积输出图像的目标尺寸的输出矩阵,所述输出矩阵中的多个元素对应于所述多个输出元素;
根据所述输出矩阵中的每个元素所对应的中间数据确定所述多个输出元素分别对应的中间数据。
8.根据权利要求7所述的方法,其中,所述根据所述多组中间数据确定相应的多个中间矩阵,包括:
采用所述多个中间矩阵组合得到符合所述反卷积输出图像的目标尺寸的输出矩阵,所述多个中间矩阵组合时,至少部分中间矩阵的元素之间存在重叠。
9.根据权利要求5所述的方法,其中,所述多个输出元素中的每个输出元素对应于至少一个中间数据;
所述根据所述多个输出元素分别对应的中间数据,确定所述反卷积输出图像的特征值,包括:根据每个所述输出元素对应的至少一个中间数据之和,确定所述反卷积输出图像的特征值。
10.根据权利要求1所述的方法,其中,所述卷积核的权重值存储于至少一个运算单元,用于实现所述多个元素分别与所述卷积核中的权重值相乘。
11.根据权利要求10所述的方法,其中,每个所述运算单元中存储有多个所述权重值。
12.根据权利要求11所述的方法,其中,每个所述运算单元中存储的多个所述权重值为一个卷积核中一个通道的多个权重值。
13.根据权利要求11所述的方法,其中,每个所述运算单元中存储的多个所述权重值为一个卷积核中一个通道的一行多个权重值。
14.根据权利要求10所述的方法,其中,任意所述权重值仅存储在一个所述运算单元中。
15.根据权利要求10所述的方法,其中,所述运算单元的个数为多个,多个所述运算单元排成矩阵。
16.根据权利要求15所述的方法,其中,
所述卷积核个数为多个;
同列的所述运算单元中存储的所述权重值属于同一卷积核。
17.一种图像反卷积设备,其中,包括:
一个或多个处理器;
存储器,其上存储有一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,能实现权利要求1至16中任意一项的图像反卷积方法。
18.一种存储介质,其上存储有一个或多个计算机程序,当所述一个或多个计算机程序被执行时,能实现权利要求1至16中任意一项的图像反卷积方法。
CN202211556038.8A 2022-12-06 2022-12-06 图像反卷积方法和设备、存储介质 Pending CN116152037A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211556038.8A CN116152037A (zh) 2022-12-06 2022-12-06 图像反卷积方法和设备、存储介质
PCT/CN2023/120984 WO2024119976A1 (zh) 2022-12-06 2023-09-25 图像反卷积方法和设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211556038.8A CN116152037A (zh) 2022-12-06 2022-12-06 图像反卷积方法和设备、存储介质

Publications (1)

Publication Number Publication Date
CN116152037A true CN116152037A (zh) 2023-05-23

Family

ID=86349774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211556038.8A Pending CN116152037A (zh) 2022-12-06 2022-12-06 图像反卷积方法和设备、存储介质

Country Status (2)

Country Link
CN (1) CN116152037A (zh)
WO (1) WO2024119976A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024119976A1 (zh) * 2022-12-06 2024-06-13 北京硅升科技有限公司 图像反卷积方法和设备、存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112712461B (zh) * 2019-10-24 2024-04-19 Tcl科技集团股份有限公司 一种图像反卷积处理方法、装置及终端设备
CN113989169A (zh) * 2020-07-08 2022-01-28 嘉楠明芯(北京)科技有限公司 一种膨胀卷积加速计算方法及装置
CN112686377B (zh) * 2021-03-18 2021-07-02 北京地平线机器人技术研发有限公司 利用卷积硬件对特征数据进行反卷积处理的方法和装置
CN114580618A (zh) * 2022-03-15 2022-06-03 网络通信与安全紫金山实验室 一种反卷积处理方法、装置、电子设备及介质
CN116152037A (zh) * 2022-12-06 2023-05-23 嘉楠明芯(北京)科技有限公司 图像反卷积方法和设备、存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024119976A1 (zh) * 2022-12-06 2024-06-13 北京硅升科技有限公司 图像反卷积方法和设备、存储介质

Also Published As

Publication number Publication date
WO2024119976A1 (zh) 2024-06-13

Similar Documents

Publication Publication Date Title
CN108073981B (zh) 处理卷积神经网络的方法和设备
US20220383067A1 (en) Buffer Addressing for a Convolutional Neural Network
KR102675217B1 (ko) 이미지들을 프로세싱하기 위한 이미지 신호 프로세서
US10296829B2 (en) Convolution processing apparatus and method
US7860337B2 (en) Blur computation algorithm
CA3124369A1 (en) Neural network processor
US11436017B2 (en) Data temporary storage apparatus, data temporary storage method and operation method
JP2021100247A (ja) 歪んだドキュメント画像の矯正方法及び装置
EP3093757B1 (en) Multi-dimensional sliding window operation for a vector processor
US11164032B2 (en) Method of performing data processing operation
CN112991142B (zh) 图像数据的矩阵运算方法、装置、设备及存储介质
US20200218777A1 (en) Signal Processing Method and Apparatus
EP3644223A1 (en) Ensemble learning based image classification system
CN116152037A (zh) 图像反卷积方法和设备、存储介质
EP4181024A1 (en) Dilated convolution acceleration calculation method and apparatus
CN112633470A (zh) 优化神经网络卷积残差结构的方法、系统、设备及介质
CN114154112A (zh) 数据处理装置、芯片和板卡
CN110533177B (zh) 一种数据读写装置、方法、设备、介质及卷积加速器
WO2023103551A1 (zh) 图像数据处理方法、装置、设备及存储介质
CN109064435B (zh) 一种基于多光谱影像的Gram-Schmdit融合快速处理方法
US20240185570A1 (en) Undecimated image processing method and device
CN114662647A (zh) 处理用于神经网络的层的数据
CN113870091A (zh) 卷积计算方法、系统、设备及存储介质
CN112884138A (zh) 神经网络的硬件实现方式
US11842273B2 (en) Neural network processing

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40090962

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20240515

Address after: Room 101, 20th Floor, Building 1, Zone 1, No. 81 Beiqing Road, Haidian District, Beijing, 100095

Applicant after: Beijing Sisheng Technology Co.,Ltd.

Country or region after: China

Address before: Room 2102, 21 / F, building 1, yard 1, No. 81, Beiqing Road, Haidian District, Beijing 100094

Applicant before: Canaan Bright Sight Co.,Ltd.

Country or region before: China

TA01 Transfer of patent application right