基于神經(jīng)網(wǎng)絡(luò)的聲測(cè)法車輛類型辨識(shí)的應(yīng)用研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著我國(guó)高速公路和汽車技術(shù)的迅猛發(fā)展,汽車行駛速度越來(lái)越高,極需一種更有效的交通管理系統(tǒng)。這種系統(tǒng)應(yīng)能自動(dòng)識(shí)別汽車,并能準(zhǔn)確判斷出汽車類型。20世紀(jì)50年代以來(lái),點(diǎn)測(cè)式設(shè)備如環(huán)形線圈檢測(cè)器,主要用于十字路口的交通控制和交通數(shù)據(jù)收集。這種探測(cè)系統(tǒng)通常利用埋置于路面下的電感線圈,通過(guò)電磁感應(yīng)識(shí)別汽車,但這種系統(tǒng)存在著鋪設(shè)費(fèi)用昂貴、維護(hù)困難、不能將汽車分類等缺陷。利用聲測(cè)法,并將此經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,能夠有效地識(shí)別路面上通過(guò)的汽車的類型。
1 聲測(cè)法汽車類型識(shí)別系統(tǒng)
聲測(cè)法汽車類型識(shí)別系統(tǒng)工作原理框圖如圖1所示。
聲測(cè)法汽車類型識(shí)別系統(tǒng)的工作原理是:當(dāng)汽車通過(guò)時(shí),麥克風(fēng)將其產(chǎn)生的聲波的聲壓信號(hào)通過(guò)連接器傳到分類系統(tǒng),通過(guò)A/D轉(zhuǎn)換器將聲壓信號(hào)轉(zhuǎn)化為一系列離散的數(shù)字信號(hào),并在頻譜分析儀中進(jìn)行頻譜轉(zhuǎn)換(FFT轉(zhuǎn)換)。
神經(jīng)網(wǎng)絡(luò)為衰減器接受到的每個(gè)矢量提供一個(gè)分類指示器。每個(gè)矢量顯示一個(gè)預(yù)定的間歇時(shí)間,即允許產(chǎn)生聲音的物體有一個(gè)短暫的時(shí)間間隔(如0.1秒)。這樣,神經(jīng)網(wǎng)絡(luò)每隔0.1秒為每種聲音產(chǎn)生一個(gè)分類指示器,獨(dú)立地為每個(gè)矢量分類。時(shí)間積算器是經(jīng)神經(jīng)網(wǎng)絡(luò)分析后的一種分類指示器流量的處理器,即時(shí)間積算器經(jīng)多次與運(yùn)算結(jié)果結(jié)合,產(chǎn)生整個(gè)系統(tǒng)輸出的最后分類結(jié)果。
基于神經(jīng)網(wǎng)絡(luò)的聲測(cè)法汽車類型識(shí)別系統(tǒng)采用低廉的傳感器材,對(duì)汽車的類型識(shí)別有很好的效果,而且應(yīng)用的覆蓋范圍更廣,不受天氣和光線的影響。
2 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練算法
對(duì)原始噪聲進(jìn)行預(yù)處理之后,余下的識(shí)別工作就由神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)。本文所設(shè)計(jì)的網(wǎng)絡(luò)是三層前饋網(wǎng)絡(luò),其結(jié)構(gòu)為:輸入層有n個(gè)節(jié)點(diǎn),n=Np×N;隱含層有P個(gè)節(jié)點(diǎn),輸出層有q個(gè)節(jié)點(diǎn)。q個(gè)輸出節(jié)點(diǎn)分別對(duì)應(yīng)q種車型,輸入層采用的輸入值為傅立葉變換后的值,隱含層和輸出層的活化函數(shù)為Sigmoid函數(shù)。訓(xùn)練完畢后,當(dāng)輸出層的第i個(gè)節(jié)點(diǎn)輸出值大于0.99而其它節(jié)點(diǎn)的輸出值小于0.11時(shí),就認(rèn)為本次識(shí)別的車型為第i號(hào)車。網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
采用的訓(xùn)練算法是BP算法,該算法中的誤差函數(shù)是:
其中,dk和rk分別是網(wǎng)絡(luò)的希望輸出矢量和實(shí)際輸出矢量,M為訓(xùn)練樣本對(duì)。
BP算法的一個(gè)突出缺點(diǎn)是學(xué)習(xí)速度慢,原因是多方面的,如與網(wǎng)絡(luò)的結(jié)構(gòu)有關(guān),與學(xué)習(xí)算法本身存在的缺點(diǎn)有關(guān)。當(dāng)利用上述誤差函數(shù)來(lái)調(diào)整權(quán)重時(shí),從推導(dǎo)知道權(quán)重調(diào)整量總包含下面的因子:
從上式可以看出,當(dāng)輸出層單元i的實(shí)際輸出ri接近于0或1時(shí),誤差信號(hào)中的因子式ri(1-ri)使得誤差信號(hào)變得很小,這時(shí)如果輸出層單元i的實(shí)際輸出ri與期望輸出值di相差很大時(shí),沒有產(chǎn)生強(qiáng)的誤差來(lái)修正權(quán)重,從而延長(zhǎng)了學(xué)習(xí)過(guò)程。另外由于激勵(lì)函數(shù)f(x)=(1+e-x)-1是一個(gè)飽和函數(shù),當(dāng)它趨于飽和狀態(tài)時(shí),導(dǎo)數(shù)就接近于零,從而造成收斂速度減慢。由此可以考慮將因子ri(1-ri)從誤差函數(shù)對(duì)權(quán)重偏微分的結(jié)果中去除,于是可把BP算法的誤差函數(shù)改進(jìn)為:
因?yàn)?i=f(sumi)<1且di的取值為0或1,從而sk>0,sumi=-∑ωij·bj。下面對(duì)這種誤差修正方法的收斂性作簡(jiǎn)要的分析。
利用鏈?zhǔn)轿⒎忠?guī)則得:
右端第一項(xiàng)表示輸出矢量中第i個(gè)分量對(duì)偏差的影響,第二項(xiàng)則表示權(quán)系數(shù)對(duì)輸出分量的影響。根據(jù)式(4)計(jì)算第一項(xiàng)的偏微分:
其中,bj>0為上隱含層的輸出;式(9)就是在ωij空間中sk響應(yīng)曲面上的負(fù)梯度方向。
這樣,對(duì)權(quán)矩陣[W]中的任一元素ωij有:
這可以看出對(duì)權(quán)值的修正和梯度下降方法之間的關(guān)系,由此說(shuō)明這種誤差修正方法對(duì)權(quán)值的調(diào)整是收斂的。利用誤差函數(shù)為(3)式的改進(jìn),BP算法確實(shí)把ri(1-ri)因子從誤差函數(shù)對(duì)權(quán)重偏微分的結(jié)果中消除了。從實(shí)際的訓(xùn)練來(lái)看,利用本算法對(duì)權(quán)值修正時(shí),能很快地收斂。
把論文中的BP算法和改進(jìn)BP算法分別進(jìn)行了網(wǎng)絡(luò)訓(xùn)練(選取了4種車型,即q=4),并用到實(shí)際交通線路上進(jìn)行檢驗(yàn)。每種車型的樣本為實(shí)際應(yīng)用中不同情況下的4套樣本(小型車、中型車、重型車、超重型車),這樣用16套噪聲作為訓(xùn)練樣本,并且設(shè)定隱含層的節(jié)點(diǎn)為p=16。網(wǎng)絡(luò)學(xué)習(xí)過(guò)程流程圖如圖3所示。
在網(wǎng)絡(luò)結(jié)構(gòu)完全一樣的情況下,采用(1)式的誤差函數(shù)進(jìn)行訓(xùn)練,需要交叉訓(xùn)練2萬(wàn)次后,才可以在實(shí)際中運(yùn)用,可使輸出精度達(dá)到0.99;而采用改進(jìn)后的誤差函數(shù)(3)式進(jìn)行訓(xùn)練,只需200次,就可以達(dá)到同樣的精度,并能投入到交通線上在線識(shí)別汽車類型。試驗(yàn)結(jié)果如表1所示。
從試驗(yàn)結(jié)果來(lái)看,利用改進(jìn)BP算法可以使網(wǎng)絡(luò)的學(xué)習(xí)速度加快,能很方便地運(yùn)用于實(shí)際生產(chǎn)線。即使有新的車型出現(xiàn)在交通線上,也可以很快完成網(wǎng)絡(luò)的訓(xùn)練。試驗(yàn)結(jié)果測(cè)得識(shí)別錯(cuò)誤率小于1%,并且對(duì)汽車的識(shí)別效果比統(tǒng)計(jì)的方法好。利用改進(jìn)BP算法后,提高了學(xué)習(xí)速度,為神經(jīng)網(wǎng)絡(luò)識(shí)別投入實(shí)際應(yīng)用特別是運(yùn)用到車流量很大的交通線上,提供了一種有效的方法。從實(shí)際應(yīng)用來(lái)看,用神經(jīng)網(wǎng)絡(luò)識(shí)別比用特征統(tǒng)計(jì)識(shí)別的容錯(cuò)性要高一些,也優(yōu)于特征統(tǒng)計(jì)方法。在實(shí)際中如果有新的車型要增加,只要把網(wǎng)絡(luò)的結(jié)構(gòu)稍作改進(jìn)就可以了。