嚴(yán)德賽,曾 誠(chéng),2
(1.湖北大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,武漢 430062; 2.湖北省教育信息化工程技術(shù)研究中心(湖北大學(xué)),武漢 430062)(*通信作者電子郵箱zc@hubu.edu.cn)
眼球控制技術(shù)很早就出現(xiàn)了,但是由于精度不高并沒(méi)有被大面積地推廣運(yùn)用。眼球追蹤是一項(xiàng)科學(xué)應(yīng)用技術(shù):一是根據(jù)眼球和眼球周邊的特征變化進(jìn)行跟蹤;二是根據(jù)虹膜角度變化進(jìn)行跟蹤;三是主動(dòng)投射紅外線等光束到虹膜來(lái)提取特征。眼球追蹤技術(shù)的主要設(shè)備包括紅外設(shè)備和圖像采集設(shè)備,在精確度方面,紅外線投射方式有比較大的優(yōu)勢(shì),能在30 in的屏幕上精確到1 cm以內(nèi),可以在一定程度上代替鼠標(biāo)、觸摸板進(jìn)行一些有限的操作。此外,其他圖像采集設(shè)備,如電腦或手機(jī)上的攝像頭,在軟件的支持下也可以實(shí)現(xiàn)眼球追蹤,但是在準(zhǔn)確性、速度和穩(wěn)定性上不夠理想。
2014年5月三星發(fā)布Galaxy S Ⅲ,該手機(jī)通過(guò)前置攝像頭檢測(cè)用戶眼睛狀態(tài),當(dāng)檢測(cè)用戶眼睛正盯著手機(jī)屏幕看,即使用戶沒(méi)有進(jìn)行任何操作,屏幕也不會(huì)自動(dòng)熄滅。此外,LG的Optimus手機(jī)也支持通過(guò)眼球運(yùn)動(dòng)控制視頻播放,只要用戶轉(zhuǎn)移視線,視頻播放器會(huì)自動(dòng)暫停,直至視線重回屏幕。2013年一家瑞典公司Tobii計(jì)劃推出一款產(chǎn)品,讓舊電腦也能接入眼球追蹤。這款設(shè)備名叫Rex,是一個(gè)電腦外設(shè)設(shè)備,只要把它放置在屏幕頂部,再通過(guò)通用串行總線(Universal Serial Bus, USB)接口接入,用戶就能利用視線來(lái)控制電腦完成部分操作,比如操控IE頁(yè)面滾動(dòng)、使用Windows 8地圖應(yīng)用等。這些眼球控制方法只能實(shí)現(xiàn)簡(jiǎn)單的滑動(dòng)和翻頁(yè)操作,不能勝任很多復(fù)雜性的操作,如果想要讓眼球控制進(jìn)行更多的操作,提高眼球控制精度是必不可少的。因此,本文提出基于數(shù)字圖像處理技術(shù)的人眼焦點(diǎn)在屏幕上映射的方法來(lái)提高眼球控制精度,使眼球能夠?qū)в衅聊辉O(shè)備實(shí)行更多復(fù)雜性操作。該方法精度隨傳感器捕捉眼球圖片分辨率的提高而進(jìn)一步提高,且比目前市面上通過(guò)遠(yuǎn)距離多攝像頭捕捉眼球轉(zhuǎn)動(dòng)角度方法精度要高。
目前有很多遠(yuǎn)距離眼球追蹤技術(shù)。例如Bozomitu等[1]提出一種基于圓形霍夫變換技術(shù)的瞳孔中心坐標(biāo)檢測(cè)的強(qiáng)大技術(shù)來(lái)實(shí)現(xiàn)眼球追蹤,不能滿足實(shí)時(shí)性要求;沈海平等[2]提出一種基于瞳孔檢測(cè)的注視點(diǎn)方法來(lái)實(shí)現(xiàn)眼球追蹤,但是精度不高、誤差較大;Soltany等[3]提出一種實(shí)時(shí)眼球跟蹤的快速瞳孔定位算法是對(duì)目前主要算法的準(zhǔn)確性改進(jìn),但識(shí)別精度達(dá)不到要求;Chen等[4]針對(duì)霍夫變換算法檢測(cè)瞳孔中心效率低的問(wèn)題提出邊緣梯度算法,但算法復(fù)雜、滿足不了性能要求;Sateesh[5]提出一種快速高效的瞳孔分割和檢測(cè)的簡(jiǎn)單方法,但該方法不具有足夠的準(zhǔn)確性;Amir等[6]介紹了一種基于硬件的眼睛檢測(cè)嵌入式系統(tǒng),但在追蹤過(guò)程中檢測(cè)精度不高;Fuhl等[7]提出一種目前最先進(jìn)的遠(yuǎn)距離瞳孔檢測(cè)算法,但算法復(fù)雜、運(yùn)行時(shí)間長(zhǎng);Sugawara等[8]介紹了一種眼鏡佩戴式的眼球追蹤裝置,雖然外觀新穎但是眼球跟蹤精度不高??茖W(xué)實(shí)驗(yàn)結(jié)果表明,目前的瞳孔檢測(cè)與追蹤方法的準(zhǔn)確性或?qū)崟r(shí)性還不能滿足實(shí)際需要。
人眼的結(jié)構(gòu)相當(dāng)于一個(gè)凸透鏡,物品反射的光源經(jīng)過(guò)人眼晶狀體的折射在視網(wǎng)膜上成像并轉(zhuǎn)化為神經(jīng)信號(hào)傳入到大腦內(nèi)部。
圖1為人眼結(jié)構(gòu)圖。圖2為人眼聚焦原理,可看出人眼看到的物點(diǎn)和像點(diǎn)確定的直線正好經(jīng)過(guò)晶狀體的圓心,而該圓心位置也就是瞳孔的正中心位置。瞳孔中心的點(diǎn)就是人眼看物體時(shí)聚焦的點(diǎn),例如Zhu等[9]采用一種基于圖像處理技術(shù)的瞳孔邊界曲率特性算法來(lái)計(jì)算出瞳孔圓心位置以確定人眼觀看屏幕上的位置。用戶通過(guò)鼠標(biāo)操作電腦時(shí)就是眼睛先看到想要點(diǎn)擊的圖標(biāo)后移動(dòng)光標(biāo)到需要點(diǎn)擊的應(yīng)用圖標(biāo)處進(jìn)行操作,當(dāng)人眼焦點(diǎn)聚集在應(yīng)用圖標(biāo)時(shí),該應(yīng)用圖標(biāo)位置就映射到瞳孔圓心處。人之所以能看見物體就是因?yàn)槲矬w自身發(fā)光或反射的光進(jìn)入到眼睛里。目前各種屏幕或是投影儀會(huì)自發(fā)光或反射光到眼球里,并且這個(gè)屏幕的高亮輪廓會(huì)映射在眼球上,通過(guò)瞳孔圓心和眼球上的輪廓關(guān)系能很容易找到人眼聚焦點(diǎn)在屏幕上的位置。
圖1 人眼結(jié)構(gòu)Fig. 1 Human eye structure
圖3是用紅外攝像機(jī)拍攝的人眼瞳孔圖片并基于Matlab運(yùn)用Hough改進(jìn)算法找出瞳孔圓心的實(shí)驗(yàn)效果圖,瞳孔圓心處也正好是人眼看物體的聚焦點(diǎn)。圖3中瞳孔上的三個(gè)最亮光點(diǎn)是實(shí)驗(yàn)屏幕四角處紅外發(fā)光二級(jí)管(Light-Emitting Diode, LED)在眼球中的反射,該三個(gè)最亮光點(diǎn)唯一確定的矩形就是實(shí)驗(yàn)屏幕邊框在眼球中形成的映射。運(yùn)用Matlab軟件能夠捕捉到虹膜的圓形和圓心位置以及計(jì)算屏幕反射亮框的像素點(diǎn)長(zhǎng)度。耿新等[10]利用混合投影函數(shù)可以相當(dāng)精確地確定眼睛中心的位置,Szczepanski等[11]則介紹了一個(gè)簡(jiǎn)單而強(qiáng)大的瞳孔和虹膜檢測(cè)方案來(lái)確定虹膜中心和瞳孔半徑。
圖2 人眼聚焦原理Fig. 2 Human eye focus schematic
圖3 Hough改進(jìn)算法找瞳孔圓心Fig. 3 Hough improved algorithm to find pupil center
人眼焦點(diǎn)與屏幕的聯(lián)系可由圖4直觀反映出。圖4中瞳孔里三個(gè)最亮光點(diǎn)確定的唯一矩形就是實(shí)驗(yàn)屏幕在眼球中形成的映射,瞳孔圓心處就是人眼焦點(diǎn)位置。人眼焦點(diǎn)與映射邊框的位置關(guān)系能間接表示人眼焦點(diǎn)在屏幕上的具體位置。由這個(gè)關(guān)系就能確定該時(shí)刻人眼焦點(diǎn)在實(shí)驗(yàn)屏幕上的具體位置,當(dāng)每一幀圖片中位置關(guān)系都能確定時(shí)就能實(shí)現(xiàn)對(duì)眼球焦點(diǎn)的追蹤,進(jìn)而能實(shí)現(xiàn)眼球?qū)ζ聊坏目刂萍安僮?。通過(guò)這個(gè)關(guān)系能夠?qū)⑷搜劢裹c(diǎn)和屏幕上的注視點(diǎn)聯(lián)系起來(lái),該關(guān)系的準(zhǔn)確性隨拍攝圖片分辨率的提高而進(jìn)一步提高,以至提高對(duì)屏幕控制的精度。
圖4 人眼焦點(diǎn)和屏幕關(guān)系Fig. 4 Relationship between human eye focus and screen
用某種高清傳感器放在眼睛附近來(lái)實(shí)時(shí)捕捉眼球圖片,該圖片就是人眼焦點(diǎn)在屏幕上的位置圖,將拍攝照片放大一定倍數(shù)后最終出現(xiàn)的就是每個(gè)正方形的像素點(diǎn)。以下所有計(jì)算均以像素點(diǎn)為單位。如圖5可知眼球上反射的屏幕邊框縱向長(zhǎng)為BC,橫向長(zhǎng)為AB,焦點(diǎn)距離屏幕左邊框長(zhǎng)為GH,焦點(diǎn)距離屏幕上邊框長(zhǎng)為EF。真實(shí)屏幕以左上角為原點(diǎn),橫向?yàn)閄軸,縱向?yàn)閅軸,人眼焦點(diǎn)在屏幕上位置為(X,Y),設(shè)實(shí)際屏幕橫向長(zhǎng)為M,縱向長(zhǎng)為N。人眼看到的屏幕和傳感器拍攝得到的屏幕是左右顛倒的。
人眼焦點(diǎn)在屏幕上的橫坐標(biāo)X的計(jì)算公式為:
(1)
人眼焦點(diǎn)在屏幕上的縱坐標(biāo)Y的計(jì)算公式為:
(2)
正面角度下人眼焦點(diǎn)在屏幕上的具體坐標(biāo)位置(X,Y)的計(jì)算公式為:
(3)
圖5 抽象化的人眼焦點(diǎn)和屏幕關(guān)系Fig. 5 Relationship between abstract human eye focus and screen
上面敘述的是理想情況下傳感器正對(duì)著眼睛拍照得出的人眼焦點(diǎn)與屏幕聯(lián)系。真實(shí)情況下傳感器捕捉眼球反射畫面是在不干涉視覺情況下與瞳孔直視方向具有一定角度,如圖6(a)所示。
圖6 兩種眼球俯視圖Fig. 6 Two eyeball top views
攝像頭傳感器是固定在眼鏡等類似框架上,傳感器拍攝眼球畫面時(shí)與瞳孔直視方向有一定的角度,因此傳感器拍攝人眼虹膜會(huì)是橢圓的,且橢圓中心點(diǎn)不是人眼焦點(diǎn)位置。人類眼球平均直徑為24 mm,虹膜平均直徑為11.4 mm,計(jì)算出虹膜圓心角為56.74°,根據(jù)電腦屏幕15.6 in觀看距離60 cm計(jì)算眼球觀看屏幕轉(zhuǎn)動(dòng)角度不超過(guò)45°,如圖6(b)所示,傳感器不在圖中陰影區(qū)內(nèi)就不會(huì)因?yàn)檠矍蜣D(zhuǎn)動(dòng)而導(dǎo)致自身阻擋傳感器拍攝圖片。當(dāng)傳感器和瞳孔正中心具有一定夾角時(shí)拍攝出來(lái)的人眼虹膜照片就不是正圓而是橢圓,橢圓的中心點(diǎn)也不是人眼焦點(diǎn)位置。設(shè)圖片上橢圓人眼虹膜的短半軸為a,長(zhǎng)半軸為b,眼球半徑為R,α為虹膜對(duì)應(yīng)的圓心角度,θ=arccos(a/b),眼球里屏幕映射縱向長(zhǎng)度為BC,眼球里屏幕映射左邊框在橢圓左邊為正值右邊為負(fù)值,屏幕左邊框到橢圓中心點(diǎn)距離為GH,屏幕上邊框到橢圓中心點(diǎn)距離為EF,屏幕的長(zhǎng)寬比為k。
眼球單向轉(zhuǎn)動(dòng)45°內(nèi)人眼焦點(diǎn)在屏幕上的橫坐標(biāo)X的計(jì)算公式如式(4)所示;眼球單向轉(zhuǎn)動(dòng)45°內(nèi)人眼焦點(diǎn)在屏幕上的縱坐標(biāo)Y的計(jì)算公式與式(2)相同;眼球單向轉(zhuǎn)動(dòng)45°內(nèi)人眼焦點(diǎn)在屏幕上的具體坐標(biāo)位置(X,Y)由式(4)和式(2)中的X與Y代入所得;該坐標(biāo)(X,Y)就是人眼焦點(diǎn)在屏幕上的位置坐標(biāo)。通過(guò)該坐標(biāo)能實(shí)現(xiàn)人眼對(duì)屏幕精確控制的第一步,確定人眼焦點(diǎn)在屏幕上的位置。
X=
(4)
實(shí)驗(yàn)器材使用的是130萬(wàn)像素850 nm波長(zhǎng)的紅外攝像頭和4個(gè)850 nm波長(zhǎng)紅外發(fā)光二級(jí)管。紅外攝像頭用來(lái)近距離捕捉瞳孔圖片,發(fā)光二級(jí)管用來(lái)固定在屏幕四角來(lái)確定屏幕邊框。用該方法進(jìn)行了多次實(shí)驗(yàn),挑出以下最具代表性數(shù)據(jù)進(jìn)行分析。表1中前三條數(shù)據(jù)是5.5 in手機(jī)屏幕實(shí)驗(yàn)得出的結(jié)論數(shù)據(jù),后三條數(shù)據(jù)是用15.6 in電腦屏幕實(shí)驗(yàn)得出的結(jié)論數(shù)據(jù)。虹膜反射邊框分辨率表示的是屏幕邊框在眼球虹膜中映射的長(zhǎng)和寬,誤差精度表示的是人眼焦點(diǎn)在屏幕上實(shí)際位置與實(shí)驗(yàn)結(jié)論相差的距離,屏幕距離表示的是人眼和觀察屏幕之間的距離。該方法的誤差精度總體上能和目前主流方法的誤差精度持平,隨日后微距高清攝像頭拍攝照片分辨率提高,該方法的控制精度將隨采樣照片分辨率提高而進(jìn)一步提高。
從表1數(shù)據(jù)可知虹膜反射邊框分辨率和精度關(guān)系,精度隨傳感器采集的虹膜反射邊框分辨率的提高而提高。
表1 精度與分辨率關(guān)系Tab. 1 Relationship of precision and resolution
目前主流的眼球控制方法有二維定標(biāo)方法、補(bǔ)償估計(jì)方法、注視點(diǎn)估計(jì)方法和迭代橢圓擬合方法。其中迭代橢圓擬合方法的精度最高,能夠達(dá)到視角平均角度誤差為0.5°左右,但是該方法復(fù)雜且計(jì)算量巨大難以達(dá)到實(shí)時(shí)的性能要求。注視點(diǎn)估計(jì)方法視角平均角度誤差為0.7°左右,但是該方法使用器材較多而且紅外攝像頭遠(yuǎn)距離捕捉的圖片光點(diǎn)矩陣會(huì)變形導(dǎo)致后期圖像處理工作過(guò)程復(fù)雜耗時(shí)。二維定標(biāo)方法和補(bǔ)償估計(jì)方法的精確度不高。本文方法操作及算法簡(jiǎn)單,容易實(shí)現(xiàn)且耗時(shí)較少;但缺點(diǎn)就是目前微距離高清攝像機(jī)捕捉的圖片分辨率不高會(huì)導(dǎo)致精度誤差較大,日后本方法的識(shí)別精度隨攝像機(jī)拍攝圖片分辨率提高而進(jìn)一步提高。
表2 不同算法的精度對(duì)比Tab. 2 Accuracy comparison of different algorithms
根據(jù)表2可知:二維定標(biāo)算法[2]的視角平均誤差為2.5°,該方法原理簡(jiǎn)單、運(yùn)行速度快,適合于對(duì)瞳孔的初步定位。補(bǔ)償估計(jì)算法[12]的視角精度在1°內(nèi),該方法通過(guò)大量統(tǒng)計(jì)及計(jì)算來(lái)補(bǔ)償視角誤差從而提高精度,且遠(yuǎn)距離攝像機(jī)拍攝的圖片會(huì)導(dǎo)致計(jì)算結(jié)果具有較大誤差,但該方法思路新穎具有啟發(fā)性。最新的注視點(diǎn)估計(jì)算法[13]于2017年提出,可顯著提高注視性能并且視角平均誤差能保持在0.7°,該方法建立的虛擬平面投影與瞳孔角膜相切以估計(jì)注視點(diǎn)位置,具有算法復(fù)雜、計(jì)算量大和耗時(shí)長(zhǎng)等缺點(diǎn)。迭代橢圓擬合算法[14]能夠檢測(cè)出瞳孔旋轉(zhuǎn)角度大于0.5°的轉(zhuǎn)動(dòng),該方法是目前精確度最高的。該技術(shù)已運(yùn)用在近距離的頭戴虛擬現(xiàn)實(shí)設(shè)備中,且難以對(duì)遠(yuǎn)距離的手機(jī)及電腦屏幕實(shí)現(xiàn)精準(zhǔn)控制。
本文采用的方法是根據(jù)屏幕邊框在眼球上的映射來(lái)確定焦點(diǎn)在屏幕上的位置,且精度隨捕捉圖片分辨率提交而進(jìn)一步提高。該方法是運(yùn)用數(shù)字圖像處理技術(shù)對(duì)傳感器拍攝圖片進(jìn)行計(jì)算獲得焦點(diǎn)坐標(biāo)信息,實(shí)現(xiàn)眼球?qū)ζ聊桓呔瓤刂?。本文方法的不足之處在于必須有一個(gè)高清傳感器距離眼睛很近來(lái)捕捉眼球反射畫面,這就必須讓使用者在眼鏡框上固定一個(gè)微型攝像機(jī)裝置,和遠(yuǎn)距離傳感器捕捉方法相比較為不便。本文方法精度高,可以實(shí)現(xiàn)更多目前遠(yuǎn)距離眼球追蹤技術(shù)因?yàn)榫炔粔蚨荒芡瓿傻牟僮?能夠讓許多雙手不便用戶實(shí)現(xiàn)對(duì)屏幕設(shè)備的控制。該技術(shù)也可以運(yùn)用到射擊類游戲里,將眼睛看到、移動(dòng)鼠標(biāo)、點(diǎn)擊鼠標(biāo)射擊三個(gè)步驟減少為眼睛看到、點(diǎn)擊射擊兩個(gè)步驟,增強(qiáng)游戲體驗(yàn)感。目前運(yùn)用Matlab軟件編程已經(jīng)基本實(shí)現(xiàn)對(duì)人眼焦點(diǎn)追蹤,后續(xù)工作中將進(jìn)一步通過(guò)代碼優(yōu)化來(lái)提高精度,讓軟件和硬件有機(jī)結(jié)合并進(jìn)一步提高眼球控制精度。