恶犬秒变萌汪:东京大学开源“治愈系” GAN 图片拼贴工具 | 技术头条

百家 作者:CSDN 2019-04-20 11:39:16

翻译 | linstancy

责编 | 琥珀

出品 | AI科技大本营(id:rgznai100)

教新手画画?字体风格迁移?换明星“假脸”?毫无疑问,在图像生成中 GAN 以其生成以假乱真的图像“发挥”出了巨大的潜力。

日前,来自日本东京大学和 Preferred Networks 公司的团队开源了一款名为「neural collage」的图像编辑工具,允许用户在图像的制定位置更改图像的语义信息,以达到图像拼贴的效果。

链接:

https://github.com/pfnet-research/neural-collage

例如,将一只面露凶光的哈士奇的图片换脸成为可爱的博美。

而更值得一提的是,整个过程的中间操作非常简单。

  • 如何使用和安装?

首先保证 Python 3.6 以上的语言环境,并安装所需的 Python 库:pip install -r requirements.txt

如果想要使用预训练模型生成图像,项目作者该提供了链接以下载模型。需要注意的是,将 snapshot 参数设置为下载的预训练模型文件(.npz)的路径。

相关链接:

https://drive.google.com/drive/u/0/folders/1SFmq9LjEkIXXAKo6p-Wdlfu0BUFSyLJi

https://drive.google.com/drive/folders/1qPP2RxMNnPSbacotnG7_H5dZrQpOmI3D

作者表示,基于 GAN 模型采用了两种新策略:sCBN 和 特征混合,并在“Spatially Controllable Image Synthesis with Internal Representation Collaging”论文中详述了该方法原理及实现效果。

链接:

https://arxiv.org/abs/1811.10153

以下为论文解读:


摘要


本文提出了一种基于卷积神经网络(CNN)模型的图像编辑策略,这种新颖的方法通过对 GAN模型生成的图像进行特征空间表征,从而改变图像任意区域的语义信息。

该策略能够与任何带条件正则化层 (conditional normalization layers) 的 GAN模型相结合,用于图像对人工图像和真实图像的编辑任务,它有如下两种变体:

(1) sCBN (spatial conditional batch normalization),这是一种基于用户指定空间权重映射的条件批正则化方法;

(2) 特征混合(feature-blending),即一种直接修改中间特征图的方法。此外,通过在不同数据集上、与不同 GAN 模型结合实验,进一步验证了本文所提出方法的有效性及强大性能。


简介


深度生成模型,如生成对抗网络(GANs)和变分自编码器(VAE)是很有潜力的无监督学习技术,具有强大的语义信息表征能力。

其中以 GAN 在图像任务方面尤为成功,如图像着色、图像修复、领域转换、风格迁移、目标形变等应用。

随着稳定 GAN 模型训练的方法的相继提出,这类模型在图像生成方面也得到广泛的应用。

然而,如何根据用户的意愿正则化 GAN 模型,得到想要的输出,这仍是当前相关领域的一大问题。

先前的研究,诸如条件生成对抗网络(CGAN)、InfoGAN、风格生成对抗网络(StyleGAN)等都在探索如何让生成对抗网络有指向性地生成所需要的图像。

而最近提出的 GAN dissection 研究深入探索了模型输出与中间特征语义信息之间的关系,并通过推理关系 (relation) 成功实现逼真图像的生成。

受此启发,本文提出一种新颖的图像变换方法,即 sCBN 和特征混合策略,通过处理生成网络图像的中间特征来编辑图像,并允许用户对图像语义信息进行复制、粘贴等编辑操作。

其中, sCBN 基于用户所指定的混合系数 (标签拼贴(label collaging)) 的空间映射图,允许用户融合多标签的语义信息。

如此,不仅可以从一个标签映射图中生成图像,还能够通过局部的图像语义改变图像。

如下图1a,该方法能够将一只哈士奇的眼睛变为博美犬的眼睛。

特征混合能够在中间特征空间直接融合多张图像,还能将复杂特征进行局部混合;图 1b 中,通过特征混合将一只动物的姿态变为模型所定义的姿势。

图1 通过 sCBN 方法 (a) 和特征混合方法 (b) 得到的特征拼贴样本。

总的来说,该方法的一大优势在于只需要训练 AdaIN 或 CBN 结构的 GAN 模型就能实现,无需额外训练其他模型。

它能够用于 GAN 模型所生成的任意图像,适用于广泛的图像语义操作。此外,通过与流形投射 (Manifold projection) 结合,该方法能够对真实图像的局部语义信息进行编辑处理,并大量实验中展现了强大的性能。


方法


  • sCBN

sCBN 是一种特殊形式的条件批正则化方法 (CBN),作为批正则化方法 (BN) 的变体,它能够对 BN 中的参数按类语义信息进行编码。对于图像的局部类标签,它通过空间变换来改变条件批正则化参数,如下图2所示。

       

图2 CBN 方法和 sCBN 方法中层结构对比图。左边是 CBN 方法,它通过空间一致长度,逐层向生成的图像添加类别特征。

右图是 sCBN 方法,该方法的每一层将用户指定的混合密度与类特征混合到生成的图像中。

基于单一类别的图像样本,CBN 方法通过特定类的放缩比例 (class-specific scale) 和偏差参数 (bias parameters) 来正则化中间特征集合。

而 sCBN 则是将 CBN 方法中的放缩比例项替换为一种加权和的形式,该权重系数是由混合系数的非负张量映射组成,这是由用户所决定的。

如此,用户可以通过所选取的权重系数来决定某个类别 c 在任意区域的特征密度,达到控制生成输出的目的。

此外,通过所选用的权重值控制图像不同区域不同类别的特征密度,用户可以将图像多个不相交部分进行分类。

  • 空间特征混合

空间特征混合 (spatial feature blending)是一种可以提取图像特定区域特征并将其与其他特征混合的方法。

与 sCBN 方法中的权重系数类似,用户同样可以通过选择特征混合参数 M 来控制所混合的效果。

此外,通过流形投射变换,该方法还能用于真实图像的编辑处理,如下图3所示,通过特征混合处理,将图像 G(z2) 和 G(z1) 的嘴巴特征混合。用户只需要通过选择选择嘴巴特定区域的混合系数 M,就能够实现这种效果。


图3 空间特征混合方法,通过不断地迭代过程,在生成网络的特征空间,将不同隐变量生成的图像混合到目标图像中去。

  • 真实图像应用

通过寻找一个流形投射方法,使得隐变量 z 满足 G(z) 与 x 大致相等,实现真实图像的语义信息进行编辑。

在获得 x 的倒数后,可以通过应用相同的流程来更改 x 的部分标签信息或将其他图像特征混合到 x 中。

实际的图像编辑流程如下图4所示,在图像变换的最后一步,这里采用一个泊松混合(Poisson blending)的后处理步骤。

这主要是因为 GAN 模型没有解耦图像背景信息的能力,而通过泊松混合操作能够去除感兴趣区域的一些伪像。

图4 将特征空间拼贴算法应用于真实图像的流程:用户需要指定混合映射图,选择特征空间拼贴方法,并在后处理时将掩码用于泊松混合过程。

下图5展示的是不同类别条件的图像重构例子。


图5 通过流形投射对多种类别标签进行图像重构的例子。其中红色帧图像是通过原始类别标签进行重构的图像。

下图6展示两种方法在真实图像上的应用例子。左侧是 sCBN 方法在真实图像上的结果,而右图是特征混合方法所得到的结果。

图6 sCBN 和特征混合方法在图像上的应用。


实验


  • 结果分析

这里,将所提出的方法与 DCGAN 模型相结合,并在多个不同图像数据集来验证方法的有效性。

此外,为了验证流形投射和 DCGAN 模型的表征能力,这里还进行一系列的非空间变换的消融实验 (ablation experiments)。

下图7展示的是使用 sCBN 方法所得到的标签拼贴示例。可以看到,该方法能够调整图像的全局信息 (如面部、形状) 和局部信息 (如颜色、纹理),而不会破坏图像的语义一致性。

图7  sCBN 方法的标签拼贴结果。其中,红线包围的区域被翻译为目标标签。

图8显示的是使用特征混合所得到的标签拼贴结果。可以看到,该方法成功地修改了图像的语义分割,而不会破坏原始图像的质量。

这种方法对于转换区域的语义排列信息有很强的鲁棒性。

图8 特征混合方法的标签拼贴结果。其中,红色帧区域内的特征被混合到基础图像中。

  • 每层的拼贴效果

通过一系列的消融研究来探究模型中每层修改的影响。下图9是 sCBN 方法分别应用于 (1) 所有层,(2) 最靠近输入层,(3) 除了第一层的所有层,所得到的结果。

可以看到,越靠近 z 层,该方法对于全局特征的影响越明显;而越靠近 x 层,sCBN 方法对就局部特征的影响越显著。

图9 在不同层的拼贴效果。从上到下分别是 sCBN 方法作用于不同层所得到的结果。

同样,下图10展示的特征混合方法,则是以不同的混合权重,应用于不同层 (l=1,2,3,4) 所得到的结果。

可以看到,当用于第一层时,全局特征将受到影响,而局部特征将会被保留。而当该方法应用于靠近 x 层时,所得到的结果则相反。

因此,用户可以根据需要,更精细地选取混合权重系数来控制局部特征转换及其密度。

图10 特征混合方法作用于不同层所得到的结果

  • 真实图像的转换

为了通过分类精度和人类感知测试来定量评估方法在真实图像转换方面的表现,将 sCBN 方法应用于 ImageNet 数据集中的图像,并进行 (1) cat→big cat,(2) cat→dog 以及 (3) dog→dog 的变换。

随后,以 UNIT 和 MUNIT 为基准,将本文所提出的方法与其进行对比分析,结果如下图11。

可以看到,在 top-5 错误率方面,该方法的表现更优于其他两种基准,这也验证了它在真实图像变换方面的有效性。

图11 top-5 分类错误率结果


结论


本文提出一种新颖有效的图像编辑策略,通过 sCBN 和特征混合方法,对图像中间特征表征进行处理,从而达到修改语义信息、编辑图像的目的。

其中条件正则化方法不仅能够处理类别条件,还能处理其他的信息,在未来的研究中可以将该方法应用于更广泛的非图像数据集。

然而,在研究中仍发现一些不足之处:表达能力受限的生成网络,尤其是在与流形投射结合用于处理真实图像变换,未来的研究中相关问题仍值得深入探究。

(本文为AI科技大本营编译文章,转载请微信联系1092722531)

【End】

 热 文 推 荐 

☞刘强东案关键证人曝光;周鸿祎 diss 贾跃亭;苹果回收 100 万部旧手机 | 极客头条

☞三星折叠屏手机出事!才用两天就“挂了”

50 多岁的他笑谈码农真相,看完清醒了!| 人物志

☞零编程基础、大龄全职妈妈是如何写出两个商业网站的?

☞下过富士康工厂、做过华为外包,这位程序员是如何花 6 年逆袭成为技术大佬的?

☞《权力的游戏》最终季上线!谁是你最喜爱的演员?这里有一份Python教程 | 附源码

☞微服务落地,我们在考虑什么?| 技术头条

☞爆料! 18张图、55个链接, 证据都在这了, 你还说自己是中本聪?

☞程序员被骗"黑砖窑":监禁、恐吓、996无休编程!

System.out.println("点个在看吧!");
console.log("点个看吧!");
print("点个看吧!");
printf("点个看吧!n");
cout < < "点个看吧!" < < endl;
Console.WriteLine("点个看吧!");
Response.Write("点个看吧!");
alert("点个看吧!")
echo "点个看吧!"

你点的每个“在看”,我都认真当成了喜欢

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接