CN113096023B - 神经网络的训练方法、图像处理方法及装置、存储介质 - Google Patents
神经网络的训练方法、图像处理方法及装置、存储介质 Download PDFInfo
- Publication number
- CN113096023B CN113096023B CN202010017342.XA CN202010017342A CN113096023B CN 113096023 B CN113096023 B CN 113096023B CN 202010017342 A CN202010017342 A CN 202010017342A CN 113096023 B CN113096023 B CN 113096023B
- Authority
- CN
- China
- Prior art keywords
- image
- processing
- training
- output
- gradient
- 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
- 238000012549 training Methods 0.000 title claims abstract description 241
- 238000000034 method Methods 0.000 title claims abstract description 204
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 101
- 238000003672 processing method Methods 0.000 title claims description 27
- 238000012545 processing Methods 0.000 claims abstract description 277
- 239000011159 matrix material Substances 0.000 claims abstract description 110
- 230000009467 reduction Effects 0.000 claims abstract description 24
- 230000008569 process Effects 0.000 claims description 110
- 238000004458 analytical method Methods 0.000 claims description 95
- 230000006870 function Effects 0.000 claims description 56
- 238000001994 activation Methods 0.000 claims description 33
- 238000010606 normalization Methods 0.000 claims description 24
- 230000004913 activation Effects 0.000 claims description 21
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000003708 edge detection Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000005457 optimization Methods 0.000 claims description 10
- 230000035945 sensitivity Effects 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 abstract description 9
- 239000010410 layer Substances 0.000 description 140
- 238000013527 convolutional neural network Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 10
- 238000005286 illumination Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 102100024348 Beta-adducin Human genes 0.000 description 3
- 102100034004 Gamma-adducin Human genes 0.000 description 3
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 3
- 101000799011 Homo sapiens Gamma-adducin Proteins 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 239000002346 layers by function Substances 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 102100034033 Alpha-adducin Human genes 0.000 description 2
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 2
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004438 eyesight Effects 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005251 gamma ray Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- 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
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- 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/10—Image acquisition modality
- G06T2207/10024—Color image
-
- 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/20081—Training; Learning
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
一种神经网络的训练方法、图像处理方法、图像处理装置及存储介质。该训练方法包括:获取训练输入图像;使用神经网络对训练输入图像进行处理,以得到训练输出图像;基于训练输出图像,通过损失函数计算神经网络的损失值;基于损失值,计算第一梯度;基于训练输入图像,计算边缘掩膜矩阵;将边缘掩膜矩阵与第一梯度进行对位相乘处理,以得到第二梯度;以及基于第二梯度对神经网络的参数进行修正。该训练方法在回传梯度时,加入边缘掩膜处理,由此来改变对网络权重的更新,通过该训练方法训练得到的神经网络,可以根据图像内容自适应地确定降噪程度,从而更好地达到降噪和保留图像细节信息的均衡,进而提升图像的质量、视觉效果和美感。
Description
技术领域
本公开的实施例涉及一种神经网络的训练方法、图像处理方法、图像处理装置以及存储介质。
背景技术
当前,基于人工神经网络的深度学习技术已经在诸如图像分类、图像捕获和搜索、面部识别、年龄和语音识别等领域取得了巨大进展。深度学习的优势在于可以利用通用的结构以相对类似的系统解决非常不同的技术问题。卷积神经网络(Convolutional NeuralNetwork,CNN)是近年发展起来并引起广泛重视的一种人工神经网络,CNN是一种特殊的图像识别方式,属于非常有效的带有前向反馈的网络。现在,CNN的应用范围已经不仅仅限于图像识别领域,也可以应用在人脸识别、文字识别、图像处理等应用方向。
发明内容
本公开至少一个实施例提供一种神经网络的训练方法,包括:获取训练输入图像;使用所述神经网络对所述训练输入图像进行处理,以得到训练输出图像;基于所述训练输出图像,通过损失函数计算所述神经网络的损失值;基于所述神经网络的损失值,计算第一梯度;基于所述训练输入图像,计算边缘掩膜矩阵;将所述边缘掩膜矩阵与所述第一梯度进行对位相乘处理,以得到第二梯度;以及基于所述第二梯度对所述神经网络的参数进行修正。
例如,在本公开一些实施例提供的训练方法中,所述训练输入图像为灰度图像;基于所述训练输入图像,计算所述边缘掩膜矩阵,包括:基于所述训练输入图像的灰度图像,计算所述边缘掩膜矩阵。
例如,在本公开一些实施例提供的训练方法中,所述训练输入图像为彩色图像;基于所述训练输入图像,计算所述边缘掩膜矩阵,包括:将所述训练输入图像的彩色图像转换为所述训练输入图像的灰度图像;基于所述训练输入图像的灰度图像,计算所述边缘掩膜矩阵。
例如,在本公开一些实施例提供的训练方法中,所述训练输入图像的彩色图像包括红色通道、绿色通道和蓝色通道;将所述训练输入图像的彩色图像转换为所述训练输入图像的灰度图像,包括:根据格式转换公式将所述训练输入图像的彩色图像转换为所述训练输入图像的灰度图像,所述格式转换公式表示为:
Y=0.299R+0.587G+0.114B
其中,R、G和B分别表示所述彩色图像的红色通道、绿色通道和蓝色通道的数据矩阵,Y表示所述灰度图像的数据矩阵。
例如,在本公开一些实施例提供的训练方法中,基于所述训练输入图像的灰度图像,计算所述边缘掩膜矩阵,包括:使用边缘检测算子对所述训练输入图像的灰度图像进行处理,以得到所述边缘掩膜矩阵。
例如,在本公开一些实施例提供的训练方法中,所述边缘检测算子包括Sobel算子、Scharr算子和Canny算子之一。
例如,在本公开一些实施例提供的训练方法中,所述边缘检测算子包括第一子算子和第二子算子;使用所述边缘检测算子对所述训练输入图像的灰度图像进行处理,以得到所述边缘掩膜矩阵,包括:使用所述第一子算子对所述训练输入图像的灰度图像进行处理,以得到第一灰度梯度矩阵,使用所述第二子算子对所述训练输入图像的灰度图像进行处理,以得到第二灰度梯度矩阵;以及对所述第一灰度梯度矩阵和所述第二灰度梯度矩阵进行对位运算,以得到所述边缘掩膜矩阵。
例如,在本公开一些实施例提供的训练方法中,所述对位运算包括:求所述第一灰度梯度矩阵和所述第二灰度梯度矩阵中对位的元素的平方和再除以2;或求所述第一灰度梯度矩阵和所述第二灰度梯度矩阵中对位的元素的平方和的根;或求所述第一灰度梯度矩阵和所述第二灰度梯度矩阵中对位的元素的绝对值之和;或取所述第一灰度梯度矩阵和所述第二灰度梯度矩阵中对位的元素的绝对值的最大值。
例如,在本公开一些实施例提供的训练方法中,所述损失函数包括感知损失函数,所述感知损失函数表示为:
其中,Lp(Itgt,Iout)表示所述感知损失函数,Itgt表示所述训练输入图像对应的目标输出图像,Iout表示所述训练输出图像,φ表示预训练的损失网络,所述损失网络包括至少一个用于提取特征图像的卷积层,φj表示所述损失网络中的用于提取特征图像的第j个卷积层,φj(Itgt)表示所述目标输出图像输入所述损失网络时所述损失网络的第j个卷积层输出的特征图像,φj(Iout)表示所述训练输出图像输入所述损失网络时所述损失网络的第j个卷积层输出的特征图像,Cj表示所述损失网络的第j个卷积层输出的特征图像的数量,Hj表示所述损失网络的第j个卷积层输出的特征图像的高度,Wj表示所述损失网络的第j个卷积层输出的特征图像的宽度。
例如,在本公开一些实施例提供的训练方法中,所述目标输出图像的尺寸大小和所述训练输出图像的尺寸大小相同。
例如,在本公开一些实施例提供的训练方法中,所述训练输入图像包括在环境照度低于照度阈值的情况下采用第一模式的相机拍摄得到的图像,所述目标输出图像包括在同一情况下采用第二模式的相机拍摄得到的图像,且所述目标输出图像与所述训练输入图像的场景相同;与所述第一模式的相机相比,所述第二模式的相机采用更大光圈和更高感光度的摄像头,同时采用高动态范围图像增强、降噪的图像优化算法进行图像优化处理。
例如,在本公开一些实施例提供的训练方法中,将所述边缘掩膜矩阵与所述第一梯度进行所述对位相乘处理,以得到所述第二梯度,包括:根据梯度转换公式进行所述对位相乘处理,所述梯度转换公式表示为:
其中,M表示所述边缘掩膜矩阵,Mjk表示所述边缘掩膜矩阵的第j行第k列的数值,表示所述第一梯度,/>表示所述第一梯度的第m个通道的第j行第k列的数值,/>表示所述第二梯度,/>表示所述第二梯度的第m个通道的第j行第k列的数值。
例如,在本公开一些实施例提供的训练方法中,所述神经网络的处理包括:N个层级的逐层嵌套的解析处理;除了第N层级的解析处理外,其余每个层级的解析处理包括下采样处理、上采样处理、第一标准卷积处理和第一对位相加处理;第i+1层级的解析处理嵌套在第i层级的下采样处理和第i层级的上采样处理之间;第i层级的解析处理的输入作为第i层级的下采样处理的输入,第i层级的下采样处理的输出作为第i+1层级的解析处理的输入,第i+1层级的解析处理的输出作为第i层级的上采样处理的输入,第i层级的上采样处理的输出作为第i层级的第一标准卷积处理的输入,第i层级的下采样处理的输入和第i层级的第一标准卷积处理的输出经过第一对位相加处理后作为第i层级的解析处理的输出;所述训练输入图像作为第1层级的解析处理的输入,第1层级的解析处理的输出作为所述训练输出图像;第N层级的解析处理包括:标准残差分析处理和第二对位相加处理,第N层级的解析处理的输入作为所述标准残差分析处理的输入,所述标准残差分析处理的输入和所述标准残差分析处理的输出经过第二对位相加处理后作为第N层级的解析处理的输出;其中,N、i均为整数,且N≥2,1≤i≤N-1。
例如,在本公开一些实施例提供的训练方法中,在第i层级的解析处理中,第i层级的第一标准卷积处理连续执行两次。
例如,在本公开一些实施例提供的训练方法中,所述标准残差分析处理包括第二标准卷积处理、第三对位相加处理和第一激活处理;所述标准残差分析处理的输入作为所述第二标准卷积处理的输入,所述第二标准卷积处理的输入和所述第二标准卷积处理的输出经过第三对位相加处理后作为所述第一激活处理的输入,所述第一激活处理的输出作为所述标准残差分析处理的输出。
例如,在本公开一些实施例提供的训练方法中,在第N层级的解析处理中,所述标准残差分析处理执行一次或连续执行多次。
例如,在本公开一些实施例提供的训练方法中,在所述标准残差分析处理中,所述第二标准卷积处理连续执行两次。
例如,在本公开一些实施例提供的训练方法中,所述第一标准卷积处理和所述第二标准卷积处理各自均包括依次执行的卷积处理、批量标准化处理和第二激活处理。
本公开至少一个实施例还提供一种图像处理方法,包括:获取输入图像;以及使用根据本公开任一实施例提供的训练方法训练得到的所述神经网络对所述输入图像进行处理,以得到输出图像。
本公开至少一个实施例还提供一种图像处理方法,该图像处理方法包括:获取输入图像;以及使用神经网络对所述输入图像进行处理,以得到输出图像;其中,所述神经网络的处理包括:N个层级的逐层嵌套的解析处理;除了第N层级的解析处理外,其余每个层级的解析处理包括下采样处理、上采样处理、第一标准卷积处理和第一对位相加处理;第i+1层级的解析处理嵌套在第i层级的下采样处理和第i层级的上采样处理之间;第i层级的解析处理的输入作为第i层级的下采样处理的输入,第i层级的下采样处理的输出作为第i+1层级的解析处理的输入,第i+1层级的解析处理的输出作为第i层级的上采样处理的输入,第i层级的上采样处理的输出作为第i层级的第一标准卷积处理的输入,第i层级的下采样处理的输入和第i层级的第一标准卷积处理的输出经过第一对位相加处理后作为第i层级的解析处理的输出;所述输入图像作为第1层级的解析处理的输入,第1层级的解析处理的输出作为所述输出图像;第N层级的解析处理包括:标准残差分析处理和第二对位相加处理,第N层级的解析处理的输入作为所述标准残差分析处理的输入,所述标准残差分析处理的输入和所述标准残差分析处理的输出经过第二对位相加处理后作为第N层级的解析处理的输出;其中,N、i均为整数,且N≥2,1≤i≤N-1。
本公开至少一个实施例还提供一种图像处理装置,包括:存储器,用于非暂时性存储计算机可读指令;以及处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时,执行本公开任一实施例提供的神经网络的训练方法,或者执行本公开任一实施例提供的图像处理方法。
本公开至少一个实施例还提供一种存储介质,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时能够执行本公开任一实施例提供的神经网络的训练方法的指令,或者能够执行本公开任一实施例提供的图像处理方法的指令。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为一种卷积神经网络的示意图;
图2A为一种卷积神经网络的结构示意图;
图2B为一种卷积神经网络的工作过程示意图;
图3为本公开至少一实施例提供的一种神经网络的训练方法的流程图;
图4为本公开至少一实施例提供的一种神经网络的结构示意图;
图5A为本公开至少一实施例提供的一种标准卷积模块的结构示意图;
图5B为本公开至少一实施例提供的一种标准残差分析模块的结构示意图;
图6A为一种训练输入图像的示例图;
图6B为图6A所示的训练输入图像对应的训练输出图像的示例图;
图6C为图6A所示的训练输入图像对应的目标输出图像的示例图;
图7为本公开至少一实施例提供的一种图像处理方法的流程图;
图8为本公开至少一实施例提供的一种图像处理装置的示意性框图;以及
图9为本公开至少一实施例提供的一种存储介质的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
下面通过几个具体的实施例对本公开进行说明。为了保持本公开实施例的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。当本公开实施例的任一部件在一个以上的附图中出现时,该部件在每个附图中由相同或类似的参考标号表示。
随着数码产品特别是智能手机等的普及,人们可以方便的采集到各种各样的图像信息。在实际生活中,有相当数量的图像是在光照较暗(例如黄昏、夜间等)或光照失衡(例如,亮部和暗部反差较大)等条件下拍摄得到的,这些图像统称为低光照图像。低光照图像经常会存在视觉效果较差的问题,例如图像整体或部分区域偏暗、细节信息难以捕获、颜色失真以及噪声严重等。低光照图像的这些问题严重影响人们的视觉感受或者计算机对图像的处理工作。因此,如何对低光照图像进行增强,以提高图像的亮度、对比度等,使其在人眼观看及在其他领域应用时都能达到想要的效果,一直是图像处理领域的研究热点。
通常,可以使用图像降噪和细节增强技术对低光照图像进行处理,从而在尽可能保持原有图像的纹理、结构信息的基础上,提高图像的亮度、对比度等特征,恢复图像中较暗区域的细节,使图像更美观,也能够作为一种预处理方法,满足后期其他应用使用的需要。
常用的图像降噪和细节增强方法,一般假设待处理图像的所有区域的噪点的强弱程度一致,而不区分待处理图像的不同区域的噪点的强弱程度,从而无法根据噪点的强弱程度的不同对不同区域进行对应程度的降噪处理。然而,实际上,待处理图像中存在的真实噪声往往具有不同区域的强弱程度不同的特点。因此,常用的图像降噪和细节增强方法在处理有真实噪声的图像的应用中受到较大的限制。例如,Kai Zhang等人提出了一种基于卷积神经网络实现图像降噪的方法,请参见文献,Kai Zhang,Wangmeng Zuo,Yunjin Chen,Deyu Meng,Lei Zhang,Beyond a Gaussian Denoiser:Residual Learning of Deep CNNfor Image Denoising.arXiv:1608.03981v1[cs.CV]。在此将该文献全文引用结合于此,以作为本申请的一部分。该方法提供了一种新型端到端的深度神经网络DnCNN,用于处理图像降噪任务,具有良好的降噪性能。但是,由于该方法假设待处理图像的任意区域的噪声的强弱程度一致,在进行实际处理时可能存在如下问题:降噪过度会导致结果过度平滑,细节丢失;降噪不足会导致结果存在噪点残留。
本公开至少一实施例提供一种神经网络的训练方法。该训练方法包括:获取训练输入图像;使用神经网络对训练输入图像进行处理,以得到训练输出图像;基于训练输出图像,通过损失函数计算神经网络的损失值;基于损失值,计算第一梯度;基于训练输入图像,计算边缘掩膜矩阵;将边缘掩膜矩阵与第一梯度进行对位相乘处理,以得到第二梯度;以及基于第二梯度对神经网络的参数进行修正。
本公开的一些实施例还提供对应于上述训练方法的图像处理方法、图像处理装置以及存储介质。
本公开的实施例提供的神经网络的训练方法,在回传梯度时,加入边缘掩膜处理,由此来改变对网络权重的更新,通过该训练方法训练得到的神经网络,可以根据图像内容自适应地确定降噪程度(在纹理较多的图像区域保留更多细节,在纹理较少的图像区域去除更多噪声),从而更好地达到降噪和保留图像细节信息的均衡,进而提升图像的质量、视觉效果和美感。通过该训练方法训练得到的神经网络适用于对图像尤其是低光照图像进行降噪和细节增强处理。
最初,卷积神经网络(Convolutional Neural Network,CNN)主要用于识别二维形状,其对图像的平移、比例缩放、倾斜或其他形式的变形具有高度不变性。CNN主要通过局部感知野和权值共享来简化神经网络模型的复杂性、减少权重的数量。随着深度学习技术的发展,CNN的应用范围已经不仅仅限于图像识别领域,其也可以应用在人脸识别、文字识别、动物分类、图像处理等领域。
图1示出了一种卷积神经网络的示意图。例如,该卷积神经网络可以用于图像处理,其使用图像作为输入和输出,并通过卷积核替代标量的权重。图1中仅示出了具有3层结构的卷积神经网络,本公开的实施例对此不作限制。如图1所示,卷积神经网络包括输入层101、隐藏层102和输出层103。输入层101具有4个输入,隐藏层102具有3个输出,输出层103具有2个输出,最终该卷积神经网络最终输出2幅图像。例如,输入层101的4个输入可以为4幅图像,或者1幅图像的四种特征图像。隐藏层102的3个输出可以为经过输入层101输入的图像的特征图像。
例如,如图1所示,卷积层具有权重和偏置/>权重/>表示卷积核,偏置/>是叠加到卷积层的输出的标量,其中,k是表示输入层101的标签,i和j分别是输入层101的单元和隐藏层102的单元的标签。例如,第一卷积层201包括第一组卷积核(图1中的/>)和第一组偏置(图1中的/>)。第二卷积层202包括第二组卷积核(图1中的/>)和第二组偏置(图1中的/>)。通常,每个卷积层包括数十个或数百个卷积核,若卷积神经网络为深度卷积神经网络,则其可以包括至少五层卷积层。
例如,如图1所示,该卷积神经网络还包括第一激活层203和第二激活层204。第一激活层203位于第一卷积层201之后,第二激活层204位于第二卷积层202之后。激活层(例如,第一激活层203和第二激活层204)包括激活函数,激活函数用于给卷积神经网络引入非线性因素,以使卷积神经网络可以更好地解决较为复杂的问题。激活函数可以包括线性修正单元(ReLU)函数、带泄露的线性修正单元函数(LeakyReLU)、S型函数(Sigmoid函数)或双曲正切函数(tanh函数)等。ReLU函数和LeakyReLU函数为非饱和非线性函数,Sigmoid函数和tanh函数为饱和非线性函数。例如,激活层可以单独作为卷积神经网络的一层,或者激活层也可以被包含在卷积层(例如,第一卷积层201可以包括第一激活层203,第二卷积层202可以包括第二激活层204)中。例如,ReLU函数可以表示为:
其中,x表示ReLU函数的输入,f(x)表示ReLU函数的输出。
例如,在第一卷积层201中,首先,对每个输入应用第一组卷积核中的若干卷积核和第一组偏置中的若干偏置/>以得到第一卷积层201的输出;然后,第一卷积层201的输出可以通过第一激活层203进行处理,以得到第一激活层203的输出。在第二卷积层202中,首先,对输入的第一激活层203的输出应用第二组卷积核中的若干卷积核/>和第二组偏置中的若干偏置/>以得到第二卷积层202的输出;然后,第二卷积层202的输出可以通过第二激活层204进行处理,以得到第二激活层204的输出。例如,第一卷积层201的输出可以为对其输入应用卷积核/>后再与偏置/>相加的结果,第二卷积层202的输出可以为对第一激活层203的输出应用卷积核/>后再与偏置/>相加的结果。
在利用卷积神经网络进行图像处理前,需要对卷积神经网络进行训练。经过训练之后,卷积神经网络的卷积核和偏置在图像处理期间保持不变。在训练过程中,各卷积核和偏置通过多组输入/输出示例图像以及优化算法进行调整,以获取优化后的卷积神经网络模型。
图2A示出了一种卷积神经网络的结构示意图,图2B示出了一种卷积神经网络的工作过程示意图。例如,如图2A和2B所示,输入图像通过输入层输入到卷积神经网络后,依次经过若干个处理过程(如图2A中的每个层级)后输出类别标识。卷积神经网络的主要组成部分可以包括多个卷积层、多个下采样层和全连接层。在本公开中,应该理解的是,多个卷积层、多个下采样层和全连接层等这些功能层每个都指代对应的处理操作,即卷积处理、下采样处理、全连接处理等,所描述的神经网络(模型)也都指代对应的处理操作,后续将要描述的批量标准化层、上采样层等也与此类似,不再重复说明。例如,一个完整的卷积神经网络可以由这三种层叠加组成。例如,图2A仅示出了一种卷积神经网络的三个层级,即第一层级、第二层级和第三层级。例如,每个层级可以包括一个卷积模块和一个下采样层。例如,每个卷积模块可以包括卷积层。由此,每个层级的处理过程可以包括:对输入图像进行卷积(convolution)处理以及下采样(pooling)处理。例如,根据实际需要,每个卷积模块还可以包括批量标准化(batch normalization,BN)层和激活层,从而每个层级的处理过程还可以包括批量标准化处理和激活处理。
例如,批量标准化层用于对小批量(mini-batch)的样本的特征图像进行批量标准化处理,以使各特征图像的像素的灰度值在预定范围内变化,从而降低计算难度,提高对比度。例如,预定范围可以为[-1,1],但不限于此。例如,批量标准化层可以根据每个小批量的样本的特征图像的均值和方差,对各特征图像进行批量标准化处理。
例如,假设小批量的样本数量为T,某一卷积层输出的特征图像的数量为C,且每个特征图像均为H行W列的矩阵,则特征图像的模型表示为(T,C,W,H)。批量标准化层的批量标准化处理包括对每个通道的特征图像分别进行标准化(normalize)处理以及尺度变换和位移(scale and shift)处理,具体公式如下:
其中,xtijk为某一卷积层输出的特征图像集合中的第t个特征块(patch)、第i个特征通道、第j列、第k行的值。ytijk表示xtijk输入批量标准化层得到的结果。γi、βi为批量标准化层的批量标准化参数,γi表示第i个特征通道的尺度变换,βi表示第i个特征通道的位移。ε为一个很小的正数,以避免分母为0。
卷积层是卷积神经网络的核心层。在卷积神经网络的卷积层中,一个神经元只与部分相邻层的神经元连接。卷积层可以对输入图像应用若干个卷积核(也称为滤波器),以提取输入图像的多种类型的特征。每个卷积核可以提取一种类型的特征。卷积核一般以随机小数矩阵的形式初始化,在卷积神经网络的训练过程中卷积核将通过学习以得到合理的权值。对输入图像应用一个卷积核之后得到的结果被称为特征图像(feature map),特征图像的数目与卷积核的数目相等。每个特征图像由一些矩形排列的神经元组成,同一特征图像的神经元共享权值,这里共享的权值就是卷积核。一个层级的卷积层输出的特征图像可以被输入到相邻的下一个层级的卷积层并再次处理以得到新的特征图像。例如,如图2A所示,第一层级的卷积层可以输出第一特征图像,该第一特征图像被输入到第二层级的卷积层再次处理以得到第二特征图像。
例如,如图2B所示,卷积层可以使用不同的卷积核对输入图像的某一个局部感受域的数据进行卷积;例如,卷积结果可以被输入激活层,该激活层根据相应的激活函数进行计算以得到输入图像的特征信息。
例如,如图2A和2B所示,下采样层设置在相邻的卷积层之间,下采样层是下采样的一种形式。一方面,下采样层可以用于缩减输入图像的规模,简化计算的复杂度,在一定程度上减小过拟合的现象;另一方面,下采样层也可以进行特征压缩,提取输入图像的主要特征。下采样层能够减少特征图像的尺寸,但不改变特征图像的数量。例如,一个尺寸为12×12的输入图像,通过6×6的下采样层过滤器对其进行采样,那么可以得到2×2的输出图像,这意味着输入图像上的36个像素合并为输出图像中的1个像素。最后一个下采样层或卷积层可以连接到一个或多个全连接层,全连接层用于连接提取的所有特征。例如,全连接层的输出可以为一个一维矩阵,也就是向量。
下面结合附图对本公开的一些实施例及其示例进行详细说明。
图3为本公开至少一实施例提供的一种神经网络的训练方法的流程图。例如,如图3所示,该训练方法包括步骤S110至步骤S170。
步骤S110:获取训练输入图像。
例如,在一些实施例中,步骤S110还可以包括:获取与训练输入图像对应的目标输出图像。从而,在该训练方法中,可以基于训练输出图像和该目标输出图像计算神经网络的损失值,具体细节可以参考下文中相关描述。
例如,在步骤S110中,训练输入图像和目标输出图像可以包括通过智能手机的摄像头、平板电脑的摄像头、个人计算机的摄像头、数码照相机的镜头、监控摄像头或者网络摄像头等拍摄采集的照片,其可以包括人物图像、动植物图像或风景图像等,本公开的实施例对此不作限制。
例如,在一些实施例中,训练输入图像和目标输出图像可以为彩色图像。例如,彩色图像包括但不限于具有三种颜色通道的彩色图像等。例如,该三种颜色通道包括第一颜色通道、第二颜色通道和第三颜色通道。例如,该三种颜色通道分别对应于三原色。例如,在一些实施例中,第一颜色通道为红色(R)通道,第二颜色通道为绿色(G)通道,第三颜色通道为蓝色(B)通道,即上述彩色图像可以为RGB格式的彩色图像,需要说明的是,本公开的实施例包括但不限于此。例如,在另一些实施例中,训练输入图像和目标输出图像可以为灰度图像。
例如,训练输入图像与目标输出图像具有相同的场景,而训练输入图像的亮度低于所述目标输出图像的亮度。例如,训练输入图像与目标输出图像具有相同的尺寸大小。例如,在一些实施例中,训练输入图像中的每个像素点的亮度均不高于目标输出图像中与之对应的像素点的亮度,例如,训练输入图像中的大部分或全部像素点的亮度均低于目标输出图像中对应的像素点的亮度。
例如,训练输入图像为低光照图像,其质量较低;目标输出图像为正常光照图像,其质量较高;例如,为了提高训练输入图像的质量,可以对其进行图像增强处理,以使经过增强处理得到的图像的质量至少接近于目标输出图像的质量。
例如,在一些实施例中,训练输入图像包括在环境照度低于照度阈值的情况下采用第一模式(例如,普通模式等)的相机拍摄得到的图像,目标输出图像包括在同一情况下采用第二模式(例如,夜景模式等)的相机拍摄得到的图像。例如,照度阈值为0.1~0.2Lux(勒克斯),但不限于此。例如,上述相机(包括具有相机功能的智能手机、平板电脑等)为同一款相机,而该同一款相机具备第一模式和第二模式。例如,与第一模式的相机相比,第二模式的相机采用更大光圈和更高感光度的摄像头,同时采用高动态范围图像(HighDynamic Range,HDR)增强、降噪的图像优化算法进行图像优化处理。在此情况下,训练输入图像为低光照图像,而目标输出图像相当于正常光照图像。
例如,在另一些实施例中,训练输入图像包括在正常光线条件下拍摄得到的欠曝光图像,其中,欠曝光图像的曝光时间小于拍摄得到正常图像所需的曝光时间,欠曝光图像的质量未达到预设质量条件,例如存在图像不清晰、存在较多噪点、图像的视觉效果不能满足用户的需求等问题;而目标输出图像包括在同一条件下拍摄得到的正常曝光图像。例如,训练输入图像和目标输出图像采用同一款相机(采用同一模式,例如,普通模式等)拍摄得到。在此情况下,训练输入图像相当于低光照图像,而目标输出图像为正常光照图像。
例如,在该训练方法中,使用成对的训练输入图像/目标输出图像构成的训练集对神经网络进行训练。需要说明的是,本公开的实施例对上述成对的训练输入图像/目标输出图像的获取方法不作限制。
步骤S120:使用神经网络对训练输入图像进行处理,以得到训练输出图像。
例如,在一些实施例中,训练输出图像的尺寸大小与训练输入图像的尺寸大小相同,从而,训练输出图像的尺寸大小也与目标输出图像的尺寸大小相同。例如,对应于训练输入图像和目标输出图像,训练输出图像也可以为彩色图像,例如,具有前述三种颜色通道的图像。
图4为本公开至少一实施例提供的一种神经网络的结构示意图。例如,如图4所示,该神经网络的处理包括:N个层级的逐层嵌套的解析处理,其中,N为整数,且N≥2。例如,图4中示出了N=4(即包括4个层级(Level1-4)的解析处理)的情形,但不应视作对本公开的限制。也就是说,N可以根据实际需要进行设置。
在本公开中,“嵌套”是指一个对象中包括与该对象在结构或功能方面相似或相同的另一个对象,所述对象包括但不限于处理流程或者网络结构等。特别地,在本公开的实施例中,第N层级的解析处理不同于前N-1个层级的解析处理。
例如,如图4所示,除了第N层级(图4中的第4层级(Level 4))的解析处理之外,其余每个层级(图4中的第1-3层级(Level 1-3))的解析处理包括下采样处理DS、上采样处理US、第一标准卷积处理CN1和第一对位相加处理ADD1。
下采样处理DS用于减小特征图像的尺寸,从而减少特征图像的数据量,例如可以通过下采样层进行下采样处理,但不限于此。例如,下采样层可以采用最大值池化(maxpooling)、平均值池化(average pooling)、跨度卷积(strided convolution)、欠采样(decimation,例如选择固定的像素)、解复用输出(demuxout,将输入图像拆分为多个更小的图像)等下采样方法实现下采样处理。例如,在一些实施例中,可以采用跨度卷积算法实现下采样处理DS,但不限于此;例如,在一些示例中,跨度卷积算法中的步长(stride)为2,但不限于此。
上采样处理US用于增大特征图像的尺寸,从而增加特征图像的数据量,例如可以通过上采样层进行上采样处理,但不限于此。例如,上采样层可以采用跨度转置卷积(strided transposed convolution)、插值算法等上采样方法实现上采样处理。插值算法例如可以包括最近邻插值(Nearest Neighbor Interpolation)、双线性插值(BilinearInterprolation)、双立方插值(Bicubic Interprolation)等算法。例如,在一些实施例中,可以采用最近邻插值算法实现上采样处理US,但不限于此;例如,在一些示例中,最近邻插值算法的输出特征的宽度和高度均为输入特征的2倍,但不限于此;例如,采用最近邻插值算法可以减少运算量,从而提高处理速度。
例如,在一些实施例中,第一标准卷积处理CN1和下文中将要介绍的第二标准卷积处理CN2均可以包括卷积处理、批量标准化处理和第二激活处理,例如,卷积处理、批量标准化处理和第二激活处理可以依次执行,但不限于此。例如,第一标准卷积处理CN1和第二标准卷积处理CN2均可以通过标准卷积模块实现。图5A为本公开至少一实施例提供的一种标准卷积模块的结构示意图。例如,如图5A所示,标准卷积模块CN可以包括卷积层conv、批量标准化层BN和激活层AC2,分别用于对应执行卷积处理、批量标准化处理和第二激活处理,例如,卷积层conv、批量标准化层BN和激活层AC2依次连接,即卷积处理、批量标准化处理和第二激活处理依次执行,但不限于此。例如,卷积处理可以采用3×3的卷积核,但不限于此。例如,批量标准化处理可以参考前述相关描述,在此不再重复赘述。例如,第二激活处理可以采用ReLU函数作为激活函数,但不限于此。
需要说明的是,在本公开的实施例中,“连接”可以表示在信号(例如,特征图)传输的方向上将两个功能对象(例如,功能模块或功能层等)中的在前的一个功能对象的输出作为在后的另一个功能对象的输入。
例如,第一对位相加处理ADD1与下文中将要介绍的第二对位相加处理ADD2和第三对位相加处理ADD3均属于对位相加处理ADD。对位相加处理ADD通常是指将一组输入的图像的每个通道的图像矩阵的每一行、每一列的数值与另一组输入的图像的对应通道的图像矩阵的每一行、每一列的数值相加。例如,作为对位相加处理ADD的输入的两组图像的通道数相同,例如,对位相加处理ADD的输出的图像的通道数也与输入的任一组图像的通道数相同。
需要说明的是,在本公开的实施例中,为了使描述更加清楚、明确、简洁,部分处理操作(例如,第一标准卷积处理和第二标准卷积处理,第一对位相加处理、第二对位相加处理和第三对位相加处理)附上了前缀“第一”、“第二”、“第三”等,这些前缀仅用于区分处在不同处理流程或步骤中的功能基本相同的处理操作,而不表示任何顺序、数量或者重要性。在本公开的实施例中,功能基本相同的处理操作可以采用基本相同的方法或程序实现。
例如,如图4所示,在i为整数且1≤i≤N-1的情况下,第i+1层级的解析处理嵌套在第i层级的下采样处理和第i层级的上采样处理之间。第i层级的解析处理的输入作为第i层级的下采样处理的输入,第i层级的下采样处理的输出作为第i+1层级的解析处理的输入,第i+1层级的解析处理的输出作为第i层级的上采样处理的输入,第i层级的上采样处理的输出作为第i层级的第一标准卷积处理的输入,第i层级的下采样处理的输入和第i层级的第一标准卷积处理的输出经过第一对位相加处理后作为第i层级的解析处理的输出。
例如,如图4所示,训练输入图像作为第1层级的解析处理的输入,第1层级的解析处理的输出作为训练输出图像。
例如,如图4所示,第N层级(图4中的第4层级(Level 4))的解析处理包括标准残差分析处理RS和第二对位相加处理ADD2。第N层级的解析处理的输入作为标准残差分析处理RS的输入,标准残差分析处理RS的输入和标准残差分析处理RS的输出经过第二对位相加处理ADD2后作为第N层级的解析处理的输出。应当理解的是,在第N层级的解析处理中,标准残差分析处理RS可以执行一次或连续执行多次。例如,图4中示出了标准残差分析处理RS连续执行三次的情形,但不应视作对本公开的限制,即在第N层级的解析处理中,标准残差分析处理RS的执行次数可以根据实际需要进行设置。
例如,标准残差分析处理RS可以通过标准残差分析模块实现。图5B为本公开至少一实施例提供的一种标准残差分析模块的结构示意图。例如,在一些实施例中,如图5B所示,标准残差分析处理RS包括第二标准卷积处理CN2、第三对位相加处理ADD3和第一激活处理AC1。例如,如图5B所示,标准残差分析处理RS的输入作为第二标准卷积处理CN2的输入,第二标准卷积处理CN2的输入和第二标准卷积处理CN2的输出经过第三对位相加处理ADD3后作为第一激活处理AC1的输入,第一激活处理AC1的输出作为标准残差分析处理的输出。例如,与第一标准卷积处理CN1类似,第二标准卷积处理CN2也可以通过前述标准卷积模块CN实现,在此不再重复赘述。例如,与第二激活处理类似,第一激活处理AC1也可以采用ReLU函数作为激活函数,但不限于此。应当理解的是,在标准残差分析处理RS中,第二标准卷积处理CN2可以执行一次,或连续执行两次或更多次。例如,图5B中示出了第二标准卷积处理CN2连续执行两次的情形,但不应视作对本公开的限制,即在标准残差分析处理RS中,第二标准卷积处理CN2的执行次数可以根据实际需要进行设置。
应当理解的是,图4中所示的神经网络是示例性的,而非限制性的,在应用过程中,可以根据实际需要对其结构进行变型或微调。例如,在一些实施例中,在图4所示的神经网络中,在第i层级的解析处理中,第i层级的第一标准卷积处理CN1可以连续执行两次或更多次;需要说明的是,所述变型或微调不限于此。
还应当理解的是,本公开的实施例提供的训练方法不只适用于图4所示的神经网络,还可以适用于其他神经网络(对其结构不作限制),只要该神经网络的输出图像和输入图像满足的尺寸大小相同即可。例如,本公开的实施例提供的训练方法可以适用前述文献提供的DnCNN网络,但不限于此。
步骤S130:基于训练输出图像,通过损失函数计算神经网络的损失值。
例如,在一些实施例中,损失函数可以包括感知损失函数,但不限于此。例如,在一些示例中,可以基于训练输出图像和目标输出图像,计算神经网络的损失值。例如,获取目标输出图像的步骤可以结合在前述步骤S110中。例如,目标输出图像的具体细节可以参考前述步骤S110中的相关描述,在此不再重复赘述。
例如,感知损失函数可以表示为:
其中,Lp(Itgt,Iout)表示感知损失函数,Itgt表示训练输入图像对应的目标输出图像,Iout表示训练输出图像,φ表示预训练的损失网络,损失网络包括至少一个用于提取特征图像的卷积层,φj表示损失网络中的用于提取特征图像的第j个卷积层,φj(Itgt)表示目标输出图像输入损失网络时损失网络的第j个卷积层输出的特征图像,φj(Iout)表示训练输出图像输入损失网络时损失网络的第j个卷积层输出的特征图像,Cj表示损失网络的第j个卷积层输出的特征图像的数量,Hj表示损失网络的第j个卷积层输出的特征图像的高度,Wj表示损失网络的第j个卷积层输出的特征图像的宽度。
例如,在神经网络的训练过程中,上述预训练的损失网络(即训练好的损失网络)的参数保持不变。例如,上述预训练的损失网络可以采用AlexNet、GoogleNet、VGG(例如,VGG-16或VGG-19)、Deep Residual Learning等常用的神经网络模型,本公开的实施例对此不作限制。例如,VGG网络为深度卷积神经网络的一种,由牛津大学视觉几何组(VisualGeometry Group)开发,已经在视觉识别领域得到广泛应用。
例如,在本公开的实施例中,感知损失函数的主要作用在于保留原图中的细节,即细节增强。
需要说明的是,上述损失函数是示例性的,本公开的实施例对此不作限制,即根据实际需要,神经网络的损失函数还可以包括具有其他功能的组成部分。
步骤S140:基于神经网络的损失值,计算第一梯度。
例如,在一些实施例中,在神经网络的训练过程中还可以包括优化函数,优化函数可以根据损失函数计算得到的损失值计算神经网络的参数的第一梯度。例如,优化函数可以采用批量梯度下降(batch gradient descent,BGD)算法、随机梯度下降(stochasticgradient descent,SGD)算法等计算神经网络的参数的第一梯度。例如,计算第一梯度的过程和细节可以参考上述常用算法(例如,BGD或SGD等)的相关文献和资料等,在此不再重复赘述。
例如,在一些示例中,可以通过对损失函数求偏导数的方式计算第一梯度。例如,在损失函数包括上述感知损失函数Lp(Itgt,Iout)的情况下,第一梯度可以表示为其中Lp即为Lp(Itgt,Iout)。例如,在一些示例中,训练输出图像的数据矩阵的形状为(C,H,W),其中C表示通道数(例如,C=1表示灰度图像,C=3表示RGB格式的彩色图像等),H表示图像高度,W表示图像宽度;相应地,第一梯度也可以表示为形状为(C,H,W)的数据矩阵。
需要说明的是,在本公开的实施例提供的训练方法中,在回传梯度时,并不直接使用上述第一梯度,而是基于下述步骤S150和步骤S160对第一梯度进行边缘掩膜处理,以得到第二梯度,并使用第二梯度代替第一梯度进行回传。应当理解的是,如果直接使用第一梯度进行回传,由此训练得到的神经网络无法根据图像内容自适应地确定降噪程度;而如果使用对第一梯度进行边缘掩膜处理而得到的第二梯度进行回传,由此训练得到的神经网络则可以根据图像内容自适应地确定降噪程度。
步骤S150:基于训练输入图像,计算边缘掩膜矩阵。
例如,在一些实施例中,在训练输入图像为灰度图像的情况下,步骤S150包括:基于训练输入图像的灰度图像,计算边缘掩膜矩阵。例如,在另一些实施例中,在训练输入图像为彩色图像的情况下,步骤S150包括:将训练输入图像的彩色图像转换为训练输入图像的灰度图像;基于训练输入图像的灰度图像,计算边缘掩膜矩阵。也就是说,计算边缘掩膜矩阵需要基于灰度图像,如果训练输入图像不为灰度图像,则需要将其转换为灰度图像。
例如,在一些示例中,训练输入图像的彩色图像包括红色(R)通道、绿色(G)通道和蓝色(B)通道,即训练输入图像为RGB格式的彩色图像。在此情况下,将训练输入图像的彩色图像转换为训练输入图像的灰度图像,包括:根据格式转换公式将训练输入图像的彩色图像转换为训练输入图像的灰度图像。例如,上述格式转换公式可以表示为:
Y=0.299R+0.587G+0.114B
其中,R、G和B分别表示彩色图像的红色通道、绿色通道和蓝色通道的数据矩阵,Y表示灰度图像的数据矩阵。
例如,基于训练输入图像的灰度图像,计算边缘掩膜矩阵,包括:使用边缘检测算子对训练输入图像的灰度图像进行处理,以得到边缘掩膜矩阵。例如,边缘检测算子包括但不限于常见的Sobel算子、Scharr算子(OpenCV提供)和Canny算子等。
例如,在一些实施例中,边缘检测算子包括第一子算子和第二子算子,从而,使用边缘检测算子对训练输入图像的灰度图像进行处理,以得到边缘掩膜矩阵,包括:使用第一子算子对训练输入图像的灰度图像进行处理,以得到第一灰度梯度矩阵,使用第二子算子对训练输入图像的灰度图像进行处理,以得到第二灰度梯度矩阵;以及对第一灰度梯度矩阵和第二灰度梯度矩阵进行对位运算,以得到边缘掩膜矩阵。以下,以Sobel算子为例,对得到边缘掩膜矩阵的具体过程进行详细说明,但不应视作对本公开的限制。
例如,Sobel算子的第一子算子和第二子算子可以分别表示为:
其中,Qx表示第一子算子,Qy表示第二子算子。
例如,第一子算子Qx和第二子算子Qy可以用于在两个方向(例如,水平方向和垂直方向)对被作用图像进行求导,以得到被作用图像在这两个方向上的灰度梯度。例如,可以使用第一子算子Qx对训练输入图像的灰度图像进行卷积处理,以得到第一图像灰度矩阵Gx;可以使用第二子算子Qy对训练输入图像的灰度图像进行卷积处理,以得到第二图像灰度矩阵Gy。
例如,在一些实施例中,上述对位运算可以包括:求第一灰度梯度矩阵和第二灰度梯度矩阵中对位的元素的平方和再除以2。在此情况下,对位运算的第一种计算公式可以表示为:
其中,M表示边缘掩膜矩阵,Mjk表示边缘掩膜矩阵的第j行第k列的数值,(Gx)jk表示第一图像灰度矩阵Gx的第j行第k列的数值,(Gy)jk表示第二图像灰度矩阵Gy的第j行第k列的数值。
例如,在另一些实施例中,上述对位运算可以包括:求第一灰度梯度矩阵和第二灰度梯度矩阵中对位的元素的平方和的根。在此情况下,对位运算的第二种计算公式可以表示为:
其中,M表示边缘掩膜矩阵,Mjk表示边缘掩膜矩阵的第j行第k列的数值,(Gx)jk表示第一图像灰度矩阵Gx的第j行第k列的数值,(Gy)jk表示第二图像灰度矩阵Gy的第j行第k列的数值。
例如,在再一些实施例中,上述对位运算可以包括:求第一灰度梯度矩阵和第二灰度梯度矩阵中对位的元素的绝对值之和。在此情况下,对位运算的第三种计算公式可以表示为:
Mjk=|(Gx)jk|+|(Gy)jk|
其中,M表示边缘掩膜矩阵,Mjk表示边缘掩膜矩阵的第j行第k列的数值,(Gx)jk表示第一图像灰度矩阵Gx的第j行第k列的数值,(Gy)jk表示第二图像灰度矩阵Gy的第j行第k列的数值。
例如,在又一些实施例中,上述对位运算可以包括:取第一灰度梯度矩阵和第二灰度梯度矩阵中对位的元素的绝对值的最大值。在此情况下,对位运算的第四种计算公式可以表示为:
Mjk=max(|(Gx)jk|,|(Gy)jk|)
其中,M表示边缘掩膜矩阵,Mjk表示边缘掩膜矩阵的第j行第k列的数值,(Gx)jk表示第一图像灰度矩阵Gx的第j行第k列的数值,(Gy)jk表示第二图像灰度矩阵Gy的第j行第k列的数值,max(,)表示取最大值函数。
需要说明的是,在本公开中,可以采用上述四种计算公式之任一进行对位运算,但不限于此;例如,还可以采用其他合适的计算公式进行上述对位运算,以得到边缘掩膜矩阵。
应当理解的是,在实际应用中,可以将Gx和-Gx之一作为第一子算子,同样地,可以将Gy和-Gy之一作为第二子算子,而不影响最终得到的边缘掩膜矩阵。例如,在一些示例中,第一子算子和第二子算子之间互为转置关系,本公开的实施例对此不作限制。
步骤S160:将边缘掩膜矩阵与第一梯度进行对位相乘处理,以得到第二梯度。
例如,在一些实施例中,步骤S160可以包括:根据梯度转换公式进行所述对位相乘处理。例如,在一些示例中,梯度转换公式可以表示为:
其中,M表示边缘掩膜矩阵,Mjk表示边缘掩膜矩阵的第j行第k列的数值,表示第一梯度,/>表示第一梯度的第m个通道的第j行第k列的数值,/>表示第二梯度,/>表示第二梯度的第m个通道的第j行第k列的数值。
例如,第二梯度的数据矩阵的形状与第一梯度的数据矩阵的形状相同。
步骤S170:基于第二梯度对神经网络的参数进行修正。
例如,神经网络的初始参数可以为随机数,例如随机数符合高斯分布,本公开的实施例对此不作限制。
例如,可以基于第二梯度和预先设定的学习率计算神经网络的参数的误差值,并根据该误差值对神经网络的参数进行修正。
例如,由于第二梯度是对第一梯度进行边缘掩膜处理得到的,在回传梯度时,基于第二梯度对神经网络的参数进行更新(即修正),可以使更新后的神经网络进行图像处理时,在纹理较多的图像区域保留更多细节,在纹理较少的图像区域去除更多噪声,即根据图像内容自适应地确定降噪程度,从而更好地达到降噪和保留图像细节信息的均衡。
例如,神经网络的训练方法还可以包括:判断神经网络的训练是否满足预定条件,若不满足预定条件,则重复执行上述训练过程(即步骤S110至步骤S170);若满足预定条件,则停止上述训练过程,得到训练好的神经网络。例如,在一个示例中,上述预定条件为连续两幅(或更多幅)训练输出图像对应的神经网络的损失值不再显著减小。例如,在另一个示例中,上述预定条件为神经网络的训练次数或训练周期达到预定数目。本公开的实施例对此不作限制。
需要说明的是,上述实施例仅是示意性说明神经网络的训练过程。本领域技术人员应当知道,在训练阶段,需要利用大量样本图像对神经网络进行训练;同时,在每一幅样本图像训练过程中,都可以包括多次反复迭代以对神经网络的参数进行修正。又例如,训练阶段还包括对神经网络的参数进行微调(fine-tune),以获取更优化的参数。
图6A为一种训练输入图像的示例图,图6B为使用训练好的神经网络对图6A所示的训练输入图像进行处理得到的训练输出图像的示例图,图6C为图6A所示的训练输入图像对应的目标输出图像的示例图。应当理解的是,图6A所示的训练输入图像可以视为后续将要介绍的图像处理方法中的输入图像,图6B所示的训练输出图像可以视为该图像处理方法中的输出图像。
例如,图6A为采用第一模式(例如,普通模式等)的相机拍摄得到的夜景图像;图6B为使用训练好的图4所示的神经网络对图6A所示的训练输入图像进行处理得到的训练输出图像,其中,在图4所示的神经网络的训练过程中,采用前述第一种计算公式进行对位运算;图6C为采用第二模式(例如,夜景模式等)的相机拍摄得到的同一场景的图像。
例如,与图6A所示的训练输入图像相比,图6B所示的训练输出图像的质量得到了明显提高(接近于图6C所示的目标输出图像的质量),既增强了原图像的细节信息,又削弱了噪声。另外,应当理解的是,与图6C所示的目标输出图像的获取过程相比,图6B所示的训练输出图像的获取过程,对相机的硬件要求低,从而具有成本低、性价比高的优点。
需要说明的是,在本公开的实施例中,上述神经网络的训练方法的流程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行。虽然上文描述的神经网络的训练方法的流程包括特定顺序出现的多个操作,但是应该清楚地了解,多个操作的顺序并不受限制。上文描述的神经网络的训练方法可以执行一次,也可以按照预定条件执行多次。
需要说明的是,在本公开的实施例中,神经网络以及神经网络中的各种功能模块和功能层等均可以采用软件、硬件、固件或其任意组合等方式实现,从而执行相应的处理过程。
本公开的实施例提供的神经网络的训练方法,在回传梯度时,加入边缘掩膜处理,由此来改变对网络权重的更新,通过该训练方法训练得到的神经网络,可以根据图像内容自适应地确定降噪程度,从而更好地达到降噪和保留图像细节信息的均衡,进而提升图像的质量、视觉效果和美感。
本公开至少一实施例还提供一种图像处理方法。图7为本公开至少一实施例提供的一种图像处理方法的流程图。例如,如图7所示,该图像处理方法包括步骤S210至步骤S220。
步骤S210:获取输入图像。
例如,与前述步骤S110中的训练输入图像类似,输入图像也可以包括通过智能手机的摄像头、平板电脑的摄像头、个人计算机的摄像头、数码照相机的镜头、监控摄像头或者网络摄像头等拍摄采集的照片,其可以包括人物图像、动植物图像或风景图像等,本公开的实施例对此不作限制。
例如,输入图像可以为彩色图像。例如,彩色图像包括但不限于三种颜色通道的图像等。例如,该三种颜色通道包括第一颜色通道、第二颜色通道和第三颜色通道。例如,该三种颜色通道分别对应于三原色。例如,在一些实施例中,第一颜色通道为红色(R)通道,第二颜色通道为绿色(G)通道,第三颜色通道为蓝色(B)通道,但不限于此。
例如,输入图像为低光照图像,其质量较低,为了提高其质量,可以对其进行图像增强处理。例如,在一些实施例中,输入图像包括在环境照度低于照度阈值的情况下拍摄得到的图像;例如,在一些示例中,照度阈值为0.1~0.2Lux(勒克斯),但不限于此。例如,在另一些实施例中,输入图像是在光线较暗或光照失衡的条件下拍摄得到的。例如,在又一些实施例中,输入图像包括在正常光线条件下拍摄得到的欠曝光图像,其中,欠曝光图像的曝光时间小于拍摄得到正常图像所需的曝光时间,欠曝光图像的质量未达到预设质量条件,例如存在图像不清晰、存在较多噪点、图像的视觉效果不能满足用户的需求等问题。
应当理解的是,在一些实施例中,步骤S210还可以包括判断输入图像是否为低光照图像,如果判断输入图像为低光照图像,则执行后续步骤S220(例如,智能手机、平板电脑等被设置为在自动判断且确定输入图像为低光照图像的基础上,可以自动执行步骤220);反之,则不执行后续步骤S220。例如,在一些示例中,可以通过获取摄像头所处的当前环境信息(例如,照度信息等),来判断将要得到的输入图像是否为低光照图像;例如,在另一些示例中,可以通过评估输入图像的灰度直方图是否满足正常光照下图像的统计特性,来判断已经得到的输入图像是否为低光照图像。
步骤S220:使用神经网络对输入图像进行处理,以得到输出图像。
例如,在一些实施例中,可以使用本公开上述任一实施例提供的训练方法训练得到的神经网络(包括但不限于图4所示的神经网络)对输入图像进行处理,以得到输出图像。
例如,在一些实施例中,可以使用例如图4所示的神经网络对输入图像进行处理,以得到输出图像。例如,如图4所示,该神经网络的处理包括N个层级的逐层嵌套的解析处理,其中,N为整数,且N≥2。除了第N层级的解析处理外,其余每个层级的解析处理包括下采样处理、上采样处理、第一标准卷积处理和第一对位相加处理;第i+1层级的解析处理嵌套在第i层级的下采样处理和第i层级的上采样处理之间;第i层级的解析处理的输入作为第i层级的下采样处理的输入,第i层级的下采样处理的输出作为第i+1层级的解析处理的输入,第i+1层级的解析处理的输出作为第i层级的上采样处理的输入,第i层级的上采样处理的输出作为第i层级的第一标准卷积处理的输入,第i层级的下采样处理的输入和第i层级的第一标准卷积处理的输出经过第一对位相加处理后作为第i层级的解析处理的输出,其中,i为整数,且1≤i≤N-1。输入图像作为第1层级的解析处理的输入,第1层级的解析处理的输出作为输出图像。第N层级的解析处理包括:标准残差分析处理和第二对位相加处理,第N层级的解析处理的输入作为标准残差分析处理的输入,标准残差分析处理的输入和标准残差分析处理的输出经过第二对位相加处理后作为第N层级的解析处理的输出。例如,图4所示的神经网络的具体处理过程和更多细节可以参考前述相关描述,在此不再重复赘述。
例如,输出图像为输入图像经过前述神经网络进行增强处理后形成的图像。例如,输出图像的尺寸大小于输入图像的尺寸大小相同。例如,与输入图像(例如,参考图6A所示的图像)相比,输出图像(例如,参考图6B所示的图像)实现了图像增强(包括降噪、细节增强和提亮等),提高了图像的对比度,改善了输入图像过暗、噪声过多的问题,提升了图像的质量、视觉效果和美感。
需要说明的是,在本公开的实施例中,上述图像处理方法的流程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行。虽然上文描述的图像处理方法的流程包括特定顺序出现的多个操作,但是应该清楚地了解,多个操作的顺序并不受限制。上文描述的图像处理方法可以执行一次,也可以按照预定条件执行多次。
本公开的实施例提供的图像处理方法的技术效果可以参考前述实施例中关于神经网络的训练方法的技术效果的相应描述,在此不再重复赘述。
本公开至少一实施例还提供一种图像处理装置。图8为本公开至少一实施例提供的一种图像处理装置的示意性框图。例如,如图8所示,该图像处理装置500包括存储器510和处理器520。
例如,存储器510用于非暂时性存储计算机可读指令,处理器520用于运行该计算机可读指令,该计算机可读指令被处理器520运行时执行本公开任一实施例提供的图像处理方法或/和神经网络的训练方法。
例如,存储器510和处理器520之间可以直接或间接地互相通信。例如,在一些示例中,如图8所示,该图像处理装置500还可以包括系统总线530,存储器510和处理器520之间可以通过系统总线530互相通信,例如,处理器520可以通过系统总线1006访问存储器510。例如,在另一些示例中,存储器510和处理器520等组件之间可以通过网络连接进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。网络可以包括局域网、互联网、电信网、基于互联网和/或电信网的物联网(Internet of Things)、和/或以上网络的任意组合等。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者WiFi等通信方式。本公开对网络的类型和功能在此不作限制。
例如,处理器520可以控制图像处理装置中的其它组件以执行期望的功能。处理器520可以是中央处理单元(CPU)、张量处理器(TPU)或者图形处理器GPU等具有数据处理能力和/或程序执行能力的器件。中央处理器(CPU)可以为X86或ARM架构等。GPU可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。GPU也可以内置于中央处理器(CPU)上。
例如,存储器510可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。
例如,在存储器510上可以存储一个或多个计算机指令,处理器520可以运行所述计算机指令,以实现各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如中间特征图像、中间输出图像以及应用程序使用和/或产生的各种数据等。
例如,存储器510存储的一些计算机指令被处理器520执行时可以执行根据上文所述的图像处理方法中的一个或多个步骤。又例如,存储器510存储的另一些计算机指令被处理器520执行时可以执行根据上文所述的神经网络的训练方法中的一个或多个步骤。
例如,如图8所示,图像处理装置500还可以包括允许外部设备与图像处理装置500进行通信的输入接口540。例如,输入接口540可被用于从外部计算机设备、从用户等处接收指令。图像处理装置500还可以包括使图像处理装置500和一个或多个外部设备相互连接的输出接口550。例如,图像处理装置500可以通过输出接口550显示图像等。通过输入接口1010和输出接口1012与图像处理装置500通信的外部设备可被包括在提供任何类型的用户可与之交互的用户界面的环境中。用户界面类型的示例包括图形用户界面、自然用户界面等。例如,图形用户界面可接受来自用户采用诸如键盘、鼠标、遥控器等之类的(诸)输入设备的输入,以及在诸如显示器之类的输出设备上提供输出。此外,自然用户界面可使得用户能够以无需受到诸如键盘、鼠标、遥控器等之类的输入设备强加的约束的方式来与图像处理装置500交互。相反,自然用户界面可依赖于语音识别、触摸和指示笔识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、语音和语音、视觉、触摸、手势、以及机器智能等。
另外,图像处理装置500尽管在图8中被示出为单个系统,但可以理解,图像处理装置500也可以是分布式系统,还可以布置为云设施(包括公有云或私有云)。因此,例如,若干设备可以通过网络连接进行通信并且可共同执行被描述为由图像处理装置500执行的任务。
例如,关于图像处理方法的处理过程的详细说明可以参考上述图像处理方法的实施例中的相关描述,关于神经网络的训练方法的处理过程的详细说明可以参考上述神经网络的训练方法的实施例中的相关描述,重复之处不再赘述。
例如,在一些示例中,该图像处理装置可以包括但不限于智能手机、平板电脑、个人计算机、监控系统等设备或系统。
需要说明的是,本公开的实施例提供的图像处理装置是示例性的,而非限制性的,根据实际应用需要,该图像处理装置还可以包括其他常规部件或结构,例如,为实现图像处理装置的必要功能,本领域技术人员可以根据具体应用场景设置其他的常规部件或结构,本公开的实施例对此不作限制。
本公开的实施例提供的图像处理装置的技术效果可以参考上述实施例中关于图像处理方法以及神经网络的训练方法的相应描述,在此不再赘述。
本公开至少一实施例还提供一种存储介质。图9为本公开一实施例提供的一种存储介质的示意图。例如,如图9所示,该存储介质600非暂时性地存储计算机可读指令601,当非暂时性计算机可读指令601由计算机(包括处理器)执行时可以执行本公开任一实施例提供的压缩与加速方法的指令或者可以执行本公开任一实施例提供的数据处理方法的指令。
例如,在存储介质600上可以存储一个或多个计算机指令。存储介质600上存储的一些计算机指令可以是例如用于实现上述压缩与加速方法中的一个或多个步骤的指令。存储介质上存储的另一些计算机指令可以是例如用于实现上述数据处理方法中的一个或多个步骤的指令。例如,在存储介质上可以存储上述位宽可调的量化模型。
例如,存储介质可以包括平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、光盘只读存储器(CD-ROM)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。
本公开的实施例提供的存储介质的技术效果可以参考上述实施例中关于图像处理方法以及神经网络的训练方法的相应描述,在此不再赘述。
对于本公开,有以下几点需要说明:
(1)本公开实施例附图中,只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开同一实施例及不同实施例中的特征可以相互组合。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (19)
1.一种神经网络的训练方法,包括:
获取训练输入图像;
使用所述神经网络对所述训练输入图像进行处理,以得到训练输出图像;
基于所述训练输出图像,通过损失函数计算所述神经网络的损失值;
基于所述神经网络的损失值,计算第一梯度;
基于所述训练输入图像,计算边缘掩膜矩阵;
将所述边缘掩膜矩阵与所述第一梯度进行对位相乘处理,以得到第二梯度;以及
基于所述第二梯度对所述神经网络的参数进行修正,
其中,基于所述训练输入图像的灰度图像,计算所述边缘掩膜矩阵,包括:
使用边缘检测算子对所述训练输入图像的灰度图像进行处理,以得到所述边缘掩膜矩阵,
其中,所述边缘检测算子包括第一子算子和第二子算子,
使用所述边缘检测算子对所述训练输入图像的灰度图像进行处理,以得到所述边缘掩膜矩阵,包括:
使用所述第一子算子对所述训练输入图像的灰度图像进行处理,以得到第一灰度梯度矩阵,使用所述第二子算子对所述训练输入图像的灰度图像进行处理,以得到第二灰度梯度矩阵;以及
对所述第一灰度梯度矩阵和所述第二灰度梯度矩阵进行对位运算,以得到所述边缘掩膜矩阵。
2.根据权利要求1所述的训练方法,其中,所述训练输入图像为灰度图像;
基于所述训练输入图像,计算所述边缘掩膜矩阵,包括:
基于所述训练输入图像的灰度图像,计算所述边缘掩膜矩阵。
3.根据权利要求1所述的训练方法,其中,所述训练输入图像为彩色图像;
基于所述训练输入图像,计算所述边缘掩膜矩阵,包括:
将所述训练输入图像的彩色图像转换为所述训练输入图像的灰度图像;
基于所述训练输入图像的灰度图像,计算所述边缘掩膜矩阵。
4.根据权利要求3所述的训练方法,其中,所述训练输入图像的彩色图像包括红色通道、绿色通道和蓝色通道;
将所述训练输入图像的彩色图像转换为所述训练输入图像的灰度图像,包括:
根据格式转换公式将所述训练输入图像的彩色图像转换为所述训练输入图像的灰度图像,
所述格式转换公式表示为:
Y=0.299R+0.587G+0.114B
其中,R、G和B分别表示所述彩色图像的红色通道、绿色通道和蓝色通道的数据矩阵,Y表示所述灰度图像的数据矩阵。
5.根据权利要求1所述的训练方法,其中,所述边缘检测算子包括Sobel算子、Scharr算子和Canny算子之一。
6.根据权利要求1所述的训练方法,其中,所述对位运算包括:
求所述第一灰度梯度矩阵和所述第二灰度梯度矩阵中对位的元素的平方和再除以2;或
求所述第一灰度梯度矩阵和所述第二灰度梯度矩阵中对位的元素的平方和的根;或
求所述第一灰度梯度矩阵和所述第二灰度梯度矩阵中对位的元素的绝对值之和;或
取所述第一灰度梯度矩阵和所述第二灰度梯度矩阵中对位的元素的绝对值的最大值。
7.根据权利要求1-6任一项所述的训练方法,其中,所述损失函数包括感知损失函数,所述感知损失函数表示为:
其中,Lp(Itgt,Iout)表示所述感知损失函数,Itgt表示所述训练输入图像对应的目标输出图像,Iout表示所述训练输出图像,φ表示预训练的损失网络,所述损失网络包括至少一个用于提取特征图像的卷积层,φj表示所述损失网络中的用于提取特征图像的第j个卷积层,φj(Itgt)表示所述目标输出图像输入所述损失网络时所述损失网络的第j个卷积层输出的特征图像,φj(Iout)表示所述训练输出图像输入所述损失网络时所述损失网络的第j个卷积层输出的特征图像,Cj表示所述损失网络的第j个卷积层输出的特征图像的数量,Hj表示所述损失网络的第j个卷积层输出的特征图像的高度,Wj表示所述损失网络的第j个卷积层输出的特征图像的宽度。
8.根据权利要求7所述的训练方法,其中,所述目标输出图像的尺寸大小和所述训练输出图像的尺寸大小相同。
9.根据权利要求7所述的训练方法,其中,所述训练输入图像包括在环境照度低于照度阈值的情况下采用第一模式的相机拍摄得到的图像,所述目标输出图像包括在同一情况下采用第二模式的相机拍摄得到的图像,且所述目标输出图像与所述训练输入图像的场景相同;
与所述第一模式的相机相比,所述第二模式的相机采用更大光圈和更高感光度的摄像头,同时采用高动态范围图像增强、降噪的图像优化算法进行图像优化处理。
10.根据权利要求1-6任一项所述的训练方法,其中,将所述边缘掩膜矩阵与所述第一梯度进行所述对位相乘处理,以得到所述第二梯度,包括:
根据梯度转换公式进行所述对位相乘处理,所述梯度转换公式表示为:
其中,M表示所述边缘掩膜矩阵,Mjk表示所述边缘掩膜矩阵的第j行第k列的数值,表示所述第一梯度,/>表示所述第一梯度的第m个通道的第j行第k列的数值,/>表示所述第二梯度,/>表示所述第二梯度的第m个通道的第j行第k列的数值。
11.根据权利要求1-6任一项所述的训练方法,其中,所述神经网络的处理包括:N个层级的逐层嵌套的解析处理;
除了第N层级的解析处理外,其余每个层级的解析处理包括下采样处理、上采样处理、第一标准卷积处理和第一对位相加处理;
第i+1层级的解析处理嵌套在第i层级的下采样处理和第i层级的上采样处理之间;
第i层级的解析处理的输入作为第i层级的下采样处理的输入,第i层级的下采样处理的输出作为第i+1层级的解析处理的输入,第i+1层级的解析处理的输出作为第i层级的上采样处理的输入,第i层级的上采样处理的输出作为第i层级的第一标准卷积处理的输入,第i层级的下采样处理的输入和第i层级的第一标准卷积处理的输出经过第一对位相加处理后作为第i层级的解析处理的输出;
所述训练输入图像作为第1层级的解析处理的输入,第1层级的解析处理的输出作为所述训练输出图像;
第N层级的解析处理包括:标准残差分析处理和第二对位相加处理,第N层级的解析处理的输入作为所述标准残差分析处理的输入,所述标准残差分析处理的输入和所述标准残差分析处理的输出经过第二对位相加处理后作为第N层级的解析处理的输出;
其中,N、i均为整数,且N≥2,1≤i≤N-1。
12.根据权利要求11所述的训练方法,其中,在第i层级的解析处理中,第i层级的第一标准卷积处理连续执行两次。
13.根据权利要求11所述的训练方法,其中,所述标准残差分析处理包括第二标准卷积处理、第三对位相加处理和第一激活处理;
所述标准残差分析处理的输入作为所述第二标准卷积处理的输入,所述第二标准卷积处理的输入和所述第二标准卷积处理的输出经过第三对位相加处理后作为所述第一激活处理的输入,所述第一激活处理的输出作为所述标准残差分析处理的输出。
14.根据权利要求13所述的训练方法,其中,在第N层级的解析处理中,所述标准残差分析处理执行一次或连续执行多次。
15.根据权利要求13所述的训练方法,其中,在所述标准残差分析处理中,所述第二标准卷积处理连续执行两次。
16.根据权利要求13所述的训练方法,其中,所述第一标准卷积处理和所述第二标准卷积处理各自均包括依次执行的卷积处理、批量标准化处理和第二激活处理。
17.一种图像处理方法,包括:
获取输入图像;以及
使用根据权利要求1-16任一项所述的训练方法训练得到的所述神经网络对所述输入图像进行处理,以得到输出图像。
18.一种图像处理装置,包括:
存储器,用于非暂时性存储计算机可读指令;以及
处理器,用于运行所述计算机可读指令,
其中,所述计算机可读指令被所述处理器运行时,执行根据权利要求1-16任一项所述的神经网络的训练方法,或者执行根据权利要求17所述的图像处理方法。
19.一种存储介质,非暂时性地存储有计算机可读指令,其中,当所述计算机可读指令由计算机执行时,执行根据权利要求1-16任一项所述的神经网络的训练方法的指令,或者执行根据权利要求17所述的图像处理方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010017342.XA CN113096023B (zh) | 2020-01-08 | 2020-01-08 | 神经网络的训练方法、图像处理方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010017342.XA CN113096023B (zh) | 2020-01-08 | 2020-01-08 | 神经网络的训练方法、图像处理方法及装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113096023A CN113096023A (zh) | 2021-07-09 |
CN113096023B true CN113096023B (zh) | 2023-10-27 |
Family
ID=76664035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010017342.XA Active CN113096023B (zh) | 2020-01-08 | 2020-01-08 | 神经网络的训练方法、图像处理方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113096023B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114265373A (zh) * | 2021-11-22 | 2022-04-01 | 煤炭科学研究总院 | 综采面一体式操控台控制系统 |
CN114743128B (zh) * | 2022-03-09 | 2024-08-09 | 华侨大学 | 一种基于异种神经网络的多模态东北虎再辨识方法及装置 |
CN115761448B (zh) * | 2022-12-02 | 2024-03-01 | 美的集团(上海)有限公司 | 神经网络的训练方法、训练装置和可读存储介质 |
CN118279288A (zh) * | 2024-05-08 | 2024-07-02 | 南京特皓发机械设备有限公司 | 用于硅钢钢板表面的ai分析系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919951A (zh) * | 2017-01-24 | 2017-07-04 | 杭州电子科技大学 | 一种基于点击与视觉融合的弱监督双线性深度学习方法 |
CN108197561A (zh) * | 2017-12-29 | 2018-06-22 | 北京智慧眼科技股份有限公司 | 人脸识别模型优化控制方法、装置、设备及存储介质 |
CN109214973A (zh) * | 2018-08-24 | 2019-01-15 | 中国科学技术大学 | 针对隐写分析神经网络的对抗安全载体生成方法 |
CN109784476A (zh) * | 2019-01-12 | 2019-05-21 | 福州大学 | 一种改进dsod网络的方法 |
CN109872288A (zh) * | 2019-01-31 | 2019-06-11 | 深圳大学 | 用于图像去噪的网络训练方法、装置、终端及存储介质 |
CN110188635A (zh) * | 2019-05-16 | 2019-08-30 | 南开大学 | 一种基于注意力机制和多层次卷积特征的植物病虫害识别方法 |
CN110210551A (zh) * | 2019-05-28 | 2019-09-06 | 北京工业大学 | 一种基于自适应主体敏感的视觉目标跟踪方法 |
CN110458906A (zh) * | 2019-06-26 | 2019-11-15 | 重庆邮电大学 | 一种基于深度颜色迁移的医学图像着色方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102563752B1 (ko) * | 2017-09-29 | 2023-08-04 | 삼성전자주식회사 | 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들 |
-
2020
- 2020-01-08 CN CN202010017342.XA patent/CN113096023B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919951A (zh) * | 2017-01-24 | 2017-07-04 | 杭州电子科技大学 | 一种基于点击与视觉融合的弱监督双线性深度学习方法 |
CN108197561A (zh) * | 2017-12-29 | 2018-06-22 | 北京智慧眼科技股份有限公司 | 人脸识别模型优化控制方法、装置、设备及存储介质 |
CN109214973A (zh) * | 2018-08-24 | 2019-01-15 | 中国科学技术大学 | 针对隐写分析神经网络的对抗安全载体生成方法 |
CN109784476A (zh) * | 2019-01-12 | 2019-05-21 | 福州大学 | 一种改进dsod网络的方法 |
CN109872288A (zh) * | 2019-01-31 | 2019-06-11 | 深圳大学 | 用于图像去噪的网络训练方法、装置、终端及存储介质 |
CN110188635A (zh) * | 2019-05-16 | 2019-08-30 | 南开大学 | 一种基于注意力机制和多层次卷积特征的植物病虫害识别方法 |
CN110210551A (zh) * | 2019-05-28 | 2019-09-06 | 北京工业大学 | 一种基于自适应主体敏感的视觉目标跟踪方法 |
CN110458906A (zh) * | 2019-06-26 | 2019-11-15 | 重庆邮电大学 | 一种基于深度颜色迁移的医学图像着色方法 |
Non-Patent Citations (2)
Title |
---|
A New Parallel Detection-Recognition Approach for End-to-End Scene Text Extraction;J. Li, Z. Zhou, Z. Su, S,Huang. L. Jin;2019 International Conference on Document Analysis and Recognition (ICDAR);第1358-1365页 * |
针对深度学习模型的优化问题研究;郑书新;中国博士学位论文全文数据库 信息科技辑(第8期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113096023A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113096023B (zh) | 神经网络的训练方法、图像处理方法及装置、存储介质 | |
CN113095470B (zh) | 神经网络的训练方法、图像处理方法及装置、存储介质 | |
WO2021164429A1 (zh) | 图像处理方法、图像处理装置及设备 | |
CN109614996B (zh) | 基于生成对抗网络的弱可见光与红外图像融合的识别方法 | |
CN111767979B (zh) | 神经网络的训练方法、图像处理方法、图像处理装置 | |
KR102134405B1 (ko) | 적대적 생성망을 이용한 저조도 영상 개선을 위한 장치 및 방법 | |
CN107122826B (zh) | 用于卷积神经网络的处理方法和系统、和存储介质 | |
CN115442515B (zh) | 图像处理方法和设备 | |
CN110717851A (zh) | 图像处理方法及装置、神经网络的训练方法、存储介质 | |
US20230080693A1 (en) | Image processing method, electronic device and readable storage medium | |
EP4163832A1 (en) | Neural network training method and apparatus, and image processing method and apparatus | |
CN111079764B (zh) | 一种基于深度学习的低照度车牌图像识别方法及装置 | |
CN109255758A (zh) | 基于全1*1卷积神经网络的图像增强方法 | |
CN109766898A (zh) | 图像文字识别方法、装置、计算机设备及存储介质 | |
CN113420794B (zh) | 一种基于深度学习的二值化Faster R-CNN柑橘病虫害识别方法 | |
Ma et al. | RetinexGAN: Unsupervised low-light enhancement with two-layer convolutional decomposition networks | |
CN113076966B (zh) | 图像处理方法及装置、神经网络的训练方法、存储介质 | |
CN115035011B (zh) | 一种融合策略下自适应RetinexNet的低照度图像增强方法 | |
CN111080754B (zh) | 一种头部肢体特征点连线的人物动画制作方法及装置 | |
CN117611501A (zh) | 一种低照度图像增强方法、装置、设备及可读存储介质 | |
CN115526803A (zh) | 非均匀光照图像增强方法、系统、存储介质及设备 | |
CN115797205A (zh) | 基于Retinex分数阶变分网络的无监督单张图像增强方法及系统 | |
CN115019340A (zh) | 一种基于深度学习的夜间行人检测算法 | |
CN112907570B (zh) | 一种轻量级无监督暗光图像增强方法及装置 | |
Jiji et al. | Extended depth of focus imaging using optics and image 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |