張枝
(福建信息職業(yè)技術(shù)學(xué)院,福建福州350001)
基于圖像后處理的虛擬系統(tǒng)景深模擬
張枝
(福建信息職業(yè)技術(shù)學(xué)院,福建福州350001)
針對(duì)虛擬系統(tǒng)的景深模擬,從真實(shí)性和實(shí)時(shí)性出發(fā),采用圖像后處理景深模擬算法,提出基于均值處理和亮度分段的模糊因子的計(jì)算方法以及基于此模糊因子的二維高斯模糊圖像融合算法,初步解決了同一視覺平面上存在的模糊不均以及亮度模糊不夠逼真等問題。最后,以虛擬展廳的景深模擬為例,應(yīng)用該算法,使展廳漫游達(dá)到了較好的景深效果,同時(shí)改善了原來亮度模糊失真的情況。
均值濾波;高斯模糊;亮度分段;圖像后處理;虛擬現(xiàn)實(shí);景深
景深是人眼視覺成像和相機(jī)鏡頭成像的一種常見特性。它是指被攝物體能夠清晰成像的最近點(diǎn)和最遠(yuǎn)點(diǎn)間的距離范圍[1]30。隨著2016年虛擬現(xiàn)實(shí)元年的開啟,各種虛擬現(xiàn)實(shí)系統(tǒng)和虛擬體驗(yàn)中心紛紛走入人們視野,而虛擬現(xiàn)實(shí)系統(tǒng)中實(shí)時(shí)模擬和體現(xiàn)景深效果是開發(fā)的重點(diǎn)和難點(diǎn),也是衡量虛擬現(xiàn)實(shí)系統(tǒng)體驗(yàn)是否柔和的一個(gè)重要指標(biāo)。真實(shí)相機(jī)的景深效果是由光圈、焦距和距離控制得到,而虛擬環(huán)境中直接渲染的3D圖像并不會(huì)產(chǎn)生景深效果,虛擬環(huán)境的前后圖像都是一樣的清晰。因此,虛擬環(huán)境中要想獲得較好的景深效果,需要通過多種算法疊加來模擬。
20世紀(jì)80年代Michael Potmesil等人[2]首次提出景深繪制算法以來,國(guó)內(nèi)外學(xué)者已經(jīng)提出眾多的景深效果繪制算法[3]1959。常見的景深繪制算法有以下幾種:
1)后處理濾波算法。Michael Potmesil是后處理濾波算法的代表,該算法采用針孔相機(jī)成像原理,保存每個(gè)像素的深度值Z,再結(jié)合光圈和焦距參數(shù)將每個(gè)像素點(diǎn)轉(zhuǎn)換為具有一定大小和強(qiáng)度的模糊圈,最后通過所有模糊圈加權(quán)得出景深效果。該算法簡(jiǎn)單易行,但缺點(diǎn)是深度Z不連續(xù),運(yùn)行速度慢。國(guó)內(nèi)的周強(qiáng)等人[4]采用均值濾波的方法模糊圖像,將模糊后的圖像與清晰圖像加權(quán)融合,得到最終的景深效果[5]3045,但模糊效果較差,虛擬系統(tǒng)難以得到逼真的體驗(yàn)。
2)分布式光線追蹤算法。該算法是一種多通道的繪制方法,關(guān)鍵技術(shù)是光線追蹤和隨機(jī)采樣技術(shù)[3]1959,其代表人物Soler[6]提出了自適應(yīng)光線跟蹤景深算法,繪制時(shí)在圖像平面和鏡頭孔徑平面多次隨機(jī)采樣[3]1960。這種算法精確,但耗時(shí)多,不適合虛擬系統(tǒng)的實(shí)時(shí)體驗(yàn)。
3)圖像累積渲染算法。此算法主要針對(duì)分布式光線追蹤算法耗時(shí)而提出。該算法在保持聚焦平面不變的情況下多次變換投影中心,進(jìn)行多次渲染,并將渲染結(jié)果累計(jì)存儲(chǔ)得到景深效果。缺點(diǎn)是對(duì)于復(fù)雜對(duì)象,場(chǎng)景的重影效果較差,缺乏真實(shí)感[5]3045。
本文結(jié)合實(shí)際開發(fā)的虛擬現(xiàn)實(shí)系統(tǒng),采用一種基于改進(jìn)的圖像后處理技術(shù)的景深算法,包括基于均值處理和亮度分段的模糊因子計(jì)算以及Z軸上基于此模糊因子的二維高斯模糊圖像融合算法,增強(qiáng)了虛擬現(xiàn)實(shí)系統(tǒng)交互過程中的真實(shí)感和實(shí)時(shí)性。
人眼視覺和相機(jī)鏡頭成像,有這樣一種特性:對(duì)焦時(shí),物體在像平面上會(huì)呈現(xiàn)清晰的像,而在清晰成像前后有一小段距離范圍仍然比較清晰。在成像比較清晰時(shí),特點(diǎn)在像平面上會(huì)形成一個(gè)擴(kuò)大的圓圈,這個(gè)能讓物體成像較為清晰的最大圓圈稱之為“彌散圓”[1]129。如果物點(diǎn)成像的圓圈大于彌散圓,則物體產(chǎn)生模糊的影像;反之,如果物體成像的圓圈小于彌散圓,就能產(chǎn)生較為清晰的影像[1]129。景深之內(nèi)的物體能夠清晰成像,景深之外的物體成像呈現(xiàn)出梯度模糊效果。
虛擬現(xiàn)實(shí)系統(tǒng)中的攝像機(jī)模擬的是小孔成像原理,即從明亮景物產(chǎn)生的光束經(jīng)過一個(gè)無(wú)限小的“小孔”進(jìn)入暗室,在成像面上形成一一對(duì)應(yīng)的倒像,并且無(wú)論景物大小和深度,都會(huì)形成清晰的影像。
這種清晰特性與真實(shí)相機(jī)以及人眼所觀察到的某個(gè)焦點(diǎn)清晰、其他逐漸虛化模糊的視覺特性相差太遠(yuǎn),無(wú)法滿足虛擬現(xiàn)實(shí)系統(tǒng)的真實(shí)體驗(yàn)效果。因此,虛擬現(xiàn)實(shí)系統(tǒng)的攝像機(jī)成像可以在凸透鏡成像原理的基礎(chǔ)上改進(jìn),從而讓虛擬現(xiàn)實(shí)系統(tǒng)的應(yīng)用具備景深效果,其景深原理如圖1所示。
圖1 景深原理圖
圖中,u為物距;v為像距;f為鏡頭焦距;d為模糊圈直徑;D為鏡頭光孔直徑(即對(duì)應(yīng)光圈大小);P′點(diǎn)為P點(diǎn)景深清晰遠(yuǎn)界點(diǎn)的位置;u′、v′分別為景深清晰遠(yuǎn)界點(diǎn)P′點(diǎn)的物距和像距。焦距與像距、物距的關(guān)系為
(1)
根據(jù)相似三角形關(guān)系,可得出模糊圈直徑d值的計(jì)算公式為
(2)
根據(jù)式(1)、式(2)可計(jì)算出以物距為變量的模糊圈直徑d值
(3)
實(shí)際計(jì)算時(shí),將各像素的Z軸距離替換為u′代入計(jì)算,得到各像素的模糊圈d′值。
為在虛擬現(xiàn)實(shí)系統(tǒng)中獲得較好的景深,達(dá)到逼真的梯度模糊效果,需要引入景深模擬算法。本文采用基于均值處理和亮度分段的模糊因子計(jì)算以及基于此模糊因子的二維高斯模糊圖像融合算法,解決了在同一視覺平面上存在的模糊不均以及亮度模糊不夠逼真等問題,最終得到基于Z軸深度的不同亮度圖像的梯度模糊效果。
2.1 改進(jìn)的圖像后處理景深算法步驟
1)在場(chǎng)景中,獲取每個(gè)像素的位置、深度值和顏色值等,將其存儲(chǔ)到相應(yīng)空間。此時(shí),僅考慮未被遮擋的點(diǎn)的處理。
2)計(jì)算每個(gè)像素的模糊圈直徑d′值,利用均值處理和亮度分段改進(jìn)模糊圈d′值,通過反比例函數(shù)計(jì)算得出模糊因子σ。
3)結(jié)合二維高斯模糊算法公式,利用模糊因子σ,計(jì)算得到模糊半徑內(nèi)的各像素的權(quán)重矩陣,再根據(jù)此權(quán)重矩陣,結(jié)合每個(gè)像素點(diǎn)的RGB數(shù)值分別計(jì)算,得出各點(diǎn)進(jìn)行高斯模糊以后的顏色值。
2.2 基于亮度和均值處理的模糊因子計(jì)算
由景深原理可知,景深之外的場(chǎng)景模糊程度和其模糊圈直徑d成正比關(guān)系,模糊圈d值的公式如式(3)所示。計(jì)算場(chǎng)景中像素在Z軸縱深方向上的位置Px與P之間的距離,得到兩者之間的位置關(guān)系,當(dāng)Px的位置在P′之內(nèi)時(shí),設(shè)定模糊因子σ數(shù)值為0,即此時(shí)成像是清晰的。當(dāng)Px的位置在P′之后時(shí),將Px的Z軸距離替換為u′代入公式(3)計(jì)算,得到Px像素點(diǎn)的模糊圈直徑d′值,再采用均值處理和亮度分段的方式對(duì)模糊圈直徑d′進(jìn)行改進(jìn),利用公式(7)的計(jì)算方式得到模糊因子σ,以此來計(jì)算Z軸方向上像素點(diǎn)的模糊程度。
為了體現(xiàn)不同亮度圖像的模糊效果,本文引入RGB亮度公式,如式(4)所示。
Light=0.3R+0.6G+0.1B
(4)
提取Z軸上Z值大于景深清晰遠(yuǎn)界點(diǎn)u′的各點(diǎn)RGB值,并計(jì)算出與其對(duì)應(yīng)的亮度值及模糊圈的d′值,對(duì)于Z值小于u′的,保留原有的RGB值,即不做模糊處理。對(duì)于Z值大于u′的,根據(jù)不同亮度值對(duì)模糊圈進(jìn)行分段處理,以達(dá)到光暈擴(kuò)散的模糊效果,如算式(5)所示。
(5)
同時(shí),景深之外的對(duì)象在屏幕上產(chǎn)生的模糊圈是由多個(gè)像素點(diǎn)組成,是多個(gè)像素之間相互作用產(chǎn)生了模糊的結(jié)果。為了防止邊界與背景部分過渡不太自然,我們可以將所有像素所對(duì)應(yīng)的d′值與周圍8個(gè)點(diǎn)進(jìn)行一次均值處理,得到式(6)
(6)
為達(dá)到更好的梯度模糊效果,對(duì)模糊因子σ進(jìn)行優(yōu)化,得到式(7),σ取值范圍為0~250。
(7)
上述模糊因子的優(yōu)化算法,其實(shí)現(xiàn)過程描述如下:對(duì)所有點(diǎn)的(x,y)坐標(biāo)進(jìn)行排序,若(x,y)坐標(biāo)有重復(fù),則僅保留Z值(深度)最小的點(diǎn),并將過濾后(排除被遮檔的所有點(diǎn))的所有點(diǎn)的信息保存到新的二維數(shù)組中Znew(x,y),另外將顏色保存到color(x,y)數(shù)組中(該數(shù)組為該點(diǎn)的RGB顏色值,用十六進(jìn)制表示),同時(shí)再將這些數(shù)值存儲(chǔ)在新創(chuàng)建的包含了模糊圈d(x,y)數(shù)組和模糊后顏色的blurColor(x,y)數(shù)組中。
2.3 改進(jìn)的高斯模糊融合算法
為了得到更好的景深視覺效果,本文將計(jì)算后的非遮擋的各點(diǎn)模糊圈d′值,利用均值處理和亮度分段的方法進(jìn)行改進(jìn)。同時(shí),為了得到更好的梯度模糊效果,通過式(7)改進(jìn)模糊因子σ,結(jié)合二維高斯模糊函數(shù)公式(8)計(jì)算得到模糊半徑內(nèi)的各像素的權(quán)重矩陣,再根據(jù)這權(quán)重矩陣,結(jié)合每個(gè)像素點(diǎn)的RGB數(shù)值分別計(jì)算,得出各點(diǎn)進(jìn)行高斯模糊以后的顏色值。最終得到基于Z軸方向上逐步高斯模糊后的像素點(diǎn),從而產(chǎn)生了圖像梯度模糊的融合效果。
(8)
式中,σ為基于d值改進(jìn)的模糊因子。
綜上所述,基于圖像后處理的虛擬系統(tǒng)景深算法具體流程圖如圖2所示。
圖2 景深算法實(shí)現(xiàn)流程圖
本文以虛擬展廳系統(tǒng)為應(yīng)用背景,如圖3所示,應(yīng)用景深算法前,展廳前后各像素點(diǎn)都是清晰的,展廳場(chǎng)景有一定前后深度以及具備一定燈光效果,參觀者可以在展廳中沿一定提示路徑漫游參觀展廳。根據(jù)上述展廳特點(diǎn),將本文的景深算法附加到參觀者視角上,得到如圖4所示的景深模擬效果,在景深范圍內(nèi)(中間圓柱部分)成像清晰,而場(chǎng)景的其他區(qū)域則根據(jù)Z軸深度不同和亮度不同,逐步產(chǎn)生有梯度的模糊效果,整體效果柔和,亮度模糊不失真。
圖3 虛擬展廳系統(tǒng)(無(wú)景深效果)
圖4 虛擬展廳系統(tǒng)(應(yīng)用了景深效果)
本文以虛擬現(xiàn)實(shí)系統(tǒng)應(yīng)用為背景,為了達(dá)到一定梯度模糊效果的景深效果,使虛擬系統(tǒng)具有實(shí)時(shí)交互的特性,在傳統(tǒng)后處理景深模擬算法的基礎(chǔ)上引入了基于均值處理和亮度分段的模糊因子計(jì)算以及基于此模糊因子的二維高斯模糊的圖像融合算法。在虛擬展廳的應(yīng)用中,此景深算法達(dá)到了較好的模糊過渡效果,同時(shí)改善了原來亮度模糊失真的情況。但由于對(duì)每個(gè)取樣點(diǎn)都引入了顏色和亮度關(guān)系,復(fù)雜度提高,即使編程時(shí)考慮了排除被遮擋的所有點(diǎn),整體運(yùn)算速度還是比較慢,因此設(shè)計(jì)虛擬展廳漫游時(shí),不能隨意漫游,只能按照一定路徑和點(diǎn)位進(jìn)行參觀。在后續(xù)系統(tǒng)改善過程中,運(yùn)算速度將是研究的重點(diǎn)。
[1]顏志剛.攝影技藝教程[M].上海:復(fù)旦大學(xué)出版社,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]吳佳澤,鄭昌文,胡曉惠,等.景深效果繪制技術(shù)綜述[J].中國(guó)圖象圖形學(xué)報(bào),2011,16(11):1957-1966.
[4] 周強(qiáng),彭俊毅,戴樹嶺.基于可編程圖形處理器的實(shí)時(shí)景深模 擬[J].系統(tǒng)仿真學(xué)報(bào),2006,18(8):2219-2221,2238.
[5]黃藍(lán)梟,盧光輝,何明耘,等.基于GPU的實(shí)時(shí)景深模擬[J].計(jì)算機(jī)應(yīng)用研究,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.
責(zé)任編輯:楊子立
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
福建省教育廳中青年教師教育科研項(xiàng)目(JA15672)
張枝(1982— ),女,碩士,講師。
TP317.4
A
1671- 0436(2016)06- 0034- 04