張志威,程軍圣
(湖南大學機械與運載工程學院,湖南 長沙 410006)
根據2018年中華人民共和國最高人民法院發(fā)布的《第二屆司法大數據專題分析課題之機動車交通事故責任糾紛案件》專題摘要顯示,2012年1月1日至2017年6月30日期間,全國各級人民法院一審審結的交通事故案件達449.1萬余件,而事故誘因排在前三名的分別是無證駕駛、酒后駕駛以及開車玩手機。對于前兩項違規(guī)駕駛行為均可以通過法律和臨檢的方式進行規(guī)范,但對于開車玩手機、交談、取物、進食等違規(guī)操作,因為其具有持續(xù)時間短,不易檢測,難以管控等特點而成為一個難題。因此針對行車過程中的駕駛行為異常檢測并予以警示顯得尤為必要。
目前,對于駕駛員異常行為檢測的方法一般分為三類[1],即通過駕駛員的生理指標(如生理電信號)、駕駛員行為特征以及車輛行為特征來判斷駕駛行為是否規(guī)范。其中,對于駕駛員行為特征的分析可以較為直觀和準確的分析駕駛員的行為狀態(tài)。文獻[2]利用智能手表和健身追蹤器等腕式慣性傳感器跟蹤方向盤的使用情況和輸入,依賴運動特征區(qū)別其他手部運動并推算出方向盤轉角,以此檢測不安全駕駛行為,但這種方法僅限于檢測手部具有動態(tài)活動的異常駕駛行為。文獻[3]建立了一個非侵入式系統,基于視覺采集了手臂位置、眼睛狀態(tài)、面部表情以及面部朝向等特征并利用隨機森林分類器對駕駛行為進行判別,該方法采集多通道信息共同配合完成對駕駛行為的判別,系統復雜度高。文獻[4]通過手機前后攝像頭采集駕駛員和路況信息,設計CarSafe應用APP實現對駕駛員不規(guī)范駕駛行為的檢測,該方法僅用于檢測駕駛員疲勞駕駛、醉酒駕駛和玩手機等不規(guī)范行為。文獻[5]利用FaceLAB采集視覺數據,基于FaceLAB工作機制和人眼屈光度推導出頭部旋轉與眼睛固定點之間的相關性,以此來研究具有多年駕齡的駕駛員和駕駛新手視覺特征之間的差異。文獻[6]提出了基于膚色分割與Ada‐Boost算法相結合的人臉檢測算法,用于人臉跟蹤的尺度自適應KCF目標跟蹤算法以及YCbCr膚色提取與膚色閾值相結合的手部圖像檢測方法,結合臉部特征以及手部特征共同判斷駕駛行為異常狀態(tài)。上述研究中較少從視覺角度對駕駛員肢體特征進行深入分析,但往往視覺角度中駕駛行為特征最為明顯,因此以視覺角度對駕駛員行為特征展開研究。
基于視覺,通過安裝在儀表盤上的攝像頭采集圖像數據。為了能獲取完整的行為特征信息,圖像采集區(qū)域需包括整個駕駛座,那么圖像數據中便存在人的特征、窗外風景以及車內飾等許多冗余信息,并且說話、回頭、取物、玩手機等異常的駕駛行為在行車過程中并不會持續(xù)過長時間,因此會存在異常駕駛行為數據量較少的問題。對于小批量的高維數據分類,線性支持高階張量機(SHTM)[7]能夠有一個好的分類效果,但對于異常駕駛行為檢測中數據存在較多冗余信息的問題,SHTM不能完全滿足分類要求。針對該問題,本文擬采用卷積神經網絡中的經典模型—視覺幾何群19網絡(VGG19)[8]對圖像數據進行特征提取。但由于數據集樣本數較小,對VGG19的訓練效果較差,不能達到較好的特征提取效果。為了解決這一問題引入遷移學習方法[9-10]。因此,基于遷移學習方法,提出VGG19和SHTM相結合的遷移VGG-SHTM算法,并用于駕駛行為異常檢測。為了檢驗遷移VGG-SHTM方法的有效性,邀請十位駕駛人員進行駕駛行為異常檢測實驗,并對比SHTM、VGG19和遷移VGG-SHTM三種方法在實驗中的表現。
在介紹方法之前,根據機器學習以及信號處理相關的領域[11-12]對方法中所涉及到的概念進行定義,相關的符號表示方法,如表1所示。
表1 符號列表Tab.1 List of Symbols
規(guī)定了符號的表示方法,下面來介紹一些基本的概念。
定義1(張量)一個N階張量A∈R I1×I2×…×I N,也稱為是N維或者N模數組,I N是第N模態(tài)的維度。張量是一維向量和二維矩陣的高階泛化形式,向量也可稱為是一階張量,矩陣則是二階張量。
定義2(內積)類似于向量間的內積運算一樣,兩個大小相同的張量A,B∈R I1×I2×…×I N,其內積表示為定義如下:
定義3(外積)兩個張量A∈R I1×I2×…×I N和B∈RI 1'×I2'×…×IN',其外積(張量積)表示為A°B,定義如下:
定義4(n-模積)張量A∈R I1×I2×…×I N和矩陣U∈R J n×I n的n-模積可以被表示為A×n U,結果為R I1×…×I n-1×J n×I n+1×…×I N空間下的張量結果,定義如下:
若有一個張量A∈R I1×I2×…×I N和一系列矩陣U∈R J n×I n,其中J n
定義5(CP分解)對于一個張量A∈R I1×I2×…×I N,它的CP分解(秩一分解)形式可以被表示為:
我們稱式(4)為長度為R的秩一分解或者說是CP分解。如果R=1則A被稱為秩一張量,如果R是組成張量A的秩一張量的最小值,則R被稱為是張量A的秩,即R=rank(A)。另外,對于所有u i(N)和u j(N)都相互正交,其中i≠j,1≤i,j≤R,n=1,2,…,N,則說張量A是可正交分解的。另外,中均采用交替最小二乘算法(ALS)[13]求解CP分解結果。
定義6(范數)張量A∈R I1×I2×…×I N的范數為張量中每個元素的平方和相加,然后再進行開方運算,定義如下:
如果有兩個大小相同的張量A,B∈R I1×I2×…×I N,兩個張量間的距離定義為‖A-B‖F。注意到張量A和B間的距離等于他們向量化表達形式的歐幾里得距離。
2.2.1 支持張量機
在一個含M個樣本的數據集{上采用支持張量機(STM)進行二分類,其中X m為第m個輸入樣本,y m為對應第m個樣本的標簽。對于支持張量機,處理二分類問題實質上是處理N個帶有不等式約束的二次規(guī)劃問題,第n個二次規(guī)劃問題可以用式(6)~式(8)來表示[14]:
式中:w(n)—n個超平面的權重向量;b(n)—偏置;ξm(n)—第m個樣本對應于w(n)的誤差;C—分類誤差和分類間隔間的權衡因子。
2.2.2 線性支持高階張量機
另外,根據張量的n-模積和內積的定義,可以得到下式:
根據式(9)和(10),可將上述STM中提出的第N個二次規(guī)劃問題轉化為下式:
利用拉格朗日乘子法對問題進行優(yōu)化,得到:
式中:αm、βm—拉格朗日算子。
求L(W,b,α,β,ξ)對W,b,ξm的偏導數,得到:
將式(15)~式(17)式帶入式(14),并求得拉格朗日乘子法的對偶問題,如下所示:
式(18)中內積計算并不能很好的獲取數據的結構信息,考慮到CP分解能夠使張量具有更復雜和有意義的表達形式,特別是對于高階的張量,所以將CP分解融入到內積計算中。根據CP分解定力,可以將X i和X j表示為根據內積的定義,X i和X j的內積計算如下:
將式(21)帶入到式(18)中,可以獲得下面的模型:
而對于測試樣本X的預測可以表示為:
至此,我們稱模型(22)~(25)為線性支持高階張量機(SHTM)模型,它可以利用QP求解器或者SMO算法進行優(yōu)化求解。
SHTM在處理冗余信息較多的復雜數據上,其分類精度并不高。文獻[15]對SHTM進行了改進,利用多線性主成分分析(MPCA)[16]對輸入張量進行降維為了去除冗余信息,提高計算速率,但并未在分類準確率上有明顯的提升效果。為了去除高階張量數據中的冗余信息,提高分類精度,利用VGG19進行有效特征提取,并引入遷移學習的方法,解決訓練VGG19過程數據量較小的問題。
2.3.1 VGG19
對比于其他的卷積神經網絡方法,VGG19網絡采用3×3的小卷積核,通過增加卷積核數量在保證與其他卷積神經網絡具有相同感受野的前提下,增加了網絡深度提升了網絡的性能。同時,因為對部分層進行了預初始化,使得VGG19能夠快速的收斂。VGG19的網絡結構模型,如圖1所示??蓪⑵浞譃閮蓚€部分:第一個部分對輸入的圖像樣本進行特征提取,由卷積層、ReLU層和池化層組成;第二部分根據第一部分提取的特征信息對樣本進行分類,由全連接層、ReLU層、dropout層和softmax層組成。不同的層具有不同的功能:
圖1 VGG19網絡結構Fig.1 Network Structure of VGG19
卷積層:提取輸入數據特征并提供位置信息;
ReLU層:增加網絡的非線性關系使得網絡能解決更復雜的問題;
池化層:保留主要特征,減少參數,防止過擬合,另外還可以保持旋轉或平移不變形;
全連接層:整合特征信息,并起到分類器的作用;
dropout層:防止網絡過擬合;
softmax層:歸一化,輸出網絡預測樣本為每一類的概率。
2.3.2 遷移學習
遷移學習是指一種領域中所學習的知識或者是經驗對另一個領域知識的學習或活動的影響。而在深度學習領域中,則指的是將一個已經訓練好的神經網絡節(jié)點參數(權重、偏置)遷移到一個新的網絡模型中,再根據新的任務對網絡模型參數進行調整。遷移學習方法可以加快網絡模型的訓練進程并提升網絡性能。
在對VGG19進行訓練時,異常駕駛行為訓練樣本數不能滿足網絡的訓練要求,這會嚴重影響VGG19中特征提取的效果。引入遷移學習方法對VGG19進行訓練的流程,如圖1所示。利用Ima‐geNet中的大規(guī)模數據集對VGG19網絡進行預訓練,使其具有較強的特征提取能力,再將VGG19中樣本分類的部分替換為新的全連接層、softmax層和分類層構成新的網絡模型,并用駕駛行為異常檢測的數據集對新的網絡模型進行fine-tune(微調)操作。這種做法相比于直接用駕駛行為異常檢測的數據集對VGG19進行訓練,能獲得針對駕駛行為特征提取的能力更強的特征提取網絡層部分。
圖2 遷移學習原理Fig.2 Principle of Transfer Learning
2.3.3 遷移VGG-SHTM
針對SHTM算法在冗余信息較多的樣本上分類精度差的問題,利用VGG19對數據進行特征提取,并引入遷移學習解決VGG19訓練中樣本數較少的問題,提出了遷移VGG-SHTM算法,其流程圖,如圖3所示。
圖3 遷移VGG-SHTM算法流程Fig.3 Algorithm Flow of Transfer VGG-SHTM
從圖3中可以看到遷移VGG-SHTM算法的結構,其步驟如下:
(1)預訓練,利用ImageNet數據庫中的100多萬張圖像對VGG19網絡進行訓練,直至損失函數收斂;
(2)微調,將VGG19網絡后面的全連接層、softmax層和分類層換成針對二分類的網絡層,采用自己的數據集(駕駛行為訓練集)對VGG19網絡參數進行微調;
(3)取微調完成的VGG19網絡全連接層前面的部分(特征提取部分),輸入自己的數據集,獲得樣本數據的特征張量;
(4)將第三步中獲得的特征張量數據輸入SHTM進行訓練。
至此,基于遷移學習訓練好的VGG19網絡中的特征提取部分以及SHTM即為所提出的遷移VGG-SHTM算法。對比于原始的SHTM,遷移VGG-SHTM增加了對樣本的特征提取步驟并進行了優(yōu)化,可以有效避免駕駛行為圖像中繁雜的背景噪聲,獲得更深層次的特征信息,提高準確率;對比原始的VGG19網絡,它不需要大量的樣本數據去訓練網絡就可以獲得一個較好的效果。
實驗中,對于VGG19和遷移VGG-SHTM,均在ImageNet數據庫上進行預訓練,在實驗采集的駕駛行為訓練數據集上進行微調。實驗均采用查全率(實際正例中被分類為正例的比率)進行評價。三種算法均在Matlab上進行編譯,平臺運行版本為Mat‐lab R2018b,并在操作系統為Windows7,GPU為NVIDIA GeForce RTX 2080Ti,運行內存為64G的臺式電腦上運行。
實驗數據通過安裝在副駕駛上的手機攝像頭進行圖像獲取,記錄駕駛員分心時的行為舉止。該數據集總共邀請十位測試員,其中男生7人,女生3人,且每個人的衣著體型等外貌特征均有明顯差異。對于每位實驗者,采集的圖像分為10類,其中包括含目視前方、看左右后視鏡的正常駕駛行為(如圖4)以及玩手機、打電話、交談、后座取物、進食、側向取物及照鏡子的異常駕駛行為,如圖5所示。實驗中將其分為正常駕駛和異常駕駛兩類,訓練集和測試集中每類包含90張,像素為640×480圖片。
圖4 正常駕駛行為Fig.4 Normal Driving Behavior
圖5 異常駕駛行為Fig.5 Abnormal Driving Behavior
用實驗所采集的駕駛員檢測數據集進行微調之前,需要用新的全連接層、softmax層以及分類層替換VGG19網絡結構中的對樣本特征進行分類的部分。為了使新替代層中的學習速度快于遷移的層,應將替代層中的權重學習因子和偏置學習因子設置為較大值,實驗中均設置為20。另外,網絡中初始學習率設置為10-4。在SHTM中,現在沒有一種確定的方法求解CP分解的秩,利用駕駛行為檢測數據集,通過改變R的值對SHTM性能做了一個遍歷實驗,最終平衡分類精度和分類時間,取R=17。
為了更準確的對比SHTM、VGG19和遷移VGG-SHTM三種方法對于駕駛行為異常檢測的效果,總共進行10次實驗,每次實驗分別在不同的訓練∕測試集對上進行,依次編為數據集(1~10)。每次實驗訓練集和測試集樣本數量均為180,訓練∕測試集中正常和異常類樣本數為90。按照3.3設置模型參數,進行實驗,所得實驗結果,如表2所示。其中遷移VGG-SHTM方法的實驗結果用黑體加粗。實驗結果以表2的形式給出,為了更直觀的顯示實驗結果,繪制10次實驗中三種方法的駕駛行為異常分類查全率曲線,如圖6所示。根據表2中的結果顯示,在各次實驗中,SHTM最低的分類查全率為80.00%,最高的分類查全率為88.33%,平均分類查全率為84.06%;VGG19最低的分類查全率為78.33%,最高分類查全率為92.22%,平均分類查全率為87.28%;遷移VGGSHTM最低的分類查全率為88.33%,最高的分類查全率為93.89%,平均分類查全率為91.39%。另外,三條曲線中黃色帶圓圈標記的曲線代表遷移VGG-SHTM分類查全率,基本處在最上方,如圖6所示。藍色帶菱形標記的曲線代表VGG19的分類查全率,基本處在中間的位置。最下面位置的紅色帶五角星標記的曲線表示的是SHTM的分類查全率。因此綜合表2和圖6中的實驗結果,證明遷移VGG-SHTM在10次實驗中的分類查全率相較SHTM和VGG19是最高的,其分類效果表現更好。
表2 駕駛行為異常檢測結果Tab.2 Test Results of Abnormal Driving Behavior
圖6 駕駛行為異常平均分類查全率Fig.6 Average Classification Recall Rate of Abnormal Driving Behavior
另外,為了對算法穩(wěn)定性進行分析,分別計算在整個實驗過程中三種分類方法的極差值和方差值結果,如表3所示。其中遷移VGG-SHTM的計算結果用加黑粗體表示。根據表3中的結果顯示,三種方法中,VGG19的分類查全率方差為1.94%,排在第一,分類查全率極差為13.89%,排在第一;SHTM的分類查全率方差為0.52%,排在第二,分類查全率極差為8.33%,排在第二;遷移VGG-SHTM的分類查全率方差為0.27%,排在第三,分類查全率極差為5.56%,排在第三。根據三種方法的極差值和方差值結果顯示,遷移VGG-SHTM在駕駛行為檢測數據集上的分類結果最為穩(wěn)定,而VGG19的分類結果跳動幅度最大。
表3 三種分類方法的差值結果Tab.3 Difference Results of Three Classification Methods
從實驗結果可以看出,三種方法中SHTM的最高分類查全率和平均分類查全率是最低的,最低分類查全率基本處于最差的水平。遷移VGG-SHTM的最高分類查全率、最低分類查全率和平均分類查全率最高。而VGG19的最高分類查全率和平均分類查全率處于中等水平,最低分類查全率處于最差水平。并且遷移VGG-SHTM的分類查全率方差值和極差值最小,SHTM其次,而VGG19的分類性能最不穩(wěn)定,具有最大分類查全率極差值和最大分類查全率方差值。表明對于駕駛行為異常分類,SHTM的分類性能最差,分類效果比較穩(wěn)定;VGG19的分類性能其次,但是其分類準確率跳動性大;遷移VGG-SHTM的分類性能最好,且穩(wěn)定性最高。實驗證明,遷移VGG-SHTM方法能夠有效的進行異常駕駛行為檢測。
基于遷移學習方法,提出VGG19和SHTM相結合的遷移VGG-SHTM算法,并將其用于駕駛行為異常檢測中。針對駕駛行為檢測數據集,進行駕駛行為異常檢測實驗,通過對比SHTM、VGG19和遷移VGG-SHTM在數據集上的分類效果,得出以下結論:(1)所提出的遷移VGG-SHTM算法能夠有效地克服冗余信息較多的圖像分類問題,對比SHTM算法,分類精度得到了提升;(2)將遷移VGG-SHTM應用于駕駛行為異常檢測中,獲得了很好的效果,證明了對于小批量的駕駛行為檢測數據集,該方法具有良好的分類性能。