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