虛擬現實(shí)頭盔延時(shí)感和沉浸感的研究
摘要:本文提出一種采用復合互補濾波進(jìn)行修正頭部角度并基于Unity3D引擎開(kāi)發(fā)的虛擬現實(shí)頭盔。該方法對由陀螺儀積分累加得到的角度和以加速度計為基準累加的角度進(jìn)行修正,從而采集到頭部的俯仰、翻滾以及偏航等低誤差的姿態(tài)角信息,并且在Unity3D引擎上對頭部數據進(jìn)行整合,以及對畫(huà)面效果進(jìn)行反畸變來(lái)抵消頭盔上透鏡對畫(huà)面產(chǎn)生的畸變效果。此法具有自校準、高精度和連續性強的特點(diǎn),通過(guò)降低虛擬現實(shí)頭盔上畫(huà)面傳輸的延時(shí)感,來(lái)解決頭盔給用戶(hù)帶來(lái)的的眩暈問(wèn)題,同時(shí)讓體驗者在XYZ軸上有360°的沉浸感。
本文引用地址:http://dyxdggzs.com/article/201606/293259.htm引言
虛擬現實(shí)技術(shù)是一種將計算機技術(shù)、仿真技術(shù)、圖形圖像技術(shù)和傳感測量技術(shù)集于一體的綜合技術(shù),以虛擬的三維交互環(huán)境為基本特征,具有低成本、高安全性、可反復操作等優(yōu)點(diǎn),有助于未來(lái)高技術(shù)產(chǎn)業(yè)的發(fā)展和國家技術(shù)創(chuàng )新能力的提升,已經(jīng)被列入國家中長(cháng)期科技發(fā)展規劃。虛擬現實(shí)系統具有為人所熟知的三個(gè)特性,即沉浸性、交互性和想象性[1]。其中,沉浸感是最吸引人的特點(diǎn)。虛擬現實(shí)頭盔作為虛擬現實(shí)技術(shù)最成功的應用,其3D全景沉浸效果可以讓體驗者身臨其境。如何降低體驗者頭部移動(dòng)時(shí)畫(huà)面跟隨上的延時(shí)感和怎樣提供給體驗者更好的全景沉浸感是兩個(gè)有待解決的主要問(wèn)題。
我國VR技術(shù)研究起步較晚,與國外發(fā)達國家還有一定的差距,但經(jīng)過(guò)不懈的努力,我國的VR技術(shù)也逐漸在追趕世界的腳步。國內一些重點(diǎn)院校已積極投入到了這一領(lǐng)域的研究工作中。浙江大學(xué)CAD&CG國家重點(diǎn)實(shí)驗室開(kāi)發(fā)出了一套桌面型虛擬建筑環(huán)境實(shí)時(shí)漫游系統,還在虛擬環(huán)境中研制出了一種新的快速漫游算法和一種遞進(jìn)網(wǎng)格的快速生成算法;哈爾濱工業(yè)大學(xué)已經(jīng)成功地虛擬出了人的高級行為中特定人臉圖像的合成、表情的合成和唇動(dòng)的合成等技術(shù)問(wèn)題;清華大學(xué)計算機科學(xué)和技術(shù)系對虛擬現實(shí)和臨場(chǎng)感方面進(jìn)行了研究[2]。而在國外,美國作為虛擬現實(shí)技術(shù)的發(fā)源地,其研究水平基本上就代表國際虛擬現實(shí)技術(shù)發(fā)展的水平。目前美國在該領(lǐng)域的基礎研究主要集中在感知、用戶(hù)界面、后臺軟件和硬件四個(gè)方面[2]。Oculus Rift 是美國Oculus公司開(kāi)發(fā)的一款為電子游戲設計的頭戴式顯示器[3]。這是一款虛擬現實(shí)設備,它也一直致力于解決虛擬現實(shí)頭盔的延時(shí)感和沉浸感問(wèn)題。延時(shí)感主要是在處理頭部角度數據時(shí)產(chǎn)生的,可見(jiàn),解決此問(wèn)題的關(guān)鍵在于此過(guò)程運用的方法。而沉浸感主要是在處理畫(huà)面效果和渲染畫(huà)面時(shí)產(chǎn)生的,所以?xún)?yōu)化處理畫(huà)面效果采用的算法可以有效地解決此問(wèn)題。
1 虛擬現實(shí)頭盔架構的流程框圖
虛擬現實(shí)頭盔整個(gè)架構的流程框圖如圖1所示。
2 采用復合互補濾波降低延時(shí)
本文使用的頭部位置傳感器采用MPU6000的陀螺儀/加速度計集成芯片[4]。該芯片內置了3軸的陀螺儀和加速度計,同時(shí)采用Honeywell的HMC5883 三軸電子羅盤(pán)。這三種傳感器相互融合,可準確得出佩戴者的頭部位置信息。位置傳感器通過(guò)SPI總線(xiàn)將數據傳輸給顯示頭盔中的ARM處理器,ARM微處理器通過(guò)I2C方式對位置傳感器采集的原始姿態(tài)角信息進(jìn)行算法處理,以實(shí)時(shí)獲取自身的姿態(tài)。陀螺儀能夠測量物體轉動(dòng)的角速度,具有短時(shí)間內測量精度高、穩定和可靠的優(yōu)點(diǎn)。但陀螺儀對溫度的要求較高,在長(cháng)時(shí)間內,其由于溫度的變化而產(chǎn)生漂移,導致積分累加得到的角度值會(huì )大大地偏離實(shí)際值[5]。加速度計鑒于測量原理,在短時(shí)間內波動(dòng)很大,但是在長(cháng)時(shí)間的測量中其性能不錯。磁強計通過(guò)測量地磁的大小,經(jīng)換算可得到與地磁南極的夾角[6]。故在頭盔姿態(tài)檢測中,提出的策略是對由陀螺儀積分累加得到的角度和以加速度計為基準累加的角度進(jìn)行修正[7]。上述過(guò)程稱(chēng)之為融合濾波,采取的是復合互補濾波算法,從而得到低誤差的姿態(tài)角信息,此法具有自校準、精度高和連續性強的特點(diǎn)。
復合互補濾波根據陀螺儀和加速度的工作特性,將二者的長(cháng)處進(jìn)行結合,融合兩者的輸出信號,補償陀螺儀的漂移誤差和加速度計的動(dòng)態(tài)誤差,得到一個(gè)更能準確反映車(chē)體傾角的數據,以便讓微控制器更好地決策[8]。其濾波框圖如圖2所示。
復合互補濾波器的算法的實(shí)現表示為:
(1)
θtilt(n)表示第n次濾波后的角度;
βtilt(n-1)表示第n次濾波前的角度;
ɑgvro表示陀螺儀濾波權重系數;
βacc表示加速度計濾波權重系數;
wgvro表示第n次陀螺儀采樣測定的角速度值;
θacc表示第n次加速度計采樣測定的角度值。
對于虛擬現實(shí)頭盔的延時(shí)感所產(chǎn)生的眩暈問(wèn)題主要是由于體驗者頭部轉動(dòng)時(shí),畫(huà)面在相應的跟隨變化上出現滯后所產(chǎn)生的。本文把從頭部開(kāi)始運動(dòng)到顯示器頭盔上的畫(huà)面完成相應調整所需要的時(shí)間稱(chēng)為延時(shí),而延時(shí)主要體現在A(yíng)RM處理器對頭部角度信息的運算上,而采用的復合互補濾波算法對由陀螺儀積分累加得到的角度和以加速度計為基準累加的角度進(jìn)行修正,較好地融合兩者的輸出信號,補償陀螺儀的漂移誤差和加速度計的動(dòng)態(tài)誤差,便可提升運算速度,也提高了回傳角度信息的發(fā)送頻率[9]。此法有效地降低了延時(shí),從而有效地解決了體驗者的眩暈感問(wèn)題。
3 采用USB的HID協(xié)議傳輸數據
此處采用USB 的HID(人機交互設備)協(xié)議把低誤差的航姿角度值傳輸到負責處理圖像輸出的PC端,使顯示畫(huà)面可以跟隨頭部運動(dòng)而變化。采取USB進(jìn)行頭部數據傳輸更穩定、更可靠、更快速。USB傳輸流程框圖如圖3所示。
4 采用Unity3D解決沉靜感問(wèn)題
虛擬現實(shí)頭盔是通過(guò)透鏡來(lái)擴大視野范圍并對人眼進(jìn)行調焦,但同時(shí)也會(huì )對顯示屏上的畫(huà)面產(chǎn)生畸變[10]。為了解決透鏡產(chǎn)生的畸變,此處提出了采用Unity3D引擎來(lái)開(kāi)發(fā)虛擬場(chǎng)景并將畫(huà)面進(jìn)行反畸變來(lái)抵消透鏡對畫(huà)面產(chǎn)生的畸變。
首先在Unity3D里采用兩個(gè)照相機來(lái)模擬人的雙眼視覺(jué)效果,分別渲染左右眼需要獲取的畫(huà)面,設置左右兩個(gè)照相機的相關(guān)參數,使左右眼的畫(huà)面相同,并各占屏幕的一半[11],如圖4所示。
然后對左右兩個(gè)場(chǎng)景畫(huà)面做畸變處理,此處使用Unity3D自帶的ShaderLab語(yǔ)言進(jìn)行算法開(kāi)發(fā)?;兲幚淼谋磉_式為:
(2)
r為屏幕像素點(diǎn)到屏幕中點(diǎn)的距離;
K0、K1、K2和K3為四個(gè)系數,范圍在0到1之間。
其原理是使r變大,然后把改變后的r處坐標點(diǎn)的像素值賦給變換前r處坐標點(diǎn)的像素值。這樣就使屏幕像素點(diǎn)的顏色值發(fā)生了變化,對畫(huà)面產(chǎn)生了畸變效果。而畫(huà)面的畸變程度主要依賴(lài)于K0、K1、K2和K3這四個(gè)系數,合理地選擇K0、K1、K2和K3的值能夠使畫(huà)面產(chǎn)生更好的抵消透鏡所產(chǎn)生的畸變效果。具體的程序流程框圖和畸變后的效果分別如圖5和圖6所示。
最后模擬人雙眼的間距,在虛擬現實(shí)系統中,雙目立體視覺(jué)起了很大作用[12]。用戶(hù)的兩只眼睛看到的不同圖像是分別產(chǎn)生的,如果能將雙眼獲取的畫(huà)面信息進(jìn)行較好的重合就可以提供給體驗者不錯的立體感。在Unity3D中攝相機渲染的畫(huà)面從左下角到右上角的坐標分別是從(0,0)到(1,1)之間,而能否模擬現實(shí)中人的雙眼視覺(jué)主要與虛擬現實(shí)頭盔上左右兩個(gè)透鏡中心的參數和左右屏幕中心的參數息息相關(guān)。此處進(jìn)行了一組實(shí)驗對渲染效果進(jìn)行測試,參數和渲染效果分別如表1和圖7所示。
再分別將四組渲染效果經(jīng)過(guò)HDMI視頻信號傳輸線(xiàn)傳輸到虛擬現實(shí)頭盔上的液晶屏中,實(shí)驗結果表明:C組的參數產(chǎn)生的渲染效果能精確地模擬人現實(shí)中雙眼的視覺(jué)效果并抵消虛擬現實(shí)頭盔上透鏡對畫(huà)面產(chǎn)生的畸變效果。這樣就能提供給體驗者較好的立體感,再加上頭盔的封閉效果,便可以產(chǎn)生良好的沉浸感[13]。
5 結論
本文在解決虛擬現實(shí)頭盔的延時(shí)感和沉浸感兩個(gè)問(wèn)題上采用了創(chuàng )新性的方法。首先,利用復合互補濾波自校準、高精度和連續性強的特性來(lái)降低畫(huà)面實(shí)時(shí)隨頭部角度信息變化的延時(shí),進(jìn)而降低體驗者的眩暈感。且在USB數據傳輸上采用USB的HID協(xié)議把低誤差的航姿角度值傳輸到PC端,使數據傳輸上更快速。最后,在Unity3D引擎上對頭部數據進(jìn)行整合,采用改變各個(gè)像素點(diǎn)顏色值的方法對畫(huà)面效果進(jìn)行反畸變來(lái)抵消頭盔上透鏡對畫(huà)面產(chǎn)生的畸變效果,便可給體驗者帶來(lái)更好的沉浸感,也有身處虛擬環(huán)境中的錯覺(jué),讓其身臨其境。
參考文獻:
[1]熊春山, 王敏. 虛擬現實(shí)系統頭灰與數據手套的三維精確定向與定位系統與設計[J]. 儀表技術(shù)與傳感器, 2000 (4): 35-38.
[2]許微. 虛擬現實(shí)技術(shù)的國內外研究現狀與發(fā)展[J]. 現代商貿工業(yè), 2009, 21(2): 279-280.
[3]陳耕藝. 虛擬現實(shí)的社交之路[J]. 中國信息化, 2015 (6): 16-17.
[4]張其, 袁縱橫, 梁丁, 等. 基于 MPU6000 的低功耗無(wú)線(xiàn)人體傳感器網(wǎng)絡(luò )節點(diǎn)設計[J]. 計算機測量與控制, 2014, 22(002): 539-541.
[5]Li Y, Dempster A, Li B, et al. A low-cost attitude heading reference system by combination of GPS and magnetometers and MEMS inertial sensors for mobile applications[J]. Positioning, 2006, 1(10).
[6]呂印新, 肖前貴, 胡壽松. 基于四元數互補濾波的無(wú)人機姿態(tài)解算[J].燕山大學(xué)學(xué)報, 2014, 38(2): 175-180.
[7]萬(wàn)曉鳳, 康利平, 余運俊, 等. 互補濾波算法在四旋翼飛行器姿態(tài)解算中的應用[J]. 測控技術(shù), 2015, 34(2): 8-11.
[8]李凡紅. 兩輪自平衡小車(chē)系統[D].北京:北京交通大學(xué), 2010.
[9]余彥霖, 祖家奎, 曾國貴. 微小型無(wú)人直升機姿態(tài)信號的互補濾波融合算法[J]. 直升機技術(shù), 2014, 3: 003.
[10]程德文, 王涌天, 常軍, 等. 輕型大視場(chǎng)自由曲面棱鏡頭盔顯示器的設計[J]. 紅外與激光工程, 2007, 36(3): 309-311.
[11]張典華, 陳一民. 基于 Unity3D 的多平臺虛擬校園設計與實(shí)現[J]. 計算機技術(shù)與發(fā)展, 2014, 24(2): 127-130.
[12]陳濤, 袁東, 吳衡. 頭盔顯示/瞄準系統仿真技術(shù)研究[J]. 系統仿真學(xué)報, 2008, 20(8): 2014-2017. 哈涌剛, 周雅. 用于增強現實(shí)的頭盔顯示器的設計[J]. 光學(xué)技術(shù), 2000, 26(4): 350-353.
[13]哈涌剛, 周雅. 用于增強現實(shí)的頭盔顯示器的設計[J]. 光學(xué)技術(shù), 2000, 26(4): 350-353.
本文來(lái)源于中國科技期刊《電子產(chǎn)品世界》2016年第6期第43頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。
評論