CN111899163A - 生成对抗网络中单图像超分辨率的有效结构保持 - Google Patents
生成对抗网络中单图像超分辨率的有效结构保持 Download PDFInfo
- Publication number
- CN111899163A CN111899163A CN202010052121.6A CN202010052121A CN111899163A CN 111899163 A CN111899163 A CN 111899163A CN 202010052121 A CN202010052121 A CN 202010052121A CN 111899163 A CN111899163 A CN 111899163A
- Authority
- CN
- China
- Prior art keywords
- generator
- generated
- resolution image
- high resolution
- encoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004321 preservation Methods 0.000 title abstract description 4
- 238000012549 training Methods 0.000 claims abstract description 72
- 238000000034 method Methods 0.000 claims abstract description 67
- 230000006870 function Effects 0.000 claims description 53
- 230000015654 memory Effects 0.000 claims description 35
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 230000008447 perception Effects 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 238000010348 incorporation Methods 0.000 claims 1
- 238000013527 convolutional neural network Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 15
- 238000009826 distribution Methods 0.000 description 15
- 239000013598 vector Substances 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000005457 optimization Methods 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 8
- 238000013256 Gubra-Amylin NASH model Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 230000003321 amplification Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 241000283070 Equus zebra Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- NYQDCVLCJXRDSK-UHFFFAOYSA-N Bromofos Chemical compound COP(=S)(OC)OC1=CC(Cl)=C(Br)C=C1Cl NYQDCVLCJXRDSK-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 230000002902 bimodal effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/047—Probabilistic or stochastic 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/771—Feature selection, e.g. selecting representative features from a multi-dimensional feature space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
生成对抗网络中单图像超分辨率的有效结构保持。本发明提出了一种训练生成对抗网络(GAN)中的发生器G的方法,包括为高分辨率图像Y生成一个真实的上下文数据集{x1,…,xN};为生成的高分辨率图像G(Z)生成一个生成的上下文数据集{g1,…,gN};使用真实的上下文数据集{x1,…,xN}和生成的上下文数据集{g1,…,gN}计算感知损失Lpcept值;以及使用感知损失Lpcept值训练发生器G。生成的高分辨率图像G(Z)是在接收到与目标高分辨率图像Y相对应的输入Z之后,随即由GAN的发生器G所生成的,其中输入Z是与高分辨率图像Y相对应的随机样本。
Description
相关申请的交叉引用文件
本专利申请要求2019年5月6日提交的第62/843,795号美国临时专利申请,以及2019年8月5日提交的第16/531,748号美国专利申请的优先权,其全部内容通过引用的方式纳入本文。
技术领域
本发明涉及生成对抗网络(GAN)技术,具体领域为GAN的训练方法。
背景技术
机器学习涉及到计算机在没有明确指令的情况下学习如何执行任务。计算机根据样本数据来构建(如推断出)用于执行任务的模型。当计算机接收到新数据时将使用该模型来执行任务。所述任务可以是分类任务、预测任务、推理任务等。
生成对抗网络(GAN)是可用于生成新数据的一类机器学习***。例如,GAN可用于生成新图像。例如,在超分辨率领域中,GAN可用于通过低分辨率图像来生成高分辨率图像。例如,在修复领域中,GAN可用于重建图像和/或视频中的丢失或受损部分。GAN还可以用在许多其他应用中,例如用于生成逼真的域特定图像(即生成看起来像是真实的图像)。
发明内容
一方面,本发明提出了一种对生成对抗网络(GAN)中的发生器G进行训练的方法。该方法包括为高分辨率图像Y生成一个真实的上下文数据集{x1,...,xN};为生成的高分辨率图像G(Z)生成一个生成的上下文数据集{g1,...,gN};使用真实的上下文数据集{x1,...,xN}和生成的上下文数据集{g1,...,gN}计算感知损失Lpcept值;以及使用感知损失Lpcept值训练发生器G。在接收到输入Z后随即由GAN的发生器G生成一幅生成的高分辨率图像G(Z),其中输入Z是与高分辨率图像Y相对应的随机样本。
第二方面,本发明提出了一种用于训练生成对抗网络(GAN)的发生器G的设备。该设备包括一个存储器和一台处理器。处理器被配置为执行存储在存储器中的指令,为高分辨率图像Y生成真实的上下文数据集{x1,...,xN};为生成的高分辨率图像G(Z)生成一个生成的上下文数据集{g1,...,gN};使用真实的上下文数据集{x1,...,xN}和生成的上下文数据集{g1,...,gN}计算感知损失Lpcept值;然后使用感知损失Lpcept值训练发生器G。生成的高分辨率图像G(Z)是在接收到与目标高分辨率图像Y相对应的输入Z之后,随即由GAN的发生器G所生成的,其中输入Z是与高分辨率图像Y相对应的随机样本。
第三方面,本发明提出了一种用于生成超分辨率图像的方法。该方法包括由发生器G接收一个对应于低分辨率图像的输入;从发生器G输出对应于该低分辨率图像的超分辨率图像。使用生成对抗网络(GAN)训练发生器G的步骤包括:为目标高分辨率图像Y生成一个真实的上下文数据集{x1,...,xN};为生成的高分辨率图像G(Z)生成一个生成的上下文数据集{g1,...,gN};使用真实的上下文数据集{x1,...,xN}和生成的上下文数据集{g1,...,gN}计算感知损失Lpcept值;使用感知损失Lpcept值训练发生器G。在接收到与目标高分辨率图像Y相对应的输入Z之后,随即由GAN的发生器G生成一个生成的高分辨率图像G(Z)。生成的高分辨率图像G(Z)是在接收到与目标高分辨率图像Y相对应的输入Z之后,随即由GAN的发生器G所生成的,其中输入Z是与高分辨率图像Y相对应的随机样本。
附图说明
在阅读以下详细描述时参考附图将有助于更好地理解本发明的内容。需要强调的是,根据惯例,图示中各个部分并不是按比例绘制的。相反,为表述清楚起见,已对各个不同部分的尺寸进行任意扩大或缩小。
图1是一个通用的生成对抗网络(GAN)的示例图。
图2是一个可以用于实现神经网络的计算设备的示例框图。
图3是一个GAN生成的数据所产生的一个问题的示例图。
图4是一个图像流形和图像流形的潜在空间的示例图。
图5是根据本发明实施例所绘制的包含一个编码器的GAN架构的示例图。
图6是根据本发明实施例所绘制的训练生成对抗网络(GAN)的方法的示例流程图。
图7是根据本发明实施例所绘制的用于超分辨率的GAN架构的示例图。
图8是根据本发明实施例所绘制的通过运用感知损失来训练生成对抗网络(GAN)的方法的示例流程图。
图9是根据本发明实施例所绘制的GAN的示例图。
具体实施方式
深度神经网络(DNN)已被应用于诸多领域,尤其用于解决诸如图像识别和图像生成之类的计算机视觉问题。特别是卷积神经网络(CNN)已经被广泛使用并且已在这些领域中取得了尖端科研成效。
深度CNN模型通过诸如滤波、跨步、池化和非线性整流等操作来提取图像特征。CNN层越深这些特征就越抽象。这些特征(称为潜在空间特征)被送到网络的最底层以执行计算机视觉任务,如对象检测、图像分类、图像分割、图像注释和图像生成等。人们已经提出了许多模型架构来改善诸如准确性等各方面性能。
.生成对抗网络(GAN)可用于学习数据分布,例如真实图像的数据分布。
GAN通常包括两个网络:发生器G和鉴别器D。基于学习可以生成新图像。更具体地说,GAN的发生器G学习了关于真实数据底层的真实数据分布,然后试着生成看起来像真实样本的样本。
GAN网络的一个问题在于所生成的数据(如生成的图像)可能包含不需要的伪像,例如失真或不自然的图像结构,例如图3所述情况。本发明所述的实施例和GAN架构可用于消除或至少减少这种伪像。因此,发生器G可以生成更逼真和无伪像的数据。
本发明所述的实施例和GAN架构在本发明所述的GAN架构的训练中采用了利普希茨连续条件(Lipschitz Continuity Condition)。利普希茨连续条件可用于在GAN架构中引入编码器E。编码器E可用于最小化所生成的样本G(Z)与目标样本Y之间的潜在空间差值,详见下文说明。G(Z)和Y的潜在空间分别表示为E(G(Z))和E(Y)。本文的公开内容主要应用于监督学习的情境。在监督学习中,对应于生成数据G(zi)的真实数据样本yi是已知的。也就是说,一对真实数据样本和生成数据样本之间的对应关系是已知的。换句话说,当生成新数据G(zi)时,已经知道G(zi)应该是什么样的,即G(zi)应该看起来像与之对应且已知的数据yi。在监督训练的情境下,输入样本Z通常是一个噪声样本,可能包含随机噪声和/或其他失真或损害。在无监督训练的情境下,输入样本Z通常是随机噪声。在本发明中,即使在监督训练的情境下,输入样本Z也可以是指噪声样本。但是,在监督学习的情境下,样本噪声Z应该理解为噪声样本Z。
GAN可用于超分辨率(SR)领域。例如,GAN可用于从一组低质量、低分辨率图像或从单个图像来生成高分辨率图像。对于给出的一幅低分辨率的模糊图像,GAN可以生成具有足够细节和清晰度的高分辨率清晰图像。
超分辨率的应用包括以下应用。在视觉通信中,发送方可能会通过网络向接收方发送相对模糊的小图像。接收方可以使用超分辨率来增强图像细节和分辨率。例如,如果接收方收到标清(SD)的图像,则接收方可以将图像恢复为高清(HD)。对于使用分辨率受限的数码相机所拍摄的图像,可以使用超分辨率将其放大。
在从单幅图像生成高分辨率图像的情况下,这个问题被称为单幅图像超分辨率(SISR)。SISR是一项计算机视觉任务,旨在基于单幅低分辨率(LR)图像来恢复高分辨率(HR)图像。一些常规的SISR方法可以采用基于空间预测的空间插值方法。深度神经网络(DNN)已应用于SISR,并取得了令人鼓舞的成果。尤其是GAN在解决SISR问题方面备受瞩目。
许多GAN架构和训练策略基于平均绝对误差(MAE)、均方误差(MSE)或等效的峰值信噪比(PSNR)等方法来优化目标函数。
然而,这种GAN架构和目标函数往往会导致过度平滑而缺乏足够的高频细节。这至少是因为诸如MAE、MSE和PSNR之类的度量方法与人类视觉***的主观感知之间的关联度不够高。因此人们已经开发了基于感知的度量。感知损失在特征空间中被定义,特征空间也可被称为潜在空间。与基于PSNR的方法相比,最小化感知损失可以显著提高SISR的视觉质量。
此类GAN网络和目标函数(例如:将感知损失最小化的目标函数)的问题在于:生成的图像(即生成的高分辨率图像)中的重要内部图像结构可能会失真或丢失,并且细节部分可能会模糊。
当GAN应用于SISR情境时,根据本发明的实施方案和GAN架构(即模型)可以使用新的损失函数,这些函数有助于保留(如维护、保持等)生成的高分辨率图像中的重要的内部图像结构。这样可以由GAN的发生器G生成更为逼真、清晰(即不模糊)和具有精细细节的图像。本文描述了一种更有利于保留可视(即感知)结构的度量。该度量被称为结构保持感知度量。结构保持感知度量可以与其他损失项(如度量、数据等)相结合,并用作发生器的最终损失函数。
本文所公开的内容主要适用于监督学习的情境。在监督学习中,与生成的数据G(zi)所对应的真实数据样本yi是已知的。也就是说,一对真实数据样本和生成数据样本之间的对应关系是已知的。换句话说,当生成新数据G(zi)时,已经知道G(zi)应该是什么样的,即G(zi)应该看起来像与之对应且已知的数据yi。
在本文通篇中,发生器可被称为G、发生器或发生器网络;鉴别器可被称为D、鉴别器或鉴别器网络;编码器可被称为E、编码器或编码器网络。
在本文中首先引用了训练所处的***、架构或环境来描述用于单图像超分辨率的生成对抗网络的有效结构保持。
图1是一个通用的生成对抗性网络(GAN)100的示例图。GAN 100包括发生器102和鉴别器104。GAN 100的目的是通过训练(即在训练完成之后)让发生器102可以生成逼真的数据(如生成的逼真的面部图像),使得鉴别器104无法辨别该数据是生成的。也就是说,鉴别器104认为(即被引导至误认为)所生成的数据是真实数据。
发生器102可以是反卷积网络,它接收随机噪声Z的向量,并对噪声Z进行上采样,以产生生成的数据(如生成的图像)G(Z)。发生器102可被视为将输入Z映射至输出G(Z)的函数。鉴别器104可以是卷积网络,它可以将传送过来的输入数据和输入106一起进行辨别是真实数据还是伪造数据(即生成的数据)。
例如,对于给定的输入X,鉴别器104输出一个标签D(X),表明输入X是真实的还是生成的数据。鉴别器104可以是二项分类器,可将输入X标记(如归类)为真实的数据或生成的数据。例如,如果鉴别器104认为输入X为生成的数据,则可将D(X)标识为0;否则可将D(X)标识为1。也可使用其他输出值来标识。又如,D(X)也可以是一个概率值。
如开关108所示,鉴别器104可以接收发生器102的输出G(Z)或真实数据样本Y作为其输入X。当鉴别器104接收G(Z)作为输入时(即当X=G(Z))时,鉴别器104的输出为值D(G(Z)),表明鉴别器104认为输入G(Z)是真实的还是生成的。当鉴别器104接收Y作为输入时(即当X=Y时),鉴别器104的输出为值D(Y),表明鉴别器104认为输入Y是真实的还是生成的。
可以认为发生器102网络和鉴别器104网络互相协作,并且同时也彼此相互对抗。通俗地说,可将发生器102看作是伪造者,而将鉴别器104看作是警察。伪造者的目的(在训练期间)是生成数据使得警察无法识别所生成的数据是伪造的。
发生器102受到训练以期将概率D(G(Z))最大化来欺骗鉴别器104,使得鉴别器104无法辨别G(Z)是生成的。鉴别器104则受到训练以期将概率D(G(Z))最小化并将概率D(Y)最大化,使其可以在真实数据样本Y中将生成的样本G(Z)辨别出来。如果将真实输入Y输入至鉴别器104,鉴别器104的目标是输出如概率D(X)=1;而如果输入数据是生成的(如G(X))),则输出D(X)=0。如上所述,D(X)可以是指输入X为真实数据的概率(即P(输入的类别=真实数据))。
最终结果是,当发生器102和鉴别器104交会时,鉴别器104无法再将所生成的样本G(Z)与真实数据样本Y区分开来。此时,可以认为发生器102已经了解了真实数据Y的分布。此处“交会”是指对发生器102和/或鉴别器104中的任何一个进行的额外训练确实达到了性能的改善(或充分改善)。
反向传播可用于改善发生器102网络和鉴别器104网络中的任何一个的性能。
如上所述,鉴别器104可以输出值D(x)用于表明输入X是真实数据样本的可能性。鉴别器104的目的是使得将真实数据样本(即Y)识别为真实的以及将所生成的样本(即G(Z))识别为伪造的(即生成)的可能性达到最大化。也就是说,鉴别器104的目标是最大化输入数据的相似度。可以使用交叉熵p log(q)来计算损失。对鉴别器104的权重θD进行优化可以通过下列等式(1)表示:
在等式(1)中,EPy表示相对于变量Y(即真实数据样本)的分布的期望值,EPz表示相对于变量Z(即G(Z)产生所在的随机噪声)的分布的期望值,θD和θG分别为鉴别器104(D)和发生器102(G)的当前网络权重参数。给定当前鉴别器网络参数为θD,当将输入Y(即真实数据样本)发送至鉴别器104时,鉴别器104的输出为给定当前鉴别器网络参数θD,当将输入(即为对于给定当前发生器网络参数θG,当将输入z发送至发生器102时,发生器102所生成的输出)发送至鉴别器104时,鉴别器104的输出为
对发生器102进行训练也可以通过反向传播算法。如上所述,发生器102的目标函数可以使得发生器102生成达到D(x)的最高可能值的数据(如图像)以欺骗鉴别器104。由此,发生器G的目标函数可根据等式(2)给出:
等式(1)和(2)可以组合成极大极小优化问题:
在一个示例中,等式(1)和(2)的目标函数可以联合学习,例如分别通过交替鉴别器104和发生器102的梯度递增和递减。例如,可以将发生器102的参数θG固定,使用真实数据样本(即Y)和生成数据样本(即)对鉴别器104执行递增一个梯度的单次循环。然后,将鉴别器104的参数θD固定,通过递减一个梯度的单次循环对发生器102进行训练。可以通过交替方式训练鉴别器104网络和发生器102网络,直到发生器102生成样本G(Z)让鉴别器104无法识别其为生成的样本。
图2是一个可以用于实现神经网络的计算设备200的示例框图。神经网络可以是卷积神经网络。例如,计算设备200可以用于实现图1中的发生器102和鉴别器104其中之一或两者同时实现。计算设备200可用于实施编码器E,详见下文所述。计算设备200可以是包括多个计算设备的计算***,或者是单个的计算设备,如移动电话、平板电脑,膝上电脑、笔记本电脑、台式电脑等。
计算设备200中的CPU 202可以是中央处理单元,或者CPU 202也可以是能够操控或处理现在或以后开发的信息的任何其他类型的设备或多个设备。尽管本文所公开的实施例可以采用如CPU 202这样的单个处理器来实现,如图中所示,但是也可以使用多个处理器来提高速度和效率。
计算设备200中的存储器204在具体实现中可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。也可采用任何其他合适类型的存储设备作为存储器204。存储器204可以包括可由CPU 202通过总线212访问的代码和数据206。存储器204还可以包括操作***208和应用程序210,其中应用程序210包括一个或多个让CPU202得以运行本文所述方法的程序。例如,应用程序210可以包括应用程序1到N,其中包括运行本文所述方法的视频编码程序。计算设备200还可以包括辅助存储器214,比如它可以是配合移动的计算设备200使用的存储卡。视频通信会话可以包含大量信息,因此它们可以全部或部分地存储在辅助存储器214中并且根据处理需要加载到存储器204中。
计算设备200还可以包括一个或多个输出设备,如显示器218。在一个示例中,显示器218可以是显示器与可操作触摸输入的触敏元件组合而成的触敏显示器。显示器218可以通过总线212耦合到CPU 202上。也可以使用其他允许用户编程或使用计算设备200的输出设备作为显示器218之外的附加或替代输出设备。如果输出设备是显示器或包含显示器,则该显示器可以以各种方式实现,包括液晶显示器(LCD)、阴极射线管(CRT)显示器或发光二极管(LED)显示器,如有机LED(OLED)显示器等。
计算设备200还可以包括图像传感设备220(如相机),或者包括现存或以后开发的可以感测图像(如一幅用户操作计算设备200的图像)的任何其他图像传感设备220,或者与上述图像传感设备220通信。可将图像传感设备220摆放至面对操作计算设备200的用户的位置。在一个示例中,可以配置图像传感设备220的位置和光轴,使得视场范围包括与显示器218直接相邻并且可见到显示器218的区域。
计算设备200还可以包括声音传感设备222(如麦克风),或者包括现存或以后开发的可以感测设备200附近的声音的任何其他声音传感设备222,或者与上述声音传感设备222通信。可将声音传感设备222摆放至面对操作计算设备200的用户的位置,并可以对其进行配置使其接收声音,比如用户操作计算设备200时由用户发出的声音,如语音或其他声音。
图2仅描绘了计算设备200的CPU 202和存储器204被集成到单个处理单元中的情况,除此之外也可以采用其他配置。CPU 202的操作可以分布在多个机器(每个机器包含一个或多个处理器)上,这些机器可以直接耦合或跨局域或其他网络耦合。存储器204可以分布在多个机器上,例如基于网络的存储器或运行计算设备200的操作的多个机器中的存储器。本文仅描述了单个总线的情况,除此之外计算设备200的总线212也可以由多个总线组成。此外,辅助存储器214可以直接耦合到计算设备200的其他组件,也可以通过网络访问,或者也可以包括诸如存储卡的单个集成单元或诸如多个存储卡的多个单元。因此,计算设备200可以以各种各样的配置实现。
如上所述,已有越来越多的应用将GAN模型用于图像处理任务,如超分辨率、图像到图像转换、图像或视频样式转换、修复以及其他应用。但是,GAN模型存在一些固有的问题,比如模式崩溃和失真等问题。模式崩溃是指当多个不同的输入本来预期/意图应得到多个不同的输出,但却发生了多个输入映射到一个输出的情况。例如,对于给定双峰分布的数据,其中2个高斯集中在两个点,GAN可能仅仅学习了其中一的个模式。因此,无论发生器接收到什么输入,输出都将只映射至所学习到的那个高斯分布。
例如,在单图像超分辨率的计算机视觉任务中,当采用发生器(如图1中的发生器102)来生成模仿自然图像的图像时,即使对发生器网络进行了监督训练,生成的图像还是可能看起来不真实、失真和/或缺少细节。图3是由GAN生成的数据所产生的问题300的一个示例。
图像306是一幅呈现高分辨率斑马图像的基准图像。图像306包含一个图块307用于显示清晰的结构。图块307在被缩放的图块308中示出。缩放的图块308显示出条纹309是自然、清晰和未失真的。相比之下,图像302是基于图像306的由GAN生成的超高分辨率图像。图像302的图块303对应于图像306的图块307。图块303在被缩放的图块304中示出。可以看出,对应于条纹309的条纹305包含失真的内部结构。在被缩放的图块304中显示出斑马条纹结构是紊乱的。
因此,由GAN发生器生成的数据(如图像)最好不要包含伪像,如失真和/或非自然的结构。生成具有较少伪像的图像可以改善GAN的学习性能。也就是说,生成的数据越真实,GAN就能越快达到等式(1)和(2)的最优解。
可以将自然图像看作是存在于一个嵌入高维空间(也称为环境空间)的流形中。图4是一个图像流形和图像流形的潜在空间的示例图。图示中显示流形402。通常流形402的维度比环境空间的维度要低。为便于观察,将环境空间404描绘为三维空间。一般来说,环境空间404可以被认为是m维的。为便于观察,将流形402描绘为映射到二维潜在空间,即潜在空间406。但一般来说,流形402可以被认为是n维的,其中n≤m。
如箭头408所示,流形402可以经由编码映射E(即编码器E)映射到较低维的空间(即潜在空间406)。较低维度的空间可以被称为潜在空间。如箭头404所示,从潜在空间406到环境空间404的反向映射是发生器函数G。也就是说,发生器如图1中的发生器102可以在环境空间404中生成数据样本。这两个空间(即环境空间404和潜在空间406)在数学上是同胚的。因此,编码器E和发生器G是同胚。也就是说,图像流形402在发生器和编码器空间中是同胚的。在这种同胚现象下,至少在理论上,这两个空间是相等的。使用相应的发生器函数或编码函数可以将一个空间映射到另一个空间。
不同类别的自然图像存在于流形的不同邻域中。生成的(即通过发生器生成,如图1中发生器102)每个数据样本(如每幅图像)最好是位于目标邻域附近。也就是说,例如,图1中生成的数据样本G(Z)最好可以尽可能地接近图1中的目标Y。
为实现此目的,根据本发明的实施方案可使用采用潜在空间正则化的新GAN架构。编码器E可以与GAN(如图1的GAN 100)相结合。根据本发明的方法,可采用新的损失函数来训练GAN模型。
上文已经解释了潜在空间的正则化。如图4相关所述,如N×M大小的一组自然图像在一个流形(如流形402)中,并存在于N*M维空间(如环境空间404)中。如果该组图像都通过少量连续的变量进行有效地参数化,那么该组图像将在此高维空间中处于低维流形之中或在其附近。
通常我们知道,在将神经网络用于完成任务(如分类、回归、图像重建等)之前,神经网络会经过训练从多个层(卷积层、循环层、池化层等)中提取特征。神经网络成为(如学习)在潜在空间上投影(如映射)图像的功能。换句话说,潜在空间就是特征所在的空间。潜在空间包含了图像的压缩形式。然后该压缩图像用于尽可能准确地重建输入。如需出色地完成任务,神经网络必须学会提取最贴切的特征(如最贴切的潜在空间)。
给定潜在空间中的任何两个样本z1和z2(即z1和z2作为发生器的输入,如图1中的发生器102),在环境空间中生成的样本为G(z1)和G(z2)(即G(z1)和G(z2)分别为发生器的相应输出)。不等式(3)可以用于发生器函数。
|G(z1)-G(z2)|≤k*|z1-z2| (3)
不等式(3)表示函数G(即发生器G的输出)的绝对变化(即|G(z1)-G(z2)|))不超过绝对潜在空间差值(即|z1-z2|))的倍数(该常数倍数以k表示)。该常数k被称为利普希茨(Lipschitz)常数。也就是说,利普希茨连续性条件被应用于发生器,使得函数的变化(即发生器的输出)不超过发生器的输入的变化。通过应用利普希茨连续性条件可以很好地控制图像的变化;或者说,可以很好地控制函数G的变化。
在监督学习的情境下(即当发生器的输入Z所对应的期望目标Y是已知的)时,预期(如期望)G(z)在目标Y附近。可以要求发生器G(Z)和目标Y之间的差值不超过潜在空间的差值。
直接用发生器输入的差值(即|z1-z2|))作为输出的差值(即|G(z1)-G(z2)|))的上限并不可行,因为输入(如z1和z2)通常是随机噪声或被随机噪声或其他的形式干扰或破坏。
可以明确地添加一个附加编码映射E(即编码器E)。编码映射E可以将环境空间映射到新的潜在空间。利普希茨连续性条件可以同时应用在发生器G和编码器E上,详见下述。利普希茨条件由不等式(4)表示。
|Y-G(Z)|≤k*|E(Y)-E(G(Z))| (4)
在不等式(4)中,Y是真实数据样本,G(Z)是对应于Y的发生器的输出。也就是说,给定输入Z,期望发生器输出的G(Z)尽可能接近Y。E(Y)和E(G(Z))是由编码器E从环境空间映射过来的潜在空间点。不等式(4)可以解释为:给定目标样本Y,那么最好Y和生成的数据G(Z)之间的差值不超过潜在空间变量。应注意的是,本文中使用的绝对差值(例如|Y-G(Z)|),|E(Y)-E(G(Z))|等)指的是L1范数(L1-norms),除非另有说明。但本发明并不限于采用该范数,也可以使用另一种范数或其他误差测量。例如,误差可以是均方误差。
重申一下,基于不等式(4),如果E(Y)和E(G(Z))本身足够接近,则G(Z)可以更趋近于Y。使用不等式(4)而不是不等式(3)的原因在于,由于已知Z通常是有噪声的,因此Z可能包含失真和/或其他伪像。直接采用噪声输入差异作为发生器函数G的差异上限这一方法并不理想。
编码器E将处于环境空间的高维度中的原始(如目标)样本(如图像)Y和/或生成的数据(如图像)G(Z)映射至另一个低维空间,即潜在空间。对于Y的此项映射表示为E(Y);对于G(Z)的映射表示为E(G(z))。
如图1相关所述,典型的GAN架构仅包括发生器和鉴别器。因此,典型的GAN架构并不包括上述的编码器E。
图5是根据本发明实施例所绘制的包含一个编码器的GAN架构500的示例图。GAN架构500包括发生器502、鉴别器504和编码器506。发生器502可以跟图1中所述的发生器102一样,只是发生器502的目标函数与发生器102的目标函数不同,如下所示。鉴别器504可以跟图1中所述的鉴别器104一样。编码器506可以是神经网络,如卷积神经网络。例如,编码器506可以改编一个典型VGG模型(如VGG16)的前几层,和/或后面再加上几个放大层,使得编码器506的输出与噪声样本Z(即发生器502的输入)的大小相匹配。VGG和VGG16以牛津大学(Oxford University)的视觉几何组(Visual Geometry Group)命名,并在KarenSimonyan,Andrew Zisserman(2015)所著的VERY DEEP CONVOLUTIONAL NETWORKS FORLARGE-SCALE IMAGE RECOGNITION.ICLR 2015.中描述。取自https://arxiv.org/pdf/1409.1556.pdf%20http://arxiv.org/abs/1409.1556.pdf,其全部内容并入本文。编码器506可以由计算设备(即装置)实现或由其运行,如图2中的计算设备200。
如图1相关所述,发生器502可以接收输入Z作为输入并输出生成的样本G(Z)。输入Z可以是从分布(例如均匀分布)p(z)中采样的随机值。输入Z可以包括多个成分。也就是说,输入Z可以是随机值的多维(如J维)向量。通过训练,发生器学习从随机噪声Z到环境空间G(Z)的映射。因此,G(Z)是随机输入Z的环境空间表示。
鉴别器504可通过路径508接收所生成的样本G(Z),或通过路径516接收对应于G(Z)的目标Y。如果鉴别器504接收到G(Z),则鉴别器504输出值D(G(Z)),用于表明鉴别器504认为G(Z)是真实的还是生成的。如果鉴别器504接收到Y,则鉴别器504输出值D(Y),用于表明鉴别器504认为输入Y是真实的还是生成的。
编码器506还可通过路径514接收目标Y作为输入,并通过路径510接收所生成的样本G(Z)。如果编码器506接收到G(Z),则编码器506输出值E(G(Z))。如果编码器506接收到Y,则编码器506输出值E(Y)。
可以认为编码器506是将原始图像的显著(如重要)特征和对应的生成图像的显著特征编码到通常是特征的较小的空间中,并且在应用不等式(4)的同时最小化这两个编码之间的差值,其中不等式(4)也包含在下列详述的算式中,并且在包含有编码器506的GAN模型的优化过程中如虚线518所示。
因此,等式(2)的发生器502优化问题可以转换(即改写)成等式(5),也就是说,等式(2)的优化问题必须在编码映射关系(即编码器506)上满足关于的利普舒茨连续性条件。
从数学的角度看,等式(5)可以改写为等式(6)(因为等式(5)的解必须是等式(6)的解),其中利普舒茨约束作为一项被添加至(即并入)发生器的目标函数(即等式(2))中:
通过引入超参数μ1和μ2,可以将等式(6)转换为等式(7),其中μ1>0且μ2>0。超参数μ1可以与等式(6)的参数μ相同;并且超参数μ2可以等于μ*k。超参数μ1和μ2可以通过启发法来设定和/或可以凭经验导出。
如上所述,发生器502将编码器506的输出E(G(Z))和E(Y)用于发生器502的损失函数中,如等式(7)所示,见图中虚线518。如上所述,编码器506受到训练以最小化E(G(Z))和E(Y)之间的绝对差。
GAN 500模型可以通过以下等式(8)-(10)来表示。在训练期间,交替地训练鉴别器504、发生器502和编码器506。可以训练鉴别器504以最大化等式(8)中的函数,如在图1中的GAN 100那样。训练发生器502和编码器506以分别使等式(9)和(10)中的损失函数最小化。注意,等式(8)与等式(1)相同,而等式(9)与等式(7)相同。如等式(10)所示,编码器506优化E(Y)(即真实样本的潜在空间表示)与E(G(Z))之间的差异(即通过发生器502所生成的样本的潜在空间表示)。
使用编码器506的权重集θE,当G(Z)被传送至(即输入至)编码器506中时,编码器506将输出E(G(Z))。使用相同的权重集θE,当Y被传送至(即输入至)编码器506中时,编码器506将输出E(Y)。也就是说,用于生成E(G(Z))和E(Y)使用的是相同的权重集。在一些实施方案中,在使用并行处理器的情况下,可以将G(Z)和Y输入到编码器506中以得到输出E(G(Z))和E(Y)。同样,G(Z)是对应于样本Y的生成样本。也就是说,预期G(Z)应该很像Y。
将G(Z)和Y两者传送至编码器506可以构成一次循环。编码器506的权重不会在一次循环内更新。在一次或多次完整循环之后才会更新权重。
虽然本文采用特定的发生器目标函数(如等式(2))和特定的鉴别器目标函数(如等式(1))作为等式(4)和(5)的约束项,但本发明的内容并不限于此。如果等式(1)和(2)中使用其他形式的鉴别器函数和发生器对抗函数,则等式(4)或(5)中的约束项也可以采用其他形式。例如,等式(4)可以与Wasserstein距离、相对鉴别器(Relativisticdiscriminator)或一些其他目标函数一起使用,它们用于代替等式(1)和(2)。Wasserstein距离的详细描述见Arjovsky,M.,Chintala,S.&Bottou,L.(2017).WassersteinGenerative Adversarial Networks.Proceedings of the 34th InternationalConference on Machine Learning,in PMLR 70:214-223。相对鉴别器的详细描述见Jolicoeur-Martineau,A.:The relativistic discriminator:a key element missingfrom standard gan.arXiv preprint arXiv:1807.00734(2018)。由此可见,如使用不同的目标函数则等式(8)-(10)也需做相应调整。
表I的伪代码示出了一个包含编码器的GAN(如图5中的GAN 500)的训练算法的示例。
表I说明了可以使用N次循环来训练GAN模型。鉴别器网络(即图5的鉴别器504)、发生器网络(即图5的发生器502)和编码器网络(即图5的编码器506)中的每一个按此顺序在一次循环中被训练。也就是说,一次循环涉及三个网络的训练:鉴别器、发生器和编码器。作为初始化步骤(即表I中的第0行),分别将鉴别器、编码器和发生器网络的权重θD,θE和θG初始化为随机值。
含有L个步骤的第一次循环(由表I中的第2-5行组成)描述了对鉴别器网络的训练。在一些实现中,L为1。在另一些实现中,L可以大于1。这样,根据L的不同取值,鉴别器网络可以被优化1次或多次。
在每次循环中,在表I的第3行,可在噪声数据生成分布pg(z)中选择一小批m个噪声样本{z1,...,zm}。根据本文所述的监督学习,对应于每个输入样本有其对应的m个目标样本。也就是说,对于输入zi,有一个对应的预期输出yi。接下来,在表I的第4行,通过梯度递增来更新鉴别器权重θD(因为如等式(8)所示,更新鉴别器权重就是最大化优化问题)。本文对梯度递增(和递减)的细节不作赘述,因为该细节对于本领域的技术人员而言都已熟知,并且对于理解本发明也不是必需的。通常我们知道,随机梯度的递增(或递减)(如本文的表I和其他地方所述)意味着递增(或递减)梯度的至少一部分。通常,梯度的一部分用于递增(或递减)。
在训练鉴别器的L个步骤之后,表I的算法开始更新发生器和编码器网络。在表I的第6行,使用有噪声的数据生成分布pg(z)采样的另一小批(即一个集合)噪声样本{z1,...,zm}和相应的预期目标{y1,...,ym}被选择出来。同样,根据本文所述的监督学习,每个zi对应于一个yi。
在表I的第7行,使用等式(9)右侧算式来更新发生器参数θG。也就是说,可以通过降低等式(9)的右侧算式的随机梯度来获得更新的参数。与此同时或在此之后,在表I的第8行,通过递减其梯度来更新编码器参数θE,该梯度是基于等式(10)的右侧算式计算出来的。
上述过程完成了更新鉴别器、发生器和编码器网络的相应参数的一次循环。该过程可以重复N次,其中N可以是足够大的数目,以便GAN网络实现交会。N也可以凭经验设定。在一个示例中,可以不用执行N次算法,而是在算法中包括一个终止条件,该终止条件在确定GAN网络的性能不会再有充分改善时将终止算法。在一个示例中,可以在编码器和发生器之后再训练鉴别器。也就是说,在表I中的第2-5行可以在第6-9行之后。
图6是根据本发明实施例所绘制的训练生成对抗网络(GAN)的方法600的示例流程图。GAN可以是图1中的GAN 500。这样,发生器G可以是图5中的发生器502,并且GAN可以包括鉴别器D(如图5中的鉴别器504)和编码器E(如图5中的编码器506)。方法600可以由计算设备(即装置)实现,如图2中的计算设备200。在完成方法600后,可以存储发生器G的参数。参数可以存储在存储器中,如存储在图2中的存储器204中。发生器G的参数可以包括发生器G的网络权重。参数还可以包括发生器网络架构,如层数、每层的配置等等。
方法600可以由一个或多个处理器(如图2中的CPU 202)部分或完全地执行。方法600可以作为可执行指令存储在一个或多个存储器中,如图2中的存储器204或辅助存储器214。一个或多个处理器可以被配置为执行存储在一个或多个存储器中的指令。
在一个示例中,可以在一个或多个计算设备(例如图1的计算设备200)上使用(如在其上运行)发生器G、编码器E和鉴别器D。在一个示例中,发生器G、编码器E和鉴别器D中的每一个都可以在单独的计算设备上实现,但这种实现也并非必须如此。
在602处,编码器E可以接收目标数据Y。目标数据Y可以是真实的数据样本。例如,目标数据Y可以是真实图像。如上所述,编码器E可以生成Y的第一潜在空间表示E(Y)。
在604处,编码器E可以接收G的输出G(Z)。如上所述,G(Z)是由发生器G通过给定的具有数据生成分布pg(z)的噪声样本Z而生成的合成数据。如上所述,目标数据Y对应于输出G(Z)。如上所述,编码器E可以生成G(Z)的第二潜在空间表示E(G(Z))。同样如上所述,鉴别器D受到训练以区分G(Z)和目标数据Y中的哪一个是生成数据和/或真实数据。
在606处,方法600训练编码器E以最小化输出G(Z)的第一潜在空间表示(即第一潜在空间特征)E(G(Z))与目标数据Y的第二潜在空间表示(即第二潜在空间特征)E(Y)的差异,其中输出G(Z)和目标数据Y被输入到编码器E。
在608处,方法600使用第一潜在空间表示E(G(Z))和第二潜在空间表示E(Y)来约束发生器G的训练,如上所述。
当训练完成时,鉴别器D已无法再区分真实数据样本(真实图像)和生成的(如合成的、生成的)样本。如果鉴别器仍然能够区分真假,则意味着训练没有被优化并且训练不能算作已经完成。如前所述,GAN模型的原理是发生器试图迷惑鉴别器,而鉴别者则试图不要被迷惑。因此,该过程是“对抗性的”。然而,最终当发生器G的数据生成做得足够好时,鉴别器D将不再能够分辨第一输入数据(如第一图像)和第二输入数据(如第二图像)中,哪个是真实,哪个是伪造的。
在一个示例中,编码器E可以是或可以包括VGG网络。在一个示例中,VGG网络可以被适配或者可以包括一个或多个放大层。一个或多个放大层的目的是使得编码器E的输出可以具有与噪声样本Z相同的维度。通常编码器E可以是或可以包括其他神经网络类型,如卷积神经网络。在其他示例中,编码器E可以是或可以实现其他机器学习模型或技术。
如上所述,例如在等式(5)-(7)和(9)中,可以通过应用利普希茨条件来训练发生器G,以使输出G(Z)和目标数据Y之间的第一差值不超过第一潜在空间表示E(G(Z))和第二潜在空间表示E(Y)之间的第二差值。
还应注意的是,通常在训练GAN网络时,训练用的发生器就是随后用于生成数据和/或执行推断或执行任何其他任务的那个发生器。而通常编码器和鉴别器则不用于训练发生器之外的其他用途。
如上所述,本文描述的技术可以用于监督训练。监督训练可以用于如图像超分辨率和图像修复等应用中。
例如,在图像超分辨率的应用中,在训练期间,发生器的输入样本Z可以是或可以被认为是低分辨率图像,而输出G(Z)可以是或可以被认为是相应的高分辨率图像。这样,输入样本Z可以与低分辨率图像具有相同的大小。在另一示例中,输入样本Z可以对应于从低分辨率图像中提取的特征的特征向量。
本文所述的实施方案还包括一种用于生成超分辨率图像的方法。该方法可以包括由发生器G接收对应于低分辨率图像的输入,并从发生器G输出对应于低分辨率图像的超分辨率图像。在一个示例中,输入可以是低分辨率图像本身。在另一示例中,输入可以是从低分辨率图像中提取的特征的向量。
可以使用上述生成对抗网络(GAN)来训练发生器。由此,GAN可以包括发生器G、编码器E和鉴别器D。如上所述,编码器E的输出可以用于约束发生器G的训练。编码器的输出可以包括发生器G的输出G(Z)的第一潜在空间表示E(G(Z)),其中Z对应于训练用低分辨率图像,而G(Z)对应于生成的高分辨率图像,以及训练用高分辨率图像Y的第二潜在空间表示E(Y)。可以训练编码器以最小化第一潜在空间表示E(G(Z))和第二潜在空间表示E(Y)之间的差值。如上所述,对于m个样本可以通过递减一个梯度来训练编码器。可以通过应用利普舒茨条件来训练发生器G,以使所生成的高分辨率图像和训练用高分辨率图像Y之间的第一差值不超过第一潜在空间表示E(G(Z))和第二潜在空间表示E(Y)之间的第二差值。如前所述,在一个实现中,编码器E可以是或可以包括VGG网络。但也可以是其他神经网络如卷积神经网络或其他机器学习模型。
在SISR应用中,针对每一个输入至发生器G的Z(即低分辨率图像),都存在一个对应于G(Z)(即生成的高分辨率图像)的预期目标Y(即真实的高分辨率图像),并且预期G(Z)与Y非常接近。可将生成的高分辨率图像G(Z)与目标高分辨率图像Y之间的差异最小化作为发生器损失函数中的一个约束项(即可以将该约束项添加至等式(2)中)。通过将约束项添加至方程式(2)可得到等式(11)。
在等式(11)中,λ是一个常数,θG是发生器网络的当前权重集;是在输入低分辨率图像z和给定当前发生器网络权重θG的情况下由发生器生成的高分辨率图像;θD是鉴别器网络的当前权重集;EPz代表对噪声输入样本Z的分布的预期。是根据等式(11)的优化问题所得到的新的发生器网络权重集。
但是如上所述,优化等式(11)中的损失函数可能会生成缺乏细节和清晰度的糊状(如模糊)图像。我们希望能采取适当的措施让发生器(如图1的发生器102或图5中的发生器502)所生成的图像具有人类视觉感知的质量。如前所述,现有的感知损失度量可能主要基于某些预训练的CNN特征空间中的值的差异。虽然这有助于提高所生成图像的感知质量,但重要的内部图像结构仍可能失真或被丢失。
在一个示例中,预训练的CNN可以是许多CNN模型之一。预训练的CNN可以是VGG19。VGG19是一个19层VGG网络,已对ImageNet数据库中的图像进行了预训练。当将图像输入至VGG19时,它将输出该输入图像的特征图。如上所述,VGG以牛津大学(Oxford University)视觉几何小组(Visual Geometry Group)的名字命名。
可将G(Z)(即生成的高分辨率图像)和Y(即高分辨率的目标图像)发送至经过预训练的VGG19网络。从CNN的某一层或多个层输出的特征在本文中被称为上下文数据,用以计算感知损失,详见下述。
当将G(Z)输入至CNN时,生成的上下文数据是CNN的特征集{g1,...,gN}。当将Y输入至CNN时,真实的上下文数据是CNN的特征集{x1,...,xN}。对于i=1,...,N时的每个特征gi和xi是特征图中的一个点。
上下文数据可以包括从CNN(如VGG19网络)的一层或多层输出的特征图。例如,上下文数据可以包括CNN(如VGG19)网络的第k个卷积层的输出。在一个示例中,第k个可以是第三,第四或某个其他层号或其组合。在一个示例中,从第k个卷积层输出的特征图可以被后面的池化层进行处理,然后再被用作上下文数据。在一个示例中,从第k个卷积层输出的特征图被后面的非线性激活层进行处理,然后再被用作上下文数据。这样,上下文数据可以包括由CNN中的一个或多个卷积层、零或多个池化层、零或多个非线性激活层、零或多个的其他层类型或上述层的组合输出的特征图。
重申一下,与生成的高分辨率图像G(Z)相对应的上下文数据{g1,...,gN}在本文中被称为生成的上下文数据;而与真实(如目标)的高分辨率图像Y相对应的上下文数据{x1,...,xN}在本文中被称为真实的上下文数据。
如下文的进一步所述,使用生成的上下文数据{g1,...,gN}和真实上下文数据{x1,...,xN}来计算的感知损失可以用于训练发生器GAN。真实的高分辨率图像Y和生成的高分辨率图像G(Z)之间的感知损失用Lpcept(G(Z),Y)表示。可修改等式(11)将感知损失并入计算,如等式(12)所示。
图7是根据本发明实施例所绘制的的用于超分辨率的GAN架构700的示例图。GAN架构700包含发生器702、鉴别器704、CNN 706和感知损失计算器707。发生器702可以如图1的发生器102所描述的那样,但发生器702的目标函数与发生器102的目标函数不同。鉴别器704可以如图1的鉴别器104所描述的那样。CNN 706可以是神经网络,如卷积神经网络。在一个示例中,CNN 706可以是如上所述的经过预训练的VGG19网络。可以通过诸如图2的计算设备200这样的计算设备来实现或运行CNN 706。感知损失计算器707用于计算感知损失Lpcept,详见下述。
如上文中关于图1的发生器102的相关描述,发生器702可以接收输入Z作为输入并输出所生成的样本G(Z)。输入Z可以是从分布p(z)中采样的噪声样本。例如,输入Z通常是低分辨率图像,可能会受到随机噪声的干扰或其他方面的损害。发生器通过训练学习如何根据低分辨率图像Z来生成(即输出)高分辨率图像G(Z),使其接近于预期的高分辨率图像Y。
鉴别器704可通过路径708接收所生成的样本G(Z)(即生成的高分辨率图像),或通过路径716接收对应于G(Z)的目标Y(即真实的高分辨率图像)。如果鉴别器704接收到G(Z),则鉴别器704输出值D(G(Z)),用于表明鉴别器704认为G(Z)是真实的还是生成的。如果鉴别器704接收到Y,则鉴别器704输出值D(Y),用于表明鉴别器704认为输入Y是真实的还是生成的。
CNN 706还可通过路径714接收目标Y作为输入,并通过路径710接收所生成的样本G(Z)。如果CNN 706接收到G(Z),则CNN 706输出一组生成的上下文数据集{g1,...,gN}。如果CNN 706接收到Y,则CNN 706输出一组真实的上下文数据集{x1,...,xN}。
如上所述,感知损失计算器707使用所生成的上下文数据{g1,...,gN}和真实的上下文数据{x1,...,xN}来计算感知损失。如虚线718所示,计算得出的感知损失可用于优化发生器702。如上文中方程式(12)相关所述,通过将感知损失并入到发生器702的目标函数中来优化发生器702。
感知损失计算器707可以使用几种方法来计算感知损失。
在一个示例中,可以首先计算结构相似度。可基于特征图(即上下文数据)来计算结构相似度。结构相似度可以是基于生成的特征图和真实的特征图之间的余弦相似度。我们知道,余弦相似度是内积空间中两个非零向量之间的相似度的量度,通过测量两个非零向量之间的角度的余弦而得出。可以为i=1,...,N时所对应的生成的上下文数据gi和当j=1,...,N时所对应的真实的上下文数据xj的每一对组合计算结构相似度。生成的上下文数据gi与真实的上下文数据xj之间的结构相似度cij可以按照公式(13)进行计算:
在等式(13)中,是生成的上下文数据{g1,...,gN}的平均值,而是真实的上下文数据{x1,...,xN}的平均值。分了是和的向量积。结构相似度值cij是两个向量(即方程式(13)的分子)的内积,然后通过范数(即等式(14)的分母)进行归一化。
cij取值范围是-1至1。值为0表示两个向量彼此垂直。值为1表示两个向量彼此平行,从而两个向量最为相似。值为-1则表示两个向量完全相反。
参考点r可以是生成的上下文数据中的一个(即r可以是{g1,...,gN}的gi中的任何一个),可以是真实的上下文数据中的一个(即r可以是{x1,...,xN}的xi中的任何一个),也可以是一个或多个gi和一个或多个xj的组合,或其他参考点。
然后,对于每个计算出的结构相似度值,可以计算出所生成的上下文数据gi与真实上下文数据xj之间的结构距离dij,如等式(15)所示。
dij=(1-cij)/2 (15)
结构相似度cij是gi与xj之间相似度的度量,而结构距离dij是gi与xj之间的差异性的度量。因此可以使用计算出的结构距离来计算生成的高分辨率图像G(Z)与真实的高分辨率图像Y之间的感知损失。在一个示例中,可以根据等式(16)来计算感知损失。在另一个示例中,也可以根据等式(17)来计算感知损失。
在等式(16)中,对于每一个j(即对于每一个{g1,...,gN}),其对应的gj和所有{x1,...,xN}之间的结构距离中的最大值被计算出来并相加。同样的,对于每一个j(即对于每一个{x1,...,xN}),其对应的xj和所有{g1,...,gN}之间的结构距离中的最大值被计算出来并相加。注意,maxi dij对应于一个最大结构距离。如果cij=0(即垂直向量)则得出dij=1/2;如果cij=1(即最大相似度)则得出dij=0;如果cij=-1(即最大差异度)则得出dij=1。因此,两个特征图之间的结构相似度越大(越小),它们之间的结构距离就越小(越大)。
在另一个示例中,结构距离dij可以归一化为相应的nij,如等式(18)所示。然后使用等式(19)或(20)根据归一化的结构距离来计算感知损失。
在一个示例中,等式(18)中的ε可以是1e-6,且变量b为带宽参数,被用作平滑参数并且可以凭经验确定。等式(18)可用于将结构距离值归一化,以使它们的总和为1。更具体地说,所有j对应的nij值之和等于1。即,∑jnij=1。也可以将nij值归一化,使它们可以类似于概率值。也就是说,nij的取值范围是[0,1]。
尽管等式(1)和(2)中的损失函数对感知损失进行了描述,但是本文的公开内容并不限于此。本文所述的感知损失可以并入(如与之结合使用)其他形式的鉴别器函数和发生器对抗函数。
表II示出了根据本文所述的使用感知损失的GAN(如图7的GAN 700)的训练算法的示例伪代码。
表II说明了可以通过N次循环来训练GAN模型。一次循环训练中分别对鉴别器网络(即图7中的鉴别器704)和发生器网络(即图7中的发生器702)进行训练。也就是说,一次循环涉及两个网络的训练:鉴别器训练和发生器训练。作为初始化步骤(即表II中的第0行),分别将鉴别器和发生器网络的权重θD和θG初始化为随机值。
含有L个步骤的第一次循环(由表II中的第2-5行组成)描述了鉴别器网络的训练。在一些实现中,L为1。在其他一些实现中,L可以大于1。这样,根据L的不同取值,鉴别器网络可以被优化一次或多次。
在每次循环中,在表II的第3行,可在噪声数据生成分布pg(z)中选择一小批m个噪声样本{z1,...,zm}。根据本文所述的监督学习,对应于每个输入样本有其对应的m个目标样本。也就是说,对于输入zi,有一个对应的预期输出yi(即目标高分辨率图像)。接下来,在表II的第4行,通过梯度递增来更新鉴别器权重θD(因为如等式(1)所示,更新鉴别器权重就是最大化优化问题)。本文对梯度递增(和递减)的细节不作赘述,因为该细节对于本领域的技术人员而言都已熟知,并且对于理解本发明也不是必需的。
在训练鉴别器的L个步骤之后,表II的算法开始更新发生器网络。在表II的第6行,使用有噪声的数据生成分布pg(z)采样的另一小批噪声样本{z1,...,zm}和相应的预期目标{y1,...,ym}被选择出来。同样,根据本文所述的监督学习,每个zi对应于一个yi。
在表II的第7行,使用等式(12)中的右侧算式来更新发生器参数θG。也就是说,可以通过递减等式(12)的右侧算式中的随机梯度来获得更新的参数。
上述过程完成了更新鉴别器和发生器网络的相应参数的一次循环。该过程可以重复N次,其中N可以是足够大的数目,以便GAN网络交会。N也可以凭经验设定。在一个示例中,可以不用执行N次算法,而是在算法中包括一个终止条件,该终止条件在确定GAN网络的性能不会再有充分改善时将终止算法。在一个示例中,可以在编码器和发生器之后再训练鉴别器。由此,表II中的第2-5行可以在第6-7行之后。
图8是根据本发明实施例所绘制的通过运用感知损失来训练生成对抗网络(GAN)的方法800的示例流程图。GAN可以是图7中的GAN 700。这样,发生器G可以是图7中的发生器702,并且GAN可以包括鉴别器D(如图7中的鉴别器704)、特征提取CNN(如图7中的CNN 706)、感知损失计算器(如图7中的感知损失计算器707)。方法800可以由计算设备(即装置)实现,如图2中的计算设备200。在完成方法800后,可以存储发生器G的参数。参数可以存储在存储器中,如存储在图2中的存储器204中。发生器G的参数可以包括发生器G的网络权重。参数还可以包括发生器网络架构,如层数、每层的配置等等。
方法800可以由一个或多个处理器(如图2中的CPU 202)部分或完全地执行。方法800可以作为可执行指令存储在一个或多个存储器中,如图2中的存储器204或辅助存储器214。一个或多个处理器可以被配置为执行存储在一个或多个存储器中的指令。
在一个示例中,可以在一个或多个计算设备(例如图1的计算设备200)上运用(如在其上运行)发生器G、编码器E、鉴别器D和特征提取CNN。在一个示例中,发生器G、编码器E、鉴别器D和特征提取CNN中的每一个都可以在单独的计算设备上实现,但这种实现也并非必须如此。
在802处,方法800为高分辨率图像Y生成一个真实的上下文数据集{x1,...,xN},如图7中CNN 706的相关所述。在804处,方法800为生成的高分辨率图像G(Z)生成一个生成的上下文数据集{g1,...,gN},如图7中CNN 706的相关所述。如图7的相关所述,G(Z)是由GAN的发生器(如发生器702)生成的一幅生成的高分辨率图像。发生器接收到低分辨率图像Z作为输入后随即生成G(Z)。
在806处,方法800使用真实的上下文数据集{x1,...,xN}和生成的上下文数据集{g1,...,gN}来计算感知损失Lpcept值。如上所述,在一个示例中,可以使用VGG19网络来生成真实的上下文数据集{x1,...,xN}和生成的上下文数据集{g1,...,gN}。在一个示例中,计算感知损失可以包括计算每个xi和gj之间的结构相似度,为结构相似度计算各自的结构距离,并使用结构相似度计算感知损失。在一个示例中,可以使用等式(13)来计算结构相似度。在另一个示例中,可以使用等式(14)来计算结构相似度。在一个示例中,可以使用等式(15)来计算结构距离。在一个示例中,可以使用等式(16)来计算感知损失。在一个示例中,可以使用等式(17)来计算感知损失。在一个示例中,如等式(18)相关所述,可以对结构距离进行归一化然后再将其用于计算感知损失。由此,可使用等式(19)或(20)来计算感知损失。
因此,计算每个xi和gj之间的结构相似度可以包括使用参考点来计算xi和gj之间的余弦相似度。在一个示例中,参考点可以包括所生成的上下文数据集{g1,...,gN}的第一平均值或真实的上下文数据集{x1,...,xN}的第二平均值二者至少其中之一。在一个示例中,参考点可以同时包括所生成的上下文数据集{g1,...,gN}的第一平均值或真实的上下文数据集{x1,...,xN}的第二平均值在一个示例中,参考点可以是所生成的上下文数据集{g1,...,gN}中的一个生成的上下文数据元素。在一个示例中,参考点可以是真实上下文数据集{x1,...,xN}中的一个真实上下文数据元素。在一个示例中,参考点可以是生成的上下文数据元素和真实的上下文数据元素的组合。
在一个示例中,为每个结构相似度计算各自的结构距离可包括使用公式dij=(1-cij)/2来计算xi和gj之间的结构相似度cij的结构距离dij。在一个示例中,使用结构距离来计算感知损失可以包括:为生成的上下文数据集{g1,...,gN}中的每个gi确定gi与每个真实上下文数据集{x1,...,xN}中的每个xj之间的结构距离dij中的相应最大结构距离,并使用各自的最大结构距离来计算感知损失。
在一个示例中,使用感知损失Lpcept值训练发生器G可以包括通过对m对样本递减一个梯度
本发明中的GAN可以将编码器(如图5相关所述的编码器)和感知损失计算(如图7相关所述)结合应用。图9是根据本发明实施例所绘制的GAN 900的示例图。GAN 900包含形式为5xx(其中“xx”代表任意两个数字)的数字元素,如图5相关所述,以及包含形式为7xx(其中“xx”代表任意两个数字)的数字元素,如图7相关所述。GAN 900包括发生器902。发生器902可以是图5中的发生器502或图7中的发生器702,但唯一的不同点在于发生器902使用了编码器506的输出和由感知损失计算器707计算出的感知损失来进行训练。由此,可以通过递减等式(9)和(12)相结合的随机梯度来更新发生器902。由此,发生器902的随机梯度可以是
因此,再回头来看图9,在一个示例中,方法900可以包括由编码器E接收高分辨率图像Y;并且由编码器E接收生成的高分辨率图像G(Z),从而训练GAN的鉴别器D以区分G(Z)和Y中的哪一个是生成的数据;训练编码器E以最小化分别对应于编码器E的输入G(Z)和Y的潜在空间表示E(G(Z))和E(Y)之间的差异;并使用潜在空间表示E(G(Z))和E(Y)来约束对发生器G的训练。
表III示出了如本文所述的使用感知损失的GAN(如图9的GAN 900)的训练算法的示例伪代码。
表III的伪代码与表I的伪代码的不同之处在于:表I的伪代码为发生器G使用了不同的损失函数,见表III的第7行与表I的第7行之比较。
在一个示例中,方法900可以进一步包括通过对m对样本递减一个梯度来更新编码器E,其中是在给定编码器E的第一当前权重值θE和第一输入yi的情况下编码器E的第一输出;且其中是在给定发生器G的第二当前权重值θG和第二输入zi的情况下发生器G的第二输出;且其中是在给定编码器E的第一当前权重值θE和作为输入的情况下编码器E的第三输出。
如上所述,本文所述的方法可用于从单个图像生成高分辨率图像。例如,在单图像超分辨率的应用中,在训练期间,发生器的输入样本Z可以是或可以被认为是低分辨率图像,而输出G(Z)可以是或可以被认为是相应的高分辨率图像。这样,输入样本Z可以与低分辨率图像具有相同的大小。在另一示例中,输入样本Z可以对应于从低分辨率图像中提取的特征的特征向量。
本文所述的实施方案还包括一种用于生成超分辨率图像的方法。该方法可以包括由发生器G接收对应于低分辨率图像的输入,并从发生器G输出对应于低分辨率图像的超分辨率图像。如上所述,训练发生器G的步骤包括:为目标高分辨率图像Y生成真实的上下文数据集{x1,...,xN};为生成的高分辨率图像G(Z)生成一个生成的上下文数据集{g1,...,gN},其中生成的高分辨率图像G(Z)是在接收到与目标高分辨率图像Y相对应的输入Z之后,随即由GAN的发生器G所生成的;使用真实的上下文数据集{x1,...,xN}和生成的上下文数据集{g1,...,gN}计算感知损失Lpcept值;使用感知损失Lpcept值训练发生器G。
在一个示例中,可以进一步对发生器G进行训练,包括以下步骤:由编码器E接收目标高分辨率图像Y;并且由编码器E接收生成的高分辨率图像G(Z),其中GAN的鉴别器D得到训练来区分G(Z)和Y中的哪一个是生成的数据;训练编码器E以最小化生成的高分辨率图像G(Z)的第一潜在空间表示E(G(Z))和目标高分辨率图像Y的第二潜在空间表示E(Y)之间的差异;并使用第一潜在空间表示E(G(Z))和第二潜在空间表示E(Y)来约束对发生器G的训练。
为了便于解释,本文将图6的方法600描绘并描述为一系列步骤。但本发明所述的步骤可以以各种顺序实现,可同时和/或迭代地运行。另外,本发明所述步骤也可以与本文未呈现和描述的其他步骤一起运行。此外,实现本发明所述的方法可能并不需要所有示出的步骤。
本文所述的实施方案可通过功能块组件和各种处理步骤来描述。本文的流程和序列可以单独或以任何组合形式来执行。功能块可以通过执行任意数量的可运行特定功能的硬件和/或软件组件来实现。例如,所述的内容可以采用各种集成电路组件,例如存储器元件、处理元件、逻辑元件、查找表等,在一个或多个微处理器或其他控制设备的控制下执行各种功能。类似地,实现所述内容各个功能时如需采用软件编程或软件元件,都可以采用诸如C、C++、Java、汇编程序等的任何编程或脚本语言来实现本发明,且可以采用任何数据结构、对像、进程、例程或其他编程元素的任意组合来执行各种算法。各项功能可以在一个或多个处理器上通过执行算法来实现。此外,本发明所述各功能可以采用任意数量的常规技术来进行电子配置、信号处理和/或控制、数据处理等。
以上发明的实施方式或部分实施方式可以采取计算机程序产品的形式,该程序产品可通过计算机使用或可由计算机可读介质进行访问等。计算机可用或计算机可读介质可以是任何设备,该设备可以具体包含、存储、传送或传输供任何处理器使用或与其结合使用的程序或数据结构。该介质可以是电子的、磁的、光学的、电磁的或半导体设备等等。也可包含其他适用的介质。上述计算机可用或计算机可读介质可以被称为非暂时性存储器或介质,并且可以包括RAM或其他易失性存储器或存储设备,它们可以随时间变化而发生改变。本文所述的设备存储器并非必须物理上配备于设备中,而是可以由设备远程访问,并且不必与设备中其他物理上配备的存储器相邻,特别说明除外。
本文采用“示例”一词来表示举例、实例或说明。本文所述用于“示例”的任何功能或设计不一定表示其优于或胜于其他功能或设计。相反,使用“示例”一词是为了以具体的方式呈现概念。本文中所使用的“或”字旨在表示包含性的“或”而不是排他性的“或”。也就是说,“X包括A或B”意在表示任何自然的包含性排列,除非另有说明,或者从上下文可明确判断则另当别论。换句话说,如果X包含A,X包含B,或X包含A和B,那么在任何前述实例下“X包含A或B”都成立。此外,在本申请以及所附权利要求书中,“一”、“一个”通常应该被解释为表示“一个或多个”,除非另有说明或从上下文中明确指出是单数形式。另外,本文通篇中的“一个功能”或“一项功能”这两个短语并不意味着同一个实施方式或同一项功能,除非另有特别说明。
本文示出和描述的具体实现是本发明的说明性示例,且无意于以任何方式限制本发明的范围。为简洁起见,可能对传统电子设备、控制***、软件开发和***的其他功能方面(以及***的各个操作组件中的组件)未作详细描述。此外,各个图例中所示的连接线或连接器旨在表示各种元件之间的示例性功能关系和/或物理或逻辑耦合关系。在实际设备中可以存在许多其他替代或附加的功能关系、物理连接或逻辑连接。
本文中“包含”或“具有”及其同义词旨在表示包括其后列出的项目及其等同物以及附加项目。本文中“安装”、“连接”、“支持”和“耦合”及其同义词被广泛使用并且包括直接和间接安装、连接、支持和耦合。此外,“连接”和“耦合”不限于物理或机械连接或耦合。
在本发明所述内容(特别是下文的权利要求书)中,“一”、“一个”和“该”以及类似的指示代词应理解为包含一个和多个的单数和复数形式。此外,本文中对数值范围的描述只是一种简便的描述方式,旨在表示包含在该范围之内的每一个单独数值,并且每个单独值并入规格范围中,等效于在本文中单独列举。最后,本文所述的所有方法的步骤可以以任何合适的顺序执行,除非本文另有说明或者与上下文明显矛盾。本文提供的示例或示例性语言(例如“诸如”)的使用旨在更好地说明本发明,并无意于限制本发明的范围,除非另有说明。
对于本文中实施方式的描述说明是为了便于理解本发明之用,而非限制本发明的内容。相反,本公开旨在覆盖权利要求范围之内所涵盖的各种变体和等同设置,该范围应被赋予最宽泛的解释以涵盖法律允许的所有上述变体和等同设置。
虽然已经结合某些实施例对本发明进行描述说明,但应理解为本发明并不限于所公开的实施方式,与之相反,本公开旨在覆盖权利要求范围之内所涵盖的各种变体和等同设置,该范围应被赋予最宽泛的解释以涵盖法律允许的所有上述变体和等同设置。
Claims (20)
1.一种训练生成对抗网络(GAN)的发生器G的方法,包括:
为高分辨率图像Y生成一个真实的上下文数据集{x1,...,xN};
为生成的高分辨率图像G(Z)生成一个生成的上下文数据集{g1,...,gN},其中生成的高分辨率图像G(Z)是在接收到输入Z之后,由GAN的发生器G所生成的,其中输入Z是对应于高分辨率图像Y的一个随机样本;
使用真实的上下文数据集{x1,...,xN}和生成的上下文数据集{g1,...,gN}计算感知损失Lpcept值;以及
使用感知损失Lpcept值训练发生器G。
2.根据权利要求1所述的方法,其中使用感知损失Lpcept值训练发生器G包括:
将感知损失Lpcept值并入发生器G的损失函数中。
4.根据权利要求1所述的方法,其中真实的上下文数据集{x1,...,xN}是使用神经网络生成的,其中生成的上下文数据集{g1,...,gN}是使用该神经网络生成的。
5.根据权利要求1所述的方法,其中计算感知损失Lpcept值包括:
计算每个xi和每个gj之间的结构相似度;
为结构相似度计算各自的结构距离;以及
使用结构距离计算感知损失Lpcept值。
6.根据权利要求5所述的方法,其中计算每个xi和每个gj之间的结构相似度包括:
使用参考点来计算xi和gj之间的余弦相似度。
8.根据权利要求6所述的方法,其中参考点是生成的上下文数据集{g1,...,gN}中的一个生成的上下文数据元素,真实的上下文数据集{x1,...,xN}中的一个真实的上下文数据元素两者其中之一,或生成的上下文数据元素和真实的上下文数据元素的组合。
9.根据权利要求5所述的方法,其中为结构相似度计算各自的结构距离包括:
使用公式dij=(1-cij)/2来计算xi和gj之间的结构相似度cij的结构距离dij。
10.根据权利要求5所述的方法,其中使用结构距离计算感知损失Lpcept值包括:
为生成的上下文数据集{g1,…,gN}中的每个gi确定gi与每个真实的上下文数据集{x1,…,xN}中的每个xj之间的结构距离dij中的相应最大结构距离;以及
使用各自的最大结构距离来计算感知损失Lpcept值。
11.根据权利要求1所述的方法,还包括:
由编码器E接收高分辨率图像Y;
由编码器E接收生成的高分辨率图像G(Z),其中GAN的鉴别器D得到训练以区分G(Z)和Y中的哪一个是生成的数据;
训练编码器E以最小化生成的高分辨率图像G(Z)的第一潜在空间表示E(G(Z))和目标高分辨率图像Y的第二潜在空间表示E(Y)之间的差异;以及
使用第一潜在空间表示E(G(Z))和第二潜在空间表示E(Y)来约束对发生器G的训练。
14.一种用于训练生成对抗网络(GAN)中的发生器G的设备,包括:
一个存储器,和
一台处理器,处理器被配置为可执行存储器中的指令用于:
为高分辨率图像Y生成一个真实的上下文数据集{x1,...,xN};
为生成的高分辨率图像G(Z)生成一个生成的上下文数据集{g1,...,gN},其中生成的高分辨率图像G(Z)是在接收到输入Z之后,由GAN的发生器G所生成的,其中输入Z是对应于高分辨率图像Y的一个随机样本;
使用真实的上下文数据集{x1,...,xN}和生成的上下文数据集{g1,...,gN}计算感知损失Lpcept值;以及
使用感知损失Lpcept值训练发生器G。
15.根据权利要求14所述的设备,其中使用感知损失Lpcept值训练发生器G包括:
将感知损失Lpcept值并入发生器G的损失函数中。
16.根据权利要求14所述的设备,其中计算感知损失Lpcept值包括:
计算每个xi和每个gj之间的结构相似度;
为结构相似度计算各自的结构距离;以及
使用结构距离计算感知损失Lpcept值。
17.根据权利要求16所述的设备,其中计算每个xi和gj之间的结构相似度包括:
使用参考点来计算xi和gj之间的余弦相似度。
18.根据权利要求14所述的设备,其中还包括指令用于:
由编码器E接收高分辨率图像Y;
由编码器E接收生成的高分辨率图像G(Z),其中GAN的鉴别器D得到训练以区分G(Z)和Y中的哪一个是生成的数据;
训练编码器E以最小化生成的高分辨率图像G(Z)的第一潜在空间表示E(G(Z))和目标高分辨率图像Y的第二潜在空间表示E(Y)之间的差异;以及
使用第一潜在空间表示E(G(Z))和第二潜在空间表示E(Y)来约束对发生器G的训练。
19.一种生成超分辨率图像的方法,包括:
由发生器G接收一个对应于低分辨率图像的输入;以及
从发生器G输出对应于该低分辨率图像的超分辨率图像,其中使用生成对抗网络(GAN)来训练发生器G的步骤包括:
为高分辨率图像Y生成一个真实的上下文数据集{x1,...,xN};
为生成的高分辨率图像G(Z)生成一个生成的上下文数据集{g1,...,gN},其中生成的高分辨率图像G(Z)是在接收到输入Z之后,由GAN的发生器G所生成的,其中输入Z是对应于高分辨率图像Y的一个随机样本;
使用真实的上下文数据集{x1,...,xN}和生成的上下文数据集{g1,...,gN}计算感知损失Lpcept值;以及
使用感知损失Lpcept值训练发生器G。
20.根据权利要求19所述的方法,其中训练发生器G的步骤还包括:
由编码器E接收高分辨率图像Y;
由编码器E接收生成的高分辨率图像G(Z),其中GAN的鉴别器D得到训练以区分G(Z)和Y中的哪一个是生成的数据;
训练编码器E以最小化生成的高分辨率图像G(Z)的第一潜在空间表示E(G(Z))和目标高分辨率图像Y的第二潜在空间表示E(Y)之间的差异;以及
使用第一潜在空间表示E(G(Z))和第二潜在空间表示E(Y)来约束对发生器G的训练。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962843795P | 2019-05-06 | 2019-05-06 | |
US62/843,795 | 2019-05-06 | ||
US16/531,748 US11048974B2 (en) | 2019-05-06 | 2019-08-05 | Effective structure keeping for generative adversarial networks for single image super resolution |
US16/531,748 | 2019-08-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111899163A true CN111899163A (zh) | 2020-11-06 |
CN111899163B CN111899163B (zh) | 2024-04-30 |
Family
ID=73046095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010052121.6A Active CN111899163B (zh) | 2019-05-06 | 2020-01-17 | 生成对抗网络中单图像超分辨率的有效结构保持 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11048974B2 (zh) |
CN (1) | CN111899163B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210407042A1 (en) * | 2018-11-16 | 2021-12-30 | Google Llc | Generating super-resolution images using neural networks |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11048980B2 (en) * | 2019-04-30 | 2021-06-29 | Agora Lab, Inc. | Optimizing supervised generative adversarial networks via latent space regularizations |
CN111861878B (zh) | 2019-04-30 | 2023-09-22 | 达音网络科技(上海)有限公司 | 通过潜在空间正则化对监督式生成对抗网络进行优化 |
CN111182637B (zh) * | 2019-12-24 | 2022-06-21 | 浙江大学 | 一种基于生成对抗强化学习的无线网络资源分配方法 |
US11783025B2 (en) * | 2020-03-12 | 2023-10-10 | International Business Machines Corporation | Training diverse and robust ensembles of artificial intelligence computer models |
US20220101144A1 (en) * | 2020-09-25 | 2022-03-31 | Nvidia Corporation | Training a latent-variable generative model with a noise contrastive prior |
CN112633386A (zh) * | 2020-12-26 | 2021-04-09 | 北京工业大学 | 基于sacvaegan的高光谱图像分类方法 |
CN112581551B (zh) * | 2020-12-29 | 2024-04-02 | 中国科学技术大学 | 基于潜在空间特征提取和映射的被动非视域成像方法 |
CN112668196B (zh) * | 2021-01-04 | 2023-06-09 | 西安理工大学 | 机理与数据混合驱动的生成式对抗网络软测量建模方法 |
CN112733756B (zh) * | 2021-01-15 | 2023-01-20 | 成都大学 | 一种基于w散度对抗网络的遥感图像语义分割方法 |
CN113379601B (zh) * | 2021-06-08 | 2024-05-28 | 中国科学技术大学 | 基于降质变分自编码器的真实世界图像超分辨方法及*** |
US11610284B2 (en) * | 2021-07-09 | 2023-03-21 | X Development Llc | Enhancing generative adversarial networks using combined inputs |
CN113627482B (zh) * | 2021-07-09 | 2023-08-18 | 南京邮电大学 | 一种基于音频—触觉信号融合的跨模态图像生成方法及装置 |
JP7208314B1 (ja) | 2021-08-19 | 2023-01-18 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 学習装置、学習方法及び学習プログラム |
US11983238B2 (en) | 2021-12-03 | 2024-05-14 | International Business Machines Corporation | Generating task-specific training data |
WO2023166621A1 (ja) * | 2022-03-02 | 2023-09-07 | 日本電気株式会社 | 情報処理システム、情報処理装置、情報処理方法、および、プログラム |
CN114758035B (zh) * | 2022-06-13 | 2022-09-27 | 之江实验室 | 一种针对未配对数据集的图像生成方法及装置 |
CN115564024B (zh) * | 2022-10-11 | 2023-09-15 | 清华大学 | 生成网络的特征蒸馏方法、装置、电子设备及存储介质 |
CN115587928A (zh) * | 2022-10-31 | 2023-01-10 | 中国科学院深圳先进技术研究院 | 一种三维重建方法、设备及计算机存储介质 |
CN115984106B (zh) * | 2022-12-12 | 2024-04-02 | 武汉大学 | 一种基于双边生成对抗网络的线扫描图像超分辨率方法 |
CN117649338B (zh) * | 2024-01-29 | 2024-05-24 | 中山大学 | 一种用于人脸图像编辑的生成对抗网络逆映射方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845471A (zh) * | 2017-02-20 | 2017-06-13 | 深圳市唯特视科技有限公司 | 一种基于生成对抗网络的视觉显著性预测方法 |
US20180075581A1 (en) * | 2016-09-15 | 2018-03-15 | Twitter, Inc. | Super resolution using a generative adversarial network |
CN109146784A (zh) * | 2018-07-27 | 2019-01-04 | 徐州工程学院 | 一种基于多尺度生成对抗网络的图像超分辨率重建方法 |
CN109151484A (zh) * | 2017-06-28 | 2019-01-04 | 达音网络科技(上海)有限公司 | 视频压缩中的特定操作预测方法 |
CN109671018A (zh) * | 2018-12-12 | 2019-04-23 | 华东交通大学 | 一种基于生成式对抗网络和ResNets技术的图像转换方法及*** |
-
2019
- 2019-08-05 US US16/531,748 patent/US11048974B2/en active Active
-
2020
- 2020-01-17 CN CN202010052121.6A patent/CN111899163B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180075581A1 (en) * | 2016-09-15 | 2018-03-15 | Twitter, Inc. | Super resolution using a generative adversarial network |
CN106845471A (zh) * | 2017-02-20 | 2017-06-13 | 深圳市唯特视科技有限公司 | 一种基于生成对抗网络的视觉显著性预测方法 |
CN109151484A (zh) * | 2017-06-28 | 2019-01-04 | 达音网络科技(上海)有限公司 | 视频压缩中的特定操作预测方法 |
CN109146784A (zh) * | 2018-07-27 | 2019-01-04 | 徐州工程学院 | 一种基于多尺度生成对抗网络的图像超分辨率重建方法 |
CN109671018A (zh) * | 2018-12-12 | 2019-04-23 | 华东交通大学 | 一种基于生成式对抗网络和ResNets技术的图像转换方法及*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210407042A1 (en) * | 2018-11-16 | 2021-12-30 | Google Llc | Generating super-resolution images using neural networks |
US11869170B2 (en) * | 2018-11-16 | 2024-01-09 | Google Llc | Generating super-resolution images using neural networks |
Also Published As
Publication number | Publication date |
---|---|
CN111899163B (zh) | 2024-04-30 |
US11048974B2 (en) | 2021-06-29 |
US20200356810A1 (en) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111899163B (zh) | 生成对抗网络中单图像超分辨率的有效结构保持 | |
US11694085B2 (en) | Optimizing supervised generative adversarial networks via latent space regularizations | |
US11645835B2 (en) | Hypercomplex deep learning methods, architectures, and apparatus for multimodal small, medium, and large-scale data representation, analysis, and applications | |
Bai et al. | Deep learning methods for solving linear inverse problems: Research directions and paradigms | |
Dosovitskiy et al. | Generating images with perceptual similarity metrics based on deep networks | |
CN111882026B (zh) | 通过潜在空间正则化对无监督式生成对抗网络进行优化 | |
EP3298576B1 (en) | Training a neural network | |
US9767596B2 (en) | Method and apparatus for processing depth image | |
Thakur et al. | Image de-noising with machine learning: A review | |
EP2534639A1 (en) | Method and system for determining a quality measure for an image using multi-level decomposition of images | |
US12001956B2 (en) | Optimizing supervised generative adversarial networks via latent space regularizations | |
Wen et al. | VIDOSAT: High-dimensional sparsifying transform learning for online video denoising | |
Hu et al. | Image super-resolution with self-similarity prior guided network and sample-discriminating learning | |
CN115456918B (zh) | 一种基于小波高频通道合成的图像去噪方法及装置 | |
CN114897728A (zh) | 图像增强方法、装置、终端设备以及存储介质 | |
CN115131218A (zh) | 图像处理方法、装置、计算机可读介质及电子设备 | |
CN116071601A (zh) | 训练模型的方法、装置、设备和介质 | |
CN113421186A (zh) | 使用生成对抗网络的非监督视频超分辨率的设备和方法 | |
Li et al. | Super‐Resolution Reconstruction of Underwater Image Based on Image Sequence Generative Adversarial Network | |
Gunn et al. | Regularized training of intermediate layers for generative models for inverse problems | |
Baumgartner et al. | A new approach to image segmentation with two-dimensional hidden Markov models | |
Dhawan et al. | Improving resolution of images using Generative Adversarial Networks | |
Savitha et al. | Deep learning-based face hallucination: a survey | |
Mathieu | Unsupervised learning under uncertainty | |
Lucas | Deep Perceptual Losses and Self-supervised Fine-tuning for Image and Video Super-resolution |
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 |