Facebook揭秘:6DoF全景拍摄最佳解决方案

原标题:Facebook揭秘:6DoF全景拍摄最佳解决方案

在去年OC 5大会上,Facebook和RED展示了一款基于Surround 360全景视频技术开发的6DoF VR相机Manifold,它采用RED摄像头传感器和图片处理技术,以及Facebook用于拍摄全景图像的深度感知技术,可拍摄任何场景中的人物、道具、背景等三维信息。目前这款相机目前还未正式推出,不过Facebook在新发布的一篇论文中将它的技术开源,接下来就一起了解一下其整个设计过程和原理。

Facebook与RED合作研发的6DoF全景拍摄软、硬件解决方案

据了解,Facebook所开发的解决方案包括一个支持线上无标记校准、高质量拼接、以及实时串流和渲染的计算机图像软件,可搭配市面上大多数搭载16颗8K专业摄像头的全景相机。当然,这是一款通用方案,可兼容多种不同的摄像头阵列和配置。

左:全方位立体视频;右:6DoF视频

为什么Facebook要开发一款可拍摄6DoF视频的全景相机呢?据悉,6DoF视频是营造逼真的VR沉浸感的关键,与传统立体视频和全方位立体视频相比,6DoF视频的物理移动规律更准确、更自然,然而要打造一款支持完全集成的6DoF 360°全景相机需要攻克许多技术难题,包括摄像头排列、光学设计、传感器分辨率、系统校正、实时视频捕捉、深度重建和新视角的实时合成。

水平衡向排列的摄像头只能提供平行双目视差(Facebook Surround 360就采用类似设计),观看其所拍出的视频时如果稍微转头或倾斜会容易造成错误和混乱的视觉效果。而完全的沉浸感需要捕捉到完整的360°球面视图(4π),同时还需要让每颗摄像头捕捉到的图像具备足够的重叠,以确保能提取出必要的深度信息。同时,使用市面上有售的最低摄像头配置来拍摄完整的球面视图将涉及到复杂的设计问题。

完整的6DoF全景捕捉方案

Manifold

要设计一款全景相机,需要考虑多种因素,包括:摄像头的最佳排列方式、摄像头视角重叠、视场角、分辨率、视差、坚固度、散热、串流、校准、深度重建、实时渲染等。据悉,Facebook所设计的6DoF全景捕捉解决方案从开箱到拍摄之间只需要30分钟设置时间,不过缺点是直径达1米,重量约为37kg,不太方便携带。

关于摄像头排列的方式,Facebook发现将摄像头围绕着轴来排列并不是出于算力的原因。如果将常规镜头排列整齐,概念上将比较简单,易于计算、系统推理和算法设计。

经过优化,Facebook找到了一种需要硬件最少的摄像头排列方案,将随机非线性摄像头排列方式与f-theta广角鱼眼场镜结合,可加大视角重叠范围,降低所需摄像头颗数,还能通过捕捉到的视频帧来计算出新视角。尽量减少所需摄像头数量的好处不仅是降低成本,同时也能提高系统整体的可靠性。

此外,完整的相机设计还必须考虑到工作流程和应用的实用性。由于Facebook设计的6DoF全景相机主要受众是电影摄影师,因此它需要适合现有的片场环境,也就是说需要坚固耐用。还确保模态或共振频率不会影响视频录制的效果,而且为了全景相机装置能够承载16颗专业摄像头的重量,其内部的球形核心必须通过同步加工技术来完成。

散热方面,16颗摄像头的紧凑设计,以及压缩高分辨率视频的过程中将产生大量热量。考虑到全景相机的球形设计,部分摄像头可能会受到阳光照射,也会有部分在阴影中,因此均匀控制每个摄像头传感器的散热系统将会是一大挑战。采用了Navier-Stokes气流软件,Facebook确保了全景相机能够在40摄氏度以内的环境中运行数小时,而不发生过热。

光学方面,前面也提到Facebook的全景相机设计采用180°f-theta鱼眼场镜,接下来需要解决的是让180°视场角内的图像保持清晰。摄像头和传感器应该具备一定混叠,才能在最后的图像拼接步骤恢复一些超分辨率,缺点是会产生一定色差,不过在深度处理之前的摄像头校正阶段,和后期处理阶段能得到解决。

摄像头阵列的重量和耐久度也是设计上需要考虑的,由于一共有16颗摄像头,将每颗摄像头重量控制在0.5kg以下则很重要。当然缩小摄像头中的机械元件也同样重要,因此采用定制的施耐德F4定焦摄像头,每个重量不到300g,焦距可达2米。

传感器方面,需要解决的问题是通过将信噪比最大化来提高动态范围,这对于电影场景和在高动态场景中分析深度来讲都是关键。

另外Facebook认为,为了避免在VR中观看产生视觉不适感,全景相机刷新率需要达到至少60fps,在光线暗的情况下则可选择30fps。

在拍摄过程中,每一帧中动态模糊和曝光是由快门角度控制的。而由于这款全景相机搭载固定光圈摄像头,用户对于快门角度和刷新率的完全控制则十分重要。

这款全景相机采用的摄像头具备广角特性,因此将需要PPD超过30的高分辨率传感器,而RED Helium摄像头刚好满足这些需求,这也是为什么Facebook与RED合作开发了这款搭载16颗摄像头的6DoF全景相机。

据悉,RED Helium每颗摄像头分辨率为8192×4320,由于其焦距大约为7.5mm,其实际的分辨率和视场角应该分别为6320x4320和180°x120°。那么经计算,它的PPD可达35,是大多数VR头显所支持分辨率的两倍以上。

此外,这些摄像头并不具备抗混叠滤波器,因此采集到的图像重叠范围较大,而且16颗摄像头均同步,且得到同样曝光。Facebook还指出,为了更大的动态范围,将这些摄像头设置为全局快门模式。

得到了一个完整的6DoF全景相机后,你需要的是对相机的实时监控和数据串流方案。对于电影拍摄来讲,拍摄人员没办法像用传统相机那样在后面直接预览,唯一的办法是将摄像头的信号实时串流到额外的2D显示屏或者能够观看360°视频的设备。

因此,Facebook科研人员提供了为随机的4个摄像头提供4个全画幅4K SDI视频输出接口,同时还为所有16个摄像头提供复合的SDI输出图像,让片场的工作人员能监控相机的完整运行。压缩的原始视频数据在高速SSD RAID磁盘阵列上约90Gb/s数据流,不过这将需要定制的高带宽硬件来确保刷新率稳定。

而后期的系统校准和深度重建,以及新视角合成部分,我们稍后在下面进行详细讲解。

深耕Facebook全景相机摄像头阵列

前面提到了Facebook设计的全景相机采用16颗摄像头,不过关于摄像头的具体排列方式,并未详细介绍。据悉,Facebook在降低硬件复杂度和优化摄像头阵列的过程中,也曾遇到一些困惑和难题。

Facebook科研人员表示:这款6DoF全景相机需要捕捉足够多的信息,才能在一定体积(适眼区)内重建新视角。而他们给出的解决方案可在适眼区内提供接近均匀的稀疏视角采样,用于摄像头阵列优化的第一阶段。

而优化的第二阶段,则是调整摄像头朝向,让场景中的每个点能被尽可能多的摄像头捕捉到。Facebook科研人员在摄像头外围加入一个球形外壳,并在上面标注均匀分配的点,用它们来代表场景中的点。

此外,整个摄像头阵列的设计需要兼顾到成本最小化和捕捉面积最大化两点,而且摄像头之间的距离还需要保持统一。如果摄像头按照水平环状排列,它们捕捉到的高清视角仅存在于二维的环状区域,在合成圆环上下两面的视角时,重建的画质会变差,因为并不是每个水平边缘都排列了摄像头。也就是说,所拍摄影像的适眼区是平面的。

为了合成准确的3D视角,摄像头捕捉的视角必须平均分布在空间表面,因此Facebook选择了球形的摄像头阵列设计。那么这些摄像头应该具体放在哪个位置上呢,Facebook科研人员通过Johnson多面体来计算,发现4、6、12和24面体可满足摄像头平均分配的要求。在经过一番计算后,最后将16颗摄像头以四面体对称的结构排列。

在确定摄像头排列方式后,接下来就需要考虑最佳的摄像头朝向。Facebook科研人员在笔记本电脑上进行了一小时运算后,运行了数百次得出了一个解决方案,不过据悉效果并没有特别大提高。

接下来还有一些自由变量需要解决,比如全景相机的规模,这将受限于摄像头模组的尺寸,利用CAD参数建模,科研人员得以手动确定这一数字。

此外,还需要确定摄像头的焦距和视场角,与摄像头数量之间的关系。据悉,焦距会决定摄像头传感器的像圈,进而决定以PPD为单位的空间分辨率,以及摄像头视角重叠的范围。焦距越短,像圈越小,PPD也就越小,不过重叠范围因此增加。

摄像头数量也会影响重叠范围,为了平衡摄像头视角重叠范围、空间分辨率、摄像头数量,Facebook决定选用这种的16颗摄像头,可达到35PPD,并且将近6颗摄像头的视角重叠。

16颗摄像头重叠范围示意图,黑色代表5颗摄像头重叠,白色代表8颗摄像头

高精度无标记校准过程

大家通常会忽略对全景相机深度计算和重建校准的重要性,准确的校准对于快速且准确的立体匹配来讲是关键,对重建数据与CGI的融合也起到重要作用。

Facebook科研人员解释,即使这是一款极其耐用、集成且准确的全景相机,但由于在制造过程中的可变性,它实际的拍摄效果还是有可能与原始CAD模型有所偏离,即使是0.1°的角度误差,在35PPD情况下也能造成3.5个像素的误差。同样,即使是摄像头主点的0.1mm误差,也能造成27个像素偏移。

摄像头内、外参数哪怕出现小小的改变都能带来重大影响,因此相机在运行时所产生的机械偏差也变得重要,比如:温度改变、硬件维护或现场升级、片场对硬件的粗暴搬运等。

因此,Facebook科研人员开发了一款可以在片场使用的,无标记线上自动校准流程。据悉,他们并没有采用基准标记物,而是通过匹配图像的2D特征来寻找3D特征,而这些3D特征和相机理想参数将作为光束法平差校准的输入数据,同时寻找最优的相机参数校准值和3D特征定位。

最后得出的相机校准数据将更新摄像头定位、方向、焦距和主点,同时保证摄像头模拟软件得出的额定径向畸变参数不变。

多视角深度重建系统

Facebook科研人员研发的深度计算流程采用由粗到精的分层色块匹配方式,它可为每颗摄像头分别生成视差图。最开始,在影像金字塔层级中彻底搜索整个深度范围,以此来得到最初的计算预测结果。

在接下来的每个层级,它将利用摄像头测绘来预先计算出彩色投影,然后应用空间扩散和随机建议、几何一致性、时间彩色双边和中值滤波。接着,将计算出的是插图传播到更精细的层级,甚至也可以使用前景掩模来优化计算。结合上述所有步骤,将得出足够准确的深度计算结果。

科研人员指出,除了上述方法,也可以采用最新的机器学习算法,也许能进一步提高准确度。

据悉,用于计算摄像头重叠的相机分析器可用于计算出只有一颗摄像头捕捉能到的点的理论最短距离,经计算这一数据为0.5米,比2米超焦距的一半更短,从这个距离开始捕捉到的目标重建后将看起来足够清晰。当目标距离小于1.6米的时候,视差的质量开始下降,与预期相符。

通用视角渲染合成流程

每个彩色图像的深度计算结果都将是一个单独的深度地图,考虑到深度地图和相应的摄像头模型,将有可能将彩色图像向外投影,以此来制作一个与摄像头识别到的3D表面对应的彩色点云。而为了生成一个代表新视角所捕捉场景的图像,将需要结合所有的点云数据。

在视角渲染过程中,Facebook科研人员让渲染器读取每颗摄像头的深度和彩色图像,然后在GPU中进行调和。

通过将深度地图作为纹理网格来渲染,科研人员成功渲染每个新视角中的点云数据。此外,除了将颜色作为纹理地图来渲染RGB色彩外,科研人员也计算出色彩图的权重,储存在阿尔法通道中。

接着得出16张单独的RGBA图像,每一个代表一颗摄像头新视角的色彩和深度地图点云数据,而最终的图像则是由这16张图的加权平均数在GPU上计算得来。

图片中为多种可生成的渲染图类型,包含立方体贴图、正方形投影、树冠快照和适用于VR头显的融合图

总结

总之,Facebook科研人员设计了一个可用于商业化的6DoF 360°专业全景VR视频拍摄系统,并搭配了一个开源的重建和渲染软件流程。尽管该方案基于16颗RED摄像头的相机方案,但是科研人员表示也可以兼容其他球形或平面阵列的全景相机。

据悉,科研人员在实验过程中也曾使用24颗摄像头的全景相机,以及一个采用4颗摄像平面阵列的RED Helium全景相机。此外,他们甚至还曾考虑过在一个大空间内使用5颗分开摆放的摄像机来进行360°容积捕捉。本文系青亭网翻译自:Facebook返回搜狐,查看更多

责任编辑:

声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
免费获取
今日搜狐热点
今日推荐