王忠民,張 瑤,衡 霞
WANG Zhongmin,ZHANG Yao,HENG Xia
西安郵電大學(xué) 計算機學(xué)院,西安 710121
School of Computer Sience&Technology,Xi’an University of Posts&Telecommunications,Xi’an 710121,China
隨著社會經(jīng)濟的進步和道路交通的發(fā)展,駕車已經(jīng)成為大眾出行的首選方式,伴隨而至的交通安全問題也隨之成為社會關(guān)注的焦點。已有研究表明不良駕駛行為是導(dǎo)致交通事故的一個主要原因,隨意變道、掉頭行駛等駕駛行為是交通事故的重要誘因;超速行駛、緊急制動等駕駛行為也增加了不良事故發(fā)生的可能性。實時監(jiān)測駕駛者行為并予以警示,能夠及時警示不良駕駛行為并遏制交通事故的發(fā)生,對構(gòu)建健康安全的交通環(huán)境有重要意義。
近年來,利用移動終端進行駕駛行為識別方面已有較多的研究,大多使用移動設(shè)備中內(nèi)置的多種傳感器實時采集行駛數(shù)據(jù),構(gòu)建識別模型達到預(yù)警效果。文獻[1]使用定制感知平臺,并接入汽車控制系統(tǒng),結(jié)合加速度計、GPS采集的行車信息,檢測包括左右轉(zhuǎn)彎、剎車、加速等駕駛行為。由于專用的感知平臺難以普及,也無法進行數(shù)據(jù)統(tǒng)計進行進一步處理,難以進行推廣。文獻[2]針對安全駕駛和惡意駕駛兩種駕車風(fēng)格,使用動態(tài)時間扭曲和傳感器融合來檢測、識別和記錄車輛行為。通過傳感器的相關(guān)軸內(nèi)數(shù)據(jù)融合到單個分類器,利用歐拉表示與標準模板比較進行行為分類。但在實際應(yīng)用中因駕駛行為沒有固定模式,難以使用單一的模板作為標準識別駕駛行為。文獻[3]提出利用手機內(nèi)置的加速度傳感器采集到的行駛數(shù)據(jù),計算一段時間里水平加速度最大值和最小值之間的差值來判斷車輛在水平方向上是否有搖擺直行或轉(zhuǎn)彎幅度大等危險行為。考慮手機放置位置的不確定性,極大程度地降低了行為識別的自適應(yīng)性。為了解決這個問題,文獻[4]提出了加速度計重定向的方法,將加速度數(shù)據(jù)從設(shè)備坐標系轉(zhuǎn)換至行車坐標系,但與手動固定設(shè)備姿態(tài)的檢測方法相比,識別率還有待提高。為了增加識別的準確性,文獻[5]通過對多個傳感器數(shù)據(jù)進行降噪處理,再對數(shù)據(jù)進行區(qū)間劃分形成候選行為事件,并利用基于分類規(guī)則的機器學(xué)習(xí)方法對候選行為時間提取的行為特征進行學(xué)習(xí)分類。但多個傳感器數(shù)據(jù)增加了時間復(fù)雜度,必將影響實際應(yīng)用的實時性。文獻[6]通過判定一段時長內(nèi)的車間距和車道線距離的方差變化確定方差模型輸出,并作為貝葉斯模型輸入,綜合方差模型輸出與貝葉斯網(wǎng)絡(luò)預(yù)測結(jié)果,最終判定當(dāng)前駕駛行為是否存在危險。該方法在降低時間復(fù)雜度的情況下,識別效率還有待進一步提高。
綜合以上因素,為了同時解決手機方位的自適應(yīng)并提高駕駛行為的辨識效能,提出使用智能手機內(nèi)置傳感器采集的實時數(shù)據(jù),通過稀疏濾波直接優(yōu)化樣本特征映射的稀疏性,從而改進卷積神經(jīng)網(wǎng)絡(luò)的首層輸入,以更好的特征表達來識別行為。實驗表明,在使用稀疏濾波-神經(jīng)網(wǎng)絡(luò)的組合模型后,駕駛行為的識別效果更加優(yōu)異。
基于稀疏濾波-卷積神經(jīng)網(wǎng)絡(luò)識別駕駛行為模型由數(shù)據(jù)預(yù)處理優(yōu)化特征、調(diào)整網(wǎng)絡(luò)標簽構(gòu)建識別模型、輸入數(shù)據(jù)進行行為識別等三部分組成,該方法的結(jié)構(gòu)圖如圖1所示。
利用智能手機內(nèi)置的加速度傳感器和陀螺儀,采集駕駛者駕駛過程中的原始加速度信號和角度變化信息。將原始數(shù)據(jù)所處的手機坐標系利用歐拉角轉(zhuǎn)換,投影至與手機方向無關(guān)的統(tǒng)一的大地坐標系中,以避免手機放置方位對分類器的影響。利用合加速度,提取加速度信息,經(jīng)校準及線性變換角速度ω1,ω2,獲取角速度信息。數(shù)據(jù)初始化完畢,稀疏濾波訓(xùn)練數(shù)據(jù),獲得的權(quán)值矩陣作為神經(jīng)網(wǎng)絡(luò)的輸入。訓(xùn)練出識別模型的網(wǎng)絡(luò)映射,用五類標記數(shù)據(jù)對網(wǎng)絡(luò)進行微調(diào),提高識別駕駛行為性能。
圖1 稀疏濾波-卷積神經(jīng)網(wǎng)絡(luò)模型
稀疏濾波(Sparse Filtering)是Ngiam等人[7]提出的一種優(yōu)化特征分布的無監(jiān)督特征學(xué)習(xí)算法。在眾多的特征匹配或特征設(shè)計任務(wù)中,由于需要大量的超參數(shù)調(diào)諧,致使當(dāng)前的許多特征學(xué)習(xí)算法難以使用。例如稀疏受限波爾茲曼機(Sparse Restricted Boltzmann Machine,SRBM)具有高達6個的超參數(shù)和難以控制的目標函數(shù),才可以使得調(diào)諧和監(jiān)視收斂。
2.1.1 無監(jiān)督特征學(xué)習(xí)
傳統(tǒng)特征學(xué)習(xí)算法很大程度上試圖構(gòu)建真實數(shù)據(jù)分布的近似模型,如去噪自動編碼器(Denoising Autoencoder,DA)、受限波爾茲曼機(Restricted Boltzmann Machine,RBM)、獨立主成分分析(Independent Component Analysis,ICA)等,雖然在一些任務(wù)中有良好的特征表示,但因需要調(diào)整各種超參數(shù)而難以實現(xiàn)。本文旨在構(gòu)建一個簡單有效的特征學(xué)習(xí)算法,簡化調(diào)整范圍。因此,僅關(guān)注特征的一些關(guān)鍵屬性:
(1)樣本內(nèi)稀疏(Population Sparsity):用少量特征描述樣本。即特征矩陣的每一列(一個樣本)中只有少數(shù)非零項,其他值都為零。
(2)樣本間稀疏(Lifetime Sparsity):特征存在于少數(shù)樣本內(nèi)。即在特征矩陣中,每一行(一種特征)應(yīng)該只有少量的非零元素。
(3)分散稀疏(High Dispersal):特征分布較為均勻。即每種特征具有相似的統(tǒng)計特性。
這些特征分布性質(zhì)在以往的神經(jīng)網(wǎng)絡(luò)科學(xué)文獻中已被探討[8-12],例如SRBM[8]將特征的預(yù)期激活約束作為目標值;ICA[12-13]規(guī)范了每個特征的約束,并進一步優(yōu)化其學(xué)習(xí)特征的樣本間稀疏性;k均值[14]可以被看作是強制執(zhí)行樣本間稀疏,其中每個聚類質(zhì)心僅對應(yīng)一個特征,即在每個樣本中僅有一個特征被激活。由以往的研究注意到,神經(jīng)代碼的表征傳統(tǒng)上被視為特征分布的屬性,而不是作為數(shù)據(jù)分布建模的方式。
圖2 稀疏濾波處理示意圖
2.1.2 稀疏濾波算法模型
以上討論的特征學(xué)習(xí)方法都可以被視為生成特定的特征分布,而稀疏濾波采用特征分布導(dǎo)向的方法,深化特征分布的理想性能。為了清楚起見,假設(shè)樣本矩陣為X∈RN×M,其中N為樣本向量維數(shù),M 為樣本數(shù)量,W 為待求權(quán)值矩陣,Nf為特征向量維數(shù),則X的特征矩陣即整個網(wǎng)絡(luò)的輸出就可以表示為:
根據(jù)稀疏濾波屬性,首先對每一行進行L2歸一化,即對A矩陣進行行歸一得:
然后對每一列進行L2歸一化,即對RS矩陣進行列歸一化得:
以此來保證每個樣本的特征具有稀疏性,得到最終的目標函數(shù):
為了實現(xiàn)稀疏濾波,使用了由兩層組成的深度稀疏濾波器,層1為大小16×16的數(shù)據(jù)塊進行訓(xùn)練,首先對自然數(shù)據(jù)進行歸一化,獲得特征數(shù)據(jù)的絕對值,作為后續(xù)層的輸入。第二層再次歸一化得到稀疏特性。由兩層深度稀疏過濾計算得到優(yōu)化后的特征,通過逐層貪婪算法計算最終輸出。如圖2為稀疏濾波的處理示意圖。
卷積神經(jīng)網(wǎng)絡(luò)通過層與層之間局部連接構(gòu)成多層深度網(wǎng)絡(luò)。信息通常在網(wǎng)絡(luò)的不同層上傳遞,并且在每個層處,利用可訓(xùn)練過濾器和局部鄰域聚集操作,產(chǎn)生易于觀察的數(shù)據(jù)分布特征。整個卷積網(wǎng)絡(luò)構(gòu)架如圖3所示,該網(wǎng)絡(luò)包括兩個卷積層,兩個池化層和全連接層,在實驗中,用稀疏濾波后得到16×16的數(shù)據(jù)塊,作為卷積神經(jīng)網(wǎng)絡(luò)的輸入進行行為識別,通過第一個卷積核為1×1×5的卷積和池化至第二個卷積核為2×2×10的卷積和池化到全鏈接層,最終得到駕駛行為標簽。其中卷積層采用ReLu函數(shù)作為激活函數(shù),如式(5):
式中表示點(x,y)處通過卷積核計算得到的神經(jīng)元激活度,n是該層中的核總數(shù),其余為超參數(shù),由實驗驗證,選取如表1的參數(shù)設(shè)置,以達到在使用不同核計算神經(jīng)元輸入的過程中創(chuàng)造對最大激活度的競爭。
圖3 卷積神經(jīng)網(wǎng)絡(luò)模型
表1 歸一化參數(shù)設(shè)置
為了得到更好的識別性能,在網(wǎng)絡(luò)構(gòu)建過程中,使用稀疏濾波器訓(xùn)練數(shù)據(jù),達到加速訓(xùn)練和快速收斂的效果,具備更好的泛化能力。過濾器和局部鄰域聚集操作交替使用,使低水平數(shù)據(jù)輸入可以自動構(gòu)建高級別特征表示。
對于最終層輸出的損失估計,使用CNN架構(gòu)中的交叉熵損耗,避免學(xué)習(xí)減速:
其中xj和 pj分別是第 j個輸入和輸出,K是輸出神經(jīng)元數(shù)量,tj是第 j類的目標標簽。當(dāng)反向傳播時,通過偏導(dǎo)數(shù)計算損耗梯度:
其中δj代表輸出層中的損耗梯度,將作為誤差返回傳播至最頂部的全連接層。
本文是以內(nèi)置ARM處理器的智能手機作為嵌入式系統(tǒng)硬件平臺,搭載帶寬為8~1 000 Hz,靈敏度為32~256 LBS/g的三軸加速度傳感器,角速度量程為-100~+100 rad/s的陀螺儀,操作系統(tǒng)為Android5.0。在該平臺上搭建輕量級行為數(shù)據(jù)采集器,能滿足日常駕駛行為數(shù)據(jù)采集需求。實驗采集了5名用戶的駕駛行為數(shù)據(jù),分別為點火、熄火、勻速行駛、靜止和減速行駛等五種駕駛行為。采樣頻率為100 Hz,采集到包含不同行為的數(shù)據(jù)樣本共4 960份,如表2所示。
表2 不同駕駛行為樣本數(shù)據(jù)
在4 960份的樣本數(shù)據(jù)中,每種駕駛行為數(shù)據(jù)按照7∶3進行劃分,生成實驗的訓(xùn)練集和測試集。數(shù)據(jù)初始化后,實驗采用了軟絕對函數(shù)作為激活函數(shù),設(shè)置 ε=10-8,使用L-BFGS[15]包來優(yōu)化稀疏濾波目標,直到收斂。通過測量算法的每次迭代函數(shù)值的相對變化比較不同特征數(shù)的收斂效能,當(dāng)該變化下降到低于預(yù)設(shè)閾值時停止。
在特征學(xué)習(xí)之前,先將訓(xùn)練數(shù)據(jù)隨機抽樣形成的局部接收場減去自身的平均值,去除DC分量。通過稀疏濾波學(xué)習(xí)的第一層,類似Gabor的邊緣檢測器,使用貪婪層式方法學(xué)習(xí)標準稀疏特征。再經(jīng)過相同算法學(xué)習(xí)第二層特征,得到優(yōu)化特征。圖4為第二層使用稀疏過濾學(xué)習(xí)池單元。顯示每個第二層單元最強連接的第一層單元。
圖4 稀疏過濾池單元
至此,特征分布完成了稀疏性的優(yōu)化分布。
實驗首先從數(shù)據(jù)集中抽取大小為w×w的數(shù)據(jù)塊,進行ZAC白化。學(xué)習(xí)的特征數(shù)為K(即單層網(wǎng)絡(luò)中隱含層的個數(shù))。訓(xùn)練完成后,進行卷積提取,并進行四個象限劃分采取平均聚合以減少特征維數(shù)。表3列出了w=8、12、16以及特征數(shù) K=200、400、800情況下圖像分類的正確率。
表3 稀疏濾波下駕駛行為的特征性能%
該實驗針對五種駕駛行為,點火、勻速行駛、靜止、減速行駛、熄火,分別調(diào)整實驗特征數(shù)和數(shù)據(jù)分塊大小。從實驗結(jié)果可以看出,對于每一種駕駛行為,特征數(shù)增加,識別率有所提高,如點火行為,在數(shù)據(jù)分塊為8時,特征數(shù)為400比特征數(shù)為200的識別率提高了2.78%;靜止行為在數(shù)據(jù)分塊為8時,特征數(shù)800比特征數(shù)為400的識別率提高了2.1%。對于每一種駕駛行為,數(shù)據(jù)分塊越小,分類準確率有所提高,如勻速行駛行為,在特征數(shù)為400時,數(shù)據(jù)分塊為8比數(shù)據(jù)分塊為12的識別率提高了1.74%;熄火行為在特征數(shù)為800時,數(shù)據(jù)分塊為8比數(shù)據(jù)分塊為16的識別率提高了1.51%。實驗結(jié)果表明,數(shù)據(jù)分塊數(shù)越小,特征數(shù)越大,駕駛行為的識別效果會更佳。
稀疏濾波-卷積神經(jīng)網(wǎng)絡(luò)模型,以引入稀疏濾波來優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)輸入,主要保存邊沿、點和節(jié)點信息。為了評價SF-CNN網(wǎng)絡(luò)模型在識別駕駛行為時的性能,篩選出多種常見的算法進行對比實驗。借鑒上組實驗結(jié)論,選取數(shù)據(jù)分塊大小為8,特征數(shù)為800,進行對比實驗。
獨立成分分析算法將混合信息分離出獨立信號,或盡可能使用獨立信號對其他信號進行表征,但在分量數(shù)目太多時會影響計算的速度;K-means算法是典型的基于原型的目標函數(shù)聚類方法,從原始數(shù)據(jù)中隨機選取K作為質(zhì)心,利用求極值的方法得到迭代運算的調(diào)整規(guī)則,使得評價指標最小,而K的選取較難估計;傳統(tǒng)的CNN網(wǎng)絡(luò),由于數(shù)據(jù)量較大,收斂速率可能有所下降。將實驗數(shù)據(jù)依次放入三種傳統(tǒng)算法,統(tǒng)計每種算法的輸出結(jié)果,并與SF-CNN進行對比,得到駕駛行為識別準確率對比如圖5所示。
圖5 不同算法識別效能對比
由圖5可以看出,在數(shù)據(jù)分塊為8,特征數(shù)為800的實驗條件下,傳統(tǒng)算法與SF-CNN均獲得更高的識別率。其中靜止行為識別率最高達100%,相比ICA算法,點火行為的識別率提高5.83%,有較大改善;而與K-means算法相比,減速行駛行為的識別率提高9.31%,增長明顯;對于靜止行為,SF-CNN相比CNN算法識別率提高2.8%,減速行駛行為提高2.77%。
同時在幾種算法的實驗過程中,通過測量每次迭代的函數(shù)值的相對變化大小,由于不需要耗時調(diào)整超參數(shù),SF-CNN模型相較于其他傳統(tǒng)算法收斂至預(yù)設(shè)閾值更加迅速,如圖6所示。
圖6 不同算法收斂時效對比
通過以上實驗的交叉驗證,稀疏濾波-卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在大容量的數(shù)據(jù)實驗條件下,對于車輛在行駛過程中的駕駛行為識別上,具有較高的識別能力,改善了傳統(tǒng)算法在此條件下容易過度擬合以及泛化能力較差等問題。同時,在數(shù)據(jù)分塊的復(fù)雜性問題較之傳統(tǒng)算法,仍表現(xiàn)出較快的收斂速率。結(jié)果分析表明,由稀疏濾波-卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成的聯(lián)合模型,在車輛行駛過程中,對駕駛行為的識別速度和識別效果更佳。
稀疏濾波-卷積神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)了行駛車輛駕駛行為的識別,該模型將特征學(xué)習(xí)的輸入數(shù)據(jù)由建模估計轉(zhuǎn)變?yōu)閮?yōu)化分布。利用稀疏濾波后特征分布的稀疏性作為直接特征,放入神經(jīng)網(wǎng)絡(luò)進行行為識別。具有特征選取簡單、調(diào)節(jié)參數(shù)少、數(shù)據(jù)處理維度高、信號區(qū)分性好等優(yōu)點。分類結(jié)果驗證了該方法的有效性與可行性,對規(guī)范駕駛行為,養(yǎng)成良好的駕駛習(xí)慣,同時將交通事故防患于未然,具有實際的應(yīng)用參考價值。在現(xiàn)實生活中車輛行駛可能遇到過近跟馳、換道、超車等多輛車同時行駛時產(chǎn)生的復(fù)雜駕駛行為,下一步將研究結(jié)合攝像頭、GPS等多種傳感器數(shù)據(jù),對多輛車駕駛狀況進行模擬,提高識別的多樣性,使識別網(wǎng)絡(luò)更加智能化,為駕駛者提供安全輔助。
參考文獻:
[1]Mitrovic D.Reliable method for driving events recognition[J].IEEE Transactions on Intelligent Transportation System,2005,6(2):198-205.
[2]Paefgen J,Kehr F,Zhai Y,et al.Driving behavior analysis with smartphone:Insights from a controlled field study[C]//Proceedings of the 11th International Conference on Mobile and Ubiquitous Multimedia,2012:31-36.
[3]任靜文.基于智能手機終端的駕駛行為風(fēng)格檢測[D].成都:電子科技大學(xué),2014.
[4]Saiprasert C,Pholprasit T,Pattara-Atikom W.Detecting driving events using smartphone[C]//20th ITS World Congress,2013.
[5]Johnson D A,Trivedi M M.Driving style recognition using a smartphone as a sensor platform[C]//14th International IEEE Conference on Intelligent Transportation Systems(ITSC),2011:1609-1615.
[6]彭金栓,詹盛,徐磊,等.基于神經(jīng)網(wǎng)絡(luò)和貝葉斯濾波器的危險駕駛行為識別[J].武漢理工大學(xué)學(xué)報,2013(11):85-89.
[7]Ngiam J,Pang W K,Chen Z,et al.Sparse filtering[C]//Int Conf on Neural Information Processing Systems,2011:1125-1133.
[8]Lee H,Ekanadham C,Ng A Y.Sparse deep belief net model for visual area v2[C]//Int Conf on Neural Information Processing Systems,2007.
[9]Field D J.What is the goal of sensory coding?[J].Neural Computation,1994,6(4):559-601.
[10]Willmore B,Tolhurst D J.Characterizing the sparseness of neural codes[J].Network,2001,12(3):255-270.
[11]Schwartz O,Simoncelli E P.Natural signal statistics and sensory gain control[J].Nature Neuroscience,2001,4:819-825.
[12]van Hateren J H,van der Schaaf A.Independent component filters of natural images compared with simple cells in primary visual cortex[J].Biological Sciences,1998,265(1394):359-366.
[13]Bell A J,Sejnowski T J.The“independent components”of natural scenes are edge filters[J].Vision Res,1997,37(23):3327-3338.
[14]Coates A,Lee H,Ng A Y.An analysis of single-layer networks in unsupervised feature learning[C]//Int Conf on AISTATS,2011.
[15]Schmidt M.minFunc[EB/OL].[2016-11-12].http://www.cs.ubc.ca/?schmidtm/Software/minFunc.html.
[16]Krause J,Gebru T,Deng J,et al.Learning features and parts for fine-grained recognition[C]//2014 22nd International Conference on Pattern Recognition(ICPR),2014:26-33.
[17]Krizhevsky A,Sutskever I,Hinton G E.Imagenet classification with deep convolutional neural networks[C]//Int Conf on Neural Information Processing Systems,2012:1097-1105.