前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么有些画面让你终生难忘?GAN来告诉你原因

为什么有些画面让你终生难忘?GAN来告诉你原因

作者头像
量子位
发布2019-11-10 15:31:30
4710
发布2019-11-10 15:31:30
举报
文章被收录于专栏:量子位
十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI

GAN又做了件了不起的事。

提到达芬奇的《蒙娜丽莎》,那张神秘的微笑立即浮现脑海。

提到梵高的《星月夜》,那片迷幻的夜空也仿佛历历在目。

上:《蒙娜丽莎》;下:《星月夜》

我们深知一张图片胜过千言万语,但到底为什么那些著名的画作即使很久没再看过,也能让人如此印象深刻呢?

或许你了解其中原理,但现在有一个更简单粗暴且直观的方法:

问问AI,让GAN给你模拟一个过程

这个神奇的技术叫GANalyze,来自麻省理工学院(MIT)。

什么是GANalyze

简单来说,GANalyze就是一个使用生成模型来研究认知特性的框架

认知特性可以包括记忆力、美学或者情感效价等。

MIT电气工程和计算机科学助理教授Phillip Isola说:

关于记忆性的文章有很多,但是这种方法可以让我们想象出什么是记忆性。 它为我们提供了一个难以用语言表达的视觉定义。

这项研究是建立在MemNet基础之上。简单来说,MemNet这个模型会对图像的可记忆性进行评级,并且还能强调图像中的哪些特征会对决策产生影响。

而GANalyze使用了GAN技术,在一张图像从“无人问津”到“印象深刻”的过程中,将其可视化

量子位根据在线测试工具实验了一波,结果如下:

我们可以看到一个在竹林中较为模糊的熊猫,逐渐转变为特点鲜明的熊猫:黑色的眼睛、耳朵、爪子,和它白色的部分形成鲜明对比。

这个GAN有三个部分组成:

assesor(评估器):基于MemNet,打开目标图像的记忆旋钮,并计算如何达到预期的效果; transfomer(转换器):执行指令; generator(生成器):输出最终的图像。

来看下这张汉堡变得令人印象深刻的过程:

从左至右的变化不禁让小编想起一句著名Rap:你看这个汉堡它又大又圆~

研究人员利用GANalyze在生成图像的过程中,详细的展示了让图像或场景脱颖而出的因素。

被试者记忆最深刻的图像具有以下特点:

· 具有明亮的颜色 · 背景简单 · 处于画面突出的中心位置

研究的合著者Lore Goetschalckx表示:

人类的大脑在进化过程中最关注这些特征,而这正是GAN所注意到的。

但最具美感的图像并不是最让人印象深刻的。

GitHub代码

这么有意思的项目当然已经在GitHub上开源: https://github.com/LoreGoetschalckx/GANalyze

研究人员提供了Tensorflow和Pytorch实现。也通过下面的途径正式测试过:

PyTorch >= 0.4 (1.1.0) 和 torchvision >= 0.2.2 (0.3.0) Tensorflow 1.12.0 和tensorflow_hub 0.1.1 (针对预训练过的BigGANs) numpy, scipy, PIL

研究人员建议参考本地文档来获得更详细的安装说明。但是,如果是在Ubuntu的linux服务器上,以下命令可能就足够了:

代码语言:javascript
复制
# Tensorflow 1.12 with GPU support (highly recommended)
pip install tensorflow-gpu==1.12
# Tensorflow hub (for pretrained BigGAN modules)
pip install tensorflow_hub==0.1.1

# PyTorch and torchvision with latest version of cuda toolkit.
# Note: Anaconda is the recommended package manager for PyTorch.
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch

要clone这个repo,可以运行如下代码:

代码语言:javascript
复制
git clone https://github.com/LoreGoetschalckx/GANalyze.git
cd GANalyze

可以首先下载GANalyze项目页面上托管的预训练的generator和assesor。

也提供了用于下载Tensorflow或PyTorch模型的实用程序脚本,可以使用以下命令进行调用:

TensorFlow:

代码语言:javascript
复制
cd tensorflow; sh download_pretrained.sh

Pytorch:

代码语言:javascript
复制
cd pytorch; sh download_pretrained.sh

训练代码如下:

代码语言:javascript
复制
python train_tf.py \
 --generator_arch biggan --generator_model biggan256 \
 --assessor memnet \
 --transformer OneDirection None \
 --train_alpha_a -0.5 --train_alpha_b 0.5 \
 --gpu_id 0 --num_samples 400000 --checkpoint_resume 0

测试代码如下:

代码语言:javascript
复制
python test_tf.py \
--alpha 0.1 --test_truncation 1 \
--checkpoint_dir checkpoints/biggan__biggan256/memnet/OneDirection_None/<commit_hash> \
--checkpoint 400000 \
--gpu_id 0

One More Thing

其实,GANalyze除了上述功能外,研究人员发现它还有很多潜在的应用价值。

例如,可以通过增强现实系统中的对象来检测甚至治疗失忆

还可以通过创建令人难忘的图形,帮助读者记住信息,这可能会给教育带来革命性的变化

那么,你觉得这样的GAN技术还能为我们带来怎样的福利呢?

传送门

博客: http://news.mit.edu/2019/what-makes-an-image-memorable-ask-computer-1101

论文: http://ganalyze.csail.mit.edu

GitHub: https://github.com/LoreGoetschalckx/GANalyze

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是GANalyze
  • GitHub代码
  • One More Thing
  • 传送门
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档