CN113744175B - 一种基于双向约束生成对抗网络的图像生成方法及系统 - Google Patents

一种基于双向约束生成对抗网络的图像生成方法及系统 Download PDF

Info

Publication number
CN113744175B
CN113744175B CN202111085747.8A CN202111085747A CN113744175B CN 113744175 B CN113744175 B CN 113744175B CN 202111085747 A CN202111085747 A CN 202111085747A CN 113744175 B CN113744175 B CN 113744175B
Authority
CN
China
Prior art keywords
training
network
image
generation
generated
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
Application number
CN202111085747.8A
Other languages
English (en)
Other versions
CN113744175A (zh
Inventor
李敏
苟瑶
杜卫东
何玉杰
邢宇航
时帅兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rocket Force University of Engineering of PLA
Original Assignee
Rocket Force University of Engineering of PLA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rocket Force University of Engineering of PLA filed Critical Rocket Force University of Engineering of PLA
Priority to CN202111085747.8A priority Critical patent/CN113744175B/zh
Publication of CN113744175A publication Critical patent/CN113744175A/zh
Application granted granted Critical
Publication of CN113744175B publication Critical patent/CN113744175B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种基于双向约束生成对抗网络的图像生成方法及系统,首先将生成对抗网络中引入第一生成网络、第二生成网络和鉴别网络,获得初始对抗网络;然后利用训练样本和所述训练集对所述初始对抗网络进行训练及优化,获得图像生成模型;最后将待生成样本输入至所述图像生成模型中进行图像生成,获得合成图像。本发明通过两个生成网络训练学习得到两个图像,使得两个图像对应的数据分布从不同方向去接近真实图像对应的数据分布,进而提升生成图像的质量。

Description

一种基于双向约束生成对抗网络的图像生成方法及系统
技术领域
本发明涉及图像生成技术领域,特别是涉及一种基于双向约束生成对抗网络的图像生成方法及系统。
背景技术
高质量、强标注、大规模、多样本的数据集是深度学习性能优良的关键。受地理位置、时间周期、制作成本以及保密性等客观因素影响,对于一些特定数据集,获取充足的真实图像是困难的,如医药、军事等领域。因此,如何利用已有数据集来生成以假乱真的虚假图像有着重要的研究价值。
传统图像生成的方法主要包括几何扩充、像素转换以及线性合成等。由于强大的生成能力,自2014年Ian J.Goodfellow提出生成对抗网络(Generative AdversarialNetwork,GAN)以来,GAN已经被广泛应用于图像生成中。GAN采用博弈论方法不断逼近生成图像与真实图像之间的数据分布,能够生成与真实图像十分相似的虚假图像,可以认为是在图像生成方向的一个突破。(Goodfellow I,Pougetabadie J,Mirza M,etal.Generative adversarial nets[C]//Advances in Neural Information ProcessingSystems 27.[S.l.]:CurranAssociates,Inc.,2014,2672-2680.)
GAN面临着一些挑战,如生成样本质量不高,往往缺乏多样性,甚至模型崩溃等。为了缓解上述问题,GAN的变体主要从网络架构和损失函数两个方面进行了优化。
2015年,Radford等人提出了一种深度卷积生成对抗网络(Deep ConvolutionalGenerativeAdversarialNetworks,DCGAN),首次引入卷积神经网络(ConvolutionalNeural Network,CNN)来设计GAN的生成网络(Generator Network)和鉴别网络(DiscriminatorNetwork),一定程度上稳定了训练过程,并且大多数GAN变体模型都基于此体系结构进行改进的。(RadfordA,Metz L,Chintala S.Unsupervised representationlearning with deep convolutional generative adversarial networks[C]//International conference on learning representations(ICLR),2015:1-16.)
2017年,Gulrajani等人提出了一种带梯度惩罚的Wasserstein生成对抗网络(Wasserstein Generative Adversarial Network with Gradient Penalty,WGAN-GP),利用Wasserstein距离代替原来的JS散度,进一步约束了训练过程。(Gulrajani I,Ahmed F,Arjovsky M,et al.Improved training of Wasserstein GANs[C]//Advances in NeuralInformation Processing Systems 30.[S.l.]:Curran Associates,Inc.,2017:5767—5777.)
2017年,Mao等人提出了一种最小二乘生成对抗网络(Least SquaresGenerativeAdversarialNetworks,LSGAN),该网络采用最小二乘损失函数代替原始GAN中的损失函数,克服了训练过程中梯度消失的问题。(Mao X D,Li Q,Xie H R,et al.Leastsquares generative adversarial networks[C]//IEEE Computer Society,2017.2794–2802.)
2020年,Xiangli等人提出了一种真实性生成对抗网络(Realness GenerativeAdversarialNetworks,RealnessGAN),将“真实性分布”(Realness Distribution)这个概念引入GAN的训练,将鉴别网络输出的一个标量值转化为一个向量值,该向量中的每一个元素值从不同角度判别输入图像的真伪,将对图片“真/伪”的衡量转变为对图片“真实性分布”的衡量。利用该方法,即使在简单的DCGAN结构上,也能够生成高质量、高分辨率的图像,同时大大降低了计算资源和训练时耗。
上述GAN变体利用不同方法一定程度上稳定了训练过程,然而,这些方法均只考虑从一个方向去逼近真实图像的数据分布,其生成图像的数据分布往往与真实图像的数据分布有较大的偏差,以至于生成图像的质量普遍不高。
发明内容
本发明的目的是提供一种基于双向约束生成对抗网络的图像生成方法及系统,以实现从两个不同方向去双向逼近真实图像的数据分布,提高生成图像质量。
为实现上述目的,本发明提供了一种基于双向约束生成对抗网络的图像生成方法,所述方法包括:
步骤S1:构建训练集;所述训练集包括多张训练图像;
步骤S2:将生成对抗网络中引入第一生成网络、第二生成网络和鉴别网络,获得初始对抗网络;
步骤S3:利用训练样本和所述训练集对所述初始对抗网络进行训练及优化,获得图像生成模型;
步骤S4:将待生成样本输入至所述图像生成模型中进行图像生成,获得合成图像。
可选地,所述利用训练样本和所述训练集对所述初始对抗网络进行训练及优化,获得图像生成模型,具体包括:
步骤S31:将训练样本和所述训练集输入所述初始对抗网络进行训练,利用生成网络损失函数公式计算生成网络损失值,利用鉴别网络损失函数计算鉴别网络损失值;
步骤S32:基于所述生成网络损失值判断是否满足第一收敛条件;如果满足第一收敛条件,则执行“步骤S33”;如果不满足第一收敛条件,则返回“步骤S31”;
步骤S33:基于所述鉴别网络损失值判断是否满足第二收敛条件;如果满足第二收敛条件,则将训练后的所述初始对抗网络作为所述图像生成模型;如果不满足第二收敛条件,则返回“步骤S31”;
或步骤S31:设置最大训练次数;
步骤S32:将训练样本和所述训练集输入所述初始对抗网络进行训练;
步骤S33:判断迭代次数是否小于或等于最大训练次数;如果迭代次数小于或等于最大训练次数,则利用生成网络损失函数公式计算生成网络损失值,利用鉴别网络损失函数计算鉴别网络损失值,采用Adam优化算法更新网络参数;如果迭代次数大于最大训练次数,则将训练后的所述初始对抗网络作为所述图像生成模型。
可选地,所述生成网络损失函数为:
其中,LG表示生成网络损失值,A0表示初始设定的虚假分布,A1表示初始设定的真实分布,G1(z)表示训练样本z输入至第一生成网络后生成的图像,简称第一图像,G2(z)表示训练样本z输入至第二生成网络后生成的图像,简称第二图像,D(G1(z))表示向鉴别网络中输入第一图像后得到的概率向量,D(G2(z))表示向鉴别网络中输入第二图像后得到的概率向量,λG表示常数项系数,α表示常数系数,满足0-1之间的均匀分布,α∈U(0,1),||*||表示范数,KL(A0||D(G(z)))表示A0与中间参数D(G(z))之间的KL散度,KL(A1||D(G(z)))表示A1与中间参数D(G(z))之间的KL散度。
可选地,所述鉴别网络损失函数为:
LD=KL(A1||D(x))+KL(A0||D(G1(z)))+KL(A0||D(G2(z)))+λD||D(G1(z))-D(G2(z))||;
其中,LD表示鉴别网络损失值,λD表示常数项系数,D(x)表示向鉴别网络中输入训练图像x后得到的概率向量,KL(A1||D(x))表示A1与D(x)之间的KL散度,KL(A0||D(G1(z)))表示A0与中间参数D(G1(z))之间的KL散度,KL(A0||D(G2(z)))表示A0与中间参数D(G2(z))之间的KL散度。
可选地,所述构建训练集具体包括:
获取多张样本图像;
将每张所述样本图像分别进行裁剪,获得多张训练图像;所述训练图像的高度与宽度相等。
本发明还提供一种基于双向约束生成对抗网络的图像生成系统,所述系统包括:
训练集构建模块,用于构建训练集;所述训练集包括多张训练图像;
初始对抗网络生成模块,用于将生成对抗网络中引入第一生成网络、第二生成网络和鉴别网络,获得初始对抗网络;
训练及优化模块,用于利用训练样本和所述训练集对所述初始对抗网络进行训练及优化,获得图像生成模型;
图像生成模块,用于将待生成样本输入至所述图像生成模型中进行图像生成,获得合成图像。
可选地,所述训练及优化模块,具体包括:
损失值计算单元,用于将训练样本和所述训练集输入所述初始对抗网络进行训练,利用生成网络损失函数公式计算生成网络损失值,利用鉴别网络损失函数计算鉴别网络损失值;
第一判断单元,用于基于所述生成网络损失值判断是否满足第一收敛条件;如果满足第一收敛条件,则执行“步骤S33”;如果不满足第一收敛条件,则返回“损失值计算单元”;
第二判断单元,用于基于所述鉴别网络损失值判断是否满足第二收敛条件;如果满足第二收敛条件,则将训练后的所述初始对抗网络作为所述图像生成模型;如果不满足第二收敛条件,则返回“损失值计算单元”;
参数设置单元,用于设置最大训练次数;
训练单元,用于将训练样本和所述训练集输入所述初始对抗网络进行训练;
第三判断单元,用于判断迭代次数是否小于或等于最大训练次数;如果迭代次数小于或等于最大训练次数,则利用生成网络损失函数公式计算生成网络损失值,利用鉴别网络损失函数计算鉴别网络损失值,采用Adam优化算法更新网络参数;如果迭代次数大于最大训练次数,则将训练后的所述初始对抗网络作为所述图像生成模型。
可选地,所述生成网络损失函数为:
其中,LG表示生成网络损失值,A0表示初始设定的虚假分布,A1表示初始设定的真实分布,G1(z)表示训练样本z输入至第一生成网络后生成的图像,简称第一图像,G2(z)表示训练样本z输入至第二生成网络后生成的图像,简称第二图像,D(G1(z))表示向鉴别网络中输入第一图像后得到的概率向量,D(G2(z))表示向鉴别网络中输入第二图像后得到的概率向量,λG表示常数项系数,α表示常数系数,满足0-1之间的均匀分布,α∈U(0,1),||*||表示范数,KL(A0||D(G(z)))表示A0与中间参数D(G(z))之间的KL散度,KL(A1||D(G(z)))表示A1与中间参数D(G(z))之间的KL散度。
可选地,所述鉴别网络损失函数为:
LD=KL(A1||D(x))+KL(A0||D(G1(z)))+KL(A0||D(G2(z)))+λD||D(G1(z))-D(G2(z))||;
其中,LD表示鉴别网络损失值,λD表示常数项系数,D(x)表示向鉴别网络中输入训练图像x后得到的概率向量,KL(A1||D(x))表示A1与D(x)之间的KL散度,KL(A0||D(G1(z)))表示A0与中间参数D(G1(z))之间的KL散度,KL(A0||D(G2(z)))表示A0与中间参数D(G2(z))之间的KL散度。
可选地,所述训练集构建模块具体包括:
获取单元,用于获取多张样本图像;
裁剪单元,用于将每张所述样本图像分别进行裁剪,获得多张训练图像;所述训练图像的高度与宽度相等。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明通过两个生成网络训练学习得到两个图像,使得两个图像对应的数据分布从不同方向去接近真实图像对应的数据分布,进而提升生成图像的质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于双向约束生成对抗网络的图像生成方法流程图;
图2为本发明基于双向约束生成对抗网络的图像生成系统结构图;
图3为本发明真实图像与生成图像的数据分布示例图;
图4为现有GAN变体与本发明公开方法训练网络架构比较图;
图5为本发明生成的合成图像示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于双向约束生成对抗网络的图像生成方法及系统,以实现从两个不同方向去双向逼近真实图像的数据分布,提高生成图像质量。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明公开一种基于双向约束生成对抗网络的图像生成方法,所述方法包括:
步骤S1:构建训练集;所述训练集包括多张训练图像。
步骤S2:将生成对抗网络中引入第一生成网络、第二生成网络和鉴别网络,获得初始对抗网络。
步骤S3:利用训练样本和所述训练集对所述初始对抗网络进行训练及优化,获得图像生成模型。
步骤S4:将待生成样本输入至所述图像生成模型中进行图像生成,获得合成图像。
下面对各个步骤进行详细论述:
步骤S1:构建训练集,具体包括:
步骤S11:获取多张样本图像;所述样本图像可以从人脸数据集CelebA中选取的人脸图像,还可以为环境图像。
步骤S12:将每张所述样本图像分别进行裁剪,获得多张训练图像;所述训练图像的尺寸为H×W×C;其中,H、W和C分别表示图像的高度、宽度和通道数,所述训练图像的高度与宽度相等。
步骤S2:将生成对抗网络中引入第一生成网络、第二生成网络和鉴别网络,获得初始对抗网络。
本实施例中所述初始对抗网络是在RealnessGAN的基础上进行改进获得的,引入两个生成网络,分别为第一生成网络G1和第二生成网络G2,通过同时训练两个生成网络G1和G2,使得G1和G2分别学习到的生成分布从不同方向去接近训练数据集的真实分布A1,获得初始对抗网络损失值。而初始对抗网络的损失函数是约束整个模型训练过程收敛的指标,其包括生成网络损失值LG和鉴别网络损失值LD
步骤S3:利用训练样本和所述训练集对所述初始对抗网络进行训练及优化,获得图像生成模型,具体包括:
步骤S31:将训练样本和所述训练集输入所述初始对抗网络进行训练,利用生成网络损失函数公式计算生成网络损失值,利用鉴别网络损失函数计算鉴别网络损失值。本实施例中,训练样本为一组一维随机变量,含有128个元素,其中每个元素均服从标准正态分布,即z=(z1,z2,…,z128),zi~N(0,1),i=1,2,…128。
所述生成网络损失函数为:
其中,LG表示生成网络损失值,A0表示初始设定的虚假分布,A1表示初始设定的真实分布,G1(z)表示训练样本z输入至第一生成网络后生成的图像,简称第一图像,G2(z)表示训练样本z输入至第二生成网络后生成的图像,简称第二图像,D(G1(z))表示向鉴别网络中输入第一图像后得到的概率向量,D(G2(z))表示向鉴别网络中输入第二图像后得到的概率向量,λG表示常数项系数,α表示常数系数,满足0-1之间的均匀分布,α∈U(0,1),||*||表示范数,KL(A0||D(G(z)))表示A0与中间参数D(G(z))之间的KL散度,KL(A1||D(G(z)))表示A1与中间参数D(G(z))之间的KL散度。
所述鉴别网络损失函数为:
LD=KL(A1||D(x))+KL(A0||D(G1(z)))+KL(A0||D(G2(z)))+λD||D(G1(z))-D(G2(z))||;
其中,LD表示鉴别网络损失值,λD表示常数项系数,D(x)表示向鉴别网络中输入训练图像x后得到的概率向量,KL(A1||D(x))表示A1与D(x)之间的KL散度,KL(A0||D(G1(z)))表示A0与中间参数D(G1(z))之间的KL散度,KL(A0||D(G2(z)))表示A0与中间参数D(G2(z))之间的KL散度。
本实施例中,A0和A1的设置与RealnessGAN中A0和A1设置相同。
步骤S32:基于所述生成网络损失值判断是否满足第一收敛条件;如果满足第一收敛条件,则执行“步骤S33”;如果不满足第一收敛条件,则返回“步骤S31”。
步骤S33:基于所述鉴别网络损失值判断是否满足第二收敛条件;如果满足第二收敛条件,则将训练后的所述初始对抗网络作为所述图像生成模型;如果不满足第二收敛条件,则返回“步骤S31”。
或步骤S31:设置最大训练次数。
步骤S32:将训练样本和所述训练集输入所述初始对抗网络进行训练。
步骤S33:判断迭代次数是否小于或等于最大训练次数;如果迭代次数小于或等于最大训练次数,则利用生成网络损失函数公式计算生成网络损失值,利用鉴别网络损失函数计算鉴别网络损失值,采用Adam优化算法更新网络参数;如果迭代次数大于最大训练次数,则将训练后的所述初始对抗网络作为所述图像生成模型。
本实施例中,第一收敛条件为相邻两个生成网络损失值之间的差值小于第一设定阈值,或所述生成网络损失值在第一设定范围内;第二收敛条件为相邻两个鉴别网络损失值之间的差值小于第二设定阈值,或所述鉴别网络损失值在第二设定范围内。
本发明训练及优化所述初始对抗网络过程是基于Facebook人工智能研究院开源的Pytorch深度学习平台来进行的。
步骤S4:将待生成样本输入至所述图像生成模型中进行图像生成,获得合成图像。本实施例中,所述待生成样本为另一组一维随机变量,含有128个元素,其中每个元素均服从标准正态分布,即z=(z1,z2,…,z128),zi~N(0,1),i=1,2,…128。
实施例2
如图2所示,本发明还公开一种基于双向约束生成对抗网络的图像生成系统,所述系统包括:
训练集构建模块201,用于构建训练集;所述训练集包括多张训练图像。
初始对抗网络生成模块202,用于将生成对抗网络中引入第一生成网络、第二生成网络和鉴别网络,获得初始对抗网络。
训练及优化模块203,用于利用训练样本和所述训练集对所述初始对抗网络进行训练及优化,获得图像生成模型。
图像生成模块204,用于将待生成样本输入至所述图像生成模型中进行图像生成,获得合成图像。
下面对各个模块进行详细论述:
作为一种可选的实施方式,本发明所述训练集构建模块具体包括:
获取单元,用于获取多张样本图像。
裁剪单元,用于将每张所述样本图像分别进行裁剪,获得多张训练图像;所述训练图像的高度与宽度相等。
作为一种可选的实施方式,本发明所述训练及优化模块203,具体包括:
损失值计算单元,用于将训练样本和所述训练集输入所述初始对抗网络进行训练,利用生成网络损失函数公式计算生成网络损失值,利用鉴别网络损失函数计算鉴别网络损失值。
第一判断单元,用于基于所述生成网络损失值判断是否满足第一收敛条件;如果满足第一收敛条件,则执行“步骤S33”;如果不满足第一收敛条件,则返回“损失值计算单元”。
第二判断单元,用于基于所述鉴别网络损失值判断是否满足第二收敛条件;如果满足第二收敛条件,则将训练后的所述初始对抗网络作为所述图像生成模型;如果不满足第二收敛条件,则返回“损失值计算单元”。
参数设置单元,用于设置最大训练次数。
训练单元,用于将训练样本和所述训练集输入所述初始对抗网络进行训练。
第三判断单元,用于判断迭代次数是否小于或等于最大训练次数;如果迭代次数小于或等于最大训练次数,则利用生成网络损失函数公式计算生成网络损失值,利用鉴别网络损失函数计算鉴别网络损失值,采用Adam优化算法更新网络参数;如果迭代次数大于最大训练次数,则将训练后的所述初始对抗网络作为所述图像生成模型。
作为一种可选的实施方式,本发明所述生成网络损失函数为:
其中,LG表示生成网络损失值,A0表示初始设定的虚假分布,A1表示向鉴别网络中输入训练图像x后得到的真实分布,G1(z)表示训练样本z输入至第一生成网络后生成的图像,简称第一图像,G2(z)表示训练样本z输入至第二生成网络后生成的图像,简称第二图像,D(G1(z))表示向鉴别网络中输入第一图像后得到的概率向量,D(G2(z))表示向鉴别网络中输入第二图像后得到的概率向量,λG表示常数项系数,α表示常数系数,满足0-1之间的均匀分布,α∈U(0,1),||*||表示范数,KL(A0||D(G(z)))表示A0与中间参数D(G(z))之间的KL散度,KL(A1||D(G(z)))表示A1与中间参数D(G(z))之间的KL散度。
作为一种可选的实施方式,本发明所述鉴别网络损失函数为:
LD=KL(A1||D(x))+KL(A0||D(G1(z)))+KL(A0||D(G2(z)))+λD||D(G1(z))-D(G2(z))||;
其中,LD表示鉴别网络损失值,λD表示常数项系数,D(x)表示向鉴别网络中输入训练图像x后得到的概率向量,KL(A1||D(x))表示A1与D(x)之间的KL散度,KL(A0||D(G1(z)))表示A0与中间参数D(G1(z))之间的KL散度,KL(A0||D(G2(z)))表示A0与中间参数D(G2(z))之间的KL散度。
实施例3
任意给定一幅真实图像,图3给出了真实图像与生成图像的数据分布示例图。其中,图3中(a)表示真实图像的数据分布pdata与生成图像的数据分布pg;图3中(b)表示理想情况下,当且仅当真实图像与生成图像的数据分布相等,即pg=pdata时,生成图像与真实图像真伪难辨;图3中(c)表示现有GAN变体生成图像与真实图像的数据分布关系,pg和pdata重合部分越多,表明生成样本的质量越高;图3中(d)表示本发明生成图像与真实图像的数据分布关系,通过设计两个生成网络生成两个数据分布pg1和pg2,使得pg1和pg2从不同方向去接近pdata,实现双向约束。
实施例4
以人脸图像作为样本图像为例,采用实施例1中的方法进行实验,分别采用现有GAN变体以及本发明公开的方法进行训练。本发明将随机变量z输入第一生成网络G1和第二生成网络G2后,分别获得第一图像G1(z)和第二图像G2(z),然后将第一图像G1(z)和第二图像G2(z)分别输入鉴别网络D中获得概率向量D(G1(z))和D(G2(z)),尽可能使D(G1(z))和D(G2(z))趋近于设定的虚假分布,将训练图像x输入鉴别网络获得概率向量D(x),使D(x)趋近于设定的真实分布,不断训练和优化两个生成网络以及鉴别网络,直至满足第一收敛条件以及第二收敛条件结束,具体训练过程如图4中(b)所示,图4中(a)表示采用现有GAN变体的方法进行训练的过程,采用现有GAN变体的方法与本发明方法相类似,在此不再一一赘述。采用本发明公开的方法生成的图像如图5所示。
图4中{←→}表示增加两者之间的距离,{→←}表示减小两者之间的距离,由图4可知,本发明公开的方法包含两个生成网络G1、G2和一个鉴别鉴别D,希望通过输入一组随机向量z来双向约束两个生成网络G和鉴别网络D的训练过程,一方面通过增加第一图像G1(z)和第二图像G2(z)之间的距离来丰富生成样本的多样性,另一方面通过减小概率向量D(G1(z))和D(G2(z)))之间的差异来稳定训练过程。
本发明采用FID(Fréchet Inception Distance)分数作为评价生成图像质量的客观指标,FID值越小,表示生成图像质量越高。具体比较结果如表1所示,本组实验一共迭代了52万次,其中,最小值、最大值、平均值以及标准差由训练中第20000次、第30000次、…、第520000次迭代结果迭代结果计算得到。
表1结果对比表
现有GAN变体仅考虑从一个方向拟合真实样本的数据分布,其生成样本的数据分布往往与真实样本的数据分布存在较大偏差。为缓解这一问题,同时进一步提高GAN生成样本的质量和多样性,提出了一种双向约束生成对抗网络(Bidirectional ConstraintGeneration Adversarial Network,BCGAN),与传统GAN变体相比,本发明又增加了一个生成网络,两个生成网络分别从两个不同方向逼近真实样本的数据分布。本发明通过增加图像G1(z)和图像G2(z)之间的距离来丰富生成样本的多样性;通过减小两个概率向量D(G1(z))和D(G2(z))之间的差异来稳定训练过程,提高生成图像的质量。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (4)

1.一种基于双向约束生成对抗网络的图像生成方法,其特征在于,所述方法包括:
步骤S1:构建训练集;所述训练集包括多张训练图像;
步骤S2:将生成对抗网络中引入第一生成网络、第二生成网络和鉴别网络,获得初始对抗网络;
步骤S3:利用训练样本和所述训练集对所述初始对抗网络进行训练及优化,获得图像生成模型;
步骤S4:将待生成样本输入至所述图像生成模型中进行图像生成,获得合成图像;
所述利用训练样本和所述训练集对所述初始对抗网络进行训练及优化,获得图像生成模型,具体包括:
步骤S31:将训练样本和所述训练集输入所述初始对抗网络进行训练,利用生成网络损失函数公式计算生成网络损失值,利用鉴别网络损失函数计算鉴别网络损失值;
步骤S32:基于所述生成网络损失值判断是否满足第一收敛条件;如果满足第一收敛条件,则执行“步骤S33”;如果不满足第一收敛条件,则返回“步骤S31”;
步骤S33:基于所述鉴别网络损失值判断是否满足第二收敛条件;如果满足第二收敛条件,则将训练后的所述初始对抗网络作为所述图像生成模型;如果不满足第二收敛条件,则返回“步骤S31”;
或步骤S31:设置最大训练次数;
步骤S32:将训练样本和所述训练集输入所述初始对抗网络进行训练;
步骤S33:判断迭代次数是否小于或等于最大训练次数;如果迭代次数小于或等于最大训练次数,则利用生成网络损失函数公式计算生成网络损失值,利用鉴别网络损失函数计算鉴别网络损失值,采用Adam优化算法更新网络参数;如果迭代次数大于最大训练次数,则将训练后的所述初始对抗网络作为所述图像生成模型;
所述生成网络损失函数为:
其中,LG表示生成网络损失值,A0表示初始设定的虚假分布,A1表示初始设定的真实分布,G1(z)表示训练样本z输入至第一生成网络后生成的图像,简称第一图像,G2(z)表示训练样本z输入至第二生成网络后生成的图像,简称第二图像,D(G1(z))表示向鉴别网络中输入第一图像后得到的概率向量,D(G2(z))表示向鉴别网络中输入第二图像后得到的概率向量,λG表示常数项系数,α表示常数系数,满足0-1之间的均匀分布,α∈U(0,1),||*||表示范数,KL(A0||D(G(z)))表示A0与中间参数D(G(z))之间的KL散度,KL(A1||D(G(z)))表示A1与中间参数D(G(z))之间的KL散度;
所述鉴别网络损失函数为:
LD=KL(A1||D(x))+KL(A0||D(G1(z)))+KL(A0||D(G2(z)))+λD||D(G1(z))-D(G2(z))||;
其中,LD表示鉴别网络损失值,λD表示常数项系数,D(x)表示向鉴别网络中输入训练图像x后得到的概率向量,KL(A1||D(x))表示A1与D(x)之间的KL散度,KL(A0||D(G1(z)))表示A0与D(G1(z))之间的KL散度,KL(A0||D(G2(z)))表示A0与D(G2(z))之间的KL散度。
2.根据权利要求1所述的基于双向约束生成对抗网络的图像生成方法,其特征在于,所述构建训练集具体包括:
获取多张样本图像;
将每张所述样本图像分别进行裁剪,获得多张训练图像;所述训练图像的高度与宽度相等。
3.一种基于双向约束生成对抗网络的图像生成系统,其特征在于,所述系统包括:
训练集构建模块,用于构建训练集;所述训练集包括多张训练图像;
初始对抗网络生成模块,用于将生成对抗网络中引入第一生成网络、第二生成网络和鉴别网络,获得初始对抗网络;
训练及优化模块,用于利用训练样本和所述训练集对所述初始对抗网络进行训练及优化,获得图像生成模型;
图像生成模块,用于将待生成样本输入至所述图像生成模型中进行图像生成,获得合成图像;
所述训练及优化模块,具体包括:
损失值计算单元,用于将训练样本和所述训练集输入所述初始对抗网络进行训练,利用生成网络损失函数公式计算生成网络损失值,利用鉴别网络损失函数计算鉴别网络损失值;
第一判断单元,用于基于所述生成网络损失值判断是否满足第一收敛条件;如果满足第一收敛条件,则执行“第二判断单元”;如果不满足第一收敛条件,则返回“损失值计算单元”;
第二判断单元,用于基于所述鉴别网络损失值判断是否满足第二收敛条件;如果满足第二收敛条件,则将训练后的所述初始对抗网络作为所述图像生成模型;如果不满足第二收敛条件,则返回“损失值计算单元”;
参数设置单元,用于设置最大训练次数;
训练单元,用于将训练样本和所述训练集输入所述初始对抗网络进行训练;
第三判断单元,用于判断迭代次数是否小于或等于最大训练次数;如果迭代次数小于或等于最大训练次数,则利用生成网络损失函数公式计算生成网络损失值,利用鉴别网络损失函数计算鉴别网络损失值,采用Adam优化算法更新网络参数;如果迭代次数大于最大训练次数,则将训练后的所述初始对抗网络作为所述图像生成模型;
所述生成网络损失函数为:
其中,LG表示生成网络损失值,A0表示初始设定的虚假分布,A1表示初始设定的真实分布,G1(z)表示训练样本z输入至第一生成网络后生成的图像,简称第一图像,G2(z)表示训练样本z输入至第二生成网络后生成的图像,简称第二图像,D(G1(z))表示向鉴别网络中输入第一图像后得到的概率向量,D(G2(z))表示向鉴别网络中输入第二图像后得到的概率向量,λG表示常数项系数,α表示常数系数,满足0-1之间的均匀分布,α∈U(0,1),||*||表示范数,KL(A0||D(G(z)))表示A0与中间参数D(G(z))之间的KL散度,KL(A1||D(G(z)))表示A1与中间参数D(G(z))之间的KL散度;
所述鉴别网络损失函数为:
LD=KL(A1||D(x))+KL(A0||D(G1(z)))+KL(A0||D(G2(z)))+λD||D(G1(z))-D(G2(z))||;
其中,LD表示鉴别网络损失值,λD表示常数项系数,D(x)表示向鉴别网络中输入训练图像x后得到的概率向量,KL(A1||D(x))表示A1与D(x)之间的KL散度,KL(A0||D(G1(z)))表示A0与D(G1(z))之间的KL散度,KL(A0||D(G2(z)))表示A0与D(G2(z))之间的KL散度。
4.根据权利要求3所述的基于双向约束生成对抗网络的图像生成系统,其特征在于,所述训练集构建模块具体包括:
获取单元,用于获取多张样本图像;
裁剪单元,用于将每张所述样本图像分别进行裁剪,获得多张训练图像;所述训练图像的高度与宽度相等。
CN202111085747.8A 2021-09-16 2021-09-16 一种基于双向约束生成对抗网络的图像生成方法及系统 Active CN113744175B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111085747.8A CN113744175B (zh) 2021-09-16 2021-09-16 一种基于双向约束生成对抗网络的图像生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111085747.8A CN113744175B (zh) 2021-09-16 2021-09-16 一种基于双向约束生成对抗网络的图像生成方法及系统

Publications (2)

Publication Number Publication Date
CN113744175A CN113744175A (zh) 2021-12-03
CN113744175B true CN113744175B (zh) 2024-01-19

Family

ID=78739240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111085747.8A Active CN113744175B (zh) 2021-09-16 2021-09-16 一种基于双向约束生成对抗网络的图像生成方法及系统

Country Status (1)

Country Link
CN (1) CN113744175B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114331821B (zh) * 2021-12-29 2023-09-22 中国人民解放军火箭军工程大学 一种图像转换方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635774A (zh) * 2018-12-21 2019-04-16 中山大学 一种基于生成对抗网络的人脸合成方法
EP3511942A2 (en) * 2018-01-16 2019-07-17 Siemens Healthcare GmbH Cross-domain image analysis and cross-domain image synthesis using deep image-to-image networks and adversarial networks
WO2019237240A1 (zh) * 2018-06-12 2019-12-19 中国科学院深圳先进技术研究院 一种增强型生成式对抗网络以及目标样本识别方法
CN110910351A (zh) * 2019-10-31 2020-03-24 上海交通大学 基于生成对抗网络的超声图像模态迁移、分类方法及终端
CN111563841A (zh) * 2019-11-13 2020-08-21 南京信息工程大学 一种基于生成对抗网络的高分辨率图像生成方法
CN113112411A (zh) * 2020-01-13 2021-07-13 南京信息工程大学 基于多尺度特征融合的人脸图像语义修复方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210012486A1 (en) * 2019-07-09 2021-01-14 Shenzhen Malong Technologies Co., Ltd. Image synthesis with generative adversarial network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3511942A2 (en) * 2018-01-16 2019-07-17 Siemens Healthcare GmbH Cross-domain image analysis and cross-domain image synthesis using deep image-to-image networks and adversarial networks
WO2019237240A1 (zh) * 2018-06-12 2019-12-19 中国科学院深圳先进技术研究院 一种增强型生成式对抗网络以及目标样本识别方法
CN109635774A (zh) * 2018-12-21 2019-04-16 中山大学 一种基于生成对抗网络的人脸合成方法
CN110910351A (zh) * 2019-10-31 2020-03-24 上海交通大学 基于生成对抗网络的超声图像模态迁移、分类方法及终端
CN111563841A (zh) * 2019-11-13 2020-08-21 南京信息工程大学 一种基于生成对抗网络的高分辨率图像生成方法
CN113112411A (zh) * 2020-01-13 2021-07-13 南京信息工程大学 基于多尺度特征融合的人脸图像语义修复方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS;Alec Radford 等;《arXiv》;全文 *
语义区域风格约束下的图像合成;胡妤婕 等;《计算机科学》;第48卷(第2期);全文 *

Also Published As

Publication number Publication date
CN113744175A (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
CN109948029B (zh) 基于神经网络自适应的深度哈希图像搜索方法
CN113011570A (zh) 一种卷积神经网络模型的自适应高精度压缩方法及系统
Zhang et al. Unifying generative models with GFlowNets and beyond
Suzuki et al. Adversarial example generation using evolutionary multi-objective optimization
CN113033822A (zh) 基于预测校正和随机步长优化的对抗性攻击与防御方法及系统
Lin et al. Evolutionary architectural search for generative adversarial networks
CN113744175B (zh) 一种基于双向约束生成对抗网络的图像生成方法及系统
Guo et al. A deep reinforcement learning method for multimodal data fusion in action recognition
Li et al. PSAQ-ViT v2: Toward accurate and general data-free quantization for vision transformers
Valdez et al. A framework for interactive structural design exploration
CN115914505A (zh) 基于语音驱动数字人模型的视频生成方法及系统
CN110415261B (zh) 一种分区域训练的表情动画转换方法及系统
Wang et al. Data-driven multi-objective affective product design integrating three-dimensional form and color
Fang et al. One is all: Bridging the gap between neural radiance fields architectures with progressive volume distillation
CN111260652B (zh) 一种基于mimo-gan的图像生成系统和方法
Zhang et al. Flow to better: Offline preference-based reinforcement learning via preferred trajectory generation
CN115527052A (zh) 一种基于对比预测的多视图聚类方法
CN115035366A (zh) 多模态变分自编码模型训练方法、系统及相关设备
CN111669563B (zh) 一种基于强化学习的立体图像视觉舒适度增强方法
CN111429436B (zh) 一种基于多尺度注意力和标签损失的本质图像分析方法
Li et al. Generate desired images from trained generative adversarial networks
CN115984911A (zh) 属性生成对抗网络以及基于该网络的人脸图像连续变换方法
ZiWen et al. Multi-objective Neural Architecture Search for Efficient and Fast Semantic Segmentation on Edge
CN114077895A (zh) 对抗性策略的变分自编码模型
CN113537494B (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