前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >女神被打码了?一笔一划脑补回来,效果超越Adobe | 已开源

女神被打码了?一笔一划脑补回来,效果超越Adobe | 已开源

作者头像
小小詹同学
发布2019-11-13 00:03:29
5290
发布2019-11-13 00:03:29
举报
文章被收录于专栏:小詹同学小詹同学
本文经AI媒体量子位(公众号ID: QbitAI)授权转载,转载请联系出处。

女神的照片花得像个二维码,心不心痛,着不着急?

你需要一位PS高手。

或者,一只AI。

上面这个毫不违和的修复成果,就出自一个今年新诞生的图像修补算法之手。

和完好的原图比一比,还原度99+%,一眼望去,都是安吉丽娜·朱莉。

和从前的图像修复AI不同,它在补图的时候没指望一步登天:

蓝色轮廓是猜的

而是先勾出残存部分的轮廓,再猜出整张图的轮廓,最后把颜色填进去。

这个算法来自加拿大的安大略理工大学,叫做EdgeConnect,修复效果甚至超越了Adobe登上CVPR 2018的算法。

另外,名义上是修复图像,事实上可以有很多有趣的用法。先举一个栗子为敬:

你不想看到哪个人,用橡皮擦一擦,他就融化在背景里。

不过,最重要的是,它已经开源了。

描边大法的胜利

先集中观察一下修补效果。

首先,是人类与人类最好的朋友:

人类的朋友变成了大小眼,除此之外一切近乎完美,顺便让金发妹子的苹果肌立体了一些。

然后,是人文景观与大自然:

一切恢复了安静祥和,与橡皮擦侵袭之前的景象,并没有太大的不同。

只是最后这一张,牛顿的棺材板悬空的柱子,不知道能支撑多久。但对一只没有学过经典力学的AI来说,也是合理的修复方案了。

跟原图比过之后,再和其他图片修复选手比一场。其中一道题是:

选手们的表现是这样的:

其中,c是Adobe团队入选CVPR 2018的方法,e和f是本文的描边大法。

有趣的用法

有了这样优质的方法,当然要拓展一下用途才好。

就像开头提到的,把抢镜的人类踢出去,是其中一种思路。

想把眼镜摘掉的话,也是同样的道理:

要让两座山看起来更般配,还是这个思路:

停,换一个思路。

把两张图拼起来怎么样?

比如有两只木屋,一个像夏天,一个像冬天。

把夏天的左边和冬天的右边拼到一起,夏天的画风,便可以温暖冬天的冷。

两个肤色不同、脸型不同的妹子,也可以合体:

AI小画家:先构图后上色

如果说以前那些修补图像的GAN只是用训练数据填充,那EdgeConnect就是在模仿画家的思路。

画家作画时,总是先把不同物体、不同颜色的部分用线条分割开来。先用线条构图,然后再填充颜色。

以前面的花瓣为例,以前的算法在恢复图片时边缘出现了扭曲,因为它们只是对图像进行平滑过渡或者模糊处理,所以在色差变化明显的边缘不能很好地与背景区分。

但是,一张图中不止有颜色变化平滑的部分,也包含不同颜色区域的边缘。以往的GAN难以准确地重建这些物体边缘。

而EdgeConnect是先把图片已知部分转换成一幅“白描画”,用神经网络补全残缺的笔画,然后在此基础上填充颜色。

EdgeConnect将图像修复模型分为两大部分:边缘生成器(edge generator)和图像补全网络(image completion network)。

边缘生成器的作用,就是脑补缺失区域里物体的描边,生成幻觉边缘(hallucinated edges)。

要脑补空白部分的描边,直接输入残缺的彩色照片是不行的。需要先用边缘探测器 (Edge Detector) 把照片变成不完整的白描稿,再让生成器把这它补全。

探测器观察的是已知区域。它对色彩区分越仔细,给已知区域描出的边缘线,就越密集。

黑线是描的,蓝线是脑补的 (不适用于下图)

已知区域的线条密了,边缘生成器为空白部分脑补的边缘线,也就密了。

σ越小,探测越灵敏,脑补线条越密集

而线条过于稀疏的话,图像修复的质量就不会太好 (比如,只描出了右眼的轮廓↑↑↑) 。

那么,如果一条边缘线也没有呢:

AI几乎是完全依赖从前见过的人脸特征,想象出一张脸来。额头显得有些空旷了。

完成白描图以后,我们就能给图片上色,这一步类似于之前Philip Isola等人提出了的条件GAN框架pix2pix

如果你还有印象,应该记得它能把抽象的简笔画变成一只可爱的猫咪。

而图像补全网络与pix2pix不同之处在于,除了补全的边缘信息外,它还有一个残缺的彩色图像作为输入。

图像补全网络能根据已有的色彩信息,预测出缺失区域的颜色,并且要保证颜色变化不至于太突兀。

除了以上两个部分外,EdgeConnect还包含一个端到端的可训练网络,作用是结合前面的边缘生成和图像补全,进一步填补缺失区域的细节。

传送门

开源PyTorch实现: https://github.com/knazeri/edge-connect

论文地址: https://arxiv.org/abs/1901.00212

我爱小詹

/ 今日互动 /

留言主题 : 看了本文 ,你有什么想法可以应用呀哈哈 ?

留言格式 —— Day xx : blablabla ;这里强调下 ,不符合主题和格式的打卡不移入精选,打卡无效噢 !兑换的时候会核实打卡情况 ,断打卡的记得从 Day.01 开始 ~

推荐阅读:

「时间」与「空间」复杂度

LeetCode 系列——双指针问题 。

这么硬的干货,不给个好看?!

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

本文分享自 小詹学Python 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 描边大法的胜利
    • 有趣的用法
    • AI小画家:先构图后上色
    • 传送门
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档