照片有灵异鬼影?伯克利 x 陈启峰培育高能FCN“除灵师”

量子位·2018-06-16 15:03
这项技术可以把反光层和透射层分离开来,何者为实何者为虚,一目了然。

编者按:本文来自微信公众号“量子位”(ID:QbitAI),作者家栗子。36氪经授权转载。

古人云,捕风捉影。

捕风或许不那么容易,毕竟,能停下来的,就不是风了。

捉影的话,可以把神经网络放出来,它们的视觉可以很灵敏。

不过,神经网络要追的,是反光表面映照出来的倒影。

加州大学伯克利分校的研究人员,不喜欢在水族馆拍鱼的时候,照到一个灵异的自己。

于是,他们就利用用神经网络强大的感知能力,来除灵了。还中选了CVPR。

把反光层和透射层,分离开来,何者为实何者为虚,一目了然。

这,也是目前计算机视觉领域里面,一个非常美好的问题。

不过,这个除灵过程,没有灰飞烟灭的环节,实景和虚影都会好好地活着,且互不干扰。

现实主义表达方式

△ 中为CEILNet,右为伯克利

阴郁的街景,和阴郁的大叔,被神经网络的如炬目光,明明白白地洞察了。

并且,两者都保留了它们最纯粹的样子,没有交叠。

不过,漫长的旅途中,视角并非从一开始就那么清晰。

追影这个浪漫的问题,用数学符号来表示,是这样——

I∈ℝm×n×3,就是输入的含着倒影的图像。

△ 不是正确示范

图像(I),可以被建模成,透射层(T)与反光层 (R) 之和,即I = T + R。

目标是,把T层修复好,让原本想要的景色,不要受到R层的打扰。

这不是一个稳定、有唯一解 (well-posed question) 的问题,需要给一些额外的条件,才能更好地解决。

用几张图

以往的研究中,要去掉一幅图里的倒影,大多要输入好多幅图,或者需要得到人类清晰的指点。

可是,用几幅图来处理一幅图,很多时候是不现实的;需要人类的话,听起来也并不是那么厉害。

用一张图

最近,也有研究人员,实现了只需要单张图就能完成的除影术。

CEILNet,拿深度神经网络训练模型,用色彩和边缘的低层损失来训练的。但这种方法,不能直接让模型直接学习高层语义,这对捉影师来说,还是很遗憾的。

光有低层信息是不够的,特别是涉及到颜色模糊 (color ambiguity) ,或者是模型需要识别物体的时候。

本文的技术,就会识别灯啊,人脸啊这些物体的表征,并开心地除掉了它们的虚像。

疗效明显不同。

模型结构长这样

一个优秀的模型需要理解图像里的内容。

为了语义理解,团队用了hypercolumn特征——从一个用ImageNet数据集训练好的VGG-19网络上提取特征。

这样做的优点是,有用的特征,可以对输入的数据进行扩增。

另外,这个神经网络的感受野 (Receptive Fields) 很大,有513×513个像素,可以有效地聚集起五湖四海的图像信息。

神经网络的第一层,是个1×1的卷积,给特征降维用的,从(1472+3) 维降到64维。

后面跟着8层,都是3×3的扩张卷积 (Dilated Convolutions) ,扩张率从1到128不等。

所有的中间层,都有64个特征通道。

最后一层,用了一个线性变换,在RGB空间里,生成两幅图像。

损失函数很丰盛

特征损失

测量的是特征空间中,预测的透射层 (T) 和参考标准 (Ground Truth) 之间的距离。

低层高层信息结合起来,语义推理有助于分割图层。

把透射层(T) 跟参考标准都喂给VGG-19神经网络。

对抗损失

团队发现透射层的图像会受到色彩失真和残差的影响,才在损失函数里加上了这一项。

本环节的主角是CGAN,其中的判别模型,会识别真实透射图和生成透射层之间的差别。

通过训练,判别器会学到一个最适宜的损失函数,为下一步的分层优化打好基础,也让生成器的预测结果,更加接近真实。

Exclusion Loss

团队探索了一下透射层 (T) 和反光层 (R) 之间的差异——

研究人员发现,透射层和反光层的边缘,通常都不会重叠。

也就是说,一个边缘可能是T的,可能是R的,但不大会是它们共同所有的。

于是,团队把梯度域 (Gradient Domain) 里面,T层和R层的相关性降到最低,写出一个Exlusion Loss的函数。

其中,λT和λR这两个归一化因子 (Normalization Factors) 很重要,因为T层和R层之间,梯度幅值可能会不平衡——

R层如果比较模糊,梯度就小一些。

R层如果反射了强光,图上就会有一个非常亮的点,梯度则会很大。

数据集也虚实结合

训练数据,里面有5000幅合成图像,是用Flickr上随机找的10000张图两两合并,一为T层,一为R层。

假设两层处在不同的焦平面 (Focal Plane) 上,模糊度就有明显的差异。

还有,团队从90幅真实图像中提取了500个小块 (Patch) ,分辨率在256p-480p之间。

然后,要用无微不至的眼光观察图像——

·在室内还是户外
·光照条件,是日光还是白炽灯还是其他
·拍摄角度,是前视还是斜位照
·相机光圈,f/2.0— f/16

为了扩增数据,研究人员还随机调整了小块的尺寸,不过横纵比保持不变。

数据集建好之后,神经网络就要开始修行了。

训练过程中,数据跑了250次 (Epoch) ,批尺寸为1。

看看成绩

骄人的数据

来到测试阶段,团队先用PSNR和SSIM两套图像质量评价方法,来对比了一下自家神经网络,和前人算法生成的图像。

可喜可贺,伯克利的AI在两项比赛里,都获得了最高分。

另外,研究人员还在MTurk上搜集了人类观众的评价。

在两两对抗赛中,他们的图像先后战胜了只需输入一幅图的CEILNet,还有需要输入多幅图的Li and Brown。

这不是险胜,是80%以上的压倒性优势。

碾压了对手之后,就要感受一下损失函数里面,三项损失的表现如何——

又是经过SSIM和PRNS的鉴定,证实三者缺一不可,合体才能爆发最强的能量。

数据之外

比起数据,各位还是亲自审阅一下生成的图片,来得更实在。

先和CEILNet比一下,看T层,伯克利的小黄鸭坐的垫子上面,并没有灵异的影子了,因为影子比较完好地搬去了R层。

相比而言,对手的R层黑漆漆,该属于R层的部分,还以半透明的样子存在于T层。

后来,Li and Brown也加入了比赛,不过还是受到了伯克利AI的碾压。

虽然,那两位对手包包上印花,还是挺美的。

需要注意的是,伯克利的方法适用于各种环境下拍摄的图像,没有太多的限制条件,便于推广,这也是这只AI与其他选手之间,一个重要的不同。

+1
0

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000

下一篇

陈彤在新浪时“颁发”的《科技新闻发布规范》后来成为各大门户网站编写网络新闻的行业规范。

2018-06-16

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业