Facebook新VR相机详解:深度信息如何产生?6DOF如何实现?

巫盼 7年前 (2017-04-27)

和Lytro的光场相机原理类似,Facebook的x24和x6的关键在于收集被摄画面的RGB信息和深度信息。

Facebook新VR相机详解:深度信息如何产生 6DOF如何实现

上周Facebook开发者大会F8上,除了小扎对于AR的预测外,公司发布的两款能够记录深度信息的360°相机x24和x6也是独领风骚。Facebook工程部门主管Brian Cabral在一段长达半小时的视频中,讲述了Surround 360相机的工作原理,制作生态以及应用,透露了不少关键信息。至少对于Facebook如何利用相机创建6自由度VR视频,下面是笔者从视频中获得的一些关键信息,推荐有兴趣的同学可以看一下。

Facebook新VR相机详解:深度信息如何产生 6DOF如何实现

Facebook 360 Surround x24和x6的特点:

1. 6自由度

2. 无限的输出可能

3. 和后期制作无缝融合

4. 方便携带

5. 画质提升

为什么要做x6,因为想要证明6自由度的360相机解决方案对于不同设定的硬件都是可行的。不同的相机有不同的直径、镜头分辨率、FOV以及感应器位置等等。这些配置不同的相机能够给Facebook Surround 360相机的结构给出例证。

Facebook新VR相机详解:深度信息如何产生 6DOF如何实现

球面对极几何深度测算 Spherical Epipolar Depth Estimation

原理和多年以来地理上的三角测量法类似。使用球面相机是因为这样可以制作一个平面的sampling,在空间中的任意一点,都可以被多个相机观测到,可以进行三角测量。根据Epipolar的知识,假设我们想测量的X点的深度信息,由于我们已经知道X点在相机1图像平面上的坐标,同时也知道其在相机2图像平面上的坐标,根据原理,我们就能推算出X点的坐标信息。当然前提条件是你要知道两台相机之间的距离。

Facebook x24和x6设置了多个重合区域,有了这些重合区域就能最大化的记录图像信息,就有更多的信息来处理和测算被摄物体的深度信息。

和Lytro的光场相机原理类似,Facebook的x24和x6的关键在于收集被摄画面的RGB信息和深度信息。从视频可以看出,离相机越近的物体,相机能够捕捉到的信息越多,反之则越少,这是为什么相机的深度信息图是离得越近的物体呈现黑色,而离得远的物体呈现白色,因为后者能够提供的可用信息很少。

关于Epipolar Geometry的基础知识请看文章下方的补充。

Facebook新VR相机详解:深度信息如何产生 6DOF如何实现

FacebookVR相机拍摄制作流程

使用Facebook surround 360的拍摄和制作流程:

1. 使用x24和x6相机进行拍摄

2. 将内容上传至云端服务器进行拼接和深度信息处理

3. 导出的具有深度信息的360°视频可以导入到Adobe、Nuke、Mettle等工具进行制作

4. 输出的6DOF的3D 360°视频到Facebook和Oculus平台

Facebook不是硬件或者软件公司,他们的目的是构建完整的生态,这就是为什么他们会和OTOY、Adobe、Foundry、Mettle等公司合作,将带有深度信息的360°视频拍摄融入到传统影视后期工具的Pipeline中,因为后者能够更好的利用深度信息带来的优势。

Facebook新VR相机详解:深度信息如何产生 6DOF如何实现

用途:让特效制作更容易

记录画面的深度信息,第一个好处自然就是能够让3D 360°视频呈现6自由度的体验感,这也是所有VR影视行业想要达到的一个目的。

另一个好处就是可以让制作人员更方便的加入逼真的后期特效。传统的2D 360°视频由于本质上还是一个平面,所以即使加入CG效果也不好,因为不够真实。而在有了深度信息之后,制作人员就可以根据深度信息,更精准的为每个层级加入不同的逼真的特效。

如视频所示,你可以在海洋馆的画面中加入类似“哈利·波特魔法结界”一样的电流特效,更有用的是,可以将大场景画面的背景整个抽离,换成需要的背景,这点在好莱坞大片中常用,不过之前需要用绿幕来抠图,使用能够记录深度信息的相机,则免去了搭建绿幕。

Facebook新VR相机详解:深度信息如何产生 6DOF如何实现

由于有了深度信息,制作人员可以在视频中加入真实的3D物品,而看起来又不像平面图像一样违和。还有光照效果,制作人员可以像游戏一样,将整个场景的光照调低,给观众一个手持火把的效果,让他们能够拿着VR控制器去探索一个真人实拍的3D 360°视频,就像在玩一个CG制作的探险类游戏,例如《古墓丽影》。

总结

仍在如火如荼举行的NAB Show上,谷歌推出了自家的Jump系统的升级版Halo。这款和小蚁联手推出的17000美元的相机依然是一个单纯的相机阵列产品,相比于Facebook的x24和x6似乎矮了一头。不过谷歌的工作人员也表示,自家的产品本来就主打中端,脸书的相机走的是和Lytro一样的高端制作者路线。对于谷歌的这个说法,IN2略表不同意,作为VR制作的关键因素,深度信息的纪录绝对是拍摄设备和运处理端的趋势,谷歌也在研究,只不过目前还没有成型的产品出来而已。

同样是在NAB上,来自Adobe研究部门人员曝光了根据运动的普通2D 360度视频推算出深度信息的算法,从纯软件层面让6自由度真人视频体验成为可能。据IN2所知,国内也有团队在尝试类似的解决方案,IN2也将在之后进行详细报道。

关于Epipolar Geometry的知识补充

Facebook新VR相机详解:深度信息如何产生 6DOF如何实现

对于双目视觉系统,即有两个摄像机,定义两个摄像机的光学中心点为C、C‘,在三维空间中存在一个场景点X,这个点与两个摄像机光学中心点共同构成的平面就是极平面π(epipolar plane),每个摄像机都有一个图像平面,分别为Image1和Image2,CX交Image1于x点,C’X交Image2于x’点,而CC’连线分别交两个图像平面于e和e’,这两个点称为极点(epipoles),CC’称为基线(baseline)。极平面与图像平面相交于两条极线(epipolar line)l和l’,这两条极线的关系是对应的(correspondence),而x、e、x’、e’分别位于l和l’上。

Facebook新VR相机详解:深度信息如何产生 6DOF如何实现

随着三维场景点的移动,极平面将绕着基线转动,这些极平面共同构成一个极平面束(an epipolar pencil),这些极平面与图像平面所交汇成的极线族分别都交于两个极点e和e’。

Facebook新VR相机详解:深度信息如何产生 6DOF如何实现

假如我们只知道X投射在图像平面Image1上的投射点x,我们如何去获知在另一个图像平面上(也就是Image2)x的相应点x’呢,这个相应点x’符合什么样一种几何规则呢?

Facebook新VR相机详解:深度信息如何产生 6DOF如何实现

我们知道,极平面是由基线和xX共同构成的,从上面的介绍我们知道了这个相应点(现在还是未知点)也一定位于极平面π上,因此可以得出x’点位于极平面π与另一个图像平面Image2的交线l’上,也即l’是投射点x的反向投影在第二个视角(第二个图像平面)上的图像。这种关系在立体对应算(stereo correspondence algorithm)中有很大的好处,那就是不需要在整幅图像上寻找x的对应点(correspondence points),而只需要把范围限定在极线l’上即可。(图片文字来自百度百科)

编者按:本文转载自IN2

最后,记得关注微信公众号:镁客网(im2maker),更多干货在等你!

镁客网


科技 | 人文 | 行业

微信ID:im2maker
长按识别二维码关注

硬科技产业媒体

关注技术驱动创新

分享到