基于模糊自适应的BP神经网络动态行驶车辆车长测算
李寿涛1, 田微1, 郭鹏程1, 马用学1, 张浩2, 王楠3
1.吉林大学 通信工程学院,长春 130022
2.吉林大学 计算机科学与技术学院, 长春 130012
3.吉林大学 汽车工程学院,长春 130022
张浩(1971-),男,副教授,博士.研究方向:模式识别及信息安全,生物信息学.E-mail:zhangh@jlu.edu.cn

作者简介:李寿涛(1975-),男,副教授,博士.研究方向:智能机械及机器人多智能体行为协调与控制,汽车系统动力学与控制.E-mail:list@jlu.edu.cn

摘要

在对绿色通道检测系统实测大量数据分析及实验研究的基础上,提出了一种在车辆动态行驶过程中运用BP神经网络进行车长测算的方法。该方法通过模糊自适应的方式调节BP神经网络的学习率以加快算法的收敛速度。本文将该方法应用于吉林省省际收费站的绿色通道检测系统中,通过对绿通车辆大量的实车数据的测试与验证,结果表明本文所提测算方法能够有效地提高在车辆动态穿行过程中车长的测算精度。

关键词: 自动控制技术; BP神经网络; 动态行驶车辆; 车长测算; 学习率
中图分类号:TP183 文献标志码:A 文章编号:1671-5497(2015)06-1881-06
Dynamic traveling vehicle length measurement based on fuzzy adaptive of BP neural network
LI Shou-tao1, TIAN Wei1, GUO Peng-cheng1, MA Yong-xue1, ZHANG Hao2, WANG Nan3
1.College of Communication Engineering, Jilin University, Changchun 130022, China
2.College of Computer Science and Technology, Jilin University, Changchun 130012, China
3.College of Automotive Engineering,Jilin University,Changchun 130022,China
Abstract

Based on the analysis of large number of measured data obtained from a free toll lane of highway detection system and experimental research, a vehicle length measurement method is proposed based on BP neural network, which can measure the length when the vehicle is traveling. This method can accelerate the convergent speed of BP neural network by fuzzy adaptively adjusting the learning rate of BP neural network. A large number of real vehicle data have been obtained after this method was applied to the detection system in the highway toll lane of Lalin River, an exit of Jilin Province to Heilongjiang Province. The results show that the proposed method of dynamic vehicle length measurement can effectively improve the measuring precision of traveling vehicles.

Keyword: automatic control technology; BP neural network; dynamic vehicle; vehicle length measurement; learning rate
0 引 言

目前通常采用吨位法[1]和无损检测法[2]等技术对过往高速公路绿色通道的车辆进行检测, 然而这些方法往往需要对过往车辆或车厢长度进行测量, 对于车辆车长的测量, 传统方法是进行静态测量, 该方法准确度虽然很高, 但是达不到实时性要求, 同时还存在着很大的缺点, 如耗时、需要大量人力、容易造成道路拥堵等, 因此需要在货车通过绿色通道检测系统过程中能动态并精确地测算出车辆车长。

目前对运动物体实时测量的方法主要有光切法[3]和机器视觉法[4], 但由于我国高速公路上行驶的很多车辆都经过改装, 车身表面不规则、不平整, 使得运用这些方法测量的车长误差较大。

本文在绿色通道检测系统[5]的基础上, 通过对大量实测数据的分析, 提出一种基于模糊逻辑自适应调节学习率的BP神经网络对动态行驶车辆车长进行测算的方法, 最后通过实验验证该方法能够有效地提高测算精度。

1 问题的提出

由于绿色通道检测系统的车道比较窄, 并且车道两边安装有射线机防护室和线阵机防护室, 这使得大型绿色通道车辆通过检测区域时, 驾驶员会非常谨慎小心, 通过时的速度会急速降低并变化。

在对驾驶员的驾驶行为进行分析的基础上, 对现场大量的绿色通道车辆进行了测试, 得知当绿色通道车辆通过检测区域时, 车速会在一定范围变化, 其变化规律大致如图1[5]“ U型” 曲线带所示。图中t1为驾驶室到达射线机防护室的时间点; t2为驾驶室完全通过整个射线机防护室时的时间点; t3为车厢完全驶离检测区域时的时间点。绿色通道车辆在进入检测车道直到驾驶室到达射线机防护室时, 车辆基本是匀速通过, 车速维持在3.5~5 m/s; 当车辆驾驶室到达射线机防护室时, 驾驶员调整车身减速通过, 这个过程车速会减小到0.5~1 m/s; 当驾驶室通过整个射线机防护室时, 车速逐渐加大, 在车厢完全通过整个射线机防护室时车速基本达到3.5~5 m/s; 之后车辆加速驶离检测区域。

图1 车辆速度变化规律曲线Fig.1 Vehicle speed variation curve

绿色通道车辆在通过检测区域的过程中, 由于要受到外界条件和驾驶员驾驶习惯的影响, 使得车辆通过检测区域的速度是非匀速的, 故不能简单利用时间与速度的关系来计算车辆长度, 这就使得测算动态行驶车辆的车长具有很大困难。

本文作如下定义:T1V1分别为货车驾驶室前端从光电传感器节点一位置行驶到光电传感器节点二位置的时间和平均速度; T2V2分别为货车驾驶室前端从光电传感器节点二位置行驶到光电传感器节点三位置的时间和平均速度; TK为货车车头与车厢之间缝隙通过光电传感器节点一位置的时间; TX为货车货箱部位通过光电传感器节点一位置的时间。

2 BP神经网络模型的建立及动态车辆车长测算
2.1 BP神经网络模型的建立

设输入学习样本为p个:x(1), …, x(p), 已知与其对应的导师为t(1), …, t(p), 学习算法是根据实际的输出y(1), …, y(p)与t(1), …, t(p)的误差E(称作总体误差)来修改由其连接权值和阈值构成的权向量w, 使得y(1), …, y(p)与t(1), …, t(p)尽可能地接近; 在此, 总体误差E被看作是权向量w的函数, 即E=E(w)[6, 7]

设输入的学习样本集为Iα ={ V1α, V2α, T1α, T2α, TKα, TXα}, 对应的导师信号为Lα , 在此用这α 个样本对(Iα , Lα )对网络进行训练[8]。对应于第m(m=1, 2, …, α )个样本的实际输出值为ym, 定义第m个样本的神经网络学习误差函数如下:

Em=12Lm-ym21

所有α 个样本经正向传递运算后, 网络总误差为:

EΣ=m=1αEm=12m=1α(Lm-ym)22

如果网络误差大于设定的允许期望值, 则应用最速下降法, 反向调整各层连接权值, 使得误差达到最小。反向传播算法以误差修正学习规则对神经元权值进行调整, 即:

wijn+1=wijn+Δω3Δω=-ηEΣw=-ηm=1αEmw4

式中:η > 0是学习率参数, 该参数用来调节神经网络搜索最优权值的速度和振荡程度; n为迭代次数; ω 为网络任意两个神经元之间的连接权值; wij为网络第i层到第j层的连接权值; Δ ω 为神经元之间的连接权值变化增量。

等效误差按上述推导过程由输出层向输入层反向传播产生, 经过多次调整网络误差最终收敛于期望误差。

用BP神经网络算法进行动态车辆车长测算数据处理的原理是:构建一个由6个节点(T1V1T2V2TKTX)的输入层和一个节点(静态车长L)的输出层组成的三层BP神经网络模型, 可表示为六元函数f(V1, V2, T1, T2, TK, TX), 用通过实验获得的样本数据在Matlab上进行多次训练构建六输入单输出的神经网络, 如果训练结果达到系统的误差要求, 则可以确定输出各隐含层和输出层的权值和阈值, 然后就可以利用训练好的网络参数, 根据测得的数据, 获得较为精确的车辆车长。

隐含层选用如下所示的双曲正切型函数tansig:

fx=21+e-x-1=1-e-x1+e-x5

输出层选用如下所示的线型函数purelin:

fx=x6

2.2 基于模糊逻辑自适应调节学习率的动态行驶车辆车长测算

学习率η 也称为步长, 在标准BP算法中定为常数, 然而在实际应用中, 学习率不易选择, 选得太小, 收敛速度太慢; 选得过大, 则有可能修正过大, 导致振荡甚至发散[9]。对于一个特定的问题也很难确定一个从始至终都适合的最佳学习率, 为了加速收敛过程, 一个较好的方法是自适应改变学习率[10]。通常调节学习率的准则是:通过检查权值的修正量是否真正降低了误差函数来调节学习率参数, 当误差函数降低时, 则说明所选取的学习率值小了, 可以对其增加学习率; 当误差函数减小非常快时, 学习率保持不变; 而当误差函数不减反增时, 应降低学习率[11, 12]

由于对学习率的调节不具有精确的数学模型, 因此在此引入模糊控制[13]算法来调节学习率。设误差e的论域为X, 量化为7个等级, 即:

X={-3, -2, -1, 0, 1, 2, 3}

选取控制量lr的论域为Y, 量化为7个等级, 即:

Y={-3, -2, -1, 0, 1, 2, 3}

做出语言变量的隶属函数曲线如图2所示。描述输入变量及输出变量的语言值的模糊子集为{负大(NB), 负小(NS), 零(O), 正小(PS), 正大(PB)}。

图2 语言变量的隶属函数曲线Fig.2 Language variable membership function curve

图2可以得到表1模糊变量elr的赋值表。经过反复测试调整后得到如表2所示的模糊控制规则。

表1 模糊变量(e, lr)的赋值表 Table 1 Fuzzy variable(e, lr)assignment table
表2 控制规则表 Table 2 Control rules table

解模糊化采用最大隶属度法, 即选取模糊子集中隶属度最大的元素作为控制量, 例如模糊子集为C, 所选择的隶属度最大的元素u* 应满足:

ucu* ucu, uU7

u* 仅为一个, 则选择该值作为控制量。若u* 有多个, 则选取它们的平均值 u-* 作为控制量。最大隶属度方法简单易行, 算法实时性好[14]

建立的基于模糊自适应调节学习率的神经网络模型如图3所示。图3中, L为输出的车长; W1为输入层到隐含层的权值; W2为隐含层到输出层的权值; BBL为隐含层和输出层的阈值; EΣ 为误差; e为偏差量; lr为学习率。

图3 基于模糊自适应调节学习率的 BP神经网络算法模型图Fig.3 Model diagram of BP neural network algorithm based on fuzzy logic adaptive learing rate

3 实验验证及分析

通过Matlab软件内部的神经网络工具箱来对网络进行训练, 把在绿色通道检测现场测得的部分数据作为学习样本数据, 其他的数据作为训练样本数据就可以训练网络, 为了使网络尽快收敛, 所有数据均使用了归一化处理。合理调整网络的学习参数, 经过多次训练达到了目标要求(均方误差在3%以内), 并得到了神经网络模型。神经网络的训练结束后, 即可得到以下各式:

BL=0.1201;

B= 0.9910-1.56851.66391.6971-0.5662-0.46681.77561.0218T;

w2= -1.5160-1.04312.0398-0.89981.68012.27241.9053-2.7053;

w1= wV1wV2wT1wT2wTKwTX=

-1.88140.76801.1561-0.91241.2409-1.15481.06920.42081.2703-0.1200-1.0029-0.5287-3.85791.6697-0.79341.30511.32820.3755-0.3549-1.40320.14330.16151.11262.0731-2.5776-0.27501.58320.34990.6262-0.97151.03251.37661.04862.1654-2.1703-0.65340.7795-1.1354-0.30980.21341.4335-0.8043-0.79010.97650.45251.8531-0.6338-0.3070

这样便可以确定六元函数L=f(V1, V2, T1, T2, TK, TX):

L=purelin i=18tansigV1WV1i+V2WV2i+

T1 WT1i+T2 WT2i+TK WTKi+

TXWTXi+BiWLi+BL

BP算法改进前后的目标训练图如图4所示, 其中蓝色为改进前的目标训练图, 其学习率设置为0.01; 红色为改进后的目标训练图, 采用自适应调节学习率的方法。

图4 BP算法改进前后目标训练图Fig.4 BP algorithm improved before and after the target training

图中纵坐标表示每次训练的均方误差, 横坐标表示训练次数。由图中可以看出, 在相同情况下, 改进后的收敛速度明显快于改进前的收敛速度, 改进前需要91 796次训练达到所需的训练精度3%, 而改进后只需要42 751次训练即可达到同样的训练精度。

神经网络的测算数据与测试数据的对比图和误差变化如图5图6所示。由两图对比可以看出, 车长数据大多数分布在16 m到18 m之间, 误差分布在± 1%之间。

图5 神经网络测算数据与测试数据的对比Fig.5 Neural network calculation data and test data comparison

图6 误差变化Fig.6 Error variation

训练精度为3%时测算结果与实际车长部分数据的比较见表3, 由表3可知, 误差在3%以内。

表3 测算车长与实际车长比较 Table 3 Calculated results compared with the actual length

在不同训练精度下改进前后网络训练次数的对比见表4。由表4可以看出:在训练精度为3%到6%之间, 改进后的训练次数明显少于改进前, 收敛速度加快。

表4 在不同训练精度下算法改进前后网络训练次数对比 Table 4 Comparison of network training times before and after algorithm improvements under different training accuracy
4 结束语

提出了一种基于模糊自适应调节学习率的BP神经网络测算动态行驶车辆车长的方法, 该方法能够在车辆通过绿色通道检测系统的动态过程中精确测算出车辆长度。经过训练好的神经网络测算得到的结果与实际车长进行对比, 误差控制在3%以内, 达到了较好的结果, 证明用神经网络方法可以提高动态车辆车长的测算精度。通过模糊逻辑自适应调节学习率改进BP神经网络后, 收敛速度有了很大提升, 能够有效缩短BP神经网络的训练时间。实验表明, 该方法具有较高的计算精度, 能够达到实际应用的要求。

The authors have declared that no competing interests exist.

参考文献
[1] 张哲, 金兆国, 蔡丽丹, . 绿色通道货物检测技术[J]. 吉林交通科技, 2012(1): 43-46.
Zhang Zhe, Jing Zhao-guo, Cai Li-dan, et al. Green channel cargo detection technology[J]. Jilin Transportation Technology, 2012(1): 43-46. [本文引用:1]
[2] 段世忠, 袁昊, 王明明, . 一种针对金属违禁品的绿色通道敞篷车雷达检测方法[P]. 中国: 201010120124. 5, 2012-07-25. [本文引用:1]
[3] 向长波, 宋明, 宋健中. 光切法测量运动车厢中煤堆的体积[J]. 光学技术, 2009, 35(2): 225-228.
Xiang Chang-bo, Song Ming, Song Jian-zhong. Coal volume measuring in mobile carriage with light-sectioning method[J]. Optical Technique, 2009, 35(2): 225-228. [本文引用:1]
[4] 闫霞. 基于机器视觉的体积测量系统研究[D]. 洛阳: 河南科技大学信息工程学院, 2011.
Yan Xia. Study of volume measurement system based on machine vision[D]. Luoyang: Information Engineering College, Henan University of Science and Technology, 2011. [本文引用:1]
[5] 李寿涛, 马用学, 郭鹏程, . 一种基于有限状态自动机的绿通车辆驾驶室避让控制[J]. 吉林大学学报: 工学版, 2014, 44(4): 1069-1075.
Li Shou-tao, Ma Yong-xue, Guo Peng-cheng, et al. Control method for vehicle cab avoidance in free toll lane of highway based on finite state machine[J]. Journal of Jilin University (Engineering and Technology Edition), 2014, 44(4): 1069-1075. [本文引用:2]
[6] Baldi P, Hornik K. Neural networks and principal component analysis: learning from examples without local minima[J]. Neural Networks, 1989, 2(1): 53-58. [本文引用:1]
[7] Vogl T P, Mangis J K, Rigler A K, et al. Accelerating the convergence of the back-propagation method[J]. Biol Cybernetics, 1988, 59(4-5): 257-263. [本文引用:1]
[8] 张雨浓, 杨逸文, 李巍. 神经网络权值直接确定法[M]. 广州: 中山大学出版社, 2010. [本文引用:1]
[9] Mou Rui, Chen Qin-yin, Huang Min-ying. An improve BP network and its application[C]∥2012 Fourth International Conference on Computational and Information Sciences, Kuala Lumpur, Malaysia, 2012: 477-480. [本文引用:1]
[10] Mo Lian-guang, Xie Zheng. An improved BP neural network based on IPSO and its application[J]. Journal of Computers, 2013, 8(5): 1267-1272. [本文引用:1]
[11] Fan Tie-hu, Qin Gui-he, Zhao Qi. Research on an improved BP neural network based on fast quantized orthogonal genetic algorithm[C]∥Fifth International Conference on Natural Computation, Tianjin, 2009: 269-273. [本文引用:1]
[12] Li Xiao-yuan, Qi Bin, Wang Lu. A new improved BP neural network algorithm[C]∥Second International Conference on Intelligent Computation Technology and Automation, Changsha, Hunan, 2009: 19-22. [本文引用:1]
[13] 李士勇. 模糊控制[M]. 哈尔滨: 哈尔滨工业大学出版社, 2011. [本文引用:1]
[14] 李世武, 田晶晶, 沙学锋, . 基于模糊综合评价和BP神经网络的车辆危险状态辨识[J]. 吉林大学学报: 工学版, 2011, 41(6): 1609-1613.
Li Shi-wu, Tian Jing-jing, Sha Xue-feng, et al. Identification of vehicle risk status based on fuzzy comprehensive evaluation and BP neural network[J]. Journal of Jilin University (Engineering and Technology Edition), 2011, 41(6): 1609-1613. [本文引用:1]