Facebook Surround360 学习笔记--(1)系统简介



Facebook Surround 360是Facebook2016年7月发布的开源360°三维全景视频拍摄系统,主要功能是为VR拍摄3D全景视频素材。它长这个样子:
这里写图片描述
看起来酷炫的很,当然功能也很强大,后面会介绍。介绍surround360之前先看一下该领域中其他公司做的相关产品吧

领域动态

Google +GoPro

Google与运动相机制造商GoPro合作推出了Odyssey,一个由16个相机组成的价值15000美元的3D360°全景拍摄设备,如下
这里写图片描述
后来GoPro又推出了一个相对简易的由6个相机组成的2D360°全景Omni:
这里写图片描述

Nokia

Nokia也推出了一个像足球一样的具有8个相机的2D360°专业VR摄录机Ozo:
这里写图片描述

VideoStitch

VideoStitch推出了一个具有4个相机的2D360°全景相机ORAH 4i:
这里写图片描述
此外,还有不少公司推出了由两个背靠背式鱼眼相机组成的2D360°全景相机,比如:

Sumsung

三星2016年也推出了消费者版的2D360°全景gear 360相机:
这里写图片描述

Ricoh

日本理光公司也推出了像遥控器一样的2D360°全景相机thetaS:
这里写图片描述
除此之外,还有LG等公司也有相应的产品,在此就列举了。
注意以上的产品,只有Surround360和Odyssey可以实现3D360°全景视频,其他的产品都是2D360°全景的。价格相差很大,具体到参数细节也都有不少差别,可以从他们的产品官网上做个比较。

Surround360简介

Surround360外观和GoPro的Odyssey比较相似,它的侧面是由14个相机围成一个圆盘相机阵列,不同之处是,Surround360在顶部有一个鱼眼镜头,在底部也有两个鱼眼镜头。底部之所以配备两个鱼眼镜头,是因为通过两个鱼眼相机视角的交叉重叠可以通过算法去掉底部的支架,这样最终呈现的就是比较完美的360°无死角三维全景图。这解决了大部分360相机的一个痛点。
这里写图片描述
以下内容主要来源于https://code.facebook.com/posts/1755691291326688/introducing-facebook-surround-360-an-open-high-quality-3d-360-video-capture-system/

主要特点:

  1. GitHub上开源相机硬件设计方案及对应的图像拼接源代码,开发者和内容生产商都可以免费使用,加速3D 360°生态系统发展。
  2. 计算左右眼的立体视差是基于Optical flow的算法,算法可以自动拼接生成360°三维立体全景视频。拼接算法相对于传统的人工方法,极大减少了后处理时间,效率大大提高,运行时间从几个星期缩短到一天。
  3. 可输出每只眼睛高达4K,6K,或8K的分辨率。双倍8K的输出可以利用Facebook自己的动态流输出技术在Gear VR设备上播放。

VR拍摄系统的挑战

目前比较主流的是单视场360°全景,通常使用两个或者更多的相机来获得360°的全景,但是这些全景图看起来比较“扁平”,没有三维立体感。如果想要获得3D-360全景视频就没那么容易了,因为相对于单视角全景视频,3D-360视频需要深度信息。Surround360用两个相机(相当于左右眼)拍摄同一位置来获得深度,这就意味着,必须使用10~20个相机对周围360°内的每个方向都进行立体拍摄,并且所有相机必须严格地全局同步地进行每秒30~60帧的拍摄。最后,需要融合(拼接)所有的相机拍摄的图片成为一张无缝全景图,而且必须进行两次操作:第一次产生左眼的虚拟位置、第二次产生右眼的虚拟位置。

VR拍摄系统

Surround360的VR拍摄系统包含三个部分:

1. 硬件(相机和对相机进行控制的计算机)

1) 所有相机必须具有全局同步功能。每个相机的每一帧和其他相机的同一时间的对应视频的时间差别必须小于一毫秒。如果不能达到同步要求,很难把他们拼接成为一张清晰一致的图片。
2) 每个相机必须具有全局快门。同一时间所有像素必须对应同一场景。如果做不到全局快门,快速移动的物体会在对角线方向变的模糊。
3) 相机必须能够连续可靠地运行几个小时而不过热;相机和固定相机的机架必须稳固连接,保证在长时间的使用过程中不会产生错位;相机机架设计制作必须简单,方便复制、修理、替换元件。
4) 为了满足上述严苛的条件,Facebook采用工业级的Point Gray相机:具备全局快门,运行很长时间不会过热。每个相机用螺栓牢固地连结到铝制底盘,外壳是带有涂层的钢结构,可以很好地保护相机内部的部件。

2. 相机控制软件(用于同步)

1) Facebook使用了基于Linux的具有足够系统带宽的PC从相机里传输实时的视频流到硬盘。相机同步要求实时的线程来保证能够获取所有的帧且不会丢帧。假设视频为30Hz(每秒30帧),则需要17 Gb / s的稳定的传输速率。Surround360使用了8路5级SSD RAID磁盘系统进行存储,可以支持几个小时的连续拍摄。
2) 为了保证相机在拍摄360°的视频内容时不受操作人员的影响,Surround360采用了一个简单web接口来远程控制相机的拍摄,这使得任何支持HTML浏览器的设备均可控制相机。
3) 以每个相机为基础的定制的图像获取软件可以对每个摄像头的曝光,快门速度,模拟传感器增益、帧率进行控制。相机由同一软件进行控制实现全局同步。为保证图像渲染阶段的图像质量,实际处理的数据为Bayer格式的RAW数据。

3. 图像拼接及渲染软件

图像拼接算法是整个系统的中枢,也是系统中最具有挑战的部分。由于拼接处理产生最终的视频图像,因此这部分的图像处理和成像计算极为重要。必须在计算的每个步骤确保像素质量。任何一步图像质量受损之后,就不可能挽回了。这样的情况重复几次之后,图像质量就会完全不可接受。
图像数据处理分以下几个步骤:
1). 转换RAW Bayer数据到伽马校正后的RGB。主要包括:摄像头之间的颜色校准、暗角消除、Gamma和色调曲线、锐化(逆向卷积)、去马赛克图像复原。
2). 相机内参校正,用于去除镜头畸变并将图像重投影到极坐标系。
3). 通过光束平差之后相机之间的外部参数校正来补偿摄像头之间的方向偏差。
4). 对每对相邻的摄像头进行光流计算,用于计算左右眼之间的立体视差。
5). 基于光流的左眼和右眼视图,分别合成虚拟相机每个视角方位的新视图。
6). 最终合成左眼和右眼像素。
Surround360拼接算法关键的一个概念就是光流,和其他拼接算法相比,使用光流在数学上麻烦一些,但是可以产生更好的效果。利用光流可以计算相机左右眼的立体视差,从而分别为左右眼合成新视图。然后,把顶上和底下的相机融入侧面相机, 类似地用两张图之间的光流来匹配对应同一个像素点在两张图中的位置。光流法实际是一个不适定逆问题,其不适定性源于由遮挡引起的歧义:一个相机不可能看到相邻相机看到的。尽管通过构建多个相机和时变捕获可以减轻这个问题,但这仍然是一个很困难的问题。Surround360用光流法来产生左右眼视差,从而自动生成无缝的360°全景图,这节省了大量的后处理时间。

4.播放

Surround360可输出每只眼睛高达4K,6K,8K的分辨率。由于高带宽和数据量的要求,6k,8k的输出需要利用Facebook Gear VR的动态流编码技术,该技术是工业标准的2倍。输出文件可以在像Oculus Rift 和 Gear VR这样的VR设备上播放。

存在的问题

1) 光流场视角、光学传感器分辨率、相机排列方式、相机数目等这些因素的不同组合在工业设计上是一个非常复杂的问题。更多的相机数目可以降低拼接难度,但同时也增加了需要处理和传输的大量数据。同样的,增加图像的分辨率提供了最终渲染的图片质量但是也带来了了大量的数据和占用带宽的代价。
2) 光学方面,增加相机的视场角可以减少相机的数目,降低拼接的图像数目,不过是以降低空间分辨率为代价。广角镜头也对后焦距和角度错位更加敏感。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunxiaopengsun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值