关于AMD Radeon Loom你应该知道这些

关注AMD的小伙伴都知道Radeon Loom这个项目,这是AMD的开源360度实时视频拼接方案,今天就请跟随锐VR来了解一下关于Loom的更多细节。

首先,关于Radeon Loom的命名:从新石器时代的洞穴壁画到当代的IMAX及VR/AR体验,都可以看出来人们非常享受360度环境下的艺术体验,包括文艺复兴时期的壁画和内部绘制画作,19世纪的大风景画幕和环场影像以及最新兴起的沉浸式视觉体验。Loom这个单词的中文释义为“织布机”,织布机已经拥有数千年的历史,并且对艺术和史诗讲述类织锦画的创作至关重要,如阐述了11世纪诺曼征服的长达70米的贝叶挂毯。Radeon Loom的命名保留了这一意象,希望能够帮助数字时代的故事陈述者去编织和拼接下一部永恒的史诗。

关于Radeon Loom

正如现代机械织布机能够在无数的线轴上制作出美丽的图像一样,AMD的Radeon GPU同样可以处理成千上万的多线程任务,渲染出令人惊叹的数码画面。

1801年,法国人贾卡革新的提花织机引进了自动穿孔装置,使得现有的工厂织布机可生产更为复杂的图案,极大地提高了生产力,这对今天的时尚行业都影响巨大。Radeon Loom的目标本质上是与之一致的:为影视级VR视频体验提供创造性的动力,使高质量360度视频的创作过程更加简化和现代化,使内容创作者释放更多的精力在独特的内容革新上面。

我们的第一个目标,是使用户在使用高质量的360相机阵列拍摄影片的过程中,就能够通过Oculus Rift或HTCVive预览360度视频。反复设计后,我们想出了一些解决方案,其中一个如下图所示:

ADM1

有些重要的细节不得不提。首先,我们使用了快速的工作站显卡,AMD FirePro™ W9100或Radeon™Pro WX系列,因为显卡速度越快,支持的镜头越多,分辨率也更高。其次,我们通过SDI影像撷取卡和DirectGMA软件从镜头中获取数据流,所以这些数据可以被直接传递到GPU存储缓冲区。最后,我们使用BlackMagic相机,通过HDMI输出同步锁相,并通过变流器将每一个信号转换成转播级SDI(串行数字接口)。

一旦这些数据通过DirectGMA进入GPU存储器,一组复杂的算法会将所有的图片缝合成为360度球形视频。当视频被缝合完成,就会通过SDI被输出到一台或多台PC,可通过头显直接观看并/或上传到互联网。

在为一套实时360视频装备设定位置时会产生一些问题,这一定要引起重视。360度拍摄中不可能有一位摄影助理帮你手持并操控相机,否则他也会出现在视频中。因此,你可能会想要定位拼接缝并/或在一定距离外通过PC查看拍摄的画面,比如在一堵墙或一块绿幕后。

为什么拼接很难

如果你看过一些高质量的360度视频,你可能会认为360度拼接已经是一个基本上被解决了的问题。然而,并不是的。但过去这几十年的算法先驱们所做出的成绩值得被肯定,因为他们的努力已经解决了很多关于全景和360度VR拼接的问题。

然而,诸如视差、相机和拼接缝的数量、传感器之间的曝光差异等问题必须要被解决。先来解释一下视差。简单来说,就是两个不同位置的镜头从不同角度拍摄同一个物体,就像你把一根指头竖起靠近鼻梁中央,分别遮住一只眼睛,用另一只眼睛去观看这根手指和其背景画面,你会发现不同眼睛看到的画面角度是不同的。

第二个问题是镜头数量越多越好,因为分辨率和光学性能会因此而提高(因为畸变会减少)。然而,这意味着需要更多的缝合处理。此外,当人和物体多次在缝合处穿行,视差问题会因为微小的角度差而反复出现。

第三个涉及的问题是每个镜头传感器都有不同的照明条件。比如,拍日落的时候会有一个面向西边落日的镜头,此时朝东的镜头拍摄区域的光线就相对比较暗。现有的成熟算法可以调节和协调图像之间的曝光变化,但要以损失光照、颜色精准度和整体的动态范围为代价。这一问题在弱光条件和有限的艺术表现形式下会更加突出。

拼接优化

我们在设计过程中遵循了一些简单优化指导,如“尽可能少的触碰每个像素”。以及,一旦“触碰”或读一个像素,尽可能多的在其之上进行操作。这说起来很容易,实际操作起来很难,因为数据量之庞大。通过使用DirectGMA(只适用于AMD FirePro™ and Radeon™ Pro显卡)我们不必在CPU和GPU存储器中复制数据,再循环往复。

另一个重要的优化是准备工作负载使GPU保持繁忙状态。我们能做到的是在像素组被处理时提前准备好流水线。

为了达到多镜头实时拼接的目标,我们尝试了多种实验。最终,我们选择并开发计算周期最少,品质最高的算法,然后优化算法的执行。当然,我们还选择了最有效的算法去优化了我们的大规模并行处理器和可扩展的FirePro™and Radeon™ GPU。

ADM2

Radeon Loom Beta版本现已可获取

360度视频创作已经爆发,仅仅在2016年就有近百万的360度视频被上传至Facebook,YouTube等社交媒体网站上,并且有望在2025年形成115亿美金规模的产业。如上所述,镜头越多,最终的360度体验分辨率和品质越高。然而,拼接工作着实是一个巨大的挑战。

Radeon Loom通过GPU大量的并行处理革新了实时及线下360度视频拼接的过程。Radeon Loom使用AMDKhronos™ OpenVX™ 开源计算视觉架构,可实时拼接多至24个4k x2k镜头、离线拼接多至31个8K x4K镜头拍摄到的画面。如果你恰巧已经是一位360视频开发者,可点击Radeon Loom StitchingLibrary on GPUOpen.com 下载Radeon Loom的beta版本。

目前AMD中国团队正在和本地摄像机开发商合作,提供端到端的解决方案,届时会面向VR全景用户发布!

本文是全系列中第36 / 41篇:

更多精彩内容,关注青亭网微信号(ID:qingtinwang),或者来微博@青亭网与我们互动!转载请注明版权和原文链接!
责任编辑:zenghui
分享到QQ 分享到微信

1 条评论

头像发表我的观点

取消

  • 昵称 *
  • 邮箱 *
  • 网址
  1. #1
    废话太多
    101-10 回复

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册