手机照片脑补成超大画幅,这个GAN想象力惊人 | Keras实现

斯坦福学生利用GAN技术实现图像的自动补全,使狭窄图片变得开阔。一位开发者使用Keras实现了这一想法,并将其分辨率提高到256×256,引发了热烈讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

就像这样:


image

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

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

Keras实现

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

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

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

你该不会是用训练集做的测试吧?

牛逼,喜欢这种很实用的东西。

效果太好了,简直不像是真的。

除了能看出原图和生成内容的边界之外,其他简直完美。

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

4:3画幅的电影可以无暇延伸成21:9的了!还可以把旧电影放大成4k画面!

如果我把我的半个脸给它,能给我恢复过来么?

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

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

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


image

效果勉勉强强。

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

训练过程

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


image

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


image

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

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


image

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


image

彩蛋

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

image




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


image

传送门

Keras实现:
https://github.com/bendangnuksung/Image-OutPainting

相关论文:

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

海报:
http://marksabini.com/files/cs230__Painting_Outside_the_Box_Image_Outpainting_with_GANs__poster.pdf

论文:
http://marksabini.com/files/cs230__Painting_Outside_the_Box_Image_Outpainting_with_GANs__report.pdf

原作者的代码:
https://github.com/ShinyCode/image-outpainting

原文发布时间为:2018-08-01
本文来自云栖社区合作伙伴“量子位”,了解相关信息可以关注“量子位”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值