栗戰恒
(1.河南科技大學 應用工程學院,河南 三門峽 472000;2.三門峽職業技術學院 機電工程學院,河南 三門峽 472000)
視線跟蹤算法的研究,主要是通過提取的眼睛特征(如瞳孔中心、角膜曲率中心等),建立人眼特征和用戶視線的映射關系。過去二十年見證了視線跟蹤技術的飛速發展,但眼動數據的跟蹤精度仍然存在一些缺陷。大多數基于模型的視線估計方法所建立的映射關系需要一些先驗參數,這些參數在實踐中往往被設置成常數[1]。然而,最近的研究表明眼球具有種族特征和個體差異[2],使用恒定參數忽略個體差異進行視線估計將導致偏差。近視是一種全球性的眼病,隨著近視屈光度數的增加,眼球軸向長度有所增長[3]。斜視是另一種常見的眼病,指眼球光軸與視軸發生明顯偏離的現象,高度近視容易引起固定性斜視[4],進而產生近視伴有斜視的情形。以上眼部疾病引起的眼球變化最終導致使用通用眼球模型時的眼動數據誤差。對眼病用戶的眼動數據校正可以拓寬原眼動設備的應用場景,降低用戶使用成本。因此,對于眼病用戶的眼動數據校正是必要的。
近年來國內外一些學者開始致力于眼動數據校正方面的研究。例如,一種名為Surface Recalibration的視線校正方法被提出并用于提升人機交互的性能[5];SPOCK目標投影被提議用于用戶交互的在線重校準;VADILLO[6]等使用最佳擬合線性變換用于視線跟蹤實驗中注視數據的離線校正;一種基于回歸的視差模式校正方法被應用于視覺搜索任務[7];ZHU[8]等基于用戶頭部和平面參數的幾何關系提出了一種頭部運動的補償方法;另有學者在歐幾里德幾何基礎上提出了補償眼動數據誤差的黎曼空間算法[9]。上面提及的研究方法多基于誤差數據本身進行數據擬合,未從產生誤差的眼球本身進行分析。為此,針對眼部疾病引起的眼動跟蹤數據不準問題[10-13],提出一種基于眼球模型的眼動數據校正算法,結合眼動儀使用過程中的視線標定,通過計算用戶眼動數據與眼動估計數據之間幾何關系求得用戶眼球系統偏差,并使用計算機仿真驗證該算法的有效性。
為了簡化計算,一般可將眼球視為圍繞一固定點旋轉的球體,如圖1所示,眼球中心位于角膜后13.5 mm處,瞳孔中心位于球面之上[14-15]。眼動儀在使用前需要進行視線標定用于匹配眼動視角與屏幕坐標之間的關系[16]。眼動數據校正流程可簡要概括為3部分。一是,根據視線標定中用戶視線點與對應的視線估計點之間關系得到用戶眼球模型偏差;二是,根據眼球模型偏差計算眼動數據偏差;三是,校正眼動數據。

圖1 球體模型
眼動儀使用過程中,眼睛與屏幕位置關系如圖2所示。O為眼球中心,Z為眼動儀,A為用戶正視前方時視線與屏幕的交點,Z位置不變,A點坐標、OZ及OA長度可由眼動儀采集獲得,可視為已知量。

圖2 眼睛與屏幕位置示意
近視用戶的眼動數據校正已在文獻[17]中進行了說明,接下來將以斜視與近視伴有斜視為例進行眼動數據校正的說明。
斜視分為水平斜視、垂直斜視和旋轉斜視,水平斜視及垂直斜視是旋轉斜視的特例。同一用戶,眼球視軸和光軸的偏離方向及偏離角度不變,以旋轉斜視進行說明,選取單只眼球為例進行分析,雙眼的眼動數據校正與此類似。
圖3(a)為用戶眼球局部放大圖,圖3(b)為對應的用戶視線示意圖。O為眼球中心,平面ACDB為屏幕平面,直線AB、CD、C1D1位于水平方向,直線AC、BD、B1D1位于垂直方向,OA垂直于平面ACDB。圖(a)中,用戶由A看向D時眼球轉動∠AOD,等于眼球水平方向轉動∠AOB與垂直方向轉動∠AOC的疊加;圖(b)中,D為用戶觀察點,D1為相應的視線估計點,用戶視線偏離角度∠D1OD可分為水平偏角∠B1OB(α′)與垂直偏角∠C1OC(β′)的疊加。

圖3 斜視時眼睛注視目標示意
如圖4所示,在水平切面上斜視偏角α′和正常注視偏角α由于觀察目標位置不同存在4種幾何關系。如圖4(a)所示,α與α′轉向一致時,由幾何關系可得

(1)

圖4 斜視用戶過眼球中心O的水平切面示意
視線標定時,A、B、B1坐標及OA距離均已知,由
(2)
可解得tanα′。視線標定完成后(重畫圖4(a),為方便說明,用戶目標位置仍記作B,其他標注類似)上面式子仍然滿足,此時α為待求值,記做αx,有
(3)
(4)
若記點A、B、B1坐標分別為(xA,yA)、(xB,yB)、(xB1,yB1),此時,點A、B1坐標及OA長度已知,其中xD=xB,有
(5)
圖4(b)、(c)、(d)推導過程與圖4(a)類似。可以發現,水平切面正常注視偏角α與偏離角α′轉向不一致(如圖3(b)、(c)、(d))時,校正公式相同,均滿足
(6)
將視線標定時任意參考點與相應視線估計點的水平坐標差值記為m,對于同一受試者,m值正負性不變。當滿足式(7)時
(7)
水平方向正常注視偏角α與偏離角α′轉向一致,選取公式(5)進行校正,否則選取公式(6)進行校正。
垂直切面上斜視偏角β′和正常注視偏角β由于觀察目標位置不同存在與水平切面相似的幾何關系,其推導過程類似。將視線標定時任意參考點與對應視線估計點的垂直坐標差值記為m1,當滿足式(8)時
(8)
選取公式
(9)
進行校正,否則選取公式
(10)
進行校正。
近視,尤其高度近視可能伴隨一定程度的斜視。圖5為近視伴斜視用戶觀察目標時過眼球中心O的水平切面圖,偏離角γ和正常注視偏角α由于觀察目標位置不同存在6種幾何關系。如圖5(a)所示,當α與γ轉向一致時,由幾何關系可得
(11)

圖5 近視伴隨斜視用戶過眼球中心O的水平切面示意
其中,OE=OG,FG=HI,記OI=r,OG=OE=R,有
(12)
當另一參考點滿足類似幾何關系式時(重畫圖5(a),該參考點仍記作B′,其他標注類似),同理有
(13)
視線標定時,A、B、B1、B′、B1′坐標及OA長度均已知,同一用戶γ及r/R值不變,聯立以上方程可解得r/R與γ。
視線標定后(重畫圖5(a),為方便說明,用戶目標位置仍記作B,其他標注類似)上面式子仍然滿足,此時A、B1坐標及OA長度已知,α為待求值,記做αx,有
(14)
AB=OAtanαx
(15)
記A、B、B1坐標分別為(xA,yA)、(xB,yB)、(xB1,yB1),其中xD=XB,有
(16)
圖5(b)、(c)、(d)、(e)、(f)的推導過程與圖5(a)類似,可以驗證當水平切面正常注視偏角α′與γ轉向不一致如圖3(b)、(c)、(d)、(e)、(f)時校正公式相同均滿足公式(20)。
(17)
將校正前視線標定時任意參考點與對應的視線估計點水平坐標差值記為m,對于同一受試者m值正負性一致。當滿足式(18)時
(18)
選取公式(16)進行校正,否則選取公式(17)。
垂直切面上存在與水平切面相似的幾何關系,其數據推導過程類似。將校正前視線標定時任意參考點與視線估計點的垂直坐標差值記為m1,對于同一受試者m1值正負性一致。當滿足
(19)
選取公式(20)進行校正,否則選取公式(21)進行校正。
(20)
(21)
采用計算機仿真的形式對上述校正算法進行驗證,仿真時眼動儀的跟蹤距離選為65 cm,并假定用戶正視點(上文點A)位于屏幕中心,在23.1英寸顯示器上進行。
以近視伴有斜視為例進行計算機仿真實驗。成年人正常眼球長度為23 mm左右,經典理論認為眼軸每延長1 mm,屈光力可增加約3D[18],根據臨床經驗,仿真時R/r取值為1.0~1.2,斜視角度為0°~20°[19]。用戶眼球的生理震顫和外界干擾會對眼動數據造成影響,因此采用實驗擬合擾動誤差模型,之后將其施加于計算機仿真來模擬實際情形。擾動模型符合水平方向N(0,0.202 5)、垂直方向N(0,0.240 1)的正態分布,單位為度。將計算機屏幕等分成9部分,以每部分中心作為參考點,從上到下、從左到右依次編號為1、2、3、…、9。
水平右斜視為5°,R/r為1.1,校正前后的視線誤差及視線估計點對比圖分別如圖6和7所示,測試點1~9表示屏幕上9個參考點。視線跟蹤誤差定義為參考點與對應的視線估計點距離Δd的均值,單位為像素(pixel)。Δd越大,視線估計點和實際視線點之間的距離越遠,數據誤差越大。
由圖7可見,校正前眼動數據偏差與用戶觀察位置有關,用戶注視某些位置時的數據偏差可能由于近視、斜視以及觀察位置的不同而產生抵消(第4參考點)或增大(第3參考點),且呈現非線性,這與用戶做人機交互實驗時觀察到的現象一致。數據校正后,視線落點均勻分布在真實值周圍且數據偏差小于校正前。

圖7 近視伴有斜視時校正前后視線估計點對比
可以驗證,在R/r的取值為1.0~1.2,斜視度數為0°~20°,校正后眼動數據偏差穩定在±24 pixels(0.56°)范圍內,比校正前降低了73.10%,校正后數據可以滿足正常的人機交互應用。
將所提出的基于眼球誤差的校正算法與ZHANG和HORNOF[20]的線性回歸算法進行了對比分析,其結果對比如圖8所示。由圖可知,本文算法與Zhang的線性回歸算法均可以很好地校正眼動數據偏差,本文算法在用戶正視點與觀察對象距離較大時具有微弱優勢。線性回歸算法完成數據校正至少需要6個標定點,而本文算法僅需2個,可以節省計算資源,提高了校正效率。

圖8 算法校正結果對比
本文算法從產生眼動數據誤差的眼球進行分析,建立了斜視、近視伴有斜視用戶的眼球誤差模型,進而得到用戶真實視線數據與視線估計數據之間的映射關系,可以使原眼動設備在不更改硬件的情況下直接應用于斜視及近視伴有斜視用戶。該算法拓寬了原眼動設備的應用場景,降低了用戶使用成本,對視線跟蹤技術的發展起到一定的促進作用,有望成為一種校正眼疾病人群眼動數據的簡單方法,并對其他眼病用戶的數據校正具有一定的啟示作用。
對斜視、近視伴有斜視等眼病導致的視線跟蹤不準問題提出了相應解決方案,通過整合幾種條件下的幾何解用于眼動數據校正,有效降低了眼部疾病引起的眼動數據偏差。實驗結果表明,提出的方法是有效的,校正后的數據偏差減少了73.10%。該算法可以校正眼病導致的依據固定眼球模型得到的眼動數據,并可以修正基于模型的視線估計算法的建模誤差,但是存在一定的局限性。本文提出的理論為簡化計算采用了SHAO G[14]等的球體模型,這與實際眼球模型之間存在一些差異,對于如何建立自適應的眼球模型,提高視線估計精度,將在接下來進行進一步的研究。