论文阅读笔记--Stereo Magnification: Learning view synthesis using multiplane images
视差放大:基于多平面图像的学习视角合成
-
摘要
-
1.Introduction
-
2.Review of Related Work
-
3.Presented Method
-
3.1 Multi-View Image Representation(MPI)
-
3.2 Learning from Stereo Pairs
-
3.3 Differentiable View Synthesis using MPIs
- 3.3.1 Plane Transformation Process
- 3.3.2 Alpha Synthesis Technique
-
3.4 目标函数
-
3.5 实现细节
-
-
数据处理:
-
视频识别:
-
基于SLAM算法实现定位。 -
利用[束调整(wiki)](https://en.wikipedia.org/wiki/Bundle_adjustment)优化相机姿态参数。 -
筛选与精修:
-
确定训练数据集。 -
应用场景:
-
应用场景一:
-
应用场景二:

摘要
该研究领域主要关注从已有图像生成新视角的过程。然而,在虚拟现实和增强现实等技术快速发展背景下,这一技术因其独特性而逐渐受到广泛关注。目前这一技术已成为研究人员关注的焦点。
在这部著作中, 作者深入探讨了一个引人注目的视图合成案例: 主要涉及了VR设备与当前主流的双目成像技术, 并通过从这些装置拍摄的独特图像捕捉到细节特征, 最后成功生成新的视角图像。
研究者将其命名为 立体放大 ,随后构建了一个学习架构。这一架构主要采用了被称为多平面图像(MPIs)的层次化表征方法。
该方法还采用了大量新的学习素材:来自YouTube平台的在线视频内容。
基于从这些视频中提取的数据构建了一个深度网络,并且该网络能够根据输入的立体图像对进行预测MPI。
通过推导得到的MPI能够用于合成一系列新的场景视图,并显著超过基准水平。
我们通过实证表明, 该方法与现有的几种视图合成方法进行对比分析, 并具体展示了其在放大窄基线立体图像方面的应用效果。
1.介绍
本文章的主要任务就是立体放大,典型的应用有:
经过将原本基线距离仅有 1 cm 的立体视图进行外推处理后,其基线距离被延伸至 6.3 cm,从而生成一张具有显著的三维立体视觉效果的照片。

或者将一对立体图像对转化为一段头部运动的小范围完全视差

立体放大的挑战 有:
只有两个视图作为输入
希望能够处理有反射和透明度的具有挑战性的场景
需要能够渲染那些被遮挡因而在输入视图中不可见的像素。
为了应对这些挑战,文章提出的方法基于大量视觉数据的学习实现了视图外推:
- 作者致力于建立一种场景表示方案,在从一对输入视图生成一次预测后即可重复利用这一表示来进行多个后续输出视图的预测工作;这与以往逐个独立预测每个输出视图的方式存在显著差异。
- 我们需要能够有效地提取隐藏在单个或两个输入视图中的表征。
- 我们需要具备我们所定义任务所需的标准训练数据集。单纯依赖收集一对立体视觉对是不够充分的;因为我们还需要提供一组与这些立体视觉对具有较大距离度量关系作为ground truth的数据样本。
- 因此,在研究初期阶段作者首先提出了MPI(多平面图像)这一图像表征方法;随后通过大量在线视频合成满足本次研究需求的数据集来完成研究工作。
2.相关工作
与其他工作的不同:
- 该方法预测了一次场景表示,并将其用于实时呈现多个视图。
- 随后,在运行时阶段重用该表示以展示多个视图。
- 我们采用的多平面图像(MPI)表示整合了前人工作的几个优点。其中特别突出的是其处理多层以及表征边界周围混合像素或反射/透明对象的能力。值得注意的是,该方法也适合利用深度学习进行优化。
3.提出的方法
我们选择两张具有已知相机参数的图片 I_1, I_2 作为输入,并致力于开发一个深度神经网络以生成适合合成同一场景的新视图的全局场景表示。特别是在仅依赖单一输入视图的情况下展开推断时,在此论文集中我们侧重于立体输入的情形。我们的方法能够推广到仅使用单个输入视图或多个输入视图的情况。
3.1 多平面图像表示(MPI)
我们所采用的全局场景表示是在基于参考坐标系框架下的一定深度范围内的多个平面集合(fronto-parallel planes),每个平面d通过其对应的RGB彩色图像C_d以及相应的透明度图\alpha_d来进行编码,
具体来说就是
d = (C_d, \alpha_d)
而本文所涉及的图像表示方法MPI则是将这种rgba通道组合构成的一个多层集合:
\{ (C_1, \alpha_1), ..., (C_D, \alpha_D) \}
其中D代表了深度平面上的数量
关于RGBA图像的知识,请参考博客:【图像处理的alpha通道(RGBA图像)
MPI 中各层中的像素均固定于特定深度位置上,在每层中采用 alpha 通道来记录可见性信息。
为了通过MPI渲染生成高质量且高效的图片(具有显著效果),图像层采用标准的 overlapped alpha blending 方法按前后顺序合成。这一技术确保了图像合成的质量和效率。

3.2 从立体对学习
该文致力于提出一个基于学习的神经网络架构,旨在通过立体对推导出 MPI。其中的具体流程图如下所示:

除了提供输入图像对 I_1, I_2 之外,还需要提供这些图像对应的相机参数。其中p_i 和k_i分别表示相机的外参数和内参数。
阐述相机内外参数的概念
基准坐标系用于表示预测场景中的空间位置。对于输入图像 I_1 来说,其成像中心被视为基准点。(例如,在该设置中,默认将 p_1 定位在相同的几何位置)
训练集由大量由元组
网络输入为\hat{I}_2
与I_{\text{ref}}=I_{t=1}在尺寸为
H\times W\times 3(D+1)
的空间中进行拼接操作。
为了将来自I_{\text{ref}}=I_{t=1}的位姿信息进行编码处理,
作者通过平面扫描体(PSV)方法进行处理。
这种方法是在参考相机坐标系下,
在D个固定深度平面上对I_{\text{ref}}=I_{t=1}
进行重投影操作。
这些深度层与输出MPI所使用的深度层完全一致。
由于颜色通道上的拼接操作被采用,
\hat{I}_2
在尺寸为
H\times W\times 3D
的空间中形成一个三维张量结构。
从直观上讲,在计算机视觉领域中有一种称为PSV的方法允许网络通过各个平面的重投影来推断场景的几何结构——在任何一个像素点上所对应的场景深度通常位于原始图像I_1和平移后图像I_2的一致深度平面上。

网络输出:每个深度平面对应一个透明度参数\alpha_d以及一个背景预测图像\hat I_b和混合权重系数w_b \in WH \cdot (2D+3)

3.3 使用MPIs进行可微视图合成
基于一个参考帧的 MPI 表示下,通过将每个RGBA图像执行平面变换(逆单应性),并按顺序将各转换后的图像合成到同一个画布中进行Alpha融合后,则可生成最终的新奇视图 \hat I_t。
平面变换与阿尔法组合都具有光滑性质,并且能够自然地嵌入到学习流程的所有其他组件中
3.3.1 平面变换
该平面变换操作将MPI中的RGBA平面反向扭曲到目标视点上。
我们定义属于 MPI 的平面几何变换为满足方程 n\cdot x + a = 0 的点集。其中 n 表示法线向量,并且 x = [u_s, v_s, 1]^T 是源像素的齐次坐标。参数 a 则代表该平面相对于参考位置的位移量。
因为 源 MPI 平面与参考源相机呈正视平置关系,
即我们得到n = [0, 0, 1]以及a = -d_{s},
其中d_{s}代表源 MPI 平面所具有的深度。
从源到目标摄像机的刚性三维变换矩阵对应关系可由一个三维旋转矩阵 R 和平移向量 t 来表征,其中源相机参数与目标相机参数分别表示为 k_s 和 k_t。
在 MPI 基础上对每个像素坐标 (u_t, v_t) 进行处理时,在映射关系中找到对应点坐标 (u_s, v_s) 的过程如下:通过标准逆单应矩阵转换得到对应的源像点坐标 (u_s, v_s) = k_s\left(R^T + \frac{R^T tn R^T}{a - n R^T t}\right) k_t^{-1} \begin{bmatrix} u_t \\ v_t \\ 1 \end{bmatrix}
3.3.2 Alpha 合成
将平面变换应用于各个 MPI 平面,并采用工作1中定义的标准流程对彩色图像按照时间先后排列进行alpha合成以生成预测目标视图。
3.4 目标函数
基于给定的一个训练集:
在本文中,本文采用了深度特征匹配损失这一指标(源自工作2中的感知层)。同时采用了归一化处理后的VGG-19网络结构。该损失函数定义为:
L(\hat I_t, I_t) = \sum_{l}\lambda_{l} \cdot ||\phi_{l}(\hat I_t) - \phi_{l}(I_t)||_1
其中\{\phi_{l}\}表示VGG-19系列网络层(包括conv1_2、conv2_2、conv3_2、conv4_2和conv5_2),而权重超参数\{\lambda_{l}\}则被设定为各网络层中神经元数量的倒数值。
3.5 实现细节
在没有特别说明的情况下,默认我们将视差参数D设为32个等距分布的视差(即逆深度),其中近焦点和平面分别设置在1米和100米的位置。
网络结构如下:

训练过程中使用的图像和MPI的空间分辨率为 1024\times 576;然而,在测试阶段该模型能够处理不同分辨率下的影像数据
4. 数据
为了训练,我们需要三联图像连同他们的相对相机姿态和内在特征。
我们对这类数据进行了全面确认:这些数据主要来源于YouTube平台上的移动摄像机所采集并生成的视频片段。
为了实现这一方法的应用效果, 我们需要能够识别出适合的方法来获取视频片段, 即从移动摄像机捕捉到静止画面的小段, 其具备最低失真程度(例如运动模糊或快门模糊), 并不存在额外编辑痕迹(如标题文字和叠加元素)。一旦获取了一个合适的小段画面, 我们必须估计每一帧的具体参数设置以达到最佳效果。
作者在大量线上视频中发现房地产商拍的介绍视频适用于本次任务。
为建立这一数据集而制定
- 生成一组候选视频供后续处理。
- 遍历每个候选视频运行摄像机跟踪器,并计算每帧初始 camera pose。
- 将其分割为多个镜头或片段序列后进行全局优化以提升 camera pose 的准确性。
- 通过全局优化提高每个片段 camera pose 的质量,并移除那些因质量不佳而无法满足精度要求的片段序列。
4.1 识别视频
我们人工筛选出了一些主要专注于上传房地产相关视频的YouTube频道,并通过 YouTube API 获取每个频道列出的所有视频ID。这些操作最终筛选出约1500个候选短视频。
4.2 利用SLAM识别和跟踪视频片段
作者注意到,在完成当前任务需求的情况下,能够为机器人社区中的SLAM技术提供优化现有算法的解决方案。
视觉SLAM系统接收一系列连续的画面片段作为输入,并构建并持续更新一个低密度或部分稠密的场景三维模型。该系统通过其三维重建结果推导出当前视角位置,并保持与这一模型的一致性关系。文章采用了ORB-SLAM2算法作为实现平台,并引用了相关文献[3]
利用该系统进行可用视频片段的识别和跟踪的流程:
- 常规地将连续的视频帧图像输入至ORB-SLAM2系统中进行处理。
- 当算法检测到开始追踪摄像头时,则启动对当前视频片段的标记。
- 当ORB-SLAM2无法持续追踪K= 6个连续帧数据,并达到最大序列长度L时,则决定终止当前视频片段的追踪。
- 基于最终构建好的场景模型不变的前提下进行重头至尾的所有帧数据再处理工作,并以此估算出各摄像机的姿态信息达成一致性。
- 重新启动ORB-SLAM2系统,在此之后准备继续追踪后续的新片段。
基于ORB-SLAM2等的SLAM方法通常需要明确的摄像头参数。(例如视场,在线视频中通常未知)因此我们简化地将视场设定为90度。这种设定在识别良好片段时表现出色。
在此阶段, 我们旨在加快速度, 并对一个低分辨率的视频进行了初步处理. 其结果为每个视频对应多个片段或序列集合及其相关的摄像头配置信息.
4.3 通过束调整(wiki)精细化相机姿态参数
下图展示了一个示例输出:

随后,在更高分辨率下处理每个序列,在每帧图像中提取特征时采用了统一的标准运动特征提取流程。随后通过跨帧匹配获取这些特征,并利用Ceres非线性最小二乘优化器进行全局bundle调整4次迭代。基于ORB-SLAM2的姿态估计结果来初始化相机参数,在优化过程中引入了一个弱惩罚项以防止估计值偏离初始设定过远。最终每个输入序列都会生成一组经过调整后的相机姿态数据集、相应的视场参数以及一个稀疏点云模型来表示场景结构。
4.4 过滤和剪裁
4.5 选择训练三元组
5.5 应用
5.5.1 应用1
我们通过iPhone X(其双镜头相机基线长度约为1.4厘米)获取了一组IPD图像对,并将每组图像对应的两个视角分别存储在相应的存储位置中。鉴于两台摄像头具有不同的焦距特性,在数据处理过程中系统会对具有较大视角范围的画面段进行截取处理,并将这些切片数据对应到统一的视野范围内以便于后续分析时能够对应到相同的视野范围内
在每一对图像中, 我们执行了校准程序, 并以它们的标定参数作为初始设置来优化摄像头的内部参数设置。
然后我们基于房地产数据训练了我们的模型,并将其性能提升至约6.3厘米(放大倍数达到4.5倍)。图11通过浮雕图像展示了几个典型结果,并以动态摆动动画的形式进行了补充展示。重点展示了外推图像如何能提供更具吸引力的三维效果,并重点展示了我们的模型如何能够推广到非典型房地产场景的新案例(如第一个案例中的马尔可夫·吐温雕塑)。最后需指出的是,我们的方法能处理具有趣味性的材料(如第一个案例中所展示的反射玻璃与光滑地板)。

5.5.2 应用2
立体对被扩展为一维光场
我们展示了采用大基线立体对合成连续的“一维光场”这一技术的过程
这些光场沿一条贯穿源视图的线布置
对于该系统应用
我们获取自Fujifilm FinePix Real 3D W1相机拍摄的一组具有7.7厘米基线的数据
随后将其外推至26.7厘米(放大倍数约为3.5倍)的空间范围
如图12所示
输入示例是一个经过浮雕处理后的图像序列并可生成对应的动画效果
值得注意的是
尽管输入数据具有较大的放大空间
但模型仍需处理复杂的背景变形情况
结果显示了良好的插值效果和外推质量

Thomas Porter和Tom Duff于1984年在SIGGRAPH会议上发表了题为《合成数字图像》的论文。
Christian Riechert、Frederik Zilly、Peter Kauff、Jens Güther和Ralf Schäfer于2012年在《IET》与《IBC》联合期刊上合著了一篇题为《自动立体显示到多视图转换的完全自动化方法》的文章。
The Noted Works of the IET and IBC featured 'The Best of Auto-Stereoscopic Display' in Issue 4 of Volume 2012.
Alexey Dosovitskiy and Thomas Brox, in the NIPS conference, 2016, generated images using perceptual similarity metrics based on deep networks.
Alexey Dosovitskiy and Thomas Brox, in the NIPS conference, 2016, generated images using perceptual similarity metrics based on deep networks.
Johann Engel, Vladlen Koltun, and Daniel Cremers. 2018. Direct Sparse Odometry. IEEE Trans. on Pattern Analysis and Machine Intelligence 40, 3 (2018). ↩︎
Sameer Agarwal, Keir Mierle, et al. 2016. Ceres Solver. http://ceres-solver.org. (2016). ↩︎
