楊春雨 文元美
(廣東工業(yè)大學(xué)信息工程學(xué)院,廣東 廣州 510006)
視線預(yù)測(cè)是確定人在觀察圖像或視頻時(shí),眼睛注視的3D凝視方向或2D凝視點(diǎn)。視線反映了人類的視覺(jué)注意力,可用來(lái)更好地理解人類活動(dòng)。近年來(lái),視線預(yù)測(cè)已成為人機(jī)交互[1-3]、駕駛員疲勞檢測(cè)[4-5]、心理學(xué)[6-7]、醫(yī)學(xué)[8]等領(lǐng)域的重要研究課題。
視線預(yù)測(cè)方法主要有基于模型、基于外觀2大類。絕大多數(shù)早期工作是基于模型的,即通過(guò)模仿人眼睛和面部的幾何模型來(lái)預(yù)測(cè)視線[9],這種眼睛注視估計(jì)已成功應(yīng)用于商業(yè)注視跟蹤系統(tǒng),但通常需要較復(fù)雜的硬件系統(tǒng)?;谕庥^的視線預(yù)測(cè)方法[10]是將眼睛的外觀用作輸入,從數(shù)據(jù)集中學(xué)習(xí)預(yù)測(cè)值和實(shí)際值的映射關(guān)系以進(jìn)行視線預(yù)測(cè)。近年來(lái),由于深度學(xué)習(xí)方法的快速發(fā)展以及大量用于視線預(yù)測(cè)的數(shù)據(jù)集建立,基于外觀的視線預(yù)測(cè)方法越來(lái)越受關(guān)注。
Rahayfeh等[11]對(duì)現(xiàn)有的視線預(yù)測(cè)和注視估計(jì)技術(shù)進(jìn)行了分析,表明大多數(shù)研究未考慮數(shù)據(jù)集的多樣化和樣本數(shù)量,存在數(shù)據(jù)集單一的問(wèn)題。針對(duì)數(shù)據(jù)集單一問(wèn)題,Zhang等[12]采集不同時(shí)段的人臉圖片,增強(qiáng)了數(shù)據(jù)集的多樣性;Krafka等[13]進(jìn)行了數(shù)據(jù)集收集工作,用手機(jī)和平板電腦以不同角度采集人臉樣本,同時(shí)提出iTracker的網(wǎng)絡(luò)模型,該模型是基于AlexNet架構(gòu)[14]的神經(jīng)網(wǎng)絡(luò),得到了較高的預(yù)測(cè)精準(zhǔn)度,但沒(méi)有考慮數(shù)據(jù)集的無(wú)效樣本可能會(huì)影響預(yù)測(cè)結(jié)果的問(wèn)題。針對(duì)視線預(yù)測(cè)中存在的過(guò)擬合以及預(yù)測(cè)精度問(wèn)題,Wong等[15]使用殘差網(wǎng)絡(luò)模型訓(xùn)練數(shù)據(jù)集,提升了預(yù)測(cè)結(jié)果,但網(wǎng)絡(luò)結(jié)構(gòu)單一,預(yù)測(cè)結(jié)果有待提高。
針對(duì)上述問(wèn)題,本文利用雙通道殘差網(wǎng)絡(luò)解決網(wǎng)絡(luò)加深產(chǎn)生的過(guò)擬合和單通道殘差網(wǎng)絡(luò)預(yù)測(cè)結(jié)果精準(zhǔn)度不足的問(wèn)題。采用MPIIGaze和GazeCapture數(shù)據(jù)集訓(xùn)練該網(wǎng)絡(luò),并對(duì)數(shù)據(jù)集中無(wú)效樣本進(jìn)行篩選,對(duì)比篩選前后的實(shí)驗(yàn)結(jié)果。
本質(zhì)上,神經(jīng)網(wǎng)絡(luò)是多個(gè)非線性函數(shù)級(jí)聯(lián)而成的一個(gè)更加復(fù)雜的非線性函數(shù)。一般來(lái)說(shuō),神經(jīng)網(wǎng)絡(luò)的層數(shù)越多,越能更好地?cái)M合訓(xùn)練數(shù)據(jù)。但層數(shù)增加到一定量時(shí),會(huì)出現(xiàn)梯度彌散或梯度爆炸問(wèn)題。殘差網(wǎng)絡(luò)是為解決梯度彌散或梯度爆炸導(dǎo)致深層網(wǎng)絡(luò)運(yùn)行效果不良的一種網(wǎng)絡(luò)模型。
He-Kaiming等[16]在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上增加了一個(gè)恒等映射(identity mapping),構(gòu)成殘差網(wǎng)絡(luò)(ResNet)的基本模塊,結(jié)構(gòu)如圖1所示。模塊包括恒等映射和殘差映射(residual mapping)。恒等映射是直接將輸入X與加法器相連接;殘差映射是將輸入X送入隱藏層進(jìn)行運(yùn)算,多個(gè)隱藏層運(yùn)算的結(jié)果表征為F(x)。
圖1 殘差網(wǎng)絡(luò)的基本模塊結(jié)構(gòu)
殘差網(wǎng)絡(luò)將網(wǎng)絡(luò)信號(hào)的傳遞轉(zhuǎn)換為一個(gè)累加的過(guò)程,各個(gè)網(wǎng)絡(luò)層計(jì)算的是殘差,即輸出相對(duì)于輸入的變化量。在恒等映射的作用下,殘差網(wǎng)絡(luò)改變了學(xué)習(xí)目標(biāo),不再是學(xué)習(xí)一個(gè)完整的輸出,而是目標(biāo)值和輸入的差值,也就是所謂的殘差。這樣由深層網(wǎng)絡(luò)帶來(lái)的“退化”現(xiàn)象很大程度上得以解決,因此殘差網(wǎng)絡(luò)能夠極大地消除過(guò)擬合現(xiàn)象。
在數(shù)據(jù)集圖片送入本文提出的雙通道殘差網(wǎng)絡(luò)前,首先需識(shí)別出人臉,進(jìn)行人臉矯正,標(biāo)記出左眼和右眼的位置;然后將左眼與右眼圖片分別作為樣本輸入該網(wǎng)絡(luò)進(jìn)行處理。常用的殘差網(wǎng)絡(luò)深度可達(dá) 18層、34層、50層、101層、152層,甚至更高,更深層的網(wǎng)絡(luò)可以處理更加復(fù)雜的樣本。
本文提出的基于殘差網(wǎng)絡(luò)的雙通道網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。首先,預(yù)處理后的左、右眼數(shù)據(jù)集樣本作為殘差網(wǎng)絡(luò)的輸入;然后,卷積層1和最大池化層對(duì)特征進(jìn)行初步處理后送入由卷積層2和卷積層3組成的殘差模塊;其次,隨著網(wǎng)絡(luò)層數(shù)的加深,特征向量被展開,卷積核增加,經(jīng)過(guò)所有的殘差模塊處理后輸入平均池化層,得到局部特征向量;再次,更多的特征向量可以提升模型的擬合能力,雙通道的全連接層中的每個(gè)神經(jīng)元與其前一層單通道的所有神經(jīng)元進(jìn)行全連接,全連接層可以整合上一層中具有特征要素的局部信息,將2個(gè)通道訓(xùn)練得到的所有局部特征向量通過(guò)權(quán)值矩陣分類和提取后,一起輸入到全連接層做進(jìn)一步特征融合處理,為提升網(wǎng)絡(luò)性能,全連接層每個(gè)神經(jīng)元的激勵(lì)函數(shù)都采用ReLU函數(shù);最后,將高度提純的特征做回歸處理,經(jīng)過(guò)2個(gè)全連接層的特征融合得出最終結(jié)果。
圖2 雙通道殘差網(wǎng)絡(luò)結(jié)構(gòu)
本文使用雙通道殘差網(wǎng)絡(luò)進(jìn)行視線預(yù)測(cè)研究,實(shí)驗(yàn)在python3,tensorflow框架下實(shí)現(xiàn);采用GTX1060 GPU提高計(jì)算速度,內(nèi)存為4 GB;利用損失函數(shù)作為輔助評(píng)價(jià)指標(biāo)。
損失函數(shù)是處理回歸問(wèn)題時(shí),用來(lái)評(píng)估模型預(yù)測(cè)值與真實(shí)值的差異程度,是一個(gè)非負(fù)值函數(shù),其數(shù)值越小表明模型的魯棒性越好。本文利用均方誤差來(lái)反映預(yù)測(cè)值與真實(shí)值之間的誤差,其計(jì)算公式為
式中,yi是實(shí)際值;是擬合后的預(yù)測(cè)值;n為樣本個(gè)數(shù);均方誤差越接近于0誤差越小,說(shuō)明模型擬合的效果越好。
本文采用 2個(gè)視線預(yù)測(cè)常用的大型數(shù)據(jù)集MPIIGaze和GazeCapture。MPIIGaze數(shù)據(jù)集共收集了15位參與者的213659張圖像[12]。通過(guò)對(duì)參與者在一天中不同時(shí)間的面部圖像進(jìn)行收集,使其面部區(qū)域具有不同的平均灰度強(qiáng)度,包含不同的光照變化和時(shí)間變化,樣例圖像如圖3所示。
圖3 MPIIGaze樣例圖像
GazeCapture數(shù)據(jù)集包含1474個(gè)不同的場(chǎng)景類型,其中1249名受試者使用手機(jī)采集數(shù)據(jù),225人使用平板電腦采集數(shù)據(jù),2種設(shè)備收集的樣本數(shù)量分別約為210萬(wàn)個(gè)和36萬(wàn)個(gè),共采集2445504個(gè)樣本[13],樣例圖像如圖4所示。為證明數(shù)據(jù)的可變性,利用灰度強(qiáng)度直方圖[12]進(jìn)行驗(yàn)證,結(jié)果表明,樣本的異常值比例較其他數(shù)據(jù)集明顯要大。此外數(shù)據(jù)捕獲技術(shù)來(lái)自移動(dòng)端,同時(shí)樣本采集位置變化顯著,如有來(lái)自常規(guī)手持設(shè)備以及攝像頭位置在屏幕下方(當(dāng)設(shè)備顛倒時(shí))的采集,這些位置的變化可以增強(qiáng)樣本的多樣性,以便更好地用于訓(xùn)練和評(píng)估。
圖4 GazeCapture樣例圖像
GazeCapture數(shù)據(jù)集采集數(shù)據(jù)時(shí),首先使用面部檢測(cè)器識(shí)別人臉并在照片捕獲區(qū)域檢測(cè)面部信息;然后受試者保持凝視屏幕上的觀察點(diǎn);最后進(jìn)行拍照。這樣數(shù)據(jù)集中存在臉部部分遮擋、眨眼等難以識(shí)別人臉或視線的樣本,如眨眼瞬間瞳孔被遮擋的樣本示例如圖5所示。
圖5 眼睛睜開與眨眼對(duì)比
為去除難以識(shí)別的樣本,本文使用dlib庫(kù)計(jì)算眼睛的縱橫比。眼睛的縱橫比即眼睛的寬度和高度之比,是確定是否眨眼的指標(biāo)。P1,P2,…,P6為dlib庫(kù)檢測(cè)到的標(biāo)記點(diǎn),眼睛橫縱比計(jì)算公式為
式中,P1,P2,…,P6是dlib庫(kù)檢測(cè)到的眼部界標(biāo)。
當(dāng)眼睛橫縱比<0.24時(shí),判定該樣本無(wú)效。
采用本文提出的雙通道殘差網(wǎng)絡(luò)結(jié)構(gòu),在權(quán)衡人臉眼部區(qū)域特征表達(dá)能力和輸入樣本大小之后,每個(gè)通道均以18層殘差網(wǎng)絡(luò),即ResNet-18作為訓(xùn)練樣本的基礎(chǔ)框架。單個(gè)通道ResNet-18的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)如表1所示,另一個(gè)通道的參數(shù)與之相同。以卷積層1(Conv1)為例,3×3表示該模塊的卷積核大小;64表示有64個(gè)這樣的卷積核;stride表示步長(zhǎng)大小。
表1 ResNet-18殘差網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)
輸入雙通道殘差網(wǎng)絡(luò)的左、右眼圖像大小均為224×224;ResNet-18第一層是卷積核大小為 3×3、步長(zhǎng)為2的卷積層(Conv1),卷積之后得到的特征圖大小為112×112;將該特征圖輸入卷積核為2×2、步長(zhǎng)為2的最大池化層,得到大小為56×56的特征圖;將該特征圖輸入到分為4組的8個(gè)殘差模塊:把最大池化后大小為56×56的特征圖輸入Conv2_x所在的2個(gè)殘差模塊,殘差模塊內(nèi)4個(gè)卷積核大小均為3×3×64、步長(zhǎng)為 1,運(yùn)算得到 28×28的特征圖;將該特征圖輸入到Conv3_x所在的2個(gè)殘差模塊,該模塊內(nèi)4個(gè)卷積核大小均為3×3×128、步長(zhǎng)為1,運(yùn)算得到 14×14的特征圖;再將該特征圖輸入Conv4_x,模塊內(nèi)4個(gè)卷積核大小均為3×3×256、步長(zhǎng)為1,運(yùn)算得到7×7的特征圖;最后將該特征圖輸入Conv5_x,模塊內(nèi)4個(gè)卷積核大小均為3×3×512、步長(zhǎng)為1,運(yùn)算得到1×1的特征圖,到此結(jié)束殘差模塊的處理,進(jìn)行一次平均池化。將左、右眼樣本分別經(jīng)過(guò)2個(gè)通道處理后的特征圖調(diào)整為向量一起輸入到全連接層,經(jīng)過(guò)2個(gè)全連接層的特征融合,得到視線預(yù)測(cè)結(jié)果。
本文提出的雙通道殘差網(wǎng)絡(luò)進(jìn)行視線預(yù)測(cè)對(duì)比實(shí)驗(yàn):1) 在不同大小數(shù)據(jù)集 MPIIGaze和 Gaze-Capture中,單通道、雙通道殘差網(wǎng)絡(luò)預(yù)測(cè)結(jié)果對(duì)比;2) 數(shù)據(jù)集GazeCapture篩選與否對(duì)預(yù)測(cè)準(zhǔn)確度的影響。
首先進(jìn)行單通道、雙通道殘差網(wǎng)絡(luò)視線預(yù)測(cè)結(jié)果對(duì)比。單通道殘差網(wǎng)絡(luò)選用18層結(jié)構(gòu),記為ResNet-18;本文的雙通道殘差網(wǎng)絡(luò)記為 Double-ResNet。數(shù)據(jù)集分別采用 MPIIGaze和 GazeCapture。本文對(duì)GazeCapture數(shù)據(jù)集中的手機(jī)端(Phone)和平板電腦端(Tablet)數(shù)據(jù)分別進(jìn)行訓(xùn)練,結(jié)果如表2所示。
表2 不同數(shù)據(jù)集中單、雙通道殘差網(wǎng)絡(luò)預(yù)測(cè)結(jié)果對(duì)比
1) MPIIGaze數(shù)據(jù)集中,單、雙通道網(wǎng)絡(luò)結(jié)構(gòu)視線預(yù)測(cè)誤差分別為3.24 cm和2.67 cm;GazeCapture數(shù)據(jù)集中,單、雙通道網(wǎng)絡(luò)結(jié)構(gòu)視線預(yù)測(cè)的平均誤差分別為2.65 cm和2.45 cm;表明使用雙通道網(wǎng)絡(luò)結(jié)構(gòu)比使用單通道網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行視線預(yù)測(cè)的誤差明顯減小,GazeCapture數(shù)據(jù)集中手機(jī)端和平板電腦端的視線預(yù)測(cè)結(jié)果也證明了這一點(diǎn)。
雙通道結(jié)構(gòu)是基于人類視覺(jué)系統(tǒng)中雙眼會(huì)同時(shí)看向一個(gè)地方的特性,將左眼與右眼2個(gè)通道的計(jì)算結(jié)果同時(shí)作為下一級(jí)全連接層的輸入,可在一定程度上起到特征相互補(bǔ)償?shù)淖饔?。本文的多個(gè)全連接層設(shè)計(jì),也有效地提升了非線性問(wèn)題預(yù)測(cè)的效果。
2) 不管是采用單通道還是雙通道殘差網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行視線預(yù)測(cè),GazeCapture數(shù)據(jù)集中的視線預(yù)測(cè)平均誤差2.65 cm和2.45 cm分別小于MPIIGaze數(shù)據(jù)集中的3.24 cm和2.67 cm;表明使用樣本容量更大的數(shù)據(jù)集可以有效地提高預(yù)測(cè)精準(zhǔn)度。
本文還選用人臉位置和眼睛狀態(tài)更加復(fù)雜和多樣化的GazeCapture數(shù)據(jù)集對(duì)眨眼樣本篩選前后的訓(xùn)練結(jié)果進(jìn)行了對(duì)比。樣本篩選主要是將因眨眼等因素導(dǎo)致的瞳孔遮擋樣本去除,模型選用本文提出的雙通道殘差網(wǎng)絡(luò)結(jié)構(gòu),實(shí)驗(yàn)結(jié)果如表3所示。
表3 數(shù)據(jù)篩選前后預(yù)測(cè)結(jié)果對(duì)比
由表3可知,篩選后的GazeCapture數(shù)據(jù)集視線預(yù)測(cè)平均誤差為1.96 cm,小于未經(jīng)篩選的2.45 cm;手機(jī)端和平板電腦端的視線預(yù)測(cè)誤差分別由2.25 cm和2.64 cm下降為1.74 cm和2.19 cm;表明無(wú)效樣本的篩選能夠在很大程度上提升預(yù)測(cè)精準(zhǔn)度。
視線預(yù)測(cè)屬于回歸問(wèn)題,輸出是坐標(biāo)值,其準(zhǔn)確率是輸出坐標(biāo)與真實(shí)坐標(biāo)的距離表征,距離越近則越準(zhǔn)確,而損失函數(shù)是觀察和檢測(cè)學(xué)習(xí)率和準(zhǔn)確率的重要指標(biāo)。
GazeCapture數(shù)據(jù)集篩選前的雙通道殘差網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練和驗(yàn)證的損失函數(shù)如圖6所示;篩選眨眼等無(wú)效樣本后的雙通道殘差網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練和驗(yàn)證的損失函數(shù)如圖7所示。圖6與圖7比較得知,篩選前的數(shù)據(jù)集中,訓(xùn)練損失函數(shù)在60個(gè)周期時(shí)達(dá)到穩(wěn)定狀態(tài);而眨眼樣本篩選后,數(shù)據(jù)集的訓(xùn)練損失函數(shù)在40個(gè)周期后可以達(dá)到穩(wěn)定狀態(tài),并且測(cè)試損失函數(shù)的誤差為2.08 cm(見(jiàn)圖7),比未篩選數(shù)據(jù)集下的2.49 cm(見(jiàn)圖6)更小??梢?jiàn)樣本篩選后雙通道殘差網(wǎng)絡(luò)可在更短的周期內(nèi)達(dá)到穩(wěn)定的擬合狀態(tài),并提高預(yù)測(cè)準(zhǔn)確度。
圖6 損失函數(shù)(數(shù)據(jù)集篩選前)
圖7 損失函數(shù)(數(shù)據(jù)集篩選后)
采用單通道殘差網(wǎng)絡(luò)結(jié)構(gòu)處理篩選后 Gaze-Capture數(shù)據(jù)集訓(xùn)練和驗(yàn)證的損失函數(shù)如圖8所示,需要55個(gè)周期后達(dá)到穩(wěn)定狀態(tài)。圖7損失函數(shù)下降曲線平滑并且只需要40個(gè)周期就可以達(dá)到穩(wěn)定狀態(tài),可見(jiàn)采用雙通道網(wǎng)絡(luò)結(jié)構(gòu)模型具有更好的可靠性和魯棒性。
圖8 單通道損失函數(shù)
本文提出一種基于殘差網(wǎng)絡(luò)的雙通道網(wǎng)絡(luò)模型,在對(duì)人臉進(jìn)行矯正后提取出左眼和右眼信息,分別作為網(wǎng)絡(luò)2個(gè)通道的輸入進(jìn)行訓(xùn)練,并利用眼睛橫縱比篩選數(shù)據(jù)集無(wú)效樣本和多個(gè)全連接層特征融合的方法進(jìn)一步提高預(yù)測(cè)結(jié)果。實(shí)驗(yàn)結(jié)果表明:本文提出的方法在視線預(yù)測(cè)中取得了較高的精準(zhǔn)度。下一步將針對(duì)人臉遮擋和難以提取特征的眼部圖像處理作進(jìn)一步研究,在保證識(shí)別精準(zhǔn)度的前提下進(jìn)一步提升訓(xùn)練速度。