陳懷歆,袁琳
(1.四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065;2.中國人民解放軍61287部隊(duì),成都610061)
虛擬現(xiàn)實(shí)[1-2](Virtual Reality,VR),簡稱虛擬技術(shù),也稱虛擬環(huán)境,是利用計(jì)算機(jī)技術(shù)模擬一個(gè)三維空間的虛擬世界,為用戶提供視覺、聽覺和觸覺等感官上的模擬,使用戶仿佛身歷其境。目前,虛擬現(xiàn)實(shí)主要視覺顯示設(shè)備是頭戴式顯示器(Head Mounted Display,HMD),簡稱頭顯[3-4]。基于頭戴式顯示器的虛擬現(xiàn)實(shí)技術(shù)不僅廣泛應(yīng)用與游戲、影視、醫(yī)療和教育等方面,而且在軍事領(lǐng)域也有著重要的應(yīng)用如圖1。
圖1 虛擬現(xiàn)實(shí)技術(shù)應(yīng)用于軍事領(lǐng)域
可以說最早的虛擬現(xiàn)實(shí)就是單純的軍事科技,軍事科技的先行,而后運(yùn)用到民用領(lǐng)域。1968年,計(jì)算機(jī)圖形之父Ivan Sutherland和他的學(xué)生共同制造了世界上第一個(gè)頭戴式顯示器“達(dá)摩克里斯之劍”如圖2。
而后,各國軍隊(duì)都投入大量的人力物力財(cái)力,將VR技術(shù)應(yīng)用到各種軍事訓(xùn)練中。軍事訓(xùn)練所需的VR場景主要是由虛擬地形所組成?,F(xiàn)行最主要的地形建模分為人工建模和傾斜攝影地形建模。人工地形建模速度慢、周期長、真實(shí)性欠缺;傾斜攝影地形建模速度快、周期短、精度高,能較為真實(shí)地反映某地區(qū)的地形情況,使軍事訓(xùn)練更貼近實(shí)戰(zhàn)。但通過頭戴式顯示器在基于傾斜攝影建模的三位空間中觀察,存在渲染低效率和觀察高要求兩方面的矛盾:一方面,傾斜攝影建模數(shù)據(jù)貼圖分辨率較高、建模頂點(diǎn)和面片數(shù)量多,數(shù)據(jù)量巨大,在目前的軟硬件環(huán)境中渲染效率和速度較低;另一方面,由于在人眼的全動(dòng)態(tài)視野(水平200度和垂直150度)中,視網(wǎng)膜分辨率的質(zhì)量需要32K×24K=768M,才能達(dá)到較為真實(shí)的效果[5]。除了需要渲染高分辨的圖像,在頭戴式顯示器中刷新率和幀數(shù)需達(dá)到90以上甚至更高才能勉強(qiáng)消除眩暈癥。這遠(yuǎn)遠(yuǎn)高出現(xiàn)行和可近期可預(yù)見的軟硬件對(duì)傾斜攝影建模數(shù)據(jù)提供解決方案所產(chǎn)生的分辨率、刷新率和幀數(shù)?;谏鲜雒埽岣邇A斜攝影建模數(shù)據(jù)渲染效率和速度成為HMDs合成算法的主要挑戰(zhàn)之一。
圖2 世界上第一臺(tái)頭戴式顯示器“達(dá)摩克里斯之劍”
注視點(diǎn)渲染(Foveated Rendering)技術(shù)就是為解決在渲染過程中低效率和高要求的矛盾所提出的一種解決方案。注視點(diǎn)渲染技術(shù)根據(jù)人眼視覺結(jié)構(gòu)模擬人眼觀察,將所需渲染的裁剪窗口分為中央主要部分和外圍次要部分。中央主要部分為全采樣高分辨率部分,外圍次要部分為欠采樣低分辨率部分。從而在不降低人眼觀察效果的同時(shí),減少所需渲染的數(shù)據(jù)量,加快了渲染速度。
本文提出一種改進(jìn)的注視點(diǎn)渲染的方法,相較于全分辨率渲染,在傾斜攝影地形建模數(shù)據(jù)在頭戴式顯示器中進(jìn)行LOD(Levels Of Detail:分層次)渲染,提高了渲染的效率和速度。相較于以往的注視點(diǎn)渲染,消除了系統(tǒng)延遲,在層間過度平滑,消除了鋸齒效應(yīng),使得用戶觀察更加真實(shí)。
從人眼的結(jié)構(gòu)上看,視網(wǎng)膜中央有個(gè)很小的區(qū)域叫黃斑,黃斑中央有個(gè)更小的區(qū)域叫中央凹,負(fù)責(zé)人眼的高清成像。由于人眼的這種特殊的結(jié)構(gòu),導(dǎo)致人眼的視域是有限的。我們將人眼視域拆分成橫向和縱向兩方面來考慮。
如圖3人的雙眼橫向視域最大接近190度。
圖3 人的視界
但空間感知、顏色識(shí)別最好的區(qū)域只有50-60度??v向來看,人眼最大視域接近120度,顏色識(shí)別界限在55度左右。所以人眼觀察存在5度左右的視錐,在此范圍內(nèi),人眼感知分辨率最高。在此視錐以外分辨率向外逐步減小。
一般的地形建模大都依據(jù)航空航天影像和DEM數(shù)據(jù),通過構(gòu)建三角形網(wǎng)格進(jìn)行建模,以此方法進(jìn)行的地形建模算法復(fù)雜,得到的紋理較差,而且模型數(shù)據(jù)精度相對(duì)較低,處理過程人工干預(yù)多。
傾斜攝影建模是通過傾斜攝影技術(shù)借助無人機(jī)等飛行器快速采集影像數(shù)據(jù),實(shí)現(xiàn)自動(dòng)化三維建模。傾斜攝影測量是通過在同一飛行平臺(tái)掛載多個(gè)傳感器,同時(shí)從垂直、傾斜五個(gè)不同角度采集數(shù)據(jù),同時(shí)記錄飛行器高度、速度、航向、旁向重疊和坐標(biāo)等參數(shù),而后對(duì)影像進(jìn)行分析整理。
注視點(diǎn)渲染,是跟蹤用戶的注視點(diǎn),由內(nèi)而外隨著視角不斷的增大,采樣率越來越低而實(shí)現(xiàn)的。傳統(tǒng)的注視點(diǎn)渲染[6]是將圖像分為三層分別進(jìn)行渲染如圖4。
圖4 注視點(diǎn)渲染分層
最底層的采樣率最低,中間層采樣率為50%,最上面一層采樣率最高,為100%。通過三個(gè)管道分別對(duì)上中下三層進(jìn)行渲染合成最終的圖像。最終的實(shí)驗(yàn)結(jié)果表明通過注視點(diǎn)渲染能提高2到3倍的渲染效率。
通過傾斜攝影建模生成的三維場景,建模和紋理貼圖速度快,但模型復(fù)雜,紋理分辨率較高的情況下,如果用全分辨率進(jìn)行渲染,幀率較低。利用注視點(diǎn)渲染技術(shù),再不影響觀察的情況下,提高顯示幀率,使通過傾斜攝影建模生成的三維場景更為實(shí)用。
傳統(tǒng)的注視點(diǎn)渲染技術(shù)[6-7],通過光線追蹤技術(shù)進(jìn)行實(shí)時(shí)渲染,將需要采樣的三維場景進(jìn)行多管道渲染,在中間層和最上層管道進(jìn)行復(fù)合采樣切割,與最底層的低渲染通道進(jìn)行合成。雖然提高了渲染效率,增加了顯示幀率,但是各層邊緣敏銳度的迅速下降,造成層間過度的鋸齒效應(yīng)。而且在各層間管道相互融合的過程中容易造成系統(tǒng)延遲,出現(xiàn)閃爍的現(xiàn)象。為了解決上述問題,英偉達(dá)公司提出了MRS(Multi-Res Shadings)技術(shù)(多重分辨率著色技術(shù))。
2016年,英偉達(dá)公司在Maxwell架構(gòu)上引入了MRS(Multi-Res Shadings)技術(shù)。MRS技術(shù)是將圖像拆分成多個(gè)視口,如圖5所示。
圖5 MRS技術(shù)圖像分割
將圖像拆分成3×3的網(wǎng)格。不同視口都是通過單一管道進(jìn)行渲染,解決了各渲染層間系統(tǒng)延遲問題。如圖5,中間部分采用全分辨率顯示,紅色部分采用1/2分辨率,藍(lán)色部分采用1/4的分辨率。我們保持中心視口的大小不變,但縮小所有邊緣的視口。這更好地近似于我們最終想要生成的扭曲圖像,而沒有那么多浪費(fèi)的像素。并且因?yàn)殛幱案俚南袼兀覀兛梢愿斓劁秩?。根?jù)內(nèi)容和移動(dòng)的性質(zhì),可以決定在哪里分割圖像,以及分辨率差異應(yīng)該有多大。
英偉達(dá)的MRS技術(shù)解決了各渲染層間系統(tǒng)延遲的問題。各渲染層間分割的區(qū)域?yàn)?×3的網(wǎng)格,雖然可以根據(jù)不同需要調(diào)整網(wǎng)格之間的大小以適應(yīng)不同的人眼和場景的需要,但是這樣分割的模型與人眼的視覺結(jié)構(gòu)不相符。人眼觀察為圓形視口,而MRS技術(shù)視口為矩形視口。而且,在層間過度也是不連續(xù)的,也會(huì)產(chǎn)生鋸齒效應(yīng),是的層間過度較為突兀。
為了解決MRS技術(shù)分割模型與人眼結(jié)構(gòu)不相符以及層間過度不連續(xù)的問題。本文提出一種改進(jìn)的注視點(diǎn)渲染方法。
在所有虛擬顯示的管線渲染過程中,其中一個(gè)步驟是鏡頭扭曲。它會(huì)根據(jù)HMD鏡頭的輪廓對(duì)渲染后的圖像進(jìn)行扭曲,這樣在通過鏡頭觀看扭曲過的圖像時(shí),矯正了扭曲。透鏡畸變會(huì)顯著的擠壓圖像的邊緣,同時(shí)放大圖像的中心,使得邊緣的陰影率比原始圖像高,中心的陰影率比原始圖像低。透鏡畸變后的遮光率分布并不理想,因?yàn)槊總€(gè)最終樣本的邊緣比中心區(qū)域接收到更多的遮光率。此外,用戶往往會(huì)把注意力集中在屏幕的中央,這就會(huì)讓這些過度采樣的區(qū)域影響到他們較弱的周邊視覺。
解決這一問題的理想方法之一是使用光線跟蹤直接生成鏡頭扭曲的圖像,這樣我們就可以完美地匹配鏡頭樣本分布。然而,在光柵化的世界里,我們必須使用近似的樣本分布,因?yàn)橥哥R的扭曲會(huì)以非線性的方式扭曲圖像,而光柵化只對(duì)線性數(shù)據(jù)有效。本文的方法就是為了解決這個(gè)問題而設(shè)計(jì)的。為了更接近給定透鏡輪廓的遮陽率分布,它在透視分割之前,修改剪切空間中每個(gè)齊次頂點(diǎn)的w分量,如下式所示:
在上面的w方程中,x和y都是剪切空間齊次坐標(biāo),A是控制w'在x和y方向上的變化率的系數(shù)。自從裁切空間原點(diǎn)位于中心的形象,頂點(diǎn)的邊緣圖像將有更大的w。這種修改w的影響,經(jīng)過透視分割使用w的,周邊地區(qū)“拉”向中心,遮陽率減少,類似于上述透鏡畸變過程。透鏡畸變的不同之處在于中心的著色率幾乎沒有變化,因?yàn)閤和y在中心附近都接近于零。為了避免在中心區(qū)域采樣不足,我們只需要提高圖像的分辨率即可。
綜上所述,改進(jìn)的注視點(diǎn)渲染方法放大圖像渲染目標(biāo)的大小,以增加中心的著色率,并且利用裁切空間w的修改,減少了周邊區(qū)域的陰影率。使得各層間較為平滑過度,消除鋸齒效應(yīng)。
實(shí)驗(yàn)比較了本文方法與MRS和全分辨率渲染在傾斜攝影建模場景的渲染效率。如圖6所示。
圖6 三種方法的渲染幀率比較
改進(jìn)的注視點(diǎn)渲染方法、MRS方法和全分辨率渲染的幀率比較。在相同場景下,全分辨率渲染幀率只有10Hz左右,改進(jìn)的注視點(diǎn)渲染方法和MRS方法都在30Hz以上,說明通過注視點(diǎn)渲染技術(shù),提高了渲染效率。
MRS將視口分為9個(gè)子視口,均勻降低了所有角和邊視口的遮陽率。與MRS相比,本文的方法更加貼合人眼視覺著色效果。
本文的方法更接近理想的著色率,如圖7所示。
圖7 各種方法著色率的比較
本文的方法使用的陰影樣本比MRS少得多,在圖像上有一個(gè)平滑的著色率過渡。
傾斜攝影建模技術(shù),其建模速度快,場景生成周期短,精度較高。但是復(fù)雜的模型和高質(zhì)量的紋理貼圖在全分辨率渲染下,幀率較低,影響使用和觀察。本文利用改進(jìn)的注視點(diǎn)渲染的方法,一定程度上提高了渲染效率,相較以往的注視點(diǎn)渲染技術(shù),更加貼近人眼視覺結(jié)構(gòu),使得用戶在虛擬現(xiàn)實(shí)中有著更加真實(shí)的感受。但在實(shí)驗(yàn)過程中發(fā)現(xiàn),如果遇到極為復(fù)雜的建模場景,顯示幀率提高不多,依舊未達(dá)到60Hz以上,在部分場景下,依然存在卡頓的現(xiàn)象。