Facebook Surround360 学习笔记--(2)算法原理

  • 本篇从宏观上介绍surround360的算法流程和每个步骤的原理,主要参考surround360官方网页(见参考)上的介绍。
  • Surround360开源项目包含了从相机阵列的硬件设计到图像拼接的软件算法,它在一个系统里实现了端到端的3D360°从视频拍摄到视频处理的过程。开源的目的就是为了促进3D360生态系统建设,不管是代码开发者还是内容制造者,所有人都可以自由地在开源系统的基础上进行改进、扩展、分发、合并等。Surround360硬件组装过程见这个视频:https://www.facebook.com/Engineering/videos/10154278617642200/
  • 必须要注意的是,为了保证高质量的输出效果,硬件设计和软件算法都非常重要。前篇介绍里讨论过硬件设计在降低连续视频处理时间的重要性。但是即使我们使用了高质量的光学镜头和精密的机械圆盘结构,没有经过软件校准的相机镜头之间仍然会有很大不同,这样输出的立体结果会出问题(比如重影或者伪3D)。图像拼接算法将17个相机拍摄的图片转换为适合VR设备观看的360°全景图像。该算法不但极大地降低了经典的3D360算法的处理时间,而且能够保持单眼8K的高清输出效果,从而在VR设备上获得极佳的体验。

立体360视频渲染的挑战

立体360视频渲染是一个非常困难的问题,主要存在如下因素:

  1. 涉及的数据量非常巨大。由于Surround360设备有十几个相机之多,而且为了保证最好的图像质量使用的是原始的未压缩的图像。如果帧率是30FPS的话,每分钟输出的视频将有120GB的数据。这绝对是一个巨大的挑战。
  2. 要求非常高的精度,留给出错的空间极小。对于单眼的2D的360视频内容来说,一些小的拼接错误是可以容忍的,但是对于立体3D360视频来说,必须保证极高的精度达到绝对近乎完美的效果,否则会引起观看者产生眩晕等生理方面的不适感。
  3. 要求较高的处理速度。为了VR视频的实用性要求,需要处理速度尽可能地快,但这常常和高质量地输出效果相矛盾。

传统的单目拼接算法没有上述问题,它的应用相对简单,只要把相邻图像边缘拼接好就行了。但是双目立体拼接算法面临着很大的挑战,很容易因为计算的立体视差不准破坏了3D的沉浸感,并且很容易引起用户的不适感。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值