劉天鍵,吳成霖,胡煥強(qiáng)
(1.閩江學(xué)院物理與電子信息工程學(xué)院,福建 福州 350108; 2. 福建師范大學(xué)光電與信息工程學(xué)院,福建 福州 350117)
眼動(dòng)跟蹤泛指與眼球、眼動(dòng)、視線等相關(guān)的研究,主要以眼睛圖像或人臉圖像為處理對象,估算人的視線方向或注視點(diǎn)位置。眼動(dòng)跟蹤技術(shù)在VR、醫(yī)療、智能駕駛以及線下銷售領(lǐng)域有著廣泛的應(yīng)用前景。要推廣該項(xiàng)技術(shù),眼動(dòng)跟蹤精度至關(guān)重要。雖然,目前基于紅外照明設(shè)備的商業(yè)眼動(dòng)儀已經(jīng)能達(dá)到約0.5°的精度,但是由于設(shè)備昂貴且無法在室外使用,其應(yīng)用范圍受到限制。隨著深度學(xué)習(xí)技術(shù)的普及,基于表觀的可見光譜眼動(dòng)跟蹤技術(shù)成為該領(lǐng)域研究的熱點(diǎn)[1-8]。該技術(shù)從大量的眼動(dòng)數(shù)據(jù)中學(xué)習(xí)到視線方向,跟蹤精度約為4°~5°,但與基于紅外照明的眼動(dòng)儀比較,尚有一定的差距,進(jìn)一步提高跟蹤精度成為基于表觀的眼動(dòng)跟蹤研究領(lǐng)域的一個(gè)難點(diǎn)。由于數(shù)據(jù)集的準(zhǔn)確標(biāo)注對于模型訓(xùn)練的精度以及算法的比較有重要影響,因此減少數(shù)據(jù)樣本噪聲以提高跟蹤精度是一個(gè)有前景的研究方向。
視線估計(jì)方法通??梢苑譃榛谀P偷姆椒ê突诒碛^的方法[1-2]?;谀P偷姆椒ㄊ褂醚劬Φ膸缀文P?,利用人眼成像的原理,通過相機(jī)獲取人眼眼球的特征,隨后根據(jù)獲取到的特征建立與注視點(diǎn)的映射關(guān)系,從而實(shí)現(xiàn)視線估計(jì)。該方法可以進(jìn)一步分為基于角膜反射的方法和基于形狀的方法。角膜反射法通過外部紅外光源反射到眼睛的角膜來檢測到眼睛的特征。與基于模型的方法比較,基于表觀的方法采用從臉部圖像到視線方向進(jìn)行端到端映射的方法。早期的方法采用眼睛區(qū)域圖像,并且假設(shè)頭部固定不動(dòng)。眼動(dòng)數(shù)據(jù)集的標(biāo)準(zhǔn)化是在眼動(dòng)算法設(shè)計(jì)之前對數(shù)據(jù)進(jìn)行預(yù)處理,以得到更加合理和準(zhǔn)確的數(shù)據(jù)。SUGANO等提出了數(shù)據(jù)標(biāo)準(zhǔn)化方法,他們把任意姿勢的眼睛圖像重定向到標(biāo)準(zhǔn)化空間,以實(shí)現(xiàn)樣本的重采樣[3]。該方法能改善樣本的分布但對提高視線估計(jì)精度效果不佳。隨后的研究擴(kuò)展到允許頭部自由運(yùn)動(dòng)的場景,但用戶與相機(jī)的距離仍基本保持不變。ZHANG等在此基礎(chǔ)上進(jìn)行了改進(jìn),他們指出尺度變化不能改變3D視線方向,修正了變換矩陣,從而使得性能大幅提升[4-5]。KRAFKA等給出了Gazecapture數(shù)據(jù)集并提出了一種2D視點(diǎn)跟蹤方法,采用臉部、眼部圖像和面部網(wǎng)格作為輸入,通過CNN擬合輸出視點(diǎn)位置,結(jié)果表明大規(guī)模的眼動(dòng)數(shù)據(jù)可以改善視線估計(jì)的精度[6]。WOOD等提出了UnityEyes模型,一種可以快速合成大量可變眼域圖像的新方法,該方法結(jié)合了一個(gè)人眼區(qū)域生成三維模型和一個(gè)實(shí)時(shí)繪制框架。雖然,可以大量產(chǎn)生眼動(dòng)數(shù)據(jù),但該方法需要視線估計(jì)器處理大量類似冗余的數(shù)據(jù),從而導(dǎo)致訓(xùn)練時(shí)間的延長和損失函數(shù)優(yōu)化的困難[7]。直到最近,該領(lǐng)域才拓展到真實(shí)應(yīng)用場景,即對姿勢和距離沒有約束。PARK等在大規(guī)模數(shù)據(jù)集上開展眼動(dòng)跟蹤算法的研究,并取得了學(xué)界領(lǐng)先的結(jié)果[8-9]。綜上所述,雖然數(shù)據(jù)標(biāo)準(zhǔn)化已在模型訓(xùn)練中采用,但是標(biāo)準(zhǔn)化的詳細(xì)過程以及標(biāo)準(zhǔn)化后的效果還鮮有比較和討論。經(jīng)驗(yàn)表明,數(shù)據(jù)預(yù)處理可以對數(shù)據(jù)進(jìn)行清洗,從而減低數(shù)據(jù)噪聲,有效地改善后續(xù)算法的魯棒性。
雖然增加樣本數(shù)量可以提高模型精度,但大規(guī)模的樣本標(biāo)注需要耗費(fèi)大量的人力物力,尤其是在三維視線估計(jì)領(lǐng)域。由于很難直接測量視線的三維向量,因此需要用視點(diǎn)坐標(biāo)間接生成三維視線方向,造成數(shù)據(jù)集的標(biāo)定復(fù)雜且耗時(shí)。然而,提高數(shù)據(jù)集的質(zhì)量一直是業(yè)界追求的一個(gè)目標(biāo)。目前該領(lǐng)域并沒有一種統(tǒng)一的樣本預(yù)處理方法,造成同一算法在不同數(shù)據(jù)集上跟蹤效果的差異。雖然,文[3-6]給出了一種基于投影變換的標(biāo)準(zhǔn)化方法,但是需要已知相機(jī)模型和參數(shù)。同時(shí),公開的數(shù)據(jù)集記錄視線方向的方法各不相同,有些采用3D視線方向,有些采用2D視點(diǎn)坐標(biāo),并且未考慮相機(jī)與眼睛的相對位置,導(dǎo)致后續(xù)算法比較缺乏統(tǒng)一的標(biāo)準(zhǔn)[10]。為此,本文采用了一種基于反射立體視覺的相機(jī)位姿估計(jì)方法,并將該方法引入到眼動(dòng)數(shù)據(jù)集樣本預(yù)處理領(lǐng)域。該方法通過反射幾何建立屏幕坐標(biāo)系、相機(jī)坐標(biāo)系和頭部坐標(biāo)系之間的關(guān)系,并將任意范圍方位采集的臉部圖像轉(zhuǎn)換到標(biāo)準(zhǔn)化空間,完成圖像的對齊和矯正。在標(biāo)準(zhǔn)化空間,對數(shù)據(jù)集樣本進(jìn)行投影變換,計(jì)算三維視線方向的極坐標(biāo)(俯仰角、偏航角)。在標(biāo)準(zhǔn)化空間引入虛擬相機(jī),規(guī)范化虛擬相機(jī)與眼睛的位姿,減少樣本的噪聲,提高視線估計(jì)的準(zhǔn)確度。
通常眼動(dòng)數(shù)據(jù)是通過用戶注視屏幕上的視點(diǎn)產(chǎn)生的。本文采用的數(shù)據(jù)集標(biāo)準(zhǔn)化是指,在進(jìn)行視線跟蹤算法設(shè)計(jì)之前,把眼動(dòng)數(shù)據(jù)集的圖片和標(biāo)簽數(shù)據(jù)映射到標(biāo)準(zhǔn)化空間,該空間設(shè)置為由距離臉部中心一定長度的虛擬相機(jī)采集眼動(dòng)數(shù)據(jù),以便減少圖片在幾何上的變化,為后續(xù)算法的比較提供統(tǒng)一的基準(zhǔn)數(shù)據(jù)。然而,不同的應(yīng)用場景以及不同的設(shè)備導(dǎo)致眼動(dòng)數(shù)據(jù)集標(biāo)準(zhǔn)化非常困難并且不容易推廣。在眼動(dòng)跟蹤過程中,由于3D視線方向能較準(zhǔn)確的描述注視方向,文[5,8-9]選擇極坐標(biāo)形式(俯仰角、偏航角)作為眼動(dòng)跟蹤的輸出,如圖1(a)所示。本文同樣采用這種方式描述視線方向,由2D視點(diǎn)坐標(biāo)到3D視線方向轉(zhuǎn)換較為復(fù)雜,需要進(jìn)行多個(gè)坐標(biāo)系之間的轉(zhuǎn)換。
圖1 眼動(dòng)跟蹤系統(tǒng)坐標(biāo)系的變換關(guān)系Fig.1 Transformation relationship of coordinate system in eye tracking system
這個(gè)過程主要確定屏幕與相機(jī)的相對位姿。由于屏幕和相機(jī)的朝向一致,屏幕不在相機(jī)的視野范圍之內(nèi),如圖2(a)所示,為了估計(jì)相機(jī)的位姿,文[11-12]采用了一種平面鏡反射的方法估計(jì)相機(jī)的位姿。在該方法中,相機(jī)的運(yùn)動(dòng)由剛體運(yùn)動(dòng)退化成平面運(yùn)動(dòng),外參自由度從6降到5,從相機(jī)的約束條件可以解出鏡面的方位,繼而得到真實(shí)相機(jī)的位姿。本文采用類似的方法,并把該方法應(yīng)用到眼動(dòng)跟蹤數(shù)據(jù)集標(biāo)定領(lǐng)域,由于在視線估計(jì)場景中,相機(jī)與頭部的相對位移較小,引入虛擬相機(jī),擴(kuò)大了視野移動(dòng)范圍,再通過對應(yīng)點(diǎn)的幾何關(guān)系可以較準(zhǔn)確的估計(jì)相機(jī)位姿。
圖2 基于反射立體視覺的虛擬相機(jī)運(yùn)動(dòng)方式Fig.2 Motion mode of virtual camera based on catadioptric stereo vision
(1)
則投影變換為:
(2)
根據(jù)平面鏡的對稱性,則有:
(3)
兩點(diǎn)間的齊次坐標(biāo)關(guān)系為:
(4)
其中,對稱變換M是自伴矩陣(滿足M-1=M),且有:
(5)
把式(4)代入式(2)得:
(6)
M′=TMT-1
(7)
因此,在圖2(a)中虛擬相機(jī)之間的平面運(yùn)動(dòng)存在以下關(guān)系:
Ti=M0Mi
(8)
將式(1)、式(5)帶入式(8)得:
(9)
(10)
假設(shè)虛擬相機(jī)之間的平面運(yùn)動(dòng)如圖2(c)所示,考慮到式(9)得
(11)
(12)
(13)
式(12)、(13)為平面運(yùn)動(dòng)的線性約束,再由式(12)解出di,帶入式(13)得
(14)
由此,可以得到系統(tǒng)方程
(15)
其中,子矩陣Ai的尺寸為3×4,且有
(16)
TCS=TBM0。
(17)
估計(jì)3D頭部姿勢等效于估計(jì)相機(jī)位姿。已知頭部坐標(biāo)系下的n個(gè)3D坐標(biāo)點(diǎn),以及這些點(diǎn)在圖像中的2D投影坐標(biāo),求解頭部坐標(biāo)系相對相機(jī)坐標(biāo)系的位姿是一個(gè)PnP問題。該問題已經(jīng)得到了有效的解決,經(jīng)由Surrey臉部模型[8]可獲得稠密的人體3D頭部坐標(biāo),再由關(guān)鍵點(diǎn)檢測算法提取圖像的關(guān)鍵點(diǎn)坐標(biāo)。之后,通過相機(jī)的內(nèi)參和6個(gè)關(guān)鍵點(diǎn)(左右內(nèi)外眼角和左右嘴角)的3D和2D坐標(biāo)可以估計(jì)出相機(jī)位姿[3]。
p=KPc
(18)
p′=KnP′c=KnRSK-1p
(19)
因此,矯正后圖像做射影變換W為:
W=KnRSK-1
(20)
由于伸縮變換不影響視線方向向量,所以校正后的3D視線方向?yàn)?
(21)
又由于俯仰角、偏航角的定義為坐標(biāo)系朝向且(-π/2≤θ,φ≤π/2),則:
(22)
綜上所述,為了獲取3D視線方向,需要確定SCS、HCS相對CCS的位姿,再用虛擬相機(jī)產(chǎn)生標(biāo)準(zhǔn)化數(shù)據(jù)。眼動(dòng)數(shù)據(jù)集標(biāo)準(zhǔn)化過程如表1所示。
表1 眼動(dòng)數(shù)據(jù)集標(biāo)準(zhǔn)化過程
由于標(biāo)準(zhǔn)化過程需要相機(jī)的標(biāo)定數(shù)據(jù),大多數(shù)公開數(shù)據(jù)集并未提供。MpiiFaceGaze數(shù)據(jù)集收集了15個(gè)對象的頭部姿勢圖像并提供了相機(jī)內(nèi)外參數(shù),因此選擇該數(shù)據(jù)集進(jìn)行測試。從MpiiFaceGaze數(shù)據(jù)集中取出一張圖像,經(jīng)過投影變換后,裁剪成尺寸為224×224的全臉圖片,其中虛擬相機(jī)的標(biāo)準(zhǔn)化參數(shù)為:
(23)
3D視線方向按照式(21)校正后,以式(22)計(jì)算方向的極坐標(biāo)。
假設(shè)方法0為原始數(shù)據(jù)集記為none,方法1采用文[4-5]進(jìn)行預(yù)處理的方法記為normalized,方法2采用本文預(yù)處理方法記為ours。在Alexnet和Resnet上采用留一法進(jìn)行交叉驗(yàn)證,驗(yàn)證不同的預(yù)處理方法對模型輸出精度的影響[5,8]。圖3是不同處理方法數(shù)據(jù)集中圖片對比,本文方法由于相機(jī)的z軸對準(zhǔn)了面部中心,并且相機(jī)坐標(biāo)系和頭部坐標(biāo)系的x軸平行,即數(shù)據(jù)在標(biāo)準(zhǔn)化空間進(jìn)行規(guī)范化,相當(dāng)于進(jìn)行數(shù)據(jù)對齊操作。由于極坐標(biāo)形式的視線方向不包括滾轉(zhuǎn)角,校正后減小了滾轉(zhuǎn)角對數(shù)據(jù)的干擾,減低了數(shù)據(jù)集中的噪聲,因此提高了后續(xù)算法的精度。圖4 是不同方法俯仰角對偏航角的聯(lián)合分布,方法0的視線方向俯仰角在[-23°,34°]之間、偏航角在[-23°,23°]之間,方法1、2的視線方向俯仰角在[-11°,23°]之間、偏航角在[-11°,11°]之間,可見標(biāo)準(zhǔn)化后數(shù)據(jù)分布更狹窄。相比方法1,采用方法2,校正后視線方向分布更加集中和平滑。圖5是在兩個(gè)模型輸出上結(jié)果比較,校正后在測試集上的均值和方差均優(yōu)于校正前,在Alexnet模型上,15個(gè)對象測試的平均均值和方差,方法0為(6.69, 3.50),方法1為(5.20, 2.62),方法2為(5.07, 2.60)。相比方法0,本文方法的平均均值提高了24.2%,平均方差提高了25.7%;相比方法1,平均均值提高了2.5%,平均方差提高了0.8%;在Resnet模型上,方法0的平均均值和方差為(6.15, 3.23),方法1為(4.86, 2.43),方法2為(4.76, 2.33),相比方法0,平均均值提高了23.6%,平均方差提高了27.9%。相比方法1,平均均值提高了2.1%,平均方差提高了4.1%,性能更優(yōu)。綜合起來,相比方法0,本文方法平均均值提高了23.9%,平均方差提高了26.8%,標(biāo)準(zhǔn)化后性能提升了20%以上。
圖3 MpiiFaceGaze數(shù)據(jù)集對象標(biāo)準(zhǔn)化的視線方向(單箭頭)和頭部姿勢(雙箭頭)Fig.3 Standardized gaze direction (single arrow) and head posture (double arrow) of objects in the MpiiFaceGaze dataset
圖4 俯仰角對偏航角聯(lián)合分布Fig.4 Joint distribution of pitch and yaw angle
圖5 MpiiFaceGaze數(shù)據(jù)集校正前后比較Fig.5 Test comparison before and after correction of the MpiiFaceGaze dataset
3D視線方向可以由俯仰角、偏航角和滾轉(zhuǎn)角中在任意兩個(gè)確定,由于大部分情況下人的頭部轉(zhuǎn)動(dòng)的滾轉(zhuǎn)角度較小,因此在視線估計(jì)模型中大多采用俯仰角和偏航角標(biāo)記視線方向。本文引入一種基于反射立體幾何的標(biāo)準(zhǔn)化方法,改進(jìn)和擴(kuò)展了眼動(dòng)數(shù)據(jù)集標(biāo)準(zhǔn)化過程,通過虛擬相機(jī)輔助相機(jī)位姿估計(jì),并在標(biāo)準(zhǔn)化空間對圖像進(jìn)行對齊操作。這樣,小角度的滾轉(zhuǎn)角就成了干擾項(xiàng),數(shù)據(jù)集校正后,把相機(jī)的z軸對準(zhǔn)臉部中心,同時(shí)相機(jī)坐標(biāo)系與頭部坐標(biāo)系在x軸平行,這樣處理后,等同于對數(shù)據(jù)進(jìn)行對齊,減少了數(shù)據(jù)的噪聲,當(dāng)然標(biāo)簽數(shù)據(jù)即頭部姿勢和視線方向也應(yīng)進(jìn)行相應(yīng)的調(diào)整??傊蹌?dòng)數(shù)據(jù)集的校正與標(biāo)準(zhǔn)化是進(jìn)行模型設(shè)計(jì)和算法比較之前的關(guān)鍵步驟,通過數(shù)據(jù)預(yù)處理可以消除頭部的滾動(dòng)姿勢對圖像的干擾,讓數(shù)據(jù)分布更平滑均勻,使得后續(xù)的模型性能得以提升,提高模型的魯棒性。同時(shí),矯正后的圖像可以更加準(zhǔn)確匹配修正的3D視線方向,使得后續(xù)的模型比較可以統(tǒng)一到一致的基準(zhǔn)數(shù)據(jù)集,對模型學(xué)習(xí)的精度和可靠性有重要影響。