- 07/29
- 2025
-
QQ扫一扫
-
Vision小助手
(CMVU)
导读:
三维光场显示中,观看者在前后移动时会发生透视关系错误,观看到变形错误的三维图像。为了获得正确的透视关系,本文提出了一种基于光流预测的透视关系校正方法。采用一个由光流预测网络和透视变化网络组成的透视关系补偿网络来补充透视关系信息,实现透视关系校正。其中,光流预测网络用来提供深度信息以辅助透视关系补偿网络生成深度方向上的光流,保留垂直光流分量用于插值出设定范围内任意距离处的透视关系信息。通过人眼跟踪设备获取观看者位置,实时生成图像与编码并加载到三维显示系统中,实现实时的透视关系校正。实验结果表明,该方法可以有效校正透视关系,使观看者在前后移动时观看到正确的三维图像。
关键词:3D光场显示、透视关系校正、光流预测、深度学习
一、引言
近年来,三维光场显示技术一直受到研究人员的广泛关注并取得了显著进展[1-10]。三维光场显示技术通过使用特殊设计的控光元件实现了具有大视角与自由观看范围的三维场景重现,在各行各业展现出了十分广泛的应用前景。
三维光场显示技术的基本原理是通过在空间中构建体像素来模拟真实三维物体所展现的光场信息。在显示设备上,像素发出的光线经控光原件调制后,携带各个方向的视点信息在空间中构成体像素。所有的体像素共同作用形成了三维光场,在空间中表征物体的原有真实光场。在光场理论中[11-15],光场可被表征为 ∑∑Ray(x,y,z,θ,Φ ,λ,t)。(x,y,z)表示物点在空间坐标下的位置,(θ ,Φ )表示水平与竖直方向上的角度,λ表示光的波长,t表示时间。在三维光场显示技术中,λ可表示为像素的颜色与亮度,t可以转换为不同的帧序号。具有全视差的三维光场显示可以提供完整的方向信息,不过其往往以降低显示质量为代价。只具有水平视差的三维光场显示通常只在θ方向上提供信息构建完整的水平视差,而为了保证良好的显示质量,其往往缺少垂直控光角φ 方向上的表达。由于人眼为水平排列且大部分的头部运动为水平方向的运动,三维光场显示在上述方面中缺少的表达并不会对立体感与运动视差造成很大影响。由于三维光场显示依托于二维显示平面,缺少精确的深度坐标z,因此,在只具有水平视差的三维光场现实中光场被表征为∑∑Ray(x,y,θ)。本文主要的研究对象为只具有水平视差的三维光场显示系统,所述三维光场显示特指只具有水平视差的三维光场。
由于三维光场显示不存在垂直视差,体像素在垂直方向上从不同角度(Φ)发射的光束所传递的信息是相同的,因此可以理解为体像素在竖直方向上的投影为正交投影。同时,由于其包含完整的水平视差信息,体像素在水平方向上的投影为透视投影。因此,当观看者前后移动时,在水平方向上看到的立体图像符合近大远小的透视关系,同时具有正确的遮挡关系。但在垂直方向上,任何位置的图像信息都以等比例变化,而遮挡信息不变,从而导致屏幕图案拉伸或压缩,甚至导致图像倾倒变形,产生错误的透视关系[16]。
为了解决该问题,过去研究中所采用的方法主要为根据观看者位置实时渲染图像[17]。然而,在三维光场显示中,直接渲染视差图像的计算成本高,耗时长[18-21],难以实现实时显示。其次,若对视差图像(θ,Φ)方向的参数进行更新来实现对透视关系的校正,则θ方向上的校正是冗余的。针对上述问题,本文提出了一种高效简洁的解决方案:针对不同距离所采集图像的特殊光流预测网络。该网络采用帧插值的思想来节省渲染时间,同时计算方向上透视关系变化来实现透视关系补偿。
二、基本原理
2.1 三维光场显示中的体像素构建
计算机图形学领域中的光场理论将光学与计算机连接起来,光场理论和模型的研究为计算机图形学处理光辐射信息提供了一种数学方法。人眼之所以能看到三维空间中的物体,是因为其接收到物体发出的光(该模型以物体为主要研究对象,将物体主动发出与被动反射的光均视为物体发出的光),而光场是三维空间中所有光线的集合。用七维参数将真实的光场表示为[11]:
其中:(Vx,Vy,Vz)表示人眼与物点的相对位置,(θ ,Φ )表示物点在水平与竖直方向发出的光,λ表示光的波长,t表示时间。在三维显示中,三维光场显示技术通过构建体像素的方法来记录和控制空间中水平方向上的采样光线,从而为观看者提供完整的水平视差信息。三维光场显示系统呈现三维信息的过程如下:在二维显示平面上加载编码后的合成图像,携带三维场景信息的光线经过控光原件的调制后,在空间中汇聚构造体像素。所构造的体像素可以向不同方向投射不同空间信息。当观看者在观看位置接收到来自多个体像素的信息时,就可以感知到由体像素构成的三维图像。因此,三维光场显示中光场表征为[15]:
受限于二维显示平面与控光元件组成的系统构造,三维光场显示缺乏精确的深度坐标z以及Φ方向的信息,但可以构造出具有水平发散角θ的体像素,从而提供了完整的水平视差。并且由于人眼主要通过水平视差获得立体感,因此三维光场显示仍然可以为观看者提供真实的立体观看体验。
2.2 透视关系错误原因分析
在三维光场显示内容的采集过程中,通常采用水平离轴相机阵列对三维场景进行捕捉,以一个物点obj1为例:由obj1发出的光线为∑Ray(x,y,z,θ,φ),水平相机阵列为∑Camera(l,θ,φ=φ1)。其中,相机阵列与零平面的距离为L,各相机对obj1的水平采集角为θ,竖直采集角为Φ。在显示过程中,obj1被构建为体像素V1,其发出的光线为。观看者可以在观看距离L处观看到具有正确透视关系的立体显示效果。实验表明,如图1(c)所示,当观看者前后移动时,显示效果会出现透视关系错误的现象,如三维图像的倾倒、拉伸等。
在深入讨论我们的校正方法细节之前,首先对透视关系错误产生的原因进行简要分析。如图2(a)和图2(c)所示,三维光场显示系统构建的三维光场为:
每个像素在垂直方向上每个角度发出的光来自相同的垂直采集角Φi,它们携带相同的信息,因此这个过程可视作一个正交投影。另一方面,每个像素在水平方向发射的光来自不同的采集角度θ,包含完整的视差信息,这个过程可视作一个透视投影过程。因此,当观看者改变观看距离时,在三维图像的水平方向上可以观察到正确的透视关系和遮挡关系,而在竖直方向上则没有这种关系。
如图2(b)所示,为了更好地描述透视错误现象,我们在显示平面出屏方向矩形平面的4个顶点处选取4个体像素{V1(3),V2(3),V3(3),V4(3)}。在L处观看时,观看者将观察到一个长宽分别为X、Y,出屏深度为d的矩形。当观察者从L移动到L′时,在理想光场中,人眼观看到的矩形图像尺寸会相应变大。将图像尺寸的宽度和高度分别设置为Xi和Yi,则这两个尺寸之间的关系为:
然而,在三维光场显示中,只有水平方向的透视关系是正确的。在三维光场显示中,矩形图像尺寸的宽度和高度分别为X'和Y',这两个尺寸之间的关系为:
同样地,在显示平面入屏方向矩形平面的4个顶点处选取4个体像素{V1(3),V2(3),V3(3),V4(3)}。在L处观看时,观看者将观察到一个长宽分别为X、Y,入屏深度为d'的矩形。当观察者从L移动到L′时,图像尺寸的宽度和高度分别为X'和Y',则两者的关系为:
上述的移动方向为向显示平面移动,即L'<L。当向相反方向移动时,即L'>L,根据上述分析易得出下述相反的变化关系:对于出屏方向的{V1(3),V2(3),V3(3),V4(3)},矩形图像尺寸的宽度和高度分别为X'和Y',可得:
同样的,对于出屏方向的{V1(3),V2(3),V3(3),V4(3)},可得:
上述分析表明,当观察者从L移动到L'时,出屏或入屏的图像在垂直方向上被压缩或拉伸,然而垂直方向上的遮挡关系保持不变。
本节分析了三维光场显示中发生透视关系错误现象的原因。透视关系错误会导致观看者在改变观看距离时看到错误的三维图像,严重影响观看体验。因此,有必要提出一种三维光场的透视关系校正算法。
三、透视关系矫正算法
为了实时校正三维光场显示的透视关系错误,本节提出一种实用的解决方案。该方案既可以快速地一次性校正垂直方向透视关系,同时又保持输入视图的水平方向透视不变。该方法的效率高且可以反复执行,所提出的实时透视关系校正方法示意图如图3所示。
(1)数据采集:根据观看者的位置实时调整虚拟摄像机阵列的拍摄距离和焦距,得到与观看者最大移动位置相匹配的多视点序列∑View(L’θ,f),我们设定初始位置的多视点序列为∑ViewInitial(L’θ,f)。需要注意的是,在调整相机阵列的位置时,对零平面的采样尺寸应相同。
(2)透视校正:本方法提出了一种透视关系补偿网络(Perspective Relationship Completion Network),该网络利用∑View(L’θ,f)和∑ViewInitial(L’θ,f)之间的相关性,插值出竖直方向上的透视关系信息,同时在水平方向上保持透视关系和遮挡关系不变。最后,取得其中任一位置的校正后的视图∑Viewcorrected(L11,θ,f)。
(3)三维光场显示:通过人眼追踪设备获取观看者的位置信息,根据位置信息获得校正后的视图,经正确编码后显示在三维光场显示设备上。通过该过程,观看者在深度方向的任何观看位置都可以看到具有正确透视和遮挡关系的显示效果。
3.1 透视关系补偿网络结构
透视关系补偿网络结构示意图如图4所示。
在现实世界和计算机图形学中,主要的拍摄方式是透视相机和正交相机。当拍摄距离改变时,透视相机可以同时记录水平和垂直方向上的透视变换,而正交相机不记录场景的透视关系。在相机阵列拍摄距离发生变化时,为了弥补三维光场显示垂直方向上的信息,该网络通过图像处理实现水平正交拍摄和垂直透视拍摄。为了实现这一目标,网络应该能够计算像素在不同拍摄距离的视图(∑ViewInitial(L’θ,f)和(∑View(L’θ,f))之间的运动轨迹,并且只保持像素的垂直运动。本文采用光流预测网络直接预测该轨迹:光流可以记录相邻视图像素之间的位移向量,并在此基础上进行变形,得到相邻视图之间的密集虚拟视图[21-24。对于给定的一对RGB图像[Ix,Ix+1],可以通过两者间的光流(fu,fv)将中坐标为(u,v)处的像素映射到Ix+1中坐标为(u+fu,v+fv)处的像素。但是,根据透视关系规律,在前后不同距离处各特征的大小会发生变化,直接计算光流无法达到理想的效果。考虑到透视变换与场景深度密切相关,该网络通过引入深度映射方法计算出∑ViewInitial(L’θ,f)和∑View(L’θ,f)之间精确的光流信息。
如图4(a)所示,该网络由光流估计网络和透视变换网络组成。首先,计算两个相邻视点V1_L和V2_L的光流flow(u,v),并将它们的光流与V1_L和实时采集的V1_L1’一起输入到透视关系变换网络中。在这个环节中,相邻视点的光流相当于一个深度映射关系,具有相同深度的物点在透视变换时具有一致的变换规律,因此它可以指导卷积神经网络(CNN)理解和计算深度与透视关系之间的转换方式。
透视变换网络根据光流flow(u,v)提供的深度引导,计算V1_L和V1_L'之间的光流flow'(u,v),只保留其垂直光流分量,得到光流flow'(0,v)。将该光流作用于V1_L上得到校正后的视图V'1_L',该过程称为反向映射(Backward Warp)。
透视变换网络示意图如图5所示。可以看出,该网络为具有对称编码器(Encoder)和解码器(Decoder)模块的U-net结构。
编码器负责从输入图像中提取特征,将光流flow(u,v)、V1_L和V1_L'输入到编码器网络,将其映射为具有较低分辨率的密集特征图:
特征编码器由6个残差块和1个卷积层组成。特征尺寸首先被卷积层减小一次,接着被由两个残差块组成的模块减小3次,这样既能捕捉到细微的特征变化,又能扩大感受野。
解码器通过残差连接重建光流特征,并将密集特征图上采样为具有初始尺寸的光流:
需要注意的是,为了从不同尺度上学习特征,我们采用了逐步提高预测光流分辨率的策略:使用两层卷积层在不同尺度下预测4个光流:
3.2 训练
为了有效地预训练所提出的网络,我们基于Unity和Blender创建了一个数据集。该数据集包括1 000对在10个场景下不同距离的双目图像。同时,对每个图像再采用水平正交、竖直透视的特殊投影方式进行采集。如图4(b)所示,网络的损失函数定义为:
其中:Vi'1_L'为经反向映射后所得图像;Ti'1_L'为其对应的通过水平正交、竖直透视方式采集到的图像;λi为对应视图的权重,可由场景需求进行更改。
3.3 实验结果
实验所用设备如图6所示,其中三维光场显示设备的参考观看距离为150 cm。三维光场显示设备的参数如表1所示。在Blender中分别在对应于显示距离60 cm与150 cm处使用虚拟相机采集50张视图,将其作为网络输入。通过人眼跟踪设备实时获取观看者深度位置信息并生成对应位置的透视校正图像,经编码后在三维光场显示设备上进行显示。实验所用人眼跟踪设备为RealSense D455,通过其SDK获取观看者位置信息。
实验结果如图7所示:图7第二行为在90 cm处拍摄的未经校正所观看到的图像,图像由于透视关系错误发生变形,具体体现为横纵比变大,该现象与前文分析一致。图7第三行为在90 cm处拍摄的经本文校正过后所观看到的图像,可见图像的透视关系得到校正,观看者可以观看到正确的三维图像。图8为不同场景下的实验结果图,可见本方法在不同场景下均可以对透视关系进行校正。
四、结论
在三维光场显示中,观看者在前后移动时会发生透视关系错误。本文针对以上问题,提出了一种基于深度学习的透视关系校正方法。该方法通过构建透视补偿网络,通过光流插值出竖直方向上的透视关系信息,同时在水平方向上保持其不变,实现透视关系校正。经过实验验证,该方法使观看者在设定的深度范围内任一位置都可以观看到透视关系正确的三维图像。
(文章来源于液晶与显示,如有侵权,请联系删文)