APP下载

一种基于改进的空洞填充算法的新DIBR 方法

2020-06-28王伟

现代计算机 2020年14期
关键词:视点空洞视图

王伟

(四川大学计算机学院,成都610065)

0 引言

调查显示,人们获取的外界信息80%以上要靠视觉。由于肉眼对于高分辨率图像的感知能力有限,人们的关注点逐渐从清晰度转为了对场景立体感、互动感和沉浸感的追求。随着社会生产力和科技的不断发展,虚拟现实设备和准确的实时视点跟踪传感器使新型的沉浸式观看体验成为了可能,允许用户从任意角度交互式观察动态场景。从而造就了如自由视点视频、全景视频等新型视频技术[1]。尽管通常在拍摄中会部署多相机系统,但用户可能会选择未安装物理摄像机的视点,另外由于带宽以及设备的限制,在这些情况下,需要对视图进行合成。

基于深度图像的渲染(Depth Image Based Rendering,DIBR)是广泛用于视图合成问题的一种方法[2]。标准DIBR 算法从参考视点对纹理和深度信息执行3D Warping 以合成新视图,然后应用各种图像修复技术来处理由于遮挡问题造成的新视图中的空洞。这些丢失的像素在任何输入图像中都是不可见的,因此以视觉上可接受的方式恢复像素是一项很具有挑战性的任务。

本文提出的算法流程图如下,首先使用3D Warping 分别从两幅参考视图各分别生成一幅彩色中间图像和深度中间图像。为了解决伪影问题,处理在参考深度图中处于显著边缘的像素。然后将左右中间结果合并在一起。使用一种基于凝聚式层次聚类的遮挡填充技术来填补合成过程中造成的空洞。对于每个被遮挡的区域,其相邻像素根据深度分布被聚类为一个簇。每个簇均被视为一个深度平面。被遮挡的区域一般可认为是最远深度平面的一部分,使用该平面中的有效像素进行像素值恢复。首先填充深度图中的空洞,并以此来协助彩色图像的修复。本文提出的算法在Middlebury 数据集上获得了不错的结果。

1 相关工作

长期以来,虚拟视点合成一直是一个活跃的研究领域。文献[3]是相关技术的全面综述。一种常见的方法是使用基于模型的渲染[45],该方法通常需要使用多边形网格来构建3D 场景模型。另一种主流方法是DIBR,它避免了显式建模步骤并将其替换为3D Warping过程。Zinger 等人提出了一种标准的DIBR 流程[6]。McMillan 等人首次提出利用单视点的3D Warping 方程绘制虚拟视点图像的方法[7],利用一个参考视点图像所在位置的摄像机参数以及相对应的深度信息绘制虚拟视点图像,极大地降低了绘制虚拟视点图像的复杂。由于视点由一个参考视点变换到虚拟视点位置时,一部分场景在虚拟视点中可见而在参考视点中不可见,从而导致大量的像素信息缺失,使得这些空洞区域很难去填补。于是Domanski 等人提出从多个参考视点图像获得更多的虚拟视点信息[8],绘制同一虚拟视点的多个图像,然后对多个图像进行融合,空洞问题得到了改善。但是由于对于融合方式上的处理存在一定的问题,因此视觉效果还有待改善。在基于深度图像的虚拟视点绘制过程中,深度信息的完整性和精度直接影响着虚拟视点图像的绘制质量,而且在经过3D Warping 以后,深度图像的尖锐部分也可能会产生空洞。因此,在绘制虚拟视点之前,应先预处理参考视点的深度图像。目前深度图像预处理方法多采用平滑深度图像的方式。Fehn 提出采用高斯滤波器进行全图像滤波[2],空洞问题得到了有效地解决,但绘制图像会产生明显失真。Daribo 等人[9]提出边缘距离自适应的平滑滤波方法,该方法比直接滤波效果要高效,但也不能完全避免滤波带来的弊端。基于人眼对水平方向上的失真更加敏感的考虑,Wang 等人在文献[10]提出采用非对称边缘自适应滤波方法,这类方法既可以减少空洞数量,也可以去除图像中的块效应和噪声,但由于改变了深度图像中物体的深度,导致绘制的图像存在不同程度上的几何失真。汪敬媛在文献[11]提出一种新的深度图像预处理方法,该方法在处理深度图像的同时很好地保留了深度图像的边缘信息,但是由于增加了大量的比较操作,提高了时间复杂度。Mori 等人[12]通过引入异步生成机制、边界膨胀和空洞互补填充等技术使生成的虚拟视点图像达到了较好的质量,成为DIBR 的参考方法。Ndjiki-Nya 等人[13]在Mori 算法的基础上,通过引入先进的图像修复技术使DIBR 的效果得到了进一步提高。Jain 等人[14]提出了一种效率为主的基于最小性能损失的实时绘制算法。

本文指出了DIBR 中的一些主要挑战,例如处理不可靠的深度估计和遮挡填充。对于由不可靠的深度估计引起的伪影,文献[15-16]使用分层表示来标记边缘像素的可靠性,各个层分别变换,然后合并在一起,在[17]中提供了主流遮挡填充方法及其性能比较。文献[18-19]使用深度信息来辅助遮挡修复过程。Tran 等人在文献[20]中针对恢复不可靠和被遮挡的像素,利用晶格结构的条件随机场和图割最小优化对其进行了改进。

2 算法介绍

本文提出的算法包括4 个主要步骤:3D Warping、伪影去除、中间图像融合、空洞填充。

2.1 3D Warping

文献[21]提出了通用的3D Warping 公式,假定左右参考视图经过校正,虚拟视点位置位于基线上。左和右摄像机分别沿着归一化基线在位置0 和1 处,虚拟摄像机位于位置α,0<α<1。对于左视图和右视图,通过按α 或1-α 缩放的视差比例来水平移动参考视图像素位置。针对X*Y 大小的参考视图IL和IR,dL和dR为参考视图对应视差图。通过以下公式生成候选图像TL和TR,DL和DR为TL和TR对应的合成的中间深度图。图1 为Middlebury 数据集中Moebius 彩色图和对应的视差图。

r 代表行数,n 代表列数。 fL、fR、b 别为左右相机焦距和基线长度。 针对非整数列映射点(r,n'),n'∉Z,合成两个位置降低裂缝效应。多个像素映射到同一个像素点时,保留深度最小,即视差最大的像素。

图1 Moebius彩色图和对应的视差图

2.2 伪影去除

深度图像中的边缘通常比较尖锐,伴随有突变,而彩色图像中的对应部分会有过渡宽度。如果处理不当,深度为背景但被前景色污染的边缘像素将导致伪影(见图2)。对参考深度图应用Canny 边缘算子[16]来检测两个参考视图中的显著边缘。利用形态学膨胀检测到的边缘,对膨胀后的该像素区域区分背景和前景。对TL和TR中从膨胀区域背景中的边缘像素3D Warping 变换来的对应像素应用中值滤波。

图2 未处理伪影的最终合成图像

2.3 候选图像融合

通过比较合成的视差图来线性加权融合候选图像TL和TR生成中间视图It,Dt。TL和TR中均可见的像素,保留深度更小的。因为深度越小越接近相机,容易遮挡远处物体。只存在于一个候选图像中的像素,代表着像素在另一幅候选图像中被遮挡。直接采用该像素值。两幅候选图像中都不可见的像素,使用后面的空洞填充算法解决。融合后的图像可见图3。

图3 融合生成的中间图像及空洞

3 空洞填充

It,Dt中的空洞可能是由两个主要原因引起的。一是参考图像中的采样率不足,随着视点的变化,与参考视点相比,物体占据的像素更多。另一个是遮挡,在新视图中参考视图中被遮挡的区域变为可见。空洞可能位于一个深度平面中间或多个深度平面的相交处。在第一种情况下,空洞为平面的一部分。在第二种情况下,该空洞很可能是被参考视点前景对象遮挡的背景的一部分。空洞可视为最远的相邻深度平面的一部分。

3.1 层次聚类

我们探索每个空洞周围的相邻像素的深度分布,以确定空洞周围深度平面的数量。对于空洞Hi,我们基于深度值对其3 阶相邻像素(3 个像素)应用凝聚式层次聚类:如果两个集群P,Q 满足以下公式将被合并。

先合并最接近集群。当簇之间的相互距离都超过τd时,合并过程停止。每个簇被视为一个深度平面。

3.2 深度图空洞填充

采用距Hi最远的剩余簇C(Hi)中的像素填补空洞Hi。填充从选定像素的边界处的像素开始,逐渐向空洞的其余区域传播。对于空洞Hi中的像素x 使用中值滤波:

图4 经深度图空洞填充后的合成图像空洞

3.3 彩色图空洞填充

彩色图像空洞填充类似。代替中值滤波,使用双边滤波器[22]的变体来填补空洞。具体公式如下。

分母为归一项。 ws是权重函数中的空间域高斯核,描述y 和x 之间的空间距离。

wi为权重函数中的像素值域高斯核,描述像素值域中的辐射差异(周围像素与中心像素之间像素相似程度)。

wi能防止x 被通常代表其他对象的其他深度平面内的像素污染。针对填补的彩色图像的边缘中值滤波以平滑锯齿状伪影。图5 显示了最终的彩色输出图像。

图5 最终彩色合成图像

4 实验结果

在Middlebury 立体数据集上评估了本文提出的算法。该数据集包含27 组多视图图像。每组都包括一对校正过的彩色图像和视差图。在表1 中,报告了提出的算法(α=0.5)和其他3 种最新算法在10 个测试图上PSNR 和SSIM 得分。结果表明,提出的算法平均PSNR 为35.33dB,SSIM 为0.99。稍稍优于其他算法。

5 结语

虚拟视图合成是一种为自动立体多视图显示器生成内容的可行解决方案。对于某些应用程序以及包含更多视图的未来显示技术,合成视图是必不可少的。另外在考虑多视图图像的数据传输时,从立体对中合成视图也具有巨大优势。本文提出了一个基于层次聚类的DIBR 算法框架,用于视图合成任务中的最具挑战性的遮挡填充问题。所提出的算法在Middlebury 数据集上进行了测试。评估结果表明算法取得了较好的结果。这项工作还有许多可能的扩展。当前,正在考虑增加视图一致性约束。

表1 本文算法和三种最新方法的PSNR 和SSIM 比较表

猜你喜欢

视点空洞视图
多层螺旋CT对肺结核空洞与肺真菌病空洞的鉴别诊断分析
虚拟视点插值中参考视图选择策略
北极上空出现罕见臭氧层空洞
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
《投影与视图》单元测试题
空洞的眼神
Django 框架中通用类视图的用法
环境视点
寻找新的视点