一键「圣诞化」你的照片,这个GAN真怪诞!

新智元

共 2478字,需浏览 5分钟

 ·

2020-12-30 12:15



  新智元报道  

来源:reddit

编辑:Q、小匀、LQ

【新智元导读】还在愁发朋友圈的文案没有圣诞气息?reddit上的技术男通过训练GAN,让你的照片一键「圣诞化」,一起来看有多神奇?


注意!圣诞「怪杰」来袭~


一键生成圣诞效果图片!

        


Christmas GAN 是什么


GAN 是深度学习框架下的生成模型。它由两部分(两个深度神经网络)组成: 生成器和判别器。

             

给定一些输入后,生成器尝试“生成”我们所希望的结果。判别器的工作是查看生成的和真实的样本,然后鼓励生成器生成更接近真实的图像。从另一个角度来看,生成器试图生成足够好的样本,以欺骗判别器,而判别器则试图不被欺骗。

 

用GAN生成图片的想法很简单,但怎么才能让GAN理解这一想法呢?对GAN来说什么是具有「圣诞元素」的图片呢?

 

难点就在于其中的社交和情境潜台词。

 

通常情况下,GAN是在具有高度对称性或相似性的域之间建立图像到图像的转换模型。一个例子是从马到斑马的转换,条纹增添或删除就可以完成转换。

               

另一个例子是从苹果到橙子,改变颜色和纹理就行了。 

         

但生成「圣诞元素」的图片这一想法操作起来却有点棘手。我们需要一个模型,可以呈现出「正常的圣诞节」的样子。但是,与其他的例子相比,这种映射过于通用。

 

几乎任何物品都可以用装饰品来装饰。人们可以穿圣诞老人或小精灵的服装,房子和市场可以装饰,宠物可以打扮成鹿等等。

 

下图中,上面一行显示的是「正常图片」的多样性,下面一行显示的是「圣诞图片」的多样性。

     

       

但我们仍然想知道现有的「图像到图像的转换」能走多远。具体来说,我们的目标是学习一个映射函数,可以映射普通图像到圣诞图像。


量化期望和约束


这一步需要做的工作就是:

 

1.图像到图像的转换: 向模型提供一个图像(“ no Christmas”) ,输出也是一个图像(“ Christmas”)

 

2.物体变形: 希望将图像进行转换,使图像的特征像是在圣诞节期间拍摄的(图像中的人最好能变成戴着圣诞老人帽子、留着胡子、穿着红色服装等等的人)

 

3.特征保留:变成圣诞老人的人应该还能被认出来,也就是说,图像应该保留一些信息。

 

同时还需要考虑一些限制:

 

1.这个问题没有现成的数据集可以使用,必须自己构建数据集

 

2.无法收集成对的图像。我们无法收集人们正常站立的照片,然后再收集另一张照片,同样的人们站在同样的环境中,同样的姿势,同样的姿势,但是穿着圣诞老人的服装。

        

问题建模


考虑到上述原因,建立Christmas GAN 模型的唯一可行选择是“unpaired image-to-image translation”,其中“unpaired”仅仅是指两个domain中都有图像(圣诞节和不是圣诞节) ,它们之间没有任何明确的一一对应的映射。

 

这里遵循的基本思想就是: 在没有配对图像的情况下学习两个domain之间的映射。

              

作者通过各种方式,经过分类和筛选,构建了一个圣诞节和非圣诞节的数据集,大约有6000个图像对。以下是通过CycleGAN对树木的图片(190张)进行训练得到的结果:

           

然后,作者试图使用完整的数据集来进行训练,但是除了让红色的阴影变得明亮起来,CycleGAN 似乎没有实现任何转变。

 

我们是如何进行图像弱匹配的?


通过弱配对图像,我们的意思是,对于任何在“正常”域中包含一个人的图像,从“圣诞节”域中采样的图像也包含一个人。如果A有一棵树,那么B也有一棵树。我们可以认为这是一个明确的假设,网络可以学习一个类别的独立映射函数。我们选择将自己限制在3个抽样类别:人、树和市场,因为它们在我们的数据集中占主导地位。

 

通过这样做,我们假设存在“人到圣诞老人”、“树到圣诞树”等单独的映射函数。对于一般的神经网络来说,这可能并不完全正确。但我们认为,由于我们有时使用实例归一化层与单个图像批,这将改善梯度流,因为图像对之间的特征相似度较高。

 

动机是解耦这些假定的映射,使GAN的训练更容易,希望如此。这也可以看作是向GAN训练中添加标签信息,这通常会提高性能。这似乎起了作用,因为迪斯科开始聚集,并导致了一些令人着迷的结果。

 

results


首先,让我们使用之前在所有数据上训练过的迪斯科琴,但只在我们之前看到的树的图像上,并比较学习到的映射是如何不同的:

         Normal到Christmas generator的结果

 

与上面的结果相比,圣诞节效果明显增强了。

 

有趣的是,在左下角添加了雪。在这一切中,效果似乎与风格转移相似,加上许多圣诞小彩灯。这几乎是闪光的。

 

现在,让我们看看随机分类的包含许多不同东西的“正常”图像会发生什么:

       更多的圣诞节


模型似乎喜欢添加红色、暖色调和灯光,到处都是灯光,甚至是披萨上。有趣的是,人们会对圣诞节期间通常不装饰的东西产生幻觉,比如食物。我想我们只能接受我们能得到的。

       

       即使是摩尔圣诞节

 

这里有一个有趣的现象: 尽管食物不是圣诞树,但这些树却是非常美丽的圣诞树。

        


即使是在火车上,它在这里的表现也不错。右下角的结果也很好,因为现在有雪了。不过我们不建议吃披萨。一般来说,它在人脸上的表现不太好;它们被扭曲到很高的程度。

 

 

这篇文章就讲到这里。你喜欢这个圣诞怪杰吗?


参考链接:https://medium.com/hasty-ai/building-a-xmas-gan-f4d809a3d88e

推荐阅读:「2020中国AI算力报告」重磅出炉:中国怎么解决GPT-3的算力难题?




浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报