- 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%,得到了客户的认可,完全可以满足现行
超限需求。实验结果证明此方法在现实中已经取得了很好的效果,并为静态汽车衡实现
动态称重打下了良好的基础,有着重要的实际意义。