日期
09/28
2025
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

基于EPI融合的光场图像生成与消隐算法
收藏
2025-09-28 10:24:31来源: 中国机器视觉网

摘要:针对全息显示和虚拟现实技术中存在的光场图像质量较低且无法灵活消隐等问题,提出了一种基于EPI(Epipolarplaneimage,极平面图像)融合的光场图像生成与消隐算法。首先,利用视角间的透视相关性减少冗余计算,在EPI坐标系上根据已知相机的RGBD数据对信息进行插值,获得包含密集光场信息的EPI图像。其次,设计了一种斜率亮度融合算法,通过斜率间接对EPI图像中的遮挡物体进行规范,结合亮度信息对EPI图像融合过程中的空洞进行填补。再次,为每一个数据点定义了一个光锥,通过控制光锥内的能量分布,实现光场图像中指定物体的消隐。最后,利用快速行进算法填补因消隐产生的空洞,获得高质量的密集的光场图像。结果表明:该算法在遮挡条件下生成的光场图像质量高于传统融合算法,结构相似度可达99.2%以上,并且实现了光场图像中多物体的消隐。该算法能够利用稀疏的图像数据生成优质且密集的多视角图像,消隐后可以展现更为丰富的多视角图像效果,为动态全息显示和虚拟现实等领域提供了有力的图像数据支持。

关键词:光场图像;光场显示;极平面图像;光锥;图像消隐;图像融合

引言

高质量的光场图像在全息显示、集成成像、虚拟现实等领域都有广泛的应用1-4]。光场图像包含了特定空间内所有光线的位置、方向和强度等关键信息,是构建三维场景的基础。若要重建逼真的三维场景,需要大量高质量的光场图像,但高效生成这些图像仍是三维显示领域的一大挑战。现有的光场图像生成算法包括基于模型的渲染(Modelbasedrendering,MBR)和基于图像的渲染(Imagebasedrendering,IBR)等。MBR算法需要预先构建场景的3D模型,并依赖这些模型的几何数据来生成新视角的图像。当场景变得复杂时,该算法不仅面临建模的挑战,而且渲染时间也会显著增加。IBR算法高效便捷,不需要建立3D几何模型,仅需一组已知视角的2D图像,即可通过变形、重投影等操作绘制新视角图像5;但已知视角中缺乏准确和完整的3D信息,其渲染结果往往存在空洞、裂纹、遮挡错误等问题6-9,图像质量有待改善。基于深度信息的图像渲染(Depthimagebasedrendering,DIBR)算法在IBR算法的基础上加入了深度信息,并利用深度和纹理信息的三维变形(3Dwarping)来渲染新视角的图像[10],在一定程度上补偿了因空间信息的缺失而产生的误差,提高了渲染精度,但渲染结果仍存在空洞、伪影、遮挡错误等问题。Oliveira等[11提出了一种基于DIBR合成新视图的方法,减少了3Dwarping过程中产生的伪影、裂纹等缺陷,有效保留了场景的结构特征,但图像依然会出现匹配错误等问题。Li等[12]提出了一种视图合成框架,利用多个互补视图中的相关像素进行空洞填充,缓解了目标视图中的空洞问题。Li等[13]提出了一种视图合成方法,将边界区域的颜色和深度图像的高频系数进行加权平均融合,得到图像的高频系数,并利用该系数提高了合成视图的质量。Li等¹⁴]对深度图中不同的空洞采用不同的修复方法,其中表面孔采用快速行进算法(Fastmarchingmethod,FMM)进行修复,对遮挡孔通过定向关节双向滤波器进行填充,使深度图的边缘细节更加清晰,提高了图像质量。以上方法通过视图合成减少了生成图像的空洞,但并未对遮挡问题进行深入的研究,目前大多数算法在处理遮挡问题上仍存在不足。

在利用视角间的透视相关性生成光场图像的算法中,基于EPI的光场图像处理算法能有效地体现透视相关性[15],能够在减少数据冗余的同时,利用与深度的关联改善遮挡问题,进一步提高图像质量。Yuan等16基于EPI的特性,开发了一种双阶段的LF-DCNN网络,使用EDSR网络提高子孔径图像的空间分辨率,通过EPI增强网络恢复这些图像的几何一致性,最后将处理后的EPI转化为高质量的光场图像。Feng等17]在EPI坐标系中利用视角间的透视相关性来降低数据冗余,并通过整合多个视角的图像数据,有效缓解了图像空洞问题。徐欣宜等[18提出了一种光场图像生成网络,该网络通过融合EPI中来自不同视角的互补信息,使生成的光场图像具有丰富的纹理和高频细节。陈纯毅等[19]在重建光场过程中提出了一种EPI融合方法,该方法分别对EPI的水平方向和竖直方向进行重建,利用深度整合空间与角度信息提高了多视角图像的分辨率。上述方法利用EPI特性在很大程度上提升了光场图像的质量,但是这些方法都是基于IBR算法实现的,这类算法较难实现光场图像的消隐。MBR算法可以利用Z-buffer算法、画家算法等实现光场中特定图像的消隐,但这种算法通常需要精确的几何信息。如果能够在不进行三维建模的情况下直接实现对光场图像中指定物体的消隐编辑,将会大幅提升渲染的灵活性。Liu等20]在DIBR过程中引入光锥,实现了对光场图像中的单个物体的透视裁剪,但并没有研究对多个物体的消隐。若能在DIBR算法的基础上实现对多视角图像中多个物体的消隐,将会大大提升算法的灵活性和实用性。

为解决光场图像生成技术中存在的图像质量较低且无法灵活消隐的问题,本文提出了一种基于EPI融合的光场图像生成与消隐算法。首先,利用视角间的透视相关性减少冗余计算,在EPI坐标系上通过插值获得包含密集光场信息的EPI图像;其次,根据EPI中斜率与深度的联系提出了一种斜率亮度融合算法,该算法通过斜率间接对遮挡物体进行规范,使得融合后的EPI图像不仅可以消除空洞,还具有正确的遮挡关系;再次,利用光锥将RGBD数据扩展为RGBD0数据,增加计算维度,通过控制光锥内的能量分布,在不需要精确几何信息的条件下对光场图像中的多个物体进行灵活的消隐;最后,利用FMM填补消隐时产生的图像空洞,生成高质量的密集光场图像。该算法为稀疏的光场数据生成密集的高质量光场图像提供了一种有效方法,在全息显示、集成成像、虚拟现实等需要密集光场图像的领域有广泛的应用前景。

一、新视角图象生成算法

1.1基于EPI坐标系的光场图像生成

二维相机阵列从不同视角拍摄三维场景的二维视图,实现四维光场的记录。EPI是四维光场的一个二维子集。EPI采样的是四维光场中的其中一维相机阵列拍摄的一维视图信息,其横坐标是一维像素坐标,纵坐标是一维的相机坐标。EPI体现了同一个物体在不同相机视图中的透视相关性。EPI具有一个明显的特性,即:某个三维物点被记录在不同的视图中的不同位置,在极平面坐标系中记录的位置在同一条直线上,而直线的斜率与深度有关。根据EPI的这一特性,可以通过深度计算出直线斜率,根据已知点的坐标和斜率采用插值算法从稀疏采样的光场图像中获取密集光场。相比于DIBR算法要实现每个点的3Dwarping,利用透视相关性可以减少数据的冗余计算,提高算法效率。

通过EPI插值获得密集光场图像的过程示意图如图1所示。已知从极左和极右两个视角采样的RGBD图像,需要求解的是这两个采样视角之间的多视角图像。首先从两个已知视图中提取同一行像素并设置在极平面坐标系的上下两边;其次对稀疏采样的EPI进行上采样,利用每一个像素点的深度值计算该点在EPI中对应的直线的斜率,根据斜率和已知点的坐标对EPI进行插值,获得一个EPI切片;再次从已知视图中提取下一行像素,重复上述操作,实现所有EPI切片的插值;最后将EPI转换到世界坐标系,获得最终的稠密光场图像。

640.png

1.2 EPI 融合与空洞填补

由于已知视图的视角差异,图1中极左视图插值获得的EPI图像和极右视图插值获得的EPI图像会存在差异。在极平面坐标系中EPI的插值融合过程如图2所示,其中:在极坐标系中最左侧一列图像表示原始光场的完整EPI图像,第二列表示原始EPI中的已知视角信息,第三列表示利用已知视角信息插值获得的EPI,最右侧一列表示两个EPI融合后的图像。由于视角和遮挡关系不同,一个已知视角的信息只能恢复出一部分EPI图像信息。若想恢复原始光场,必须将两个已知视角插值生成的EPI信息进行有效地融合。在EPI中的像素点具有深度信息,融合时需要将两个相同位置的EPI像素点的深度进行比对,选择深度较小的像素点赋值到新的EPI中,得到融合后的EPI。这种方法有利于遮挡关系的判断。对于遮挡关系比较简单的三维场景,如图2(a)所示,利用稀疏采样的信息结合图像融合过程可以较好地恢复原始EPI图像。对于复杂的场景,如图2(b)所示,利用有限的采样信息无法获得完整的EPI图像,在融合后的EPI中仍然存在空洞。对于这种情况可以采用两种方法减少或者消除空洞:第一种通过增加已知视角的数量以减少空洞;第二种根据EPI特性结合二维图像修复算法填补空洞。其中第一种方法简单直观,但在相机数量有限的情况,仍然会存在空洞,需要结合第二种方法填补这些空洞。

640 (1).png

如何融合两个EPI是获得高质量光场图像的关键。本文利用在EPI中斜率与深度信息直接相关的特性,提出了一种斜率亮度融合算法。该算法在融合时以斜率值为主要判断依据,以确保得到正确的遮挡关系。高亮度携带更多的信息,因此加入亮度信息进行辅助合成可减少空洞。使用该算法融合时在极平面坐标系上任意一点的RGB像素值E可用式(1)描述:

640 (2).png

其中:最左边视角和最右边视角插值生成的EPI分别表示为EPIR和EPI,ER和El分别表示EPIR和EPIl在该点的RGB像素值,O表示RGB像素值均为0的数组,YR和Yl表示EPIR和EPIl在该点的亮度值。KR和K₁表示EPIR和EPII在该点的斜率值,所述斜率对应的直线是指同一个物点在EPI中对应像素点所在的直线,其大小等于f/z,其中f为相机焦距,z为该点的深度。当相机焦距固定,同一个物点在EPI中的斜率值应该相同,但在实际计算中两者会存在差异,这种差异是由于左右视角信息遮挡或者数据映射过程中的计算截断等因素造成的。δ表示斜率阈值,依据KR与K之间的差异,通过δ界定,选择相应的处理方式。在斜率都不为0时,当KR与KL之间的差异超过δ,表明两者之间存在遮挡,需要选择离斜率较小(距离相机平面越近)的像素值;当KR与KL之间的差异小于δ时,表明差异在数据映射过程中的计算误差内,这时选择亮度较大的像素赋值,可以有效减少空洞,提升视图质量。这种算法利用斜率和亮度两个评价参数选择最优像素值,可以更好地体现模型之间的前后遮挡关系,维持光场图像的几何一致性。

EPI 融合后生成的光场图像具有较高的质量,但当光场中存在复杂的相互遮挡物体时,可能会出现两个视角都没有某一区域信息的情况,如图2(b)所示,这种情况需要进一步对剩余空洞进行修复。在消隐过程中还存在一种情况也需要对空洞进行修复,即在对前方的物体进行消隐处理时,在前方物体的遮挡区域会出现空洞。对于上述两种情况,需要根据空洞周围的纹理由外到内进行修复。本文使用FMM来修复缺失的图像区域。其修复过程的原理如图3所示,其中:Ω为待修复的空洞所在区域,周围的区域为已知图像;əΩ为空洞区域的边界;B(P)为待修复点P周围一个大小为ε的小邻域。对于足够小的ε,P点的像素值可近似为周围已知点q的一阶近似Iq(P),其计算公式可用式(2)描述:

640 (3).png

其中:图像中q点的亮度I(q)和梯度▽I(q)已知。将P绘制为B(P)中所有点q的函数,通过归一化的加权函数w(P,q)将所有点q的估计值进行加权求和,即可得到待求点的像素值I(P),即:

640 (4).png

以上完成了在未知区域的边界əΩ上一个点的修复,将式(3)应用于əΩ上的所有像素,即可修复整个边界əΩ,形成新的边界。在新边界处重复上述过程,直到整个空洞区域被修复。新边界上的像素修复顺序可以选择距离初始边界最近处的像素开始修复,以确保优先修复最接近已知图像区域的像素点。

1.3光锥的定义与消隐

上述过程实现了基于图像的新视角的渲染,但未能实现对三维模型的消隐编辑。为了能够在不进行三维建模的情况下对光场中特定物体进行消隐,本文为每一个数据点引入了一个张角为θ的光锥,将RGBD数据扩展为RGBDθ数据,数据点在光锥区域发出光线,光线在相机平面上形成的投影区域即为该数据点的可见范围,通过调控光锥中的能量分布来实现消隐。光锥定义消隐原理示意图如图4所示,其中:x表示相机平面中的水平方向,z表示垂直于相机平面的方向。为简化计算,将光锥的中心轴设定为平行于z轴,光锥张角的θ大小设定为相机阵列所能覆盖的最大视角。物体通过控制光锥在x轴上的投影区域,以及投影区域内的能量分布即可以定义三维模型的可见性。如图4所示,对于模型1,其上的光锥只覆盖三个区域,标注为a、c、e,也就是说只有在a、c、e对应的相机位置能够观察到模型1;模型2上的光锥覆盖了全部视角,即所有相机都可以看到模型2。在具体操作过程中,先在垂直于z轴的方向按照深度对三维物体进行切片,每一层切片上的物点的光锥通过其前方各层物体的遮挡后将在相机平面上形成其前方物体的阴影,通过光锥的投影区域和阴影为每个视角设置不同的消隐滤波矩阵,结合滤波矩阵在EPI中设定对应图像的定义域,确定可见范围,进而实现消隐。

640 (5).png

根据上述原理本文设计了对应的算法,其流程图如图5所示,其中m表示从第一行到第M行进行遍历的过程变量。首先读取该渲染系统的参数,包括相机参数、视图数量、视图列方向分辨率M等。其次使用两个参考相机采样三维模型的RGBD数据,然后进入渲染循环:第一步,读取已知视图的第一行像素的RGB颜色值和深度信息,并将其设置在极平面坐标上。第二步,判断是否需要消隐。若需要消隐,利用光锥来定义像素点的可见性,因为每个视角中消隐的物体定义域不同,所以需要对每个视角的定义域进行设置,每个视角的定义域数据组成滤波矩阵,用于批量对视角图像进行处理;若不需要消隐,则直接进入第三步。第三步,利用已知的RGBD信息和对应的定义域在EPI上进行插值。第四步,将两个由已知视图信息插值获得的EPI进行融合,得到融合后的EPI。如此循环,直到所有的EPI渲染完成。最后将EPI图像转换为光场图像,根据滤波矩阵可知消隐的视图及消隐产生的空洞位置,利用FMM对空洞进行修复,输出高质量光场图像。

二、图象质量评估

2.1光场图像质量评估

为了测试算法的有效性,将所提出算法生成的新视角视图与DIBR算法生成的图像进行定性的分析,并利用峰值信噪比(PSNR)与结构相似度(SSIM)对实验结果进行定量评估。计算PSNR和SSIM时以Blender软件渲染的结果作为基准。三维场景的RGBD图像由Blender软件中的虚拟相机拍摄获得,单视角视图的分辨率为664×664像素点。以图1中的汉堡模型为例,由已知视图的RGBD图像经过DIBR算法生成的EPI图像如图6(a)所示,该图为左侧参考相机获得的图像的第430行像素生成的EPI图像,其上有明显的空洞。

640 (6).png

经过初步空洞修复后的图像如图6(b)所示,其空洞得到了改善,由于没有右侧参考相机的信息,EPI还存在许多空洞和信息缺失。经过斜率亮度融合后的EPI图像如图6(c)所示,空洞已经被较好的修补。对比图6(a)—(c)可知,本文算法对EPI的空洞进行了有效的修补。图6(d)是由EPI转换得到的光场图像中的一个新视角的视图,其PSNR为37.85,SSIM为99.7%,说明利用本文算法渲染得到的新视角图像与Blender软件渲染的结果质量相近。图6(e)是由DIBR算法得到的相同新视角的视图,其PSNR为18.51,SSIM为87.3%,说明本文算法生成的图像优于DIBR算法生成的图像。

为了验证算法的鲁棒性,在EPI图像融合阶段,本文测试并对比了几种常见的融合算法,包括加权平均融合算法、亮度优先融合算法、距离优先融合算法。加权平均融合算法将两个视角生成的虚拟视图中对应位置的像素值均以0.5的权重进行计算并赋值。该算法简单、易实现,在一定程度上减少了空洞,但对只出现在一个视角上的信息进行融合时,会削弱图像的对比度。亮度高的像素包含更多有效信息,亮度优先融合算法将亮度作为判断标准,并将两个视角中亮度较高的像素值赋给融合后的图像。该算法能够在很大程度上减少空洞的出现,但当背景亮度高于前景物体时,容易造成图像信息错位。距离优先融合算法则根据新视角与已知相机的距离来确定融合权重,距离相机较近的视角获得的权重大,距离相机较远的视角获得权重小。这种算法通过距离的度量来优化融合结果,但当新视角中的遮挡区域与已知视角距离较近时,可能引起遮挡错误。本文选取包含一个自身遮挡的模型、两个相互遮挡模型和三个相互遮挡模型的不同场景进行了渲染测试。图7展示了不同的融合算法渲染的结果,其中:图7(a)是Blender渲染的光场图像和局部放大图;图7(b)是DIBR生成的光场图像和局部放大图;图7(c)是加权平均融合算法生成的光场图像和局部放大图;图7(d)为亮度优先融合算法得到的光场图像和局部放大图;图7(e)为距离优先融合算法得到的光场图像和局部放大图;图7(f)为本文提出的斜率亮度结合的融合算法得到的光场图像和局部放大图。

640 (7).png

观察图7可知,斜率亮度融合算法生成的光场图像较其他算法生成的光场图像相比,更接近Blender渲染的光场图像。加权平均融合算法将各视角重建的图像中出现的空洞以0.5的权重融合至最终结果,获得的光场图像中存在比较明显的空洞。亮度优先融合算法和距离优先权重融合算法相较于加权平均融合算法获得的图像空洞较少,但当背景亮度高于前景物体时,亮度优先融合算法容易造成遮挡错误。例如,在飞机模型中,驾驶舱侧边的白色框边有一道黑色的线条,由于周边区域的亮度值高于黑色线条,算法在像素选取时,使得黑色线条位置的像素被周边亮度较高像素所取代;同样,在花瓶模型中,白色瓶子亮度值高于黄色瓶子,算法在处理像素时倾向于选择亮度较高的白色,使得黄色瓶子部分有白色出现。在距离优先融合算法结果中,当新视图中被遮挡的部分离已知视角的距离较近时就会发生遮挡错误。例如,在飞机模型中,驾驶舱右侧的白色框架发生了大面积的遮挡错误;在乐高模型中,小鸡与后方蓝色裤子边界处的像素发生了遮挡错误。相较于其他算法,斜率亮度融合算法在解决遮挡问题和空洞问题上效果良好。例如,在飞机模型中展现了精确遮挡关系,在乐高遮挡模型中正确还原了小鸡与裤子的位置,且在各模型中都减少了空洞。

640 (8).png

为了定量分析重建视图的质量,本文计算了不同的融合算法生成的乐高模型的20个新视角视图的PSNR和SSIM,其结果如图8所示。在图8(a)中可以看出,本文算法的PSNR(正三角)要高于其他算法,平均在33dB;在图8(b)中,本文算法得到的图像的SSIM(正三角)也优于其他的算法,其SSIM达到了99.2%以上。为测试算法的效率,分别记录了使用加权平均融合算法、亮度优先融合算法、距离优先融合算法、斜率亮度融合算法生成20个虚拟视图所用的时间,分别为7.4、7.0、9.3、10.3s。引入斜率和亮度判断使得算法耗时较长,但图像质量仍然具有优势。其他模型的测试也得到了类似的结论,验证了该算法的有效性及鲁棒性。

640 (9).png

2.2光场图像消隐效果评估

为了验证算法的消隐效果,利用光锥对图4所示的汉堡模型进行了消隐处理。图9中显示的多视角图像对应了图4中不同视角位置处的渲染结果,分别显示了从—30°到30°范围内每隔15°的物体的不同视图。其中,图9(a)、图9(c)和图9(e)对应图4中的a、c和e区域看到的视图,这些区域中有模型1和模型2的光锥覆盖,可以同时看到模型1和模型2。图9(b)和图9(d)对应图4中的b、d区域,这些区域中只有模型2的光锥覆盖,因此观察者只能看到模型2,模型1在b、d区域不可见。渲染结果表明,利用光锥可以实现不同视角下三维模型的消隐。

以上是消隐物体在后方的情况,后方物体不会对前方物体进行遮挡,因此消隐过程并不会产生新的空洞。为了更好地验证消隐的物体在前方时的情况,选择两个相互遮挡的剑作为模型进行测试。前后方遮挡物分别被消隐时渲染的视图如图10所示。当黄剑模型放置在白剑模型后方,如图10(a)所示,白剑会遮挡黄剑。利用光锥将黄剑消隐时,如图10(c)所示,不会出现遮挡引起的新空洞。若利用光锥将白剑消隐,如图10(b)和图10(d)所示,则会出现新的空洞。

640 (10).png

为修复由消隐产生的新空洞,需要使用FMM利用空洞周围已知的纹理进行修复。图11显示了对图10(b)和图10(d)进行纹理修复后的视图,其中图11(a)对应图10(b)视角,图11(b)对应图10(d)视角,可以看出修复后的视图保留了原图像正确的纹理关系。

640 (11).png

以上测试的是两个物体间的消隐,以下对多个不同的物体进行了消隐测试。当面对多个物体的消隐时,需要对不同的视角使用不同消隐参数组成的滤波矩阵,结合滤波矩阵和提出的算法可以对每个视角中不同物体进行消隐。当视角个数设置为更多时,算法依然适用。为了验证多个物体的消隐,选择由1个和尚与4只白鸽组成的模型,其中4只白鸽分别对应图12(a)中的1—4序号。本文将其中3只白鸽分别进行消隐处理,而保持和尚模型不变。图12(b)对白鸽2—4中的像素点对应的光锥内光线能量控制为0,进而实现消隐,而其他模型所对应的光锥内的光线能量为1,和尚和白鸽1在视图中可见。图12(c)对白鸽1、3、4进行消隐,和尚和白鸽2可见;以此类推,图12(d)对白鸽1、2、4进行消隐,图12(e)对白鸽1—3进行消隐,每个视图除消隐物体外其他均可见。从渲染的结果可以看出,通过对光锥的定义和操作,仅需输入两个视角的RGBD信息,算法即可完成对不同视角中任意物体的消隐,并且获得高质量的视图。

640 (12).png

三、结论

为了能在有限的条件下获得密集的高质量光场图像,本文利用EPI中特有的斜率与深度之间的联系提出斜率亮度融合算法,既有效处理了遮挡错误的问题又提高了图像质量。为了能够对多视角图像进行灵活处理,引入了光锥,实现了对多视角视图中任意的物体的消隐。同时使用FMM修复消隐时产生的空洞,保证消隐后依然能够输出高质量的光场图像的输出。定性和定量的分析结果表明该算法有效,生成的视图与Blender生成的原图相比SSIM达到99.2%以上,相较于传统的融合算法具有更高的还原度。本文的算法解决了光场图像生成技术中存在的图像质量较低且无法灵活消隐的问题,无需三维建模就可以实现对光场图像中指定物体的消隐,比传统算法更为灵活且生成的光场图像质量更高,在动态全息显示、集成成像和虚拟现实等需要密集光场图像的领域有广泛的应用前景。