李 達,張照生,劉 鵬,王震坡,董昊天
(1.北京理工大學機械與車輛學院,北京 100081; 2.北京理工大學,電動車輛國家工程實驗室,北京 100081;3.北京市電動車輛協(xié)同創(chuàng)新中心,北京 100081)
智能交通系統(tǒng)是指將信息通信技術(shù)、電子傳感技術(shù)、控制技術(shù)和計算機技術(shù)等有效集成運用于整個地面交通管理系統(tǒng)而建立的一種在大范圍內(nèi)、全方位發(fā)揮作用的,實時、準確、高效的綜合交通運輸管理系統(tǒng)[1],已成為未來交通的必然發(fā)展趨勢[2]。作為智能交通系統(tǒng)不可或缺的組成部分,車輛的特征檢測和分類已經(jīng)成為現(xiàn)在研究的熱點[3]。車輛檢測與分類主要有以下應用:(1)準確的車輛分類是實現(xiàn)交通負荷分析和預測的基礎,進而可對未來的交通路線進行提前調(diào)度并優(yōu)化;(2)為評估道路的使用壽命和潛在風險提供依據(jù),進而對道路保養(yǎng)維護提供依據(jù);(3)通過計算不同類型車輛的碳排放,進而評估車輛對某地區(qū)環(huán)境的污染程度;(4)對警車、救護車等緊急性和優(yōu)先級較高的車輛進行識別并優(yōu)先引導;(5)通過識別車輛類型實現(xiàn)自動收費。
國內(nèi)外的一些學者通過視頻檢測實現(xiàn)車輛的分類[4]。Li等提出一種基于卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)視頻檢測的車輛分類方法,通過采用雙交叉熵損失函數(shù)的CNN來對小樣本細粒度車輛數(shù)據(jù)達到較好的分類效果[5];Ma等提出一種基于通道最大池化CNN和視頻檢測的車輛分類方法,通過在全連接層和卷積層之間插入新層提高細粒度車輛分類任務的分類精度[6];Wang等提出一種基于快速區(qū)域—卷積神經(jīng)網(wǎng)絡和視頻檢測的車輛分類方法[7]?;谝曨l檢測的車輛分類方法具有較高的準確率,但是受天氣、光照等環(huán)境因素影響較大。此外,視頻信號數(shù)據(jù)量較大,對數(shù)據(jù)的傳輸和處理要求較高,訓練模型所需時間也較長。
近年來一些學者提出基于磁傳感器采集車輛磁場信號來實現(xiàn)車輛的分類。Taghvaeeyan等通過決策樹和支持向量機(support vector machine,SVM)將車輛分為小型、中型、大型和特大型車輛4類,準確率達到了83%以上[8];Yang等采用決策樹將車輛分為5類,準確率達到90%以上[9]。但決策樹需提取的特征較多,當采集的車輛信號特征較少時,不能獲得較高的準確率。王卿分別利用最鄰近結(jié)點算法(K-nearest neighbor,KNN)和反向傳播神經(jīng)網(wǎng)絡算法(back propagation neural networks,BP)實現(xiàn)車輛分類,平均準確率分別達到77.6%和76.3%[10];溫美玲采用分層決策樹算法將被檢測車輛分為4類,準確率最高達到85.3%[11]。上述文獻基于車輛磁場信號通過機器學習方法實現(xiàn)車輛分類,但都沒有考慮磁場信號的時序特點,因此準確性不高。
隨著人工智能和深度學習的發(fā)展,循環(huán)神經(jīng)網(wǎng)絡(recurrent neural networks,RNN)被廣泛應用于情感分類[12]、市場預測[13]和語音識別[14]等領域以生成或預測序列[15]。而長短時記憶循環(huán)神經(jīng)網(wǎng)絡(long short-term memory neural networks,LSTM)作為最廣泛應用的一種RNN,在避免梯度消失和梯度爆炸方面表現(xiàn)良好,對較長的時間序列訓練效果更好[16-17]。本文中將LSTM與自適應增強算法(adaptive boosting,AdaBoost)結(jié)合,提出一種基于改進LSTM-AdaBoost的多天氣車輛分類方法。對LSTM的隱藏層進行改進,并提出一種“多層網(wǎng)格法”以準確確定改進LSTM的超參數(shù)。首先建立地磁車輛檢測系統(tǒng)平臺和車輛分類方法,然后分析了基于改進LSTM-AdaBoost的車輛分類結(jié)果,并對不同車輛分類方法以及不同天氣下的分類準確率進行了對比。
車輛地磁檢測系統(tǒng)平臺是實現(xiàn)車輛分類的基礎。本文所設計的地磁車輛檢測系統(tǒng)平臺包括地磁車輛檢測器和個人計算機兩部分,其系統(tǒng)框圖如圖1所示。地磁車輛檢測器主要由電源、微控制器(microcontroller unit,MCU)、磁傳感器和藍牙通信模塊構(gòu)成。系統(tǒng)運行時,地磁車輛檢測器與計算機通過藍牙進行數(shù)據(jù)通信,計算機將獲取的數(shù)據(jù)保存在數(shù)據(jù)庫中。
圖1 地磁車輛檢測系統(tǒng)
在車輛磁場信號測量的相關(guān)研究工作中,磁傳感器布置高度沒有統(tǒng)一的標準[10]。由于不同車型的構(gòu)造也有所區(qū)別,從理論上建立車輛鐵磁性物質(zhì)分布模型的難度較大。因此,設計并實施了在不同傳感器放置高度下的車輛磁場信號測量實驗,在5~25 cm區(qū)間內(nèi)每隔1 cm進行一次實驗。圖2展示了10、15、20、25 cm 4個不同高度的波形形狀。
車輛信號越明顯,信號的波動應越大,因此用X、Y、Z 3個方向磁場強度的標準差的平均值λ來定量描述信號采集效果。λ越大,則采集效果越好。不同布置高度下磁場強度的標準差的平均值如圖3所示。從圖中可以看出,當布置高度為20 cm時,λ最大,為12.41×10-7T,因此選用20 cm布置高度,以達到最高的車輛區(qū)分度。
圖2 傳感器不同布置高度下的波形形狀
圖3 不同布置高度下磁場強度標準差的平均值
綜合考慮美國聯(lián)邦公路局(federal highway administration,F(xiàn)HWA)車輛分類標準、實際測試過程中觀察到的車型、車輛分類準確度和實際規(guī)劃需求等因素,根據(jù)車長、車寬、車高等車輛外形幾何參數(shù)將車輛分為小型、中型和大型車輛3類。各類型車輛劃分標準如表1所示。
表1 車輛類型劃分標準
車輛信號是指當某一車輛經(jīng)過檢測器附近時,對地磁場基準值產(chǎn)生擾動的部分。須通過對無車狀態(tài)下的磁場強度進行測量,進而給X、Y、Z三軸的磁場強度做出補償,使無車情況下的三軸磁場強度在0附近波動。經(jīng)過磁場補償以后3種類型車輛的典型波形如圖4所示。
LSTM是一種改進的RNN,隱藏層結(jié)構(gòu)如圖5所示,其中yt、ht為t時刻的輸出,ct為t時刻的狀態(tài),xt為t時刻的輸入,相比于普通的RNN,LSTM隱含層結(jié)構(gòu)多了遺忘門ft、輸入門it和輸出門ot。這3個門決定了循環(huán)神經(jīng)網(wǎng)絡要記憶哪些重要信息和遺忘哪些不重要的信息,因此LSTM在避免梯度消失和梯度爆炸方面表現(xiàn)良好,對較長的時間序列訓練效果更好。
圖4 經(jīng)過磁場補償以后3種類型車輛的典型波形
圖5 LSTM的隱藏層結(jié)構(gòu)
根據(jù)Gers等的研究,若將細胞的狀態(tài)添加到“門”輸入中,LSTM訓練效果會更好[18]。LSTM通過遺忘門ft、輸入門it、輸出門ot決定記憶哪些重要信息和遺忘哪些不重要的信息,如果把隱含層的狀態(tài)也作為門的輸入,那么LSTM也能通過遺忘門ft、輸入門it、輸出門ot決定記憶哪些重要狀態(tài)和遺忘哪些不重要的狀態(tài),從而提高LSTM的效果。本文中將t-1時刻的狀態(tài)輸入到遺忘門ft、輸入門it、輸出門ot中。改進LSTM的隱藏層內(nèi)部結(jié)構(gòu)如圖6所示。
圖6 改進LSTM隱藏層結(jié)構(gòu)
改進后的LSTM中各參數(shù)滿足如下關(guān)系式:
式中:Wf、Wi、Wo、Wc分別為遺忘門、輸入門、輸出門、輸入單元狀態(tài)權(quán)重矩陣;bf、bi、bo、bc分別為遺忘門、輸入門、輸出門、輸入單元狀態(tài)偏置矩陣。
AdaBoost是由Freund等提出的一種用于解決二分類問題的集成學習方法[19]。經(jīng)過改進產(chǎn)生的AdaBoost.M1算法將二分類擴展到多分類問題,Ada-Boost.M2算法不僅可處理多分類問題,還引入置信度來進一步提高分類效果。由于本文中將車輛分為小、中、大3種類型,是一個多分類問題。因此采用AdaBoost.M2算法對多個改進LSTM弱分類器進行集成,通過迭代更新各樣本的權(quán)重,結(jié)合策略形成改進LSTM-AdaBoost強分類器,提高車輛分類的準確性。改進LSTM-AdaBoost方法整體框架如圖7所示。
圖7 改進LSTM-AdaBoost方法
當車輛經(jīng)過地磁傳感器時,產(chǎn)生的地磁信號服從時間序列分布,因此改進LSTM模型的輸入為一段時間內(nèi)X、Y、Z三軸的磁場強度,輸出為車輛的類型,因此選擇“多對一”架構(gòu)。AdaBoost將10個改進LSTM分類器進行集成,通過各LSTM分類器車輛分類的錯誤率對訓練樣本的權(quán)重進行更新迭代,最后再通過各改進LSTM分類器的車輛分類的錯誤率確定各改進LSTM分類器的權(quán)重。車輛分類流程如圖8所示。
圖8 基于改進LSTM-AdaBoost的車輛分類流程
設樣本訓練集為
式中:yi∈Y={1,…,k},i為訓練樣本的編號,k為車輛類型數(shù),k=3;N為樣本數(shù)量。
具體步驟如下。
(1)預處理:提取X、Y、Z三軸的磁場強度數(shù)據(jù),并進行磁場強度補償。
(2)設置初始條件
設置AdaBoost的初始條件:設置迭代次數(shù)T為10,初始化分布權(quán)重D1(i)與樣本權(quán)重為
式中:i=1,2,…,N;y∈Y-y。
設置改進LSTM的結(jié)構(gòu)與超參數(shù):定義損失函數(shù)與優(yōu)化方法。本文根據(jù)車輛磁場信號來識別車輛類型,實質(zhì)上是分類問題,因此選用交叉熵函數(shù)作為損失函數(shù)。使用Adam作為優(yōu)化方法,根據(jù)損失函數(shù)的梯度更新權(quán)重和偏置。設定學習速率、時間步長、樣本數(shù)量、輸入維度、輸出維度、全連接層神經(jīng)元個數(shù)、全連接層激勵函數(shù)和正則項。
(3)更新分布權(quán)重,令
則標簽加權(quán)函數(shù)為
則分布權(quán)重為
(4)訓練改進LSTM網(wǎng)絡
初始化權(quán)重和偏置,并通過反向傳播算法訓練改進LSTM網(wǎng)絡。當N>Nmax時停止訓練,保存模型,得到弱分類器ht,ht的輸入為加權(quán)后的X、Y、Z 3個方向的磁場強度,輸出為車輛分類結(jié)果。否則返回步驟(3)。N為當前交叉熵連續(xù)不低于歷史輸出最低交叉熵的次數(shù)。本文中取Nmax=10。
(5)計算弱分類器的錯誤率:
(6)更新樣本權(quán)重:
式中 βt為第t個弱分類器的修正系數(shù),βt=εt/(1-εt)。
(7)如果 εt>0.5且t≤T,則返回步驟(3)繼續(xù)進行迭代,否則迭代結(jié)束,得到強分類器H(x)為
改進LSTM的超參數(shù)包括學習速率、時間步長、樣本數(shù)量、輸入維度、輸出維度、全連接層神經(jīng)元個數(shù)、全連接層激勵函數(shù)和正則項系數(shù)。神經(jīng)網(wǎng)絡各個超參數(shù)的大小對模型的準確性和泛化性有至關(guān)重要的作用[20]。本文中將數(shù)據(jù)劃分為訓練集、開發(fā)集和測試集,在訓練集和開發(fā)集上對不同的超參數(shù)進行試錯,通過比較不同超參數(shù)的交叉驗證的準確率確定最優(yōu)的超參數(shù),然后用測試集對模型超參數(shù)確定的效果和模型的訓練效果進行驗證。這樣既充分利用了數(shù)據(jù)集,又增強了模型的泛化性。
共測試了640輛汽車信號,按60%、20%、20%劃分各數(shù)據(jù)集,訓練集、開發(fā)集、測試集車輛數(shù)分別為384、128、128。
由于LSTM的超參數(shù)有8項,如果對所有超參數(shù)都進行試錯,則計算量巨大,而一些超參數(shù)可通過模型的輸入、輸出以及數(shù)據(jù)的格式確定。
模型的輸入為車輛X、Y、Z三軸的磁場強度,因此輸入維度為3。模型的輸出為車輛的類別,因此輸出維度為1。測試的車輛信號數(shù)據(jù)中,最長的信號數(shù)據(jù)長度為125,因此確定時間步長為125。全連接層激勵函數(shù)最常用的有sigmoid函數(shù)、tanh函數(shù)和relu函數(shù)。relu函數(shù)是修正線性單元,主要作用是將負數(shù)變?yōu)?,sigmoid函數(shù)的作用是把一個實數(shù)通過非線性函數(shù)壓縮至0~1之間,而tanh函數(shù)的作用是把一個實數(shù)通過非線性函數(shù)壓縮至-1~1之間,通常,tanh函數(shù)在隱藏層中的效果要優(yōu)于sigmoid函數(shù),因此全連接層激勵函數(shù)選擇tanh函數(shù)。
如果學習速率過大,則會使代價函數(shù)產(chǎn)生震蕩,甚至會超過局部最小值導致無法收斂。如果學習速率較小,則達到收斂所須迭代的次數(shù)就會非常多,導致訓練時間增長,學習速率取0.000 1。為提高分類的準確率,LSTM共由6層組成:3層改進LSTM隱藏層、輸入層、輸出層和全連接層。
為準確確定改進LSTM的其他超參數(shù),提出一種多層網(wǎng)格法來對全連接層神經(jīng)元個數(shù)與正則項系數(shù)在訓練集和開發(fā)集上進行試錯,首先將正則項系數(shù)與全連接層神經(jīng)元個數(shù)劃分為不同的區(qū)間。
正則項系數(shù)取0.000 1、0.001、0.01、0.1和1。全連接層神經(jīng)元個數(shù)取10,20,…,200,經(jīng)試錯發(fā)現(xiàn),當正則項系數(shù)為0.001~0.01且全連接層神經(jīng)元個數(shù)為100~110時,交叉驗證的準確率最高,為79%~81%。再將區(qū)間進行10等分,取正則項系數(shù)為0.001,0.002,…,0.01,全連接層神經(jīng)元個數(shù)為101,102,…,110。發(fā)現(xiàn)正則項系數(shù)為0.005且全連接層神經(jīng)元個數(shù)為102~104時,交叉驗證的準確率最高,為85%。因此LSTM的超參數(shù)取正則項系數(shù)為0.005,全連接層神經(jīng)元個數(shù)為103。
采用3.1節(jié)中確定的超參數(shù)對模型進行訓練,訓練集和測試集的交叉熵隨迭代次數(shù)的變化規(guī)律如圖9所示。由圖可見,訓練集的交叉熵較低,說明模型得到了充分訓練,測試集的交叉熵較低,說明模型未發(fā)生過擬合,超參數(shù)確定較為合理。訓練效果較好。
圖9 訓練集和測試集的交叉熵
表2為各車型的分類準確率。從表中可以看到,類型一、三均有較好的分類效果,而類型二的分類效果較差,準確率為71.8%。其主要原因是,類型二中的SUV與第一類車型中的轎車由于結(jié)構(gòu)和大小近似,產(chǎn)生的波形也類似,因此難以實現(xiàn)準確區(qū)分。
表2 各車型的分類準確率
為比較不同汽車分類算法的效果,對改進LSTM-AdaBoost、改進LSTM、LSTM、KNN、BP神經(jīng)網(wǎng)絡5種方法的準確率進行對比。KNN方法參考王卿等[10]的研究進行特征提取,改進LSTM、LSTM、BP算法采用本文提出的“多層網(wǎng)格法”確定神經(jīng)網(wǎng)絡隱藏層節(jié)點數(shù)和正則化系數(shù)。最終得到的5種方法的準確率如表3所示。
表3 5種方法分類準確率對比 %
從表中可以看出,5種方法均對類型一和類型三有較好的分類效果,而對類型二的分類效果較差。BP神經(jīng)網(wǎng)絡在類型一的準確率高于KNN,但在類型二和類型三的準確率略低于KNN。改進LSTMAdaBoost在類型一的準確率與BP神經(jīng)網(wǎng)絡相同,但在類型二和類型三的準確率高于KNN和BP神經(jīng)網(wǎng)絡。對比改進LSTM-AdaBoost、改進LSTM和LSTM的準確率可以發(fā)現(xiàn),改進LSTM-AdaBoost類型二的分類準確率有明顯提高。改進LSTM-AdaBoost在該數(shù)據(jù)集上的效果優(yōu)于其他4種方法。
在車輛分類檢測的方法中,視頻檢測器應用最廣泛,但視頻檢測器受惡劣天氣的影響較大,在遇到大風、下雪、暴雨和霧霾天氣時精度較差[21]。磁傳感器在未來的智能交通系統(tǒng)中需大規(guī)模布設于各路段以進行全天候的運轉(zhuǎn),為比較不同天氣下改進LSTM-AdaBoost的分類效果,在晴朗、暴雨和霧霾天氣3種天氣下各測得640輛汽車的磁場信號,采用改進LSTM-AdaBoost進行訓練,得到各天氣下的分類準確率,見表4。從表中可以看到,晴朗天氣和霧霾天氣各類型車輛的準確率相差不多,這是因為霧霾天氣只會對視野造成影響,對磁傳感器的影響不大。暴雨天氣下各類型車輛的分類準確率均有所下降,但下降幅度不大,最大下降了3.9個百分點。
表4 3種天氣分別訓練時車輛分類準確率%
為進一步研究采用不同天氣的訓練集對分類準確性的影響,將晴朗天氣的磁場信號數(shù)據(jù)作為訓練集,將暴雨和霧霾天氣的磁場信號數(shù)據(jù)作為驗證集,得到各天氣下的分類準確率,見表5。對比表4和表5可以發(fā)現(xiàn),霧霾天氣各類型車輛的準確率相差不多,說明霧霾天氣對磁傳感器幾乎沒有影響;暴雨天氣下(表5)各類型車輛的分類準確率均低于表4,類型一、二、三車輛分類準確率分別降低5.4、14和6.3個百分點,這是因為類型二的磁場信號本來區(qū)分度不大,加上暴雨天氣的影響,準確率急劇下降。暴雨天氣下的結(jié)果也說明暴雨天氣對磁傳感器采集的信號有一定影響。因此如果想要實現(xiàn)車輛準確分類,須采集各天氣的車輛磁場信號數(shù)據(jù)作為訓練集。
表5 各天氣車輛分類準確率對比 %
為提高車輛分類準確率和減小天氣對準確率的影響,提出一種基于改進LSTM-AdaBoost的車輛分類方法。對LSTM的隱藏層進行改進,并采用“多層網(wǎng)格法”以準確地確定改進LSTM的超參數(shù)。經(jīng)分析與對比,得出以下結(jié)論。
(1)選擇不同磁傳感器布置高度,對大量交通車輛的實測所得的波形變化程度進行對比,用X、Y、Z 3個方向磁場強度標準差的平均值來定量描述信號采集效果,20 cm布置高度可以獲得最好的測量效果。
(2)相比于KNN、BP神經(jīng)網(wǎng)絡、改進LSTM和LSTM,本文所提出的改進LSTM-AdaBoost和多層網(wǎng)格法具有較高的分類準確率,3種類型車輛分類準確率分別為90.6%、71.8%和92.2%,平均分類準確率比KNN高10.1個百分點,比BP神經(jīng)網(wǎng)絡高8.9個百分點。
(3)改進LSTM-AdaBoost、KNN、BP神經(jīng)網(wǎng)絡、改進LSTM和LSTM 5種方法對類型二車輛分類準確率均較低。類型二車輛與其他車輛區(qū)分度較差。
(4)對晴朗、暴雨、霧霾3種天氣下的磁場信號數(shù)據(jù)采用改進LSTM-AdaBoost進行訓練時,晴朗和霧霾天氣下各類型車輛的準確率相差不多,最大相差0.9個百分點;暴雨天氣下各類型車輛的分類準確率均有所下降,但下降幅度不大,最大下降了3.9個百分點。
(5)將晴朗天氣的磁場信號數(shù)據(jù)作為訓練集,將暴雨和霧霾天氣的磁場信號數(shù)據(jù)作為驗證集時,霧霾天氣各類型車輛的準確率與將3種天氣的磁場信號數(shù)據(jù)作為訓練集時的準確率相差不大,最大相差2.4個百分點;而暴雨天氣最大相差14個百分點。因此如果想要實現(xiàn)更為準確的車輛分類,須采集各天氣的車輛磁場信號數(shù)據(jù)作為訓練集。