CN113780523A - 图像处理方法、装置、终端设备及存储介质 - Google Patents
图像处理方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN113780523A CN113780523A CN202110994479.5A CN202110994479A CN113780523A CN 113780523 A CN113780523 A CN 113780523A CN 202110994479 A CN202110994479 A CN 202110994479A CN 113780523 A CN113780523 A CN 113780523A
- Authority
- CN
- China
- Prior art keywords
- input data
- scaling factor
- parameter group
- fixed
- bias
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000012545 processing Methods 0.000 title claims abstract description 28
- 238000013528 artificial neural network Methods 0.000 claims abstract description 72
- 238000007667 floating Methods 0.000 claims abstract description 50
- 238000004590 computer program Methods 0.000 claims description 20
- 238000000034 method Methods 0.000 abstract description 23
- 238000004364 calculation method Methods 0.000 abstract description 13
- 238000013139 quantization Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49915—Mantissa overflow or underflow in handling floating-point numbers
-
- 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
Abstract
本申请提供一种图像处理方法、装置、终端设备及存储介质,图像处理方法包括:获取待处理图像;将待处理图像输入神经网络,以确定神经网络中任一卷积层的输入数据;若输入数据是以浮点数表示的,则获取输入数据的缩放因子,并根据输入数据的缩放因子,将输入数据由浮点数表示转换为定点数表示;获取卷积层的以定点数表示的滤波器参数以及以定点数表示的偏置参数;对以定点数表示的输入数据、以定点数表示的滤波器参数以及以定点数表示的偏置参数进行卷积运算,得到以定点数表示的卷积层的输出数据,输出数据是指待处理图像的卷积运算结果。本申请可解决现有技术对图像的卷积运算需要消耗大量的存储资源和计算资源的问题。
Description
技术领域
本申请属于图像处理技术领域,尤其涉及一种图像处理方法、装置、终端设备及存储介质。
背景技术
随着深度学习在图像处理领域取得的巨大突破,掀起了以神经网络为基础的深度学习研究热潮。神经网络是通过训练得到的浮点模型,由一系列的算子组成,包含大量的密集运算。卷积运算是神经网络中较为常见的算子,在通过神经网络对图像进行处理时,由于神经网络中参数较多且数据量较大,导致对图像的卷积运算需要消耗大量的存储资源和计算资源。
发明内容
本申请实施例提供了一种图像处理方法、装置、终端设备及存储介质,以解决现有技术对图像的卷积运算需要消耗大量的存储资源和计算资源的问题。
第一方面,本申请实施例提供了一种图像处理方法,所述图像处理方法包括:
获取待处理图像;
将所述待处理图像输入神经网络,以确定所述神经网络中任一卷积层的输入数据;
若所述输入数据是以浮点数表示的,则获取所述输入数据的缩放因子,并根据所述输入数据的缩放因子,将所述输入数据由浮点数表示转换为定点数表示;
获取所述卷积层的以定点数表示的滤波器参数以及以定点数表示的偏置参数;
对以定点数表示的所述输入数据、以定点数表示的所述滤波器参数以及以定点数表示的所述偏置参数进行卷积运算,得到以定点数表示的所述卷积层的输出数据,所述输出数据是指所述待处理图像的卷积运算结果。
第二方面,本申请实施例提供了一种图像处理装置,所述图像处理装置包括:
图像获取模块,用于获取待处理图像;
图像输入模块,用于将所述待处理图像输入神经网络,以确定所述神经网络中任一卷积层的输入数据;
数据处理模块,用于若所述输入数据是以浮点数表示的,则获取所述输入数据的缩放因子,并根据所述输入数据的缩放因子,将所述输入数据由浮点数表示转换为定点数表示;
参数获取模块,用于获取所述卷积层的以定点数表示的滤波器参数以及以定点数表示的偏置参数;
卷积运算模块,用于对以定点数表示的所述输入数据、以定点数表示的所述滤波器参数以及以定点数表示的所述偏置参数进行卷积运算,确定以定点数表示的所述卷积层的输出数据,所述输出数据是指所述待处理图像的卷积运算结果。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述图像处理方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述图像处理方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在终端设备上运行时,使得所述终端设备执行如上述第一方面所述图像处理方法的步骤。
由上可见,本申请通过获取待处理图像,并将待处理图像输入神经网络,可以确定神经网络中任一卷积层的输入数据,通过先获取卷积层的以定点数表示的滤波器参数和以定点数表示的偏置参数,并在输入数据是以浮点数表示时,获取输入数据的缩放因子,并根据输入数据的缩放因子将输入数据由浮点数表示转换为定点数表示,再对以定点数表示的输入数据、以定点数表示的滤波器参数以及以定点数表示的偏置参数进行卷积运算,可以得到以定点数表示的卷积层的输出数据(即待处理图像的卷积运算结果)。在上述卷积运算过程中,所涉及到的数据均使用定点数表示,可降低对待处理图像的卷积运算的数据计算量,从而减少对存储资源和计算资源的消耗,提高待处理图像的卷积运算效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的图像处理方法的实现流程示意图;
图2是本申请实施例二提供的图像处理方法的实现流程示意图;
图3是本申请实施例三提供的图像处理装置的结构示意图;
图4是本申请实施例四提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
参见图1,是本申请实施例一提供的图像处理方法的实现流程示意图,该图像处理方法应用于终端设备。如图1所示,该图像处理方法可以包括以下步骤:
步骤101,获取待处理图像。
其中,待处理图像可以是指需通过神经网络进行处理(如识别、跟踪等)的图像。例如,待处理图像为一张照片,通过神经网络识别该照片的类别,识别出该照片的类别为人像。
步骤102,将待处理图像输入神经网络,以确定神经网络中的任一卷积层的输入数据。
其中,上述神经网络可以是指包括卷积层的任一网络,例如卷积神经网络。在通过神经网络对待处理图像进行处理时,通常需要对待处理图像进行卷积运算,卷积运算的次数与神经网络中卷积层数量有关,例如神经网络包括两层卷积层,那么需要对待处理图像进行两次卷积运算。
在一个实施例中,神经网络可以安装在终端设备中,终端设备在检测到向神经网络中任一卷积层输入数据时,可以获取向该卷积层输入的数据(即输入数据)。为了加速神经网络的落地部署,终端设备中可以集成有专门的神经网络芯片,采用神经网络芯片对上述神经网络进行处理。
在一个实施例中,在获取到待处理图像之后,可以将待处理图像输入至神经网络,从而基于输入的待处理图像,确定神经网络中任一卷积层的输入数据。可以以神经网络中的第i层卷积层为例对输入数据进行说明,第i层卷积层为神经网络中的任一卷积层,i为大于零且小于或者等于神经网络的卷积层总数量。在i等于1时,确定第i层卷积层为神经网络的第一层卷积层,此时第一层卷积层的输入数据为神经网络的原始输入数据(即待处理图像);在i大于1时,确定第i层卷积层的输入数据为第i-1层卷积层的输出数据,通过本申请得到的第i-1层卷积层的输出数据是以定点数表示的,无需再进行数据转换。
由于神经网络中每层卷积层的输入数据均是基于待处理图像确定的,故神经网络中所有卷积层的卷积运算均可以称之为对待处理图像的卷积运算。例如,神经网络包括两层卷积层,第一层卷积层的输入数据为待处理图像,通过本申请方案在第一层卷积层对待处理图像进行卷积运算,可以得到待处理图像的第一卷积运算结果(即第一层卷积层的输出数据),待处理图像的第一卷积运算结果为第二层卷积层的输入数据,通过本申请方案在第二层卷积层对待处理图像的第一卷积运算结果进行卷积运算,可以得到待处理图像的第二卷积结果(即第二层卷积层的输出数据)。由上述内容可知,第二层卷积层的输入数据是待处理图像的第一卷积运算结果,故第二层卷积层的输入数据也是基于待处理图像确定的。
步骤103,若输入数据是以浮点数表示的,则获取输入数据的缩放因子,并根据输入数据的缩放因子,将输入数据由浮点数表示转换为定点数表示。
在步骤102中的卷积层为第一层卷积层时,第一层卷积层的输入数据为神经网络的原始输入数据,原始输入数据通常是以浮点数表示的,故为了减少第一层卷积层的计算量,可以对输入数据进行量化,以将输入数据由浮点数表示转换为定点数表示。
终端设备在对输入数据进行量化时,可以先获取输入数据的缩放因子,根据输入数据的缩放因子对输入数据进行量化。其中,输入数据的缩放因子可以是指将输入数据由浮点数表示转换为定点数表示的因子,也可以理解为将输入数据由浮点数范围映射到定点数范围的因子。
在一个实施例中,可以预先将输入数据的缩放因子存储至终端设备中,终端设备在检测到输入数据是以浮点数表示时,可以快速获取自身存储的输入数据的缩放因子,从而提高输入数据的缩放因子的获取速度。需要说明的,在终端设备中集成有神经网络芯片时,可以将输入数据的缩放因子存储至神经网络芯片中,以减少对终端设备的存储器的占用。可选地,输入数据的缩放因子也可以存储在其他设备中,终端设备在检测到输入数据是以浮点数表示时,可以从其他设备中获取输入数据的缩放因子,在此不做限定。
步骤104,获取卷积层的以定点数表示的滤波器参数以及以定点数表示的偏置参数。
在一个实施例中,可以预先将卷积层的以定点数表示的滤波器参数以及以定点数表示的偏置参数存储至终端设备中,终端设备在获取到卷积层的输入数据之后,可以快速地获取自身存储的以定点数表示的滤波器参数以及以定点数表示的偏置参数,从而提高以定点数表示的滤波器参数以及以定点数表示的偏置参数的获取速度。需要说明的是,在终端设备中集成有神经网络芯片时,可以将以定点数表示的滤波器参数以及以定点数表示的偏置参数存储至神经网络芯片中,以减少对终端设备的存储器的占用。可选地,以定点数表示的滤波器参数以及以定点数表示的偏置参数也可以存储在其他设备中,终端设备获取到输入数据时,可以从其他设备中获取以定点数表示的滤波器参数以及以定点数表示的偏置参数,在此不做限定。
步骤105,对以定点数表示的输入数据、以定点数表示的滤波器参数以及以定点数表示的偏置参数进行卷积运算,得到以定点数表示的卷积层的输出数据,输出数据是指待处理图像的卷积运算结果。
终端设备通过上述步骤102至105,以及实施例二中的步骤202至208,可以对神经网络中的所有卷积层的卷积算子进行量化,得到定点模型(即所有卷积层的卷积算子量化后的神经网络),提高神经网络的数据处理速度。
在一个实施例中,在得到以定点数表示的卷积层的输出数据之后,可以将以定点数表示的卷积层的输出数据输入至神经网络的指定网络,得到待处理图像的处理结果(例如识别结果、跟踪结果等)。
其中,指定网络是指神经网络中位于卷积层之后的网络,例如池化层、全连接层等。通过将步骤105输出的数据输入至指定网络,能够完成对待处理图像的处理,得到处理结果。
本申请实施例通过获取待处理图像,并将待处理图像输入神经网络,可以确定神经网络中任一卷积层的输入数据,通过先获取卷积层的以定点数表示的滤波器参数和以定点数表示的偏置参数,并在输入数据是以浮点数表示时,获取输入数据的缩放因子,并根据输入数据的缩放因子将输入数据由浮点数表示转换为定点数表示,再对以定点数表示的输入数据、以定点数表示的滤波器参数以及以定点数表示的偏置参数进行卷积运算,可以得到以定点数表示的卷积层的输出数据(即待处理图像的卷积运算结果)。在上述卷积运算过程中,所涉及到的数据均使用定点数表示,可降低对待处理图像的卷积运算的数据计算量,从而减少对存储资源和计算资源的消耗,提高待处理图像的卷积运算效率。
参见图2,是本申请实施例二提供的图像处理方法的实现流程示意图,该图像处理方法应用于终端设备。如图2所示,该图像处理方法可以包括以下步骤:
步骤201,获取待处理图像。
该步骤201与步骤101相同,具体可参见步骤101的相关描述,在此不再赘述。
步骤202,将待处理图像输入神经网络,以确定神经网络中任一卷积层的输入数据。
该步骤202与步骤102相同,具体可参见步骤102的相关描述,在此不再赘述。
步骤203,若输入数据是以浮点数表示的,则获取输入数据的定点比特数和N个以浮点数表示的样本输入数据,N为大于1的整数。
其中,输入数据的定点比特数可以是指输入数据在以定点数表示时占用的比特数。
步骤204,对N个以浮点数表示的样本输入数据取绝对值,得到N个以浮点数表示的样本输入数据的绝对值的最大值,并将该最大值作为输入数据的阈值。
步骤205,根据输入数据的阈值和输入数据的定点比特数,确定输入数据的缩放因子。
输入数据的阈值可以是指输入数据的最大值。在神经网络的实际部署中,在卷积层输入不同的数据时,其输入的数据(即输入数据)大小可能不同,故为了获取输入数据的阈值,可以获取N个以浮点数表示的样本输入数据,这些样本输入数据也是卷积层的输入数据,通过对这些样本输入数据取绝对值,可以得到卷积层的输入数据的最大值。
终端设备根据公式(1)可以得到输入数据的缩放因子。
其中,scale_x表示输入数据的缩放因子,threshold_x表示输入数据的阈值,n1表示输入数据的定点比特数。例如,输入数据的定点比特数为12比特,那么n1为12。
步骤206,根据输入数据的缩放因子,将输入数据由浮点数表示转换为定点数表示。
由于定点数的比特数是有限的,为了提高量化的准确性,避免输入数据量化后溢出,故终端设备在对输入数据进行量化时,还可以考虑输入数据在以定点数表示时的最大值和最小值。终端设备可以根据以浮点数表示的输入数据、输入数据的缩放因子、输入数据在以定点数表示时的最小值以及输入数据在以定点数表示时的最大值,计算得到以定点数表示的输入数据(即输入数据的定点数表示),实现对输入数据的量化。具体可以通过公式(2)对输入数据进行量化。
其中,Qint_x表示以定点数表示的输入数据,Qx表示以浮点数表示的输入数据,-Ax表示输入数据在以定点数表示时的最小值,Ax-1表示输入数据在以定点数表示时的最大值,round表示将数据四舍五入到整数,clip表示限制数据在最小值和最大值之间。
步骤207,获取卷积层的以定点数表示的滤波器参数以及以定点数表示的偏置参数。
该步骤207与步骤104相同,具体可参见步骤104的相关描述,在此不再赘述。
在一个实施例中,卷积层包括M维滤波器参数组,每维滤波器参数组包括至少一个以浮点数表示的滤波器参数,M为大于零的整数,获取所卷积层的以定点数表示的滤波器参数包括:
获取滤波器参数的定点比特数;
对第j维滤波器参数组中的滤波器参数取绝对值,得到第j维滤波器参数组对应的绝对值的最大值,并将该最大值作为第j维滤波器参数组的阈值,第j维滤波器参数组为M维滤波器参数组中的任一维滤波器参数组;
根据滤波器参数的定点比特数和第j维滤波器参数组的阈值,确定第j维滤波器参数组的缩放因子;
根据第j维滤波器参数组的缩放因子,将第j维滤波器参数组中的滤波器参数由浮点数表示转换为定点数表示。
其中,上述M是指步骤202中卷积层的输出数据的通道数,故M维滤波器参数组可以理解为M个通道的滤波器参数,每个通道的滤波器参数的数量至少为一个。
滤波器参数的定点比特数可以是指滤波器参数在以定点数表示时占用的比特数。
为了以定点数表示每维滤波器参数组中的滤波器参数,可以以M维滤波器参数组中的第j维滤波器参数组进行举例说明,j为大于零且小于或者等于M的整数,第j维滤波器参数组的阈值可以是指第j维滤波器参数组中滤波器参数的最大值。在获取第j维滤波器参数组的阈值时,可以先对第j维滤波器参数组中的所有滤波器参数取绝对值,第j维滤波器参数组中所有滤波器参数的绝对值中的最大值即为第j维滤波器参数组的阈值。
终端设备根据公式(3)可以得到第j维滤波器参数组的缩放因子。
其中,scale_w表示第j维滤波器参数组的缩放因子,threshold_w表示第j维滤波器参数组的阈值,n2表示滤波器参数的定点比特数。例如,滤波器参数的定点比特数为8比特,那么n2为8。需要说明的是,由于神经网络的卷积层包括M维滤波器参数组,那么每维滤波器参数组均有一个缩放因子。
由于定点数的比特数是有限的,为了提高量化的准确性,避免滤波器参数量化后溢出,故终端设备在对第j维滤波器参数组中的滤波器参数进行量化时,还可以考虑第j维滤波器参数组中的滤波器参数在以定点数表示时的最大值和最小值。终端设备可以根据以浮点数表示的第j维滤波器参数组中的滤波器参数、第j维滤波器参数组的缩放因子、第j维滤波器参数组中的滤波器参数在以定点数表示时的最小值以及第j维滤波器参数组中的滤波器参数在以定点数表示时的最大值,计算得到以定点数表示的第j维滤波器参数组中的滤波器参数(即第j维滤波器参数组中的滤波器参数的定点数表示),实现对第j维滤波器参数组中的滤波器参数的量化。具体可以通过公式(4)对第j维滤波器参数组的滤波器参数进行量化。
其中,Qint_w表示以定点数表示的第j维滤波器参数组中的滤波器参数,Qw表示以浮点数表示的第j维滤波器参数组中的滤波器参数,-Aw表示第j维滤波器参数组中的滤波器参数在以定点数表示时的最小值,Aw-1表示第j维滤波器参数组中的滤波器参数在以定点数表示时的最大值,
在一个实施例中,卷积层包括M维偏置参数组,每维偏置参数组包括至少一个以浮点数表示的偏置参数,获取卷积层的以定点数表示的偏置参数包括:
获取偏置参数的定点比特数;
对第j维滤波器参数组对应的第j维偏置参数组中的偏置参数取绝对值,得到第j维偏置参数组对应的绝对值的最大值,并将该最大值作为第j维偏置参数组的阈值;
根据偏置参数的定点比特数和第j维偏置参数组的阈值,确定第j维偏置参数组的缩放因子;
根据第j维偏置参数组的缩放因子,将第j维偏置参数组中的偏置参数由浮点数表示转换为定点数表示。
其中,M维偏置参数组可以理解为M个通道的偏置参数,每个通道的偏置参数的数量至少为一个。
偏置参数的定点比特数可以是指偏置参数在以定点数表示时占用的最多比特数。
为了以定点数表示每维偏置参数组中的偏置参数,可以以M维偏置参数组中与第j维滤波器参数组对应的第j维偏置参数组进行举例说明,第j维偏置参数组的阈值可以是指第j维偏置参数组中偏置参数的最大值。在获取第j维偏置参数组的阈值时,可以先对第j维偏置参数组中的所有偏置参数取绝对值,第j维偏置参数组中所有偏置参数的绝对值中的最大值即为第j维偏置参数组的阈值。
终端设备根据公式(3)可以得到第j维偏置参数组的缩放因子。
其中,scale_b表示第j维偏置参数组的缩放因子,threshold_b表示第j维偏置参数组的阈值,n3表示偏置参数的定点比特数。例如,偏置参数的定点比特数为32比特,那么n3为32。需要说明的是,由于神经网络的卷积层包括M维偏置参数组,那么每维偏置参数组均有一个缩放因子。
由于定点数的比特数是有限的,为了提高量化的准确性,避免偏置量化后溢出,故终端设备在对第j维偏置参数组中的偏置参数进行量化时,还可以考虑第j维偏置参数组中的偏置参数在以定点数表示时的最大值和最小值。终端设备可以根据以浮点数表示的第j维偏置参数组中的偏置参数、第j维偏置参数组的缩放因子、第j维偏置参数组中的偏置参数在以定点数表示时的最小值以及第j维偏置参数组中的偏置参数在以定点数表示时的最大值,计算得到以定点数表示的第j维偏置参数组中的偏置参数(即第j维偏置参数组中的偏置参数的定点数表示),实现对第j维偏置参数组中的偏置参数的量化。具体可以通过公式(6)对第j维偏置参数组中的偏置参数进行量化。
其中,Qint_b表示以定点数表示的第j维偏置参数组中的偏置参数,Qb表示以浮点数表示的第j维偏置参数组中的偏置参数,-Ab表示第j维偏置参数组中的偏置参数在以定点数表示时的最小值,Ab-1表示第j维偏置参数组中的偏置参数在以定点数表示时的最大值,
在一个实施例中,终端设备还可以根据输入数据的缩放因子和第j维滤波器参数组的缩放因子,确定以定点数表示的输入数据与以定点数表示的第j维滤波器参数组中的滤波器参数的卷积结果的缩放因子;
若卷积结果的缩放因子与第j维偏置参数组的缩放因子不相等,则调整以定点数表示的第j维滤波器参数组中的滤波器参数和以定点数表示的第j维偏置参数组中的偏置参数,使得卷积结果的缩放因子与第j维偏置参数组的缩放因子相等。
以第j维滤波器参数组和对应的第j维偏置参数组为例说明输出参数的获得过程,终端设备先将以定点数表示的第j维滤波器参数组中的滤波器参数与以定点数表示的输入数据进行卷积计算,得到卷积结果,该卷积结果是以定点数表示的,再将以定点数表示的卷积结果与以定点数表示的第j维偏置参数组中的偏置参数相加,可以得到以定点数表示的输出数据。
在将以定点数表示的卷积结果与以定点数表示的第j维偏置参数组中的偏置参数相加时,为了确保以定点数表示的卷积结果能够与以定点数表示的第j维偏置参数组中的偏置参数相加,需要卷积结果的缩放因子与第j维偏置参数组的缩放因子相等。其中,卷积结果的缩放因子是第j维滤波器参数组的缩放因子与输入数据的缩放因子的乘积所得值。
终端设备在检测到卷积结果的缩放因子与第j维偏置参数组的缩放因子不相等时,可以通过调整以定点数表示的第j维滤波器参数组中的滤波器参数和以定点数表示的第j维偏置参数组中的偏置参数,使得卷积结果的缩放因子与第j维偏置参数组的缩放因子相等,从而根据以定点数表示的输入数据、调整后的以定点数表示的第j维滤波器参数组中的滤波器参数以及调整后的以定点数表示的第j维偏置参数组中的偏置参数,得到以定点数表示的输出数据。
在一个实施例中,调整以定点数表示的第j维滤波器参数组中的滤波器参数和以定点数表示的第j维偏置参数组中的偏置参数包括:
确定卷积结果的缩放因子与第j维偏置参数组的缩放因子中的缩放因子最大值;
根据卷积结果的缩放因子和缩放因子最大值,确定卷积结果的调整因子;
根据卷积结果的调整因子,调整以定点数表示的第j维滤波器参数组中的滤波器参数;
根据第j维偏置参数组的缩放因子和缩放因子最大值,确定第j维偏置参数组的调整因子;
根据第j维偏置参数组的调整因子,调整以定点数表示的第j维偏置参数组中的偏置参数。
其中,上述缩放因子最大值是指卷积结果的缩放因子与第j维偏置参数组的缩放因子中最大值。例如,卷积结果的缩放因子为0.25,第j维偏置参数组的缩放因子为0.5,那么可以确定上述缩放因子最大值为0.5。
通过公式(7)可以计算卷积结果的调整因子。
其中,adjust_xw表示卷积结果的调整因子,scale_max表示缩放因子最大值,scale_xw表示卷积结果的缩放因子。需要说明的是,由于神经网络的卷积层包括M维滤波器参数组,每维滤波器参数组均对应一个卷积结果,那么神经网络的卷积层共有M个卷积结果,M个卷积结果各自有一个调整因子。
终端设备可以根据以浮点数表示的第j维滤波器参数组中的滤波器参数、卷积结果的调整因子、第j维滤波器参数组的缩放因子、第j维滤波器参数组中的滤波器参数在以定点数表示时的最小值以及第j维滤波器参数组中的滤波器参数在以定点数表示时的最大值,计算得到调整后的以定点数表示的第j维滤波器参数组中的滤波器参数。具体可以通过公式(8)调整以定点数表示的第j维滤波器参数组中的滤波器参数,调整后的以定点数表示的第j维滤波器参数组中的滤波器参数可以表示如下
通过公式(9)可以计算第j维偏置参数组的调整因子。
其中,adjust_b表示第j维偏置参数组的调整因子。
终端设备可以根据以浮点数表示的第j维偏置参数组中的偏置参数、第j维偏置参数组的调整因子、第j维偏置参数组的缩放因子、第j维偏置参数组中的偏置参数在以定点数表示时的最小值以及第j维偏置参数组中的偏置参数在以定点数表示时的最大值,计算得到调整后的以定点数表示的第j维偏置参数组中的偏置参数。具体可以通过公式(10)调整以定点数表示的第j维偏置参数组中的偏置参数,调整后的以定点数表示的第j维偏置参数组中的偏置参数可以表示如下:
终端设备可以将调整后的以定点数表示的第j维滤波器参数组中的滤波器参数和调整后的以定点数表示的第j维偏置参数组中的偏置参数预先存储至神经网络芯片中,无需在神经网络芯片运行时再调整,从而可以提高神经网络芯片的数据处理速度。
步骤208,对以定点数表示的输入数据、以定点数表示的滤波器参数以及以定点数表示的偏置参数进行卷积运算,得到以定点数表示的卷积层的输出数据,输出数据是指待处理图像的卷积运算结果。
该步骤208与步骤105相同,具体可参见步骤105的相关描述,在此不再赘述。
在一个实施例中,终端设备还可以获取输出数据的定点比特数;若以定点数表示的输出数据的当前比特数与输出数据的定点比特数不相等,则获取输出数据的缩放因子;根据缩放因子最大值和输出数据的缩放因子,将以定点数表示的输出数据由当前比特数调整为相应的定点比特数。
其中,输出数据的定点比特数可以是指输出数据在以定点数表示时占用的比特数。
终端设备可以获取L个以浮点数表示的样本输出数据,L为大于1的整数,对L个以浮点数表示的样本输出数据取绝对值,得到L个以浮点数表示的样本输出数据的绝对值的最大值,并将该最大值作为输出数据的阈值,根据输出数据的阈值和输出数据的定点比特数,可以得到输出数据的缩放因子。输出数据的缩放因子的计算公式可以参考输入数据的缩放因子的计算公式,在此不再赘述。
在得到以定点数表示的输出数据之后,通常将以定点数表示的输出数据存储至累加器中,以定点数表示的输出数据的当前比特数可以理解为累加器的定点比特数,在获取到输出数据的定点比特数之后,可以将输出数据的定点比特数和以定点数表示的输出数据的当前比特数据进行比较,在当前比特数与定点比特数不相等时,可以通过缩放因子最大值和输出数据的缩放因子,将以定点数表示的输出数据由当前比特数调整为定点比特数。例如,累加器的定点比特数为32比特,输出数据的定点比特数为12比特,那么需要将输出数据在以定点数表示时由32比特调整为12比特。
由于神经网络的卷积层包括M维滤波器参数组,每维滤波器参数组均有一个缩放因子最大值,那么M维滤波器参数组有M个缩放因子最大值,可以先遍历M个缩放因子最大值,得到M个缩放因子最大值中的最大值,并将M个缩放因子最大值中的最大值与输出数据的缩放因子进行比较,将两者中的最大值作为输出数据的缩放因子,根据该缩放因子和以第j维滤波器参数组为例的缩放因子最大值,可以将输出数据由当前比特数调整为定点比特数。
终端设备可以根据以定点数表示的输入数据、以定点数表示的第j维滤波器参数组中的滤波器参数、以定点数表示的第j维偏置参数组中的偏置参数、卷积结果的缩放因子与第j维偏置参数组的缩放因子中的缩放因子最大值以及输出数据的缩放因子,计算得到调整后的输出数据。具体可以通过公式(11)调整输出数据的当前比特数,得到调整后输出数据。
根据公式(1)、(3)、(5)的描述,可以确定所有缩放因子均为2的幂,故的结果是小于或者等于1且为2的幂,可以记为adjust_y,通过计算以2为底adjust_y的对数,可以得到输出数据向右移动的位数r_n。具体可以通过公式(12)得到r_n。
r_n=-log2(adjust_y) (12)
由于神经网络的卷积层包括M个缩放因子最大值,那么神经网络的卷积层也包括M个r_n。累加器中的定点数格式为[1,M,H3,W3],存储方式为连续的M块,每一块的大小均为H3*W3,对M块中的输出数据依次右移r_n,可以得到调整后的输出数据。
需要说明的是,本实施例在设置输入数据的定点比特数、滤波器参数的定点比特数、偏置参数的定点比特数和输出数据的定点比特数时,考虑了量化精度和定点模型在终端设备上执行的效率,也对大量神经网络进行了调研后,能够提高输入数据的定点比特数、滤波器参数的定点比特数、偏置参数的定点比特数和输出数据的定点比特数的准确性,从而提高输入数据、滤波器参数、偏置参数和输出数据的量化的准确性,提高神经网络的量化精度和在终端设备上的执行效率。
本申请实施例在通过神经网络对待处理图像进行卷积运算时,通过获取卷积计算过程中各数据的定点比特数,可以确定各数据的缩放因子,从而根据各数据的缩放因子,完成各数据的量化,降低卷积算子的计算量,从而减少对存储资源和计算资源的消耗,提高待处理图像的卷积运算效率。
参见图3,是本申请实施例三提供的图像处理装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
上述图像处理装置包括:
图像获取模块31,用于获取待处理图像;
图像输入模块32,用于将待处理图像输入神经网络,以确定神经网络中任一卷积层的输入数据;
数据处理模块33,用于若输入数据是以浮点数表示的,则获取输入数据的缩放因子,并根据输入数据的缩放因子,将输入数据由浮点数表示转换为定点数表示;
参数获取模块34,用于获取卷积层的以定点数表示的滤波器参数以及以定点数表示的偏置参数;
卷积运算模块35,用于对以定点数表示的输入数据、以定点数表示的滤波器参数以及以定点数表示的偏置参数进行卷积运算,得到以定点数表示的卷积层的输出数据,输出数据是指待处理图像的卷积运算结果。
在一个实施例中,数据处理模块33具体用于:
获取输入数据的定点比特数;
获取N个以浮点数表示的样本输入数据,N为大于1的整数;
对N个以浮点数表示的样本输入数据取绝对值,得到N个以浮点数表示的样本输入数据的绝对值的最大值,并将该最大值作为输入数据的阈值;
根据所述输入数据的阈值和所述输入数据的定点比特数,确定输入数据的缩放因子。
在一个实施例中,卷积层包括M维滤波器参数组,每维滤波器参数组包括至少一个以浮点数表示的滤波器参数,M为大于零的整数,参数获取模块34具体用于:
获取滤波器参数的定点比特数;
对第j维滤波器参数组中的滤波器参数取绝对值,得到第j维滤波器参数组对应的绝对值的最大值,并将该最大值作为第j维滤波器参数组的阈值,第j维滤波器参数组为M维滤波器参数组中的任一维滤波器参数组;
根据滤波器参数的定点比特数和第j维滤波器参数组的阈值,确定第j维滤波器参数组的缩放因子;
根据第j维滤波器参数组的缩放因子,将第j维滤波器参数组中的滤波器参数由浮点数表示转换为定点数表示。
在一个实施例中,卷积层包括M维偏置参数组,每维偏置参数组包括至少一个以浮点数表示的偏置参数,参数获取模块34具体用于:
获取偏置参数的定点比特数;
对第j维滤波器参数组对应的第j维偏置参数组中的偏置参数取绝对值,得到第j维偏置参数组对应的绝对值的最大值,并将该最大值作为第j维偏置参数组的阈值;
根据偏置参数的定点比特数和第j维偏置参数组的阈值,确定第j维偏置参数组的缩放因子;
根据第j维偏置参数组的缩放因子,将第j维偏置参数组中的偏置参数由浮点数表示转换为定点数表示。
在一个实施例中,上述图像处理装置还包括:
因子确定模块,用于根据输入数据的缩放因子和第j维滤波器参数组的缩放因子,确定以定点数表示的输入数据与以定点数表示的第j维滤波器参数组中的滤波器参数的卷积结果的缩放因子;
参数调整模块,用于若卷积结果的缩放因子与第j维偏置参数组的缩放因子不相等,则调整以定点数表示的第j维滤波器参数组中的滤波器参数和以定点数表示的第j维偏置参数组中的偏置参数,使得卷积结果的缩放因子与第j维偏置参数组的缩放因子相等。
上述参数调整模块具体用于:
确定卷积结果的缩放因子与第j维偏置参数组的缩放因子中的缩放因子最大值;
根据卷积结果的缩放因子和缩放因子最大值,确定卷积结果的调整因子;
根据卷积结果的调整因子,调整以定点数表示的第j维滤波器参数组中的滤波器参数;
根据第j维偏置参数组的缩放因子和缩放因子最大值,确定第j维偏置参数组的调整因子;
根据第j维偏置参数组的调整因子,调整以定点数表示的第j维偏置参数组中的偏置参数。
在一个实施例中,上述图像处理装置还包括:
输出获取模块,用于获取输出数据的定点比特数;
缩放获取模块,用于若以定点数表示的输出数据的当前比特数与输出数据的定点比特数不相等,则获取输出数据的缩放因子;
输出调整模块,用于根据缩放因子最大值和输出数据的缩放因子,将以定点数表示的输出数据由当前比特数调整为相应的定点比特数。
本申请实施例提供的图像处理装置可以应用在前述方法实施例一和实施例二中,详情参见上述方法实施例一和实施例二的描述,在此不再赘述。
图4是本申请实施例四提供的终端设备的结构示意图。如图4所示,该实施例的终端设备4包括:一个或多个处理器40(图中仅示出一个)、存储器41以及存储在所述存储器41中并可在所述至少一个处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个图像处理方法实施例中的步骤。
所述终端设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端设备4的示例,并不构成对终端设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器40可以是神经网络芯片,该处理器还可以是中央处理单元(CentralProcessing Unit,CPU)、其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述终端设备4的内部存储单元,例如终端设备4的硬盘或内存。所述存储器41也可以是所述终端设备4的外部存储设备,例如所述终端设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述终端设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本申请实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当所述计算机程序产品在终端设备上运行时,使得所述终端设备执行时实现可实现上述各个图像处理方法实施例中的步骤。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种图像处理方法,其特征在于,所述图像处理方法包括:
获取待处理图像;
将所述待处理图像输入神经网络,以确定所述神经网络中任一卷积层的输入数据;
若所述输入数据是以浮点数表示的,则获取所述输入数据的缩放因子,并根据所述输入数据的缩放因子,将所述输入数据由浮点数表示转换为定点数表示;
获取所述卷积层的以定点数表示的滤波器参数以及以定点数表示的偏置参数;
对以定点数表示的所述输入数据、以定点数表示的所述滤波器参数以及以定点数表示的所述偏置参数进行卷积运算,得到以定点数表示的所述卷积层的输出数据,所述输出数据是指所述待处理图像的卷积运算结果。
2.如权利要求1所述的图像处理方法,其特征在于,获取所述输入数据的缩放因子包括:
获取所述输入数据的定点比特数;
获取N个以浮点数表示的样本输入数据,N为大于1的整数;
对N个以浮点数表示的所述样本输入数据取绝对值,得到N个以浮点数表示的所述样本输入数据的绝对值的最大值,并将该最大值作为所述输入数据的阈值;
根据所述输入数据的阈值和所述输入数据的定点比特数,确定所述输入数据的缩放因子。
3.如权利要求1或2所述的图像处理方法,其特征在于,所述卷积层包括M维滤波器参数组,每维滤波器参数组包括至少一个以浮点数表示的滤波器参数,M为大于零的整数,获取所述卷积层的以定点数表示的滤波器参数包括:
获取所述滤波器参数的定点比特数;
对第j维滤波器参数组中的滤波器参数取绝对值,得到所述第j维滤波器参数组对应的绝对值的最大值,并将该最大值作为所述第j维滤波器参数组的阈值,所述第j维滤波器参数组为所述M维滤波器参数组中的任一维滤波器参数组;
根据所述滤波器参数的定点比特数和所述第j维滤波器参数组的阈值,确定所述第j维滤波器参数组的缩放因子;
根据所述第j维滤波器参数组的缩放因子,将所述第j维滤波器参数组中的滤波器参数由浮点数表示转换为定点数表示。
4.如权利要求3所述的图像处理方法,其特征在于,所述卷积层包括M维偏置参数组,每维偏置参数组包括至少一个以浮点数表示的偏置参数,获取所述卷积层的以定点数表示的偏置参数包括:
获取所述偏置参数的定点比特数;
对所述第j维滤波器参数组对应的第j维偏置参数组中的偏置参数取绝对值,得到所述第j维偏置参数组对应的绝对值的最大值,并将该最大值作为所述第j维偏置参数组的阈值;
根据所述偏置参数的定点比特数和所述第j维偏置参数组的阈值,确定所述第j维偏置参数组的缩放因子;
根据所述第j维偏置参数组的缩放因子,将所述第j维偏置参数组中的偏置参数由浮点数表示转换为定点数表示。
5.如权利要求4所述的图像处理方法,其特征在于,所述图像处理方法还包括:
根据所述输入数据的缩放因子和所述第j维滤波器参数组的缩放因子,确定以定点数表示的所述输入数据与以定点数表示的所述第j维滤波器参数组中的滤波器参数的卷积结果的缩放因子;
若所述卷积结果的缩放因子与所述第j维偏置参数组的缩放因子不相等,则调整以定点数表示的所述第j维滤波器参数组中的滤波器参数和以定点数表示的所述第j维偏置参数组中的偏置参数,使得所述卷积结果的缩放因子与所述第j维偏置参数组的缩放因子相等。
6.如权利要求5所述的图像处理方法,其特征在于,所述调整以定点数表示的所述第j维滤波器参数组中的滤波器参数和以定点数表示的所述第j维偏置参数组中的偏置参数包括:
确定所述卷积结果的缩放因子与所述第j维偏置参数组的缩放因子中的缩放因子最大值;
根据所述卷积结果的缩放因子和所述缩放因子最大值,确定所述卷积结果的调整因子;
根据所述卷积结果的调整因子,调整以定点数表示的所述第j维滤波器参数组中的滤波器参数;
根据所述第j维偏置参数组的缩放因子和所述缩放因子最大值,确定所述第j维偏置参数组的调整因子;
根据所述第j维偏置参数组的调整因子,调整以定点数表示的所述第j维偏置参数组中的偏置参数。
7.如权利要求6所述的图像处理方法,其特征在于,所述图像处理方法还包括:
获取所述输出数据的定点比特数;
若以定点数表示的所述输出数据的当前比特数与所述输出数据的定点比特数不相等,则获取所述输出数据的缩放因子;
根据所述缩放因子最大值和所述输出数据的缩放因子,将以定点数表示的所述输出数据由当前比特数调整为相应的定点比特数。
8.一种图像处理装置,其特征在于,所述图像处理装置包括:
图像获取模块,用于获取待处理图像;
图像输入模块,用于将所述待处理图像输入神经网络,以确定所述神经网络中任一卷积层的输入数据;
数据处理模块,用于若所述输入数据是以浮点数表示的,则获取所述输入数据的缩放因子,并根据所述输入数据的缩放因子,将所述输入数据由浮点数表示转换为定点数表示;
参数获取模块,用于获取所述卷积层的以定点数表示的滤波器参数以及以定点数表示的偏置参数;
卷积运算模块,用于对以定点数表示的所述输入数据、以定点数表示的所述滤波器参数以及以定点数表示的所述偏置参数进行卷积运算,得到以定点数表示的所述卷积层的输出数据,所述输出数据是指所述待处理图像的卷积运算结果。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述图像处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述图像处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994479.5A CN113780523B (zh) | 2021-08-27 | 2021-08-27 | 图像处理方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994479.5A CN113780523B (zh) | 2021-08-27 | 2021-08-27 | 图像处理方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113780523A true CN113780523A (zh) | 2021-12-10 |
CN113780523B CN113780523B (zh) | 2024-03-29 |
Family
ID=78839469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110994479.5A Active CN113780523B (zh) | 2021-08-27 | 2021-08-27 | 图像处理方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113780523B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115328438A (zh) * | 2022-10-13 | 2022-11-11 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
CN116720563A (zh) * | 2022-09-19 | 2023-09-08 | 荣耀终端有限公司 | 一种提升定点神经网络模型精度的方法、装置及电子设备 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018140294A1 (en) * | 2017-01-25 | 2018-08-02 | Microsoft Technology Licensing, Llc | Neural network based on fixed-point operations |
CN109002881A (zh) * | 2018-06-28 | 2018-12-14 | 郑州云海信息技术有限公司 | 基于fpga的深度神经网络的定点化计算方法及装置 |
CN109063825A (zh) * | 2018-08-01 | 2018-12-21 | 清华大学 | 卷积神经网络加速装置 |
CN109740740A (zh) * | 2019-01-03 | 2019-05-10 | 厦门美图之家科技有限公司 | 卷积计算的定点加速方法及装置 |
WO2019143026A1 (ko) * | 2018-01-16 | 2019-07-25 | 한국과학기술원 | 특징맵 압축을 이용한 이미지 처리 방법 및 장치 |
CN110062246A (zh) * | 2018-01-19 | 2019-07-26 | 杭州海康威视数字技术股份有限公司 | 对视频帧数据进行处理的方法和装置 |
US20200026986A1 (en) * | 2018-04-27 | 2020-01-23 | Samsung Electronics Co., Ltd. | Neural network method and appartus with parameter quantization |
CN111461302A (zh) * | 2020-03-30 | 2020-07-28 | 杭州嘉楠耘智信息科技有限公司 | 一种基于卷积神经网络的数据处理方法、设备及存储介质 |
CN112232477A (zh) * | 2019-07-15 | 2021-01-15 | 阿里巴巴集团控股有限公司 | 图像数据处理方法、装置、设备及介质 |
CN112287968A (zh) * | 2020-09-23 | 2021-01-29 | 深圳云天励飞技术股份有限公司 | 图像模型训练、图像处理方法、芯片、设备及介质 |
CN112381205A (zh) * | 2020-09-29 | 2021-02-19 | 北京清微智能科技有限公司 | 一种神经网络低比特量化方法 |
WO2021083154A1 (en) * | 2019-10-30 | 2021-05-06 | Huawei Technologies Co., Ltd. | Method and apparatus for quantization of neural networks post training |
CN112990438A (zh) * | 2021-03-24 | 2021-06-18 | 中国科学院自动化研究所 | 基于移位量化操作的全定点卷积计算方法、系统及设备 |
-
2021
- 2021-08-27 CN CN202110994479.5A patent/CN113780523B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018140294A1 (en) * | 2017-01-25 | 2018-08-02 | Microsoft Technology Licensing, Llc | Neural network based on fixed-point operations |
WO2019143026A1 (ko) * | 2018-01-16 | 2019-07-25 | 한국과학기술원 | 특징맵 압축을 이용한 이미지 처리 방법 및 장치 |
CN110062246A (zh) * | 2018-01-19 | 2019-07-26 | 杭州海康威视数字技术股份有限公司 | 对视频帧数据进行处理的方法和装置 |
US20200026986A1 (en) * | 2018-04-27 | 2020-01-23 | Samsung Electronics Co., Ltd. | Neural network method and appartus with parameter quantization |
CN109002881A (zh) * | 2018-06-28 | 2018-12-14 | 郑州云海信息技术有限公司 | 基于fpga的深度神经网络的定点化计算方法及装置 |
CN109063825A (zh) * | 2018-08-01 | 2018-12-21 | 清华大学 | 卷积神经网络加速装置 |
CN109740740A (zh) * | 2019-01-03 | 2019-05-10 | 厦门美图之家科技有限公司 | 卷积计算的定点加速方法及装置 |
CN112232477A (zh) * | 2019-07-15 | 2021-01-15 | 阿里巴巴集团控股有限公司 | 图像数据处理方法、装置、设备及介质 |
WO2021083154A1 (en) * | 2019-10-30 | 2021-05-06 | Huawei Technologies Co., Ltd. | Method and apparatus for quantization of neural networks post training |
CN111461302A (zh) * | 2020-03-30 | 2020-07-28 | 杭州嘉楠耘智信息科技有限公司 | 一种基于卷积神经网络的数据处理方法、设备及存储介质 |
CN112287968A (zh) * | 2020-09-23 | 2021-01-29 | 深圳云天励飞技术股份有限公司 | 图像模型训练、图像处理方法、芯片、设备及介质 |
CN112381205A (zh) * | 2020-09-29 | 2021-02-19 | 北京清微智能科技有限公司 | 一种神经网络低比特量化方法 |
CN112990438A (zh) * | 2021-03-24 | 2021-06-18 | 中国科学院自动化研究所 | 基于移位量化操作的全定点卷积计算方法、系统及设备 |
Non-Patent Citations (1)
Title |
---|
张榜;来金梅;: "一种基于FPGA的卷积神经网络加速器的设计与实现", 复旦学报(自然科学版), no. 02 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116720563A (zh) * | 2022-09-19 | 2023-09-08 | 荣耀终端有限公司 | 一种提升定点神经网络模型精度的方法、装置及电子设备 |
CN116720563B (zh) * | 2022-09-19 | 2024-03-29 | 荣耀终端有限公司 | 一种提升定点神经网络模型精度的方法、装置及电子设备 |
CN115328438A (zh) * | 2022-10-13 | 2022-11-11 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113780523B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108510067B (zh) | 基于工程化实现的卷积神经网络量化方法 | |
CN110610237A (zh) | 模型的量化训练方法、装置及存储介质 | |
CN110929865B (zh) | 网络量化方法、业务处理方法及相关产品 | |
CN113326930B (zh) | 数据处理方法、神经网络的训练方法及相关装置、设备 | |
CN111488985B (zh) | 深度神经网络模型压缩训练方法、装置、设备、介质 | |
CN113780523A (zh) | 图像处理方法、装置、终端设备及存储介质 | |
CN109766800B (zh) | 一种移动端花卉识别模型的构建方法 | |
CN109800865B (zh) | 神经网络生成及图像处理方法和装置、平台、电子设备 | |
CN110718211B (zh) | 一种基于混合压缩卷积神经网络的关键词识别系统 | |
EP4087239A1 (en) | Image compression method and apparatus | |
CN110688088A (zh) | 一种面向神经网络的通用非线性激活函数计算装置和方法 | |
CN111240746B (zh) | 一种浮点数据反量化及量化的方法和设备 | |
CN111860276B (zh) | 人体关键点检测方法、装置、网络设备及存储介质 | |
CN110717585A (zh) | 神经网络模型的训练方法、数据处理方法和相关产品 | |
CN112446491A (zh) | 神经网络模型实时自动量化方法及实时自动量化系统 | |
CN110874625A (zh) | 一种深度神经网络量化方法及装置 | |
CN111126481A (zh) | 一种神经网络模型的训练方法及装置 | |
CN108596328A (zh) | 一种定点化方法及装置、计算机设备 | |
CN113780549A (zh) | 溢出感知的量化模型训练方法、装置、介质及终端设备 | |
Choi et al. | Retrain-less weight quantization for multiplier-less convolutional neural networks | |
CN112085175B (zh) | 基于神经网络计算的数据处理方法和装置 | |
CN110955405B (zh) | 一种输入数据的处理及指数值获取方法、装置及电子设备 | |
CN116912556A (zh) | 图片分类方法、装置、电子设备及存储介质 | |
CN112686365A (zh) | 运行神经网络模型的方法、装置和计算机设备 | |
CN112561050B (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 |