当前位置: 首页 > 编程日记 > 正文

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

640?wx_fmt=jpeg

参加「CTA 核心技术及应用峰会」,请扫码报名 ↑↑↑


译者 | linstancy

责编 | 琥珀

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


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


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


链接:

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


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


640?wx_fmt=gif


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


  • 如何使用和安装?


首先保证 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”论文中详述了该方法原理及实现效果。


640?wx_fmt=png


链接:

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 中,通过特征混合将一只动物的姿态变为模型所定义的姿势。


640?wx_fmt=png

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


总的来说,该方法的一大优势在于只需要训练 AdaIN 或 CBN 结构的 GAN 模型就能实现,无需额外训练其他模型。它能够用于 GAN 模型所生成的任意图像,适用于广泛的图像语义操作。此外,通过与流形投射 (Manifold projection) 结合,该方法能够对真实图像的局部语义信息进行编辑处理,并大量实验中展现了强大的性能。


方法


  • sCBN


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

 

       640?wx_fmt=png

图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,就能够实现这种效果。


640?wx_fmt=png

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


  • 真实图像应用


通过寻找一个流形投射方法,使得隐变量 z 满足 G(z) 与 x 大致相等,实现真实图像的语义信息进行编辑。在获得 x 的倒数后,可以通过应用相同的流程来更改 x 的部分标签信息或将其他图像特征混合到 x 中。实际的图像编辑流程如下图4所示,在图像变换的最后一步,这里采用一个泊松混合(Poisson blending)的后处理步骤。这主要是因为 GAN 模型没有解耦图像背景信息的能力,而通过泊松混合操作能够去除感兴趣区域的一些伪像。


640?wx_fmt=png

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


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


640?wx_fmt=png

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


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


640?wx_fmt=png

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


实验


  • 结果分析


这里,将所提出的方法与 DCGAN 模型相结合,并在多个不同图像数据集来验证方法的有效性。此外,为了验证流形投射和 DCGAN 模型的表征能力,这里还进行一系列的非空间变换的消融实验 (ablation experiments)。


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


640?wx_fmt=png

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


图8显示的是使用特征混合所得到的标签拼贴结果。可以看到,该方法成功地修改了图像的语义分割,而不会破坏原始图像的质量。这种方法对于转换区域的语义排列信息有很强的鲁棒性。


640?wx_fmt=png

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


  • 每层的拼贴效果


通过一系列的消融研究来探究模型中每层修改的影响。下图9是 sCBN 方法分别应用于 (1) 所有层,(2) 最靠近输入层,(3) 除了第一层的所有层,所得到的结果。可以看到,越靠近 z 层,该方法对于全局特征的影响越明显;而越靠近 x 层,sCBN 方法对就局部特征的影响越显著。


640?wx_fmt=png

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


同样,下图10展示的特征混合方法,则是以不同的混合权重,应用于不同层 (l=1,2,3,4) 所得到的结果。可以看到,当用于第一层时,全局特征将受到影响,而局部特征将会被保留。而当该方法应用于靠近 x 层时,所得到的结果则相反。因此,用户可以根据需要,更精细地选取混合权重系数来控制局部特征转换及其密度。


640?wx_fmt=png

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


  • 真实图像的转换


为了通过分类精度和人类感知测试来定量评估方法在真实图像转换方面的表现,将 sCBN 方法应用于 ImageNet 数据集中的图像,并进行 (1) cat→big cat,(2) cat→dog 以及 (3) dog→dog 的变换。随后,以 UNIT 和 MUNIT 为基准,将本文所提出的方法与其进行对比分析,结果如下图11。可以看到,在 top-5 错误率方面,该方法的表现更优于其他两种基准,这也验证了它在真实图像变换方面的有效性。


640?wx_fmt=png

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


结论


本文提出一种新颖有效的图像编辑策略,通过 sCBN 和特征混合方法,对图像中间特征表征进行处理,从而达到修改语义信息、编辑图像的目的。其中条件正则化方法不仅能够处理类别条件,还能处理其他的信息,在未来的研究中可以将该方法应用于更广泛的非图像数据集。然而,在研究中仍发现一些不足之处:表达能力受限的生成网络,尤其是在与流形投射结合用于处理真实图像变换,未来的研究中相关问题仍值得深入探究。


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


精彩推荐

5月25-27日,由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心隆重召开。首届CTA核心技术及应用峰会将围绕人工智能,邀请技术领航者与开发者共同探讨机器学习知识图谱的前沿研究及应用。


同时,我们推出会议双日开发者盲定票,仅售299元(原票价1099元),限量30张。扫描下方二维码,或添加小助手微信1731967109,备注【CTA】,了解大会详情以及票务问题


640?wx_fmt=png


推荐阅读

  • “你行你上”:有本事跟OpenAI Five打一把DOTA?

  • 以女大学生相亲为例,给你讲明白数据挖掘算法

  • Python分析《权力的游戏》最终季...... | 附源码

  • 谷歌大神Jeff Dean点赞网红博士论文:技术头条

  • 滴滴全链路压测解决之道 | 技术头条

  • 手机导航已死!

  • 如何嫁给年入百万的阿里人?

  • 《捕鱼达人》幕后的开发引擎玩起区块链, 区块链游戏的春天已近?| 人物志

  • 程序员如何向女友解释:为啥软件都要装C盘?


640?wx_fmt=png

点击“阅读原文”,直接参与大会报名

相关文章:

【视频】视频传输协议:RTSP、RTP、RTCP、RTMP、HTTP

一、RTSP、RTP、RTCP RTSP、RTP、RTCP是一组协议,其中RTSP在应用层、RTP和RTCP在传输层。RTP用于传输流媒体数据,而RTCP对RTP进行控制、同步。 二、RTSP、RTMP、HTTP 1、共同点 RTSP、RTMP、HTTP都是用在应用层。理论上这三种协议都可以做直播和点播,但直播一般用RTSP和…

ActiveMQ5.14.5配置参数详解

Activemq-.xml1.加载properties配置参数。下面加载是访问broker的身份信息&#xff0c;即用户名和密码 <bean class"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name"locations"><value>file:…

正则表达式实现最小匹配

正则表达式默认情况下实现的是最大化匹配&#xff0c;这在有些情况下是非常不愿意出现的&#xff0c;比如下面这段代码&#xff1a; # starting IndiaInventoryAPP.exe" ~~DisplayVariableValues "parameterGroup,mailRecipients,ModuleArgs"~DisplayVariableVa…

Azure系列2.1.15 —— SharedAccessBlobPolicy

&#xff08;小弟自学Azure&#xff0c;文中有不正确之处&#xff0c;请路过各位大神指正。&#xff09; 网上azure的资料较少&#xff0c;尤其是API&#xff0c;全是英文的&#xff0c;中文资料更是少之又少。这次由于公司项目需要使用Azure&#xff0c;所以对Azure的一些学习…

Facebook AI新架构:全景FPN,同时完成图像实例与语义分割 | 极客头条

参加「CTA 核心技术及应用峰会」&#xff0c;请扫码报名 ↑↑↑整理 | 刘旭坤、Jane出品 | AI科技大本营&#xff08;id&#xff1a;rgznai100&#xff09;实例分割和语义分割长期以来都是运用不同的神经网络架构来完成的&#xff0c;虽然最近出现了将语义和实例分割进行结合的…

【经验】向word中插入格式化的代码块

参考博客&#xff1a;如何在word中插入代码块 1、打开http://www.planetb.ca/syntax-highlight-word网站 语法高亮显示Word文档中的代码 2、将你的代码复制进去&#xff0c;选择编译语言&#xff0c;点击“Show Highlighted” 3、复制格式化后的代码 4、直接在word中粘贴代…

用路由器限制局域网的带宽流量

有时在上班的时候&#xff0c;带宽并不是很高&#xff0c;但又因个别人过量占用带宽导致其它人正常上网的速度都很慢&#xff0c;正常的工作都无法开展&#xff0c;所以对局域网内主机带宽流量的管理就必不可少了。 公司并不是很多的电脑&#xff0c;且预算不是很多的&…

Lumen / Laravel 5.5 使用网易邮箱 SMTP 发送邮件

2019独角兽企业重金招聘Python工程师标准>>> Laravel 是目前最流行的PHP框架&#xff0c;而Lumen 是 Laravel 的精简版&#xff0c;主要用于接口开发。 Laravel 邮件发送服务基于 Symfony 组件 Swift Mailer。 本文记录了在 Lumen / Laravel 5 环境中&#xff0c;使…

终于有人把数据、信息、算法、统计、概率和数据挖掘都讲明白了!

插画设计&#xff1a;万娟01什么是数据数据是什么&#xff1f;这几乎成为一个我们熟视无睹的问题。有不少朋友脑子里可能会直接冒出一个词“数字”——“数字就是数据”&#xff0c;我相信会有一些朋友会斩钉截铁地这么告诉我。一些朋友会在稍作思考后回答“数字和字符、字母&a…

【经验】配置Anaconda源

配置清华源&#xff1a; conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

oracle update批量修改sql语句编写

update Suncco_Tz_Tbl_Task t set t.taskname网络部储备&#xff08;室分&#xff09;土建 , t.tasktype交换-交换主设备-电路域设备 , t.taskbyarea思明 , t.addresscoding2422BG00003735 update SUNCCO_TZ_TBL_TASK task set task.taskname11 , task.type33 where task.TA…

深入卷积神经网络背后的数学原理 | 技术头条

参加「CTA 核心技术及应用峰会」&#xff0c;请扫码报名 ↑↑↑作者 | Piotr Skalski译者 | Monanfei编辑 | 十月Rachel、Jane出品 | AI科技大本营&#xff08;id&#xff1a;rgznai100&#xff09;【导读】在计算机神经视觉技术的发展过程中&#xff0c;卷积神经网络成为了其中…

【AI】在win10上安装TensorFlow2,安装成功,但是import tensorflow时报错:pywrap_tensorflow.py“, line 58

目录一、问题描述二、原因分析三、处理过程四、解决方法五、安装2.1和2.0命令的不同点1、TensorFlow2.02、TensorFlow2.1六、使用TenforFlow2.0-GPU时&#xff0c;报错:cudart64_100.dll not found1、错误信息如下2、原因分析3、解决方法七、测试TensorFlow是否支持GPU1、测试对…

SpringMVC4.x源码分析(五):request请求寻址HandlerMethod原理

2019独角兽企业重金招聘Python工程师标准>>> mvc:annotation-driven会将每一个Controllor内的被RequestMapping注解标注的方法解析为HandlerMethod对象&#xff0c;并存储在RequestMappingHandlerMapping的MappingRegistry属性中&#xff0c;寻址就是根据request请求…

在ASP.NET中指定出错页面,不让代码外泄!

在ASP.NET中指定出错页面&#xff0c;不让代码外泄&#xff01;在ASP.NET中原始的出错页面会暴露部分源代码&#xff0c;由此带来了潜在的安全隐患。ASP.NET允许应用程序出错时显示用户指定的页面&#xff0c;方法是在web.config文件中修改配置信息。 <? xml version"…

【经验】提高github的下载(克隆)速度

原理&#xff1a; 利用码云来克隆GitHub项目&#xff0c;然后从码云下载。 参见博客&#xff1a; 最详细的图文教程帮你解决GitHub下载慢或下载失败问题&#xff08;2019.8.10亲测有效&#xff09;

Erlang之父给程序员的两点忠告 | 缅怀

整理 | 伍杏玲出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;北京时间 4月20日&#xff0c;据Erlang Solutions、Erlang Factories的创始人Francesco Cesarini的推特称&#xff0c;Erlang之父Joe Armstrong于4月20日去世&#xff0c;享年68岁。Francesco怀念道&am…

如何为你的博客文章自动添加版权信息?

转自:http://www.chinaz.com/web/2016/0616/541282.shtml https://www.feifanblog.com/ 好长时间没有分享关于网络技术的文章了&#xff0c;昨天有位朋友问我&#xff1a;“你博客每篇文章末尾的版权声明都是我自己手动添加的吗&#xff1f;”&#xff0c;看到这个问题我想很多…

2011-11-27

大三&#xff0c;这个关键时刻&#xff0c;目前自己正在写软件课程设计程序-教材订购系统&#xff0c;加油&#xff01;努力&#xff01;转载于:https://blog.51cto.com/3122770/728090

【Qt】Qt编码风格、命名约定

1、类名称以大写字母开头、函数名称以小写字母开头&#xff0c;并使用驼峰命名法&#xff1b;类名使用名词或名词短语、函数名使用动词或者动词短语&#xff1b; 2、常量应当大写并且尽可能在类的作用域内创建成枚举值&#xff0c;全局常量和宏通常是大写&#xff1b; 3、布尔变…

UC伯克利开源照片“隐写术”StegaStamp,打印照片能当二维码用!| 技术头条

参加「CTA 核心技术及应用峰会」&#xff0c;请扫码报名 ↑↑↑作者 |CV君来源 | 我爱计算机视觉&#xff08;id&#xff1a;aicvml&#xff09;要说目前最火的用到手机摄像头的应用是什么&#xff0c;毫无疑问非二维码识别莫属了。微信带起来的二维码热&#xff0c;几乎已经改…

你为世界杯而战,我为生活而战!

这什么23时直播揭幕战俄罗斯vs沙特 开始时间!很庆幸见到了本世界坏中第1个球!(四年一次比赛&#xff0c;四年一博!)接下来看看我在奋斗什么?(人生随时进行比赛&#xff0c;错了、对了、再错了、再对了、只要不放弃学习就有未来!)********************************************…

【C++】重载、重写、隐藏

1、重载&#xff1a;在同一个作用域中两个及以上的函数名相同但是参数个数或类型不同时构成重载&#xff0c;重载的本质是&#xff0c;编译后的函数会有不同的签名&#xff1b; 2、重写&#xff1a;这是类继承中的概念&#xff0c;基类中virtual标记的函数&#xff0c;在派生类…

有了它,AI甚至可以让你知道对方是否真的爱你?

“你到底爱不爱我&#xff1f;”这或许是恋爱双方出现频率最高的问题&#xff0c;想要知道对方大脑在想什么&#xff0c;并不是什么天方夜谭&#xff0c;通过科学技术还真的有望实现。不过&#xff0c;让如此大胆的想法变为现实&#xff0c;我们需要借助什么技术呢&#xff1f;…

基于jwt的用户登录认证

最近在app的开发过程中&#xff0c;做了一个基于token的用户登录认证&#xff0c;使用vuenodemongoDB进行的开发&#xff0c;前来总结一下。 token认证流程&#xff1a; 1&#xff1a;用户输入用户名和密码&#xff0c;进行登录操作&#xff0c;发送登录信息到服务器端。 2&…

跨平台网络游戏趋势和优势

跨平台网络游戏趋势和优势 前几年还是网页游戏蓬勃发展的状态&#xff0c;就有分析指出从明年开始网页游戏市场已经饱和&#xff0c;想想几年前客户端游戏也是同样的窘境&#xff0c;如果将桌面、移动设备、网页统称一个词汇的话&#xff0c;那就是终端&#xff0c;现在各种的终…

IAR生产HEX文件

刚刚接触IAR&#xff0c;编译默认生成的是.a90文件&#xff0c;但直接用avr studio下载时提示非正规HEX文件&#xff0c;不给我下载&#xff0c;郁闷了。 其实也简单&#xff0c;如下图所示配置文件后面加几行字就OK了。 //Output File -Ointel-extended,(XDATA).eep -Ointel-e…

【Qt】重新认识QObject

1、QObject父子对象的是设计模式中组合模式的实现。父对象和基对象不是一个概念&#xff0c;前者是在运行时管理子对象&#xff0c;是动态的&#xff0c;后者是在编译时判定派生关系&#xff0c;是静态的。 2、每个QObject至多有一个父对象&#xff0c;父对象中将子对象的指针放…

抛弃VS Code,我还能用啥编辑器?| 技术头条

作者 | Abhishek Prakash译者 | 苏本如责编 | 屠敏转载自 CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;微软的VS Code无论对Web开发人员或其他程序员来说&#xff0c;都是一款优秀的代码编辑器。凭借其出色的功能&#xff0c;VS Code被认为是最好的开源代码编辑器之一。…

WebClient UI和Tomcat的启动器

WebClient UI 我们在WebClient UI的开发工具里点了Test按钮&#xff0c; 会在浏览器以测试模式打开选中的view。这背后发生了什么事&#xff1f;注意浏览器地址栏的bspwd_cmp_test&#xff0c;这是什么东西&#xff1f;Jerry倾向于把它当作是CRM WebClient UI component在测试模…