pilp是什么模型_人脸生成模型StyleGAN2

pilp是什么模型_人脸生成模型StyleGAN2第1章 传统计算机视觉基本原理(图像的建模)1.1 传统的计算机视觉在2012年之前,CV的主要研究方法是使用人工设计(hand-designed)的图像特征来完成各种任务(见下图)。1.2 不足这些特征都是人为预设的,图像的处理基于这些预设

第1章 传统计算机视觉基本原理(图像的建模)

1.1 传统的计算机视觉

在2012年之前,CV的主要研究方法是使用人工设计(hand-designed)的图像特征来完成各种任务(见下图)。

pilp是什么模型_人脸生成模型StyleGAN2

1.2 不足

这些特征都是人为预设的,图像的处理基于这些预设的特征,如颜色特征、外形特征等等。人为特征的最大缺陷是:不同场合的特征不一样,不同场景,需要建立不同的模型,适应性差。

传统的图形学管线(pipeline)中,输出图像需要经过建模、材质贴图、光照、渲染等一系列繁琐的步骤。

pilp是什么模型_人脸生成模型StyleGAN2

第2章 基于深度学习DNN的计算机视觉的基本原理(图像的判定)

2.1 基于深度学习的计算机视觉DNN

2012年,随着使用深度神经网络(Deep Neural Network, DNN) 在ImageNet的分类任务上取得了巨大成功,图像处理的任务由认为构建图像特征发展成,机器自己发现图像的特征。

如下图所示,DeepNet能够自动发现输入图像(RGB通道的像素),并根据发现的特征,完成某种任务。这些DNN包括:全连接网络、卷积网络CNN、时序网络RNN/LSTM.

pilp是什么模型_人脸生成模型StyleGAN2

基于网络自动发现的图像特征, 可以完成的任务包括(不限于)

(1)物体识别(Object detection) [Redmon etal., 2018]

(2)对人体肢体的理解(Human understanding) [Guler et al., 2018]

(3)自动驾驶(Autonomous driving) [Zhao et al., 2017]

pilp是什么模型_人脸生成模型StyleGAN2

2.2 DNN的不足

之前的DNN可能是输入一幅图像,输出一个标签(比如说猫),那我们能不能输入“猫”这个字,输出一张猫的照片呢?

pilp是什么模型_人脸生成模型StyleGAN2

很遗憾,答案是No!

因为这种任务实在太复杂啦!

我们很难让DNN凭空输出图像这样的高维数据(High dimensional data)(这里的“高维”可以理解成数据量大)。

实际上,在很长一段时间里,DNN只能输出数字这种简单的、低分别率的小图像,就像下面这样:

pilp是什么模型_人脸生成模型StyleGAN2

而想要生成想游戏场景这类的图片,DNN这种方法根本没用。

第3章 常规生成对抗网络GAN的基本原理(不受控的图像的生成)

3.1 常规生成对抗网络GAN

2014年,一个叫做生成对抗网络(Generative Adversarial Network)——也就是大名鼎鼎的GAN——的东西横空出世。作者是下面这位小哥和他的小伙伴们:

pilp是什么模型_人脸生成模型StyleGAN2

pilp是什么模型_人脸生成模型StyleGAN2

pilp是什么模型_人脸生成模型StyleGAN2

pilp是什么模型_人脸生成模型StyleGAN2

pilp是什么模型_人脸生成模型StyleGAN2

至此,GAN网络可以自己输出多维度的图片数据了。

图像数据具备了真实图片集的公共特征。

生成的高纬度的图像数据会骗过网络的判决器,被判定为真实的图片。

3.2 生成对抗网络的创作本质

pilp是什么模型_人脸生成模型StyleGAN2

GAN网络输出的创作图片,与输入图片无关

输入:可以是任意的随机数。

输出:与训练集上的真实图片具备相同的特征,但具体是什么样子的,什么尺寸,不受控制。

3.3 生成对抗网络的不足

生成对抗网络虽然能生成高维的图像,该图片与参与网络训练的高纬度的真实图片,具备相同的特征。比如,自动生成人像图像或其它相关的图像。

但图像的生成或输出,与输入之间实际上并没有明显的语义上的对应关系。

(1)输出的图片没有用户控制(user control)能力

在传统的GAN里,输入一个随机噪声,就会输出一幅随机图像。随机图像能够骗过判决网络,具备与真实图片相同的特征。

pilp是什么模型_人脸生成模型StyleGAN2

但用户是有想法滴,如果我们想输出的图像是我们想要的那种图像,和我们的输入是对应的、有关联的。比如输入一只喵的草图,输出同一形态的喵的真实图片(这里对形态的要求就是一种用户控制)。

pilp是什么模型_人脸生成模型StyleGAN2

GAN网络是做不到的,GAN网络无法根据指定的图片,输出与输入有结构上关联的图片。

(2)低分辨率(Low resolution)和低质量(Low quality)问题

尽管生成的图片看起来很不错,但如果你放大看,就会发现细节相当模糊。

pilp是什么模型_人脸生成模型StyleGAN2

3.4 GAN网络的改善的目标

前面说过传统的GAN的种种局限,那么现在,我们相应的目标就是:

  • 提高GAN的用户控制能力
  • 提高GAN生成图片的分辨率和质量

为了达到这样的目标,和把大象装到冰箱里一样,总共分三步:

pilp是什么模型_人脸生成模型StyleGAN2

(0)GAN: 给定一个随机数,可以输出一个具备真实图片(训练数据集)特征的图片。

(1)pix2pix:有条件地使用用户输入,它使用成对的数据(paired data)进行训练。

(2)CycleGAN:使用不成对的数据(unpaired data)的就能训练。

(3)pix2pixHD:生成高分辨率、高质量的图像。

第4章 pix2pix网络的基本原理(“形似”受控的图像生成、创作)

4.1 pix2pix网络的目标

这种方法,就是在训练的时候,就告诉网络,输入图片与输出图片具备某种对应关系,对GAN网络进行限制,而不是像GAN网络进行任意的输出符合真实图片特征的图片。

也就是说,pix2pix网络在学习真实图片的同时,与能够学习到,该真实图片来源什么的输入图片。

pix2pix对传统的GAN做了个小改动,它不再输入随机噪声,而是输入用户给定图片,输出与输入有结构对应关系的图片。

pilp是什么模型_人脸生成模型StyleGAN2

4.2 pix2pix的问题

(1)情形1:

pilp是什么模型_人脸生成模型StyleGAN2

如果G网络的输出是下面这样的,D网络拿来一看,也会认为是真的图片。

这种输出它的图片满足GAN网络的要求。

(2) 情形2:

pilp是什么模型_人脸生成模型StyleGAN2

如果G网络的输出如果是下面这样,D网络会判断是真图:

这种输出它的图片也满足GAN网络的要求。

如何确保,输入图片X, 只输出情形2的图片呢?而不是情形1的图片呢?

4.3 怎样建立输入和输出的对应关系呢?

为了体现这种对应关系,解决方案也很简单:

我们把G网络的输入和输出一起作为D的输入,D网络的判决时,不仅仅根据G网络的输出进行决,还根据G网络的输出进行判决,只有G网络的输出与G网络的输出具备对应关系,D网络才认为G网络输出的图片是期望的图片,如下图所示:

(1)情形1:输出与输入一致的情形

pilp是什么模型_人脸生成模型StyleGAN2

下列条件只有同时得到满足,输出图片才会被判为真:

  • 满足GAN网络的判决条件,即输出满足真实图片的特征。
  • 输出图片与输入图片相似,即实现了输入对输出的控制

(2)情形2:输出与输入不一致的情形

pilp是什么模型_人脸生成模型StyleGAN2

下列条件只要有一个不满足,输出图片就被判为假:

  • 满足GAN网络的判决条件,即输出满足真实图片的特征;否则,输出图片不满足期望的真实图片的特征。
  • 输出图片与输入图片相似,即实现了输入对输出的控制;否则,输出图片与输入图片没有关系,不是由输入图片产生的,而是随机产生的。

4.4 pix2pix名称的由来

pix2pix通过增加判决网络对输出与输入图片的相似性检查,确保输出的图片,与输入图片有明确的对应关系来达到输入对输出的控制。

现在的问题来了:如何检查输出与输入图片的相似性呢?

(1)pix2pix的做法

pix2pix通过把输出图片与输入图片的每个像素点的距离和作为loss,来判断两个图片的相似性的,

loss越小,相识度越高。

pix2pix并没有通过增加什么新的网络,来确保输出与输入的相似性关系。

这就是pix2pix的由来!

由于pix2pix对相似性检查和保证,是直接通过像素到像素进行检查的完成的,因此pix2pix的输出与输入是显性的、表象的、强关联关系,属于“形似”。

4.5 pix2pix创作的本质

pilp是什么模型_人脸生成模型StyleGAN2

pix2pix能够确保输出图片与输入图片有一定的关联。或者说,给定一个输入图片,输出的图片,除了满足真实图片的特征,还能体现、保留输入图片原有的信息。

pix2pix是通过数据集,而不是神经网络结构,来保证输出与输入关系的!

因此pix2pix网络,需要成对的数据集(paired数据集)。

4.5 pix2pix的应用

pix2pix的这项研究还是挺成功的,大家可以去​​​​这里线体验一下demo,它能把草图(sketch)变成图片。

​​​​​​这里:https://affinelayer.com/pixsrv/

(1)草图变图片[Isola, Zhu, Zhou, Efros, 2016]:

pilp是什么模型_人脸生成模型StyleGAN2

(2) 灰度图变彩色图[Isola, Zhu, Zhou, Efros, 2016]:

pilp是什么模型_人脸生成模型StyleGAN2

(3)自动着色 Data from [Russakovsky et al. 2015]:

pilp是什么模型_人脸生成模型StyleGAN2

(4)交互式着色[Zhang*, Zhu*, Isola, Geng, Lin, Yu, Efros, 2017]:

pilp是什么模型_人脸生成模型StyleGAN2

4.7 pix2pix创作的限制或不足

(1)对数据集的要求较高

pilp是什么模型_人脸生成模型StyleGAN2

在训练时,需要人为的指定参照图片与真实的输出图片的成对的对应关系(paired)。

只有这样,pix2pix网络才能按照期望的方式,对输入图片进行创作,而不是对输入普通进行任意的创作(GAN网络就是属于任意创作)!!!

(2)输出的创作图片的内容受限

输出的创作图片,完全受限于输入图片,输出内容(轮廓)与输入图片完全一样,不同的仅仅是输出图片的填充信息。

第5章 CycleGAN的原理(“神似”受控的图像生成、创作)

5.1 CycleGAN网络的动机与要解决的问题

pix2pix必须使用成对的数据进行训练,很多情况下成对数据是很难获取到的,比如说,我们想把马变成斑马,现实生活中是不存在对应的真实照片的。

pilp是什么模型_人脸生成模型StyleGAN2

Cycle-constraint Adversarial Network也就是CycleGAN解决这个问题。

这种网络不需要成对的数据(称为unpaired数据集),只需要输入数据的一个集合(比如一堆马的照片)和输出数据的一个集合(比如一堆斑马的照片)就可以了。如下图所示:

pilp是什么模型_人脸生成模型StyleGAN2

CycleGAN网络在不使用paired的数据的情况下,如何亦然能够确保输出与输入有内在的关联,而不是GAN网络的随意创作呢?

5.2 CycleGAN的本质

如果说,pix2pix是通过优化数据集,来保证输出与输入关系的!

那么说,CycleGAN通过优化神经网络的结构,来保证输出与输入关系的!

CycleGAN在GAN的网络结构的基础之上,增加了一个还原网络,用于把输出还原,用还原后的图片的像素与原始的输入像素进行比较,来确保输出与输入的对应关系,生成与还原都是特征提取后的还原,因此输出与输入在形式上不一定完全一致,而是在深层次的特征章保持一致。

pilp是什么模型_人脸生成模型StyleGAN2

5.3 来自于语言翻译的思想启示

pilp是什么模型_人脸生成模型StyleGAN2

(1)语言翻译

如果一把一段话从英文A翻译成中文C,再从中文C翻译回英文B,那么你应该得到跟之前原始输入的英文A一样的内容B。

  • 转换后的中文C与原始的英文A或B在“形式”是不一样的,这与pix2pix不一样
  • 转换后的中文C与原始的英文A或B在“语义”是一样的,这与pix2pix一样
  • 原始的英文A与还原后的英文B在“形式”是一样的,这与pix2pix一样,A和B的相似度越高,说明输出与输入的转换越准确,此时A与C的差异性越大,说明创作性越强。

(2)图片转换

CycleGAN的原理与上述语言翻译基本相似。

先原始输入图片马A变成斑马C,然后再变回马B,那么最后的马B和开始输入的马A应该是一样的。

  • 转换后的图片C与原始的图片A或B在“形式”是不一样的,这与pix2pix不一样
  • 转换后的图片C与原始的图片A或B在“语义”特征是一样的,这与pix2pix一样
  • 原始的图片A与还原后的图片B在“形式”是一样的,这与pix2pix一样,A和B的相似度越高,说明输出与输入的转换越准确,此时A与C的差异性越大,说明创作性越强。

5.4 CycleGAN名称的由来

对输出与输入图片的相似性检查,是确保输出的图片与输入图片有明确的对应关系的重要手段。

现在的问题来了:如何检查输出与输入图片的相似性呢?

(1)pix2pix的做法

pix2pix是直接通过像素到像素进行检查的完成的,因此pix2pix的输出与输入是显性的、表象的、强关联关系,属于“形似”。

(2)CycleGAN的做法

CycleGAN通过增加还原网络,首先把输出图片重新还原成输入图片,然后对输入图片与还原后的图片进行像素到像素的检查,确保输出图片与输入图片的相似性。这个还原的过程就是形成了一个闭环,这 就是“CycleGAN”的由来。

虽然,还远后的图片与输入图片,具备像素到像素的显性的、表象的、强关联关系,属于“形似”。

但输出图片与输入图片以及还原后的图片并非这种“形似”,而是内在特征的关系。

因此,CycleGAN的输出图片与输入图片之间是隐性、内在的、语义关系。

CycleGAN同时具备如下特征:

  • 具备GAN网络自由创作的优点
  • 具备pix2pix网络,输入对输出进行控制的优点
  • 克服pix2pix网络,输出与输入只是“形似”的缺点与不足。
  • 具备了输出与输入具备内在特征的相似,得到了“神似”的效果。

5.5 CycleGAN的网络实现

pilp是什么模型_人脸生成模型StyleGAN2

通过对还原图片与原始图片的比较,可以确保生成图片的准确性以及与输入图片的关联性。

5.6 CycleGAN的网络的优化

基本的CycleGAN网络,虽然能够还原成原始图片,但由于输出图片与输入图片之间仅仅是内在特征有一定的相似性,在形态是差异可能很大。如下图所示:

pilp是什么模型_人脸生成模型StyleGAN2

如何保证生成与还原这两个转换不是天马行空,进一步限定输出的准确性。

还需要对训练进行进一步的限制。斑马作为输入,得到普通的马,进一步还原成斑马。

pilp是什么模型_人脸生成模型StyleGAN2

因此,整个CycleGAN经过两次翻译,两次还原:

(1)普通马 =》 斑马 =》 普通马

(2)斑马 =》 普通马 =》 斑马

如果经过上次两次翻译与还原,就能够进一步确保了输出与输入之间的关联性。

类似:

英文 =》 中文 =》 英文

中文 =》 英文 =》 中文

如果两个方向的转换都满足要求的,则证明网络在进行风格转换时,具备了相当强的精确性和创造性 。

CycleGAN成功的原因在于:它分离了风格(Style)和内容(content)。

人工设计这种分离的算法是很难的,但有了神经网络,我们很容易让它学习者去自动保持内容而改变风格。

5.7 CycleGAN网络的应用

(1)马变斑马

pilp是什么模型_人脸生成模型StyleGAN2

pilp是什么模型_人脸生成模型StyleGAN2

(2)橘子变苹果

pilp是什么模型_人脸生成模型StyleGAN2

(3)图像风格的迁移:

pilp是什么模型_人脸生成模型StyleGAN2

pilp是什么模型_人脸生成模型StyleGAN2

(4)游戏场景替换

它以一些德国城市的照片作为输入,成功替换了游戏GTA5中的场景!

pilp是什么模型_人脸生成模型StyleGAN2

(5)其他应用

pilp是什么模型_人脸生成模型StyleGAN2

第6章 pix2pixHD

6.1 pix2pixHD要解决的问题

我们还剩一个悬而未决的问题:分辨率和图像质量。pix2pix的输出图片,其图片的分辨率都不该高,过高分辨率导致训练时间的指数增长,同时也会出现转换不准确。

pix2pixHD就是用来解决这个问题的!

6.2 问题案例

假设我们输入一张高分辨率的草图:

pilp是什么模型_人脸生成模型StyleGAN2

使用pix2pix,结果很差(之前说过,让网络产生高维数据输出很难):

pilp是什么模型_人脸生成模型StyleGAN2

6.3 pix2pixHD的解决方法

pix2pixHD采取了金字塔式的方法(逐渐加强)

(1)先使用GAN或pix2pix输出低分辨率的图片。

(2)将之前输出的低分辨率图片作为另一个新增网络的输入,然后生成分辨率更高的图片。该新增的网络对输出图片进行高分辨率增强,这种方法不影响现有的网络架构,同时增加了新的增强功能。

pilp是什么模型_人脸生成模型StyleGAN2

6.4 效果

给定下面的高分辨率草图:

pilp是什么模型_人脸生成模型StyleGAN2

产生高分辨率的输出:

pilp是什么模型_人脸生成模型StyleGAN2

6.5 主要应用

(1) 比如用草图生成高分辨率人脸:

pilp是什么模型_人脸生成模型StyleGAN2

(2)图像增强(Image Enhancement)

(3)图像去雾(Image Dehazing)

(4)非监督动作重定向Neural Kinematic Networks for Unsupervised Motion Retargetting

————————————————

更多优质文章@熬夜学Python的程序媛:

强烈推荐一本书!《机器学习导论》PDF中文超清版 可下载

版权声明:本文为CSDN博主「文火冰糖的硅基工坊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/HiWangWenBing/article/details/

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/16945.html

(0)
上一篇 2024年 9月 17日
下一篇 2024年 9月 17日

相关推荐

关注微信