趙佳美 戶文成 蔣從雙 曾 宇 姚 琨
(北京市勞動保護科學研究所 北京 100054)
車輛識別技術是現(xiàn)代智能交通系統(tǒng)研究中的關鍵技術之一[1]。在交通系統(tǒng)的運行狀況中,主要依據(jù)的交通參數(shù)有交通流量、交通流密度、車輛行駛速度、行程時間等[2],車輛車型以及速度的識別技術可以輔助交通管理部門實時掌握道路交通信息,通過實時交通狀況進行決策,避免交通擁堵等狀況的發(fā)生。長期以來,我國是以道路設計速度作為確定限速值的依據(jù)來對車輛的運行進行限速的,在設置限速時沒有考慮到大小車型、氣候變化等,這種方法缺乏實時性和動態(tài)性,車速安全的實時跟蹤和信息管理技術的落后增加了道路交通的安全隱患。
聲信號檢測識別技術可以通過提取聲信號中具有一定物理含義的信號特征,再通過聲信號特征對車輛進行分類識別。該技術具有設備簡單且易于布置,檢測不受黑夜、隧道視覺因素影響等特點,對車輛識別的效果有很大幫助。因此,國內外學者對此展開大量研究,利用車輛通過時聲信號的檢測識別技術也迅速發(fā)展。Sunu 等通過譜嵌入的方法將提取的特征進行降維,并用K 聚類和K-最近鄰方法作為分類器對卡車和吉普車進行分類識別[3]。Kandpal等[4]將車輛聲信號的快速傅里葉變換(Fast Fourier transform,F(xiàn)FT)和時域波形相結合,利用神經網絡作為分類器,并且對車輛聲信號的識別結果進行了融合。陸偉[5]采用模糊C均值聚類算法對轎車、卡車、中巴和農用車進行車型的分類識別。陳麗等利用神經網絡對小型轎車、大型客車和重型貨車等車型進行特征提取[6-8]。
現(xiàn)有的車輛識別技術通常只是對車輛的車型進行識別,對于車輛其他信息(如車速、車流量等)的識別研究較少,使得車輛的識別仍達不到理想的效果,影響工作人員的執(zhí)行效率。此外,在實際應用中還應考慮車輛識別系統(tǒng)軟硬件平臺的傳輸效率及其運行速度,以避免在系統(tǒng)硬件設備開發(fā)中計算時間過長、計算成本過高。因此,本文采集車輛通過時的聲信號,應用BP 神經網絡(Back propagation)以及結合主成分分析(Principal component analysis,PCA)和BP神經網絡算法模型(PCA-BP)對車輛的車型、車速進行識別,為車輛識別技術提供思路和方法,為系統(tǒng)的實現(xiàn)提供便利。
現(xiàn)場所采集的車輛聲信號中,混有的其他環(huán)境噪聲會使得采集到的聲信號數(shù)據(jù)量非常大??梢圆捎梅謳?、加窗和數(shù)據(jù)歸一化的方法對采集到的聲信號數(shù)據(jù)進行預處理,以利于在對聲信號提取分析時獲取有利信息。本研究在分幀時選用enframe函數(shù),窗函數(shù)選擇Hanning 窗,數(shù)據(jù)歸一化方法采用最大最小法。
分類識別前需構建合適的特征提取算法,使得在特征維數(shù)較低的情況下盡可能保留原始聲信號的重要特征。本文選用可以表達聲信號特點的時域特征、頻域特征和倒譜特征參數(shù)。
聲信號的時域特征是以時間為自變量描述信號隨著時間變化的情況,具有直觀和準確的優(yōu)點。本文提取的時域特征是聲信號的短時能量和過零率。當有車輛通過時產生的聲音與純背景時的聲音之間的能量差異明顯,聲信號的短時能量可以描述能量特征的變化情況。短時平均過零率是指聲信號每一幀內的波形穿過零值(橫軸)的次數(shù),在一定程度上可以體現(xiàn)聲信號頻率的信息[9]。在提取各類特征時對聲信號分幀的幀長及幀移參數(shù)設置為相同參量,分幀后加Hanning窗進行處理,由此得到的短時能量和短時平均過零率即可作為表達聲信號的特征向量的一部分。
頻域分析包含更多的聲學特征,可以方便地觀察時程曲線中的頻率成分含量,對外界環(huán)境變化的適應性和抗干擾性也較強,因此可以作為聲信號特征表達的一部分。本文采用小型車和公交車聲音信號的1/3 倍頻程作為特征參數(shù),采用與時域特征提取相同的參數(shù)及方法進行預處理。
聲音識別中常用梅爾頻率倒譜系數(shù)(Mel frequency cepstrum coefficient,MFCC)作為聲信號的提取特征,現(xiàn)已被廣泛應用。當波頻超過1000 Hz時為對數(shù)尺度,而1000 Hz 以下為線性尺度,其取值大體與實際頻率的對數(shù)相對應,具體可表示為
利用梅爾濾波器組將采集時車輛通過聲信號的功率譜劃分到多個頻帶,然后對每個頻帶的能量取對數(shù),最后進行離散余弦變換即可得到MFCC[10]。這里取其前12 階系數(shù)MFCC1~MFCC12進行分析。在進行MFCC 計算時,聲信號分幀及窗函數(shù)須保持與提取其他特征參數(shù)時相一致。
在蘇州市虎丘區(qū)貢山路和渚鎮(zhèn)路、杭州市江干區(qū)五一路和西寧市城北區(qū)美麗水街進行了數(shù)據(jù)采集,測試道路均為瀝青混凝土路面,雙向兩車道路段。各路段兩側有較矮的樹木,周圍無高大建筑物、無其他明顯噪聲源影響,沒有其他大型反射物或吸聲材料。測試路段符合背景噪聲較小、路況良好等車輛通過聲信號的測試要求。
車輛聲音信號采集系統(tǒng)包括傳聲器、采集器和電腦。采集器為INV3062A 多通道網絡分布式采集分析儀。測試時聲信號的采樣頻率為51.2 kHz。為了確定樣本車輛通過時的速度范圍,在測試路段現(xiàn)場架置高速攝像機進行與聲信號采集同步拍攝。速度測試區(qū)間寬度3 m,車輛通過時間較短,故認為車輛在測試區(qū)間段勻速通過。噪聲測試點距離道路中心線7.5 m。測試時,按照標準《汽車加速行駛車外噪聲限值及測量方法》進行測試[11]。
現(xiàn)場采集數(shù)據(jù)為小型車及公交車通過標記路段時的聲信號以及速度范圍。聲音信號樣本包含81個,其中小型車60個,公交車21個。
BP 神經網絡算法是人工神經網絡中的一種,屬于監(jiān)督式訓練。該算法因為在理論上可以逼近任意函數(shù)而具有非常強大的非線性映射能力。在本文的研究中,將聲信號的特征向量作為網絡的輸入層,通過建立從特征向量到車型與車速類別空間的非線性映射,實現(xiàn)車輛類型與速度的分類識別。
識別前,首先要對BP 神經網絡的模型進行訓練。經過訓練調整后的網絡有了一定的聯(lián)想記憶能力和預測分類的能力。選取若干個樣本作為訓練集,然后進行BP神經網絡訓練。訓練過程如圖1所示。
圖1 BP 神經網絡訓練過程Fig.1 BP neural network training process
BP 神經網絡的輸入層節(jié)點數(shù)主要由輸入向量的維數(shù)決定。單隱層的BP 神經網絡可以逼近一個任意的連續(xù)非線性函數(shù),因此,本文采用單隱層的BP 神經網絡。隱含層節(jié)點數(shù)也會影響網絡的預測精度,其確定方法主要依靠經驗法或試湊法[12]。隱含層的激勵函數(shù)選取Sigmoid 函數(shù):f(x)= 1/(1+e-x)。為了解決神經網絡預測誤差在修正過程中沒有考慮到網絡模型自身學習經驗的積累且學習收斂速度相對較為緩慢的問題,本文采用附加動量法進行計算。為了在網絡學習過程中使網絡逐漸趨于穩(wěn)定,本文采用變學習率方法進行計算。
主成分分析(PCA)方法力求在數(shù)據(jù)信息損失最小的原則下,將多維數(shù)據(jù)變量指標轉換成相對較少維的綜合指標,轉化后的綜合指標成為“主成分”。通過特征提取后,獲得的特征向量間可能會含有冗余數(shù)據(jù)而導致特征匹配時計算量過大且復雜,計算時間較長。本文采用PCA 方法對特征向量進行降維處理,將獲取到的新的主成分變量作為BP 神經網絡的輸入端參數(shù)輸入,將此方法簡稱為PCA-BP方法。
主成分分析基本步驟主要包括以下幾點:
(1)通過對相關程度的檢驗確定數(shù)據(jù)是否可用主成分分析。
(2)求主成分。一般數(shù)據(jù)變量之間有不同的單位或者差異很大時,選擇用基于相關系數(shù)矩陣的主成分分析方法,否則應考慮選擇基于協(xié)方差陣的主成分分析[13]。
(3)計算出相關系數(shù)矩陣(或者協(xié)方差陣)的特征根以及與特征根對應的特征向量。
(4)根據(jù)主成分的累計貢獻率、特征根等確定主成分的個數(shù)。其中,累計貢獻率是指將前幾個主成分的方差求和后占總方差的比例,實際應用中可以根據(jù)具體問題選取主成分個數(shù)。
通過前期研究計算得到每個車輛聲信號的短時平均能量特征向量1 維、短時平均過零率1 維、1/3倍頻程30 維以及梅爾倒譜特征12維,即共獲取每輛車的聲信號特征向量維數(shù)為44 維。將實驗隨機選取測試數(shù)據(jù)小型車18 組和公交車19 組進行分幀后獲得小型車及公交車特征數(shù)據(jù)總量為131320。將實驗數(shù)據(jù)集進行主成分分析,結果表1所示。
表1 主成分分析結果Table 1 Results of principal component analysis
所有的主成分按照特征根大小排序,限于篇幅這里給出前20 個。從表1中可以看到,特征根大于1 的主成分有8 個,即可提取8 個主成分。第一主成分特征根為21.479,方差貢獻率為46.693%;直到第8 個主成分累計方差貢獻率達到89.165%,即8 個主成分共解釋了總變量的89.165%。因此,提取8個主成比較可取。
本次研究的44 維特征數(shù)據(jù)經過主成分分析降維后,可以提取8 個主成分對原數(shù)據(jù)變量進行解釋。主成分分析后得到的新變量既可以保證數(shù)據(jù)的可靠性,同時在接下來的計算中可以有效減少數(shù)據(jù)的計算量。
在PCA-BP 算法模型中,BP 神經網絡的輸入端應為PCA 方法降維后新的主成分變量,本研究中的44 維特征向量經過PCA方法降維后可以獲得8 維新的“特征向量”,即BP 神經網絡輸入端為8維特征向量;其隱含層節(jié)點數(shù)可根據(jù)經驗法或試湊法確定。由于所測試道路中蘇州市虎丘區(qū)貢山路、杭州市江干區(qū)五一路和西寧市城北區(qū)美麗水街為城市主干路,渚鎮(zhèn)路為二級公路,根據(jù)《城市道路工程設計規(guī)范CJJ 37-2012》[14]和《公路工程技術標準JTGB01-2014》[15]中規(guī)定,主干路的設計速度應為40~60 km/h,二級公路的設計速度應為60~80 km/h。故本文將以60 km/h作為小型車速度劃分界限進行分類,即低于60 km/h 的行車速度設定為中低速范圍,而高于60 km/h 的行車速度設定為高速范圍;鑒于公交車車速一般介于40~70 km/h 之間,故設置公交車速度劃分界限為55 km/h,即輸出層為2。算法模型如圖2所示。
圖2 基于PCA-BP 車型與車速分類算法模型圖Fig.2 Diagram of vehicle type and speed recognition algorithm based on BP neural network
將除訓練樣本外的測試樣本特征處理后分別輸入到BP 神經網絡模型及PCA-BP 訓練模型中,得到識別效果及計算用時情況如表2和表3所示。
表2 測試車輛的車型識別結果Table 2 Vehicle type recognition results
表3 測試車輛的車速識別結果Table 3 Vehicle speed recognition results
通過表2和表3可以看到,相比于BP 神經網絡算法計算時長,應用PCA-BP 方法計算識別車型及車速的時長節(jié)省了50%~70%左右,識別速度明顯提升。采取PCA-BP 方法后,車型識別正確率均在80%以上。序號為32 和78 的兩輛車車速識別正確率較低,經過對這兩組聲信號與其他測試信號對比分析,結果表明這兩輛車在采集聲信號過程中可能存在換擋動作。由于車輛行駛車速相對較低,車輛行駛過程中產生的胎噪和風噪相對較小,發(fā)動機及排氣噪聲貢獻量相對較大,因而發(fā)動機噪聲對所采集的聲信號樣本影響較大。換擋動作會導致發(fā)動機及進排氣噪聲的突變,但該動作變化時間很短,換擋結束后聲信號會迅速恢復,因此在初選聲信號樣本時難以排除異常。為確定該模型能夠較好識別的車輛行駛速度范圍,新增加22輛樣本外測試車輛通過聲信號,各車經過測試地點車速及其識別結果如表4所示。
通過表4可以看出,應用PCA-BP 方法時的車速識別取得了較好的結果。該訓練模型在速度劃分界限60±3 km/h范圍外,速度識別率可達到70%以上;在速度劃分界限60±5 km/h 范圍外,速度識別率可達到80%以上。經分析,H2和H66兩輛車識別效果不佳與上述分析原因相同,即采集信號過程中存在換擋動作。故該模型可以在一定速度范圍內可以取得良好的速度檢驗識別結果,且不適用于換擋動作下基于聲信號的車速范圍識別。
表4 新增檢驗車輛的車速識別結果Table 4 Speed recognition of increased test vehicles
本文對中小型車和公交車的車型與車速范圍進行識別,整體效果較好,識別過程中可以節(jié)省計算時長的50%~70%左右,有效提升了識別計算速度。并采用擴大測試樣本的速度范圍及增加測試數(shù)量的方法,探討了小型車車速范圍識別效果,為后續(xù)車速識別研究打下基礎?;诼曅盘柕腜CA-BP方法的車型與車速識別可以作為一種補充技術手段,為交通識別系統(tǒng)正常高效地運行提供保障,為道路交通系統(tǒng)的提供重要信息,在智能交通系統(tǒng)方面應用前景廣闊。