今年5月份的时候,Facebook推出过一项名为3D照片的新功能。然而,除了一段简短的视频和名字之外,几乎没有什么人提到它。但该公司的计算摄影团队刚刚公布了关于这个功能如何工作的研究成果,我自己进行了尝试,发现这些结果是非常引人注目的。
如果你没看过5月份的预告片,3D照片就像其他照片一样,将会出现在你的新闻订阅源中,当你滚动鼠标、触摸或点击它们、或倾斜你的电话时,照片就会像一个真实 小的立体的窗口一样,在视角上作了相应的改变。它不仅适用于普通的人和狗的照片,也适用于普通风景和全景照片。
这听起来有点异想天开,我也很怀疑是不是真的,但这种实际效果很快就赢得了我的认可,它确实让人感觉像是一个小的神奇的窗口,通过它可以进行观察,而不是某个3D模型——当然,即使它确实是这样的。这是它的实际效果:
GIF
我和Facebook的西雅图办公室的研究科学家Johannes Kopf谈了关于如何实现这些3D照片的方法,他的相机和计算摄影部门都在那里。Kopf与伦敦大学学院的Peter Hedman合著了这篇论文,描述了深度增强(depth-enhanced)图像产生的方法,他们将在8月份在SIGGRAPH上展示。
有趣的是,3D照片的起源并不在于如何增强快照(snapshots),而在于如何将VR内容的创作大众化。科普夫指出,“这都是合成的”。而没有哪个普通的脸书用户有工具或意愿来建造3D模型并去填充虚拟空间。
一个例外是全景和360度图像,他们通常足够宽,可以通过VR进行有效的探索。但这种体验也就只能比在几英尺外看商店柜台上画好一点,也没什么大的变革。缺乏的是任何深度感觉-因此,Kopf决定将深度添加到图像中。
我看到的第一个版本是用户移动他们的普通相机,模式捕捉整个场景;通过仔细分析视差(本质上,不同距离的物体在相机移动时如何移动不同的量)和手机运动,这个场景可以在3D中得到很好的重建(如果你知道它们是什么的话,可以用法线地图来完成)。
但是,从单个相机的快速成像中推断深度数据是一个需要耗费大量的CPU处理时间,尽管在某种程度上很有效,但作为一种技术,也相当过时。特别是当现在许多相机实际上有两个摄像头时,比如一对小眼睛。这款双摄像头手机将能够拍摄3D照片(不过也有计划将这一功能推向低端市场)。
通过同时捕捉两个摄像头的图像,即使是运动中的物体也可以观察到视差的差异。而且由于这两张照片的拍摄位置都是一样的,因此深度数据的噪音要小得多,减少了数据处理以达到可用的效果。
这是它是如何工作的。手机的两个摄像头拍下一对图像,然后设备立即开始自己的工作,从这些图像中计算出“深度地图”,这是一种编码框架中所有计算出的距离的图像。
结果是这样的:
苹果(Apple)、三星(Samsung)、华为(Huawei)、谷歌(谷歌)——他们都有自己的方法来实现这一点。
问题是创建的深度地图没有绝对的比例——例如,淡黄色并不代表10英尺,深红色代表100英尺。在左边几英尺处拍摄的照片中有一个人,黄色表示1英尺,红色表示10英尺。每一张照片的比例都不一样,这意味着如果你拍了不止一张照片,更不用说几十张或上百张照片了,几乎没有一致的迹象表明一个给定的物体到底有多远,这使得把它们拼接在一起实在是一件痛苦的事情。
这就是Kopf和Hedman和他们的同事们的问题。在他们的系统中,用户通过移动手机来获取周围环境的多个图像;它每秒钟捕获一个图像(技术上是两个图像和一个结果深度图),并开始将其添加到它的集合中。
在背景中,一个算法会同时观察深度地图和手机运动检测系统捕捉到的摄像头的微小移动。然后深度地图基本上被调整成正确的形状,与他们的邻居对齐。这部分对我来说是不可能解释的,因为这正是研究人员所做的秘密处理。
这不仅能在多重曝光下创造出一幅平滑而精确的深度图,而且速度非常快:每张照片大约1秒,这就是为什么他们以那样的速度制作出的工具,以及为什么他们把这篇论文称为“即时3D摄影”。
接下来,实际的图像拼接在一起,这是全景图的正常方式。但是,通过利用新的和改进的深度图,这个过程可以被加速和减少,他们声称,大约在一个数量级上。
由于不同的图像捕获深度不同,调整它们可能很困难,正如左边和中间的示例所示——许多部分将被排除或产生不正确的深度数据,右边的是Facebook的方法。
然后深度地图变成了3D网格(一种二维模型或外壳)-把它想象成一种纸状模型。然后,我们会检查网格是否有明显的边缘,比如前景中的栏杆遮挡了背景中的景观,并沿着这些边缘“撕裂”。这些空间将不同的物体分隔开来,使它们看起来处于不同的深度,并随着视角的变化而移动。
虽然这有效地创造了立体模型的效果,但您可能已经猜到前景看起来就像一张剪纸,因为如果是从正上方捕捉到一个人的脸,那么就不会有关于他的侧面或后脑勺的信息。
GIF
这就是通过卷积神经网络“产生幻觉”而生成图像剩余部分。这有点像一个内容感知填充,猜测什么去了哪里,什么在附近。如果有头发,那么头发很可能还会继续。如果它是一种肤色,它可能也会延续下去。所以它令人信服地重新创造了这些纹理通过对物体的形状的估计,缩小了空隙当你稍微改变视角时,它会显示出你真的在“环顾”这个物体。
最终的结果是一个对透视的变化做出现实反应的图像,使它可以在VR中看到,或者在新闻提要中作为一种双orama型的3D照片。
实际上,它不需要任何人做任何不同的事情,比如下载插件或学习新的手势。滚动浏览这些照片会稍微改变视角,提醒人们注意到他们的存在,从那里所有的互动都感觉很自然。它并不完美——如果你仔细观察,会发现缝合的图像中有人工制品和奇怪的东西,当然,幻觉内容的效果也各不相同——但它很有趣,也很吸引人,这一点更为重要。
计划将在夏季结束。目前,3D照片的创作将仅限于拥有两个摄像头的设备——这是技术的局限——但任何人都可以观看它们。
但是这篇论文也讨论了通过另一种卷积神经网络来创造单摄像机的可能性。这个结果,仅仅是短暂的接触,并不像双摄像头系统那么好,但还是比目前使用的其他方法更有效,更好,更快。所以,我们这些仍生活在单一摄像机的黑暗时代的人有一些希望。