【变狗为猫】伯克利图像迁移cycleGAN,猫狗互换效果感人

GAN(生成对抗网络)为图像变换任务带来了很多的惊喜,受到很多研究者的关注。例如前阵子很火的“画猫”项目(edges2cats):勾勒出物体的边缘,神经网络能够自动补全图像信息,生成对应的图片(图1)。也有人脑洞大开,用DCGAN、WGAN等4种GAN来生成“猫图”(图2)。最近,日本NTT Data的itok_msi小哥用其中比较新的cycleGAN网络,做了一个“将狗的图像变成猫”的模型,并且生成的猫的姿势和毛色与作为输入的狗的图像保持一致。

图1:edges2cats 画猫

图2:WGAN 生成的猫咪图像

cycleGAN

cycleGAN是加州大学伯克利分校 Jun-Yan Zhu等人提出的一种图像风格转换技术。它的想法是在没有成对的训练数据的情况下,实现图像风格转换。cycleGAN效果令人印象深刻,它可以让不同画家风格的画作还原成照片,将夏天变成冬天,将马变成斑马,橘子变成苹果,等等(图3)。

图3:cycleGAN 的图像转换效果

cycleGAN 的具体方法和实现细节请参看论文,论文地址:https://arxiv.org/abs/1703.10593

cycleGAN猫狗转换的难点

实际上,cycleGAN的原论文(Zhu, Jun-Yan, et al., 2017)中也提出了将狗的图像变成猫的想法,但论文中的实验结果是失败的(图4)。

图4:cycleGAN将狗转变成猫的是失败例子

这是由于猫和狗的毛色、质感不同,尤其是脸型差异非常大。原论文中也指出这是往后需要研究的一个课题。

尤其是,Gdog→cat(将狗转变成猫)出来的图像几乎与原图一模一样。原因是什么呢?作者提出了2个可能的原因:

1. cycle consistency loss的效果太强

要将猫和狗进行变换,就不得不牺牲输入图像的一部分信息。这就需要使cycle consistency loss增大。一方面,假如输入图像和输出的图像完全一样,也就是cycle consistency loss需要最小。我们想要将狗变成猫,那么完全一样是不行的,也就是cycleGAN的损失需要大一点。但是,这里的问题出在狗和猫有一些局部特征是非常相似的。

2. 狗和猫的局部特征非常相似

cycleGAN的判别器(DA,DB)采用patchGAN(参考文献[1][2])的机制学习。在鉴别输入的图像是生成器生成的图像,还是源图像时,不使用整个图像,而是使用图像的局部(patch)进行判别。

判别器网络变小虽然有好处,但是猫和狗有些局部特征非常相似,使得学习相当困难(图5)。换句话说,就算Gdog→cat(将狗变换成猫)生成的结果与源图像完全一致,也可能欺骗判别器说变换的效果非常好。

图5:狗和猫有一些局部特征非常相似

修改版的cycleGAN

针对上面的2个问题,对cycleGAN进行2个简单的修改。

1. 让判别器观察全局特征进行判断

简单地说,在patchGAN的判别器增加一层,LGAN同时考虑全局的信息和局部的信息。

2. 在误差函数上将cycle consistency loss的比例变小

误差函数上cycle consistency loss的系数减小到原来的1/10。

实验

在cycleGAN论文作者开源的pytorch实现基础上稍作修改,实验环境是aws的p2.2xlarge实例。

使用数据

使用The Oxford-IIIT Pet Dataset,其中狗的图像1922幅,猫的图像3922幅作为训练数据,其余作为验证数据。

实验结果

比较好的结果(猫→狗)

似乎长得蠢蠢的猫输出的结果也是蠢蠢的狗

比较好的结果(狗→猫)

失败的结果(猫→狗)

失败的结果(狗→猫)

思考

虽然作了一些修改,但有时候不能得到期待的结果,尤其是:

  • 动物的毛色信息没有保留
  • 背景和动物融为一体
  • 生成的图像非常模糊
  • 变换前后的猫狗图像看起来没什么区别

失败的例子有点多。

原因可能是:

  • 修改后的网络误差比例太小
  • 鉴别器的网络太大导致学习效果不好

追加实验结果

在上面的实验的基础上,针对实验失败的可能原因继续进行修改后,得到了比较好的一些结果:

比较好的结果(猫→狗)

比较好的结果(狗→猫)

失败的结果(猫→狗)

失败的结果(狗→猫)

总的来说,如果狗和猫的图像是朝向正面,结果会比较好。这是由于从正面看,猫和狗的五官有相似之处。但是在上面两个例子中,如果图像中猫或狗的脸朝向侧面,狗有大耳朵而猫没有,需要进行大胆的变换,依然是相当难的。

原文发布时间为: 2017-09-13

本文作者:itok_msi

时间: 2024-11-01 10:11:27

【变狗为猫】伯克利图像迁移cycleGAN,猫狗互换效果感人的相关文章

把狗弄丢的工人老韩见到狗可激动了

把狗弄丢的工人老韩见到狗可激动了 3月1日11时33分,沈阳晚报官方微博发出一条消息:"今天上午,中国医大口腔医院附近捡到一只成年阿拉斯加犬,犬颈部有一串珍珠项链.希望狗主人能与本报联系." 13时39分,新北方记者韩松华发出一条微博:"可爱的狗狗,两岁男狗,它已经是主人生活中不可分割的一部分.可是,今天7点,它在沈阳站北二路走丢了,现在主人心疼得不得了,饭也吃不下去,这只狗狗也很依赖主人,真心希望好心人帮忙找找!" 15时46分,网友"黎乐乐地盘&quo

用as3打造图像的3D手flash风琴效果

原文:http://www.flashandmath.com/flashcs4/leo/index.html 我们介绍一下一个自定义的as3类,ImageAccordion,可以像手风琴一样将图片折叠和展开.我们使用FlashPlayer10原生的3D方法,而且效果很逼真.点击后图片会以补间运动的形式折叠或者展开.下面,我们讨论一下ImageAccordion类,这是效果的核心. 使用ImageAccordion类 你在上面的展示中看到了什么?两个ImageAccordion类实例,每个图像一个

photoshop实现的为图像加上逼真的蓝天白云效果实例教程

  先说一下,教程不是帮你从无到有创造天空(这样的难度有点大),而是让淡白色的天空变蓝噢. 原图效果: 效果: Step 1:导入图片,新建图层. Step 2:为了等下我们的教程同步,按D重置背景色. Step 3:选择渐变工具(G),颜色如下(黑色到透明),如下图所示. Step 4:摁住Shift 键,从上往下拖动: 效果如下: PS教你给图像加上逼真的蓝天效果教程 Step 5:图层模式改为叠加. 淡白色的天空与黑色叠加后,饱和度立刻就上来了,效果如下: Step 7: Add A La

酷狗手机音乐播放器更名为“酷狗叮咚”

11月10日消息,日前著名在线音乐播放器公司酷狗科技宣布将"手机酷狗"更名为"叮咚",并于北京举行的"2009年移动互联网峰会"中低调发布. 在将"手机酷狗"更名为"酷狗叮咚"的同时,酷狗科技还启用新的品牌LOGO.本次更名只是品牌策略的调整,不影响手机酷狗原有的各种业务内容和合作.据悉,叮咚播放器将进一步强化音质和歌词功能,界面设计更加精益求精. 酷狗叮咚 酷狗叮咚(原名手机酷狗),是全球领先的免费手机音

手机酷狗背景在哪改?手机酷狗皮肤修改方法

手机酷狗皮肤有很多的我们可以在右上角的设置中进行修改了,里面除了系统自带的皮肤之外还有很多皮肤可以在线下载了,下面看看 1.我们打开手机酷狗音乐,然后我们点击右上角的[菜单]打开进入 2.然后你会看到有衣服的标识了,这个就是[皮肤]了. 3.可在系统推荐的皮肤背景里选择更换 4.如果有已经下载过的我们就不需要下载了,如果没有点击[下载] 5.切换到[我的]如下图所示 6.点击一下刚才下载的皮肤背景,即可更换 7.当然我们还可以选择[自定义],这个可以从相册或拍照了来调协皮肤背景 8.然后我们再点

游戏猫怎么申请直播,游戏猫app申请直播方法

准备工具 1.手持自己的身份证拍照照片 2.一张作为主播封面的艺术照片,这个越漂亮越好,但要真实哦. 游戏猫怎么申请直播 1)打开游戏猫,点击下发[直播],-[按钮];(如下图) 2)点击编辑框输入个人信息以及上传身份张照片,最后点击[确定并提交]即可.(如下图) 好了根据提示上传资源就可以了,上传完成之后我们还得等官方审核哦,只有审核通过了才可以哦.

交易猫怎么联系卖家 交易猫联系卖家教程

1.我们打开手机交易猫,点击"更多"选项,打开进入效果如下图所示. 2.然后选择"在线客服"选项了,这样就可以了哦 . 3.之后我们选择需要咨询的类别,在下面输入咨询问题发送即可. 好了在上面输入问题就可以了我们就可以和卖家进行联系了,以上就是小编为各位整理的一篇关于交易猫联系卖家教程了哦.

手机酷狗音乐酷群怎么加入?手机酷狗音乐加入酷群方法

1)进入到手机中最新版本的酷狗音乐,然后在界面中如下所示你什看到有一个[酷群],接着点击[发现];(如下图)     2) 然后进入之后如图所示我们点击[加入群聊];(如下图)     3)点击编辑框输入酷群,接着点击右上角的[提交]即可.(如下图)   好了我们加群的请求发送出去之后只要管理员接到到了消息并且通过审核你就可以加入到群了,好了上文就是小编为各位整理的一篇关于手机酷狗音乐加入酷群方法希望全文章能够帮助以各位.

手机酷狗音乐怎么退出酷群呢?酷狗音乐退出群方法

酷狗音乐退出群方法简单我们的前提条件是自己加了群,如果没有加群谈什么退群了,下面的教程是基于我们已经加了群的条件下,具体操作如下. 1)打开手机酷狗音乐,接着点击[酷群],然后点击打开要退出的酷群;(如下图) 2)点击右上角的[三点],接着点击[退出群];(如下图) 3)点击[退出该群]即可.(如下图) 好了这样的话我们就成功的退出了群了,如果要重新加入也简单找到群号加入即可了,好了上文就是小编为各位介绍的关于酷狗音乐退出群方法了,希望例子对各位有帮助.