暴力解剖GAN!MIT、港中文团队GANpaint,一笔成画不是梦
【新智元导读】MIT开发的GANpaint工具可以轻松修图,允许用户上传任何照片进行编辑,而不会破坏其原始细节。除了帮助艺术家和设计师快速调整视觉效果外,研究人员表示,这项工作可能有助于计算机科学家识别“虚假”图像。
当我们还沉浸在GauGAN凭借几根线条,就让草图秒变风景照的黑科技之时,MIT也带来了一项类似的黑科技。
自从GAN诞生以来,一次一次创造着奇迹:填充纹理、变脸易容。但这一次,这款名叫GANpaint的神器,简单几笔就能成画。
麻省理工学院和IBM的团队推出“GANpaint Studio”,允许用户上传任何照片,然后对照片进行创作,例如更改对象的大小或者添加全新的项目(如树木和建筑物),接下来这个系统可以自动生成逼真的摄影图像。
除了帮助艺术家和设计师快速调整视觉效果外,研究人员表示,这项工作还可能有助于计算机科学家识别“虚假”图像。
也难怪网友惊呼:“以后拆楼都不用费劲了!”
那么这款神器如何操作呢?先奉上传送门:
http://gandissect.res.ibm.com/ganpaint.html?project=churchoutdoor&layer=layer4
首先,在界面下方选择底图;其次,在左侧选择一个对象,如“草”、“门”、“天空”等等;然后选择要进行的操作,例如“绘画”、“删除”等;最后,只需要在图片中想要更改的区域涂抹几笔即可。
“现在的机器学习系统就是黑盒子,我们并不总是知道如何改进,有点像你小时候通过拍打旧电视机来修正图像不能显示的bug。”论文主要作者、麻省理工学院计算机科学与人工科学博士生David Bau说。他将该项目描述为计算机科学家首次能够实际“用神经元绘制神经网络”。
设计师的福报
项目领导人、麻省理工学院教授Antonio Torralba认为该项目具有巨大的潜在应用。设计师和艺术家可以使用它来更快地调整视觉效果。想象一下,一位导演拍完戏后发现,背景中少一个对剧情很重要的道具!这个时候GANpaint Studio就可以来大显身手了。
通过分析需要删除的“人造”单元,GANpaint Studio还可用于改进和调试正在开发的其他GAN。除此之外,它还可以帮助研究人员更好地理解神经网络及其底层结构。
一个意外的发现是系统实际上似乎已经学习了一些关于对象之间关系的简单规则。它自己会通过某种方式,知道什么东西应该出现在什么地方,不应该出现在不属于它的地方(例如天空中不应该出现窗户)。
在不同的环境中,它可以创造出不同的视觉效果。例如,假设图像中有两个不同的建筑物,我们需要为这两个建筑物添加两个门,GANpaint Studio并不会粗暴的复制两个相同的门上去,而是会添加两扇不一样的门。
“所有绘图应用程序都将遵循用户指令,但如果用户命令将对象放在不合理的位置,我们可能决定不绘制任何内容”Torralba说。“这是一个具有强烈个性的绘图工具,它打开了一个窗口,让我们了解GAN如何学会代表视觉世界。”
“这项工作确实简直令人兴奋,让我们直接看到GAN学习东西的方式,开始看起来有点像常识认知。”芬兰阿尔托大学副教授Jaakko Lehtinen说,“我认为这种能力是拥有可以在人类世界中发挥作用的自主系统的关键基石,这种系统是无限的,复杂的,不断变化的。”
找出“假”图像
该团队的目标是让人们更好地控制GAN网络。但是他们认识到,随着权力的增加,滥用的可能性非常可怕,试想一下将这些技术用在医疗照片上将会多么的可怕!论文共同作者朱俊彦表示,他相信更好地了解GAN,包括GAN所犯的错误,这将有助于研究人员更好地消除假冒的照片。
“你需要先了解你的对手才能防御它,”CSAIL的博士后朱俊彦说。“这种理解可能有助于我们更轻松地检测假图像。”
为了开发该系统,研究团队首先确定了GAN内部与特定类型的对象(如树木)相关的单元。然后,单独测试这些单元,看看是否摆脱它们会导致某些物体消失或出现。重要的是,他们还确定了导致视觉错误(工件)的单元,并努力将其移除以提高图像的整体质量。
IBM的研究科学家Hendrik Strobelt说:“每当GAN产生非常不切实际的图像时,这些错误的原因以前就是一个谜。但现在我们发现这些错误是由特定的神经元触发的,那么就可以先停掉这个神经元,以提高图像的质量。”
“这个系统为更好地理解GAN模型打开了一扇大门,这将有助于我们对GAN进行任何类型的研究,”Lehtinen说。
GANpaint凭什么如此神奇?
生成对抗网络(GANs)最近在许多实际应用中取得了令人印象深刻的结果,并且随着样本质量和训练稳定性的提高,出现了许多GAN的变体。然而,对GAN的可视化和理解在很大程度上是缺失的。
因此,来自MIT、香港中文大学、IBM等学校/机构的David Bau、朱俊彦、Joshua B.Tenenbaum、周博磊等人发表论文,并在文中提出了GANpaint这款工具。他们将于下个月在洛杉矶举行的SIGGRAPH会议上发表演讲。
在这项工作中,研究人员提出了一个分析框架来在单元、对象和场景级别可视化和理解GAN:
- 首先,用基于分段的网络剖分方法识别一组与对象概念密切相关的可解释单元;
- 然后,通过测量“干预”的能力来量化可解释单位的因果效应;
- 最后,通过将发现的对象概念插入到新图像中,以此来检查这些单元与其周围环境之间的关系。
研究人员的主要目标是分析如何通过GAN生成器的内部表征,来对“树”等对象进行编码:
通过剖析(dissection)来表征单元
使用干预(intervention)测量因果关系
实验结果
工作人员研究了在LSUN场景数据集上训练的三种Progressive GAN的变体。为了对生成的图像进行分割,我们使用一个最近的模型 (Xiao et al., 2018) 在ADE20K场景数据集上训练。
该模型可以将输入图像分割为336个物体类,29个大物体和25个材质类。为了进一步识别专门用于对象部件的单元,我们将每个对象类c扩展为另外的对象部件类ct,cb,cl和cr,分别表示连接组件的边界框的顶部,底部,左半部分或右半部分。。
诊断和改进GANS
框架不仅可以揭示GAN是如何成功地生成真实图像的,也可以分析结果失败的原因。
如图8所示,图8a显示了几个注释单元,负责GAN结果中的visual artifacts;图8b显示了artifacts被成功移除,并且自由像素保持不变的改进的生成结果。
图8: (a)两个负责GAN结果中 visual artifacts的示例单元。总共有20个单元。通过消融这些单元,我们可以修复(b)中的artifacts,并显著提高(c)中的视觉质量。
通过消融定位因果单元
图9:测量在会议室图像训练的GAN中消融单元的效果
如图10所示,虽然可以在会议室图像中很好地移除窗户,但是在其他场景中删除窗户则比较困难。
图10:比较在五个场景类别训练的GAN中消融20个窗户单位的效果。
通过插入表征上下文关系
也可以通过强制单元和插入这些功能到场景中的特定位置来学习GAN的操作。图11显示了在教堂场景中插入20层门单元的效果。
图11:通过在表示中的一个像素处将20个causal units设置为固定的高值来插入 door units。
参考链接:
MIT:http://news.mit.edu/2019/teaching-artificial-intelligence-to-create-more-common-sense-visuals-0701
论文:https://arxiv.org/pdf/1811.10597v1.pdf