张枝
(福建信息职业技术学院,福建福州350001)
基于图像后处理的虚拟系统景深模拟
张枝
(福建信息职业技术学院,福建福州350001)
针对虚拟系统的景深模拟,从真实性和实时性出发,采用图像后处理景深模拟算法,提出基于均值处理和亮度分段的模糊因子的计算方法以及基于此模糊因子的二维高斯模糊图像融合算法,初步解决了同一视觉平面上存在的模糊不均以及亮度模糊不够逼真等问题。最后,以虚拟展厅的景深模拟为例,应用该算法,使展厅漫游达到了较好的景深效果,同时改善了原来亮度模糊失真的情况。
均值滤波;高斯模糊;亮度分段;图像后处理;虚拟现实;景深
景深是人眼视觉成像和相机镜头成像的一种常见特性。它是指被摄物体能够清晰成像的最近点和最远点间的距离范围[1]30。随着2016年虚拟现实元年的开启,各种虚拟现实系统和虚拟体验中心纷纷走入人们视野,而虚拟现实系统中实时模拟和体现景深效果是开发的重点和难点,也是衡量虚拟现实系统体验是否柔和的一个重要指标。真实相机的景深效果是由光圈、焦距和距离控制得到,而虚拟环境中直接渲染的3D图像并不会产生景深效果,虚拟环境的前后图像都是一样的清晰。因此,虚拟环境中要想获得较好的景深效果,需要通过多种算法叠加来模拟。
20世纪80年代Michael Potmesil等人[2]首次提出景深绘制算法以来,国内外学者已经提出众多的景深效果绘制算法[3]1959。常见的景深绘制算法有以下几种:
1)后处理滤波算法。Michael Potmesil是后处理滤波算法的代表,该算法采用针孔相机成像原理,保存每个像素的深度值Z,再结合光圈和焦距参数将每个像素点转换为具有一定大小和强度的模糊圈,最后通过所有模糊圈加权得出景深效果。该算法简单易行,但缺点是深度Z不连续,运行速度慢。国内的周强等人[4]采用均值滤波的方法模糊图像,将模糊后的图像与清晰图像加权融合,得到最终的景深效果[5]3045,但模糊效果较差,虚拟系统难以得到逼真的体验。
2)分布式光线追踪算法。该算法是一种多通道的绘制方法,关键技术是光线追踪和随机采样技术[3]1959,其代表人物Soler[6]提出了自适应光线跟踪景深算法,绘制时在图像平面和镜头孔径平面多次随机采样[3]1960。这种算法精确,但耗时多,不适合虚拟系统的实时体验。
3)图像累积渲染算法。此算法主要针对分布式光线追踪算法耗时而提出。该算法在保持聚焦平面不变的情况下多次变换投影中心,进行多次渲染,并将渲染结果累计存储得到景深效果。缺点是对于复杂对象,场景的重影效果较差,缺乏真实感[5]3045。
本文结合实际开发的虚拟现实系统,采用一种基于改进的图像后处理技术的景深算法,包括基于均值处理和亮度分段的模糊因子计算以及Z轴上基于此模糊因子的二维高斯模糊图像融合算法,增强了虚拟现实系统交互过程中的真实感和实时性。
人眼视觉和相机镜头成像,有这样一种特性:对焦时,物体在像平面上会呈现清晰的像,而在清晰成像前后有一小段距离范围仍然比较清晰。在成像比较清晰时,特点在像平面上会形成一个扩大的圆圈,这个能让物体成像较为清晰的最大圆圈称之为“弥散圆”[1]129。如果物点成像的圆圈大于弥散圆,则物体产生模糊的影像;反之,如果物体成像的圆圈小于弥散圆,就能产生较为清晰的影像[1]129。景深之内的物体能够清晰成像,景深之外的物体成像呈现出梯度模糊效果。
虚拟现实系统中的摄像机模拟的是小孔成像原理,即从明亮景物产生的光束经过一个无限小的“小孔”进入暗室,在成像面上形成一一对应的倒像,并且无论景物大小和深度,都会形成清晰的影像。
这种清晰特性与真实相机以及人眼所观察到的某个焦点清晰、其他逐渐虚化模糊的视觉特性相差太远,无法满足虚拟现实系统的真实体验效果。因此,虚拟现实系统的摄像机成像可以在凸透镜成像原理的基础上改进,从而让虚拟现实系统的应用具备景深效果,其景深原理如图1所示。
图1 景深原理图
图中,u为物距;v为像距;f为镜头焦距;d为模糊圈直径;D为镜头光孔直径(即对应光圈大小);P′点为P点景深清晰远界点的位置;u′、v′分别为景深清晰远界点P′点的物距和像距。焦距与像距、物距的关系为
(1)
根据相似三角形关系,可得出模糊圈直径d值的计算公式为
(2)
根据式(1)、式(2)可计算出以物距为变量的模糊圈直径d值
(3)
实际计算时,将各像素的Z轴距离替换为u′代入计算,得到各像素的模糊圈d′值。
为在虚拟现实系统中获得较好的景深,达到逼真的梯度模糊效果,需要引入景深模拟算法。本文采用基于均值处理和亮度分段的模糊因子计算以及基于此模糊因子的二维高斯模糊图像融合算法,解决了在同一视觉平面上存在的模糊不均以及亮度模糊不够逼真等问题,最终得到基于Z轴深度的不同亮度图像的梯度模糊效果。
2.1 改进的图像后处理景深算法步骤
1)在场景中,获取每个像素的位置、深度值和颜色值等,将其存储到相应空间。此时,仅考虑未被遮挡的点的处理。
2)计算每个像素的模糊圈直径d′值,利用均值处理和亮度分段改进模糊圈d′值,通过反比例函数计算得出模糊因子σ。
3)结合二维高斯模糊算法公式,利用模糊因子σ,计算得到模糊半径内的各像素的权重矩阵,再根据此权重矩阵,结合每个像素点的RGB数值分别计算,得出各点进行高斯模糊以后的颜色值。
2.2 基于亮度和均值处理的模糊因子计算
由景深原理可知,景深之外的场景模糊程度和其模糊圈直径d成正比关系,模糊圈d值的公式如式(3)所示。计算场景中像素在Z轴纵深方向上的位置Px与P之间的距离,得到两者之间的位置关系,当Px的位置在P′之内时,设定模糊因子σ数值为0,即此时成像是清晰的。当Px的位置在P′之后时,将Px的Z轴距离替换为u′代入公式(3)计算,得到Px像素点的模糊圈直径d′值,再采用均值处理和亮度分段的方式对模糊圈直径d′进行改进,利用公式(7)的计算方式得到模糊因子σ,以此来计算Z轴方向上像素点的模糊程度。
为了体现不同亮度图像的模糊效果,本文引入RGB亮度公式,如式(4)所示。
Light=0.3R+0.6G+0.1B
(4)
提取Z轴上Z值大于景深清晰远界点u′的各点RGB值,并计算出与其对应的亮度值及模糊圈的d′值,对于Z值小于u′的,保留原有的RGB值,即不做模糊处理。对于Z值大于u′的,根据不同亮度值对模糊圈进行分段处理,以达到光晕扩散的模糊效果,如算式(5)所示。
(5)
同时,景深之外的对象在屏幕上产生的模糊圈是由多个像素点组成,是多个像素之间相互作用产生了模糊的结果。为了防止边界与背景部分过渡不太自然,我们可以将所有像素所对应的d′值与周围8个点进行一次均值处理,得到式(6)
(6)
为达到更好的梯度模糊效果,对模糊因子σ进行优化,得到式(7),σ取值范围为0~250。
(7)
上述模糊因子的优化算法,其实现过程描述如下:对所有点的(x,y)坐标进行排序,若(x,y)坐标有重复,则仅保留Z值(深度)最小的点,并将过滤后(排除被遮档的所有点)的所有点的信息保存到新的二维数组中Znew(x,y),另外将颜色保存到color(x,y)数组中(该数组为该点的RGB颜色值,用十六进制表示),同时再将这些数值存储在新创建的包含了模糊圈d(x,y)数组和模糊后颜色的blurColor(x,y)数组中。
2.3 改进的高斯模糊融合算法
为了得到更好的景深视觉效果,本文将计算后的非遮挡的各点模糊圈d′值,利用均值处理和亮度分段的方法进行改进。同时,为了得到更好的梯度模糊效果,通过式(7)改进模糊因子σ,结合二维高斯模糊函数公式(8)计算得到模糊半径内的各像素的权重矩阵,再根据这权重矩阵,结合每个像素点的RGB数值分别计算,得出各点进行高斯模糊以后的颜色值。最终得到基于Z轴方向上逐步高斯模糊后的像素点,从而产生了图像梯度模糊的融合效果。
(8)
式中,σ为基于d值改进的模糊因子。
综上所述,基于图像后处理的虚拟系统景深算法具体流程图如图2所示。
图2 景深算法实现流程图
本文以虚拟展厅系统为应用背景,如图3所示,应用景深算法前,展厅前后各像素点都是清晰的,展厅场景有一定前后深度以及具备一定灯光效果,参观者可以在展厅中沿一定提示路径漫游参观展厅。根据上述展厅特点,将本文的景深算法附加到参观者视角上,得到如图4所示的景深模拟效果,在景深范围内(中间圆柱部分)成像清晰,而场景的其他区域则根据Z轴深度不同和亮度不同,逐步产生有梯度的模糊效果,整体效果柔和,亮度模糊不失真。
图3 虚拟展厅系统(无景深效果)
图4 虚拟展厅系统(应用了景深效果)
本文以虚拟现实系统应用为背景,为了达到一定梯度模糊效果的景深效果,使虚拟系统具有实时交互的特性,在传统后处理景深模拟算法的基础上引入了基于均值处理和亮度分段的模糊因子计算以及基于此模糊因子的二维高斯模糊的图像融合算法。在虚拟展厅的应用中,此景深算法达到了较好的模糊过渡效果,同时改善了原来亮度模糊失真的情况。但由于对每个取样点都引入了颜色和亮度关系,复杂度提高,即使编程时考虑了排除被遮挡的所有点,整体运算速度还是比较慢,因此设计虚拟展厅漫游时,不能随意漫游,只能按照一定路径和点位进行参观。在后续系统改善过程中,运算速度将是研究的重点。
[1]颜志刚.摄影技艺教程[M].上海:复旦大学出版社,2003.
[2]POTMESIL M,CHAKRAVARTY I A lens and aperture camera model for synthetic image generation[C]//Proceedings of the 8th Annual Conference on Computer Graphics and Interactive Techniques.New York:ACM,1981:297-305.
[3]吴佳泽,郑昌文,胡晓惠,等.景深效果绘制技术综述[J].中国图象图形学报,2011,16(11):1957-1966.
[4] 周强,彭俊毅,戴树岭.基于可编程图形处理器的实时景深模 拟[J].系统仿真学报,2006,18(8):2219-2221,2238.
[5]黄蓝枭,卢光辉,何明耘,等.基于GPU的实时景深模拟[J].计算机应用研究,2008,25(10):3345-3347.
[6] SOLER C,SUBR K,DURAND F,et al.Fourier depth of field[J].ACM Transactions on Graphics,2009,28( 2):18.
责任编辑:杨子立
Depth of Field Simulation in Virtual System Based on Image Post-Processing
ZHANG Zhi
(Fujian Polytechnic of Information Technology,Fuzhou 350001)
In order to simulate the depth of field (DOF) in virtual system,an improved algorithm of DOF simulation based on image post-processing was proposed for authenticity and instantaneity.The algorithm worked out the formula of fuzzy cycle diameter according to the principles of optical imaging and obtained an improved fuzzy cycle diameter of each pixel by mean filter and brightness piecewise,which was used to calculate the fuzzy factor through inverse proportional function.The fuzzy factor was substituted into the function of 2D Gaussian blur to get the pixel of gradual fuzzy based on the Z axis.The algorithm was applied to a virtual exhibition hall with a better DOF simulation effect,with the problem of image fuzzy and brightness fuzzy inequality solved.
mean filter;Gaussian blur;brightness piecewise;image post-processing;virtual reality;depth of field
10.3969/j.issn.1671⁃0436.2016.06.008
2016-11-30
福建省教育厅中青年教师教育科研项目(JA15672)
张枝(1982— ),女,硕士,讲师。
TP317.4
A
1671- 0436(2016)06- 0034- 04