面向 3DoF+的虚拟视图合成算法研究(陈 莹)
- 论文贡献
- 多视点联合的虚拟视图合成算法
- 视图合成中多视点伪影消除算法
- 面向虚拟视图合成算法的 3DoF+系统
- 基于深度的虚拟视图合成算法
- 视点映射(3D-Warping)
- 三维空间映射变换(3D-Warping)
- 仿射变换
- 透视投影
- 刚体变换
- 视图融合
- 空洞填补
- Criminisi Inpainting 算法
- DIBR 去伪影算法
- 单幅参考视图 DIBR 去伪影算法
- 基于背景重建的空洞填补算法
- 基于局部前景移除的空洞填补算法
- 多幅参考视图 DIBR 去伪影算法
- 多视图空洞填补算法
- 全景视频的虚拟视图合成算法
- 多视点联合的虚拟视图合成算法
- 传统DIBR算法
- 多视点联合的虚拟视图合成算法
- 视图合成中基于多视点的伪影消除算法
论文贡献
多视点联合的虚拟视图合成算法
- 通过对多视点进行三维空间变换得到虚拟视图处的亚像素信息,并分析这些亚像素与待插值整像素点之间的相关性
- 依据相关性,不同的应用场景,分别采用三种不同的多视点合成插值算法,分别是最邻近插值、三角插值和非均匀插值。
视图合成中多视点伪影消除算法
- 分析了伪影区域的空间特征–>区分区域内前后景–>根据待插值点的位置信息选取前景或后景的像素信息完成插值
面向虚拟视图合成算法的 3DoF+系统
基于深度的虚拟视图合成算法
DIBR 的基本思想是利用参考视点的纹理图及深度图进行三维空间映射变换,最终得到目标视点的虚拟视图。多视图 DIBR 技术主要由视点映射、视点融合、空洞填补三个部分组成。
视点映射(3D-Warping)
视点映射主要完成了参考视点图像到目标视点图像的转换。视点映射的核心是三维空间映射变换(3D-Warping)
三维空间映射变换(3D-Warping)
3D-Warping 主要由两部分组成,首先完成了参考视点图像平面上的点依据对应的深度信息投影到三维空间中,然后再将这些三维空间中的点投影到目标视点的虚拟图像平面中
在整个 3D-Warping 过程中,涉及到以下四个坐标系:图像坐标系、像素坐标系、相机坐标系、世界坐标系。世界坐标系中的一点变换至某一确定图像坐标系中的一点,需要经过刚体变换、透视投影和仿射变换。
仿射变换
图像坐标系与像素坐标系之间的转换关系统称为仿射变换
透视投影
透视投影表示的是相机坐标系与图像坐标系之间的转换关系,在针孔相机中,其原理与小孔成像的原理类似
刚体变换
刚体变换表示的是世界坐标系与相机坐标系之间的转换关系
视图融合
- 参考视图各自经过独立的视图映射过程得到对应的虚拟视图,视图融合主要完成了对这些虚拟视图的融合操作,以得到一幅更加完整的虚拟视图
- 使用多幅参考视图合成中间的虚拟视图,可以有效利用多幅参 考视图中对遮挡关系的不同描述,以有效减少虚拟视图中由于遮挡导致的空洞。
目前视图融合算法主要有以下两种算法:
- 第一种是基于相机基线距离的视图融合算法
- 第二种是基于指数加权的视图融合算法
空洞填补
空洞填补完成了对虚拟视图中仍然存在的空洞进行填补的操作,以输出最终完整的虚拟视图结果。对于较大的空洞区域,大部分研究人员倾向于选择一种基于样本块的方法,如 Criminisi Inpainting 算法
Criminisi Inpainting 算法
Criminisi Inpainting 算法的主要思想原理是:在待填补的空洞边缘处选择一点 p,以 p 为中心生成一个待填补的目标块。然后,根据目标块中的已知的像素信息在图像中计算确定最佳匹配块,将其对应的信息复制待填补的块中,反复迭代,直到完成整幅图像的填补。
DIBR 去伪影算法
参考视图投影至虚拟视图的核心思想是 3D-Warping,在这个过程中,不同类型的人工伪影(artifacts)出现在合成视图中,包括裂缝(cracks)、虚影(ghost)、空洞(disocclusions)、视线外区(OOFAs)。
单幅参考视图 DIBR 去伪影算法
基于背景重建的空洞填补算法
基于背景重建的空洞填补算法主要是通过 2D 视频及其对应深度图的时间相关性构建背景视频。为了使得背景视频内容更加真实,将原视频中的前景对象进行检测并移除。使用运动补偿算法,使得提出的背景重建模型能够适用于移动摄像场景。重建得到的背景视频可以用于消除合成视图中的空洞
基于局部前景移除的空洞填补算法
即移除局部前景区域,使用被移除前景区域周边的背景像素对其进行填补。最后,利用在参考视图中填补的背景像素正向 3D-Warping 至虚拟视图完成最终的空洞填补过程
其中模块功能如下:
- 形态学预处理模块完成前景边缘检测以及深度校正
- 空洞区域边缘检测模块完成对深度不连续造成的空洞边缘的检测与标识
- 局部前景移除模块完成移除区域的深度估计以及纹理预测
- 在空洞填补和后处理模块中,虚拟视图的空洞填补仅需将移除局部前景的参考视图变换至虚拟视图即可完成
多幅参考视图 DIBR 去伪影算法
多视图空洞填补算法
在使用多幅参考视图进行图像插值时,除了使用与目标视图最邻近的两个视图之
外,通过使用存在的其他参考视图,对空洞进行填补
注意
该视图合成算法依赖于深度图的准确性。因为错误的深度图会使得参考像素投影至虚拟视图中不正确的位置
全景视频的虚拟视图合成算法
全景视频的虚拟视图合成算法,通过使用多个全景视频的纹理图和深度图,有效减少了空洞
该算法
- 首先依据参考视图与虚拟视图在空间中的距离,对输入的视图进行优先级排序;
- 然后,赋予距离较近的视图高优先级,这些视图主要用于合成视图,赋予距离较远的视图低优先级,这些视图主要用于空洞填补;
- 接着,每幅参考视图依据其纹理图和深度图独立完成视图变换的过程,对于具有相同优先级的视图,对视图变换后的结果进行视图融合操作
- 最后,得到最终的视图合成结果。
其中有两部分的创新值得关注:
- 全景视频基于深度的空洞填补
采用了一种全景视频的空洞填补方法, - 颜色校正
不同的视图(尤其是用物理相机拍摄的真实视图)在颜色特征上会产生不连续的情况,这些会导致在虚拟视图中产生颜色伪影。
为了减少这种现象,均衡从不同参
考视图投影的点的全局色差。校正方法是对从两个视图分别得到的颜色分量取平均值。
多视点联合的虚拟视图合成算法
传统DIBR算法
已有的 DIBR算法主要由视图变换、视图融合、空洞填补三个模块组成
- 视图变换模块首先根据输入的参考视图及其对应的深度图进行视图变换,从而得到参考像素点在虚拟视图中的位置,在此基础上进一步使用最邻近插值等方法得到各自的虚拟视图
- 视图融合模块负责将得到的多幅虚拟视图按照一定的加权规则进行融合,从而获得一幅更完整的虚拟视图
- 空洞填补模块负责对虚拟视图中仍然存在的空洞进行填补,并得到最终的虚拟视图。
多视点联合的虚拟视图合成算法
有效利用多幅视图的信息以提升视图合成的质量,合理使用了当前视点所有参考视图变换后精确的亚像素信息,提高了插值得到的虚拟视图整像素的精度。
该算法由三维空间映射与图像插值两个主要模块组成
- 多视点三维空间变换主要实现了多幅参考视图的像素到虚拟视图中对应亚像素的变换,以共同用于后续的图像插值。首先,每个视点的参考像素经过三维空间映射变换至虚拟视图,然后对多视点变换后的结果进行存储,并分析这些来自多幅参考视图的像素(实像素)与最终虚拟视图整像素(虚像素)之间的相关性。
- 经过多视点三维空间映射模块后获得了参考像素在虚拟视图中对应的亚像素信息,利用这些亚像素信息完成图像插值模块以直接获得虚拟视图整像素的信息。为了更好地实现图像插值模块,依据插值算法的空间和时间复杂度,实现了三种不同应用场景的插值算法。三种算法分别是最邻近插值、三角插值和非均匀插值
最邻近视图合成
对于实时性要求较高的场景,可以使用最邻近视图合成,它只需在待求的像素矩阵中,将距离待求像素点最近的点的像素值直接赋值给待求像素点即可
三角插值视图合成
选用待插值点周围的三个点应用三角形插值,更准确的计算出待插值点的信息。
非均匀插值视图合成
在一个待插值整像素点的周围,可能分布着很多来自不同参考视图的像素,如果仅使用其中的一部分,而另一部分没有进行有效合理的应用,不能充分发挥出多视图联合的优势。对非均匀分布的点首先进行合理的选择,尽可能多的使用有效的参考像素完成非均匀插值,以进一步提升算法性能。
视图合成中基于多视点的伪影消除算法
方法主要包含伪影区域标识、伪影区域前后景划分、待插值点位置判别、图像插值四个模块。
这样的方式更加有效地利用了多幅参考视图中的深度信息。相比于独立地使用每幅视图的纹理或深度信息,联合使用多幅视图的深度信息构建出的三维信息,使得伪影区域的判断更加准确,进而有效地去除了伪影,提升了合成视图的质量
伪影区域标识
依据伪影区域内参考像素在三维空间中
的分布特征,对虚拟视图中的伪影区域与其他区域进行区分并标识
伪影区域前后景划分
判断区域中分别属于前景和后景的像素。
待插值点位置判别
对伪影区域内的待插值整像素点进行前后景的判别,即判断待插值整像素属于前景还是后景
图像插值
使用对应的前、后景参考像素对伪影区域内的待插值像素完成插值,将结果与其他区域图像插值的结果相加得到最终的虚拟视图