CN112926020B - 反卷积处理方法、图像处理方法和相应装置 - Google Patents
反卷积处理方法、图像处理方法和相应装置 Download PDFInfo
- Publication number
- CN112926020B CN112926020B CN201911244336.1A CN201911244336A CN112926020B CN 112926020 B CN112926020 B CN 112926020B CN 201911244336 A CN201911244336 A CN 201911244336A CN 112926020 B CN112926020 B CN 112926020B
- Authority
- CN
- China
- Prior art keywords
- deconvolution
- tensor
- expansion
- convolution
- weight
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 127
- 230000008707 rearrangement Effects 0.000 claims abstract description 99
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000002441 reversible effect Effects 0.000 claims abstract description 27
- 239000013598 vector Substances 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000005520 cutting process Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000005457 optimization Methods 0.000 abstract description 15
- 230000009467 reduction Effects 0.000 abstract description 14
- 230000001133 acceleration Effects 0.000 abstract description 13
- 230000002829 reductive effect Effects 0.000 abstract description 13
- 238000007781 pre-processing Methods 0.000 abstract description 12
- 238000004364 calculation method Methods 0.000 description 42
- 230000008569 process Effects 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000003475 lamination Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000011084 recovery Methods 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
Abstract
本申请实施例提供了一种反卷积处理方法、图像处理方法和相应装置。该方法包括:获取反卷积对应的重排权重,重排权重是对反卷积的原始权重进行倒序重排得到的;根据反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充,得到扩充张量;根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量。该方法通过对反卷积的原始权重做预处理来得到重排权重,以及对反卷积的原始输入张量做可并行化的预处理来得到扩充张量,进而根据重排权重和扩充张量,将反卷积运算转换为有成熟并行计算优化方案的卷积运算,且得到与反卷积运算结果相同的输出张量,有效降低了计算方案的复杂度,以便于进行加速优化,实现反卷积运算的降耗。
Description
技术领域
本申请实施例涉及图像处理技术领域,具体而言,本申请实施例涉及一种反卷积处理方法、图像处理方法和相应装置。
背景技术
图像处理主要是利用计算机来分析、加工、和处理图形和图像信息,这一技术被应用到人类生活和工作的方方面面。在对图像进行一系列的传输和处理中,一些现实的特性或因素会使得到图像发生降质,例如不可避免的噪声污染、细节模糊等。
随着神经网络在图像处理技术领域的不断应用与发展,反卷积(Deconvolution)技术通常用来减少或去除图像质量下降问题,其能够将低维特征向高维特征进行映射和重构,实现图像的变大和还原,达到理想的清晰度和分辨率。但是,现有的反卷积运算复杂度高,无法实现理想的性能优化,会带来资源与能源上的巨大消耗。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
第一方面,本申请实施例提供了一种反卷积处理方法,该方法包括:
获取反卷积对应的重排权重,重排权重是对反卷积的原始权重进行倒序重排得到的;
根据反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充,得到扩充张量;
根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量。
在一种可选的实现方式中,对反卷积的原始权重进行倒序重排,得到重排权重,包括:
对反卷积的原始权重进行压平处理,得到一维权重向量;
对一维权重向量进行倒序重排;
基于倒序重排后的一维向量得到重排权重。
在一种可选的实现方式中,反卷积处理参数包括卷积核尺寸和原始卷积步长,根据反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充,包括:
根据卷积核尺寸,确定原始输入张量的边缘扩充数据量;
根据原始卷积步长,确定原始输入张量的元素间扩充数据量;
根据边缘扩充数据量和元素间扩充数据量,将反卷积的原始输入张量进行数据扩充。
在一种可选的实现方式中,根据边缘扩充数据量和元素间扩充数据量,将反卷积的原始输入张量进行数据扩充,包括:
根据边缘扩充数据量和元素间扩充数据量,采用指定值,将反卷积的原始输入张量进行数据扩充。
在一种可选的实现方式中,指定值为零。
在一种可选的实现方式中,卷积核尺寸中的卷积核宽度和卷积核高度相同,根据卷积核尺寸,确定原始输入张量的边缘扩充数据量,包括:
将卷积核宽度减一,得到边缘扩充数据量。
在一种可选的实现方式中,根据原始卷积步长,确定原始输入张量的元素间扩充数据量,包括:
将原始卷积步长减一,得到元素间扩充数据量。
在一种可选的实现方式中,根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量,包括:
根据重排权重,以及预设的卷积处理参数,对扩充张量进行卷积运算,得到反卷积的输出张量。
在一种可选的实现方式中,预设的卷积处理参数包括预设卷积步长和预设卷积填充参数,预设卷积步长为一,预设卷积填充参数为零。
在一种可选的实现方式中,若反卷积的原始卷积填充参数不为零,根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量,包括:
根据重排权重,对扩充张量进行卷积运算,得到卷积结果;
根据原始卷积填充参数,对卷积结果进行剪裁,得到反卷积的输出张量。
在一种可选的实现方式中,根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量,包括:
根据重排权重,采用并行处理方式,对扩充张量进行卷积运算,得到反卷积的输出张量。
第二方面,本申请实施例提供了一种图像处理方法,包括:
获取待处理图像;
通过图像处理模型对待处理图像进行处理,得到对应的图像处理结果;
其中,图像处理模型包括反卷积层,图像处理模型的至少一个反卷积层采用本申请第一方面或第一方面任一可选的实现方式中所提供的反卷积处理方法进行相应的反卷积运算。
在一种可选的实现方式中,上述至少一个反卷积层采用本申请第一方面或第一方面任一可选的实现方式中所提供的反卷积处理方法进行相应的反卷积运算,包括:
确定反卷积层的原始输入张量的数据规模;
当数据规模大于预定阈值时,该至少一个反卷积层采用本申请第一方面或第一方面任一可选的实现方式中所提供的反卷积处理方法进行相应的反卷积运算。
在一种可选的实现方式中,图像处理模型包括图像超分模型、图像语义分割模型或图像修复模型。
第三方面,本申请实施例提供了一种反卷积处理装置,该装置包括:
权重确定模块,用于获取反卷积对应的重排权重,重排权重是对反卷积的原始权重进行倒序重排得到的;
数据扩充模块,用于根据反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充,得到扩充张量;
卷积运算模块,用于根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量。
在一种可选的实现方式中,权重确定模块在用于对反卷积的原始权重进行倒序重排,得到重排权重时,具体用于:
对反卷积的原始权重进行压平处理,得到一维权重向量;
对一维权重向量进行倒序重排;
基于倒序重排后的一维向量得到重排权重。
在一种可选的实现方式中,反卷积处理参数包括卷积核尺寸和原始卷积步长,数据扩充模块在用于根据反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充时,具体用于:
根据卷积核尺寸,确定原始输入张量的边缘扩充数据量;
根据原始卷积步长,确定原始输入张量的元素间扩充数据量;
根据边缘扩充数据量和元素间扩充数据量,将反卷积的原始输入张量进行数据扩充。
在一种可选的实现方式中,数据扩充模块在用于根据边缘扩充数据量和元素间扩充数据量,将反卷积的原始输入张量进行数据扩充时,具体用于:
根据边缘扩充数据量和元素间扩充数据量,采用指定值,将反卷积的原始输入张量进行数据扩充。
在一种可选的实现方式中,指定值为零。
在一种可选的实现方式中,卷积核尺寸中的卷积核宽度和卷积核高度相同,数据扩充模块在用于根据卷积核尺寸,确定原始输入张量的边缘扩充数据量时,具体用于:
将卷积核宽度减一,得到边缘扩充数据量。
在一种可选的实现方式中,数据扩充模块在用于根据原始卷积步长,确定原始输入张量的元素间扩充数据量时,具体用于:
将原始卷积步长减一,得到元素间扩充数据量。
在一种可选的实现方式中,卷积运算模块在用于根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量时,具体用于:
根据重排权重,以及预设的卷积处理参数,对扩充张量进行卷积运算,得到反卷积的输出张量。
在一种可选的实现方式中,预设的卷积处理参数包括预设卷积步长和预设卷积填充参数,预设卷积步长为一,预设卷积填充参数为零。
在一种可选的实现方式中,若反卷积的原始卷积填充参数不为零,卷积运算模块在用于根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量时,具体用于:
根据重排权重,对扩充张量进行卷积运算,得到卷积结果;
根据原始卷积填充参数,对卷积结果进行剪裁,得到反卷积的输出张量。
在一种可选的实现方式中,卷积运算模块在用于根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量时,具体用于:
根据重排权重,采用并行处理方式,对扩充张量进行卷积运算,得到反卷积的输出张量。
第四方面,本申请实施例提供了一种图像处理装置,该装置包括:
获取模块,用于获取待处理图像;
图像处理模块,用于通过图像处理模型对待处理图像进行处理,得到对应的图像处理结果;
其中,图像处理模型包括反卷积层,图像处理模型的至少一个反卷积层采用本申请第一方面或第一方面任一可选的实现方式中所提供的反卷积处理方法进行相应的反卷积运算。
在一种可选的实现方式中,上述上述至少一个反卷积层采用本申请第一方面或第一方面任一可选的实现方式中所提供的反卷积处理方法进行相应的反卷积运算,包括:
确定反卷积层的原始输入张量的数据规模;
当数据规模大于预定阈值时,该至少一个反卷积层采用本申请第一方面或第一方面任一可选的实现方式中所提供的反卷积处理方法进行相应的反卷积运算。
在一种可选的实现方式中,图像处理模型包括图像超分模型、图像语义分割模型或图像修复模型。
第五方面,本申请实施例提供了一种电子设备,该电子设备包括:
处理器和存储器,存储器存储有计算机程序,该计算机程序由处理器加载并执行以实现如本申请实施例的第一方面、第一方面的任一可选的实现方式、第二方面或第二方面的任一可选的实现方式中所示的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机存储介质用于存储计算机程序,当该计算机程序在计算机上运行时,使得计算机执行如本申请实施例的第一方面、第一方面的任一可选的实现方式、第二方面或第二方面的任一可选的实现方式中所示的方法。
本申请实施例提供的反卷积处理方法、图像处理方法和相应装置,通过对反卷积的原始权重做预处理来得到重排权重,以及对反卷积的原始输入张量做可并行化的预处理来得到扩充张量,进而根据重排权重和扩充张量,将反卷积运算转换为有成熟并行计算优化方案的卷积(Convolution)运算,且得到与反卷积运算结果相同的输出张量,有效降低了计算方案的复杂度,以便于进行加速优化,实现反卷积运算的降耗。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图做简单的介绍。
图1为本申请实施例提供的一种反卷积处理方法的流程示意图;
图2为本申请实施例提供的一种反卷积处理装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为了更好的说明本申请实施例所提供的方案,下面先对本申请实施例所涉及到的技术用语进行简单的介绍说明。
(1)Convolution(即卷积):指Caffe(Convolutional Architecture for FastFeature Embedding,深度学习训练框架)中所定义的Convolution算子,中文一般翻译为"卷积"。
(2)Deconvolution(即反卷积):指Caffe中所定义的Deconvolution算子,中文一般翻译为“反卷积”,常用于语义分割等AI(Artificial Intelligence,人工智能)模型中。
(3)Tensor:指反卷积计算的输入或输出变量,中文一般翻译为“张量”,其物理意义是一个多维的实数矩阵。
(4)Stride:卷积的步长。
(5)Pad:对输出张量的边沿做裁剪时所裁剪的尺寸。
(6)KernelSize:卷积核的尺寸。
为使反卷积的定义更加清楚,下述按照定义描述了一个典型的反卷积计算,其中,该反卷积的原始卷积步长Stride=2,卷积核尺寸KernelSize=3,原始卷积填充参数Pad=1,输入输出通道数均为1。需要说明的是,本申请实施例中,基于卷积核的宽与高相等的情况进行处理。
如表1所示,该反卷积的原始输入Tensor为:
表1反卷积的原始输入Tensor
其中,表1中的数字表示其在输入Tensor中的坐标(先行后列)。如表2所示,该反卷积的原始权重为:
w00 | w01 | w02 |
w10 | w11 | w12 |
w20 | w21 | w22 |
表2反卷积的原始权重如表3所示,该反卷积的原始偏置为:
表3反卷积的原始偏置该反卷积的算流程伪代码为:
O=O[Pad:(output_size-Pad)][Pad:(output_size-Pad)]
其中,在使用原始卷积填充参数对计算结果进行裁边之前,得到的计算结果O如表4所示:
表4中间计算结果
其中,上述过程可以理解为,将表2分别与表1中的各个坐标代表的值相乘,得到的16个3×3的矩阵,按照表1中矩阵的位置关系进行单边重叠叠加,得到9×9的上述矩阵。
在经过原始卷积填充参数对计算结果O进行裁边后,如表5所示,计算出的该反卷积的输出Tensor为:
O00 | O01 | O02 | O03 | O04 | O05 | O06 |
O10 | O11 | O12 | O13 | O14 | O15 | O16 |
O20 | O21 | O22 | O23 | O24 | O25 | O26 |
O30 | O31 | O32 | O33 | O34 | O35 | O36 |
O40 | O41 | O42 | O43 | O44 | O45 | O46 |
O50 | O51 | O52 | O53 | O54 | O55 | O56 |
O60 | O61 | O62 | O63 | O64 | O65 | O66 |
表5反卷积的输出Tensor
即该反卷积的输出Tensor是一个7×7的矩阵。表5中的数字表示其在输出Tensor中的坐标(先行后列)。
本申请实施例提供了一种反卷积处理方案,对反卷积的原始权重做预处理来得到重排权重,以及对反卷积的原始输入张量做可并行化的预处理来得到扩充张量,进而根据重排权重和扩充张量,将反卷积运算转换为有成熟并行计算优化方案的卷积运算,能够得到与反卷积运算结果相同的输出张量。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了一种反卷积处理方法,如图1所示,该方法包括:
步骤S110:获取反卷积对应的重排权重,重排权重是对反卷积的原始权重进行倒序重排得到的;
其中,反卷积的原始权重即该反卷积计算(目标反卷积)中使用的权重(Weight)参数,可以看作该反卷积计算的卷积核(Kernel),用于对该反卷积计算的输入数据进行反卷积,通常表示为一定大小的权重矩阵,包含多个权重元素。
本申请实施例中,对反卷积的原始权重进行倒序重排得到重排权重,重排权重可以用作后续步骤S130中卷积计算的卷积核。
步骤S120:根据反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充,得到扩充张量;
其中,反卷积处理参数为该反卷积计算中使用的相关参数,例如该反卷积计算中使用的卷积步长(Stride)、卷积核尺寸(KernelSize)、卷积填充参数(Pad)等。
反卷积的原始输入张量(Tensor)是指该反卷积计算的输入数据,反卷积的原始权重进行反卷积运算后会得到反卷积的输出张量。
本申请实施例中,根据反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充,得到扩充张量,扩充张量可以用作后续步骤S130中卷积计算的输入数据。
本申请实施例中,不具体限定步骤S110和步骤S120的执行顺序,例如步骤S110和步骤S120可以同时执行,也可以先执行步骤S110,再执行步骤S120,或者也可以先执行步骤S120,再执行步骤S110等。
步骤S130:根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量。
也就是说,通过本申请实施例的卷积过程,可以得到与目标反卷积的结果相同的输出张量。
本申请实施例提供的一种反卷积处理方法,通过对反卷积的原始权重做预处理来得到重排权重,以及对反卷积的原始输入张量做可并行化的预处理来得到扩充张量,进而根据重排权重和扩充张量,将反卷积运算转换为有成熟并行计算优化方案的卷积运算,且得到与反卷积运算结果相同的输出张量,有效降低了计算方案的复杂度,以便于进行加速优化,实现反卷积运算的降耗。
本申请实施例中,对反卷积的原始权重进行倒序重排得到重排权重的过程可以是实时进行的,即步骤S110中,直接对反卷积的原始权重进行倒序重排,得到重排权重。
或者,对反卷积的原始权重进行倒序重排得到重排权重的过程也可以是离线进行的,即离线对反卷积的原始权重进行倒序重排得到重排权重,步骤S110中,直接获到离线得到的重排权重进行使用。
本申请实施例中,对于同一个反卷积计算,可以在一次重排后,使用得到的重排权重完成后续多次计算。
本申请实施中,为步骤S110提供了一种可行的实施方式,具体地,可以通过添加临时变量,将w[y][x]与w[KernelSize-1-y][KernelSize-1-x]相应位置的权重因素依次进行交换,例如以表2所示的反卷积的原始权重为例,将w00与w22进行交换,将w01与w21进行交换等以此类推,便可得到重排权重。
本申请实施中,为步骤S110提供了一种可行的实施方式,具体地,步骤S110可以包括步骤:
步骤S111:对反卷积的原始权重进行压平(Flatten)处理,得到一维权重向量;
其中,压平处理可以使得多维数据一维化,那么将反卷积的原始权重一维化,便可得到一维权重向量,例如以表2所示的反卷积的原始权重为例,压平处理后得到的一维权重向量为[w00,w01,w02,w10,w11,w12,w20,w21,w22]。
步骤S112:对一维权重向量进行倒序重排(Reverse);
接上例,将一维权重向量倒序重排后,得到的倒序重排后的一维向量为[w22,w21,w20 w12,w11,w10,w02,w01,w00]。
步骤S113:基于倒序重排后的一维向量得到重排权重。
即将倒序重排后的一维向量重塑(reshape)为权重矩阵,便可得到重排权重。
本申请实施例中,继续以表2所示的反卷积的原始权重为例,进行倒序重排后,得到的重排权重如表6所示:
w22 | w21 | w20 |
w12 | w11 | w10 |
w02 | w01 | w00 |
表6重排权重
下文中,为便于描述,将重排权重简称为WR,其中,WR[i][j]表示重排权重中第i行第j列的权重元素。
本申请实施例中,关于步骤S120,反卷积处理参数包括卷积核尺寸和原始卷积步长,具体而言,步骤S120可以包括如下步骤:
步骤S121:根据卷积核尺寸,确定原始输入张量的边缘扩充数据量;
步骤S122:根据原始卷积步长,确定原始输入张量的元素间扩充数据量;
步骤S123:根据边缘扩充数据量和元素间扩充数据量,将反卷积的原始输入张量进行数据扩充,得到扩充张量。
由于反卷积过程会使输出大小变大,而卷积过程相反,本申请实施例中,为了使后续的步骤S130得到的结果与反卷积的输出张量相同,需要对原始输入张量进行数据扩充。
其中,扩充数据量指的是要扩充的元素的个数,则边缘扩充数据量是指原始输入张量的四个边缘分别要扩充的元素的个数,同理地,元素间扩充数据量是指原始输入张量的各个元素间分别要扩充的元素的个数。
一种可行的实施方式中,卷积核尺寸中的卷积核宽度和卷积核高度相同,且卷积核宽度大小、卷积核高度大小均与卷积核尺寸大小相同,步骤S121可通过如下方式实现:将卷积核尺寸减一,即将卷积核宽度减一,得到边缘扩充数据量,也可以认为是将卷积核高度减一,得到边缘扩充数据量。
若定义边缘扩充数据量为deconv_pad,即deconv_pad=KernelSize-1,也就是表示原始输入张量的四个边缘分别要扩充的元素是deconv_pad的宽度。
以表1所示的反卷积的原始输入张量为例,由于deconv_pad=KernelSize-1=2,所以四个边缘分别要扩充的元素的个数为2。
一种可行的实施方式中,步骤S122可通过如下方式实现:将原始卷积步长减一,得到元素间扩充数据量。
若定义元素间扩充数据量为deconv_dilate,即deconv_dilate=stride-1,也就是表示原始输入张量的各个元素间分别要扩充的元素是deconv_dilate的宽度。
以表1所示的反卷积的原始输入张量为例,由于deconv_dilate=stride-1=1,所以各个元素间分别要扩充的元素的个数为1。
本申请实施例中,不具体限定步骤S110和步骤S120的执行顺序,例如步骤S110和步骤S120可以同时执行,也可以先执行步骤S110,再执行步骤S120,或者也可以先执行步骤S120,再执行步骤S110等。
本申请实施例的步骤S123中,根据deconv_pad和deconv_dilate将原始输入张量进行数据扩充,可以理解,如果原始输入张量的尺寸是s1,那么得到的扩充张量的尺寸s2为:
s2=s1+deconv_pad×2+(s1-1)×deconv_dilate
=s1+(KernelSize-1)×2+(s1-1)×(stride-1)
以表1所示的反卷积的原始输入张量为例,s2=4+2×2+3×1=11,即得到的扩充张量的尺寸为11。
本申请实施例中,步骤S123具体可以包括:根据边缘扩充数据量和元素间扩充数据量,采用指定值,将反卷积的原始输入张量进行数据扩充,得到扩充张量。
其中,扩充的各个元素采用的指定值可以相同也可以不同。
本申请实施例提供了一种可行的实现方式,具体而言,指定值为零,即扩充的各个元素均为0,此时所采用的计算量最小,也可以达到本申请实施例提供的技术方案的目的。
这种情况下,将反卷积的原始输入张量进行数据扩充的操作也可以成为补零操作,边缘扩充数据量也可称为边缘补零参数,元素间扩充数据量也可以称为元素间补零参数或补零间隔等,本申请实施例在此不做限定。
以表1所示的反卷积的原始输入张量为例,则得到的扩充Tensor如
表7所示:
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | I00 | 0 | I01 | 0 | I02 | 0 | I03 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | I10 | 0 | I11 | 0 | I12 | 0 | I13 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | I20 | 0 | I21 | 0 | I22 | 0 | I23 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | I30 | 0 | I31 | 0 | I32 | 0 | I33 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
表7扩充Tensor
其中,前两行、末两行、最左两列、最右两列都是扩充的0,各个元素间扩充了1个0,例如I00到I01间隔了一个0。
下文中,为便于描述,将扩充Tensor简称为II,其中,II(i,j)表示扩充Tensor中第i行第j列的元素,同理定义OO为对II做步骤S130的卷积后的卷积结果。
本申请实施例中,关于步骤S130,在通过步骤S110得到重排权重,例如上述WR,以及通过步骤S110得到扩充张量,例如上述II后,使用重排权重作为卷积核,便可执行对扩充张量的卷积,例如使用WR作为卷积核,执行对II的卷积。
本申请实施例中,还可以预设卷积处理参数,进而在步骤S130中,根据重排权重,以及预设的卷积处理参数,对扩充张量进行卷积运算。
具体而言,预设的卷积处理参数包括预设卷积步长和预设卷积填充参数,本申请实施例中,可以设置预设卷积步长为一,预设卷积填充参数为零。
即步骤S130中,根据重排权重,对扩充张量进行预设卷积步长为一,预设卷积填充参数为零的卷积运算。
作为示例地,使用WR作为卷积核,使用II作为输入Tensor,做Stride=1,Pad=0的卷积。卷积计算的伪代码如下:
const input_size=11
const output_size=9
//以II为输入,做步长为1,Pad为0,使用WR作为卷积核的卷积Convolution(II,OO,Stride=1,Pad=0,Kernel=WR)
输出的卷积结果OO即如表4所示计算结果,与反卷积操作得到的计算结果O相同。
本申请实施例中,使用预设的卷积处理参数进行卷积运算,便于在卷积运算时使用各种卷积计算加速手段对卷积过程进行加速,进一步有助于计算过程的加速优化,促进反卷积运算的降耗。
可以理解,若原始的反卷积计算不存在给定的原始卷积填充参数,即原始卷积填充参数为零时,输出的卷积结果OO就是反卷积运算的输出Tensor。
而上述示例中,由于原始的反卷积计算存在给定的原始卷积填充参数,在根据反卷积的原始输入Tensor、原始权重和原始卷积步长进行反卷积计算O后,需要使用原始卷积填充参数对计算结果O进行裁边,而以II为输入,做步长为1,Pad为0,使用WR作为卷积核的卷积后,输出的卷积结果OO与反卷积计算结果O相同,也需要对计算结果OO进行裁边,此时也使用相同的原始卷积填充参数对计算结果OO进行裁边即可。
也就是说,本申请实施例中,若反卷积的原始卷积填充参数不为零,对于步骤S130,具体包括以下步骤:
步骤S131:根据重排权重,对扩充张量进行卷积运算,得到卷积结果;
以使用WR作为卷积核,使用II作为输入Tensor,做Stride=1,Pad=0的卷积为例,得到卷积结果即得到计算结果OO。
步骤S132:根据原始卷积填充参数,对卷积结果进行剪裁,得到反卷积的输出张量。
使用反卷积运算相同的原始卷积填充参数对卷积结果进行裁边,此时,剪裁后的结果就是反卷积运算的输出Tensor。
接上例,原始卷积填充参数Pad=1,剪裁过程的伪代码如下:
//根据Pad=1对OO做裁边
OO=OO[Pad:(output_size-Pad)][Pad:(output_size-Pad)]
便可输出如表5所示的反卷积的输出Tensor,也就是能够将反卷积运算完整转换为卷积运算,并得到与反卷积运算结果相同的输出张量。
本申请的发明人意识到,现有的反卷积运算复杂度高,无法实现理想的性能优化,会带来资源与能源上的巨大消耗,例如以上文中的伪代码loop2逻辑为例,由于输出数据的累加处于最内层循环,对于计算的优化,非常不友好。例如对于GPU(Graphics ProcessingUnit,图形处理器)的计算而言,内部两重循环会多次累加输出Tensor的相同元素,无法在输出维度实现并行化计算。
本申请实施例中,将反卷积运算转换为卷积运算,便可以利用各种卷积运算加速手段对反卷积运算进行加速,具体而言,在步骤S130中,根据重排权重,采用并行处理(Parallel Processing)方式,对扩充张量进行卷积运算,得到反卷积的输出张量。
其中,对卷积运算采用并行处理方式,指的是将卷积运算分为多任务,并同时执行两个或多个任务,对于本申请实施例,可以有效降低反卷积计算的时间复杂度,提高反卷积计算速度和提升计算效率。
作为示例地,将卷积运算通过CUDA(Compute Unified Device Architecture,计算统一设备架构)技术在GPGPU(General Purpose Graphic Process Unit,通用计算图形处理器)上执行,对于在某些平台,可以对一定规模的可并行算法提高数倍甚至数十倍的加速。
实际应用中,对于不同类型的指令集和体系架构的计算单元组成的***,可以采用不同的并行处理方式。例如,GPGPU、GPU的CUDA技术、CPU的MIMD(Multiplone InstructiStream Multiple Data Stream,多指令流多数据流)技术、iOS的多线程Metal技术等,本领域技术人员可以根据实际情况进行扩展,本申请实施例在此不作限定。
由于反卷积可以理解为卷积操作的逆运算,是通过测量输出和已知输入重构未知输入的过程。在神经网络中,由于反卷积网络的特性,导致它有许多特别的应用,一般可以用于信道均衡、图像恢复、语音识别、地震学、无损探伤等未知输入估计和过程辨识方便的问题。因此,本申请实施例所提供的反卷积处理方法可以应用于上述各应用场景中,以提升上述各应用场景中反卷积运算的效率,并减少对电子设备的资源消耗。
下面以图像处理领域为例,结合该应用场景对基于本申请所提供的卷积处理方法的实际应用进行进一步说明。
具体的,基于本申请上述各实施例提供的反卷积处理方法,本申请实施例还提供了一种图像处理方法,该方法可以包括:
获取待处理图像;
通过图像处理模型对待处理图像进行处理,得到对应的图像处理结果;
其中,图像处理模型包括反卷积层,图像处理模型的至少一个反卷积层采用本申请上述任一可选实施例中所提供的反卷积处理方法进行相应的反卷积运算。
也就是说,本申请实施例所提供的反卷积处理方法具体可以应用于图像处理模型中,图像处理模型中的一个或多个反卷积层可以采用该反卷积处理方法实现对图像或特征图的上采样处理,具体的,可以采用图1中所示的反卷积处理方法或者基于图1所示方法的其他可选反卷积处理方法进行反卷积层的运算。
另外,对于本领域技术人员而言清楚的是,在实际应用中,对于不同的图像处理需求,上述图像处理模型可以不同,相应的图像处理结果也会不同。
本申请的可选实施例中,该图像处理模型具体可以包括但不限于图像超分模型、图像语义分割模型或图像修复模型。
在图像处理领域,通常需要首先基于待处理的原图像进行图像特征的提取,再基于所提取的特征进行进一步处理,在进行特征提取时,所提取得到的特征图通常会小于原图像的大小,在基于特征图完成进一步的处理后,为了得到与原图像大小一致的图像,需要对进一步处理后的特征图或图像进行上采样处理,而在图像处理模型中则通常都是采用反卷积层来实现的,因此,可以将本申请实施例所提供的反卷积处理方法应用在各类型的具有反卷积结构的图像处理模型中,以提高图像处理效率,减少对电子设备的资源消耗。
例如,为了提高图像的分辨率,则可以通过图像超分模型实现,图像超分模型中则可以通过反卷积结构实现对原图像或者对基于原图像提取得到的特征图进行上采样处理,实现对图像分辨率的提升。
再例如,为了将图像中某些内容删除,如删除自拍图像中除自拍者之外的其他人,则可以通过图像修复模型将其他人删除并将对应的区域进行修复,图像修复模型在进行图像修复时,通常包括编码和解码两大部分,编码部分通常会采用卷积层进行特征图的提取,即进行下采样处理,而解码部分则通常是需要通过反卷积层实现相应的上采样处理,以得到修复后的与原图像大小相同的图像。
对于本申请实施例,提供一个实际的超分模型(对应图像处理模型)作为示例,该超分模型的AI推理计算基于CUDA框架在后台服务器(Server)上完成。其包含一个输入输出通道数均为96,KernelSize=4,Stride=2,Pad=1的反卷积层。直接按照反卷积的定义执行反卷积运算,该反卷积层的运算无法在GPU内并行化,强行实现会导致GPU代码中出现大量的条件分支判断,性能会急剧下降到低于CPU。若将该反卷积层的并行运算拷贝到CPU内进行,CPU计算的耗时加上GPU到CPU的拷贝耗时,导致计算速度达到秒级,完全无法达成产品化要求。
而采用本申请实施例提供的技术方案,对于该反卷积层,可以根据得到的重排权重,充分利用GPU的加速并行特性,采用并行处理方式,对得到的扩充张量进行卷积运算,得到反卷积的输出张量。
对该超分模型的实际应用中,本申请实施例的性能增益如下表8所示:
表8性能增益
并且在性能提升的基础上上,经实际体验,通过本申请实施例提供的技术方案,还能够直接提升处理图像的清晰度。
对于数据规模稍小的客户端平台,采用本申请实施例提供的技术方案优化的反卷积,相对直接进行反卷积计算,也能达到20%-30%的速度提升。
基于对数据规模过小的客户端平台的考虑,本申请实施例中,对于图像处理模型的至少一个反卷积层,采用如上述各实施例提供的反卷积处理方法进行反卷积层的反卷积运算时,具体可以执行如下步骤:
步骤S11:确定反卷积层的原始输入张量的数据规模;
步骤S12:当数据规模大于预定阈值时,采用如上述各实施例提供的反卷积处理方法进行反卷积层的反卷积运算。
也就是说,本申请实施例中,可以根据反卷积层的原始输入张量的数据规模,选择直接按照反卷积的定义执行反卷积运算,还是采用上述各实施例提供的反卷积处理方法转换为卷积运算进行计算,进一步提高反卷积运算处理的灵活性,可靠地提高反卷积计算速度和提升计算效率。
具体而言,考虑到对反卷积的输入Tensor的数据扩充会有一定的计算量,本申请实施例中,可以在反卷积层的原始输入张量的数据规模足够大,以使得转换成卷积运算所带来的收益大于这数据扩充的计算量带来的损耗时,选择采用上述各实施例提供的反卷积处理方法转换为卷积运算进行计算,反之,则直接按照反卷积的定义执行反卷积运算。
本领域技术人员可以根据转换成卷积运算所带来的收益与数据扩充的计算量带来的损耗之间的关系,对预定阈值进行设置,本申请实施例在此不做限定。
本申请实施例提供的图像处理方法,能够有效降低了反卷积层计算的复杂度,实现反卷积运算的加速与降耗,并提升最终所输出得到的图像的清晰度。
可以理解,上述图像处理的应用场景仅为举例,本领域技术人员可以根据反卷积定义的应用,将本申请实施例提供的反卷积处理方法迁移到其他应用场景中,例如信号处理、语音识别等。也就是说,基于上述示例进行的适当变化以用于其他应用场景时,也属于本申请实施例所涵盖的范畴。
示例地,本申请实施例所提供的反卷积处理方法还可以应用于对音频数据进行降噪、去除杂音、变声处理等应用场景中,具体的,以降噪为例,在该场景中,可以将待处理音频数据转化为语音频谱图,该频谱图中,通常横坐标表示为时间,纵坐标表示频率,坐标值为语音数据的能量值,之后,则可以基于包含卷积层和反卷积层的音频数据处理模型,得到降噪处理后的语音频谱图,最后再将降噪后的语音频谱图转换为音频数据,即得到了降噪后的音频数据。该应用场景中,音频数据处理模型中的反卷积层则可以采用本申请实施例所提供的反卷积处理方法进行相应的反卷积处理,从而提高音频数据的处理效率,并减少音频处理设备的资源消耗。
本申请实施例还提供了一种反卷积处理装置,如图2所示,该反卷积处理装置20可以包括:权重确定模块201、数据扩充模块202、和卷积运算模块203,其中,
权重确定模块201用于获取反卷积对应的重排权重,重排权重是对反卷积的原始权重进行倒序重排得到的;
数据扩充模块202用于根据反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充,得到扩充张量;
卷积运算模块203用于根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量。
在一种可选的实现方式中,权重确定模块201在用于对反卷积的原始权重进行倒序重排,得到重排权重时,具体用于:
对反卷积的原始权重进行压平处理,得到一维权重向量;
对一维权重向量进行倒序重排;
基于倒序重排后的一维向量得到重排权重。
在一种可选的实现方式中,反卷积处理参数包括卷积核尺寸和原始卷积步长,数据扩充模块202在用于根据反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充时,具体用于:
根据卷积核尺寸,确定原始输入张量的边缘扩充数据量;
根据原始卷积步长,确定原始输入张量的元素间扩充数据量;
根据边缘扩充数据量和元素间扩充数据量,将反卷积的原始输入张量进行数据扩充。
在一种可选的实现方式中,数据扩充模块202在用于根据边缘扩充数据量和元素间扩充数据量,将反卷积的原始输入张量进行数据扩充时,具体用于:
根据边缘扩充数据量和元素间扩充数据量,采用指定值,将反卷积的原始输入张量进行数据扩充。
在一种可选的实现方式中,指定值为零。
在一种可选的实现方式中,卷积核尺寸中的卷积核宽度和卷积核高度相同,数据扩充模块202在用于根据卷积核尺寸,确定原始输入张量的边缘扩充数据量时,具体用于:
将卷积核宽度减一,得到边缘扩充数据量。
在一种可选的实现方式中,数据扩充模块202在用于根据原始卷积步长,确定原始输入张量的元素间扩充数据量时,具体用于:
将原始卷积步长减一,得到元素间扩充数据量。
在一种可选的实现方式中,卷积运算模块203在用于根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量时,具体用于:
根据重排权重,以及预设的卷积处理参数,对扩充张量进行卷积运算,得到反卷积的输出张量。
在一种可选的实现方式中,预设的卷积处理参数包括预设卷积步长和预设卷积填充参数,预设卷积步长为一,预设卷积填充参数为零。
在一种可选的实现方式中,若反卷积的原始卷积填充参数不为零,卷积运算模块203在用于根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量时,具体用于:
根据重排权重,对扩充张量进行卷积运算,得到卷积结果;
根据原始卷积填充参数,对卷积结果进行剪裁,得到反卷积的输出张量。
在一种可选的实现方式中,卷积运算模块203在用于根据重排权重,对扩充张量进行卷积运算,得到反卷积的输出张量时,具体用于:
根据重排权重,采用并行处理方式,对扩充张量进行卷积运算,得到反卷积的输出张量。
所属领域的技术人员可以清楚地了解到,本申请实施例提供的反卷积处理装置,其实现原理及产生的技术效果和前述方法实施例相同,为描述的方便和简洁,装置实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
本申请实施例提供的反卷积处理装置,通过对反卷积的原始权重做预处理来得到重排权重,以及对反卷积的原始输入张量做可并行化的预处理来得到扩充张量,进而根据重排权重和扩充张量,将反卷积运算转换为有成熟并行计算优化方案的卷积运算,且得到与反卷积运算结果相同的输出张量,有效降低了计算方案的复杂度,以便于进行加速优化,实现反卷积运算的降耗。
对应于本申请提供的图像处理方法,本申请实施例还提供了一种图像处理装置,该装置可以包括:
获取模块,用于获取待处理图像;
图像处理模块,用于通过图像处理模型对待处理图像进行处理,得到对应的图像处理结果;
其中,图像处理模型包括反卷积层,图像处理模型的至少一个反卷积层采用本申请任一可选实施例所提供的反卷积处理方法进行相应的反卷积运算。
在一种可选的实现方式中,上述至少一个反卷积层采用本申请任一可选实施例所提供的反卷积处理方法进行相应的反卷积运算,包括:
确定反卷积层的原始输入张量的数据规模;
当数据规模大于预定阈值时,该至少一个反卷积层采用本申请任一可选实施例所提供的反卷积处理方法进行相应的反卷积运算。
在一种可选的实现方式中,图像处理模型包括图像超分模型、图像语义分割模型或图像修复模型。
本领域的技术人员可以清楚地了解到,本申请实施例提供的图像处理装置,其实现原理及产生的技术效果和前述方法实施例相同,为描述的方便和简洁,装置实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
本申请实施例提供的图像处理装置,能够有效降低了反卷积层计算的复杂度,实现反卷积运算的加速与降耗,并提升反卷积层处理的图像的清晰度。
本申请实施例还提供了一种电子设备,如图3所示,图3所示的电子设30包括:包括:处理器301和存储器302,存储器302存储有计算机程序,该计算机程序由处理器301加载并执行以实现前述方法实施例中相应内容。
可选地,电子设备30还可以包括收发器303。处理器301和收发器303相连,如通过总线304相连。需要说明的是,实际应用中收发器303不限于一个,该电子设备30的结构并不构成对本申请实施例的限定。
其中,处理器301可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器301也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线304可包括一通路,在上述组件之间传送信息。总线304可以是PCI总线或EISA总线等。总线304可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器302可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
本申请实施例提供的电子设备,通过对反卷积的原始权重做预处理来得到重排权重,以及对反卷积的原始输入张量做可并行化的预处理来得到扩充张量,进而根据重排权重和扩充张量,将反卷积运算转换为有成熟并行计算优化方案的卷积运算,且得到与反卷积运算结果相同的输出张量,有效降低了计算方案的复杂度,以便于进行加速优化,实现反卷积运算的降耗,在用于上述图像处理方法,除了能够有效降低了反卷积层计算的复杂度,实现反卷积运算的加速与降耗,还能提升反卷积层处理的图像的清晰度。
本申请实施例还提供了一种可读存储介质,例如为计算机可读存储介质,该计算机存储介质用于存储计算机程序,当该计算机程序在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (13)
1.一种反卷积处理方法,其特征在于,包括:
获取待处理图像;
基于所述待处理图像,执行以下反卷积处理方法:
获取反卷积对应的重排权重,所述重排权重是对所述反卷积的原始权重进行一维化处理,得到一维权重向量,对所述一维权重向量进行倒序重排,并将倒序重排后的一维权重向量重塑为权重矩阵后得到的;
根据所述反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充,得到扩充张量;
根据所述重排权重,对所述扩充张量进行卷积运算,得到所述反卷积的输出张量;
所述反卷积处理参数包括卷积核尺寸和原始卷积步长,所述根据所述反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充,包括:
将所述卷积核尺寸减一,得到边缘扩充数据量;
根据所述边缘扩充数据量,分别对所述原始输入张量的宽和高的两侧边缘进行数据扩充;
将所述原始卷积步长减一,得到元素间扩充数据量;
根据元素间扩充数据量,分别对所述原始输入张量的宽和高的元素间进行数据扩充,其中,高或宽对应的进行数据扩充的元素间隔的数量为所述原始输入张量的尺寸减一。
2.根据权利要求1所述的反卷积处理方法,其特征在于,对所述原始输入张量进行数据扩充,包括:
采用指定值,对所述原始输入张量进行数据扩充。
3.根据权利要求1所述的反卷积处理方法,其特征在于,所述根据所述重排权重,对所述扩充张量进行卷积运算,得到所述反卷积的输出张量,包括:
根据所述重排权重,以及预设的卷积处理参数,对所述扩充张量进行卷积运算,得到所述反卷积的输出张量。
4.根据权利要求3所述的反卷积处理方法,其特征在于,所述预设的卷积处理参数包括预设卷积步长和预设卷积填充参数,所述预设卷积步长为一,所述预设卷积填充参数为零。
5.根据权利要求1所述的反卷积处理方法,其特征在于,若所述反卷积的原始卷积填充参数不为零,所述根据所述重排权重,对所述扩充张量进行卷积运算,得到所述反卷积的输出张量,包括:
根据所述重排权重,对所述扩充张量进行卷积运算,得到卷积结果;
根据所述原始卷积填充参数,对所述卷积结果进行剪裁,得到所述反卷积的输出张量。
6.根据权利要求1所述的反卷积处理方法,其特征在于,所述根据所述重排权重,对所述扩充张量进行卷积运算,得到所述反卷积的输出张量,包括:
根据所述重排权重,采用并行处理方式,对所述扩充张量进行卷积运算,得到所述反卷积的输出张量。
7.一种图像处理方法,其特征在于,包括:
获取待处理图像;
通过图像处理模型对所述待处理图像进行处理,得到对应的图像处理结果;
其中,所述图像处理模型包括反卷积层,所述图像处理模型的至少一个反卷积层采用权利要求1-6中任一项所述的反卷积处理方法进行相应的反卷积运算。
8.根据权利要求7所述的图像处理方法,其特征在于,所述至少一个反卷积层采用权利要求1-6中任一项所述的反卷积处理方法进行相应的反卷积运算,包括:
确定所述反卷积层的原始输入张量的数据规模;
当所述数据规模大于预定阈值时,所述至少一个反卷积层采用权利要求1-6中任一项所述的反卷积处理方法进行相应的反卷积运算。
9.根据权利要求7所述的图像处理方法,其特征在于,所述图像处理模型包括图像超分模型、图像语义分割模型或图像修复模型。
10.一种反卷积处理装置,其特征在于,包括:
获取模块,用于获取待处理图像;
以下模块用于基于所述待处理图像,执行反卷积处理:
权重确定模块,用于获取反卷积对应的重排权重,所述重排权重是对所述反卷积的原始权重进行一维化处理,得到一维权重向量,对所述一维权重向量进行倒序重排,并将倒序重排后的一维权重向量重塑为权重矩阵后得到的;
数据扩充模块,用于根据所述反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充,得到扩充张量;
卷积运算模块,用于根据所述重排权重,对所述扩充张量进行卷积运算,得到所述反卷积的输出张量;
所述数据扩充模块在用于根据所述反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充时,具体用于:
所述反卷积处理参数包括卷积核尺寸和原始卷积步长,所述根据所述反卷积的反卷积处理参数,将反卷积的原始输入张量进行数据扩充,包括:
将所述卷积核尺寸减一,得到边缘扩充数据量;
根据所述边缘扩充数据量,分别对所述原始输入张量的宽和高的两侧边缘进行数据扩充;
将所述原始卷积步长减一,得到元素间扩充数据量;
根据元素间扩充数据量,分别对所述原始输入张量的宽和高的元素间进行数据扩充,其中,高或宽对应的进行数据扩充的元素间隔的数量为所述原始输入张量的尺寸减一。
11.一种图像处理装置,其特征在于,包括:
获取模块,用于获取待处理图像;
图像处理模块,用于通过图像处理模型对所述待处理图像进行处理,得到对应的图像处理结果;
其中,所述图像处理模型包括反卷积层,所述图像处理模型的至少一个反卷积层采用权利要求1-6中任一项所述的反卷积处理方法进行相应的反卷积运。
12.一种电子设备,其特征在于,包括:处理器和存储器,
所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1-9任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得计算机执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911244336.1A CN112926020B (zh) | 2019-12-06 | 2019-12-06 | 反卷积处理方法、图像处理方法和相应装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911244336.1A CN112926020B (zh) | 2019-12-06 | 2019-12-06 | 反卷积处理方法、图像处理方法和相应装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112926020A CN112926020A (zh) | 2021-06-08 |
CN112926020B true CN112926020B (zh) | 2023-07-25 |
Family
ID=76161867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911244336.1A Active CN112926020B (zh) | 2019-12-06 | 2019-12-06 | 反卷积处理方法、图像处理方法和相应装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112926020B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293456A (en) * | 1991-06-28 | 1994-03-08 | E. I. Du Pont De Nemours And Company | Object recognition system employing a sparse comparison neural network |
CN106952229A (zh) * | 2017-03-15 | 2017-07-14 | 桂林电子科技大学 | 基于数据增强的改进型卷积网络的图像超分辨率重建方法 |
CN109844774A (zh) * | 2018-08-28 | 2019-06-04 | 深圳鲲云信息科技有限公司 | 一种并行反卷积计算方法、单引擎计算方法及相关产品 |
CN110088777A (zh) * | 2018-07-18 | 2019-08-02 | 深圳鲲云信息科技有限公司 | 反卷积实现方法及相关产品 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7029321B2 (ja) * | 2017-04-20 | 2022-03-03 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 情報処理方法、情報処理装置およびプログラム |
US10699160B2 (en) * | 2017-08-23 | 2020-06-30 | Samsung Electronics Co., Ltd. | Neural network method and apparatus |
-
2019
- 2019-12-06 CN CN201911244336.1A patent/CN112926020B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293456A (en) * | 1991-06-28 | 1994-03-08 | E. I. Du Pont De Nemours And Company | Object recognition system employing a sparse comparison neural network |
CN106952229A (zh) * | 2017-03-15 | 2017-07-14 | 桂林电子科技大学 | 基于数据增强的改进型卷积网络的图像超分辨率重建方法 |
CN110088777A (zh) * | 2018-07-18 | 2019-08-02 | 深圳鲲云信息科技有限公司 | 反卷积实现方法及相关产品 |
CN109844774A (zh) * | 2018-08-28 | 2019-06-04 | 深圳鲲云信息科技有限公司 | 一种并行反卷积计算方法、单引擎计算方法及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN112926020A (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108376387B (zh) | 基于聚合膨胀卷积网络的图像去模糊方法 | |
JP2021100247A (ja) | 歪んだドキュメント画像の矯正方法及び装置 | |
CN112084923B (zh) | 一种遥感图像语义分割方法、存储介质及计算设备 | |
CN112257766B (zh) | 一种基于频域滤波处理的自然场景***影识别检测方法 | |
CN107871306B (zh) | 一种图片去噪的方法和装置 | |
WO2021258959A1 (zh) | 图像修复的方法、装置及电子设备 | |
CN113450290B (zh) | 基于图像修补技术的低照度图像增强方法及*** | |
JP7143529B2 (ja) | 画像復元方法及びその装置、電子機器並びに記憶媒体 | |
CN112801906B (zh) | 基于循环神经网络的循环迭代图像去噪方法 | |
CN110796251A (zh) | 基于卷积神经网络的图像压缩优化方法 | |
CN116681584A (zh) | 一种多级扩散图像超分辨算法 | |
CN113066034A (zh) | 人脸图像的修复方法与装置、修复模型、介质和设备 | |
CN114444679A (zh) | 二值化输入模型的量化方法及***、计算机可读存储介质 | |
CN114913094A (zh) | 图像修复方法、装置、计算机设备、存储介质和程序产品 | |
CN115761225A (zh) | 一种基于神经网络可解释性的图像标注方法 | |
CN116863194A (zh) | 一种足溃疡图像分类方法、***、设备及介质 | |
CN112734649A (zh) | 一种基于轻量级神经网络的图像退化方法及退化*** | |
CN113705575B (zh) | 一种图像分割方法、装置、设备及存储介质 | |
CN113096032B (zh) | 一种基于图像区域划分的非均匀一致模糊去除方法 | |
CN112926020B (zh) | 反卷积处理方法、图像处理方法和相应装置 | |
CN113313162A (zh) | 一种多尺度特征融合目标检测的方法及*** | |
CN116710962A (zh) | 图像填充方法及装置、解码方法及装置、电子设备及介质 | |
CN116883222A (zh) | 基于多尺度自动编码器的抗jpeg压缩鲁棒性图像水印方法 | |
CN116029932A (zh) | 一种超高分辨率图像曝光错误矫正方法及*** | |
CN116152263A (zh) | 一种基于cm-mlp网络的医学图像分割方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40043045 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |