- 1
- 2
- 3
- 4
- 5
- 6

BP神經網絡在靜態汽車衡軸自動識別中的應用
BP神經網絡在靜態汽車衡軸自動識別中的應用
上海香川電子衡器有限公司
【摘 要】 本文主要探討BP神經網絡在靜態汽車衡軸自動識別中的應用。其方法是利
用最小二乘法對車輛的重量數據進行擬合,設計了一種合適的BP神經網絡模型,用
Matlab編寫模型程序,利用車輛速度與車輛上稱重量建立模型。BP神經網絡在靜態汽車
衡軸自動識別的預測中取得了很好的效果。BP神經網絡在靜態汽車衡軸自動識別中有良
好的應用前景。
引言:
靜態汽車衡軸自動識別是指汽車在稱重的過程中不借助外加的軸識別器,只通過對汽車
本身的上秤的重量信息進行研究,得出汽車的準確軸數,其一直以來被作為靜態汽車衡
稱重領域的一個課題被人們所研究。但是由于現場及汽車自身的諸多因素所影響,軸識
別率一直不能達到一個讓人滿意的結果。近年來,隨著科學技術的發展,各種數據處理
方法應運而生,用神經網絡去進行靜態汽車衡軸自動識別的方法引人注目,它有著傳統
處理方法無法比擬的適應性、容錯性及自組織性等優點,特別是用傳統處理方法效果不
好或不能達到目的時,采用BP神經網絡往往能收到較好的效果。本文論述了采用BP神
經網絡算法實現靜態汽車衡軸自動識別的建模,通過最小二乘法與LM算法使BP神經網
絡算法在靜態汽車衡軸自動識別應用中軸識別準確率達到99%以上。
1 BP神經網絡原理與理論分析
BP(Back Propagation)網絡是一種按誤差逆傳播算法訓練的多層前饋網絡,是目
前應用最廣泛的神經網絡模型之一。BP網絡能學習和存貯大量的輸入-輸出模式映射關
系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,
通過反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和最小。
在靜態汽車衡稱重的過程中,對軸識別率產生影響的兩個最大的因素就是車速與車
重,因為靜態秤的特性就使得其稱重精度很高,通過對稱重傳感器的處理,我們可以很
精確的知道車輛上秤的重量;在靜態稱重的過程中,車輛正常行駛上秤過程我們可以認
為其是一個勻速上秤過程,那通過稱重儀表的AD采集速率與秤自身的有效長度,我們
可以計算出其車速。我們把車速與動態車重作為輸入層,把車軸與車重作為輸出層就可
以構建一個二個節點的輸入層和兩個節點的輸出層的多層神經網絡模型。
2 BP網絡在靜態汽車衡軸自動識別中的建模過程
BP神經網絡建模的基本流程如圖1所示:首先收集靜態汽車衡產生汽車軸數與軸
重的主要影響因素及正確的軸數與軸重結果;然后把影響因素及正確的軸數與軸重結果
輸入到設計好神經網絡模型中進行反復訓練,直到網絡收斂(即達到預期的訓練誤差),
在訓練過程中可適當采用一定的技巧使網絡的訓練速度最快、誤差最小、模型最優;最
后用建立好的模型對車軸與軸重進行預測。下面具體探討網絡模型的設計要點。
2.1 確定訓練樣本
從理論上講,訓練樣本集的容量越大,訓練后神經網絡的診斷準確率就有可能提高,
但會造成訓練速度偏慢。由于訓練樣本集內可能含有信息重復的冗余樣本,將這些冗余
樣本剔除后也不會影響診斷準確率,這樣可用較小的典型訓練樣本集獲取較高的診斷準
確率。
2.2 變量值的歸一化處理
歸一化處理的目的是把變量值歸一到區間[-1,1]內,主要是因為BP網絡中非線
性傳遞函數的值域一般在區間[-1,1]內,因此輸入及輸出變量的取值都限于這個區間
之內。二是為了使輸入值(特別是那些比較大的輸入值)均落在Sigmoid傳遞函數變化
較大的區間,使網絡的訓練速度最快,改善網絡的性能。
2.3 BP網絡的初始化
開始訓練時,首先進行參數的初始化,主要是對最大訓練次數、訓練精度、隱節點
數、初始權值、閾值及速率進行初始化。網絡的初始權值一般取[-1,1]之間的隨機
數,這樣可保證每個神經元的權值都能夠在 型傳遞函數變化梯度最大的地方進行調節。
2.4 輸入與輸出層的設計
輸入輸出層主要是接收數據以及給出最后需要的處理結果。在網絡建設之前必須要
明確輸入輸出層以及它們之間的聯系,對于三層BP神經網絡來說,輸入層僅設一層,
輸入神經元的個數與輸入變量的個數相同。輸出層也僅有一層,輸出層神經元的個數與
所希望得出的預測變量數目相等。
2.5 隱含層數以及隱含層節點的設計
在設計多層神經網絡時,要考慮到采用幾個隱含層及各層隱含節點的個數,一般來
說,增加隱含層可增加BP神經網絡的處理能力,但是會引起訓練的復雜化及訓練時間
加長。通用的選取隱含層及其節點的規則是:對于任意問題首先只使用一個隱含層及少
數的隱層節點,然后不斷增加隱含層節點數,直到得到滿意的結果為止。最后再考慮增
加隱含層。
2.6 信息反饋
當輸出的結果不正確時,通過修正權值與閾值,直到其誤差減少到最小。
2.7 模型確認
模型確認后,輸入未知參數,對已建立模型進行確認,得出結果。
3 靜態汽車衡軸自動識別的神經網絡模型
3.1 BP神經網絡模型建立
由于我們所研究的基礎為靜態汽車衡,在車速為40km/h的情況下,其對于車輛的
稱重要求能夠完全滿足要求,所以我們主要是對車軸進行了分析。只要是把車軸準確率
能夠保證,那么就可以準確得出車輛的軸重以及車輛的總重。
BP神經網絡算法對靜態汽車衡數據
處理的原理是:構建一個二個節點(汽車
車速V與實時車重W1)的輸入層和兩個
節點(車軸Axle與車重W2)的輸出層的
多層神經網絡模型。通過實驗獲得的樣本
數據,在MATLAB上通過多次訓練構建
的雙輸入雙輸出神經網絡。如果泛化的結
果達到系統的誤差要求,則輸出各隱層和
輸出層的權值和閾值,然后可以利用訓練
好的網絡參數,根據測得的任意速度和動
態車重,得出當前精確的車軸與車重。
V與w1為測得的汽車行駛速度和動態車重;Axle與w2為輸出的車軸與車重;
輸入層與隱層之間的權值為wij,閾值i與j;隱層與輸出層之間的權值為wjk,閾值為j與k;
隱層選用雙曲正切型函數tansig,函數原形為:112)()2(.
+=.xexf
輸出層的神經元則采用線性傳遞函數purelin,函數原形為=)(xfx;
則隱層節點的輸出為:j=1,2,……j;網絡訓練的函數設定為trainlm。 )(
20iiijxwfWjΣ==
3.2 樣本獲取及訓練
本實驗是在靜態汽車衡的平臺上,共采用了2~12軸共12種不同車型的車輛,加
載不同的重量分別在不同的速度下(5~40km/h)進行分組試驗。在車輛重量信息輸入
之前,我們采用了最小二乘法對車輛的重量數據進行擬合,對數據進行了一次濾波處理,
設計合適的神經網絡參數。輸入神經元2個,單層隱含層,隱含層神經元數目4~13個
之間,通過靈敏度修剪算法確定隱含層的最佳神經元個數,輸出層神經元個數為2;訓
練, 次數1000次,訓練目標0.01;隱含層采用 型正切函數tansig,輸出層采用線性傳遞
函數purelin,網絡訓練的函數設定為trainlm。通過反復訓練發現,當隱含層神經元個數
為6時,網絡的訓練速度最快,僅需要6次訓練便達到到了預期的訓練誤差,訓練的速
度也比均勻,網絡振蕩最小。
4 結束語
我們把上述訓練好的BP神經網絡模型進行考核,把我們的產品投入到陜西30多個
超限站進行試驗,從客戶中拿到的總計約有10萬組數據進行統計,我們的軸識別率可
以達到99%以上,其中重車的識別率達100%,得到了客戶的認可,完全可以滿足現行
超限需求。實驗結果證明此方法在現實中已經取得了很好的效果,并為靜態汽車衡實現
動態稱重打下了良好的基礎,有著重要的實際意義。