CN111767979B - 神经网络的训练方法、图像处理方法、图像处理装置 - Google Patents
神经网络的训练方法、图像处理方法、图像处理装置 Download PDFInfo
- Publication number
- CN111767979B CN111767979B CN201910262329.8A CN201910262329A CN111767979B CN 111767979 B CN111767979 B CN 111767979B CN 201910262329 A CN201910262329 A CN 201910262329A CN 111767979 B CN111767979 B CN 111767979B
- Authority
- CN
- China
- Prior art keywords
- network
- training
- image
- style
- convolution
- 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 405
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000012545 processing Methods 0.000 title claims abstract description 95
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 30
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000013508 migration Methods 0.000 claims abstract description 44
- 230000005012 migration Effects 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 43
- 239000010410 layer Substances 0.000 claims description 236
- 230000006870 function Effects 0.000 claims description 140
- 238000004458 analytical method Methods 0.000 claims description 35
- 238000005070 sampling Methods 0.000 claims description 31
- 239000011159 matrix material Substances 0.000 claims description 20
- 239000002356 single layer Substances 0.000 claims description 12
- 230000000694 effects Effects 0.000 abstract description 13
- 238000005516 engineering process Methods 0.000 abstract description 13
- 230000004927 fusion Effects 0.000 abstract description 6
- 238000013527 convolutional neural network Methods 0.000 description 45
- 238000010586 diagram Methods 0.000 description 28
- 230000004913 activation Effects 0.000 description 21
- 238000010606 normalization Methods 0.000 description 14
- 239000013598 vector Substances 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000005457 optimization Methods 0.000 description 7
- 239000002131 composite material Substances 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000010422 painting Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 4
- 101000986989 Naja kaouthia Acidic phospholipase A2 CM-II Proteins 0.000 description 3
- 230000008485 antagonism Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000000265 homogenisation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
Abstract
一种神经网络的训练方法、图像处理方法、图像处理装置。该训练方法包括:基于生成网络,对判别网络进行训练;基于所述判别网络,对所述生成网络进行训练;以及交替地执行上述训练过程,以得到基于训练后的所述生成网络的目标网络;目标网络用于对输入图像进行风格迁移处理以得到输出图像,所述输出图像的分辨率高于所述输入图像的分辨率。该训练方法结合了生成式对抗网络、超分辨率技术和风格迁移技术,经过该训练方法训练得到的目标网络可以基于输入图像生成高质量的具有目标风格的高分辨率图像,提高了图像风格迁移和图像融合的效果,具有更好、更广泛的应用前景。
Description
技术领域
本公开的实施例涉及一种神经网络的训练方法、图像处理方法、图像处理装置。
背景技术
当前,基于人工神经网络的深度学习技术已经在诸如物体分类、文本处理、推荐引擎、图像搜索、面部识别、年龄和语音识别、人机对话以及情感计算等领域取得了巨大进展。随着人工神经网络结构的加深和算法的提升,深度学习技术在类人类数据感知领域取得了突破性的进展,深度学习技术可以用于描述图像内容、识别图像中的复杂环境下的物体以及在嘈杂环境中进行语音识别等。同时,深度学习技术还可以解决图像生成和融合的问题。
发明内容
本公开至少一个实施例提供一种神经网络的训练方法,包括:基于生成网络,对判别网络进行训练;基于所述判别网络,对所述生成网络进行训练;以及,交替地执行上述训练过程,以得到基于训练后的所述生成网络的目标网络;
其中,所述目标网络用于对输入图像进行风格迁移处理以得到输出图像,所述输出图像的分辨率高于所述输入图像的分辨率;
基于所述判别网络,对所述生成网络进行训练,包括:利用所述生成网络对第一训练输入图像进行风格迁移处理,以分别生成第一训练输出图像和第二训练输出图像,其中,所述第一训练输出图像的分辨率高于所述第一训练输入图像的分辨率,所述第二训练输出图像的分辨率等于所述第一训练输入图像的分辨率;通过所述判别网络对所述第一训练输出图像进行处理,通过分析网络对所述第二训练输出图像进行处理,根据所述判别网络的输出和所述分析网络的输出,通过系统损失函数计算所述生成网络的系统损失值;根据所述系统损失值对所述生成网络的参数进行修正。
例如,在本公开一实施例提供的训练方法中,所述生成网络包括主干网络、第一分支网络和第二分支网络,所述第一分支网络的输入和所述第二分支网络的输入均为所述主干网络的输出;
利用所述生成网络对所述第一训练输入图像进行风格迁移处理,以分别生成所述第一训练输出图像和所述第二训练输出图像,包括:根据所述第一训练输入图像,通过所述主干网络和所述第一分支网络生成所述第一训练输出图像,以及通过所述主干网络和所述第二分支网络生成所述第二训练输出图像。
例如,在本公开一实施例提供的训练方法中,所述主干网络包括依次连接的多个卷积模块和间插于相邻卷积模块的多个下采样层;所述第一分支网络包括依次连接的多个卷积模块和间插于相邻卷积模块的多个上采样层;所述第二分支网络包括依次连接的多个卷积模块和间插于相邻卷积模块的多个上采样层;其中,所述第一分支网络中的卷积模块的个数和上采样层的个数分别多于所述主干网络中的卷积模块的个数和下采样层的个数,所述第二分支网络中的卷积模块的个数和上采样层的个数分别等于所述主干网络中的卷积模块的个数和下采样层的个数。
例如,在本公开一实施例提供的训练方法中,所述系统损失函数包括生成网络对抗损失函数,所述系统损失值包括生成网络对抗损失值;
所述生成网络对抗损失函数表示为:
其中,LG表示所述生成网络对抗损失函数,z表示所述第一训练输入图像,Pz(z)表示所述第一训练输入图像的集合,G(z)表示所述第一训练输出图像,D(G(z))表示所述判别网络针对所述第一训练输出图像的输出,Ez~Pz(z)表示针对所述第一训练输入图像的集合求期望以得到所述生成网络对抗损失值。
例如,在本公开一实施例提供的训练方法中,所述分析网络包括依次连接的多个第一卷积模块和间插于相邻第一卷积模块的多个第一下采样层,至少两个所述第一卷积模块用于提取风格特征,至少一个所述第一卷积模块用于提取内容特征。
例如,在本公开一实施例提供的训练方法中,所述系统损失函数还包括内容损失函数,所述系统损失值还包括内容损失值;
所述内容损失函数表示为:
其中,Lcontent表示所述内容损失函数,Cm表示用于提取所述内容特征的所述至少一个第一卷积模块中的第m个第一卷积模块的单层内容损失函数,w1m表示Cm的权重;
所述单层内容损失函数表示为:
其中,S1为常数,表示在所述第m个第一卷积模块中第i个第一卷积核提取的所述第一训练输入图像的第一内容特征图像中第j个位置的值,/>表示在所述第m个第一卷积模块中第i个第一卷积核提取的所述第二训练输出图像的第二内容特征图像中第j个位置的值。
例如,在本公开一实施例提供的训练方法中,所述系统损失函数还包括风格损失函数,所述系统损失值还包括风格损失值;
所述风格损失函数表示为:
其中,Lstyle表示所述风格损失函数,En表示用于提取所述风格特征的所述至少两个第一卷积模块中的第n个第一卷积模块的单层风格损失函数,w2m表示En的权重;
所述单层风格损失函数表示为:
其中,S2为常数,Nn表示所述第n个第一卷积模块中的第一卷积核的数目,Mn表示所述第n个第一卷积模块中的第一卷积核提取的风格特征图像的尺寸,所述表示在所述第n个第一卷积模块中第i个第一卷积核提取的第一训练风格图像的第一风格特征图像的格拉姆矩阵中第j个位置的值,/>表示在所述第n个第一卷积模块中第i个第一卷积核提取的所述第二训练输出图像的第二风格特征图像的格拉姆矩阵中第j个位置的值。
例如,在本公开一实施例提供的训练方法中,所述生成网络的参数包括多个卷积核和多个偏置,所述系统损失函数还包括权重偏置比损失函数,所述系统损失值还包括权重偏置比损失值;
基于所述判别网络,对所述生成网络进行训练,还包括:根据所述多个卷积核和所述多个偏置,通过所述权重偏置比损失函数计算所述权重偏置比损失值。
例如,在本公开一实施例提供的训练方法中,所述权重偏置比损失函数表示为:
其中,LL1表示所述权重偏置比损失函数,W为所述多个卷积核的绝对值的平均值,B为所述多个偏置的绝对值的平均值,ε为正数。
例如,在本公开一实施例提供的训练方法中,基于生成网络,对判别网络进行训练,包括:利用所述生成网络对第二训练输入图像进行风格迁移处理,以生成第三训练输出图像,其中,所述第三训练输出图像的分辨率大于所述第二训练输入图像的分辨率;将第二训练风格图像和所述第三训练输出图像输入所述判别网络,其中,所述第二训练风格图像的分辨率等于所述第三训练输出图像的分辨率,根据所述第二训练风格图像的标签和所述第二训练风格图像对应的所述判别网络的输出以及所述第三训练输出图像的标签和所述第三训练输出图像对应的所述判别网络的输出,通过判别网络对抗损失函数计算判别网络对抗损失值;根据所述判别网络对抗损失值对所述判别网络的参数进行修正。
例如,在本公开一实施例提供的训练方法中,所述判别网络对抗损失函数表示为:
其中,LD表示所述判别网络对抗损失函数,x表示所述第二训练风格图像,Pdata(x)表示所述第二训练风格图像的集合,D(x)表示所述判别网络针对所述第二训练风格图像的输出,表示针对所述第二训练风格图像的集合求期望,z表示所述第二训练输入图像,Pz(z)表示所述第二训练输入图像的集合,G(z)表示所述第三训练输出图像,D(G(z))表示所述判别网络针对所述第三训练输出图像的输出,/>表示针对所述第三训练输入图像的集合求期望。
例如,在本公开一实施例提供的训练方法中,所述目标网络包括所述生成网络的所述主干网络和所述第一分支网络。
本公开至少一个实施例还提供一种图像处理方法,包括:获取输入图像;利用神经网络对所述输入图像进行风格迁移处理,以生成输出图像;其中,所述神经网络包括根据本公开任一实施例提供的训练方法得到的所述目标网络,所述输出图像的分辨率高于所述输入图像的分辨率。
本公开至少一个实施例还提供一种图像处理装置,包括:图像获取模块,用于获取输入图像;图像处理模块,包括根据本公开任一实施例提供的训练方法得到的所述目标网络,所述图像处理模块配置为利用所述目标网络对所述输入图像进行风格迁移处理,生成所述输出图像。
本公开至少一个实施例还提供一种图像处理装置,包括:存储器,用于非暂时性存储计算机可读指令;以及处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时执行本公开任一实施例提供的训练方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为一种卷积神经网络的示意图;
图2A为一种卷积神经网络的结构示意图;
图2B为一种卷积神经网络的工作过程示意图;
图3为另一种卷积神经网络的结构示意图;
图4为本公开至少一实施例提供的一种神经网络的训练方法的流程图;
图5A为本公开至少一实施例提供的一种对应于图4中所示的训练方法训练生成网络的示意性架构框图;
图5B为本公开至少一实施例提供的一种训练生成网络的过程的示意性流程图;
图6为本公开至少一实施例提供的一种生成网络的结构示意图;
图7A为本公开至少一实施例提供的一种上采样层的示意图;
图7B为本公开至少一实施例提供的另一种上采样层的示意图;
图8为本公开至少一实施例提供的一种判别网络的结构示意图;
图9为本公开至少一实施例提供的一种分析网络的结构示意图;
图10A为本公开至少一实施例提供的一种对应于图4中所示的训练方法训练判别网络的示意性架构框图;
图10B为本公开至少一实施例提供的一种训练判别网络的过程的示意性流程图;
图11为本公开至少一实施例提供的一种图像处理方法的示意性流程图;
图12A为本公开至少一实施例提供的一种图像处理装置的示意性框图;以及
图12B为本公开至少一实施例提供的另一种图像处理装置的示意性框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
下面通过几个具体的实施例对本公开进行说明。为了保持本公开实施例的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。当本公开实施例的任一部件在一个以上的附图中出现时,该部件在每个附图中由相同或类似的参考标号表示。
当今,随着图像处理技术的发展,对图像进行风格化迁移处理的方法逐渐成为图像处理领域的研究热点。将一幅图像转换成具备某种艺术风格的图片,可以用于基于云计算的图像处理、风格渲染以及数字画廊等产品和服务。
利用深度神经网络进行图片的艺术风格转移是随着深度学习技术的发展而新兴起来的技术。例如,基于参考图像所给出的风格(style),对输入图像进行处理以获得至少部分体现出该风格的输出图像。例如,参考图像为某个艺术家的作品,输出图像则可以在保留原有内容的同时还呈现出该艺术家作画的某些风格特征,甚至使人将其误认为是该艺术家的作品。传统的图像处理效果(例如,instagram公司提供的各种滤镜等)无法获得这样的风格化迁移处理效果。
本公开至少一个实施例提供一种神经网络的训练方法、图像处理方法、图像处理装置,结合了生成式对抗网络、超分辨率技术和风格迁移技术,经过训练的神经网络可以基于输入图像生成高质量的具有目标风格的高分辨率图像,提高了图像风格迁移和图像融合的效果,提升了用户的视觉体验;具有更好、更广泛的应用前景。
最初,卷积神经网络(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)函数、S型函数(Sigmoid函数)或双曲正切函数(tanh函数)等。ReLU函数为非饱和非线性函数,Sigmoid函数和tanh函数为饱和非线性函数。例如,激活层可以单独作为卷积神经网络的一层,或者激活层也可以被包含在卷积层(例如,第一卷积层201可以包括第一激活层203,第二卷积层202可以包括第二激活层204)中。
例如,在第一卷积层201中,首先,对每个输入应用第一组卷积核中的若干卷积核和第一组偏置中的若干偏置/>以得到第一卷积层201的输出;然后,第一卷积层201的输出可以通过第一激活层203进行处理,以得到第一激活层203的输出。在第二卷积层202中,首先,对输入的第一激活层203的输出应用第二组卷积核中的若干卷积核/>和第二组偏置中的若干偏置/>以得到第二卷积层202的输出;然后,第二卷积层202的输出可以通过第二激活层204进行处理,以得到第二激活层204的输出。例如,第一卷积层201的输出可以为对其输入应用卷积核/>后再与偏置/>相加的结果,第二卷积层202的输出可以为对第一激活层203的输出应用卷积核/>后再与偏置/>相加的结果。
在利用卷积神经网络进行图像处理前,需要对卷积神经网络进行训练。经过训练之后,卷积神经网络的卷积核和偏置在图像处理期间保持不变。在训练过程中,各卷积核和偏置通过多组输入/输出示例图像以及优化算法进行调整,以获取优化后的卷积神经网络模型。
图2A示出了一种卷积神经网络的结构示意图,图2B示出了一种卷积神经网络的工作过程示意图。例如,如图2A和2B所示,输入图像通过输入层输入到卷积神经网络后,依次经过若干个处理过程(如图2A中的每个层级)后输出类别标识。卷积神经网络的主要组成部分可以包括多个卷积层、多个下采样层和全连接层。例如,一个完整的卷积神经网络可以由这三种层叠加组成。例如,图2A仅示出了一种卷积神经网络的三个层级,即第一层级、第二层级和第三层级。例如,每个层级可以包括一个卷积模块和一个下采样层。例如,每个卷积模块可以包括卷积层。由此,每个层级的处理过程可以包括:对输入图像进行卷积(convolution)以及下采样(sub-sampling/down-sampling)。例如,根据实际需要,每个卷积模块还可以包括实例标准化(instance normalization)层,从而每个层级的处理过程还可以包括标准化处理。
例如,实例标准化层用于对卷积层输出的特征图像进行标准化处理,以使特征图像的像素的灰度值在预定范围内变化,从而简化图像生成过程,改善风格迁移的质量。例如,预定范围可以为[-1,1]。实例标准化层根据每个特征图像自身的均值和方差,对该特征图像进行标准化处理。例如,实例标准化层还可用于对单幅图像进行标准化处理。
例如,假设小批梯度下降法(mini-batch gradient decent)的尺寸为T,某一卷积层输出的特征图像的数量为C,且每个特征图像均为H行W列的矩阵,则特征图像的模型表示为(T,C,W,H)。从而,实例标准化层的标准化公式可以表示如下:
其中,xtijk为该第一卷积层输出的特征图像集合中的第t个特征块(patch)、第i个特征图像、第j列、第k行的值。ytijk表示经过实例归一化层处理xtijk后得到的结果。ε为一个很小的整数,以避免分母为0。
卷积层是卷积神经网络的核心层。在卷积神经网络的卷积层中,一个神经元只与部分相邻层的神经元连接。卷积层可以对输入图像应用若干个卷积核(也称为滤波器),以提取输入图像的多种类型的特征。每个卷积核可以提取一种类型的特征。卷积核一般以随机小数矩阵的形式初始化,在卷积神经网络的训练过程中卷积核将通过学习以得到合理的权值。对输入图像应用一个卷积核之后得到的结果被称为特征图像(feature map),特征图像的数目与卷积核的数目相等。每个特征图像由一些矩形排列的神经元组成,同一特征图像的神经元共享权值,这里共享的权值就是卷积核。一个层级的卷积层输出的特征图像可以被输入到相邻的下一个层级的卷积层并再次处理以得到新的特征图像。例如,如图2A所示,第一层级的卷积层可以输出第一特征图像,该第一特征图像被输入到第二层级的卷积层再次处理以得到第二特征图像。
例如,如图2B所示,卷积层可以使用不同的卷积核对输入图像的某一个局部感受域的数据进行卷积,卷积结果被输入激活层,该激活层根据相应的激活函数进行计算以得到输入图像的特征信息。
例如,如图2A和2B所示,下采样层设置在相邻的卷积层之间,下采样层是下采样的一种形式。一方面,下采样层可以用于缩减输入图像的规模,简化计算的复杂度,在一定程度上减小过拟合的现象;另一方面,下采样层也可以进行特征压缩,提取输入图像的主要特征。下采样层能够减少特征图像的尺寸,但不改变特征图像的数量。例如,一个尺寸为12×12的输入图像,通过6×6的卷积核对其进行采样,那么可以得到2×2的输出图像,这意味着输入图像上的36个像素合并为输出图像中的1个像素。最后一个下采样层或卷积层可以连接到一个或多个全连接层,全连接层用于连接提取的所有特征。全连接层的输出为一个一维矩阵,也就是向量。
图3示出了另一种卷积神经网络的结构示意图。例如,参见图3所示的示例,最后一个卷积层(即第t个卷积层)的输出被输入到平坦化层以进行平坦化操作(Flatten)。平坦化层可以将特征图像(2D图像)转换为向量(1D)。该平坦化操作可以按照如下的方式进行:
vk=fk/j,k%j
其中,v是包含k个元素的向量,f是具有i行j列的矩阵。
然后,平坦化层的输出(即1D向量)被输入到一个全连接层(FCN)。全连接层可以具有与卷积神经网络相同的结构,但不同之处在于,全连接层使用不同的标量值以替代卷积核。
例如,最后一个卷积层的输出也可以被输入到均化层(AVG)。均化层用于对输出进行平均操作,即利用特征图像的均值表示输出图像,因此,一个2D的特征图像转换成为一个标量。例如,如果卷积神经网络包括均化层,则其可以不包括平坦化层。
例如,根据实际需要,均化层或全连接层可以连接到分类器,分类器可以根据提取的特征进行分类,分类器的输出可以作为卷积神经网络的最终输出,即表征图像类别的类别标识(label)。
例如,分类器可以为支持向量机(Support Vector Machine,SVM)分类器、softmax分类器以及最邻近规则(KNN)分类器等。如图3所示,在一个示例中,卷积神经网络包括softmax分类器,softmax分类器是一种逻辑函数的生成器,可以把一个包含任意实数的K维向量z压缩成K维向量σ(z)。softmax分类器的公式如下:
其中,Zj表示K维向量z中第j个元素,σ(z)表示每个类别标识(label)的预测概率,σ(z)为实数,且其范围为(0,1),K维向量σ(z)的和为1。根据以上公式,K维向量z中的每个类别标识均被赋予一定的预测概率,而具有最大预测概率的类别标识被选择作为输入图像的标识或类别。
下面结合附图对本公开的一些实施例及其示例进行详细说明。
图4为本公开至少一实施例提供的一种神经网络的训练方法的流程图。例如,如图4所示,该训练方法包括:
步骤S10:基于生成网络,对判别网络进行训练;
步骤S20:基于判别网络,对生成网络进行训练;以及,
交替地执行上述训练过程,以得到基于训练后的所述生成网络的目标网络。
例如,在本公开的至少一个实施例中,利用该训练方法得到的目标网络可以用于对输入图像进行风格迁移处理以得到输出图像,该输出图像的分辨率高于该输入图像的分辨率。
图5A为本公开至少一实施例提供的一种对应于图4中所示的训练方法训练生成网络的示意性架构框图,图5B为本公开至少一实施例提供的一种训练生成网络的过程的示意性流程图。
例如,结合图5A和图5B所示,基于判别网络,对生成网络进行训练,即步骤S20,包括步骤S201至步骤S203,如下所示:
步骤S201:利用生成网络对第一训练输入图像进行风格迁移处理,以分别生成第一训练输出图像和第二训练输出图像,其中,第一训练输出图像的分辨率高于第一训练输入图像的分辨率,第二训练输出图像的分辨率等于第一训练输入图像的分辨率;
步骤S202:通过判别网络对第一训练输出图像进行处理,通过分析网络对第二训练输出图像进行处理,根据判别网络的输出和分析网络的输出,通过系统损失函数计算生成网络的系统损失值;
步骤S203:根据系统损失值对生成网络的参数进行修正。
例如,基于判别网络,对生成网络进行训练,即步骤S20还可以包括:判断生成网络G的训练是否满足预定条件,若不满足预定条件,则重复执行上述生成网络G的训练过程;若满足预定条件,则停止本阶段的生成网络G的训练过程,得到本阶段训练好的生成网络G。例如,在一个示例中,上述预定条件为连续两幅(或更多幅)第一训练输入图像对应的系统损失值不再显著减小。例如,在另一个示例中,上述预定条件为生成网络G的训练次数或训练周期达到预定数目。本公开对此不作限制。
例如,如图5A所示,在生成网络G的训练过程中,需要联合判别网络D和分析网络A进行训练。需要说明的是,在生成网络G的训练过程中,判别网络D的参数保持不变。
需要说明的是,上述以及后续的示例性描述中,例如,判别网络、生成网络以及判别网络以及这些神经网络包括的各种层(例如卷积层、上采样层、下采样层等)等每个分别对应执行相应处理过程的程序/方法,例如通过相应的软件、固件、硬件等方式实现,以下与此相同,不再赘述;并且,上述示例仅是示意性说明生成网络的训练过程。本领域技术人员应当知道,在训练阶段,需要利用大量样本图像对神经网络进行训练;同时,在每一幅样本图像训练过程中,都可以包括多次反复迭代以对生成网络的参数进行修正。又例如,训练阶段还包括对生成网络的参数进行微调(fine-tune),以获取更优化的参数。
例如,生成网络G的初始参数可以为随机数,例如随机数符合高斯分布。例如,生成网络G的初始参数也可以采用ImageNet等图像数据库的已训练好的参数。本公开的实施例对此不作限制。
例如,生成网络G的训练过程中还可以包括优化函数(图5A中未示出),优化函数可以根据系统损失函数计算得到的系统损失值计算生成网络G的参数的误差值,并根据该误差值对生成网络G的参数进行修正。例如,优化函数可以采用随机梯度下降(stochasticgradient descent,SGD)算法、批量梯度下降(batch gradient descent,BGD)算法等计算生成网络G的参数的误差值。
例如,第一训练输入图像可以为各种类型的图像。例如,第一训练输入图像可以为通过数码相机或手机拍摄的图像,其可以为人物图像、动植物图像或风景图像等。
图6为本公开至少一实施例提供的一种生成网络的结构示意图。例如,如图6所示,该生成网络G包括主干网络MN、第一分支网络BN1和第二分支网络。第一分支网络BN1和第二分支网络BN2分别与主干网络MN连接,即第一分支网络BN1与主干网络MN处于同一的处理流程中,主干网络MN的输出被输入到第一分支网络BN1中,同样,第二分支网络BN2与主干网络MN处于同一的处理流程中,主干网络MN的输出被输入到第二分支网络BN2中,从而,第一分支网络BN1的输入和第二分支网络BN2的输入均为主干网络MN的输出,也就是说,第一分支网络BN1的输入和第二分支网络BN2的输入相同。
从而,在上述步骤S201中,利用生成网络G对第一训练输入图像进行风格迁移处理,以分别生成第一训练输出图像HR1和第二训练输出图像LR2,可以包括:根据该第一训练输入图像,通过主干网络MN和第一分支网络BN1生成第一训练输出图像HR1,以及通过主干网络MN和第二分支网络BN2生成第二训练输出图像LR2。主干网络MN和第一分支网络BN1对第一训练输入图像进行风格迁移处理以得到第一训练输出图像HR1,主干网络MN和第二分支网络BN2对第一训练输入图像进行风格迁移处理以得到第二训练输出图像LR2。
例如,如图6所示的实施例中,主干网络MN包括依次连接的多个卷积模块CM0和间插于相邻卷积模块CM0的多个下采样层DS0;第一分支网络BN1包括依次连接的多个卷积模块CM1和间插于相邻卷积模块的多个上采样层US1;第二分支网络BN2包括依次连接的多个卷积模块CM2和间插于相邻卷积模块的多个上采样层US2。
例如,在如图6所示的生成网络G中,每个卷积模块(CM0、CM1、CM2)可以包括卷积层,用于提取特征图像。低层级卷积模块的卷积层用于提取第一训练输入图像的低阶特征(例如,点、边等);随着层次的增加,高层级的卷积层可以提取第一训练输入图像的高阶特征(例如,直线、拐弯、三角形等);高阶特征可以由低阶特征组合得到。例如,根据需要,卷积层可以包括激活层。例如,至少部分卷积模块还可以包括实例标准化层,用于对该至少部分卷积模块中的卷积层输出的特征图像进行标准化处理。例如,下采样层DS0用于减小输入的第一训练输入图像的特征图像的数据量,以提高图像处理的速度;例如,下采样层DS0用于减小特征图像的各个维度的值,从而减少特征图像的数据量。例如,上采样层(US1、US2)用于增加特征图像的各个维度的值,从而增加特征图像的数据量。
例如,在一些示例中,为了满足上述步骤S201中对第一训练输出图像HR1和第二训练输出图像LR2的分辨率的要求(即,第一训练输出图像HR1的分辨率高于第一训练输入图像的分辨率,第二训练输出图像LR2的分辨率等于第一训练输入图像的分辨率),第一分支网络BN1中的卷积模块CM1和上采样层US1的个数分别多于主干网络MN中的卷积模块CM0和下采样层DS0的个数,也就是说,第一分支网络BN1中的卷积模块CM1的个数多于主干网络MN中的卷积模块CM0的个数,第一分支网络BN1中的上采样层US1的个数多于主干网络MN中的下采样层DS0的个数。第二分支网络BN2中的卷积模块CM2和上采样层US2的个数分别等于主干网络MN中的卷积模块CM0和下采样层DS0的个数,也就是说,第二分支网络BN2中的卷积模块CM2的个数等于主干网络MN中的卷积模块CM0的个数,第二分支网络BN2中的上采样层US2的个数等于主干网络MN中的下采样层DS0的个数。由此可知,第一分支网络BN1中的卷积模块CM1的个数多于第二分支网络BN2中的卷积模块CM2的个数,第一分支网络BN1中的上采样层US1的个数多于第二分支网络BN2中的上采样层US2的个数。
例如,在一些示例中,在生成网络G中,主干网络MN包括x1个卷积模块CM0,其中x1为正整数,且通常大于2,同时,主干网络MN可以包括例如(x1–1)个下采样层DS0。相应地,第一分支网络BN1包括x2个卷积模块CM1,其中x2为正整数,且x2>x1,同时,第一分支网络BN1包括(x2–1)个上采样层US1;以及,第二分支网络BN2包括x1个卷积模块CM2和(x1–1)个上采样层US2。例如,在如图6所示的生成网络G中,x1=3,x2=5。需要说明的是,图6所示的示例中,x1、x2的取值是示意性的,本公开对此不作限制。
例如,在一些示例中,主干网络MN中的(x1–1)个下采样层DS0的下采样因子分别与第一分支网络BN1的(x2–1)个上采样层US1中的(x1–1)个的上采样因子对应,主干网络MN中的(x1–1)个下采样层DS0的下采样因子还分别与第二分支网络BN2中的(x1–1)个上采样层US2的上采样因子对应。其中,一个下采样层的下采样因子与一个上采样层的上采样因子对应是指:当该下采样层的下采样因子为1/y,则该上采样层的上采样因子为y,其中y为正整数,且y通常大于2。例如,在图6所示的生成网络G中,主干网络MN的3个下采样层DS0的下采样因子分别为1/q1、1/q2、1/q3,第一分支网络BN1的5个上采样层US1中任意3个上采样层US1的上采样因子分别为q1、q2、q3(具体顺序不作要求),第二分支网络BN2的3个上采样层US2的上采样因子分别为q1、q2、q3(具体顺序不作要求)。
需要说明的是,上述下采样层DS0、上采样层US1、上采样层US2的数目以及下采样层DS0的下采样因子、上采样层US1的上采样因子、上采样层US2的上采样因子也可以设置为其他数值,只要能满足上述步骤S201中对第一训练输出图像HR1和第二训练输出图像LR2的分辨率的要求即可,本公开对此不作限制。
例如,下采样层DS0可以采用各种下采样方法对特征图像进行下采样。下采样方法包括但不限于:最大值合并(max pooling)、平均值合并(average pooling)、跨度卷积(strided convolution)、欠采样(decimation,例如选择固定的像素)、解复用输出(demuxout,将输入图像拆分为多个更小的图像)等等。
例如,上采样层US1、US2可以采用跨度转置卷积(strided transposedconvolution)、插值算法等上采样方法实现上采样。插值算法例如可以包括内插值、两次立方插值算法(Bicubic Interprolation)等。
图7A为本公开至少一实施例提供的一种上采样层的示意图,图7B为本公开至少一实施例提供的另一种上采样层的示意图。
例如,在一些示例中,如图7A所示,上采样层采用像素插值法实现上采样。此时,该上采样层还可以称为复合层。复合层采用2×2的上采样因子,从而可以将4个输入特征图像(即,图7A中的INPUT 4n,INPUT 4n+1,INPUT 4n+2,INPUT 4n+3)结合以得到1个具有固定像素顺序的输出特征图像(即,图7A中的OUTPUT n)。
例如,在一些示例中,对于二维的特征图像,上采样层获取输入的第一数量的输入特征图像,将这些输入特征图像的像素值交织(interleave)重排以产生相同的第一数量的输出特征图像。相比于输入特征图像,输出特征图像的数量没有改变,但是每个输出特征图像的大小增加相应倍数。由此,该复合层通过不同的排列组合增加更多的数据信息,这些组合可给出所有可能的上采样组合。最后,可通过激活层从上采样组合进行选择。
例如,在图7B所示的示例中,上采样层采用像素值交织重排方法实现上采样。此时,该上采样层也可以称为复合层。复合层同样采用2×2的上采样因子,即以每4个输入特征图像(即,图7B中的INPUT 4n,INPUT 4n+1,INPUT 4n+2,INPUT 4n+3)为一组,将它们的像素值交织生成4个输出特征图像(即,图7B中的OUTPUT 4n,OUTPUT 4n+1,OUTPUT 4n+2,OUTPUT4n+3)。输入特征图像的数量和经过复合层处理后得到的输出特征图像的数量相同,而各输出特征图像的大小增加为输入特征图像的4倍,即具有输入特征图像的4倍的像素数量。
如图5A所示,在生成网络G的训练过程中,通过判别网络D对第一训练输出图像HR1进行处理。图8为本公开一实施例提供的一种判别网络的结构示意图。例如,如图8所示,该判别网络D包括多个卷积模块CM3、多个下采样层DS3和全连接层FCN。卷积模块CM3、下采样层DS3和全连接层FCN的结构和作用可以分别参考前述与卷积模块(CM0,CM1,CM2)、下采样层DS0、全连接层相关的描述,本公开对此不作限制。
例如,如图8所示,在该判别网络D中,多个卷积模块CM3依次连接,在一些相邻的卷积模块CM3之间具有下采样层DS3,例如,如图8所示,判别网络D包括依次连接的六个卷积模块CM3,在第二个卷积模块和第三卷积模块之间具有一个下采样层,在第四个卷积模块和第五卷积模块之间具有一个下采样层。全连接层FCN与最后一个卷积模块CM3连接。例如,每个卷积模块CM3可以包括卷积层;例如,根据需要,至少部分卷积模块CM3还可以包括实例标准化层。
例如,如图8所示,该判别网络D还包括激活层,该激活层连接到全连接层FCN。例如,如图8所示,该激活层的激活函数可以采用Sigmoid函数,从而,该激活层的输出(即判别网络D的输出)为一个取值范围为[0,1]的数值。例如,判别网络D可以判断第一训练输出图像HR1的风格和目标风格之间的相似程度,以第一训练输出图像HR1作为判别网络D的输入为例,判别网络D对第一训练输出图像HR1进行处理,以得到判别网络D输出,判别网络D输出的数值表示第一训练输出图像HR1的风格与目标风格的相似程度。例如,该判别网络D输出的数值越大,例如趋近于1,表示判别网络D认定第一训练输出图像HR1的风格与目标风格越相似;例如,该判别网络D输出的数值越小,例如趋近于0,则表示判别网络D认定第一训练输出图像HR1的风格与目标风格越不相似。例如,该目标风格可以为后续将介绍的第二训练风格图像的风格,即用户希望该生成网络的目标网络可以生成的风格。
需要说明的是,图8所示的判别网络是示意性的。例如,在一些示例中,图8所示的判别网络可以包括更多或更少的卷积模块或下采样层。例如,在一些示例中,图8所示的判别网络还可以包括其他模块或层结构,例如在全连接层之前还具有一个平坦化模块。例如,在一些示例中,图8所示的判别网络中的部分模块或层结构可以替换为其他模块或层结构,例如将全连接层替换为进行平均操作(AVG)的卷积层(参考图3及前述相关描述),又例如将激活层替换为二分类的softmax模块。进一步地,本公开的实施例对判别网络的结构不作限制,即包括但不限于图8所示的判别网络结构。
如图5A所示,系统损失函数可以包括生成网络对抗损失函数,相应地,系统损失值包括生成网络对抗损失值。生成网络对抗损失函数根据判别网络D的输出计算生成网络对抗损失值。例如,在一些示例中,生成网络对抗损失函数可以表示为:
其中,LG表示生成网络对抗损失函数,z1表示第一训练输入图像,Pz1(z1)表示第一训练输入图像的集合(例如,包括一个批次的多幅第一训练输入图像),G(z1)表示第一训练输出图像HR1,D(G(z1))表示判别网络D针对第一训练输出图像HR1的输出,即判别网络D对第一训练输出图像HR1进行处理得到的输出,表示针对第一训练输入图像的集合求平均以得到生成网络对抗损失值,即相应采用批量梯度下降算法对生成网络G进行参数优化。
需要说明的是,上述公式表示的生成网络对抗损失函数是示例性的,本公开的实施例包括但不限于此。
生成网络G的训练目标是最小化系统损失值,因此,在生成网络G的训练过程中,最小化系统损失值包括减小生成网络对抗损失值。例如,在生成网络G的训练过程中,第一训练输出图像HR1的标签设置为1,即希望判别网络D鉴别认定第一训练输出图像HR1具有目标风格。例如,在生成网络G的训练过程中,生成网络G的参数被不断地修正,以使经过参数修正后的生成网络G生成的第一训练输出图像HR1对应的判别网络D的输出不断趋近于1,从而不断地减小生成网络对抗损失值。如图5A所示,在生成网络G的训练过程中,还通过分析网络A对第二训练输出图像LR2进行处理。图9为本公开至少一实施例提供的一种分析网络的结构示意图。例如,如图9所示,该分析网络G包括依次连接的多个第一卷积模块CM01和间插于相邻第一卷积模块CM01的多个第一下采样层DS01。例如,每个第一卷积模块CM01包括第一卷积层,每个第一卷积层包括多个第一卷积核,第一卷积核可以用于提取分析网络A的输入图像的内容特征和风格特征。例如,参考图5A,图9所示的分析网络A的输入可以包括第一训练输入图像、第二训练输出图像LR2和第一训练风格图像。例如,根据需要,至少部分第一卷积模块CM01还可以包括实例标准化层。
例如,分析网络A可以采用能够对图像进行分类的深度神经网络。如图9所示,输入经过若干个第一卷积模块CM01和第一下采样层DS01处理,以提取特征。每个第一卷积模块CM01的输出都是输入的特征图像。第一下采样层DS01可以降低特征图像的分辨率并传递给下一层级的第一卷积模块CM01。多个第一卷积模块CM01可以输出多个特征图像,该多个特征图像可以表征输入的不同级别的特征(例如,纹理、边缘、物体等)。经过若干个第一卷积模块CM01和第一下采样层DS01处理之后,特征图像被输入至平坦化层,平坦化层将特征图像转换成向量然后传递给全连接层以及分类器。分类器层可以包括softmax分类器,softmax分类器可以输出输入属于每一个类别标识的概率,其中概率最大的标识将作为分析网络A最终的输出。由此,分析网络A实现图像分类。
例如,分析网络A可以采用已经训练好的卷积神经网络模型。从而,在生成网络G的训练过程中,不需对分析网络A的参数(例如,第一卷积核等)进行修正。例如,分析网络A可以采用AlexNet、GoogleNet、VGG、Deep Residual Learning等神经网络模型实现提取输入的内容特征和风格特征。VGG网络为深度卷积神经网络的一种,其是由牛津大学视觉几何组(Visual Geometry Group)开发,已经在视觉识别领域得到广泛应用。例如,VGG网络可以包括19层,并且可以对其中的一些层进行标准化处理。
需要说明的是,在本公开的至少一些实施例中,在生成网络G的训练过程中,仅需要用到上述分析网络G中用于提取输入的特征的部分,例如,如图9中虚线框所示的多个第一卷积模块CM01和多个第一下采样层DS01。例如,在本公开的实施例提供的分析网络A中,如图9所示,至少两个第一卷积模块CM01用于提取风格特征,至少一个第一卷积模块CM01用于提取内容特征。需要说明的是,图9所示的分析网络是示意性的。本公开的实施例对分析网络的结构、提取风格特征和内容特征的具体细节(例如,用于提取风格特征和内容特征的第一卷积模块的数量和层级等)等均不作限制。
例如,如图5A所示,在生成网络G的训练过程中,分析网络A用于接收第一训练输入图像、第一训练风格图像和第二训练输出图像LR2,且分别产生并输出第一训练输入图像的第一内容特征图像、第一训练风格图像的第一风格特征图像、以及第二训练输出图像LR2的第二内容特征图像和第二训练输出图像LR2的第二风格特征图像。
例如,第一训练风格图像可以为各种艺术大师(例如莫奈、梵高、毕加索等)的名画等,但不限于此,例如第一训练风格图像还可以为水墨画、素描画等。例如,第一训练风格图像具有与后续将介绍的第二训练风格图像一致的目标风格。例如,第一训练风格图像是第二训练风格图像的低分辨率版本,也就是说,第一训练风格图像和第二训练风格图像可以为同一幅风格图像,但第一训练风格图像的分辨率小于第二训练风格图像的分辨率。但本公开不限于此。
例如,第一训练输入图像、第一训练风格图像和第二训练输出图像LR2三者的尺寸均相同。
例如,在本公开的至少一些实施例中,内容特征表示图像中物体在整幅图像的分布,风格特征则表示在卷积神经网络的不同层中不同特征图像之间的关系。例如,内容特征包括图像的内容信息,风格特征可以包括图像的纹理信息、颜色信息等。纹理信息例如表示特征图像之间的相关性,其与位置无关。卷积神经网络中的特征图像可以是一维矩阵,格拉姆矩阵(Gram matrix)可以用于衡量该一维矩阵中各向量的相关程度,因此,卷积神经网络可以引入Gram矩阵计算图像的风格特征。例如,Gram矩阵可以表示如下:
其中,为第l层中向量特征图像Fi和Fj之间的内积(inner product)。根据多层特征图像之间的相关性,可以获得第一训练风格图像或第二训练输出图像LR2的静态的多尺度(scale)表达,由此提取了第一训练风格图像或第二训练输出图像LR2的纹理信息而非全局布局,进而获得风格特征。
例如,相应地,如图5A所示,系统损失函数还可以包括内容损失函数和风格损失函数,从而系统损失值还可以包括内容损失值和风格损失值。内容损失函数用于描述第一训练输入图像和第二训练输出图像LR2的内容的差异,风格损失函数用于描述第一训练风格图像和第二训练输出图像LR2的风格的差异。例如,内容损失函数用于根据第一训练输入图像的第一内容特征图像和第二训练输出图像LR2的第二内容特征图像计算生成网络G的参数的内容损失值。风格损失函数用于根据第一训练风格图像的第一风格特征图像和第二训练输出图像LR2的第二风格特征图像计算生成网络G的参数的风格损失值。
例如,对于如图9所示的分析网络A,单层内容损失函数表示为:
其中,S1为常数,表示在分析网络A中第m个第一卷积模块中第i个第一卷积核提取的第一训练输入图像的第一内容特征图像中第j个位置的值,/>表示在分析网络A中第m个第一卷积模块中第i个第一卷积核提取的第二训练输出图像LR2的第二内容特征图像中第j个位置的值。
例如,在如图9所示的分析网络A中,可以通过至少一个第一卷积模块CM01提取输入图像(例如,此处的输入图像包括第一训练输入图像和第二训练输出图像LR2)的内容特征,则内容损失函数表示为:
其中,Lcontent表示内容损失函数,Cm表示用于提取内容特征的至少一个第一卷积模块中的第m个第一卷积模块的单层内容损失函数,w1m表示Cm的权重。
在生成网络G的训练过程中,最小化系统损失值包括减小内容损失值。例如,在使用生成网络G进行图像风格迁移处理时,希望保持生成网络G的输出和输入具有相同的内容特征,即第二训练输出图像LR2保存了第一训练输入图像的内容。例如,在生成网络G的训练过程中,生成网络G的参数被不断地修正,以使经过参数修正后的生成网络G生成的第二训练输出图像LR2的内容特征不断趋近于第一训练输入图像的内容特征,从而不断地减小内容损失值。
例如,对于如图9所示的分析网络A,单层风格损失函数表示为:
/>
其中,S2为常数,Nn表示分析网络A的第n个第一卷积模块中的第一卷积核的数目,Mn表示第n个第一卷积模块中的第一卷积核提取的风格特征图像的尺寸,表示在分析网络A中的第n个第一卷积模块中第i个第一卷积核提取的第一训练风格图像的第一风格特征图像的格拉姆矩阵中第j个位置的值,/>表示在分析网络A中的第n个第一卷积模块中第i个第一卷积核提取的第二训练输出图像的第二风格特征图像的格拉姆矩阵中第j个位置的值。
例如,在如图9所示的分析网络A中,可以通过至少两个第一卷积模块CM01提取输入图像(例如,此处的输入图像包括第一训练风格图像和第二训练输出图像LR2)的风格特征,则风格损失函数表示为:
其中,Lstyle表示风格损失函数,En表示用于提取风格特征的至少两个第一卷积模块中的第n个第一卷积模块的单层风格损失函数,w2m表示En的权重。
在生成网络G的训练过程中,最小化系统损失值包括减小风格损失值。例如,在使用生成网络G进行图像风格迁移处理时,希望生成网络G的输出具有目标风格,即第二训练输出图像LR2具有与第一训练风格图像相同的风格特征。例如,在生成网络G的训练过程中,生成网络G的参数被不断地修正,以使经过参数修正后的生成网络G生成的第二训练输出图像LR2的风格特征不断趋近于第一训练风格图像的风格特征,从而不断地减小风格损失值。
例如,在本公开的至少一些实施例中,如图5A所示,系统损失函数还可以包括权重偏置比损失函数(L1损失函数),相应地,系统损失值还包括权重偏置比损失值。本公开实施例提供的生成网络通过在系统损失函数中增加权重偏置比损失函数,从而可以充分发挥生成网络G中的激活函数的作用,获取更优化的生成网络G的参数,提高图像风格迁移和图像融合效果,在处理效果和处理速度等方面得以兼顾,具有更好、更广泛的应用前景。
例如,如图6所示的生成网络G包括多个卷积核和多个偏置,该多个卷积核和该多个偏置为生成网络G中的所有卷积模块(CM0、CM1、CM2)的卷积层所包括的卷积核和偏置。生成网络G的参数可以包括该多个卷积核和该多个偏置。
例如,在卷积神经网络中,卷积核用于决定对输入图像进行怎样的处理,偏置用于决定该卷积核的输出是否输入到下一个层级。因此,在卷积神经网络的激活层中,偏置可形象地比喻为“开关”,用于决定“打开”或“关闭”卷积核。针对不同的输入图像,不同的卷积核可以被“打开”或“关闭”以实现多种效果。
例如,在本公开的一些实施例中,与卷积核相比,偏置需要具有比较大的绝对值,从而更有效地发挥“开关”的作用。权重偏置比损失函数则用于调整生成网络G中的多个卷积核和多个偏置之间的比值,以增强生成网络G中的激活函数的作用。
例如,相应地,在本公开的一些实施例中,在生成网络G的训练过程中,例如上述步骤S202中,还可以包括:根据生成网络G的多个卷积核和多个偏置,通过权重偏置比损失函数计算权重偏置比损失值。
例如,权重偏置比损失函数可以表示为:
/>
其中,LL1表示权重偏置比损失函数,W为生成网络G的多个卷积核的绝对值的平均值,B为生成网络G的多个偏置的绝对值的平均值,ε为正数。
例如,W可以表示为:
其中,Cw为第一卷积层具有的第一卷积核的数量,w表示第一卷积层的各卷积核的值。例如,卷积核为2×2的矩阵,w表示矩阵各元素之和。
例如,B可以表示为:
其中,Cb为第一卷积层具有的偏置的数量,b表示第一卷积层的各偏置的值。
例如,在本公开的一些实施例中,生成网络G中的激活函数可以采用ReLU函数。但不限于此,生成网络G中的激活函数还可以采用sigmoid函数、tanh函数等。
例如,ReLU函数可以表示为:
其中,out表示ReLU函数的输出,in1表示ReLU函数的输入。在卷积神经网络中,in1可以表示为:
in1=w·in0+b
其中,in0表示输入到例如第一层级的卷积层CM0中的第一训练输入图像的像素矩阵,in1表示经过该第一层级的卷积层CM0对in0进行处理后输出的特征图像的像素矩阵,w表示该第一层级的卷积层CM0中的卷积核的值,b表示该第一层级的卷积层CM0中的偏置的值。当b足够大时,则激活函数更能有效发挥激活作用,即激活函数的输出可以更好地表示第一训练输入图像的特征信息。
例如,在本公开的实施例中,生成网络G的系统损失函数可以表示为:
Ltotal=αLcontent+βLstyle+χLG+δLL1
其中,Ltotal表示系统损失函数,α、β、χ和δ分别为系统损失函数中内容损失函数、风格损失函数、生成网络对抗损失函数和权重偏置比损失函数的权重。例如,在步骤S202中,通过上述公式表示的系统损失函数计算系统损失值,再执行步骤S203,对生成网络G的所有参数(包括主干网络MN的参数、第一分支网络BN1的参数和第二分支网络BN2的参数)进行修正,由此可以实现步骤S20。
图10A为本公开至少一实施例提供的一种对应于图4中所示的训练方法训练判别网络的示意性架构框图,图10B为本公开至少一实施例提供的一种训练判别网络的过程的示意性流程图。
例如,结合图10A和图10B所示,基于生成网络,对判别网络进行训练,即步骤S10,包括步骤S101至步骤S103,如下所示:
步骤S101:利用生成网络对第二训练输入图像进行风格迁移处理,以生成第三训练输出图像,其中,第三训练输出图像的分辨率大于第二训练输入图像的分辨率;
步骤S102:将第二训练风格图像和第三训练输出图像输入判别网络,其中,第二训练风格图像的分辨率等于第三训练输出图像的分辨率,根据第二训练风格图像的标签和第二训练风格图像对应的判别网络的输出以及第三训练输出图像的标签和第三训练输出图像对应的判别网络的输出,通过判别网络对抗损失函数计算判别网络对抗损失值;
步骤S103:根据所判别网络对抗损失值对判别网络的参数进行修正。
例如,基于生成网络,对判别网络进行训练,即步骤S10还可以包括:判断判别网络D的训练是否满足预定条件,若不满足预定条件,则重复执行上述判别网络D的训练过程;若满足预定条件,则停止本阶段的判别网络D的训练过程,得到本阶段训练好的判别网络D。例如,在一个示例中,上述预定条件为连续两幅(或更多幅)第二训练风格图像和第三训练输出图像HR3对应的判别网络对抗损失值不再显著减小。例如,在另一个示例中,上述预定条件为判别网络D的训练次数或训练周期达到预定数目。本公开对此不作限制。
例如,如图10A所示,在判别网络D的训练过程中,需要联合生成网络G进行训练。需要说明的是,在判别网络D的训练过程中,生成网络G的参数保持不变。
需要说明的是,上述示例仅是示意性说明判别网络的训练过程。本领域技术人员应当知道,在训练阶段,需要利用大量样本图像对神经网络进行训练;同时,在每一幅样本图像训练过程中,都可以包括多次反复迭代以对判别网络的参数进行修正。又例如,训练阶段还包括对判别网络的参数进行微调(fine-tune),以获取更优化的参数。
例如,判别网络D的初始参数可以为随机数,例如随机数符合高斯分布,本公开的实施例对此不作限制。
例如,判别网络D的训练过程中还可以包括优化函数(图10A中未示出),优化函数可以根据判别网络对抗损失函数计算得到的判别网络对抗损失值计算判别网络D的参数的误差值,并根据该误差值对判别网络D的参数进行修正。例如,优化函数可以采用随机梯度下降(stochastic gradient descent,SGD)算法、批量梯度下降(batch gradientdescent,BGD)算法等计算判别网络D的参数的误差值。
例如,第二训练输入图像可以与第一训练输入图像相同,例如,第二训练输入图像的集合与第一训练输入图像的集合是同一个图像集合。例如,第二训练输入图像可以为各种类型的图像。例如,第二训练输入图像可以为通过数码相机或手机拍摄的图像,其可以为人物图像、动植物图像或风景图像等。
例如,第二训练风格图像具有与第一训练风格图像一致的目标风格。例如,第二训练风格图像可以是第一训练风格图像的高分辨率版本,但不限于此。
例如,第二训练风格图像可以为各种艺术大师(例如莫奈、梵高、毕加索等)的名画等,但不限于此,例如第二训练风格图像还可以为水墨画、素描画等。
例如,判别网络D可以为如图8所示的判别网络,但不限于此。
例如,在一些示例中,如图10A所示的判别网络对抗损失函数可以表示为:
其中,LD表示判别网络对抗损失函数,x表示第二训练风格图像,Pdata(x)表示第二训练风格图像的集合(例如,包括一个批次的多幅第二训练风格图像),D(x)表示判别网络D针对第二训练风格图像x的输出,即判别网络D对第二训练风格图像x进行处理得到的输出,表示针对第二训练风格图像的集合求期望,z2表示第二训练输入图像,Pz2(z2)表示第二训练输入图像的集合(例如,包括一个批次的多幅第二训练输入图像),G(z2)表示第三训练输出图像HR3,D(G(z2))表示判别网络D针对第三训练输出图像HR3的输出,即判别网络D对第三训练输出图像HR3进行处理得到的输出,/>表示针对第三训练输入图像的集合求期望。相应地,采用批量梯度下降算法对判别网络D进行参数优化。
需要说明的是,上述公式表示的判别网络对抗损失函数是示例性的,本公开包括但不限于此。
判别网络D的训练目标是最小化判别网络对抗损失值。例如,在判别网络D的训练过程中,第二训练风格图像的标签设置为1,即希望判别网络D鉴别认定第二训练风格图像具有目标风格;同时,第三训练输出图像HR3的标签设置为0,即希望判别网络D鉴别认定第三训练输出图像HR3不具有目标风格。也就是说,希望判别网络D认定第三训练输出图像HR3的风格和第二训练风格图像的风格不相同。
例如,在判别网络D的训练过程中,判别网络D的参数被不断地修正,以使经过参数修正后的判别网络D能够准确鉴别第二训练风格图像和生成网络G生成的第三训练输出图像HR3,也就是,使第二训练风格图像对应的判别网络D的输出不断趋近于1,以及使第三训练输出图像HR3对应的判别网络D的输出不断趋近于0,从而不断地减小生成网络对抗损失值。
例如,在本公开的实施例中,生成网络G的训练和判别网络D的训练是交替迭代进行的。例如,对于未经训练的生成网络G和判别网络D,一般先对判别网络D进行第一阶段训练,提高判别网络D的鉴别能力(即,鉴别判别网络D的输入是否具有目标风格的能力),得到经过第一阶段训练的判别网络D;然后,基于经过第一阶段训练的判别网络D对生成网络G进行第一阶段训练,提高生成网络G的图像风格迁移能力(即,使生成网络G生成的高分辨率图像具有目标风格的能力),得到经过第一阶段训练的生成网络G。与第一阶段训练类似,在第二阶段训练中,基于经过第一阶段训练的生成网络G,对经过第一阶段训练的判别网络D进行第二阶段训练,提高判别网络D的鉴别能力,得到经过第二阶段训练的判别网络D;然后,基于经过第二阶段训练的判别网络D对经过第一阶段训练的生成网络G进行第二阶段训练,提高生成网络G的图像风格迁移能力,得到经过第二阶段训练的生成网络G,依次类推,接下来对判别网络D和生成网络G进行第三阶段训练、第四阶段训练、……,直到得到的生成网络G生成的高分辨率图像完全具有了目标风格。
需要说明的是,在生成网络G和判别网络D的交替训练过程中,生成网络G和判别网络D的对抗体现在生成网络G的输出(生成网络G生成的高分辨率图像)在各自单独的训练过程中具有不同的标签(在生成网络G的训练过程中标签为1,在判别网络D的训练过程中标签为0),也体现在判别网络对抗损失函数的第二部分(即与生成网络G生成的高分辨率图像有关的部分)与系统损失函数中的生成网络对抗损失函数相反。还需要说明的是,理想情况下,经过训练得到的生成网络G输出的高分辨率图像具有目标风格(即第二训练风格图像的风格),判别网络D针对第二训练风格图像和该生成网络G生成的高分辨率图像的输出均为0.5,即生成网络G和判别网络D经过对抗博弈达到纳什均衡。
需要说明的是,在本公开的实施例中,目标风格是指第二训练风格图像的风格。例如,在一些示例中,第一训练风格图像与第二训练风格图像的风格相同,从而,经过训练得到的生成网络G生成的高分辨率图像和低分辨率图像均具有目标风格。例如,在另一些示例中,第一训练风格图像与第二训练风格图像的风格不同,从而,经过训练得到的生成网络G生成的高分辨率图像具有目标风格且融合了第一训练风格图像的风格,经过训练得到的生成网络G生成的低分辨率图像具有第一训练风格图像的风格且融合了目标风格。本公开对此不作限制。还需要说明的是,经过训练得到的生成网络G生成的高分辨率图像和低分辨率图像均保留了生成网络G的输入(例如第一训练输入图像、第二训练输入图像)的内容特征。
例如,在一些示例中,生成网络和目标网络可以具有不同的结构。例如,利用上述训练方法得到的目标网络可以仅包括例如图6所示的已经训练好的生成网络G的主干网络MN和第一分支网络BN1,从而在对输入图像进行风格迁移处理时仅得到高分辨率的输出图像(高于输入图像的分辨率)。例如,目标网络中的主干网络的结构和生成网络G的主干网络的结构相同,目标网络中的第一分支网络的结构和生成网络G的第一分支网络的结构也相同,但目标网络中的主干网络的参数和生成网络G的主干网络的参数不相同,目标网络中的第一分支网络的参数和生成网络G的第一分支网络的参数也不相同。
例如,在另一些示例中,生成网络和目标网络也可以具有相同的结构,但是生成网络的参数和目标网络的参数不相同。利用上述训练方法得到的目标网络可以包括完整的如图6所示的已经训练好的生成网络G,从而在对输入图像进行风格迁移处理时,既可以得到高分辨率的输出图像(其分辨率高于输入图像的分辨率),又可以得到低分辨率的输出图像(其分辨率等于输入图像的分辨率)。
在本公开中,“结构相同”可以表示卷积层的数量、上采样层的数量、下采样层的数量等相同,且各卷积层、各上采样层和/或各下采样层的连接关系也相同。
需要说明的是,在对生成网络进行训练之前,生成网络可能完全不具有风格迁移的功能,或者也可以能具有风格迁移的功能,但是风格迁移的效果不好。对生成网络训练后得到的目标网络具有风格迁移的功能,且能够生成高质量的具有目标风格的高分辨率图像。
本公开的至少一实施例提供的训练方法,结合了生成式对抗网络、超分辨率技术和风格迁移技术,经过该训练方法训练得到的目标网络可以基于输入图像生成高质量的具有目标风格的高分辨率图像,提高了图像风格迁移和图像融合的效果,提升了用户的视觉体验;具有更好、更广泛的应用前景。
本公开至少一实施例还提供一种图像处理方法。图11为本公开一实施例提供的一种图像处理方法的示意性流程图。如图11所示,该图像处理方法包括以下步骤:
步骤S301:获取输入图像;
步骤S302:利用神经网络对输入图像进行风格迁移处理,以生成输出图像,其中,输出图像的分辨率高于输入图像的分辨率。
例如,在步骤S301中,输入图像可以为各种类型的图像。例如,可以为人物图像、动植物图像或风景图像等。例如,输入图像可以通过图像采集设备获取。图像采集设备例如可以是智能手机的摄像头、平板电脑的摄像头、个人计算机的摄像头、数码照相机的镜头、或者甚至可以是网络摄像头。
例如,步骤S302中的神经网络可以包括根据上述任一实施例提供的训练方法训练得到的目标网络。
例如,输出图像为输入图像经过目标网络进行风格迁移处理后形成的图像。输出图像包括输入图像的内容特征和目标风格特征。当经过训练得到目标网络之后,则目标风格特征即确定且不变。例如,在训练神经网络的过程中,采用毕加索的一幅画(例如,《梦》)作为风格图像进行训练,则当利用该训练好的目标网络对输入图像进行处理之后得到的输出图像的风格即为该毕加索的画(《梦》)的风格。需要说明的是,风格图像可以为上述训练方法的实施例中的第二训练风格图像,还需要说明的是,上述训练方法的实施例中的第一训练风格图像可以为第二训练风格图像的低分辨率版本,且第一训练风格图像和输入图像的分辨率相同。
本公开的实施例提供的图像处理方法可以通过目标网络对输入图像进行风格迁移处理,生成高质量的具有目标风格的高分辨率图像,提高了图像风格迁移和图像融合的效果,提升了用户的视觉体验;具有更好、更广泛的应用前景。
本公开至少一实施例还提供一种图像处理装置。图12A为本公开一实施例提供的一种图像处理装置的示意性框图。
例如,如图12A所示,该图像处理装置400包括图像获取模块410和图像处理模块420。图像获取模块410用于获取输入图像,图像处理模块420用于对输入图像进行风格迁移处理,以生成输出图像。
例如,图像获取模块410可以包括存储器,存储器存储有输入图像。或者,图像获取模块410也可以包括一个或多个摄像头,以获取输入图像。例如,图像获取模块410可以为硬件、软件、固件以及它们的任意可行的组合。
例如,图像处理模块420可以包括根据上述任一实施例所述的训练方法训练得到的所述目标网络。例如,所述目标网络可以包括例如图6所示的已经训练好的生成网络G的主干网络MN和第一分支网络BN1。例如,输出图像的分辨率高于输入图像的分辨率。
图12B为本公开至少一实施例提供的另一种图像处理装置的示意性框图。例如,如图12B所示,该图像处理装置500包括存储器510和处理器520。例如,存储器510用于非暂时性存储计算机可读指令,处理器520用于运行该计算机可读指令,该计算机可读指令被处理器520运行时执行本公开的实施例提供的神经网络的训练方法。
例如,存储器510和处理器520之间可以直接或间接地互相通信。例如,存储器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执行时可以执行根据上文所述的图像处理方法中的一个或多个步骤。
例如,关于图像处理方法的处理过程的详细说明可以参考上述图像处理方法的实施例中的相关描述,关于神经网络的训练方法的处理过程的详细说明可以参考上述神经网络的训练方法的实施例中的相关描述,重复之处不再赘述。
需要说明的是,本公开的实施例提供的图像处理装置是示例性的,而非限制性的,根据实际应用需要,该图像处理装置还可以包括其他常规部件或结构,例如,为实现图像处理装置的必要功能,本领域技术人员可以根据具体应用场景设置其他的常规部件或结构,本公开的实施例对此不作限制。
本公开的至少一实施例提供的图像处理装置的技术效果可以参考上述实施例中关于图像处理方法以及神经网络的训练方法的相应描述,在此不再赘述。
本公开至少一实施例还提供一种存储介质。例如,在存储介质上可以存储一个或多个计算机指令。存储介质上存储的一些计算机指令可以是例如用于实现上述图像处理方法中的一个或多个步骤的指令。存储介质上存储的另一些计算机指令可以是例如用于实现上述神经网络的训练方法中的一个或多个步骤的指令。
例如,存储介质可以包括平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、光盘只读存储器(CD-ROM)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。
本公开的实施例提供的存储介质的技术效果可以参考上述实施例中关于图像处理方法以及神经网络的训练方法的相应描述,在此不再赘述。
对于本公开,有以下几点需要说明:
(1)本公开实施例附图中,只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开同一实施例及不同实施例中的特征可以相互组合。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种神经网络的训练方法,包括:
基于生成网络,对判别网络进行训练;
基于所述判别网络,对所述生成网络进行训练;以及,
交替地执行上述训练过程,以得到基于训练后的所述生成网络的目标网络;
其中,所述目标网络用于对输入图像进行风格迁移处理以得到输出图像,所述输出图像的分辨率高于所述输入图像的分辨率;
基于所述判别网络,对所述生成网络进行训练,包括:
利用所述生成网络对第一训练输入图像进行风格迁移处理,以分别生成第一训练输出图像和第二训练输出图像,其中,所述第一训练输出图像的分辨率高于所述第一训练输入图像的分辨率,所述第二训练输出图像的分辨率等于所述第一训练输入图像的分辨率;
通过所述判别网络对所述第一训练输出图像进行处理,通过分析网络对所述第二训练输出图像进行处理,根据所述判别网络的输出和所述分析网络的输出,通过系统损失函数计算所述生成网络的系统损失值;
根据所述系统损失值对所述生成网络的参数进行修正。
2.根据权利要求1所述的训练方法,其中,所述生成网络包括主干网络、第一分支网络和第二分支网络,所述第一分支网络的输入和所述第二分支网络的输入均为所述主干网络的输出;
利用所述生成网络对所述第一训练输入图像进行所述风格迁移处理,以分别生成所述第一训练输出图像和所述第二训练输出图像,包括:
根据所述第一训练输入图像,通过所述主干网络和所述第一分支网络生成所述第一训练输出图像,以及通过所述主干网络和所述第二分支网络生成所述第二训练输出图像。
3.根据权利要求2所述的训练方法,其中,所述主干网络包括依次连接的多个卷积模块和间插于相邻卷积模块的多个下采样层;
所述第一分支网络包括依次连接的多个卷积模块和间插于相邻卷积模块的多个上采样层;
所述第二分支网络包括依次连接的多个卷积模块和间插于相邻卷积模块的多个上采样层;
其中,所述第一分支网络中的卷积模块的个数和上采样层的个数分别多于所述主干网络中的卷积模块的个数和下采样层的个数,所述第二分支网络中的卷积模块的个数和上采样层的个数分别等于所述主干网络中的卷积模块的个数和下采样层的个数。
4.根据权利要求1-3任一项所述的训练方法,其中,所述系统损失函数包括生成网络对抗损失函数,所述系统损失值包括生成网络对抗损失值;
所述生成网络对抗损失函数表示为:
其中,LG表示所述生成网络对抗损失函数,z表示所述第一训练输入图像,Pz(z)表示所述第一训练输入图像的集合,G(z)表示所述第一训练输出图像,D(G(z))表示所述判别网络针对所述第一训练输出图像的输出,表示针对所述第一训练输入图像的集合求期望以得到所述生成网络对抗损失值。
5.根据权利要求4所述的训练方法,其中,所述分析网络包括依次连接的多个第一卷积模块和间插于相邻第一卷积模块的多个第一下采样层,至少两个所述第一卷积模块用于提取风格特征,至少一个所述第一卷积模块用于提取内容特征。
6.根据权利要求5所述的训练方法,其中,所述系统损失函数还包括内容损失函数,所述系统损失值还包括内容损失值;
所述内容损失函数表示为:
其中,Lcontent表示所述内容损失函数,Cm表示用于提取所述内容特征的所述至少一个第一卷积模块中的第m个第一卷积模块的单层内容损失函数,w1m表示Cm的权重;
所述单层内容损失函数表示为:
其中,S1为常数,表示在所述第m个第一卷积模块中第i个第一卷积核提取的所述第一训练输入图像的第一内容特征图像中第j个位置的值,/>表示在所述第m个第一卷积模块中第i个第一卷积核提取的所述第二训练输出图像的第二内容特征图像中第j个位置的值。
7.根据权利要求5所述的训练方法,其中,所述系统损失函数还包括风格损失函数,所述系统损失值还包括风格损失值;
所述风格损失函数表示为:
其中,Lstyle表示所述风格损失函数,En表示用于提取所述风格特征的所述至少两个第一卷积模块中的第n个第一卷积模块的单层风格损失函数,w2m表示En的权重;
所述单层风格损失函数表示为:
其中,S2为常数,Nn表示所述第n个第一卷积模块中的第一卷积核的数目,Mn表示所述第n个第一卷积模块中的第一卷积核提取的风格特征图像的尺寸,所述表示在所述第n个第一卷积模块中第i个第一卷积核提取的第一训练风格图像的第一风格特征图像的格拉姆矩阵中第j个位置的值,/>表示在所述第n个第一卷积模块中第i个第一卷积核提取的所述第二训练输出图像的第二风格特征图像的格拉姆矩阵中第j个位置的值。
8.根据权利要求4所述的训练方法,其中,所述生成网络的参数包括多个卷积核和多个偏置,所述系统损失函数还包括权重偏置比损失函数,所述系统损失值还包括权重偏置比损失值;
基于所述判别网络,对所述生成网络进行训练,还包括:
根据所述多个卷积核和所述多个偏置,通过所述权重偏置比损失函数计算所述权重偏置比损失值。
9.根据权利要求8所述的训练方法,其中,所述权重偏置比损失函数表示为:
其中,LL1表示所述权重偏置比损失函数,W为所述多个卷积核的绝对值的平均值,B为所述多个偏置的绝对值的平均值,ε为正数。
10.根据权利要求1-3任一项所述的训练方法,其中,基于所述生成网络,对所述判别网络进行训练,包括:
利用所述生成网络对第二训练输入图像进行风格迁移处理,以生成第三训练输出图像,其中,所述第三训练输出图像的分辨率大于所述第二训练输入图像的分辨率;
将第二训练风格图像和所述第三训练输出图像输入所述判别网络,其中,所述第二训练风格图像的分辨率等于所述第三训练输出图像的分辨率,根据所述第二训练风格图像的标签和所述第二训练风格图像对应的所述判别网络的输出以及所述第三训练输出图像的标签和所述第三训练输出图像对应的所述判别网络的输出,通过判别网络对抗损失函数计算判别网络对抗损失值;
根据所述判别网络对抗损失值对所述判别网络的参数进行修正。
11.根据权利要求10所述的训练方法,其中,所述判别网络对抗损失函数表示为:
其中,LD表示所述判别网络对抗损失函数,x表示所述第二训练风格图像,Pdata(x)表示所述第二训练风格图像的集合,D(x)表示所述判别网络针对所述第二训练风格图像的输出,表示针对所述第二训练风格图像的集合求期望,z表示所述第二训练输入图像,Pz(z)表示所述第二训练输入图像的集合,G(z)表示所述第三训练输出图像,D(G(z))表示所述判别网络针对所述第三训练输出图像的输出,/>表示针对所述第三训练输入图像的集合求期望。
12.根据权利要求2或3所述的训练方法,其中,所述目标网络包括所述生成网络的所述主干网络和所述第一分支网络。
13.一种图像处理方法,包括:
获取输入图像;
利用神经网络对所述输入图像进行风格迁移处理,以生成输出图像;
其中,所述神经网络包括根据权利要求1-12任一所述的训练方法得到的所述目标网络,所述输出图像的分辨率高于所述输入图像的分辨率。
14.一种图像处理装置,包括:
图像获取模块,用于获取输入图像;
图像处理模块,包括根据权利要求1-12任一所述的训练方法得到的所述目标网络,所述图像处理模块配置为利用所述目标网络对所述输入图像进行风格迁移处理,生成所述输出图像。
15.一种图像处理装置,包括:
存储器,用于非暂时性存储计算机可读指令;以及
处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时执行根据权利要求1-12任一所述的训练方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910262329.8A CN111767979B (zh) | 2019-04-02 | 2019-04-02 | 神经网络的训练方法、图像处理方法、图像处理装置 |
PCT/CN2020/081375 WO2020200030A1 (zh) | 2019-04-02 | 2020-03-26 | 神经网络的训练方法、图像处理方法、图像处理装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910262329.8A CN111767979B (zh) | 2019-04-02 | 2019-04-02 | 神经网络的训练方法、图像处理方法、图像处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111767979A CN111767979A (zh) | 2020-10-13 |
CN111767979B true CN111767979B (zh) | 2024-04-23 |
Family
ID=72664994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910262329.8A Active CN111767979B (zh) | 2019-04-02 | 2019-04-02 | 神经网络的训练方法、图像处理方法、图像处理装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111767979B (zh) |
WO (1) | WO2020200030A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11521011B2 (en) | 2019-06-06 | 2022-12-06 | Samsung Electronics Co., Ltd. | Method and apparatus for training neural network model for enhancing image detail |
CN112434552A (zh) * | 2020-10-13 | 2021-03-02 | 广州视源电子科技股份有限公司 | 神经网络模型调整方法、装置、设备及存储介质 |
WO2022077417A1 (zh) * | 2020-10-16 | 2022-04-21 | 京东方科技集团股份有限公司 | 图像处理方法、图像处理设备和可读存储介质 |
CN112216273B (zh) * | 2020-10-30 | 2024-04-16 | 东南数字经济发展研究院 | 一种针对语音关键词分类网络的对抗样本攻击方法 |
CN112465007B (zh) * | 2020-11-24 | 2023-10-13 | 深圳市优必选科技股份有限公司 | 目标识别模型的训练方法、目标识别方法及终端设备 |
CN112529058A (zh) * | 2020-12-03 | 2021-03-19 | 北京百度网讯科技有限公司 | 图像生成模型训练方法和装置、图像生成方法和装置 |
CN112561864B (zh) * | 2020-12-04 | 2024-03-29 | 深圳格瑞健康科技有限公司 | 龋齿图像分类模型的训练方法、系统和存储介质 |
CN112529159B (zh) * | 2020-12-09 | 2023-08-04 | 北京百度网讯科技有限公司 | 网络训练方法、装置及电子设备 |
CN112862669B (zh) * | 2021-02-02 | 2024-02-09 | 百果园技术(新加坡)有限公司 | 图像生成模型的训练方法、生成方法、装置及设备 |
CN113326725B (zh) * | 2021-02-18 | 2024-03-12 | 陕西师范大学 | 基于骨架引导传输网络的汉字字体自动生成方法 |
CN112967260B (zh) * | 2021-03-17 | 2024-01-26 | 中国科学院苏州生物医学工程技术研究所 | 基于弱监督学习的眼底荧光造影图像渗漏点检测方法 |
CN113139653A (zh) * | 2021-03-18 | 2021-07-20 | 有米科技股份有限公司 | 用于图像哈希求解的神经网络训练方法及装置 |
CN112966685B (zh) * | 2021-03-23 | 2024-04-19 | 深圳赛安特技术服务有限公司 | 用于场景文本识别的攻击网络训练方法、装置及相关设备 |
CN113221645B (zh) * | 2021-04-07 | 2023-12-12 | 深圳数联天下智能科技有限公司 | 目标模型训练方法、人脸图像生成方法以及相关装置 |
CN113516582B (zh) * | 2021-04-12 | 2023-08-18 | 浙江大学 | 用于图像风格迁移的网络模型训练方法、装置、计算机设备和存储介质 |
CN113420665B (zh) * | 2021-06-23 | 2024-05-07 | 平安国际智慧城市科技股份有限公司 | 对抗人脸图像生成、人脸识别模型训练方法、装置及设备 |
CN113657486B (zh) * | 2021-08-16 | 2023-11-07 | 浙江新再灵科技股份有限公司 | 基于电梯图片数据的多标签多属性分类模型建立方法 |
CN113989092B (zh) * | 2021-10-21 | 2024-03-26 | 河北师范大学 | 基于分层对抗性学习的图像隐写方法 |
CN114049254B (zh) * | 2021-10-29 | 2022-11-29 | 华南农业大学 | 低像素牛头图像重建识别方法、系统、设备及存储介质 |
CN114267036A (zh) * | 2021-12-25 | 2022-04-01 | 福州大学 | 基于生成对抗网络的车牌生成方法 |
CN115357218A (zh) * | 2022-08-02 | 2022-11-18 | 北京航空航天大学 | 一种基于混沌预测对抗学习的高熵随机数生成方法 |
CN116721306B (zh) * | 2023-05-24 | 2024-02-02 | 北京思想天下教育科技有限公司 | 基于大数据云平台的线上学习内容推荐系统 |
CN117177006A (zh) * | 2023-09-01 | 2023-12-05 | 湖南广播影视集团有限公司 | 一种基于cnn算法的短视频智能制作方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122826A (zh) * | 2017-05-08 | 2017-09-01 | 京东方科技集团股份有限公司 | 用于卷积神经网络的处理方法和系统、和存储介质 |
CN107767343A (zh) * | 2017-11-09 | 2018-03-06 | 京东方科技集团股份有限公司 | 图像处理方法、处理装置和处理设备 |
CN108074215A (zh) * | 2016-11-09 | 2018-05-25 | 京东方科技集团股份有限公司 | 图像升频系统及其训练方法、以及图像升频方法 |
CN108710881A (zh) * | 2018-05-23 | 2018-10-26 | 中国民用航空总局第二研究所 | 神经网络模型、候选目标区域生成方法、模型训练方法 |
CN108805808A (zh) * | 2018-04-04 | 2018-11-13 | 东南大学 | 一种利用卷积神经网络提高视频分辨率的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10846595B2 (en) * | 2016-12-20 | 2020-11-24 | Intel Corporation | Rapid competitive learning techniques for neural networks |
US20180247227A1 (en) * | 2017-02-24 | 2018-08-30 | Xtract Technologies Inc. | Machine learning systems and methods for data augmentation |
-
2019
- 2019-04-02 CN CN201910262329.8A patent/CN111767979B/zh active Active
-
2020
- 2020-03-26 WO PCT/CN2020/081375 patent/WO2020200030A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108074215A (zh) * | 2016-11-09 | 2018-05-25 | 京东方科技集团股份有限公司 | 图像升频系统及其训练方法、以及图像升频方法 |
CN107122826A (zh) * | 2017-05-08 | 2017-09-01 | 京东方科技集团股份有限公司 | 用于卷积神经网络的处理方法和系统、和存储介质 |
CN107767343A (zh) * | 2017-11-09 | 2018-03-06 | 京东方科技集团股份有限公司 | 图像处理方法、处理装置和处理设备 |
CN108805808A (zh) * | 2018-04-04 | 2018-11-13 | 东南大学 | 一种利用卷积神经网络提高视频分辨率的方法 |
CN108710881A (zh) * | 2018-05-23 | 2018-10-26 | 中国民用航空总局第二研究所 | 神经网络模型、候选目标区域生成方法、模型训练方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111767979A (zh) | 2020-10-13 |
WO2020200030A1 (zh) | 2020-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111767979B (zh) | 神经网络的训练方法、图像处理方法、图像处理装置 | |
US11461639B2 (en) | Image processing method, image processing device, and training method of neural network | |
CN110717851B (zh) | 图像处理方法及装置、神经网络的训练方法、存储介质 | |
JP7438108B2 (ja) | 画像処理方法、処理装置及び処理デバイス | |
WO2020239026A1 (zh) | 图像处理方法及装置、神经网络的训练方法、存储介质 | |
CN109191382B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN109754402B (zh) | 图像处理方法、图像处理装置以及存储介质 | |
EP3923233A1 (en) | Image denoising method and apparatus | |
CN110097609B (zh) | 一种基于样本域的精细化绣花纹理迁移方法 | |
CN110659725A (zh) | 神经网络模型的压缩与加速方法、数据处理方法及装置 | |
CN109754357B (zh) | 图像处理方法、处理装置以及处理设备 | |
CN112132741A (zh) | 一种人脸照片图像和素描图像的转换方法及系统 | |
CN113095470A (zh) | 神经网络的训练方法、图像处理方法及装置、存储介质 | |
CN113298235A (zh) | 一种多分支深度自注意力变换网络的神经网络架构及实现方法 | |
CN115936992A (zh) | 一种轻量级Transformer的垃圾图像超分辨方法及系统 | |
CN113096023A (zh) | 神经网络的训练方法、图像处理方法及装置、存储介质 | |
CN111724309B (zh) | 图像处理方法及装置、神经网络的训练方法、存储介质 | |
CN114581918A (zh) | 一种文本识别模型训练方法及装置 | |
Zhang et al. | A simple and effective static gesture recognition method based on attention mechanism | |
Luo et al. | Piecewise linear regression-based single image super-resolution via Hadamard transform | |
CN116912268A (zh) | 一种皮肤病变图像分割方法、装置、设备及存储介质 | |
CN116246110A (zh) | 基于改进胶囊网络的图像分类方法 | |
CN113076966B (zh) | 图像处理方法及装置、神经网络的训练方法、存储介质 | |
Hah et al. | Information-based boundary equilibrium generative adversarial networks with interpretable representation learning | |
CN116888605A (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 |