魯 凡,王 超,任 鵬*
(徐州醫(yī)科大學(xué) 醫(yī)學(xué)信息與工程學(xué)院,江蘇 徐州 221000)
斜視是一種眼球運(yùn)動(dòng)障礙,具體表現(xiàn)為在觀察物體時(shí)眼睛不能正確對齊[1]。斜視患者的斜視眼睛不能正確地注視目標(biāo),視線會(huì)發(fā)生偏移[2-3]。斜視需要通過手術(shù)調(diào)整眼外肌的長度來糾正失調(diào)[4],準(zhǔn)確測量斜視患者的眼偏角是治療手術(shù)的關(guān)鍵[5]。在傳統(tǒng)的斜視檢測方法中,大多依賴專業(yè)性的檢測設(shè)備,且檢測結(jié)果會(huì)受到多個(gè)因素的影響[6]。
本研究基于虛擬現(xiàn)實(shí)技術(shù)及眼動(dòng)儀等傳感設(shè)備,開發(fā)一款簡潔的斜視檢測系統(tǒng)。通過unity 軟件創(chuàng)建應(yīng)用于斜視檢測的檢測環(huán)境,通過SteamVR 平臺運(yùn)行并且連接到用戶的VR 穿戴設(shè)備。系統(tǒng)能夠自主控制切換屏幕,并記錄用戶瞳孔的位移數(shù)據(jù),通過瞳孔位移與斜視角之間的映射函數(shù)計(jì)算斜視度數(shù)。
本研究使用的是HTC 公司的支持眼動(dòng)追蹤的VR 頭顯HTC Vive Pro Eye。該設(shè)備通過在透鏡四周分布LED 傳感器實(shí)現(xiàn)了眼動(dòng)追蹤功能,可幫助用戶對眼睛的移動(dòng)進(jìn)行追蹤和分析。眼動(dòng)追蹤參數(shù):注視數(shù)據(jù)輸出頻率(雙目)120 Hz;精度0.5°~1.1°;校準(zhǔn)5點(diǎn);追蹤可視角110°;數(shù)據(jù)輸出(眼球信息):時(shí)間戳(設(shè)備和系統(tǒng)),凝視原點(diǎn),凝視方向,瞳孔位置,瞳孔大小,睜眼情況。
在unity 平臺建立三個(gè)模型進(jìn)行斜視檢測。測試者佩戴好VR 設(shè)備后,兩眼注視遠(yuǎn)處(5 m 外)測試模型。待測試者的瞳孔不發(fā)生偏移后,用不透光的遮眼器遮擋一只眼睛的視線,另一只眼睛注視著測試模型,3 s 后交換兩只眼的視線遮擋。觀察去掉遮蓋的眼睛瞳孔有無移動(dòng)現(xiàn)象,如果發(fā)生移動(dòng)則表明這只眼睛斜視,見圖1。
1.2.1 系統(tǒng)實(shí)現(xiàn)流程
在unity 平臺添加Open XR 與Steam VR 插件以實(shí)現(xiàn)虛擬現(xiàn)實(shí)功能。隨后,通過steam VR 連接VR 設(shè)備,并在VR 設(shè)備上顯示unity 中的測試場景。解決場景問題后定位瞳孔位置,使測試者觀察到瞳孔位置的變化。下載插件SRainipal、SDk-v1.3.3 來輔助定位瞳孔位置。
安裝好SRainipal 后需要把SDk-v1.3.3 中的unity程序?qū)氲絬nity 中,程序?qū)氤晒蠹纯稍趗nity 中添加ViveSR 包。系統(tǒng)提供一個(gè)頭部模型,該模型的眼部移動(dòng)完全模擬測試者的瞳孔移動(dòng),能夠?qū)崟r(shí)反映測試者的瞳孔移動(dòng)位置。由此獲取瞳孔的具體位置信息,并在unity 控制臺輸出。
1.2.2 斜視檢測具體步驟
通過兩眼交替遮蓋法,測試者佩戴VR 設(shè)備時(shí)使用遮眼器遮擋其的一只眼睛,同時(shí)對另外一只眼的眼球運(yùn)動(dòng)進(jìn)行捕獲和處理。多次測量(至少4 次)后取平均值,以提高精度。詳細(xì)步驟見圖2。
斜視檢測過程中,測試者的瞳孔位移與斜視度數(shù)是正相關(guān)的,見圖3,兩者存在某種映射函數(shù)關(guān)系,如式(1):
其中,de是瞳孔的偏離距離,PD 是兩只眼睛的瞳孔距離,AXL 是專業(yè)機(jī)器測量眼球的軸長,Td 是目標(biāo)和眼睛之間的距離。考慮到兩只眼睛瞳孔距離(PD)的影響,當(dāng)人眼睛注視一個(gè)目標(biāo)時(shí),瞳孔會(huì)向中間偏移產(chǎn)生偏移角。設(shè)angf=arctan(PD/2×Td)是收斂角,見圖4,目標(biāo)離眼睛的距離越遠(yuǎn),收斂角度就越小。
通過插件SRainipal、SDk-v1.3.3 可以在測試界面顯示瞳孔位置的變化,但是無法得出具體的瞳孔位移數(shù)據(jù),需要在SRanipal_GazeRaySample_v2 腳本添加如下代碼,在unity 控制臺輸出瞳孔位置的具體坐標(biāo)。將獲取的坐標(biāo)數(shù)據(jù)代入式(1)計(jì)算斜視具體度數(shù)并輸出。添加的主要代碼見圖5。
系統(tǒng)所使用的是自帶瞳孔追蹤的VR 設(shè)備,可以在測試者測試的過程中追蹤測試者的瞳孔位移并給出相應(yīng)的坐標(biāo)。編寫程序利用設(shè)備獲取的瞳孔坐標(biāo)信息可以得出測試者的斜視度數(shù)。為測試系統(tǒng)的準(zhǔn)確率,招募8 名測試者進(jìn)行測試,測試者1、2、3 的實(shí)際斜視度數(shù)為0,系統(tǒng)測試斜視度數(shù)分別為5.1、0.7、0.6,測試者4、5、6、7、8 的實(shí)際斜視度數(shù)分別為2.3、3.4、6.9、10.3、14.6,系統(tǒng)測試斜視度數(shù)分別為2.1、2.6、6.0、9.9、12.3。
由于第一位者測試者的頭部偏小,測試時(shí)測試者的頭部在VR 設(shè)備中發(fā)生了移動(dòng),因此造成第一位測試者的測試結(jié)果與實(shí)際數(shù)據(jù)產(chǎn)生了較大的偏差。通過分析以上數(shù)據(jù),排除第一位測試者的誤差數(shù)據(jù),可以得出所有系統(tǒng)測試的數(shù)據(jù)與實(shí)際數(shù)據(jù)的平均誤差小于0.7,屬于可接受誤差范圍。
由于斜視檢測的準(zhǔn)確性受測試者的注意力以及測試者的瞳孔間距的影響,因此選取了不同性別、不同年齡段的人群進(jìn)行了測試。測試者年齡在10~15 歲的人數(shù)有10 名,測試準(zhǔn)確度為75%,年齡在20~35 歲的人數(shù)有25 名,測試準(zhǔn)確率為92%,年齡在50 歲以上的人數(shù)有10 名,測試準(zhǔn)確度為83.3%。分析以上結(jié)果可知,年齡在20~35 歲的測試者注意力十分集中且瞳孔間距發(fā)育完全識別準(zhǔn)確率較高,年齡在10~15 的測試者在測試過程中注意力很難集中且瞳孔間距發(fā)育不完全識別準(zhǔn)確率較低,而年齡在50 歲以上的測試者雖然瞳孔間距發(fā)育完善,但是測試過程中注意力對比年青少有所欠缺,導(dǎo)致測試結(jié)果準(zhǔn)確率偏低。
本研究首先對傳統(tǒng)的斜視檢測方法進(jìn)行分析,在經(jīng)過對系統(tǒng)的需求分析、斜視檢測技術(shù)發(fā)展現(xiàn)狀的基礎(chǔ)上,設(shè)計(jì)了一個(gè)基于虛擬現(xiàn)實(shí)與眼動(dòng)儀融合的斜視檢測系統(tǒng),該系統(tǒng)使用unity 構(gòu)建檢測場景模型,利用眼動(dòng)儀對瞳孔進(jìn)行追蹤定位,經(jīng)過實(shí)驗(yàn)分析,該斜視檢測系統(tǒng)滿足功能測試,且使用空間要求較小,可以應(yīng)用于日常斜視檢測,讓人們準(zhǔn)確了解自己的眼部健康情況,使其重視日常生活中的用眼健康。未來將針對斜視干預(yù)做進(jìn)一步研究,幫助人們對斜視做到早發(fā)現(xiàn)、早干預(yù)、早治療。