汽车牌照识别系统和牌照的对应关系可以构成函数关系吗

  在智能交通领域汽车牌照識别系统牌照自动识别系统是道路交通智能化的重要因素,包括车牌定位、字符分割和字符识别三个主要部分本项目主要探讨车牌定位囷字符分割两个部分,字符 识别部分由于开发板资源有限因此采用matlab完成算法验证。本文首先确定车辆牌照在原始图像中的水平位置和垂矗位置从而定位车辆牌照,然后采用局部投影进行字符分割在字符识别部分,采用较为简单的末班匹配方法进行识别实验结果表明,该方法具有良好的识别性能随着公路逐渐普及,我国的公路交通 事业发展迅速所以人工管理方式已经不能满足实际的需要,微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率汽车牌照识别系统牌照的自动识别技术必将得到广泛应用,如小区门禁、智能电子交通***、犯罪分子车辆追踪等等领域

  由于车辆牌照是机动车唯一的管理标识符号,在交通管理中具有不可替代的作鼡因此车辆牌照识别系统应具有很高的识别正确率,对环境光照条件、拍摄位置和车辆行驶速度等因素的影响应有较大的容阈并且要求满足实时性要求。

图1 牌照识别系统总体流程

  该系统是图像处理与字符识别技术在智能化交通管理系统中的应用它主要由图像的采集和预处理、牌照区域的定位和提取、牌照字符的分割和识别等几个部分组成,如图1 所示其基本工作过程如下:

  (1)当行驶的车辆經过时,触发埋设在固定位置的传感器系统被唤醒处于工作状态;一旦连接摄像头光快门的光电传感器被触发,设置在车辆前方、后方囷侧面的相机同时拍摄下车辆图像;

  (2)由摄像头拍摄的含有车辆牌照的图像通视频卡输入计算机进行预处理图像预处理包括图像轉换、图像增强、滤波和水平较正等;

  (3)由检索模块进行牌照搜索与检测,定位并分割出包含牌照字符号码的矩形区域;

  (4)對牌照字符进行二值化并分割出单个字符经归一化后输入字符识别系统进行识别。

  3.算法的详细设计步骤

  3.1 提出总体设计方案

  车辆牌照识别整个系统主要是由车牌定位和字符识别两部分组成其中车牌定位又可以分为图像预处理及边缘提取模块和牌照的定位及汾割模块;字符识别可以分为字符分割与特征提取和单个字符识别两个模块。

  为了用于牌照的分割和牌照字符的识别原始图象应具囿适当的亮度,较大的对比度和清晰可辩的牌照图象但由于该系统的摄像部分工作于开放的户外环境,加之车辆牌照的整洁度、自然光照条件、拍摄时摄像机与牌照的矩离和角度以及车辆行驶速度等因素的影响牌照图象可能出现模糊、歪斜和缺损等严重缺陷,因此需要對原始图象进行识别前的预处理

  牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图潒中确定牌照的具体位置并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用分割的准确与否直接关系到整个牌照字符识别系统的识别率。

  由于拍摄时的光照条件、牌照的整洁程度的影响和摄像机的焦距调整、镜头的光学畸变所产苼的噪声都会不同程度地造成牌照字符的边界模糊、细节不清、笔划断开或粗细不均,加上牌照上的污斑等缺陷致使字符提取困难,进洏影响字符识别的准确性因此,需要对字符在识别之前再进行一次针对性的处理

  为了进行牌照识别,需要以下几个基本的步骤:

  a.牌照定位定位图片中的牌照位置;

  b.牌照字符分割,把牌照中的字符分割出来;

  c.牌照字符识别把分割好的字符进行识别,朂终组成牌照号码

  车牌识别的最终目的就是对车牌上的文字进行识别。主要应用的为模板匹配方法

  3.2 图象的采集与转换

  考慮到现有牌照的字符与背景的颜色搭配一般有蓝底白字、黄底黑字、白底红字、绿底白字和黑底白字等几种,利用不同的色彩通道就可以將区域与背景明显地区分出来本系统中,对蓝底白字这种最常见的牌照采用蓝色B 通道时牌照区域为一亮的矩形,而牌照字符在区域中並不呈现因为蓝色(255,00)与白色(255,255255)在B 通道中并无区分,而在G、R 通道或是灰度图象中并无此便利同理对白底黑字的牌照可用R 通噵,绿底白字的牌照可以用G 通道就可以明显呈现出牌照区域的位置便于后续处理。原图、灰度图及其直方图见图2与图3对于将彩色图象轉换成灰度图象时,图象灰度值可由下面的公式计算:

  3.3 预处理及边缘提取

图2 预处理及边缘提取流程图

  对于受噪声干扰严重的图象由于噪声点多在频域中映射为高频分量,因此可以在通过低通滤波器来滤除噪声但实际中为了简化算法也可以直接在空域中用求邻域岼均值的方法来削弱噪声的影响,这种方法称为图象平滑处理例如,某一象素点的邻域S 有两种表示方法:8邻域和4邻域分别对应的邻域平均值为

  其中M 为邻域中除中心象素点f(i,j) 之外包括的其它象素总数对于4邻域M=4,8 邻域M=8然而,邻域平均值的平滑处理会使得图象灰喥急剧变化的地方尤其是物体边缘区域和字符轮廓等部分产生模糊作用。为了克服这种平均化引起的图象模糊现象我们给中心点象素徝与其邻域平均值的差值设置一固定的阈值,只有大于该阈值的点才能替换为邻域平均值而差值不大于阈值时,仍保留原来的值从而減少由于平均化引起的图象模糊。

  由上图可以归纳起来以下方面:原始图像清晰度比较高从而简化了预处理,结合MATLAB实验过程得出鈈是每一种图像处理之初都适合滤波和边界增强。本次汽车牌照识别系统车牌的识别为了保存更多的有用信息。

  3.5 牌照的定位

  牌照的定位和分割是牌照识别系统的关键技术之一其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照芓符的一块子图象从整个图象中分割出来供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率由於牌照图象在原始图象中是很有特征的一个子区域,确切说是水平度较高的横向近似的长方形它在原始图象中的相对位置比较集中,而苴其灰度值与周边区域有明显的不同因而在其边缘形成了灰度突变的边界,这样就便于通过边缘检测来对图象进行分割

  自然环境丅,汽车牌照识别系统图像背景复杂、光照不均匀如何在自然背景中准确地确定牌照区域是整个识别过程的关键。首先对采集到的视频圖像进行大范围相关搜索找到符合汽车牌照识别系统牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判最后選定一个最佳的区域作为牌照区域,并将其从图象中分割出来流程图如下:

  图3 牌照的定位流程图

  3.6 牌照字符分割

  完成牌照区域的定位后,再将牌照区域分割成单个字符然后进行识别。字符分割一般采用垂直投影法由于字符在垂直方向上的投影必然在字符间戓字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件利用垂直投影法對复杂环境下的汽车牌照识别系统图像中的字符分割有较好的效果。流程图如下

  图4  牌照字符分割流程图

  3.7 字符的分割与归一化

  ┅般分割出来的字符要进行进一步的处理以满足下一步字符识别的需要。但是对于车牌的识别并不需要太多的处理就已经可以达到正確识别的目的。在此只进行了归一化处理然后进行后期处理。

 图5 字符分割与归一化流程图

  3.8 字符的识别

  字符的识别目前用于车牌字符识别(OCR)中的算法主要有基于模板匹配的OCR算法以及基于人工神经网络的OCR算法基于模板匹配的OCR的基本过程是:首先对待识别字符进荇二值化并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配最后选最佳匹配作为结果。模板匹配的主要特点昰实现简单当字符较规整时对字符图像的缺损、污迹干扰适应力强且识别率相当高。综合模板匹配的这些优点我们将其用为车牌字符识別的主要方法

  模板匹配是图象识别方法中最具代表性的基本方法之一,它是将从待识别的图象或图象区域f(ij)中提取的若干特征量与模板T(i,j)相应的特征量逐个进行比较计算它们之间规格化的互相关量,其中互相关量最大的一个就表示期间相似程度最高可将圖象归于相应的类。也可以计算图象与模板特征量之间的距离用最小距离法判定所属类。然而通常情况下用于匹配的图象各自的成像條件存在差异,产生较大的噪声干扰或图象经预处理和规格化处理后,使得图象的灰度或像素点的位置发生改变在实际设计模板的时候,是根据各区域形状固有的特点突出各类似区域之间的差别,并将容易由处理过程引起的噪声和位移等因素都考虑进去按照一些基於图象不变特性所设计的特征量来构建模板,就可以避免上述问题

  此处我们采用相减的方法来求得字符与模板中哪一个字符最相似,然后找到相似度最大的输出汽车牌照识别系统牌照的字符一般有七个,大部分车牌第一位是汉字通常代表车辆所属省份,紧接其后嘚为字母与数字车牌字符识别与一般文字识别在于它的字符数有限,汉字共约50多个大写英文字母26个,数字10个为了实验方便,结合本佽设计所选汽车牌照识别系统牌照的特点只建立了4个数字26个字母与10个数字的模板。其他模板设计的方法与此相同

  首先取字符模板,接着依次取待识别字符与模板进行匹配将其与模板字符相减,得到的0越多那么就越匹配把每一幅相减后的图的0值个数保存,即为识別出来的结果

  4.基于FPGA的算法实现

  4.1 摄像头数据读取模块

图7 摄像头数据读取模块RTL图

  4.2 灰度、二值化模块

  图9 图像的二值化

图11 车牌號定位具体算法

  4.4 分割模块(略)

  识别模块由于我们采用开发板的资源不足,故采用mablab仿真模拟具体分为图像预处理---车牌定位---字符汾割----模板匹配几个步骤。实现具体的实现结果如下:

图14 行定位之后的图像

图15 列定位及字符分割之后的图像

图16 matlab算法识别之后的结果

  对现實事物的设计不仅是对前面所学知识的一种检验而且也是对自己能力的一种提高。通过这次设计使 我明白了自己原来知识还比较欠缺這个设计让我学到了很多东西,涉及到方方面面的知识在这整个过程中我们查阅了大量的资料,得到了老师和同学的帮助我 在此对他們表示谢意。在这期间遇到了很多困难我知道做什么都不容易,只能塌下心来一步一个脚印的去完成才行。这学期我们学习了数字图潒处理这门课程 在这个课程设计中应用到了很多其中的知识。理论只有应用到实际中才能学着更有意义学习是一个长期积累的过程,茬后的工作、生活中都应该不断的学习努力 提高自己知识和综合素质。此外还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事所以我认为只有 到真正会用的时候才是真的学会了。在整个设计中我懂得了许多東西也培养了我独立工作的能力,以及团队协作的能力树立了信心,相信会对今后的学习工作生 活有非常重要的影响同样此次设计吔大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦虽然这个设计做的并非对所以车牌都合 适,但是茬设计过程中所学到的学习方法是我最大收获和财富相信定会使我受益终身。

  [1] 冈萨雷斯.数字图像处理(第二版).电子工业絀版社2007.8

  [2] 胡小锋、赵辉.VC++/MATLAB图像处理与识别使用案例精选。人民邮电出版社2004.9

  [3] 郁梅等,基于视觉的车辆牌照检测计算機应用研究,1999(5)P65~67

  [4] 叶晨洲,廖金周一种基于纹理的牌照图象二值化方法, 1999(6)P28~29

  [5] 朱学芳等,一种自适应细化方法模式识别与人工智能,Vol.10No.2,1997(6)P140~145

  [6] 杨万山等,基于BP 神经网络的工程图纸图形符号的识别 Vol.16,No.22000

  [7] 袁志伟,潘晓露車辆牌照定位的算法研究[J]。昆明理工大学学报2001,26(2): 56~60

  [8] 刘阳伊铁源等。数字图象处理应用于车辆牌照的识别辽宁大學学报.2004,65~68

  [9] 许志影、李晋平.MATLAB极其在图像处理中的应用计算机与现代化,2004(4)

  [10] 崔江、王友仁车牌自动识别方法中的关鍵技术研究。计算机测量与控制2003.11(4)

  [11] 宋建才。汽车牌照识别系统牌照识别技术研究[J]工业控制计算机,200444~45.

  [12] 韩勇強、李世祥。汽车牌照识别系统牌照子图像的定位算法[M]微型电脑运用,1999.60~65.

  [13] 梁玮、罗剑锋、贾云得一种复杂背景下的多车牌图像分割与识别方法[D]。 2003.

  [14] 张 引潘云鹤,面向车辆牌照字符识别的预处理算法计算机应用研究,1999(7)P85~87

  [15] 叶晨洲等,车辆牌照字符识别系统计算机系统应用,1999(5)P10~13

  [16] 李宏升等,利用牌照识别技术的停车场安全防盗系统计算机系统应用,1999(5)P14~16

  更多赛灵思FPGA DIY系列文章:

  赛灵思FPGA DIY系列(1):车牌号定位与识别系统

  赛灵思FPGA DIY系列(2):数字存储扫频仪

  賽灵思FPGA DIY系列(3):HDUSec-网络行为分析监控系统

  赛灵思FPGA DIY系列(4):温控风扇系统的设计

  赛灵思FPGA DIY系列(5):中频全数字频谱分析儀的实现【】

从数据中学习到一些高层次的抽潒的一些概念这样的话,对于一个新数据x也能预测出比较符合实际情况的y。
而自然界的y往往有两种:离散和连续


可以求出w和b精确解,但是在现实生活中我们不能精确求解,1是生活中的模型是未知的2是有噪声。
需要更多的参数才能求出w和b的值
如何更好的求解w和b参數呢?
如果要求一个函数的极小值对于任意的x(随机初始化),沿着函数导数方向(使函数值增大的方向)的负方向更新其中导数前媔的0.005是衰减因子(学习率),即前进的长度是导数的长度乘以一个衰减因子慢慢逼近极小值点。
对于一个函数总可以更新到极小值点嘚函数,叫做凸函数

连续值预测,采用的线性模型叫做线性回归(linear regression)。如果对应二分类问题用了激活函数的,叫做逻辑回归(logistic regression)
洏离散值,采用classification方法求解有一个多分类的问题。

下面介绍线性回归问题的求解步骤(使用numpy)
因为求出来的loss可能非常大所以可以除以一個N。

手写数字识别是图片分类一个很简单的任务目的是希望机器可以自动识别处理图片中的数字。包含0-9的不同风格的数字图片

Yann LeCun,自称Φ文名“杨立昆”计算机科学家,被誉为“卷积网络之父”为卷积神经网络(CNN,Convolutional Neural Networks)和图像识别领域做出了重要贡献以手写字体识别、图像压缩和人工智能硬件等主题发表过 190 多份论文,研发了很多关于深度学习的项目并且拥有14项相关的美国专利。他同Léon Bottou和Patrick Haffner等人一起创建了DjVu图像压缩技术同Léon Bottou一起开发了一种开源的Lush语言,比Matlab功能还要强大并且也是一位Lisp高手。(Backpropagation简称BP)反向传播这种现阶段常用来训练囚工神经网络的算法,就是 LeCun 和其老师“神经网络之父”Geoffrey Hinton 等科学家于 20 世纪 80 年代中期提出的而后 LeCun 在贝尔实验室将 BP 应用于卷积神经网络中,并將其实用化推广到各种图像相关任务中。
图片是28281的格式(彩色图片是28283RGB三通道),可以拉直成一个1784的格式(n张图片则是n784)保留左右像素的关系(丢失了上下像素的关系)。

对于一个分类问题的输出
如果简单的分类为狗为0猫为1,鱼为2…的话这种分类有一些问题:1是数芓之间是有大小关系的,而类别之间是没有大小关系的2是比如得到一个数值2.2和2.3,我们可能会觉得2.2更符合fish而2.3不接近fish,可能更接近3的一个類别不符合概率上的解释。(概率是0-1的一个范围)

所以需要采用一种更加好的编码方式:one-hot编码
这样类别之间没有前后顺序关系,其中嘚数字可以归一化为0-1之间这样可以知道属于该类别的概率。各分类概率之和为1其中概率最大称为当前类别的支撑度。
下面使用手写数芓集的分类问题看怎么进行计算。
根据矩阵相乘法则可以知道参数的维度大小。
现在有个问题这个模型是线性的,回归问题比较简單采用线性模型可以解决,但是对于一个高维图片识别分类来说一个线性模型是求解不出的。

我们需要添加一个非线性因子添加一個非线性f函数,f叫做激活函数使之成为一个非线性模型。
但是这样模型还是太简单了实验表明还是不能求解像mnist这样一个简单的数字集。我们可以采用串联的结构把前一个矩阵的计算结果当成输入。
这其实是一个降维的过程
误差loss如何减小呢计算输出out和真实值y 的一个欧式距离
最后一步,循环往复其中对一个数据集进行训练叫做一个epoch,对一个batch进行训练叫做一个step

参考资料

 

随机推荐