王 鵬, 苑 碩, 董 鑫, 陶文杰
(1. 常州工學(xué)院電氣信息工程學(xué)院, 江蘇 常州 213032; 2. 哈爾濱工程大學(xué)青島創(chuàng)新發(fā)展基地, 山東 青島 266000;3. 哈爾濱理工大學(xué)電氣與電子工程學(xué)院, 哈爾濱 150080)
視線追蹤技術(shù)是一種通過(guò)測(cè)量眼睛注視點(diǎn)位置或眼球相對(duì)頭部的運(yùn)動(dòng)實(shí)現(xiàn)對(duì)眼球運(yùn)動(dòng)追蹤的技術(shù), 被廣泛應(yīng)用于人機(jī)交互、智能家居、醫(yī)療診斷、心理學(xué)和軍事等領(lǐng)域[1-2].視線追蹤系統(tǒng)按使用方式可分為穿戴式[2]和非穿戴式[3]兩類, 其中穿戴式視線追蹤系統(tǒng)要求使用者佩戴頭盔等設(shè)備, 對(duì)使用者影響較大; 而非穿戴式視線追蹤系統(tǒng)無(wú)需用戶穿戴任何設(shè)備, 操作簡(jiǎn)單且用戶體驗(yàn)好,逐漸成為視線追蹤技術(shù)的研究熱點(diǎn)[4].非穿戴式視線追蹤系統(tǒng)主要分為無(wú)光源單攝像機(jī)系統(tǒng)、單光源單攝像機(jī)系統(tǒng)、多光源單攝像機(jī)系統(tǒng)以及多光源多攝像機(jī)系統(tǒng)等四類[5].在關(guān)于多攝像機(jī)視線追蹤系統(tǒng)的研究中, 魯亞楠[6]提出了一種由多個(gè)攝像機(jī)組成的小型視線跟蹤系統(tǒng), 在近紅外光源下通過(guò)兩個(gè)小型雙目立體視覺(jué)相機(jī)得到人眼三維空間參數(shù), 將場(chǎng)景相機(jī)和雙目相機(jī)關(guān)聯(lián)確定視線落點(diǎn),該系統(tǒng)具有較高的檢測(cè)精度,但設(shè)備復(fù)雜度相對(duì)較高,價(jià)格較昂貴.在關(guān)于單攝像機(jī)視線追蹤系統(tǒng)的研究中, Morimoto等[7]利用由1個(gè)攝像頭及4個(gè)在屏幕四角的光源組成的視線追蹤系統(tǒng),使用從圖像到角膜和從角膜到屏幕的雙重投影方法, 假設(shè)瞳孔中心和角膜反射的平面共面, 通過(guò)二項(xiàng)式擬合方程將眼部參數(shù)與注視點(diǎn)之間形成函數(shù)映射關(guān)系,該方法具有較好的魯棒性, 但光源質(zhì)量對(duì)視線追蹤的影響較大; Saragih等[8]應(yīng)用均值偏移算法對(duì)人眼進(jìn)行檢測(cè)與定位, 但其魯棒性較差, 提取臉部特征時(shí)易受眼鏡和眉毛等因素的影響; Cheng等[9]通過(guò)神經(jīng)網(wǎng)絡(luò)將眼部圖像輸入系統(tǒng)進(jìn)行訓(xùn)練, 所得結(jié)果能有效降低光照條件和頭部姿態(tài)對(duì)視線追蹤的影響, 但出現(xiàn)眼鏡等干擾時(shí)的視線追蹤準(zhǔn)確率明顯下降; Liu等[10]提出了一種使用空間圓形目標(biāo)3D重建來(lái)表示虹膜中心及其法向量的方法, 在左右眼Kappa角近似相等的約束下校準(zhǔn)虹膜半徑,但該方法依賴于準(zhǔn)確的虹膜檢測(cè), 需要多點(diǎn)校準(zhǔn).上述研究表明, 無(wú)光源單攝像機(jī)系統(tǒng)的硬件要求較低且無(wú)需其他輔助設(shè)備的配合, 具有較好的發(fā)展前景, 但仍存在視線追蹤精度較低和速度較慢等問(wèn)題[11].本文綜合考慮算法的實(shí)時(shí)性、復(fù)雜度、檢測(cè)精度和遮擋等因素, 基于單攝像機(jī)系統(tǒng), 擬提出一種結(jié)合圖像梯度算法和改進(jìn)的橢圓擬合算法的視線追蹤方法確定瞳孔中心, 并基于坐標(biāo)標(biāo)定方法判定視線方向.
圖1為視線追蹤算法中的圖像預(yù)處理過(guò)程.首先,利用攝像機(jī)采集原始圖像信息,將采集到的視頻流數(shù)據(jù)進(jìn)行圖像灰度化處理,減少數(shù)據(jù)量的同時(shí)降低光照對(duì)圖像的影響;其次,采用直方圖均衡化處理,增強(qiáng)圖像的紋理,從而提高圖像的對(duì)比度; 再次, 選用雙線性插值法進(jìn)行圖像縮放, 解決最近鄰插值法灰度不具有連續(xù)性的問(wèn)題;最后,采用高斯濾波進(jìn)行消噪處理,使圖像更為平滑.
圖1 圖像預(yù)處理Fig.1 Image preprocessing
選用基于Haar-like特征的改進(jìn)型AdaBoost算法[12]進(jìn)行人臉檢測(cè)與定位.Haar-like特征主要包括邊緣特征、線性特征和中心環(huán)繞特征, 三者組合形成特征模板, 如圖2所示.特征模板內(nèi)有白色和黑色兩種矩形, 表示白色矩陣像素和減去黑色矩陣像素和所得模板的特征值, 反映檢測(cè)對(duì)象特征局部灰度變化.傳統(tǒng)的AdaBoost算法訓(xùn)練出的單閾值弱分類器效果一般, 故本文采用雙閾值弱分類器, 同時(shí)控制閾值范圍和訓(xùn)練參數(shù), 以降低誤分率, 減少訓(xùn)練時(shí)間.
圖2 Haar-like特征的3種形式Fig.2 Three forms of Haar-like features
本文所采用的訓(xùn)練樣本圖像集合為{(xi,yi)}(i=1,2,…,n), 其中n為樣本總數(shù),xi為圖像樣本,yi為圖像樣本類別.當(dāng)xi為人臉時(shí),yi取值為1;xi為非人臉時(shí),yi取值為0.人臉檢測(cè)與定位的具體步驟如下:
1) 尋找T個(gè)弱分類器ht(t=1,2,…,T), 人臉圖像的初始權(quán)重w1,i=1/2m, 非人臉圖像的初始權(quán)重w1,i=1/2l, 其中m為人臉圖像的樣本個(gè)數(shù),l為非人臉圖像的樣本個(gè)數(shù).
采用三庭五眼分割法[13]進(jìn)行人眼檢測(cè)與定位.考慮個(gè)體差異及照片拍攝角度等因素的影響, 對(duì)大量樣本進(jìn)行統(tǒng)計(jì)分析, 確定并設(shè)計(jì)眼眶尺寸及位置, 具體如圖3所示.設(shè)定人臉矩形框?qū)挒閃, 高為H, 為確保所有樣本都能剪裁到完整的人眼局部圖像, 設(shè)計(jì)眼眶尺寸大于實(shí)際眼睛在人臉中所占比例,則人眼矩形框?qū)挒?.35W,高為0.30H, 人臉矩形框左右邊緣到人眼矩形框及人眼左右矩形框之間的距離均為0.10W, 人臉矩形框上邊緣到人眼矩形框上邊緣的距離為0.25H.
圖3 眼眶位置Fig.3 The position of the eye socket
為減少計(jì)算負(fù)荷, 將輸入圖像處理為眼睛圖像后進(jìn)行瞳孔中心定位, 具體流程如圖4所示.
圖4 瞳孔中心判定流程Fig.4 Estimation process of pupil center
其次, 采用星射線法[13]提取虹膜邊緣位置.利用圖像梯度算法確定的瞳孔中心周?chē)袼貫?0×20的眼部圖像進(jìn)行瞳孔提取, 以擬合的瞳孔中心為原點(diǎn), 每隔0.5°從原點(diǎn)發(fā)出射線, 將每條射線上梯度值最大的像素點(diǎn)視為瞳孔邊界點(diǎn).為降低上眼瞼和下眼瞼對(duì)虹膜邊緣點(diǎn)提取的影響, 提高虹膜邊緣檢測(cè)速度, 設(shè)置射線角度范圍為-70°~60°和-110°~120°(射線角度為射線與x軸正方向的夾角,射線范圍在第一、四象限和第二、三象限).
最后, 通過(guò)中心坐標(biāo)評(píng)判完成瞳孔中心定位.依據(jù)瞳孔和虹膜圓心的同一性, 對(duì)比圖像梯度算法和橢圓擬合算法得到的中心坐標(biāo), 若兩種算法所得的瞳孔中心和虹膜中心坐標(biāo)位置相差的像素點(diǎn)數(shù)量小于等于3個(gè), 則確定最小二乘橢圓擬合法得出的虹膜中心坐標(biāo)為瞳孔中心; 反之, 則橢圓擬合程度較低, 須重新判斷瞳孔中心.
圖5 視線標(biāo)定定位圖Fig.5 Line of sight calibration map
實(shí)驗(yàn)環(huán)境為Intel Core i7-8750 CPU, 主頻2.2 GHz, 6核12線程, 內(nèi)存16 GB, 操作系統(tǒng)為Windows 10, 攝像機(jī)分辨率為1 280×960, 采用C++和OpenCV在Microsoft Visual Studio 2017軟件中進(jìn)行實(shí)驗(yàn).
本文分別采用MIT和BioID人臉數(shù)據(jù)庫(kù)中的人臉樣本圖像進(jìn)行人臉檢測(cè)與定位及人眼檢測(cè)與瞳孔中心定位實(shí)驗(yàn).MIT人臉數(shù)據(jù)庫(kù)共包含2 415幅分辨率為20×20像素的人臉樣本圖像, 隨機(jī)抽取2 185幅樣本圖像作為訓(xùn)練集,其余圖像作為測(cè)試集.BioID人臉數(shù)據(jù)庫(kù)為23位測(cè)試者正面角度的人臉圖像, 共計(jì)1 521幅分辨率為100×100像素的灰度圖像,所有圖像均已手工標(biāo)注人眼位置信息, 隨機(jī)抽取1 291幅樣本圖像作為訓(xùn)練集, 其余圖像作為測(cè)試集.此外,本文還收集了50名志愿者的人臉圖像進(jìn)行補(bǔ)充測(cè)試.
圖6為測(cè)試者人臉與人眼檢測(cè)實(shí)驗(yàn)結(jié)果.由圖6可知, 本文方法能夠準(zhǔn)確定位人臉與眼眶位置, 并且實(shí)現(xiàn)瞳孔中心點(diǎn)的精準(zhǔn)定位.
為了進(jìn)一步驗(yàn)證本文所提算法的檢測(cè)定位效果, 分別采用基于傳統(tǒng)AdaBoost算法的人臉檢測(cè)方法、 基于級(jí)聯(lián)分類器算法的人眼定位檢測(cè)方法、 基于霍夫變換算法和虹膜檢測(cè)算法[15]的瞳孔中心定位方法與本文所提檢測(cè)定位方法進(jìn)行對(duì)比實(shí)驗(yàn), 結(jié)果如表1所示.由表1可知, 改進(jìn)后AdaBoost算法的人臉識(shí)別準(zhǔn)確率提高了3.17%, 檢測(cè)時(shí)間僅為傳統(tǒng)AdaBoost算法的66.40%, 誤檢率下降到1.29%, 人臉檢測(cè)效果優(yōu)于傳統(tǒng)AdaBoost算法; 三庭五眼法與級(jí)聯(lián)分類器算法的人眼定位的準(zhǔn)確率和誤檢率相同, 而三庭五眼法的人眼定位時(shí)間僅為級(jí)聯(lián)分類器算法的3.03%, 大大縮短了檢測(cè)時(shí)間, 提高了系統(tǒng)運(yùn)行速度; 基于圖像梯度和改進(jìn)橢圓擬合的視線追蹤算法與霍夫變換算法和虹膜檢測(cè)算法的瞳孔中心檢測(cè)速度相近, 而檢測(cè)準(zhǔn)確度較霍夫變換算法提高了6.67%, 較虹膜檢測(cè)法提高了2.90%.
表1 改進(jìn)定位算法對(duì)比結(jié)果
為了檢驗(yàn)本文所提算法的視線追蹤效果, 對(duì)50名測(cè)試者進(jìn)行視線追蹤測(cè)試, 其中佩戴眼鏡與未佩戴眼鏡的測(cè)試者各25人, 每位測(cè)試者先在正常光照條件下進(jìn)行10次視線方向判定, 再改變光照條件, 在不同光照環(huán)境下分別進(jìn)行10次視線方向判定, 實(shí)驗(yàn)結(jié)果如表2所示.由表2可知, 本文提出的算法可有效降低眼鏡遮擋和光照環(huán)境等因素造成的視線方向檢測(cè)誤差, 在佩戴眼鏡情況下視線方向判定準(zhǔn)確率僅下降0.80%, 暗光條件下視線方向判定準(zhǔn)確率較亮光條件下僅下降1.60%.因此, 本文算法具有良好的抗干擾能力和魯棒性, 滿足實(shí)際應(yīng)用需求.
表2 視線方向判定結(jié)果
揚(yáng)州大學(xué)學(xué)報(bào)(自然科學(xué)版)2023年4期