基于MATLAB的BP神经网络的数字图像识别文档格式.docx
- 文档编号:17991468
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:15
- 大小:90.93KB
基于MATLAB的BP神经网络的数字图像识别文档格式.docx
《基于MATLAB的BP神经网络的数字图像识别文档格式.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的BP神经网络的数字图像识别文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
可以预计21世纪,图像技术将经历一个飞跃发展的成熟阶段,为深入人民生活创造新的文化环境,成为提高生产的自动化、智能化水平的基础科学之一。
图像技术的基础性研究,特别是结合人工智能与视觉处理的新算法,从更高水平提取图像信息的丰富内涵,成为人类运算量最大、直观性最强,与现实世界直接联系的视觉和“形象思维”这一智能的模拟和复现,是一个很难而重要的任务。
“图像技术”这一上世纪后期诞生的高科技之花,其前途是不可限量的。
随着21世纪经济全球化和信息时代的发展,作为信息来源的自动检测、图像识别技术越来越受到人们的重视。
近年来计算机的飞速发展和数字图像处理技术的日趋成熟,为传统的交通管理带来了巨大转变。
图像处理技术发展相当快,而其中对汽车牌照等相关信息的自动采集和管理对于交通车辆管理、园区车辆管理、停车场管理、交警稽查等方面有着十分重要的意义,成为信息处理技术的一项重要研究课题。
汽车牌照自动识别系统就是在这样的背景与目的下进行研究开发的。
车辆牌照识别(LicensePlateRecognition,LPR)技术作为交通管理自动化的重要手段之一,其任务是分析、处理汽车监控图像,自动识别汽车牌照号码,并进行相关智能化数据库管理。
(三)图像识别的机理
图像识别是人工智能的一个重要领域。
为了编制模拟人类图像识别活动的计算机程序,人们提出了不同的图像识别模型。
例如模板匹配模型。
这种模型认为,识别某个图像,必须在过去的经验中有这个图像的记忆模式,又叫模板。
当前的刺激如果能与大脑中的模板相匹配,这个图像也就被识别了。
例如有一个字母A,如果在脑中有个A模板,字母A的大小、方位、形状都与这个A模板完全一致,字母A就被识别了。
这个模型简单明了,也容易得到实际应用。
但这种模型强调图像必须与脑中的模板完全符合才能加以识别,而事实上人不仅能识别与脑中的模板完全一致的图像,也能识别与模板不完全一致的图像。
例如,人们不仅能识别某一个具体的字母A,也能识别印刷体的、手写体的、方向不正、大小不同的各种字母A。
同时,人能识别的图像是大量的,如果所识别的每一个图像在脑中都有一个相应的模板,也是不可能的。
为了解决模板匹配模型存在的问题,格式塔心理学家又提出了一个原型匹配模型。
这种模型认为,在长时记忆中存储的并不是所要识别的无数个模板,而是图像的某些“相似性”。
从图像中抽象出来的“相似性”就可作为原型,拿它来检验所要识别的图像。
如果能找到一个相似的原型,这个图像也就被识别了。
这种模型从神经上和记忆探寻的过程上来看,都比模板匹配模型更适宜,而且还能说明对一些不规则的,但某些方面与原型相似的图像的识别。
但是,这种模型没有说明人是怎样对相似的“刺激”进行辨别和加工的,它也难以在计算机程序中得到实现。
因此又有人提出了一个更复杂的模型,即“泛魔”识别模型。
所谓泛魔,即这个模型把图像识别过程分为不同的层次,每一层次都有承担不同职责的特征分析机制称作一种"
小魔鬼"
,由于有许许多多这样的机制在起作用,因此叫做“泛魔”识别模型。
这一模型的特点在于它的层次的划分。
自20世纪60年代初期出现第一代产品开始,经过30多年的不断发展改进,字符识别技术的研究已经取得了令人瞩目的成果。
目前印刷体的识别技术已经达到较高水平。
识别范围也从原来指定的印刷体数字、英文字母和部分符号,发展成为可以自动进行版面分析、表格识别,实现混合文字、多字体、多字号、横竖混排识别的强大的计算机信息快速录入工具。
对印刷体汉字的识别率达到98%以上,即使对印刷质量较差的文字其识别率也达到95%以上。
(四)本文的研究内容
本文将以车牌作为研究对象,从数字、字母、汉字开始逐步提高识别的范围,针对图片中的字符提出一套切实可行的识别算法,并且在试验中不断改进。
在开发期间,以功能强大的Matlab作为编程平台,利用一些行之有效的技术提高识别算法的性能,从而完成相应的识别软件。
二算法分析与设计
(一)特征分析
中国汽车牌照中使用的字符集包括59个汉字、25个大写英文字母(字母不包含I)和10个阿拉伯数(0-9),三种类型共94个,且都是印刷体,结构固定、笔画规范。
牌照在图像中占有的高度从20个像素到50个像素不等。
对于国内牌照来说,一般的车辆正面牌照中水平排列着7个字符,其标准车牌样式:
XlX2·
X3X4X5X6X7;
X1是各省,直辖市的简称:
如“苏”、“桂”,或者特种车辆类型如“警”;
X2是英文字母,表示各省的不同地区;
X3从是英文字母或阿拉伯数字;
X3X4X5X6X7均是阿拉伯数字。
(二)技术路线
1原理分析
由于车辆牌照是机动车唯一的管理标识符号,在交通管理中具有不可替代的作用,因此车辆牌照识别系统应具有很高的识别正确率,对环境光照条件、拍摄位置和车辆行驶速度等因素的影响应有较大的容阈,并且要求满足实时性要求。
图2-1牌照识别系统原理图
该系统是计算机图像处理与字符识别技术在智能化交通管理系统中的应用,它主要由牌照图像的采集和预处理、牌照区域的定位和提取、牌照字符的分割和识别等几个部分组成,如图1所示。
其基本工作过程如下:
(1)当行驶的车辆经过时,触发埋设在固定位置的传感器,系统被唤醒处于工作状态;
一旦连接摄像头光快门的光电传感器被触发,设置在车辆前方、后方和侧面的相机同时拍摄下车辆图像;
(2)由摄像机或CCD摄像头拍摄的含有车辆牌照的图像通视频卡输入计算机进行预处理,图像预处理包括图像转换、图像增强、滤波和水平矫正等;
(3)由检索模块进行牌照搜索与检测,定位并分割出包含牌照字符号码的矩形区域;
(4)对牌照字符进行二值化并分割出单个字符,经归一化后输入字符识别系统进行识别。
2总体设计方案
车辆牌照识别整个系统主要是由车牌定位和字符识别两部分组成,其中车牌定位又可以分为图像预处理及边缘提取模块和牌照的定位及分割模块;
字符识别可以分为字符分割与特征提取和单个字符识别两个模块。
为了用于牌照的分割和牌照字符的识别,原始图像应具有适当的亮度,较大的对比度和清晰可辩的牌照图像。
但由于该系统的摄像部分工作于开放的户外环境,加之车辆牌照的整洁度、自然光照条件、拍摄时摄像机与牌照的距离和角度以及车辆行驶速度等因素的影响,牌照图像可能出现模糊、歪斜和缺损等严重缺陷,因此需要对原始图像进行识别前的预处理。
牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图像预处理后的原始灰度图像中确定牌照的具体位置,并将包含牌照字符的一块子图像从整个图像中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。
由于拍摄时的光照条件、牌照的整洁程度的影响,和摄像机的焦距调整、镜头的光学畸变所产生的噪声都会不同程度地造成牌照字符的边界模糊、细节不清、笔划断开或粗细不均,加上牌照上的污斑等缺陷,致使字符提取困难,进而影响字符识别的准确性。
因此,需要对字符在识别之前再进行一次针对性的处理。
车牌识别的最终目的就是对车牌上的文字进行识别。
主要应用的为模板匹配方法。
因为系统运行的过程中,主要进行的都是图像处理,在这个过程中要进行大量的数据处理,所以处理器和内存要求比较高,CPU要求主频在600HZ及以上,内存在128MB及以上。
系统可以运行于Windows98、Windows2000或者WindowsXP操作系统下,程序调试时使用matlab。
三具体技术路线
(1)图像预处理及边缘提取
在车牌自动识别系统中,车辆图像是通过图像采集卡将运动的车辆图像抓拍下来,并以位图的格式存放到系统内存中,这时的车辆数字图像虽然没有被人为损伤过,但在实际道路上行驶的车辆常会因为各种各样的原因使得所拍摄的车辆图像效果不理想,如外界光线对车牌的不均匀反射、极强阳光形成的车牌处阴影、摄像机快门值设置过大而引起的车辆图像拖影、摄像头聚焦或后背焦没有调整到位而形成的车辆图像不清晰、由于视频传输线而引起的图像质量下降、所拍摄图像中存在的噪声干扰、所安装的车牌不规范或车辆行驶变形等,这些都给车牌的模糊识别增加了难度。
图像预处理技术可最大限度提高车牌正确识别率,这些图像预处理包括图像灰度化、平滑、倾斜校正、灰度修正等。
图3-1预处理及边缘提取流程图
1、图像的采集与转换
考虑到现有牌照的字符与背景的颜色搭配一般有蓝底白字、黄底黑字、白底红字、绿底白字和黑底白字等几种,利用不同的色彩通道就可以将区域与背景明显地区分出来,例如,对蓝底白字这种最常见的牌照,采用蓝色B通道时牌照区域为一亮的矩形,而牌照字符在区域中并不呈现。
因为蓝色(255,0,0)与白色(255,255,255)在通道中并无区分,而在G、R通道或是灰度图像中并无此便利。
同理对白底黑字的牌照可用R通道,绿底白字的牌照可以用G通道就可以明显呈现出牌照区域的位置,便于后续处理。
原图、灰度图及其直方图见图2与图3。
对于将彩色图像转换成灰度图像时,图像灰度值可由下面的公式计算:
(3-1)
(3-2)
图3-2原图和它的灰度图以及灰度直方图
2、边缘提取
边缘是指图像局部亮度变化显着的部分,是图像风、纹理特征提取和形状特征提取等图像分析的重要基础。
所以在此我们要对图像进行边缘检测。
图象增强处理对图象牌照的可辨认度的改善和简化后续的牌照字符定位和分割的难度都是很有必要的。
增强图象对比度度的方法有:
灰度线性变换、图象平滑处理等。
(1)灰度校正
由于牌照图像在拍摄时受到种种条件的限制和干扰,图像的灰度值往往与实际景物不完全匹配,这将直接影响到图像的后续处理。
如果造成这种影响的原因主要是由于被摄物体的远近不同,使得图像中央区域和边缘区域的灰度失衡,或是由于摄像头在扫描时各点的灵敏度有较大的差异而产生图像灰度失真,或是由于曝光不足而使得图像的灰度变化范围很窄。
这时就可以采用灰度校正的方法来处理,增强灰度的变化范围、丰富灰度层次,以达到增强图像的对比度和分辨率。
我们发现车辆牌照图像的灰度取值范围大多局限在r=(50,200)之间,而且总体上灰度偏低,图象较暗。
根据图象处理系统的条件,最好将灰度范围展开到s=(0,255)之间,为此我们对灰度值作如下的变换:
s=T(r)r=[rmin,,rmax](3-3)
使得S∈[Smin,Smax],其中,T为线性变换,
灰度线性变换
(3-4)
图3-3线性图
(3)若r(50,200)s(0,255)则:
(3-5)(4)
图3-4灰度增强后的图像
(2)平滑处理
对于受噪声干扰严重的图像,由于噪声点多在频域中映射为高频分量,因此可以在通过低
通滤波器来滤除噪声,但实际中为了简化算法,也可以直接在空域中用求邻域平均值的方法来削弱噪声的影响,这种方法称为图象平滑处理。
例如,某一象素点的邻域S有两种表示方法:
8邻域和4邻域分别对应的邻域平均值为
(3-6)
2
3
i,j
1
4
5
6
7
8
图3-5邻域及其邻域模板(5)
其中,M为邻域中除中心象素点f(i,j)之外包括的其它象素总数,对于4邻域M=4,8邻域M=8。
然而,邻域平均值的平滑处理会使得图像灰度急剧变化的地方,尤其是物体边缘区域和字符轮廓等部分产生模糊作用。
为了克服这种平均化引起的图像模糊现象,我们给中心点象素值与其邻域平均值的差值设置一固定的阈值,只有大于该阈值的点才能替换为邻域平均值,而差值不大于阈值时,仍保留原来的值,从而减少由于平均化引起的图像模糊。
图3-6平滑处理后的图像
图像中车辆牌照是具有比较显着特征的一块图像区域,这此特征表现在:
近似水平的矩形区域;
其中字符串都是按水平方向排列的;
在整体图像中的位置较为固定。
正是由于牌照图像的这些特点,再经过适当的图象变换,它在整幅中可以明显地呈现出其边缘。
边缘提取是较经典的算法,此处边缘的提取采用的是Roberts算子。
图3-7未滤波直接提取出的边缘,经灰度校正后提取的边缘以及经平滑处理后提取的边缘
对比以上几幅图片,图8的边缘已经模糊掉了。
图7中包含的噪声太多,图9未经滤波直接提取出的边缘图像最清晰,所包含的有用信息最多。
分析这种情况产生的原因,归纳起来主要有以下方面:
1、原始图像清晰度比较高,从而简化了预处理
2、图像的平滑处理会使图像的边缘信息受到损失,图像变得模糊
3、图像的锐化可以增强图像中物体的边缘轮廓,但同时也使一些噪声得到了增强
综上所述,结合MATLAB实验过程,得出不是每一种图像处理之初都适合滤波和边界增强。
本次汽车车牌的识别,为了保存更多的有用信息,经过多次比较,选择图9作为后期处理的依据。
2车牌的定位与分割
车牌定位对车牌识别系统来说至关重要,目前已经提出了很多车牌定位的方法,这些方法都具有一个共同的出发点,即通过牌照区域的特征来判断牌照。
根据不同的实现方法,大致可以把现有的定位方法分为直接法和间接法两类。
1)直接法。
直接分析图像的特征,如基于线模板的二值化图像中的角检测算法,该算法利用车牌的边框角点,检测车牌的四个角点,并以此来定位车牌。
基于直线边缘识别的图像区域定位算法,并且利用该算法定位车牌的边框线,以此定位车牌。
利用车牌的尺寸、字符间距、字符特征等纹理特征定位车牌。
利用车牌部分垂直高频丰富的特点先利用小波提取图像的垂直高频信息,然后利用数学形态学方法对小波分解后的细节图像进行一系列的形态运算,进一步消除无用的信息和噪声,以定位车牌。
2)间接法。
主要是指利用神经网络法或者遗传算法定位车牌的方法。
利用神经网络和遗传算法等柔性方法进行计算是当前研究热点之一。
利用遗传算法对图像进行优化搜索,结合区域特征矢量构造的适应度函数,最终寻找到车牌的牌照区域的最佳定位参量。
目前较为常用的方法是先提取车辆图像的边缘,然后结合车辆牌照的几何特征,分析二值化边缘图像像素在水平和垂直方向的投影,判断出车辆牌照的位置。
图3-8牌照定位于分割流程图
(1)牌照区域的定位
牌照图像经过了以上的处理后,牌照区域已经十分明显,而且其边缘得到了勾勒和加强。
此时可进一步确定牌照在整幅图像中的准确位置。
这里选用的是数学形态学的方法,其基本思想是用具有一定形态的机构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。
数学形态学的应用可以简化图像数据,保持它们基本的形态特征,并除去不相干的结构。
在本程序中用到了膨胀和闭合这两个基本运算,最后还用了bwareaopen来去除对象中不相干的小对象。
图3-9腐蚀后图像,平滑图像的轮廓以及从对象中移除小对象后图像
(2)牌照区域的分割
对车牌的分割可以有很多种方法,本程序是利用车牌的彩色信息的彩色分割方法。
根据车牌底色等有关的先验知识,采用彩色像素点统计的方法分割出合理的车牌区域,确定车牌底色蓝色RGB对应的各自灰度范围,然后行方向统计在此颜色范围内的像素点数量,设定合理的阈值,确定车牌在行方向的合理区域。
然后,在分割出的行区域内,统计列方向蓝色像素点的数量,最终确定完整的车牌区域。
图3-10行方向区域和最终定位出来的车牌
(3)车牌进一步处理
经过上述方法分割出来的车牌图像中存在目标物体、背景还有噪声,要想从图像中直接提取出目标物体,最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:
大于T的像素群和小于T的像素群,即对图像二值化。
均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素。
再用模板中的全体像素的平均值来代替原来像素值。
图3-11裁剪出来的车牌的进一步处理过程
3字符的分割与归一化
图3-12字符分割与归一化流程图
(1)字符分割
在汽车牌照自动识别过程中,字符分割有承前启后的作用。
它在前期牌照定位的基础上进行字符的分割,然后再利用分割的结果进行字符识别。
字符识别的算法很多,因为车牌字符间间隔较大,不会出现字符粘连情况,所以此处采用的方法为寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割。
图3-13分割出来的七个字符图像
(2)字符归一化
一般分割出来的字符要进行进一步的处理,以满足下一步字符识别的需要。
但是对于车牌的识别,并不需要太多的处理就已经可以达到正确识别的目的。
在此只进行了归一化处理,然后进行后期处理。
图3-14归一化处理后的七个字符图像
4字符的识别
目前,字符识别方法主要有基于模板匹配算法和基于人工神经网络算法。
基于模板匹配算法首先把待识别字符二值化并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。
由于这种匹配算法稳定性较差、时间花费也较大,因此,在此基础上提出了基于关键点的匹配算法。
此算法先对识别字符进行关键点提取,然后对关键点去噪,最后再确定字符的分类。
这种匹配算法只利用了字符的关键点进行匹配,因此,提高了识别速度又具有较高的识别率。
基于人工神经网络的算法主要有两种:
一种是先对待识别字符进行特征提取,然后用所获得的特征来训练神经网络分类器;
另一种方法是直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果。
前一种方法识别结果与特征提取有关,而特征提取比较耗时,因此,特征提取是关键。
后一种方法无须特征提取和模板匹配,随着相关技术的进步,这种方法更实用。
(1)神经网络
人工神经网络(ANNs)也称为神经网络或连接模型,是对人脑或自然神经网络若干基本特性的抽象和模拟。
但是人工神经网络是近现代才提出来的一种新型技术,所以还有一些缺点,不过它的优点却是非常明显的:
①它可以充分逼近任意复杂的非线性关系。
②所有定量或定性的信息都等势分布于网络内的各神经元,故有很强的鲁棒性和容错性;
采用并行分布的处理方法,使得快速地进行大量运算成为可能。
③可学习和自适应不知道或不确定的系统。
④能够同时处理定量、定性知识。
⑤具有联想和存储功能。
⑥具有高速寻找优化解的能力。
它能够处理一些环境信息十分复杂、背景不清晰、有磨损、残缺等方面的问题的情况。
(2)BP神经网络
BP神经网络(BackPropagationNeuralNet.work,简称BP神经网络)即反向传输神经网络。
BP神经网络可以应付各种数据和能够模拟一种复杂的决定系统。
BP神经网络主要是通过一种模拟的方式对对象进行识别,它可以像人认识事物过程一样,逐渐地认清事物从而去模拟实现它。
BP神经网络由1024个输入节点、20个隐层节点、6个输出节点组成。
每个节点的激活函数采用O.1函数,输出节点的输出值为0,1二值。
训练以后,节点权值保存在配置文件中。
在MATLAB工具箱中已经有了BP神经识别的函数,这里使用newlin函数adapt函数,使用这些函数需要输入预期的待学目标的输入范围,指定一个延迟输入信号和一个有延迟输入信号以及学习速度的参数,这样字符就能很好地在MATLAB中得到识别。
BP网络结构:
基于BP算法的多层前馈型网络将神经元按功能和顺序的不同分为输出层、中间层(隐层)、输出层。
输入层各神经元负责接收来自外界的输入信息,并传给中间各隐层神经元;
隐层是神经网络的内部信息处理层,负责信息变换。
根据需要可设计为一层或多层;
最后一个隐层将信息传递给输出层神经元经进一步处理后向外界输出信息处理结果。
同层节点中没有任何耦合,每一层节点的输出只影响下一层节点的输出。
网络的学习过程由正向和反向传播两部分组成。
反向传播其节点单元特征通常为Sigmoid型{f(X)=1/[1+exp(一Bx)],B>
0}。
在网络训练阶段用准备好的样本数据依次通过输入层、隐层和输出层。
比较输出结果和期望值,若没有达到要求的误差程度或者训练次数,即经过输出层、隐层和输入层,来调节权值,以便使网络成为一定适应能力的模型。
用matlab神经网络工具箱,用BP神经网络生成网络函数,部分程序如下:
net=newff(pr,[251],{'
logsig'
'
purelin'
},'
traingdx'
'
learngdm'
);
net=train(net,p,t)
即创建和训练神经网络。
其中权值函数为“logsig”,学习函数为:
“purelin”.运行后,可在matlab上得到:
LOADING......
ans=
LOADOK.
TRAINGDX,Epoch0/3000,MSE,Gradient1e-006
TRAINGDX,Epoch10/3000,MSE,Gradient1e-006
TRAINGDX,Epoch20/3000,MSE,Gradient1e-006
TRAINGDX,Epoch30/3000,MSE,Gradient1e-006
TRAINGDX,Epoch40/3000,MSE,Gradient1e-006
TRAINGDX,Epoch50/3000,MSE,Gradient1e-006
TRAINGDX,Epoch60/3000,MSE,Gradient1e-006
TRAINGDX,Epoch70/3000,MSE,Gradient1e-006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB BP 神经网络 数字图像 识别