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