包括:1)眼睛區(qū)域選取、2)角膜反射點檢測、3)眼球標 志點檢測。圖像特征提取算法流程圖如圖2所示。
[0079] 1)眼睛區(qū)域選取
[0080] 眼睛區(qū)域的選取是從攝像機捕捉到的圖像中選出眼睛所在的區(qū)域,以便對眼睛圖 像進行特征提取。由于兩只眼睛的視軸相交于視點,為了減少算法運算量,只選取一只眼睛 的區(qū)域便可進行視線估計。本發(fā)明采用檢測和跟蹤相結合的方法選取眼睛區(qū)域。這是由于 對整個攝像機捕捉到的圖像進行人眼區(qū)域檢測的運算量較大,而即便眼睛移動,相鄰幀的 眼睛在圖像中的位移也不會很大,在上一幀檢測到的眼睛區(qū)域周圍對眼睛進行搜索,將有 效地減小運算量。此外,眨眼等情況的發(fā)生會影響跟蹤方法對眼睛區(qū)域的選擇,此時可以重 新使用檢測的方法在整個攝像機捕捉到的圖像中檢測眼睛區(qū)域,如圖3所示。眼睛區(qū)域的 特點是有白色的光斑和黑色的瞳孔,其中白色光斑的強度較高。首先通過動態(tài)閾值來選取 指定區(qū)域中具有白色的候選區(qū)域,然后在候選區(qū)域中動態(tài)閾值檢測是否有黑色像素點,如 果存在黑色像素點則認為該候選區(qū)域是眼睛區(qū)域。
[0081] 2)角膜反射點檢測
[0082] 紅外光源在角膜進行反射,在攝像機捕捉的圖像中呈現(xiàn)白色,與周圍像素差異較 大,因此相對容易檢測,使用閾值的方法便可檢測到眼睛圖像中的角膜反射點(即角膜反 射光斑).但是由于角膜表面的不平整,一個光源在角膜反射后可能形成兩個距離非常近 的白色光斑,因此首先對眼睛圖像進行形態(tài)學變換(腐蝕變換和膨脹變換各一次),再對圖 像進行閾值處理,便可檢測到光斑區(qū)域.提取每個光斑的輪廓信息,對輪廓進行圓的擬合。
[0083] 3)以瞳孔中心檢測為例說明眼球標志點的檢測過程
[0084] 瞳孔的檢測比角膜反射點的檢測復雜,主要是由于角膜反射點的存在影響瞳孔中 心的檢測.為了排除角膜反射點對瞳孔中心計算的影響,本算法首先對眼睛圖像進行閾值 處理,其次提取瞳孔的輪廓信息,再次剔除光斑范圍內(nèi)的瞳孔輪廓信息,最后用剩余的輪廓 進行橢圓擬合。
[0085] 以虹膜-鞏膜邊緣的中心檢測為例說明眼球標志點的檢測過程
[0086] 虹膜-鞏膜邊緣的檢測較為復雜,眼睫毛和眼皮的遮擋都會增加虹膜-鞏膜邊緣 的檢測難度。本算法首先對眼睛圖像進行閾值處理,其次提取邊緣信息,剔除光斑范圍內(nèi)的 邊緣信息,剔除上方、下方的邊緣信息,用剩余的邊緣信息進行橢圓擬合,橢圓中心即為虹 膜-鞏膜邊緣的中心?;谏鲜鰣D像處理結果,本發(fā)明的基于標準化眼睛圖像的視線追蹤 方法,提出了一種基于標準化眼睛圖像的視線估計算法。通過引入標準化眼睛圖像,使屏幕 平面到標準化眼睛圖像平面的射影變換為定值,從而使標準化眼睛圖像的眼球標志點和屏 幕上的視點的變換關系為定值,由此解決了頭部運動對視線估計的影響。
[0087] 本發(fā)明引入的標準化眼睛圖像是人為構建的一個虛擬圖像,相應的標準化眼睛圖 像平面是在空間中構建的虛擬平面。本發(fā)明將攝像機圖像平面經(jīng)過仿射變換投影到該虛擬 平面,并根據(jù)標準化眼睛圖像平面的眼球標志點位置計算屏幕視點,能有效地解決頭部移 動后視線追蹤不準確的問題。
[0088] 本發(fā)明的基于標準化眼睛圖像的視線追蹤方法的原理如圖4所示,紅外光源L1, L2, L3發(fā)出光線,在角膜表面形成反射點V1, V2, V3并構成平面。攝像機捕捉眼睛圖像,角膜 反射點V1, V2, V3和眼球標志點P在當前眼睛圖像平面上分別形成Uvi,Uv2,U v3和UP。當前眼 睛圖像平面經(jīng)過一個仿射變換N,將其映射到標準化眼睛圖像上形成N V1,NV2, Nv3和NP。這 里仿射變換N是使UV1,UV2, Uv3映射到NV1,NV2, Nv3的變換:
[0089] Cl)
[0090] 仕'AW U; T Uui,yuiMl = i,Z, 刃Uvi 你,通;0_間豕處理對光斑進行檢測, 計算得到每個光斑中心的坐標即為(xui,yui)。(xni,y ni) (i = 1,2,3)為Nvi的坐標,標準化 眼睛圖像上三個光斑的坐標是提前確定的,選取任意不共線三點均可。一般根據(jù)光源在角 膜形成反射點的位置選取Nvi (i = 1,2, 3)的坐標會使算法過程的準確度更高。本發(fā)明選取 Nvi的坐標為(0. 5,0. 866),Nv2的坐標為(0,1),Nv3的坐標為(1,0)。在公式⑴中,(xul, y Ui)和(xni,yni) (i = 1,2,3)均為已知,nn,n12, n13, n21,n22, n23 均為未知,針對(i = 1,2, 3)可構建如下線性方程組:
[0091]
12)
[0092] 根據(jù)公式(2),可以求解仿射變換矩陣N。
[0093] 對于紅外光源個數(shù)大于3的情況,設紅外光源個數(shù)為k (k>3),可通過求解如下優(yōu) 化問題求解仿射變換矩陣N。
[0094]
(3 )
[0095] 公式(3)的最優(yōu)化問題的解所對應的矩陣N即為所求。
[0096] 于是,當前眼睛圖像平面上眼球標志點位置Up經(jīng)過N的變換,可得標準化眼睛圖 像上的眼球標志點位置N P。設Up的坐標為(xup, yup), Np的坐標為(xnp, ynp),則有:
[0097]
( 4 )
[0098] 在公式⑷中,(xup,yup)和N均已確定,因此N p的坐標(xnp,ynp)可以通過公式(4) 計算得到。
[0099] 如圖4所示,屏幕平面L1L2L3經(jīng)過射影變換形成平面V 1V2V3,假設該射影變換為H1。 平面V 1V2V3經(jīng)過射影變換形成平面UviUv2U v3,假設該射影變換為H2,而平面UviUv2U v3經(jīng)過仿射 變換N形成平面NviNv2Nv3。因此,屏幕平面L 1L2L3上點\ (坐標為(Xl,yi))與標準化圖像平 面NviN v2Nv3上對應點Xn (坐標為(xn,yn))滿足:
[0100]
[0101] 當頭部運動引起眼睛移動,射影變換矩陣氏,氏會相應的發(fā)生變化。如果不引入標 準化眼睛圖像平面,則屏幕平面L 1L2L3與攝像機成像平面UviUv2U v3的射影變換矩陣會隨頭動 引起的H1,H2變化而變化,因此頭部運動會造成視線估計不準確。而當引入標準化眼睛圖像 平面后,由于屏幕平面L 1L2L3與標準化眼睛圖像平面NviNv2N v3相對靜止,對應點的射影變換 矩陣M是定值。即便當頭部運動引起眼睛移動,射影變換H1, H2和仿射變換N均發(fā)生變化, 但其乘積M是不變的??梢钥醋鞣律渥儞Q矩陣N補償了頭動時射影變換H 1, H2的變化,因此 基于標準化圖像眼睛平面的視線追蹤方法在頭部發(fā)生運動的情況下仍能準確地進行視線 估計。
[0102] 使用者的視線可以近似看作角膜中心與瞳孔中心(或角膜中心與虹膜-鞏膜邊緣 的中心)的連線,視點是視線與目標屏幕的交點。視點J經(jīng)過如下三次變換后,與形成的標 準化眼睛圖像中的眼球標志點位置N p相對應:1)視點J經(jīng)過射影變換H1后形成眼球標志 點P ;2)眼球標志點P經(jīng)過射影變換H2后形成當前眼睛圖像中眼球標志點位置Up ;3)當前 眼睛圖像中眼球標志點位置Up經(jīng)過標準化變換N后形成標準化眼睛圖像中的眼球標志點 位置N P,因此目標屏幕平面L1L2L3上視點J與標準化眼睛圖像平面N viNv2Nv3上的眼球標志點 位置Np相對應,設視點J的坐標為(X 1, y,), Np的坐標為(xnn, ynn),則有:
[0103]
(6)
[0104] 由于射影變換M是定值,因此可以利用標定的方法,通過4個已知的視點J和相應 的標準化眼睛圖像平面中眼球標志點位置N p坐標構建線性方程組求解射影變換矩陣M。
[0105] 基于標準化眼睛圖像的視線估計方法,通過引入標準化眼睛圖像,構造了一個不 變的射影變換矩陣M,通過射影變換M 1將標準化圖像平面NviNv2Nv3的眼球標志點位置N p點, 映射到屏幕平面L1L2L3上的視點J。其中射影變換矩陣M是通過標定(最少需要4個標定 點)確定的。標準化眼睛圖像平面N viNv2Nv3的眼球標志點位置Np是通過仿射變換矩陣N和 使用者當前眼睛圖像中眼球標志點U p利用公式(4)計算得到的。而仿射變換矩陣N是通過 當前眼睛圖像中三個光斑中心UviQ = 1,2,3)和標準化眼睛圖像中三個光斑中心NviQ = 1,2,3)利用公式(2)計算得到的。當光源個數(shù)大于3時,仿射變換矩陣N是通過使用者當 前眼睛圖像中k(k>3)個光斑中心U Vl(