吳 昊, 平 鵬, 孫立博, 秦文虎
(東南大學(xué) 儀器科學(xué)與工程學(xué)院, 江蘇 南京 210096)
隨著我國的機(jī)動(dòng)車保有量逐年攀升,交通事故也頻繁發(fā)生.其中,由于駕駛員人為過失導(dǎo)致的交通事占90%以上[1].危險(xiǎn)駕駛、疲勞駕駛等一系列不規(guī)范駕駛行為對駕駛行為實(shí)時(shí)識別、分析和監(jiān)控提出了新的要求.計(jì)算機(jī)視覺作為最接近駕駛員感知方式的技術(shù)之一,以其非接觸和高性價(jià)比的特質(zhì)成為駕駛行為識別的首選[2].
對駕駛行為識別和分析的傳統(tǒng)視覺算法大致可分為5個(gè)步驟:特征感知、圖像預(yù)處理、特征提取、特征篩選和推理算法[3-5].由于傳統(tǒng)視覺算法將特征提取和分類器算法分開設(shè)計(jì),在應(yīng)用的時(shí)候再結(jié)合在一起,這就要求研究者根據(jù)數(shù)據(jù)特點(diǎn)和先驗(yàn)知識自行設(shè)計(jì)前4個(gè)步驟,但手工設(shè)計(jì)需要大量的嘗試和經(jīng)驗(yàn)積累,甚至需要一點(diǎn)點(diǎn)運(yùn)氣[6-8].黃思博[9]利用計(jì)算機(jī)視覺的方法,提取了駕駛員身體姿態(tài)的特征,建立了駕駛員“頭部-前臂”模型,并對該模型進(jìn)行運(yùn)動(dòng)跟蹤以預(yù)測駕駛員的運(yùn)動(dòng)狀態(tài),最后將運(yùn)動(dòng)狀態(tài)轉(zhuǎn)化為轉(zhuǎn)角參數(shù)特征向量放入樸素貝葉斯分類器中完成駕駛行為的識別.徐翠[10]綜合了多種基于計(jì)算機(jī)視覺的駕駛員疲勞檢測的方法,首先對駕駛員眼睛和嘴巴的狀態(tài)檢測問題進(jìn)行了探討,提出了一種基于統(tǒng)計(jì)學(xué)習(xí)理論和直方圖距離的檢測方法,然后將提取得到的眼/嘴區(qū)域特征向量放入Ada-Boost分類器進(jìn)行訓(xùn)練.
深度學(xué)習(xí)的興起為計(jì)算機(jī)視覺提供了新的發(fā)展方向.深度學(xué)習(xí)方法能夠自動(dòng)地學(xué)習(xí)到隱含在圖像樣本中更加本質(zhì)的特征,不需要儲(chǔ)備先驗(yàn)知識,通過不斷的迭代學(xué)習(xí)訓(xùn)練構(gòu)建學(xué)習(xí)模型,再通過學(xué)習(xí)模型對新數(shù)據(jù)做出特征判斷或者屬性歸類,這種方法有更強(qiáng)的自適應(yīng)性和泛化能力[11-13].
在深度學(xué)習(xí)的模型中,循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)常用于處理序列數(shù)據(jù).RNN的隱藏層節(jié)點(diǎn)之間是相互連接的,會(huì)對之前序列的信息進(jìn)行記憶并應(yīng)用于當(dāng)前輸出的計(jì)算.但隨著時(shí)間序列的增加,RNN的前后信息關(guān)聯(lián)度會(huì)逐漸減小,存在梯度消失現(xiàn)象.為此,S. HOCHREITER等[14]提出了長短期記憶網(wǎng)絡(luò)(long short-term memory network,LSTM)來解決長期依賴問題.在此基礎(chǔ)上,J. DONAHUE等[15]將卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)與LSTM結(jié)合,提出了長效循環(huán)卷積網(wǎng)絡(luò)(long-term recurrent convolution network,LRCN),CNN用于提取圖像特征,LSTM用于分析特征序列在時(shí)間維度上的關(guān)聯(lián)性.
文中提出一種基于改進(jìn)LRCN的駕駛行為識別模型.將CNN與門控遞歸單元(gated recurrent unit,GRU)遞歸網(wǎng)絡(luò)相結(jié)合,CNN主要用于提取駕駛行為圖像的高層特征;GRU是LSTM的一種變體,主要用于分析圖像序列之間的關(guān)聯(lián)性.此外,該模型中還加入了一些圖像預(yù)處理和優(yōu)化策略以提高識別精度.
試驗(yàn)的整體流程如圖1所示.
圖1 試驗(yàn)整體流程圖
攝像頭采集的原始視頻數(shù)據(jù)經(jīng)過一系列的預(yù)處理算法后分為訓(xùn)練集、驗(yàn)證集和測試集,訓(xùn)練集用于訓(xùn)練和更新模型參數(shù),測試集則用來預(yù)測訓(xùn)練好的模型的識別精度.
由于視頻樣本之間的差異和計(jì)算能力的限制,從攝像頭采集的原始視頻數(shù)據(jù)不能夠直接輸入神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練,需要統(tǒng)一化的預(yù)處理,具體的處理流程如圖2所示.
圖2 預(yù)處理算法流程圖
1.2.1 高斯圖像金字塔降采樣
出于對計(jì)算效率的考慮,需要將樣本的全部圖像做基于高斯圖像金字塔的降采樣處理,計(jì)算式為
(1)
式中:w(m,n)為高斯卷積核的權(quán)重;gl-1和gl分別為前一層和當(dāng)前層的像素值.
尺度量綱一化步驟如下: ① 輸入圖像尺寸為960×576,2次高斯圖像金字塔下采樣操作,輸出圖像尺寸為240×144; ② 在寬度方向上提取感興趣區(qū)域(region of interest,ROI),輸出圖像尺寸為144×144; ③ 再一次高斯圖像金字塔下采樣操作,輸出圖像尺寸為72×72; ④ 在時(shí)間維度上做圖像幀的平均采樣,每個(gè)樣本固定幀數(shù)為30幀,幀率為10幀·s-1.
1.2.2 高斯混合模型
前期處理得到了統(tǒng)一化尺寸和幀數(shù)圖像序列樣本.為了進(jìn)一步提高CNN提取圖像特征的收斂速度,在預(yù)處理階段還加入了高斯混合模型(Gaussian mixture model,GMM)用于預(yù)提取特征.單高斯概率密度分布函數(shù)為
(2)
式中θ=(μ,σ2).而高斯混合模型是K個(gè)單高斯模型(GSM)混合而成,即分為K個(gè)類,形式為
(3)
式中αk為樣本集合中k類被選中的概率.對于每個(gè)GSM生成的N個(gè)數(shù)據(jù),αk計(jì)算式為
(4)
式中γjk為數(shù)據(jù)j由第k個(gè)GSM生成的概率,由貝葉斯估計(jì)和全概率公式推導(dǎo)得出,計(jì)算式為
(5)
通過迭代直至收斂,完成聚類.
高斯混合模型特征預(yù)提取的實(shí)例如圖3所示.
圖3 高斯混合模型特征預(yù)提取實(shí)例圖
圖3a為原始圖像,圖3b為高斯混合模型聚類的掩模圖像加上中值濾波的結(jié)果.可以看出該模型可以較好地預(yù)提取駕駛行為特征,排除車內(nèi)外環(huán)境因素所帶來的干擾.
文中所采用的完整神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)見圖4.
圖4 網(wǎng)絡(luò)模型結(jié)構(gòu)
1.3.1 卷積神經(jīng)網(wǎng)絡(luò)(CNN)
卷積神經(jīng)網(wǎng)絡(luò)是一系列不同功能的網(wǎng)絡(luò)層交替出現(xiàn)的層級結(jié)構(gòu),主要包括卷積層、池化(pooling)層和全連接層.文中經(jīng)反復(fù)調(diào)參后確定的CNN部分結(jié)構(gòu)如圖5所示.
圖5 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
圖5中包括2個(gè)交替出現(xiàn)的卷積層和最大池化層,即對應(yīng)圖4中的N=2.對于CNN中的所有層,卷積核和池化核的大小均為(3×3)和(2×2),池化層的滑動(dòng)步長設(shè)置為2,避免了過度池化帶來的信息損失.由于高層的特征會(huì)隨著抽象程度的增加而增加,故卷積核的數(shù)目應(yīng)當(dāng)隨著層數(shù)的增加而設(shè)置更多.
卷積神經(jīng)網(wǎng)絡(luò)的輸入為30幀的灰度圖像序列,尺寸為(72×72),故輸入數(shù)據(jù)的尺寸為(30×1×72×72).
C1層有16個(gè)卷積核,每個(gè)卷積核與輸入圖像在空間維度上是局部連接的,當(dāng)卷積核在輸入圖像上滑動(dòng)并計(jì)算內(nèi)積,便完成了卷積,生成一個(gè)2維的激活圖(activation map),激活圖反映了該卷積核在不同空間位置處的特征反應(yīng).此處使用零填充(zero-padding)來保持?jǐn)?shù)據(jù)體的空間尺度,故C1層輸出數(shù)據(jù)尺寸為(30×16×72×72).
在連續(xù)的卷積層之間周期性地插入池化層(匯聚層)可以逐漸降低數(shù)據(jù)的空間尺寸,減少網(wǎng)絡(luò)參數(shù).這樣一方面可以控制計(jì)算所耗費(fèi)的資源,另一方面還可以有效地抑制過擬合.P1層就是對C1層的輸出做最大池化,在(2×2)的滑動(dòng)區(qū)域內(nèi)取最大值作為輸出,以減少維度抑制過擬合.故P1層的輸出數(shù)據(jù)尺寸為(30×16×36×36).
同理,C2層有32個(gè)卷積核,P2層為最大池化層,CNN最終輸出的數(shù)據(jù)尺寸為(30×32×18×18).
此外,所有的卷積層后都跟有一層ReLU激活函數(shù),所有的池化層后都有一層概率為50%的隨機(jī)失活層.
1.3.2 門控遞歸單元(GRU)
門控遞歸單元(GRU)是由K. CHO等[16]提出的一種LSTM變體模型,標(biāo)準(zhǔn)LSTM模塊與GRU模塊分別如圖6,7所示.該模型將遺忘門和輸入門合并成一個(gè)更新門,并且將胞元狀態(tài)和隱藏層狀態(tài)合二為一,得到一個(gè)更為簡化的LSTM模型.
圖6 標(biāo)準(zhǔn)LSTM模塊
圖7 GRU模塊
GRU各個(gè)門結(jié)構(gòu)和狀態(tài)的計(jì)算公式如下:
rt=σ(Wr·[ht-1,xt]),
(6)
zt=σ(Wz·[ht-1,xt]),
(7)
(8)
(9)
和標(biāo)準(zhǔn)LSTM模型相比,GRU從結(jié)構(gòu)上來看少了一個(gè)門結(jié)構(gòu),從而減少了參數(shù)和矩陣運(yùn)算的數(shù)量,在計(jì)算效率和收斂速度上更勝一籌.
CNN的輸出數(shù)據(jù)經(jīng)過尺寸變換后輸入GRU遞歸網(wǎng)絡(luò),圖像序列中每一幀填充一個(gè)GRU模塊單元,通過遞歸運(yùn)算將各幀之間的信息融合,提取時(shí)間維度上的關(guān)聯(lián)度特征.
整個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)情況見表1.
表1 網(wǎng)絡(luò)模型結(jié)構(gòu)與參數(shù)
采用深度學(xué)習(xí)架構(gòu)Keras搭建試驗(yàn)運(yùn)行環(huán)境,并配置NVIDIA的CUDA環(huán)境進(jìn)行GPU并行加速計(jì)算.具體的試驗(yàn)環(huán)境參數(shù)如下:CPU,Intel i5-6500 3.2 GHz;GPU,Nvidia GTX 960,4 GB顯存;操作系統(tǒng),Win10 64位;編程語言,Python 2.7.13;加速環(huán)境,CUDA8.0,cuDNN5.1.10;深度學(xué)習(xí)架構(gòu),Keras2.0.4(Theano后端).
文中使用自行搭建的車載試驗(yàn)平臺采集的視頻數(shù)據(jù)制作駕駛行為數(shù)據(jù)集,由不同駕齡和性別的15個(gè)測試對象參與試驗(yàn),每人重復(fù)完成6類駕駛行為,共產(chǎn)生450個(gè)圖像序列樣本,其中包括150個(gè)夜間紅外成像圖像序列樣本,圖8給出了若干數(shù)據(jù)集中的樣本實(shí)例.
圖8 駕駛行為數(shù)據(jù)集
數(shù)據(jù)集中每個(gè)圖像序列樣本包含30幀圖像,幀率為10幀·s-1,圖像尺寸為(72×72),6類駕駛行為分別為左轉(zhuǎn)彎、右轉(zhuǎn)彎、直行、換擋、倒車和異常(突發(fā)身體不適或疲勞等,主要表現(xiàn)為雙手離開方向盤,頭部低垂,長時(shí)間無進(jìn)一步動(dòng)作等).
所有的樣本在輸入神經(jīng)網(wǎng)絡(luò)模型前都會(huì)先經(jīng)過預(yù)處理過程,通過高斯混合模型預(yù)提取特征,濾波后轉(zhuǎn)化為單通道的灰度圖像.每個(gè)樣本可以用一個(gè)尺寸為(30×1×72×72)的矩陣表示.數(shù)據(jù)集的各項(xiàng)參數(shù)如下:測試對象,15人;駕駛行為類別,6類;樣本量,450個(gè)(白天300個(gè),夜間150個(gè));樣本尺寸,30×1×72×72.
2.3.1 試驗(yàn)1(環(huán)境適應(yīng)性試驗(yàn))
本試驗(yàn)使用僅白天樣本和全樣本分別訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,并用訓(xùn)練好的模型來預(yù)測測試集,以測試該模型的環(huán)境適應(yīng)性.
環(huán)境適應(yīng)性試驗(yàn)的訓(xùn)練集、驗(yàn)證集和測試集按照固定比例隨機(jī)抽取,5次交叉驗(yàn)證的結(jié)果見表2.
表2 環(huán)境適應(yīng)性試驗(yàn)識別結(jié)果
從表2可見,該模型對僅白天樣本和全樣本訓(xùn)練都有很高的識別精度,由于夜間樣本為主動(dòng)紅外成像樣本,輕微光強(qiáng)擾動(dòng)對成像質(zhì)量的干擾較大,導(dǎo)致全樣本的識別精度略低.其中錯(cuò)誤識別主要出現(xiàn)在幾個(gè)動(dòng)作幅度較小,行為邏輯相似的分類之間.總體而言,該模型對于場景變換的干擾有很好的抑制能力,具有較高的魯棒性.圖9,10給出了訓(xùn)練過程中的精度變化情況.
圖9 僅白天樣本模型精度變化
圖10 全樣本模型精度變化
由圖9,10可見,在整個(gè)訓(xùn)練過程中,訓(xùn)練集精度一直處于上升的趨勢,僅白天樣本訓(xùn)練模型的驗(yàn)證集由于本身樣本量較少,在迭代中期波動(dòng)較大,且與訓(xùn)練集精度相差較大,這說明存在一定的過擬合,但在迭代的后期有一定的修正,當(dāng)?shù)?0次后基本趨于穩(wěn)定;全樣本訓(xùn)練中期的過擬合現(xiàn)象有了一定程度的改善,波動(dòng)的區(qū)間也相應(yīng)有所縮短,整個(gè)模型的收斂速度也有所加快,當(dāng)?shù)螖?shù)大于50時(shí)基本已經(jīng)完成收斂.
2.3.2 試驗(yàn)2(預(yù)處理算法試驗(yàn))
本次試驗(yàn)中對數(shù)據(jù)集僅做尺度量綱一化處理,不做GMM特征預(yù)提取,其他試驗(yàn)條件均與試驗(yàn)1中全樣本試驗(yàn)相同,以測試高斯混合模型對訓(xùn)練收斂的影響.5次交叉驗(yàn)證的識別精度為15.0%,圖11,12分別給出了損失值和精度變化曲線.
圖11 試驗(yàn)2損失值變化
圖12 試驗(yàn)2精度變化
由圖11,12可見,損失值在迭代10次之后不再下降,保持在1.8左右.精度在16.7%左右波動(dòng).整個(gè)模型完全沒有收斂,識別精度近似于隨機(jī)預(yù)測(約1/6).這說明預(yù)處理算法中的高斯混合模型可以有效地過濾掉大部分的無關(guān)信息,駕駛行為相關(guān)的關(guān)鍵圖像信息不會(huì)被無關(guān)信息淹沒,使得模型能夠得以收斂.
2.3.3 試驗(yàn)3(模型對比試驗(yàn))
在本次試驗(yàn)中,將模型中循環(huán)遞歸網(wǎng)絡(luò)部分由GRU替換為LSTM,其他試驗(yàn)條件均與試驗(yàn)1中全樣本試驗(yàn)相同,以分析改進(jìn)LRCN模型與傳統(tǒng)LRCN模型之間的差異.5次交叉驗(yàn)證的識別精度為89.6%,圖13給出了試驗(yàn)3的精度變化曲線.
圖13 傳統(tǒng)LRCN模型精度變化
由圖13可見,與試驗(yàn)1的結(jié)果相比,該模型的識別精度較低,前中期的波動(dòng)更為嚴(yán)重,收斂速度也較慢,需要迭代100次后才能較好地完成收斂.
綜合以上試驗(yàn)可以看出,相比于傳統(tǒng)的LRCN模型,改進(jìn)的LRCN模型加上合理的圖像與處理算法在當(dāng)前的駕駛行為識別應(yīng)用場景下,有更高的精度和更快的收斂速度,且應(yīng)對場景變化的魯棒性高.
1) 圖像預(yù)處理算法和優(yōu)化策略保證了模型的收斂,提高了模型對不同場景、不同測試對象識別的魯棒性.
2) 與傳統(tǒng)的基于計(jì)算機(jī)視覺的駕駛行為分析方法相比,基于改進(jìn)LRCN模型的駕駛行為識別方法不需要基于先驗(yàn)知識建立人體姿態(tài)模型,可以自適應(yīng)地學(xué)習(xí)姿態(tài)特征,完成收斂.
3) 在自建數(shù)據(jù)集上新算法平均識別精度達(dá)94.3%,比傳統(tǒng)LRCN模型高4.7%,且模型收斂的速度更快,泛化能力更強(qiáng).
4) 文中僅在小樣本量的數(shù)據(jù)集上測試模型的性能,如果增加數(shù)據(jù)集的體量和行為的類別,模型將會(huì)有更好的泛化能力.未來,將會(huì)研究如何將該模型進(jìn)一步優(yōu)化以期能夠?qū)崿F(xiàn)實(shí)時(shí)駕駛行為識別.
參考文獻(xiàn)(References)
[ 1 ] ZHAO H, YIN Z Y, XIANG H Y, et al. Preliminary study on alterations of altitude road traffic in China from 2006 to 2013[J]. Plos One, 2017, 12(2):e0171090.
[ 2 ] SAITO Y, ITOH M, INAGAKI T. Driver assistance system with a dual control scheme: effectiveness of identifying driver drowsiness and preventing lane departure accidents[J]. IEEE Transactions on Human-Machine Systems, 2016, 46(5):660-671.
[ 3 ] BI?AKSIZ P, ?ZKAN T. Developing the impulsive driver behavior scale [J]. Transportation Research Part F Traffic Psychology & Behaviour, 2016, 43:339-356.
[ 4 ] PRECHT L, KEINATH A, KREMS J F. Effects of dri-ving anger on driver behavior-results from naturalistic driving data[J]. Transportation Research Part F Traffic Psychology & Behaviour, 2017, 45:75-92.
[ 5 ] CORDAZZO S T D, SCIALFA C T, ROSS R J. Mo-dernization of the driver behaviour questionnaire[J]. Accident Analysis & Prevention, 2016, 87:83-91.
[ 6 ] LIAO H M, DING S F, WANG M M, et al. An overview on rough neural networks[J]. Neural Computing & Applications, 2016, 27(7):1805-1816.
[ 7 ] PéREZ D, BEVILACQUA R. Neural network based calibration of atmospheric density models[J]. Acta Astronautica, 2015, 110:58-76.
[ 8 ] 張瑞鋒. 基于自然駕駛數(shù)據(jù)及主被動(dòng)試驗(yàn)方法的人車安全行為研究[D]. 長沙:湖南大學(xué), 2016.
[ 9 ] 黃思博. 基于計(jì)算機(jī)視覺的異常駕駛行為檢測方法研究[D]. 廣州:華南理工大學(xué), 2011.
[10] 徐翠. 基于計(jì)算機(jī)視覺的汽車安全輔助駕駛?cè)舾申P(guān)鍵問題研究[D]. 合肥:中國科學(xué)技術(shù)大學(xué), 2009.
[11] DEDINEC A, FILIPOSKA S, DEDINEC A, et al. Deep belief network based electricity load forecasting: an
analysis of Macedonian case[J]. Energy, 2016, 115:1688-1700.
[12] 鄭胤, 陳權(quán)崎, 章毓晉. 深度學(xué)習(xí)及其在目標(biāo)和行為識別中的新進(jìn)展[J]. 中國圖象圖形學(xué)報(bào), 2014, 19(2):175-184.
ZHENG Y,CHEN Q Q,ZHANG Y J. Deep learning and its new progress in object and behavior recognition[J]. Journal of Image and Graphics, 2014, 19(2):175-184.(in Chinese)
[13] 蔡英鳳, 王海, 陳龍,等. 采用視覺顯著性和深ROHD度卷積網(wǎng)絡(luò)的魯棒視覺車輛識別算法[J]. 江蘇大學(xué)學(xué)報(bào)(自然科學(xué)版), 2015, 36(3):331-336.
CAI Y F, WANG H, CHEN L, et al. Robust vehicle recognition algorithm using visual saliency and deep convolutional neural networks[J]. Journal of Jiangsu University (Natural Science Edition), 2015, 36(3):331-336.(in Chinese)
[14] HOCHREITER S, SCHMIDHUBER J. Long short term memory[J]. Neural Computation, 2013, 9(8):1735-1780.
[15] DONAHUE J, HENDRICKS L A, GUADARRAMA S, et al. Long-term recurrent convolutional networks for vi-sual recognition and description[C]∥Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway:IEEE Computer Society, 2015: 2625-2634.
[16] CHO K, VAN MERRIЁNBOER B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[C]∥Procee-dings of the 2014 Conference on Empirical Methods in Natural Language Processing. [S.l.]:Association for Computational Linguistics, 2014: 1724-1734.