基于车型识别的BP算法Matlab实现_第1页
基于车型识别的BP算法Matlab实现_第2页
基于车型识别的BP算法Matlab实现_第3页
基于车型识别的BP算法Matlab实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于车型识别的BP算法Matlab实现杜华英(惠州商贸旅游学校信息技术教研室,广东 惠州 )摘 要 车型识别具有广阔的应用前景,BP神经网络在车型识别中能够提高车型的识别率。在任何车型大致都可以抽象成一个“工”字型情况下,提取了其中的顶长比、前后比和顶高比这三项相对参数作为BP神经网络的输入参数。采用了三层3-8-3的BP神经网络,并用14对输入参数离线训练之,再用4对新数据进行检验,均得到了预想的期望值。关键词 车型识别;BP神经网络;MatlabThe Application of BP Algorithm Using Matlab Based on Vehicle Type RecognitionDU Hua-ying1(Information Technology Office, Huizhou School of Business & Tourism, Huizhou China)Abstract: Vehicle type Recognition has a wide future application prospect. BP artificial neural network can improve the recognition rate of vehicle type in the Vehicle Type Automatic Recognition System. Any vehicle type can be abstracted into a 工-shaped mode. Three relative parameters are used as the input parameters of BP ANN. A three layered 3-8-3 BP ANN is adopted and is trained by 14 pair input parameters. The BP ANN is tested by 4 pair input parameters and then some expected values are obtained in this processing.Key words: Vehicle Type Recognition;BP Neural Network;Matlab0 引言车型识别在现代交通监控和管理中有着非常广阔的应用前景,可应用于高速公路、过桥过路等各类车辆收费站以及大型停车场的自动收费系统。另外,BP神经网络已被人们研究了几十年,技术成熟,是应用最为广泛的一种人工神经网络,在许多科学领域中均具有重要的实用意义,其学习能力和容错能力对模式识别具有独到之处1。Matlab作为一个强大的工具软件,具备了数字图像图形和人工神经网络等方面的处理功能,受到了人们的欢迎与追捧。1 汽车车型分析特征提取是目标识别中一个非常重要的环节,一个识别系统的识别能力与特征矢量的选取有直接关系。选取的特征要求具有高度的代表性、典型性及稳定性。因此,特征提取是模式识别的关键步骤之一。为了便于分类,必须收集各种车辆的主要技术参数。经过实地观察测量和查找有关车辆的类型数据及资料,通常各类车辆,其车身侧视图可提供车型的一些参数,如:顶蓬长度、车辆长度、车辆高度等信息。由于图像在拍摄时,镜头与车辆间的距离、角度等的微小变化都会造成同一车辆在两次拍摄图像时,上述各参数的绝对大小有可能不相同,这就决定着不能用绝对长度或绝对高度等参数作为车型的识别特征。按汽车的应用功能进行大致的分类,可分为客车、轿车和货车三类。对这三类车型的统计分析,通常选取的特征是:顶蓬长度与车辆长度之比,称之为顶长比;以顶蓬的中垂线为界,前后两部分之比,称之为前后比;顶蓬长度与车辆高度之比,称之为顶高比1。按此规则,任何车型大致都可以抽象成一个“工”字型,并使用车辆的顶蓬长度为d,前底长为C1、后底长为C2、高度为h(取顶长中点作中垂线)这四个绝对参数构成三个相对参数。通过对轿车、货车、客车外形的分析,处理了相关的数据,得出车型识别技术的特征值。取各车型的侧视图来进行分析,取特征值d/( C1+ C2 ) , d/h,C1/C2作为BP网络的输入,其中d代表顶长,C1、C2分别代表各车自顶长中垂线所分的前后长度,h代表轿车的高度,把各种车抽象成“工”字形,如图1图3。图1 抽象成“工”字形轿车模型图2 抽象成“工”字形货车模型图3 抽象成“工”字形的客车模型2 主要程序思路BP网络中各层结点数的选择对网络的性能影响很大。对输入结点,输入层的结点数通常是由问题的本身决定的。取d/( C1+ C2 ) ,d/h , C1/ C2作为输入的特征值,将选取的特征作为网络的输入向量X=X1,X2,X3,其中X1为顶长比,X2为顶高比,X3为前后比;网络的期望输出为Y1=1 0 0,Y2=0 1 0,Y3=0 0 1,其中Y1,Y2,Y3分别代表卡车,客车和轿车,因此输入层的节点数为3,输出层的节点数也为32。车型的识别结果有3种,所以输出层结点数为3;隐层的结点数是BP网络构建中最具挑战性的问题,隐单元直接影响着网络的容量、学习速度、和输出性能等。首先要确定隐层数,一般认为,增加隐层数可以降低网络误差(也有文献认为不一定能有效降低),提高精度,但也使网络更加复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向,隐层数应该有最优值。Hornik等早已证明:若输入层和输出层采用线性转换函数,隐层采用Sigmoid转换函数,则含一个隐层的MLP网络能够以任意精度逼近任何有理函数。显然,这是一个存在性结论。在设计BP网络时可参考这一点,应优先考虑3层BP网络,即只有1个隐层。一般情况下,靠增加隐层节点数来获得较低的误差,其训练效果要比增加隐层数更容易实现。对于没有隐层的神经网络模型,实际上就是一个线性或非线性(取决于输出层采用线性或非线性转换函数型式)回归模型。在此,仅选取了一个隐层进行BP神经网络的构建。对于隐层节点数目的选择也是一个十分复杂的问题,根据前人的经验,可以参照以下公式设计:(其中n为隐含层神经元数,ni为输入神经元数,n0为输出神经元数,a是110之间的常数)。隐含单元数与问题的要求输入输出单元的多少都有直接的关系。隐层节点数太少,网络可能训练不出来,因为隐层节点数少时,局部极小就多,或者不“鲁棒”,不能识别以前没有看到过的样本,容错性差。增加隐层节点数可能改善网络与训练组匹配的精确度,但是隐层节点数太多又使学习时间过长,误差也不一定最佳。隐含层网络的选择原则是在能够解决问题的前提下,再加上一个到两个神经元以加快误差的下降速度即可3。为了找到合适的隐层节点数目,最好的办法是在网络的学习过程中,根据自己的结构,最后得到一个大小合适的神经网络模型。根据实际情况,采用三层的BP网络4,输入结点数为3,隐层结点数为8,输出节点数为3,即3-8-3的网络结构;输入层至隐层以及隐层至输出层,均采用Sigmoid函数。3 主要核心代码P为用于训练的车型数据,T为期望输出目标值。net为建立的3-8-3 BP神经网络,系统每50步显示一次训练误差的变化曲线,学习率设置为0.6,最大训练循环次数设置为5000,设置目标误差为0.001。Q为4对未知车辆的相关输入参数,B为生成得到的值,B为期望输出值。P=0.8645 0.8329 0.9498 0.8735 0.7797 0.8805 0.7453 0.8456 0.1473 0.1526 0.3421 0.3164 0.2311 0.1534 0.3005 0.3962 0.3962 0.3687 0.4444 0.2921 0.3319 0.3745 0.2747 0.3331;2.3053 1.9963 2.4015 2.4342 1.5103 1.5903 1.3771 1.7366 0.4372 0.4572 1.0006 0.9250 0.9459 0.5280 0.8357 1.0277 0.7500 0.8138 1.0012 0.9845 1.0754 1.3827 0.9566 1.1811;0.9288 0.9625 0.9466 0.8956 0.9315 0.9466 0.9543 0.9721 0.3926 0.4588 0.5166 0.1875 0.1306 0.5172 0.1874 0.1875 1.5238 2.8823 2.1818 2.3000 1.4878 1.3600 1.4878 1.5531;%用于训练的车型数据PT=1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1;%期望目标值Tnet=newff(minmax(P),8,3,tansig,tansig,traingdx);%建立3-8-3 BP神经网络net.trainParam.show = 50;%系统每50步显示一次训练误差的变化曲线net.trainParam.lr = 0.6;%设置学习率net.trainParam.mc = 0.9;%设置动量系数net.trainParam.epochs = 5000;%设置最大训练循环次数net.trainParam.goal = 1e-3;%设置目标误差net,tr=train(net,P,T);%训练BP网络A = sim(net,P);Q=0.8819 0.9112 0.9340 0.9740;2.3588 2.4393 2.812 2.5451;0.9156 0.9547 0.9912 0.9702;%新车型的相关参数B = sim(net,Q)%生成得到值BB = 0.9896 0.9908 0.9954 0.9923 0.0151 -0.0775 -0.3423 -0.1395 0.0215 -0.0693 -0.3540 -0.1185%B=1 1 1 1;0 0 0 0;0 0 0 04 结束语任何车型大致都可以抽象成一个“工”字型,取顶长比、前后比和顶高比这三项相对参数作为BP神经网络5的输入参数。另外,还采用了三层3-8-3的BP神经网络,并用14对输入参数离线训练之,再用4对新数据进行检验,均得到了期望的结果。经证明,此Matlab程序能够很好地完成相关任务,并取得了良好的效果。参考文献1 周红晓基于BP神经网络的汽车车型识别方法J微电子学与计算机2003,(4):39-41.2 霍炜,刘大维,王江涛复杂背景下的车型自动分类研究J青岛理工大学学报2008,29(1):107-1103 胡方明,简琴,张秀君基于BP神经网络的车型分类器J西安电子科技大学学报(自然科学版)2005,32(3):440-4424 杜华英基于PSO算法的BP神经网络研究J现代计算机(专业版)2009,(02)5 杜华英,赵跃龙人工神经网络典型模型的比较研究计算机技术与发展2006,(05)6 李在铭等数字图像处理压缩与识别技术M西安电子科技大学出版社20007 蒋宗礼人工神经网络导论M高等教育出版社20018 陶清平,陶白云基于模糊神经网络的汽车类型自动识别分类系统J计算机工程与应用1998,119 王年,任彬基于神经网络的汽车车型图像自动识别J中国图像图形学报1998,8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论