基于神经网络的车牌识别

上传人:沈*** 文档编号:127521421 上传时间:2022-07-30 格式:DOC 页数:20 大小:819KB
收藏 版权申诉 举报 下载
基于神经网络的车牌识别_第1页
第1页 / 共20页
基于神经网络的车牌识别_第2页
第2页 / 共20页
基于神经网络的车牌识别_第3页
第3页 / 共20页
资源描述:

《基于神经网络的车牌识别》由会员分享,可在线阅读,更多相关《基于神经网络的车牌识别(20页珍藏版)》请在装配图网上搜索。

1、车牌辨认系统设计摘要:车牌辨认系统(License Plate Recognition ,简称LPR)是智能交通系统(ITS)的核心构成部分,在现代交通管理系统中发挥着举足轻重的作用。本文运用神经网络算法从车牌图像预解决、车牌定位、车牌字符分割和车牌字符辨认这几种方面对车牌辨认技术进行研究,运用MATLAB仿真,实现对车牌辨认系统的设计。核心词:神经网络算法,图像预解决,车牌定位,车牌字符分割,车牌辨认Design of License Plate Recognition SystemAbstract: License Plate Recognition System (LPR) is the

2、 core component of Intelligent Transportation Systems (ITS). LPR plays an important role in a modern traffic management system. This paper applied neural network algorithm to the license plate image pre-processing, license plate license plate character segmentation and character recognition to study

3、 the license plate recognition technology. These aspects of license plate recognition technology are studied with MATLAB simulation to achieve the design of the license plate recognition system.Key words:neural network algorithms, image pre-processing, license plate location, license plate character

4、 segmentation, license plate recognition 一引言随着国内经济的迅速发展,人民生活水平的不断提高,私有车辆越来越多,对交通控制、安全管理的规定也日益提高,智能交通管理(Intelligence Transportation System,简称ITS)已成为目前交通管理发展的重要方向,而车牌辨认技术(LPR)作为智能交通系统的核心,起着举足轻重的作用,运用该技术可以实现对车辆的自动登记、验证、监视和报警,高速公路收费,对停车场进行管理,特殊场合车辆的出入许可等1 。汽车牌照自动辨认系统是应用图像解决技术、模式辨认技术和神经网络技术,从复杂背景中精确提取、辨认

5、出汽车牌照。自动车牌辨认技术是解决交通管理问题的重要手段,是计算机图像解决技术和模式辨认技术在智能交通领域的典型应用。由于神经网络具有良好的自学习和自适应能力,同步有很强的分类能力、容错能力和鲁棒性,可以实现输入到输出的非线性映射,可在有干扰的状况下对字符实现分类辨认,可以解决车牌字符速度和辨认对的率等问题,故被广泛地用于汽车牌照辨认2。本文设计使用BP神经网络运用MATLAB仿真,对车牌字符进行辨认。二系统总体设计车牌辨认系统的构成如图1所示成果显示车牌图像采集车牌图像预解决车牌定位车牌字符分割车牌辨认图1 车牌辨认系统的构成其中各个模块的研究内容涉及:1 .车牌图像采集:通过安装在过道路口

6、或者车辆出入通道的摄像机实时捕获车辆视屏图像,并传播到计算机上以便于实时的解决。2.车牌图像预解决:重要完毕涉及图像灰度变化,图像边沿检测、图像二值化等来突出车牌的特性,以便于更好的车牌定位。3. 车牌定位:从摄入的汽车图像中找到车牌的位置,并把具有车牌图像的区域提取出来,以供后端的字符分割解决4.车牌字符分割:对搜索定位后的车牌区域进行字符分割, 将车牌分为N个单一的字符5.车牌辨认:对于提取出的单个字符,先进行归一化操作,再运用训练好的神经网络进行字符辨认。6. 成果显示:显示解决后的车牌并与原始车牌相比较三各个模块设计3.1 车牌图像采集当系统发既有车辆通过感应线圈或监视图像发生变化时,

7、触发图像采集系统,通过CCD摄像机摄取采集出车牌图像,然后车牌自动辨认模块对车牌图像进行预解决、车牌定位、字符分割、字符辨认等一系列解决辨认出车牌号码,辨认成果和原始车牌图像通过网络传播至监控中心,留待后来车牌查询和交通流量记录3。本次设计重要是实现对已经采集到的车牌图像进行辨认3.2 车牌图像预解决汽车牌照中的字符重要由有限中文、字母和数字构成,采用固定的印刷体格式。由于图像上字符光照不均、车牌自身污损、汽车行驶速度较快、牌照颜色类型较多、拍摄角度及地况等主客观因素会使车牌字符发生畸变,从而导致辨认上的困难,因此,为提高牌照的字符辨认率, 必须进行预解决, 以便得到较为清晰的待辨认的单个字符

8、.这些预解决涉及灰度变换、边沿检测、腐蚀、填充、形态滤波解决等4。预解决的效果对随后的定位解决有很大的影响,因此选择可靠的预解决算法也是非常重要的。图像预解决程序设计流程图如下:原始图像图像灰度变换边沿检测对图像进行腐蚀对车牌图像填充成果显示图2 车牌图像预解决流程预解决的成果显示如下图3图3 车牌图像预解决3.3 车牌定位车牌定位措施的出发点是运用车牌区域的特性来判断牌照,将车牌区域从整幅车辆图像中分割出来。在车牌辨认中,定位的成功与否以及定位的精确限度将会直接决定后期能否进行车牌辨认以及辨认的精确度。车牌定位措施波及到的具体措施有: 基于边沿检测的措施、区域生长法,构造灰度模型法,二值图像

9、的数学形态学运算法,灰度图像的数学形态学运算法,自适应边界搜索法,DFT变换法,模糊聚类法等5。这里采用基于边沿检测的措施,一方面清除图像中的背景,然后得到汽车牌照的特性区域,再通过一定的方式定位这个区域,最后把汽车牌照从图像中分割出来。所谓“边沿”就是指其周边像素灰度有阶跃变化的那些像素的集合。“边沿”的两侧分属于两个区域,每个区域的灰度均匀一致,而这两个区域的灰度在特性上存在一定的差别。边沿检测的任务是精拟定位边沿和克制噪声。检测的措施有多种, 例如Roberts 边沿算子、Prewitt 算子、Sobel 算子以及拉普拉斯边沿检测。这些措施正是运用物体边沿处灰度变化剧烈这一特点来检测图像

10、的边沿。各算子对不同边沿类型的敏感限度不同, 产生的效果也不同, 通过大量实验分析可知, Roberts边沿算子是一种运用局部方差算子寻找边沿的算子, 定位比较精确; Prewitt算子和Sobel算子对噪声有一定的克制能力, 但不能完全排除伪边沿; 拉普拉斯算子是二阶微分算子, 对图像中的阶跃型边沿点定位精确且具有旋转不变性, 但容易丢失一部分边沿的方向信息, 同步抗噪能力较差。针对不同的环境和规定, 选择合适的算子来对图像进行边沿检测才干达到好的效果。具体定位流程如下。 原始图像图像预解决边沿算子及其二值车牌定位 图4 车牌定位流程图车牌解决成果如图5所示:图5车牌定位解决成果3.4车牌字

11、符分割字符的分割是指将车牌区域分割成若干个单个的字符区域,把单个故意义的字符从字符串中提取出来,作为独立的字符图像。字符分割的成败与否直接影响到单字的辨认效果,如果分割出的字符浮现了断裂、粘连,则系统难以辨认。本次设计中采用的是垂直投影字符分割措施,即先将图像二值化,然后进行水平倾斜以及竖直倾斜校正,清除某些噪声,然后将车牌像素灰度值按垂直方向累加,即所谓的垂直投影。由于字符块的垂直投影必然在字符间距或字符内的间隙处获得局部最小值,因此分割位置应当在局部最小值处6。此措施比较简朴易行,程序设计简朴,便于设计和操作,因此比较常用。由于在车牌定位中得到的是彩色的车牌区域图像,故在字符分割前需对图像

12、进行预解决。图6 列方向像素点灰度值累积和图7车牌字符分割成果图8车牌字符归一化后显示成果3.5车牌字符辨认3.5.1 BP神经网络简介 BP (Back Propagation)神经网络,即误差反传误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程构成。输入层各神经元负责接受来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息解决层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层构造;最后一种隐层传递到输出层各神经元的信息,经进一步解决后,完毕一次学习的正向传播解决过程,由输出层向外界输出信息解决成果。当实际输出与盼望输出不符时,进入误差的反

13、向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐级反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调节的过程,也是神经网络学习训练的过程,此过程始终进行到网络输出的误差减少到可以接受的限度,或者预先设定的学习次数为止。 BP神经网络模型涉及其输入输出模型、作用函数模型、误差计算模型和自学习模型。 (1) 节点输出模型 隐节点输出模型:Oj=f(WijXi-qj) 输出节点输出模型:Yk=f(TjkOj-qk) f-非线形作用函数;q -神经单元阈值。 (2) 作用函数模型 作用函数是反映下层输入对上层节点刺激脉冲强度的函数又称刺激函数,一般取为(0,

14、1)内持续取值Sigmoid函数: f(x)=1/(1+e) (3) 误差计算模型 误差计算模型是反映神经网络盼望输出与计算输出之间误差大小的函数:Ep=1/2(tpi-Opi) tpi- i节点的盼望输出值;Opi-i节点计算输出值。 (4) 自学习模型 神经网络的学习过程,即连接下层节点和上层节点之间的权重拒阵Wij的设定和误差修正过程。BP网络有师学习方式-需要设定盼望值和无师学习方式-只需输入模式之分。自学习模型为 Wij(n+1)= h iOj+aWij(n) h -学习因子;i-输出节点i的计算误差;Oj-输出节点j的计算输出;a-动量因子。下图为BP神经网络构造图9 BP神经网络

15、构造3.5.2 神经网络训练BP神经网络学习是典型的有导师学习,其训练重要是运用误差反向传播算法,不断修正网络权值矩阵。由于一般的车牌均由中文、英文字母和数字构成,根据车牌字符的上述特点,在用BP神经网络进行训练和辨认时,所选用的样本需涉及字符的这些特点,加上本次实验的特殊性,由于待辨认车牌图像有限,所得到的车牌字符不是很全,这里为简化起见,只对中文渝,数字09和字母A、L、M、N、R这几种字符进行训练。训练样本如下图10所示:中文:数字09: 字母: 图10 训练样本3.5.3神经网络辨认成果图11神经网络训练用训练好的神经网络对样本进行辨认,图12为车牌辨认成果:图12 不同车牌辨认成果四

16、结论汽车牌照的自动辨认技术作为智能交通的一部分已经得到了越来越广泛的应用,良好的自动辨认技术对现代化交通来说具有重要意义。本设计运用神经网络算法对汽车牌照进行辨认,实现了对车牌预解决,车牌定位车牌分割,车牌辨认,处在的局限性在于,由于不同的汽车牌照其倾斜度和所在位置不一,对于不同的车牌需要变化分割参数才干实现。参照文献1廖金周,宣国荣.车牌的自动分割J.微型电脑应用,1999,(7):P32-342廖翔云,许锦标,龚仕伟.车牌辨认技术研究J.微机发展,(6)3杜圣康,毛力.汽车牌照辨认系统的设计与实现J.电脑学习,(5):P15-164马腾飞,郑永果,赵卫东,基于边沿检测与HOUGH变换的车牌

17、字符分割算法J,系统方针学报,,18(1):391-3935齐林,张向东, 一种汽车牌照字符分割的新措施J. EIC. Vo1. 1 5 :92-946李连昌,兰志强,丛奎荣,元学鹏.车牌自动辨认技术研究进展J.P:34-38附录:% 主程序%clc;close all;clear all;I=imread(C:wangyuanyuanDSC01317.jpg);dw=cpdw(I);%车牌定位PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6=zffg(I);%字符分割及解决PIN0=ycl(PIN0);PIN1=ycl(PIN1);PIN2=ycl(PIN2);PIN3=

18、ycl(PIN3);PIN4=ycl(PIN4);PIN5=ycl(PIN5);PIN6=ycl(PIN6);P0=PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6;%归一化训练样本%I0=ycl(imread(C:wangyuanyuanyangben0.jpg);I1=ycl(imread(C:wangyuanyuanyangben1.jpg);I2=ycl(imread(C:wangyuanyuanyangben2.jpg);I3=ycl(imread(C:wangyuanyuanyangben3.jpg);I4=ycl(imread(C:wangyuanyuanya

19、ngben4.jpg);I5=ycl(imread(C:wangyuanyuanyangben5.jpg);I6=ycl(imread(C:wangyuanyuanyangben6.jpg);I7=ycl(imread(C:wangyuanyuanyangben7.jpg);I8=ycl(imread(C:wangyuanyuanyangben8.jpg);I9=ycl(imread(C:wangyuanyuanyangben9.jpg);I10=ycl(imread(C:wangyuanyuanyangbenA.jpg);I11=ycl(imread(C:wangyuanyuanyangbe

20、nL.jpg);I12=ycl(imread(C:wangyuanyuanyangbenM.jpg);I13=ycl(imread(C:wangyuanyuanyangbenN.jpg);I14=ycl(imread(C:wangyuanyuanyangbenR.jpg);%输入样本%P=I0,I1,I2,I3,I4,I5,I6,I7,I8,I9,I10,I11,I12,I13,I14;%输出样本%T=eye(15,15);% 建立神经网络模型%bp神经网络参数设立%;net=newff(minmax(P),100,15,logsig,logsig,logsig,trainrp);net.in

21、putWeights1,1.initFcn =randnr;net.layerWeights2,1.initFcn =randnr;net.trainparam.epochs=5000;net.trainparam.show=50;net.trainparam.lr=0.003;net.trainparam.goal=0.;net=init(net);%训练样本%net,tr=train(net,P,T);%测试字符,得到辨认数值%for i=2:7T0=sim(net,P0(:,i);T1 = compet (T0) ;d = find(T1 = 1) - 1;if (d=10)str=A;

22、elseif (d=11)str=L;elseif (d=12)str=M;elseif (d=13)str=N;elseif (d=14)str=R;elsestr=num2str(d);endswitch icase 2str1=str;case 3str2=str;case 4str3=str;case 5str4=str;case 6str5=str;otherwisestr6=str;endend%显示定位后分割出的车牌彩图,辨认成果以标题形式显示在图上%s=strcat(渝,str1,str2,str3,str4,str5,str6);figure();imshow(dw),tit

23、le(s);车牌定位程序function dw = cpdw( I )subplot(3,2,1),imshow(I),title(原始图像);I1=rgb2gray(I);%转化为灰度图像subplot(3,2,2),imshow(I1),title(灰度图像);I2=edge(I1,roberts,0.09,both);%采用robert算子进行边沿检测subplot(3,2,3),imshow(I2),title(边沿检测后图像);se=1;1;1;I3=imerode(I2,se); %腐蚀图像subplot(3,2,4),imshow(I3),title(腐蚀后边沿图像);se=st

24、rel(rectangle,25,25);I4=imclose(I3,se);%图像聚类、填充图像subplot(3,2,5),imshow(I4),title(填充后图像);I5=bwareaopen(I4,);%清除聚团灰度值不不小于的部分subplot(3,2,6),imshow(I5),title(形态滤波后图像);y,x,z=size(I5);I6=double(I5); Y1=zeros(y,1); for i=1:y for j=1:x if(I6(i,j,1)=1) Y1(i,1)= Y1(i,1)+1; end end end temp MaxY=max(Y1); %求的车牌

25、的行起始位置和终结位置% PY1=MaxY; while (Y1(PY1,1)=50)&(PY11) PY1=PY1-1; end PY2=MaxY; while (Y1(PY2,1)=100)&(PY2y) PY2=PY2+1; end IY=I(PY1:PY2,:,:); X1=zeros(1,x); for j=1:x for i=PY1:PY2 if(I6(i,j,1)=1) X1(1,j)= X1(1,j)+1; end end end %求的车牌的列起始位置和终结位置% PX1=1; while (X1(1,PX1)3)&(PX1x) PX1=PX1+1; end PX2=x; w

26、hile (X1(1,PX2)PX1) PX2=PX2-1; end PX1=PX1-1; PX2=PX2+1; %分割出车牌图像%dw=I(PY1:PY2,PX1:PX2,:); end字符分割程序function PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6 = zffg(I)dw=cpdw(I);%车牌定位figure(2);subplot(3,2,1),imshow(dw),title(定位剪切后车牌图像)I1 = rgb2gray(dw); %将RGB图像转化为灰度图像subplot(3,2,2),imshow(I1),title(车牌灰度图像)g_max=d

27、ouble(max(max(I1);g_min=double(min(min(I1);T=round(g_max-(g_max-g_min)/3); % T 为二值化的阈值m,n=size(I1);% d:二值图像I1=im2bw(I1,T/256);subplot(3,2,3);imshow(I1),title(二值化车牌图像);I1=bwareaopen(I1,20);subplot(3,2,4);imshow(I1),title(中值滤波后的二值化图像);y1,x1,z1=size(I1);I3=double(I1);TT=1;% 分割字符按行积累量%X1=zeros(1,x1);for

28、 j=1:x1 for i=1:y1 if(I3(i,j,1)=1) X1(1,j)= X1(1,j)+1; end end endfigure(3);plot(0:x1-1,X1),title(列方向像素点灰度值合计和),xlabel(列值),ylabel(合计像素量);Px0=1;Px1=1;%分割字符%for i=1:7 while (X1(1,Px0)3)&(Px0=3)&(Px1x1)|(Px1-Px0)15) Px1=Px1+1; end Z=I1(:,Px0:Px1,:); switch strcat(Z,num2str(i) case Z1 PIN0=Z; case Z2 PI

29、N1=Z; case Z3 PIN2=Z; case Z4 PIN3=Z; case Z5 PIN4=Z; case Z6 PIN5=Z; otherwise PIN6=Z; end figure(4); subplot(3,7,i); imshow(Z); Px0=Px1; q=imresize(Z,45 20);%将字符图片统一划为50*20大小 figure(5); subplot(3,7,i); imshow(q); figure(); subplot(3,7,i); imshow(q);endimwrite(PIN0,C:wangyuanyuanzifu0.jpg,jpg);imwrite(PIN1,C:wangyuanyuanzifu1.jpg,jpg);imwrite(PIN2,C:wangyuanyuanzifu2.jpg,jpg);imwrite(PIN3,C:wangyuanyuanzifu3.jpg,jpg);imwrite(PIN4,C:wangyuanyuanzifu4.jpg,jpg);imwrite(PIN5,C:wangyuanyuanzifu5.jpg,jpg);imwrite(PIN6,C:wangyuanyuanzifu6.jpg,jpg);

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!