基于神经网络的图像识别方法与研究

更新时间:2024-01-03 09:46:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

忻 州 师 范 学 院

计算机系本科毕业(设计)论文

课题名称 基 于 神 经 网 络 的 图

像 识 别 方 法 研 究

专 业 计 算 机 科 学 与 技 术

姓 名 杨 旭 东

学 号 2 0 1 1 0 8 1 1 2 0 1 3

指导教师 曹 建 芳

二零一三年六月

目 录

1 引 言.......................................................................................................................... 1

1.1 图像识别及人工神经网络 .............................................................................. 2 1.2 人工神经网络的研究背景和意义 .................................................................. 4 1.3 神经网络的发展与研究现状 .......................................................................... 4 1.4 神经网络的研究内容和目前存在的问题 ...................................................... 5 2 人工神经网络的结构 ............................................................................................... 6

2.1 神经元与网络结构 .......................................................................................... 6 2.2 人工神经网络的特点 ...................................................................................... 9 3 BP神经网络模型及其基本原理 ............................................................................ 10

3.1 BP神经网络的主要功能 ............................................................................... 11 3.2 BP网络的优点以及局限性 ........................................................................... 12 4 基于BP神经网络的车牌识别系统 ...................................................................... 13

4.1 系统构成图及系统开发环境 ........................................................................ 13 4.2 系统框架结构和工作流程 ............................................................................ 13 4.3 BP神经网络工具箱训练函数 ....................................................................... 14 5 实验测试与结果分析 ............................................................................................. 15

5.1 实验测试 ........................................................................................................ 19 5.2 实验结果分析 ................................................................................................ 20 6 结束语...................................................................................................................... 20 致 谢 ..................................................................................................................... 21 参考文献 ..................................................................................................................... 22

基于神经网络的图像识别方法研究

摘 要: 图像识别是近几年发展起来的一门新兴科学技术,它以研究某些对象或过程(统

称图像)的分类与描述为主要内容,应用范围非常广泛。本文首先说明课题研究的目的和意义,评述课题的国内外研究现状,引出目前存在的问题。然后分析了神经网络算法的基本原理,给出BP神经网络算法的具体实现方法,总结神经网络算法的特点,并给出神经网络算法的基本流程。采用Matlab软件编程实现BP神经网络算法。将神经网络算法应用于车牌识别系统中,并分析了识别的准确率。经仿真实验表明,车牌识别系统具有很强的实用性。

关键词:图像识别 神经网络 BP 神经网络 Matlab

Abstract: Image recognition is a new science technique in recent years. It studies classification and description of some objects or processes (also called images) and has been widely applied in various fields. This paper first analyses research purpose and significance of the subject, reviews subject’s research status at home and abroad, explains the present existing problems. And then the basic principle of neural network algorithm is analyzed, the realization of the BP neural network algorithm is given, the characteristics of neural network algorithm is summarized, and the basic process of neural network algorithm is given. BP neural network algorithm is realized using Matlab. Finally, the neural network algorithm is applied to license recognition system, and experiments analyze the recognition accuracy. The simulation experiments show that the developed system has a strong practicability.

Key words:Image recognition Neural Network BP Neural Network Matlab

1 引 言

图像识别是以研究图像对象或过程的分类与描述为主要内容,其目的是研制能够自动处理图像信息的机器视觉系统,代替传统的人工完成分类和辨识的任务。

图像识别所研究的领域十分广泛,可以是机械加工中零部件的识别、分类、从遥感图片中分辨农作物、森林、湖泊、气象观测数据、识别违章行驶的汽车牌照以及机场上空的空中交通管理等等。随着计算机技术和数字图像处理技术的发

1

展,对通过机器视觉设备所获得的图像进行识别已成为当前的迫切需要。

虽然对于真实世界的图像识别的研究已经取得了很大的成果,在很多领域得到了成功的应用。但是仍然需要克服以下几个问题:

首先是图像的大数据量问题,使得图像在识别中的运算量比较大,识别时间长。

其次,跟人类视觉系统一样,在数据采集的时候,会存在图像位移、旋转、尺度变化、扭曲,并且由于环境的干扰和设备的误差,图像中也会存在一部分的噪声干扰[01]。并且随着图像识别在重要领域的应用,要求识别系统对图像有极快的处理速度和识别速度。

近年来人工神经网络技术的发展为解决这一问题提供了一种新的途径[02],因为其分布式信息存储和大规模自适应并行处理满足了对大数据量目标图像的实时处理要求,其高度容错性又容许多目标图像出现背景模糊和局部残缺。网络事先对待识别模式的大量样本进行学习训练,并通过神经元之间的互连权值来存储结果。网络训练完毕,标志着建立了某一类或几类图像模式分类模型。这样,一旦有新的待识别的模式样本出现,网络便能根据记忆马上对它做出“反映”,即识别。因此,人工神经网络技术是一种解决图像识别问题的有效方法,并且在图像识别中的应用越来越广泛[03]。

本文介绍了图像识别技术的基本原理,了解了神经网络的基本原理、网络结构,研究了神经网络用于图像识别的原理及优点,图像识别中常用的前馈神经网络及其采用的BP算法,采用Matlab开发工具,并给出了仿真实验。 1.1 图像识别及人工神经网络

图像在人类的感知中扮演着非常重要的角色,在许多场合,图像所传递的信息比其他任何形式的信息更加丰富和真切。随着数字图像技术的发展和实际应用的需要,出现了另一类问题,就是不要求其结果输出是一幅完整的图像,而是将经过图像处理后的图像,再经过分割和描述提取有效的特征,进而加以判决分类,这就是一门新兴技术科学——图像识别。它以研究某些对象或过程的分类与描述为主要内容,以研制能够自动处理某些信息的机器视觉系统,代替传统的人工完成分类和辨识的任务为目的。因此,在当今社会,图像识别技术已经在各个领域发挥着极其重要的作用。

图像识别就是要把一种研究对象,根据其某些特征进行识别并分类。例如要识别写在卡片上的数字,判断它是0,l,2,?,9中的哪个数字,就是将数字

2

图像分成10类的问题,因此可以认为,对数字图像进行区别分类其实质就是对图像进行模式识别。这种识别早已存在人们的生活实践中[05]。然而,随着实践活动的扩大、深入和社会化的需要,人们不仅需要识别分类数很多的事物,而且被识别的对象内容也越来越复杂。特别是由于科学技术水平的提高,使得各种不同的研究对象“图像化”或“数字化”,可采用某种技术把考察的对象转换成图片、波形图以及若干数据,这些数据就可以代表所研究的对象。但是对于模式识别来说,无论是数据、信号还是平面图像或立体景物都是除掉它们的物理内容而找出它们的共性,把具有同一共性的归为一类,而具有另一种共性者归为另一类。图像模式识别的目的就是研制采用某种仪器或设备,自动处理某些信息,代替人完成分类和辨识的任务,并且能够快速而准确地进行图像识别。一般来说,一个图像识别系统由以下几个部分组成,如图1.1所示。

图 1.1 图像识别系统框图

原始图像 预处理 特征提取 模式分类 识别结果 第一部分是图像信息的获取。它相当于对被研究对象的调查和研究,从中得到数据和材料,对图像识别来说就是把图片、底片和文字图形等用光电扫描设备转换为电信号以备后续处理。

第二部分是图像的预处理。这个处理过程的工作包括采用数字图像处理的各种方法来消除原始图像的噪声和畸变,消减无关特征而加强图像的系统感兴趣的特征,如果图像包含多个目标的,还要对图像进行分割,将其分为多个只包含一个目标的区域。

第三部分是特征提取。通常能描述对象的元素很多,为了节约资源,节省计算机存储空间、机时、特征提取费用,在满足分类识别正确率要求的条件下,按某种准则尽量选用对正确分类识别作用比较大的特征,使得用较少的特征就能完成分类识别任务。这项工作的表现为减少特征矢量的维数、符号、串字符数或简化图的结构。

第四部分是模式分类。即依据所提取的特征,将前一部分的特征向量空间映射到类型空间,把相应原图归属已知的一类模式,相当于人们从感性认识升到理性认识而做出结论的过程。

第五部分为识别结果。我们也把预处理和特征提取部分称为低级处理,而判决和分类部分称为高级处理。其中,每一阶段都会对识别结果产生严重影响,所

3

以每一阶段都应争取尽可能完美的结果。

人工神经网络是在现代神经生物学研究的基础上提出的模拟生物过程以反映人脑某些特性的计算结构[05]。它不是人脑神经系统的真实描写,而只是它的某种抽象、简化和模拟。神经元及其突触是神经网络的基本器[07]。因此,模拟生物神经网络应首先模拟生物神经元。在人工神经网络中,神经元常被称为“处理单元”。有时从网络的观点出发常把它称为“节点”。人工神经元是对生物神经元的一种形式化描述,它对生物神经元的信息处理过程进行抽象,并用数学语言予以描述:对生物神经元的结构和功能进行模拟,并用模型予以表达。 1.2 人工神经网络的研究背景和意义

近年来通过对人工神经网络的研究,可以看出神经网络的研究目的和意义有以下三点:

(1)通过揭示物理平面与认知平面之间的映射,了解它们相互联系和相互作用的机理,从而揭示思维的本质,探索智能的本源。

(2)争取构造出尽可能与人脑具有相似功能的计算机,即神经网络计算机。 (3)研究仿照脑神经系统的人工神经网络,将在模式识别、组合优化和决策判断等方面取得传统计算机所难以达到的效果。 1.3 神经网络的发展与研究现状

神经网络起源于20世纪40年代,至今发展已半个多世纪,大致分为三个阶段。

(1)20世纪50年代-20世纪60年代:第一次研究高潮

自1943年M-P模型开始,至20世纪60年代为止,这一段时间可以称为神经网络系统理论发展的初期阶段。

(2)20世纪60年代-20世纪70年代:低潮时期

到了20世纪60年代,人们发现感知器存在一些缺陷,例如,它不能解决异或问题,因而研究工作趋向低潮。

(3)20世纪80年代-90年代:第二次研究高潮

进入20世纪80年代,神经网络研究进入高潮。这个时期最具有标志性的人物是美国加州工学院的物理学家John Hopfield,他提出了模拟人脑的神经网络模型,即最著名的Hopfield模型。Hopfield网络是一个互连的非线性动力学网络,它解决问题的方法是一种反复运算的动态过程,这是符号逻辑处理方式所不具备

4

的性质。20世纪80年代后期到90年代初,神经网络系统理论形成了发展的热点,多种模型、算法和应用被提出,研究经费重新变得充足,使得研究者们完成了很多有意义的工作。

进入20世纪90年代以来,神经网络由于应用面还不够宽,结果不够精确,存在可信度问题,从而进入了认识与应用研究期。其主要现状表现在:

(1)开发现有模型的应用,并在应用中根据实际运行情况对模型、算法加以改造,以提高网络的训练速度和运行的准确度。

(2)充分发挥两种技术各自的优势是一个有效方法。

(3)希望在理论上寻找新的突破,建立新的专用/通用模型和算法。 (4)进一步对生物神经系统进行研究,不断地丰富对人脑的认识。 1.4 神经网络的研究内容和目前存在的问题

神经网络的研究内容相当广泛,反映了多科学交叉技术领域的特点。目前,主要的研究内容集中在以下四方面:

(1)生物原型研究:从生理学、心理学、解剖学、脑科学、病理学生物科学方面研究神经细胞、神经网络、神经系统的生物原型结构及其功能机理。

(2)建立理论模型:根据生物原形的研究,建立神经元、神经网络的理论模型,其中包括概念模型、知识模型、物理化学模型、数学模型等。

(3)网络模型与算法研究:在理论模型研究的基础上构成具体的神经网络模型,以实现计算机模拟或准备制作硬件,包括网络学习算法的研究。这方面的工作也称为技术模型研究。

(4)神经网络应用系统:在网络模型与算法研究的基础上,利用神经网络组成实际的应用系统,例如,完成某种信号处理或模式识别的功能、构成专家系统、制成机器人等。

人工神经网络的发展具有强大的生命力。目前存在的问题是智能水平还不高,许多应用方面的要求还不能得到很好的满足;网络分析与综合的一些理论性问题还未得到很好的解决。例如,由于训练中稳定性的要求学习率很小,所以梯度下降法使得训练很忙,动量法因为学习率的提高通常比单纯的梯度下降法要快,但在实际应用中还是很慢。针对千变万化的应用对象,各类复杂的求解问题,编制一些特定的程序、软件求解,耗费了大量的人力和物力。而这些软件往往只针对某一方面的问题有效,并且在人机接口、用户友好性等诸多方面存在一定的缺陷。在微机飞速发展的今天,很多都已不能满足发展的需要。

5

2 人工神经网络的结构

2.1 神经元与网络结构

人工神经网络是模仿生物神经网络功能的一种经验模型。生物神经元受到传入的刺激,其反应又从输出端传到相关联的其它神经元,输入和输出之间的变换关系一般是非线性的。神经网络是由若干简单元件及其层次组织,以大规模并行连接方式构造而成的网络,按照生物神经网络类似的方式处理输入的信息。模仿生物神经网络而建立的人工神经网络,对输入信号有强大的反应和处理能力。

神经网络是由大量的处理单元互相连接而成的网络。为了模拟大脑的基本特性,在神经科学研究的基础上,提出了神经网络的模型。但是,实际上神经网络并没有完全反映大脑的功能,只是对生物神经网络进行了某种抽象、简化和模拟。神经网络的信息处理通过神经元的互相作用来实现,知识与信息的存储表现为网络元件互相分布式的物理联系。神经网络的学习和识别取决于各种神经元连接权值的动态演化过程。

人脑大约由1012个神经元组成,神经元互相连接成神经网络。神经元是大脑处理信息的基本单元,以细胞体为主体,由许多向周围延伸的不规则树枝状纤维构成的神经细胞,其形状很像一棵枯树的枝干。它主要由细胞体、树突、轴突和突触组成。如图2.1所示。

图 2.1 生物神经元

从神经元各组成部分的功能来看,信息的处理与传递主要发生在突触附近。当神经元细胞体通过轴突传到突触前膜的脉冲幅度达到一定强度,即超过其阈值电位后,突触前膜将向突触间隙释放神经传递的化学物质。

归纳一下生物神经元传递信息的过程:生物神经元是一个多输入、单输出单元的人工神经元模型可用图2.2所示模拟。

6

x1 w1j w2j x2 wmj ??j xn wij f yi ... 当神经元j有多个输入xi(i=1,2,?,m)和单个输出yj时,输入和输出的关系可表示为:

?07? 其中j为阈值,wij为从神经元i到神经元j的连接权值,f?sj?为传递函数, 或称激励函数。

通常所说的人工神经网络结构,从连接方式来看,主要有四种: (1)前馈型神经网络

网络中的神经元是分层排列的,每个神经元只与前一层的神经元相连接。神经元分层排列,分别组成输入层、隐含层、输出层。每一层的神经元只接受来自前一层的输入,后面的层对前面的层没有信号反馈。输入模式经过各层次的顺序传播,最后在输出层上得到输出。BP网络属于前馈型网络,如图2.3所示。

x2? ... 图 2.2 人工神经元(感知器)示意图

? m?sj??wijxi??ji?1? ?y?f?s?jj? x1? z1x3? z2 图 2.3 前馈型神经网络结构

7

(2)反馈型神经网络

反馈型神经网络是一种从输出到输入具有反馈连接的神经网络,输出层对输入层有信息反馈,这种网络可用于存储某种模式序列,如BP网络就属于这种类型,如图2.4所示。

图 2.4 反馈型神经网络结构

x1x2x3? ? z1? z2(3)层内互连前向网络

层内互连前向网络是通过层内神经元的相互结合,可以实现同一层神经元之间的横向抑制或兴奋机制。这样可以限制每层内可以同时动作的神经元素,或者把每层内的神经元分为若干组,让每一组作为一个整体进行运作。例如,可利用横向抑制机理把某层内的具有最大输出的神经元挑选出来,从而抑制其他神经元,使之处于无输出状态。其结构如图2.5所示。

图 2.5 有相互结合的前向网络结构

x3? x1x2? z1? z2(4)相互结合型网络

相互结合型网络属于网状结构,这种网络是任意两个神经元之间都可能连接,信号在神经元之间反复传递。Hopfield 网络和Boltzmann 机均属于这种类型。在无反馈的前向网络中,信号一旦通过某神经元,该神经元的处理就结束了。而在相互结合网络中,信号要在神经元之间反复传递,网络处于一种不断变化状态的动态之中。信号从某初始状态开始,经过若干次变化,才会达到某种平衡状

8

态。根据网络的结构和神经元的特性,网络的运行还有可能进入周期振荡或其他如混沌平衡状态。如图2.6所示。

x1?

x2? z1

x3 z2? 图 2.6 结合型网络结构

综上,可知神经网络有前馈型神经网络、反馈型神经网络、层内互连前向网络、相互结合型网络等四种结构,其神经网络模型有感知器网络、线性神经网络、BP神经网络、反馈神经网络等,本文主要学习研究了BP神经网络,以及BP神经网络在车牌识别系统中的应用。 2.2 人工神经网络的特点

其主要特点如下:

(1)它具有自组织和自学习的能力,能够直接输入数据并进行学习,在学习过程中,它可以自适应的发现蕴含在图像样本数据中内在的特征及规律性。

(2)神经网络具有推广能力,它可以根据图像样本间的相似性,对那些与原始训练图像样本相似的数据进行正确处理。

(3)神经网络是非线性的,即它可以找到系统输入变量之间复杂的相互作用,在一个线性系统中,改变输入往往产生一个成比例的输出,而且这种影响关系是一个高阶函数,这一特点很适合于实时系统,因为实时系统通常是非线性的。

(4)神经网络是高度并行的,即其大量的相似或独立的运算都可以同时进行。

9

3 BP神经网络模型及其基本原理

BP网络是一种多层前馈神经网络,由输入层、隐层和输出层组成。图3.1为一个典型的三层BP网络的拓扑结构,层与层之间采用全互连方式,同一层之间不存在相互连接,隐层可以有一层或多层。层与层之间有两种信号在流通:一种是工作信号,它是施加输入信号后向前传播直到在输出端产生实际输出的信号,是输入和权值的函数。另一种是误差信号,网络实际输出与期望输出间的差值即为误差,它由输出端开始逐层向后传播。BP网络的学习过程由前向计算过程和误差反向传播过程组成。在前向计算过程中,输入量从输入层经隐层逐层计算,并传向输出层,每层神经元的状态只影响下一层神经元的状态。如输出层不能得到期望的输出,则转入误差反向传播过程,误差信号沿原来的连接通路返回,逐次调整网络各层的权值和阈值,直至到达输入层,再重复计算。这两个过程一次反复进行,不断调整各层的权值和阈值,使得网络误差最小或达到人们所期望的要求时,学习过程结束。如图3.1所示。

隐层输出量 输入量 输出层输出量 输入层 隐层 图 3.1 典型BP网络模型 输出层 生物神经元信号的传递是通过突触进行的一个复杂的电化学过程, 在人工神经网络中是将其简化模拟成一组数字信号通过一定的学习规则而不断变动更新的过程,这组数字储存在神经元之间的连接权值。网络的输入层模拟的是神经系统中的感觉神经元,它接收输入样本信号[09]。输入信号经输入层输入,通过隐含层的复杂计算由输出层输出,输出信号与期望输出相比较,若有误差,再将误差信号反向由输出层通过隐含层处理后向输入层传播。在这个过程中,误差通过

10

梯度下降算法,分配给各层的所有单元,从而获得各单元的误差信号,以此误差信号为依据修正各单元权值,网络权值因此被重新分布。此过程完成后,输入信号再次由输入层输入网络,重复上述过程。这种信号正向传播与误差反向传播的各层权值调整过程周而复始地进行着,直到网络输出的误差减少到可以接受的程度,或进行到预先设定的学习次数为止。权值不断调整的过程就是网络的学习训练过程。

BP神经网络的信息处理方式具有如下特点:

(1)信息分布存储。

人脑存储信息的特点是利用突触效能的变化来调整存储内容,即信息存储在神经元之间的连接强度的分布上,BP神经网络模拟人脑的这一特点,使信息以连接权值的形式分布于整个网络。

(2)信息并行处理。

人脑神经元之间传递脉冲信号的速度远低于计算机的工作速度,但是在很多问题上却可以做出快速的判断、决策和处理,这是由于人脑是一个大规模并行与串行组合的处理系统。BP神经网络的基本结构模仿人脑,具有并行处理的特征,大大提高了网络功能。

(3)具有容错性。

生物神经系统部分不严重损伤并不影响整体功能,BP神经网络也具有这种特性,网络的高度连接意味着少量的误差可能不会产生严重的后果,部分神经元的损伤不破坏整体,它可以自动修正误差。这与现代计算机的脆弱性形成鲜明对比。

(4)具有自学习、自组织、自适应的能力。

BP神经网络具有初步的自适应与自组织能力,在学习或训练中改变突触权值以适应环境,可以在使用过程中不断学习完善自己的功能,并且同一网络因学习方式的不同可以具有不同的功能,它甚至具有创新能力,可以发展知识,以至超过设计者原有的知识水平。 3.1 BP神经网络的主要功能

目前,在人工神经网络的实际应用中。绝大部分的神经网络模型都采用BP神经网络及其变化形式。它也是前向网络的核心部分,体现了人工神经网络的精华。

BP网络主要用于以下四方面:

11

(1)函数逼近:用输入向量和相应的输出向量训练一个网络以逼近一个函数。 (2)模式识别:用一个待定的输出向量将它与输入向量联系起来。 (3)分类:把输入向量所定义的合适方式进行分类。 (4)数据压缩:减少输出向量维数以便传输或存储。 3.2 BP网络的优点以及局限性

BP神经网络最主要的优点是具有极强的非线性映射能力。理论上,对于一个三层和三层以上的BP网络,BP神经网络具有对外界刺激和输入信息进行联想记忆的能力。这是因为它采用了分布并行的信息处理方式,对信息的提取必须采用联想的方式,才能将相关神经元全部调动起来。BP 神经网络通过预先存储信息和学习机制进行自适应训练,可以从不完整的信息和噪声干扰中恢复原始的完整信息。这种能力使其在图像复原、语言处理、模式识别等方面具有重要应用。再次,BP神经网络对外界输入样本有很强的识别与分类能力。由于它具有强大的非线性处理能力,因此可以较好地进行非线性分类, 解决了神经网络发展史上的非线性分类难题。另外,BP神经网络具有优化计算能力。不过,其优化计算存在局部极小问题,必须通过改进完善。

由于BP网络训练中稳定性要求学习效率很小,所以梯度下降法使得训练很慢。动量法因为学习率的提高通常比单纯的梯度下降法要快一些,但在实际应用中还是速度不够,这两种方法通常只应用于递增训练。

多层神经网络可以应用于线性系统和非线性系统中,当然,感知器和线性神经网络能够解决这类网络问题。但是,虽然理论上是可行的,但实际上BP网络并不一定总能有解。

对于非线性系统,选择合适的学习率是一个重要的问题。在线性网络中,学习率过大会导致训练过程不稳定。相反,学习率过小又会造成训练时间过长。和线性网络不同,对于非线性多层网络很难选择很好的学习率。对那些快速训练算法,缺省参数值基本上都是最有效的设置。

非线性网络的误差面比线性网络的误差面复杂得多,寻优的过程与初始点的选择关系很大,初始点如果更靠近局部最优点,而不是全局最优点,就不会得到正确的结果,这也是多层网络无法得到最优解的一个原因。为了解决这个问题,在实际训练过程中,应重复选取多个初始点进行训练,以保证训练结果的全局最优性。

12

4基于BP神经网络的车牌识别系统

4.1 系统构成图及系统开发环境

车牌识别系统构成图如图4.1所示。 图 车牌识别系统 像 采集 图像预处理车牌字符定位车牌字符分割车牌字符识别输出结果 一个完整的车牌识别系统的工作过程主要分为两个部分:一是车牌照区域的精确定位,其输入是复杂背景下的整幅原始图像,输出是车牌照图像。二是牌照字符识别,得到车牌号码字符。

运行的操作系统环境为Windows 7,开发工具采用MatlabR2012b。 4.2 系统框架结构和工作流程

车牌识别系统通过引入数字摄像技术和计算机信息管理技术,采用先进的图像处理、模式识别和人工智能技术,通过对图像的采集和处理,获得更多的信息,从而达到更高的智能化管理程度。在车牌识别系统产品的性能指标中,识别率和识别速度难以同时提高其中原因既包括图像处理技术不够成熟,又受到摄像设备计算机等性能的限制。因此,研究高速准确的定位与识别算法,是当前的主要任务,各部分功能说明及具体步骤如下:

(1)图像采集:通过数码相机拍摄清晰的车牌号码的实物图,然后将实物图保存在电脑里备用。

(2)车牌号码定位:是指对预处理过的汽车图片进行处理,把车牌部分进行定位,把无用的部分去除,得到定位好的车牌图片。在一张完整的车辆图像中,大部分区域都是背景图像,对识别工作毫无意义,我们可以将背景区域视为无用

图4.1 车牌识别系统功能框图 13

区域,并设法将其去除,即从复杂的背景图像中准确的定位并分割出车牌区域图像,从原图像中提取出需要的部分舍弃不需要的部分,以便节省系统识别时间,这也是车牌定位分割的目的及意义所在。在定位分割的过程中要保证不能把非车牌区域误判为车牌区域,也不能漏检车牌区域,否则后继的工作将无法进行。

(3)字符分割:对已经定位的车牌图片的进行字符分割,将车牌分割为7个单一的字符图片。被分离出的车牌区域图像,系统并不能直接对其进行识别,还需要将车牌上的每一个字符都独立的完整的分割出来,即从车牌区域图像中将车牌上所包含的每一个字符都切分出来,使其成为不具有任何相关性的单个字符图像,再由系统分别对每个字符进行识别,在对字符进行切分时,要注意保证每个字符的完整度。

(4)字符识别:车牌字符识别是最为关键的一步,前面对车牌图像所做的处理都是为了完成最终的识别。系统输入的是单个的字符图像,输出的却是文本格式的完整的车牌号码,车牌字符识别的准确率直接反映出车牌识别系统性能的好坏。输出识别结果,并进行数据存储。 4.3 BP神经网络工具箱训练函数

神经网络工具箱几乎涵盖了所有的神经网络的基本常用模型,如感知器和BP网络等[12]。对于各种不同的网络模型,神经网络工具箱集成了多种学习算法,为用户提供了极大的方便。Matlab R2012b神经网络工具箱中包含了许多用于BP网络分析与设计的函数,BP网络的常用函数如表4.2所示。

表 4.2 BP网络的训练函数表

函数类型 前向网络创建函数

函数名称 newcf newff

学习函数

learngd learngdm

性能函数

mse msereg plotperf

显示函数

plotes plotep

函数用途 创建级联前向网络 创建前向BP网络 基于梯度下降法的学习函数 梯度下降动量学习函数

均方误差函数 均方误差规范化函数 绘制网络的性能

绘制一个单独神经元的误差曲面 绘制权值和阈值在误差曲面上的位置

14

errsurf

计算单个神经元的误差曲面

(1)网络的创建

应用newff( )创建BP网络结构。隐层神经元数目n可以改变,暂设为n=3,输出层有一个神经元。选择隐层和输出层神经元传递函数分别为tansig函数和purelin函数,网络训练的算法采用Levenberg – Marquardt算法trainlm。 n=3;

net=newff(minmax(p),[n,1],{'tansig' 'purelin'},'trainlm'); %对于初始网络,可以应用sim( )网络输出。 y1=sim(net,p); figure; plot(p,t,'-',p,y1,':')

title('未训练网络的输出结果'); xlabel('时间'); ylabel('仿真输出同时绘制网络输图4.3所示。

图 4.3 未训练网络的输出结果 其中 “ ” 代表非线性函数曲线; “‥‥‥” 代表未经训练的函数曲线;

--原函数-'); 出曲线,结果如

因为使用newff( )函数建立函数网络时,权值和阈值的初始化是随机的,所以网络输出结构很差,每次运行的结果也有时不同。

15

(2)网络训练

神经网络训练函数,调用其他训练函数,对网络进行训练。该函数的调用格式为:

[net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai) [net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai,VV,TV)

应用函数train( )对网络进行训练之前,需要预先设置网络训练参数。将训练时间设置为50,训练精度设置为0.01,其余参数使用缺省值。训练后得到的误差变化过程如

图4.4所示。

net.trainParam.epochs=50('网络训练时间设置为50'); net.trainParam.goal=0.01('网络训练精度设置为0.01'); net=train(net,p,t)('开始训练网络');

图 4.4 训练过程

TRAINLM-calcjx,Epoch0/50,MSE 9.27774/0.01,Gradient13.3122/1e-010

16

TRAINLM-calcjx,Epoch3/50,MSE0.00127047/0.01,Gradient0.0337555/1e-010 TRAINLM-calcjx,Epoch5/50,MSE0.00125011/0.01,Gradient0.0234565/1e-010 TRAINLM, Performance goal met. 从以上结果训练速度很快,送过程就达到了0.01。

(3)网络测试 对于训练好真:

的网络进行仿可以看出,网络经过一次循环跌要求的精度

y2=sim(net,p);

%应用sim( )函数对网络进行仿真。 Figure;

plot(p,t,'-',p,y1,':',p,y2, '--') title('训练后网络的输出结果'); xlabel('时间'); ylabel('仿真输出');

绘制网络输出曲线,并与原始非线性函数曲线以及未训练网络的输出结果曲线相比较,比较出来的结果如图4.5所示。

17

图 4.5 训练后网络的输出结果 其中 “ ” 代表非线性函数曲线; “‥‥‥” 代表未经训练的函数曲线; “―――” 代表经过训练的函数曲线;

从以上图中可以看出,得到的曲线和原始的非线性函数曲线很接近。这说明经过训练后,BP网络对模式识别效果比较好。

18

5 实验测试与结果分析

5.1 实验测试

实现仿真实验的Matlab的程序段如下:

function pbLoad_Callback(hObject, eventdata, handles) % 导入图像

[filename, pathname] = uigetfile({'*.bmp';'*.jpg';'*.gif';'*.*'}, 'Pick an Image File'); S = imread([pathname,filename]); axes(handles.axes1); % 车牌定位

[x, x2, y, y2] = detect_lp_area(yellow_pic, 50); [angle, lines] = find_angle(lp_area);

pic = imrotate(yellow_pic(y:y2, x:x2), angle, 'bilinear'); [small_pic, xx, xx2, yy, yy2] = improved_lp_area(pic, angle);

[image, RECTx, RECTy] = crop_lp(small_pic, lp_area, xx, xx2, yy, yy2, angle); % 车牌分割

image = handles.image; XSIZE = 50; YSIZE = 150;

RECTx = handles.RECTx; RECTy = handles.RECTy;

[grayImage, quantImage, bw] = quantizeImage(image); bw = normalized_lp(bw, RECTx, RECTy, XSIZE, YSIZE); seg = character_segmentation(bw); for i = 1:size(seg, 1)

pic = bw(:, seg(i,1) : seg(i,2), :); imshow(pic);

text(1, 1, ['按enter键继续'],... 'HorizontalAlignment','center',... 'BackgroundColor',[.9 .9 .9]); % 车牌识别 seg = handles.seg; bw = handles.bw; crop = handles.bw; load net.mat;

number = OCR(bw, seg, net); axes(handles.axes4); imshow(crop);

% text(1, 1, ['车牌号码为 = ', number],... strNumber = sprintf('%s', number);

hNumber = findobj('Tag', 'editNumber'); set(hNumber, 'String', strNumber);

19

最后运行程序最终识别效果如图5.1所示。

图 5.1 车牌识别最终效果图

5.2 实验结果分析

经过100多次实验,在规定的误差范围内,每一个神经网络经过训练后的识别率均可达到90%以上的识别率,而且网络训练时间也是可以接受的。各个子网识别率如表5.2所示。

表 5.2 综合识别率

神经网络类型 汉字识别率 字母识别率 混合识别率 数字识别率

样本数 100 100 100 100

识别率 94% 95.7% 94% 95.4%

本实验介绍了Matlab在车牌识别中的实际应用,通过图像采集、车牌号码定位、车牌字符分割、车牌字符识别、输出结果等可行性研究,尽管识别的准确率可以有达到95%以上,今后只要在分割出的字符的大小、位置的归一化,以及尝试提取分类识别能力更好的特征值和设计分类器等环节上再完善,进一步提高识别率是完全可行的。

20

6 结束语

神经网络图像识别技术是随着当代计算机技术、图像处理、人工智能、模式识别理论等发展起来的一种新兴图像识别技术,是在传统的图像识别方法的基础上融合神经网络算法的一种图像识别方法。

本文提出了使用基于神经网络的图像识别算法,同时对图像处理中的重要步骤也根据神经网络的特点进行了相应的改进。

通过设计的车牌识别系统运行及实例,可以清楚地看到,通过我们的方法所建立的基于神经网络的图像识别系统能够有效的识别图像,对现实生活有重要的意义。

当然,由于采用的是神经网络不可避免的存在着一些问题,如无法从理论上严格的确定BP网络的最佳的层数和隐层的神经元数目,海量数据样本下训练时间过长的问题等问题。对此本论文下一步研究的重点将放在神经网络优化这个方面上,对其不断的加以改进和完善。

21

致 谢

此论文是在曹建芳老师的悉心关怀和精心指导下完成的。在论文材料选择、授课讲解、研究方法、程序设计等过程中,她给予我很多教诲,使我能够顺利完成这篇论文。通过本次的设计,不仅使我的专业知识有了较大的提高,而且老师的严谨求实的治学态度,不断学习充实的精神也使我受益匪浅,定会在未来的工作、生活和学习中不断地给我以鼓励和鞭策。在此谨向曹老师表示衷心的感谢和崇高的敬意。

最后还要感谢我的父母,是他们一直在背后支持着我。使我心灵的天平永远倾向执着奋斗。使我深深的体会到:在这个竞争的社会里,没有真才实学,没有吃苦精神,是无法立足,无法生存的。

我要时时刻刻的记住人的一生要“活到老,学到老”紧跟时代步伐,以豪情勃发的远足迈向新的征途,新的挑战。让我们用科学知识来武装自己的头脑,用高科技技术来描绘未来的憧憬和期盼,再此感谢我的老师和同学。

年 月

22

参考文献

[01] 工傅荟璇,赵虹.MATLAB神经网络应用设计[M].北京:机械工业出版社,2010. [02] 丛爽.神经网络理论与应用[M].合肥:中国科学技术大学出版社,2009.

[03] 飞思科技产品研发中心.神经网络理论与MATLAB2007实现[M].北京:电子工业出版

社,2007.

[04] Haganmt,Demuthb. Neural Network design [M] .USA:PWS Publishing Company,2005. [05] 陈超.MATLAB应用实例精讲[M].北京:电子工业出版社,2011.

[06] E.R.Mccurley,K.Miller,R.Shonkuiler.Classification power of multilayer artificial

Neural Networks[M].USA:Cambridge University Press,2008. [07] 蔡自兴.人工智能及其应用[M].北京:清华大学出版社,2005.

[08] 高隽.人工神经网络原理及仿真实例[M].北京:机械工业出版社,2005. [09] 李晓慧.基于MATLAB的BP神经网络的应用[M]. 北京:电子工业出版社.2010. [10] 谢盛嘉,梁竞敏.车牌识别系统的设计与实现[M]. 北京:清华大学出版社.2010. [11] 杨国为,王守觉,闫庆旭.分式线性神经网络及其非线性逼近能力研究[M].北京:中

国石化出版社.2007.

[12] 王鸿斌,胡志军.人工神经网络理论及其应用[J].山西电子技术,2006,14(19):41-43. [13] Matlab user’s Guide. The Math Works.Inc[J]. Renewable Energy,2010,45(20):23-27. [14] Baker L G,Brower A H M,Babushka R.Integrated predictive adaptive control of heating,

cooling,ventilation,day lighting and electrical lighting in buildings[J].Int J of Solar Energy,2001,21(3):203-217.

[15] Assimakopoulosa M N,Mihalakakoub G,Floccose H A.Simulating the thermal behavior

of a building during summer period in the urban environment[J].Renewable Energy,2007,32(11):105-116.

23

本文来源:https://www.bwwdw.com/article/tmox.html

Top