閆秋女 張偉偉
(上海工程技術大學機械與汽車工程學院 上海 201600)
分心駕駛是交通事故的一個重要原因[1]。導致分心駕駛的主要原因有智能手機、駕駛場景、行人及車載電腦等。隨著現代電子技術的快速發展,分心駕駛引起交通事故的概率逐漸增加[2]。近年來,一些非侵入性司機的凝視檢測和跟蹤系統被提出[3]。由于注視方向與頭部姿態之間的密切關系,許多方法都直接將頭部方向作為衡量駕駛員注意力的指標[4]。然而僅使用頭位姿估計相鄰區域的效果較差。Tawari[5]等提出了增加眼睛特征可以顯著提高凝視區域的分類精度。Fridman[6]等進一步證明了僅移動眼睛時的凝視區域估計精度要高于頻繁移動頭部時的凝視區域估計精度。因此,目前先進的駕駛員注視區域估計技術通常使用頭部和眼睛特征來判斷司機而非分心與否。
目前,頭部位姿估計研究方法較為成熟。在特殊傳感器的幫助下,Lee[7]等利用人臉模型和水平邊緣投影直方圖來確定駕駛員頭部的偏航角和俯仰角。Friedman[6]等利用方向梯度直方圖和線性支持向量機對人臉特征點進行定位,然后利用隨機森林算法對注視區域進行分類。Smith[8]等結合學習和基于模型的方法來估計頭部姿態。Choi[9]等通過卷積神經網絡獲得駕駛員頭部姿態。
傳統的人眼區域特征提取方法主要集中在瞳孔位置檢測上。在以往的實驗中,獲取瞳孔位置需要額外的近紅外光源來產生明亮的瞳孔效果,但是這種系統的性能很容易受到光照變化的影響,特別是在現實世界的駕駛場景中。近幾年Fridman[10]等提出了從瞳孔位置和眼中心來估計三維注視方向的方法。Yang[11]等使用一系列回歸矩陣來訓練虹膜檢測模型。Vicente[12]等通過瞳孔特征建立三維人眼模型,然而在低分辨率圖像中尋找瞳孔的準確位置是一個困難的任務。Fischer[13]等提出了基于外觀的卷積神經網絡算法實習進行實時凝視估計。
如何利用獲得的頭部姿態和人眼特征來確定視線方向也是一個難點。Valenti R[14]等利用眼睛位置的轉換矩陣來調整駕駛員的頭部姿態。在最近的工作中,隨機森林算法用于對駕駛員凝視區域估計,然而在實際駕駛場景中,在駕駛場景和駕駛員姿態多樣性的影響下,該方法估計效果差強人意。
基于上述問題,本文提出了一種新的人眼特征提取及駕駛員注視區域估計的方法。本文考慮了人眼狀態和頭部姿態對駕駛員視線估計的影響。首先,采用遮擋自適應網絡(ODN)作為人臉關鍵點檢測,并采用POSIT算法對駕駛員頭部姿態進行解算并得到駕駛員頭部姿態。基于3D人眼模型的方法由2D關鍵點估計駕駛員視線方向。最后,結合駕駛員頭部姿態及人眼凝視方向特征,利用改進的隨機森林算法對注視區域進行估計。
本文提出的駕駛員注視區域估計方法包括四部分:人臉及人臉關鍵點獲取、頭部姿態解算、人眼視線方向建模及改進的隨機森林算法,總體流程如圖1所示。

圖1 駕駛員注視區域估計方法
源于遮擋自適應網絡[15]和融合全局和局部視覺知識的方法[17]的啟發,本文提出遮擋凈化人臉檢測器。具體來說,將ResNet-18[16]的最后一個殘差單元修改為本文所提出的遮擋凈化網絡框架,以有效地解決人臉遮擋問題。如圖2所示,遮擋凈化網絡框架主要由三個緊密結合的模塊組成:幾何感知模塊、特征恢復模塊和低秩學習模塊。首先,將已有殘差學習塊的特征映射Z分別輸入到幾何感知模塊和提取模塊中,獲取人臉幾何信息并得到清晰的特征表示。然后將這兩個模塊的輸出送入低秩學習模塊,低秩學習模塊通過建模人臉的特征間相關性來恢復缺失的特征。我們利用低秩學習來學習一個共享的結構矩陣,它顯示編碼特征之間的關系,從而可以恢復缺失的特征并去除冗余的特征。

圖2 遮擋凈化網絡結構
本文提出的幾何約束模塊為Bi-CNN結構:CNN stream-A(SA)和CNN stream-B(SB)。在不影響卷積層接受域的前提下,在SC和SD的前后設有1×1的卷積層。為了獲取多尺度特征,在CNN stream-A和CNN stream-B中間分別包含3層3×3的卷積層和3×3的卷積層。在該模塊中,結合多層卷積特征的由粗到細的機制,采用后一個卷積層(細層)與前一層(粗層)的特征向量之間的相互關。捕捉到局部子類之間的細節差異并提高該模塊的識別能力。與幾何約束模塊類似,本文提出的遮擋凈化模塊也是采用Bi-CNN結構,包括CNN Stream-C(SC)和CNN Stream-D(SB)兩個子結構,Sc結合殘余塊避免輸入信號的衰減;SD作為一個遮擋感知結構,自適應地預測每個位置的遮擋概率。SD最后一層卷積層輸出一個單通道的特征映射,通過Sigmoid激活函數歸一化生成概率映射。我們通過element-wise multiplication將概率映射集成到Sc特征映射輸出,給遮擋位置甚至背景位置分配小的權重。最終得到人臉加權特征圖。由于遮擋凈化模塊過濾了遮擋區域的特征和背景中不相關的信息,使得混合特征表示不完整。最后我們采用低秩學習的方法來學習顯式編碼人臉內在特征相關性的共享結構矩陣,從而恢復缺失的特征。
在本文使用的遮擋凈化框架中,幾何感知模塊、特征恢復模塊與兩個主要信息相關,分別是遮擋感知和幾何關系。具體地說,不同的面部成分之間存在著強大的不變的幾何關系,如對稱關系、鄰近關系、位置關系等,這些關系可以被提出的幾何感知模塊捕捉到。另一方面,特征恢復模塊可以濾除背景中的遮擋區域和無關信息。根據幾何特征,一個分量丟失的信息可以通過其他分量來推測。遮擋特征恢復模塊和低秩學習模塊屬于對立與互補的關系,是有益的適用于人臉的特征學習。從上面可以看出三個模塊的結構關系促進OFN解決遮擋問題。通過上述方法的人臉關鍵點檢測結果如圖3所示。其中紅色原點表示遮擋恢復的人臉關鍵點。

圖3 人臉關鍵點檢測結果
在獲得人臉關鍵點坐標后,需要解算駕駛員頭部位姿。本文采用的POSIT算法[18]基于普通的針孔相機成像模型。該算法主要通過非共面空間點與其二維圖像的對應關系來解決目標的位姿問題。在駕駛員頭部解算的任務中,POSIT算法根據駕駛員面部特征點在圖像中的位置,計算頭部旋轉姿態在特定坐標軸上的值。與其他的頭部姿態估計算法相比,POSIT算法簡單并且處理速度迅速,可以達到檢測視頻流的每一幀。POSIT算法的核心計算公式為


圖4 頭部姿態估計結果
如圖5所示,本文采用基于3D人眼模型的方法估計[19]駕駛員視線方向。該模型需兩個主要的假設:其一,眼球是球形的,因此相對于頭部模型眼睛的中心為剛性點[20];第二,眼睛是睜開的,因此所有眼睛輪廓點都可以認為是剛性的。由OFD遮擋凈化人臉檢測器和SDM跟蹤器檢測器[19]可得到包括瞳孔在內的所有眼部關鍵點。對2D人眼圖像中眼睛輪廓點構造三角形網格,并確定瞳孔位于哪一個三角形網格中。然后,計算包含瞳孔的三角形網格內瞳孔的質心坐標。最后,利用二維網格與三維網格的對應關系,在三角形質心坐標系下計算三維瞳孔點。在得到瞳孔的三維位置后,我們可以通過3D眼中心和3D瞳孔所在的直線得到駕駛員注視方向。

圖5 駕駛員注視方向估計
將上述駕駛員頭部姿態特征及人眼注視方向特征融合,采用改進的隨機森林算法用來預測注視區域。為了解決隨機森林難以處理連續值的問題,改進的隨機森林算法在分類前對連續值進行無監督聚類、決策樹的分叉采用完全隨機的原則、并且每棵決策樹的訓練集是通過隨機抽樣得到的。待訓練的隨機森林包含M棵樹并且每棵樹TM來自原始訓練集的不同樣本集進行訓練。視線估計訓練數據集定義為N為訓練樣本子集的數量,xi為特征空間中第i個包含頭部姿態特征及人眼注視方向特征的深度特征向量,yi為三維空間中第i個注視區域。首先,隨機選取k個訓練子集,每個樣本子集獨立完成隨機森林中建樹過程;構造決策樹時隨機選取出nf個特征按照信息增益率去完成分叉工作;每一個樣本子集都按照上述方法建立決策樹及生長;最終所有生成的決策樹一起構成了改進的隨機森林。
為了獲得一個充分有效的圖像數據集,我們建立了如圖6所示的真實駕駛情況寫的駕駛員注視區域的數據集——ND-DB數據集。邀請15個駕駛員(其中9個駕駛員配戴眼鏡)進行實驗。在實驗過程中,駕駛員根據提示注視8個不同的區域。每個區域的凝視時間為20s,數據庫包含15段視頻,100710張照片。在實驗中,通過注視估計來判斷駕駛員的注意力分散狀態。如圖7所示,共有八個凝視區域,第八個凝視區域為“閉眼”。

圖6 數據集部分圖片示例

圖7 真實駕駛條件下凝視區域
對ND-DB數據集進行分類,以測試該方法在實際環境中的作用。本實驗通過宏觀平均精度、微觀平均精度及混淆矩陣三個評價指標[20]對分類性能進行評價。根據提取頭部姿態特征和人眼特征,利用含有150棵決策樹來估計注視區域。最終實驗各區域的宏觀平均精度為93.87%,混淆矩陣的具體結果為如圖8所示。

圖8 駕駛員注視區域混淆矩陣
我們在四個不同的數據集:CAVE、MPⅡGaze、EYEDIAP及ND-DB上對本文提出的方法和其他先進的方法進行比較。如圖9所示柱狀圖顯示了所提方法在以上數據集上的宏觀平均精度從左向右遞增。顯然,這與ND-DB的適用性有一定的關系。同時,根據折線圖,所提方法在每個數據集上獲得最高的宏觀平均精度。總地來說,本文在獲得宏觀平均精度和微觀平均精度方面優于其他方法。

圖9 不同數據集上宏平均精度和微平均精度與其他方法的比較結果
為了分析本方法的實時性,本文統計了以上四種方法的計算用時。實驗中采用的計算機配置是Intel Core i7-9700 CPU,NVIDIA GTX1660。人臉關鍵點檢測使用了Caffe框架實現,頭部姿態解算使用了CVPOSIT()方法。實驗測試了ND-DB數據集上5分鐘的視頻,平均幀率可達12.5FPS,各檢測階段的平均耗時如表1所示。從表中可以看出頭部姿態解算和注視區域估計的耗時較少;人臉關鍵點的獲取耗費較長時間,系統整體運行速度可以達到實時要求。

表1 時間性能分析
本文對真實駕駛場景下估計駕駛員人眼注視區域,并降低設備的硬件要求,提出了一種基于多模態特征融合的駕駛員注視區域估計的方法。首先,應用本文提出的遮擋凈化人臉檢測器獲取人臉及人臉關鍵點。然后采用POSIT算法對駕駛員頭部姿態進行解算并得到駕駛員頭部特征。隨后,基于3D人眼模型的方法由2D關鍵點估計駕駛員視線方向。最后,結合駕駛員頭部姿態及人眼凝視方向特征,利用改進的隨機森林算法對注視區域進行估計,對于真實駕駛世界數據集有較好的性能。實驗結果表明,本文提出的方法真實駕駛場景數據集ND-DB及其他實驗室場景數據集,具備較強的魯棒性和較高的駕駛員注視區域估計準確度。