宝马娱乐在线城-宝马娱乐在线

来自 世界互联 2019-10-01 17:12 的文章
当前位置: 宝马娱乐在线城 > 世界互联 > 正文

手把手教你在TensorFlow2.0中实现CycleGAN

原标题:视频换脸新境界:CMU不仅给人类变脸,还能给花草、天气变脸 | ECCV 2018

铜灵 发自 凹非寺

圆栗子 发自 凹非寺

量子位 出品| 公众号 QbitAI

图片 1

CycleGAN,一个可以将一张图像的特征迁移到另一张图像的酷算法,此前可以完成马变斑马、冬天变夏天、苹果变桔子等一颗赛艇的效果。

把一段视频里的面部动作,移植到另一段视频的主角脸上。

图片 2

大家可能已经习惯这样的操作了。

这行被顶会ICCV收录的研究自提出后,就为图形学等领域的技术人员所用,甚至还成为不少艺术家用来创作的工具。

图片 3

图片 4

就算目标主角并不是人类,大概也算不上精彩。眼睛鼻子嘴,至少零件齐全

也是目前大火的“换脸”技术的老前辈了。

那么,怎样的迁移才可走出这个框框,让这个星球上的万物,都有机会领取视频改造的恩泽?

图片 5

图片 6

如果你还没学会这项厉害的研究,那这次一定要抓紧上车了。

按着你想要的节奏开花:中老年表情包利器

现在,TensorFlow开始手把手教你,在TensorFlow 2.0中CycleGAN实现大法。

来自卡耐基梅隆大学的团队,开发了自动变身技巧,不论是花花草草,还是万千气象,都能自如转换。

这个官方教程贴几天内收获了满满人气,获得了Google AI工程师、哥伦比亚大学数据科学研究所Josh Gordon的推荐,推特上已近600赞。

图片 7

图片 8

云,也变得急切了

有国外网友称赞太棒,表示很高兴看到TensorFlow 2.0教程中涵盖了最先进的模型。

或许是怀着超越大前辈Cycle-GAN(来自朱俊彦团队) 的意味,团队给自家的GAN起了个非常环保的名字,叫Recycle-GAN

这份教程全面详细,想学CycleGAN不能错过这个:

这位选手,入选了ECCV 2018

详细内容

Recycle之道,时间知道

在TensorFlow 2.0中实现CycleGAN,只要7个步骤就可以了。

Recycle-GAN,是一只无监督学习的AI。

1、设置输入Pipeline

不成对的二维图像数据,来训练视频重定向(Video Retargeting) 并不容易:

安装tensorflow_examples包,用于导入生成器和鉴别器。

一是,如果没有成对数据,那在视频变身的优化上,给的限制就不够,容易产生不良局部极小值 (Bad Local Minima) 而影响生成效果。

!pip install -q git+https://github.com/tensorflow/examples.git

二是,只依靠二维图像的空间信息,要学习视频的风格就很困难。

2、输入pipeline

图片 9

在这个教程中,我们主要学习马到斑马的图像转换,如果想寻找类似的数据集,可以前往:

你开花,我就开花

https://www.tensorflow.org/datasets/datasets#cycle_gan

针对这两个问题,CMU团队提出的方法,是利用时间信息(Temporal Information) 来施加更多的限制,不良局部极小值的现象会减少。

在CycleGAN论文中也提到,将随机抖动和镜像应用到训练集中,这是避免过度拟合的图像增强技术。

另外,时间、空间信息的搭配食用,也能让AI更好地学到视频的风格特征

和在Pix2Pix中的操作类似,在随机抖动中吗,图像大小被调整成286×286,然后随机裁剪为256×256。

图片 10

在随机镜像中吗,图像随机水平翻转,即从左到右进行翻转。

时间信息:进度条撑不住了 (误)

图片 11

重要的是,视频里的时间信息唾手可得,无需寻觅。

图片 12

然后,看一下Recycle-GAN,是怎样在两段视频的图像之间,建立映射的。

3、导入并重新使用Pix2Pix模型

图片 13

通过安装tensorflow_examples包,从Pix2Pix中导入生成器和鉴别器。

三位选手对比一下

这个教程中使用的模型体系结构与Pix2Pix中很类似,但也有一些差异,比如Cyclegan使用的是实例规范化而不是批量规范化,比如Cyclegan论文使用的是修改后的resnet生成器等。

Pix2Pix是有成对数据的;CycleGAN靠的是循环一致性 (Cycle Consistency) ;RecycleGAN用的是视频流的时间信息

我们训练两个生成器和两个鉴别器。生成器G架构图像X转换为图像Y,生成器F将图像Y转换为图像X。

翻来覆去的,比CycleGAN的历程还要艰辛。好像终于感受到,Recycle-GAN这个名字是有道理的。

鉴别器D_X区分图像X和生成的图像X,辨别器D_Y区分图像Y和生成的图像Y。

对抗损失(Adversarial Loss) ,朱俊彦团队的循环损失(Cycle Loss) ,反复损失(Recurrent Loss) ,以及CMU团队自己造的“再”循环损失(Recycle Loss) 都用上,才是强大的损失函数

图片 14

效果怎么样?

图片 15

本文由宝马娱乐在线城发布于世界互联,转载请注明出处:手把手教你在TensorFlow2.0中实现CycleGAN

关键词: