夏乙 伊瓢 发自 凹非寺
量子位 报道 | 公众号 QbitAI

斯坦福两名学生Mark Sabini和Gili Rusak,在CS230的期末作业里把图像补到了取景框外边。

就像这样:

手机照片脑补成超大画幅,这个GAN想象力惊人|Keras实现-深度学习中文社区

原本像手机拍摄的照片一样小的一幅画,一下子变成了开阔的大图。

机器根据它天才的“脑补力”,将白天和傍晚的竖幅海景图脑补出左右两侧的样子还原出了方形海景图照片。看上去除了左右两侧有种照片被水泡了的模糊感之外,就是完整的一张照片。

Keras实现

最近,印度班加罗尔一位小哥Bendangnuksung(简称Bendang)看中了这种算法,决定把它发扬光大。于是,他根据论文中的训练方法,打造了一个超低门槛的Keras实现,还把可处理的分辨率从128×128提升到了256×256。

一经推出,在Reddit上引起轰动。

大家纷纷表示过于厉害了:

你该不会是用训练集做的测试吧?
牛逼,喜欢这种很实用的东西。
效果太好了,简直不像是真的。
除了能看出原图和生成内容的边界之外,其他简直完美。

甚至还开脑洞想出了应用场景:

4:3画幅的电影可以无暇延伸成21:9的了!还可以把旧电影放大成4k画面!
如果我把我的半个脸给它,能给我恢复过来么?

但是也有不少网友指出了一个小问题:这个模型的训练和测试过程很不规范,Bendang展示的效果图,是训练数据中就包含的。

Bendang解释说这个Keras实现,是用海滩数据集训练的,整个数据集一共就350张图,(你们就理解一下嘛)。

然后,他也给出了一张真正的测试效果:

效果勉勉强强。

有了Keras实现,这么cool的想法确实好上手很多,不过在训练和测试这件事上,大家不要学印度小哥。

训练过程

在论文中,这个模型的用到的训练集相当大,有超过3万张图片。不过每张图片只是128×128的小图。

手机照片脑补成超大画幅,这个GAN想象力惊人|Keras实现-深度学习中文社区

首先,按照这个要求准备数据库,找到36500张128×128的照片,保留100张做测试集。

手机照片脑补成超大画幅,这个GAN想象力惊人|Keras实现-深度学习中文社区

处理好的数据,通过这样一个DCGAN构架训练。

后面测试集的结果如下,第一排是输入的窄图,第二排是输出效果,第三排则是这张图的原图。

手机照片脑补成超大画幅,这个GAN想象力惊人|Keras实现-深度学习中文社区

比较一下第二排和第三排看出,结果还不错,除了部分图片有一些明显的边缘之外,还是可以看出图像的连续性的。另外,还有五倍宽度版:

手机照片脑补成超大画幅,这个GAN想象力惊人|Keras实现-深度学习中文社区

彩蛋

这篇论文获得了CS230作业中的Outstanding Posters。在CS230的作业中,还有很多十分有趣的研究,比如说,Final Project Prize Winners第一名的作业,照着卫星图画地图。

手机照片脑补成超大画幅,这个GAN想象力惊人|Keras实现-深度学习中文社区

而且,量子位悄悄LinkedIn了一下几位拿到了第一名作者,貌似都是华人/华裔学霸(亮点自寻)。

手机照片脑补成超大画幅,这个GAN想象力惊人|Keras实现-深度学习中文社区

传送门

Keras实现:
github.com/bendangnuksu

相关论文:

Painting Outside the Box: Image Outpainting with GANs
Mark Sabini and Gili Rusak

海报:
marksabini.com/files/cs

论文:
marksabini.com/files/cs

原作者的代码:
github.com/ShinyCode/im

欢迎大家关注我们的专栏:量子位 - 知乎专栏

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI· 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态