Intel FreeD Replay Technologies技术分析
- 2019 年 10 月 8 日
- 笔记
Intel FreeD Replay Technologies
1. 简介
我在FreeD 的官网上没有找到相关技术介绍文章,只能从FreeD发布的视频中猜测他们所用的技术。FreeD是一家来自以色列的创业公司,专职业务是给运动赛事提供具有沉浸感的三维实时回放技术。现已被Intel在2016年3月收购。FreeD技术已经被应用在NBA 全明星赛,以及NFL超级杯赛事上,西甲赛事等。
2. 可能用到的技术
1) 系统设置


如上图FreeD在一场棒球比赛中的摄像机配置。在球场周围绕半圈静态4K摄像机。中间黄色的摄像头是虚拟摄像头,可由导演控制在球场空间内运动。

在操控室,我发现了他们用到的几款软件。

左下角:Maya。
右下角:全屏程序为Boujou(摄像机追踪软件)。还用TeamViewer作为多电脑远程登录软件。
1) 相关技术
a) 三维重建
据FreeD发布的视频中说到,我们可以把他们的系统看作一个巨大的三维扫描仪。他们的系统会三维重建某一时刻的场景。
比如下图。

我发现系统把球员的稠密三维点云重建出来了。另外,周边场景并没有出现三维点云的显示效果。所以,我觉得他们应该提前对这个球场做了背景提取,前景分割。下面几幅图可以看出一些端倪。


这样做的目的是降低三维重建的压力,仅用重建的三维点云和背景纹理来渲染某一个视点的图像。
我们再看他们渲染的某两个视点的图像。


我们可以看到图片左边穿黑衣的运动员旁边出现了“鬼影”。这一现象在Image-Based Rendering技术中生成新视点图像的技术中常出现的现象。比如微软之前类似于该技术的应用PhotoSynth。该应用主要实现[1]的应用。[1]使用基于多视角的图片集,基于SfM算法来重建三维场景。并可以实现多视角浏览的效果。下图就是该应用中一个场景,可以看出红框部分,出现了略微重影的现象。这是这种基于三维重建的基于图片渲染技术一个普遍缺陷[3]。比如[2]。


a) 4D 回放
FreeD公司发布的视频以及主打的技术就是对某一时刻做三维回放。这方面的技术主要是上面所讲到的。
但是,FreeD公司发布的几个视频中涉及到的对“某一时间段”的三维回放。也就是说原来的三维加了一维时间——4D回放。但这不是该公司主打的技术,而且,我发现了他们用到了一些不一样的技术方案。因为我没有看到实际应用场景,这些视频貌似是一些测试Demo,所以我觉得这些技术并不完善,也没有对外发布、招商。
i. 对视频做空间场景分析。
大概就是做前景和背景分割。和前面说到的一样。

ii. 多个静态镜头获取视频。

iii. 对分割后的前景做三维重建。如下图,每个被恢复深度的像素是由三个摄像头获得的视频帧重建。

iv. 最后得到彩色深度点云信息构成的三维模型。

v. 根据三维重建的信息来渲染新视点图片。注意这里新视点可以是不同时刻的不同视点的视图。

这里说到的4D回放技术可能和前面的3D回放技术没有多少不同。
但是,我看到了另一个视频,我觉得,可能不是简单的三维重建,涉及到了两视点间图像插值的相关算法。如下面几幅图。



在这个4D回放视频中,我们看到背景中的电线杆发生了扭曲。根据周边视点图像生成新视点图像的技术中,我们经常使用单应矩阵对周边视点图像做预扭曲。这一步,我们是为了让新视点图像中的直线保证还是直线。我们都知道,单应矩阵是两个平面之间的投影映射。根据投影映射的概念,在一个平面内的直线,投影到另一个平面内依然是直线。这是我们经常用单应矩阵做预扭曲的原因。由上图,我们发现本应作为直线的电线杆发生的扭曲,所以,肯定没有做单应矩阵的预扭曲,这样生成的新图像连直线都保证不了,我们更不能保证新视点图像的内容的完整程度。
往往,在基于图像渲染的新视点图像生成算法中,只用单应矩阵就够用了。但是,还是需要进一步的对新视点图像做扭曲保证内容。如下图是只用单应矩阵生成新视点图像的样例。我们会发现周边的房子直线还是直线,但是发生不同程度的偏斜。

如下图,没有用单应矩阵做预扭曲的新视点图片。

为了解决这个图像内容保持的问题,可以参考[3]。
3. 另外一个代表性的回放技术

这是一个基于View Interpolation[6]技术的可以在时间-空间这个范围内做任意视点的浏览[4]。如下图,先看一下该技术的摄像机配置。

几个摄像机架上竖直放置几个摄像头。全部摄像头,我们认为他们都在同一平面内。这样如上图的绿色坐标轴space,space的相应坐标表示某一摄像头拍摄的图片。加一个黄色坐标轴time,这样不同时刻的图片就可以放在某一个坐标处。最后我们就可以得到一个图像矩阵。如(v1, v2, v3, v4)这个空间里的红色点,红色点表示新视点,我们可以基于View Interpolation技术根据v1, v2, v3, v4的图像来插值生成新视点图像。最后,我们就可以让视点在整个space-time空间来任意浏览。如下图。

下图为该系统的应用实例。

其实,新视点图像生成算法还有一个非常经典的算法,View Morphing算法[5]。这就是《黑客帝国》的子弹时间的主要技术。如下图,为View Morphing 算法的效果图。

View Morphing 算法只需要两张图片,就可以生成这两张图片间对应的新视点的图片,如上图的Morphed View。
在FreeD的视频中也出现了View Morphing的应用。我们先看一下当年《黑客帝国》的应用。使用一圈摄像机来获得space-time的视点的图像。

这是生成的某一帧。可以看到底下两个角出现了扭曲。这是View Morphing出现的问题。

我们再看FreeD视频里的截图。


我们可以看到四个角出现了不同程度的扭曲。所以从这里我觉得应该是FreeD想用《黑客帝国》的Bullet Time的技术。但是只是在处于测试,没有对外发布。
4. 参考文献
[1] Snavely, Noah, Steven M. Seitz, and Richard Szeliski. "Photo tourism: exploring photo collections in 3D." ACM transactions on graphics (TOG). Vol. 25. No. 3. ACM, 2006.
[2] Buehler, Chris, Michael Bosse, and Leonard McMillan. "Non-metric image-based rendering for video stabilization." Computer Vision and Pattern Recognition, 2001. CVPR 2001. Proceedings of the 2001 IEEE Computer Society Conference on. Vol. 2. IEEE, 2001.
[3] Liu, Feng, et al. "Content-preserving warps for 3D video stabilization." ACM Transactions on Graphics (TOG) 28.3 (2009): 44.
[4] Lipski, Christian, et al. "Virtual Video Camera: Image‐Based Viewpoint Navigation Through Space and Time." Computer Graphics Forum. Vol. 29. No. 8. Blackwell Publishing Ltd, 2010.
[5] Seitz, Steven M., and Charles R. Dyer. "Toward image-based scene representation using view morphing." Pattern Recognition, 1996., Proceedings of the 13th International Conference on. Vol. 1. IEEE, 1996.
[6] Chen, Shenchang Eric, and Lance Williams. "View interpolation for image synthesis." Proceedings of the 20th annual conference on Computer graphics and interactive techniques. ACM, 1993.