基于多层屏的3D显示算法的研究与实现
2018-01-15陈晓西刘晨曦黄张英
江 山,陈晓西,刘晨曦,黄张英
多层显示技术 (multi-layer display,MLD),是由PureDepth公司研发的立体显示技术[1]。其基本原理是通过一个显示器内布置两个以上的显示屏幕,在不同的显示屏中显示有差异的视频图像,当然这个图像是经过处理的有一定的深度信息的,通过多个显示屏幕的合成效果,就可以达到立体显示效果。
麻省理工学院媒体实验室在2011年对技术进行了改进,该实验室公开了他们关于裸眼3D技术的研究成果,可以视作光场三维显示的最新进展。他们提出了基于衰减型和偏振型两种多层结构的光场三维显示。
本文主要以衰减图的计算为核心,对3D多层屏显示算法进行一个优化整合,并在硬件上加以实现,得到了较为满意的结果。
1 相关原理
所谓投影图,就是相机在不同视角捕捉得到的物体的图像。不同视角拍摄得到图片将会拥有图像的方位信息,将这些信息加以利用,便可近似地模拟出原物体的光场信息。将这些投影图通过算法便可计算出三层衰减图[3]。
1.1 投影图的获取
我们在通过模拟来获取物体投影图。首先定义视场角 (field of view,FOV)的概念,视场角就是人眼 (或者相机)观察物体的最大张角[4]。它又分水平视场角和垂直视场角。在本文中视场角是针对物体而言的,即物体在一定范围内发出的光线的集合,如图1所示。
由于物体发出的光场信息是连续的,所以我们只能通过采样的方式,获取一定数量的投影视图。具体的采样方式就是对视场角的正切值进行等分,摆放5×5相机阵列同焦平面的捕捉画面[5]。物体的投影视图保留了物体各个方位的信息,将这些信息通过接下来的算法,便可模拟出图像真实的光场信息[6]。
图1 视场角示意图
1.2 多层屏显示模块的搭建
三层屏分别通过多屏显卡驱动显示。在背光灯的照射下,从第一屏上方向下看,便可以看到多层屏综合显示的效果。多层3D显示模块的基本构成如图2所示,大致上由前、中、后3层液晶显示层及背光源组成[2]。
图2 多层3D显示模块
1.3 衰减图计算的算法
首先,计算衰减图的原材料就是上一节所说的不同视角的投影图,不考虑光线在传播过程中的能量损失 (屏与屏之间的距离非常小,能量大小几乎不变),以光线贯穿三层屏路径上的像素点线性相加来尽最大可能接近实际投影图,为这个算法的核心思想[7]。
该算法的主要模型如图3所示。图中的3个平面分别对应3个衰减图形。贯穿3个平面的直线代表实际光场中的任意一条光线。直线与平面法线的夹角就是相应的视角。观察点位于第一层平面的正上方,从而观察到来自3个平面发出来的光的集合。坐标系的x,y方向分别平行于平面的水平与竖直方向,z方向为平面的法线方向。在后面的分析中主要以x,y方向的坐标为主。
先根据初始定义的视场角θFOV的大小,来决定观察点的位置。假设观察点所在平面距离焦平面的距离为z,则最大横向偏移或纵向偏移量为:
该最大偏移指的是观察点在一定高度 (z为定值)能够活动的x,y方向的范围大小。
再对其进行等间距取值,这样可以得到每个观察点的横纵坐标。5×5幅投影图中任意一幅上的任意一个像素点值都代表着某一束光线对应的强度,而这个光线对应的强度我们用其贯穿3个平面交点像素值线性来表示。接下来我们所要知道的就是光线与3层屏的交点像素值的大小。
我们以中间屏幕为参考面,找到对应 (m,n)的像素点。假设屏幕间的间距为l,经过 (m,n)偏向角为θ的光线与第一层屏和第三层屏依次相交于 (xA,yA),(xC,yC),如图3所示。
A和C点的坐标通过式(2)和式(3)也可以很简单地求出。
图3 光线路径图
假设A,B,C三个交点对应的像素值为PA,PB,PC,则模拟出来这条光线的强度,即为三者之和。若最后相应位置模拟出来的光线强度与实际光场信息相一致,则说明效果较好[8],相当于以下函数的极小值:
式中,P=PA+PB+PC,B为原真实光场信息,即5×5投影视图中视角为θ的图的 (m,n)坐标的像素点值。求解的方法采用最小二乘法[9],通过调用Matlab中的函数lsqlin进行求解,求解模型如下:式中,xnum为投影图水平像素个数,ynum为投影图竖直像素个数,经过多次迭代,直到收敛。得到三层衰减屏该显示的图像内容,再根据函数返回值可得到残差和重构出来的图像,与原图可以进行一个比对,以此来评判效果的好坏程度。
2 相关硬件及软件
2.1 硬件
本实验采用显卡为蓝宝石 (Sapphire)ATI FirePro 2450 PCI-E X16多屏专业显卡,其核心为ATI FirePro 2450,专为需要在多个屏幕上查看和操作多个内容源的金融和企业专业人士而设计。4个DVI和VGA输出端口,2个VHDCI接口,最大数字分辨率为1 920×1 200,512 MB显存。
实验中采用的三层屏为蓝色背光,屏幕的分辨率为1 024×768,屏幕间距为11 mm。
2.2 软件
3DSMAX是目前最流行的一款功能强大的专业三维建模、动画和图像制作软件[10],可创建人物、物品等物体的三维立体模型,然后通过设置相机阵列就可得到通过相机镜头模拟出相应视场的图像,最后再将图像在有限的景深下渲染,得到模型的三维信息[11]。
3 实验结果及分析
首先在3DSMAX中建立两辆轿车的基本模型,并呈不同角度倾斜摆放,同时再产生一定的前后偏差,便于3D效果的观察。
然后在距离模型一定距离处的垂直平面内架设25台虚拟相机来捕捉各个角度拍摄下来的画面。为了达到拍摄视角正切值等分的条件,将相机在垂直平面内摆放成5行5列等间距的样式,且正中间的相机拍摄到的是物体的正视图。
图4 5×5投影图
通过渲染得到了25幅图像,它们按照一定的顺序展示了相机拍摄的景象,如图4所示。从每一行的5幅图像可以发现模型有水平方向的旋转,从每一列的5幅图像可以发现模型有竖直方向的旋转,符合投影图的实际效果。最后对获取的投影图代入到之前叙述的Matlab算法中得到如图5所示的三层衰减图。
图5 三层衰减图
从衰减图本身就可看出物体的大致信息,离镜头较近的物体的主要信息显示在第一层屏上,而离镜头较远的物体的主要信息显示在第三层屏上,根据这些衰减图重构出了物体5×5范围视角的信息。取中心视图如图6所示。
图6 重构图
图7 原中心光场
对比图7所示,可知边缘存在着一些信息的失真。这种失真是在允许范围内的,原物体的深度信息是连续的,而在实验中由于成本及技术限制的缘故,仅仅采用有限的三层屏来企图显示所有的信息。通过最小二乘法来拟合真实空间的全部信息,然而变量的个数的限制导致了无法达到完美的效果。从原理上来说,屏幕的个数越多,效果越好。
我们采用均方差 (MSE)和峰值信噪比(PSNR)来衡量重构出来图像的失真程度[12]。
计算出来均方差为71.479 7,峰值信噪比为29.589 0 dB。信噪比接近30 dB,效果较好。
我们将三层衰减图通过软件导入到三层屏幕上,在小角度的偏移范围内拍摄了一段小视频,其中分别从上下左右4个角度截取了图像,如图8所示。我们可以清楚观察到3D效果,无论左右视角还是上下视角实际视角图都体现反映了其良好的立体显示效果。
当然,观察的角度也是有一定的范围限制的,也就是之前定义的视场角的范围。一旦超过了一定的观察角度,就会出现很明显的分层失真现象。
分层失真现象的原因也很好理解。衰减图的作用就是为了模拟实际光场的效果,而它来源于实际光场的取样。当时采样的时候也就只采了一定视角范围内的信息,故无法模拟出视角范围外的情形。
4 结束语
利用物体投影图可得到相应的衰减图。将其置于多层屏仪器上观察,也能很明显地观察到3D的效果。唯一的不足就是存在着微小的失真。在之后的研究中将继续优化算法并完善这一点。
图8 实际效果图
[1]COSSAIRT,OLIVER S.A view-sequential 3D display[J].Massachusetts Institute of Technology, 2003,11(2):65-66.
[2]HONG J,KIM Y,CHOI H J,et al.Three-dimensional display technologies of recent interest:principles,status,and issues[J].Applied Optics,2011, 50(34):87-115.
[3]HOLLIMAN N S,DODGSON N A,FAVALORA GE,et al.Three-dimensional displays:a review and applications analysis[J].IEEE Transactions on Broadcasting,2011,57(2):362-371.
[4]张雷,杨勇,赵星,等.多级投影式集成成像三维显示的视场角拓展[J].光学精密工程,2013,21(1):1-6.
[5]夏新星.水平光场三维显示机理及实现技术研究[D].杭州:浙江大学,2014.
[6]WETZSTEIN G,LANMAN D,HIRSCH M,et al.Tensor displays:compressive light field synthesis using multilayer displays with directional backlighting[J].Acm Transactions on Graphics,2012,31(4):13-15.
[7]刘桃丽,黎道武,万雄.基于光学层析技术的图像重建[J].光电技术应用,2008,23(6):60-63.
[8]NICOLA R,SIMON H,QUINN S,et al.Multi-layered automultiscopic displays[J].Computer Graphics Forum,2012,31(7):2135-2143.
[9]贾小勇,徐传胜,白欣.最小二乘法的创立及其思想方法[J].西北大学学报 (自然科学版),2006,36(3):507-511.
[10]黎庆.3DSMAX设计应用[M].南宁:广西美术出版社,2014.
[11]林刚,张锋,张登福.多屏显示技术及其在图像处理系统中的应用[J].计算机应用研究,2002,19(4):154-155.
[12]蒋昊.三维显示信息重建及评价方法研究[D].长春:吉林大学,2013.