[发明专利]基于粒子群算法优化神经网络的车牌识别系统及方法有效
申请号: | 201810605580.5 | 申请日: | 2018-06-13 |
公开(公告)号: | CN108805125B | 公开(公告)日: | 2022-08-19 |
发明(设计)人: | 王小会;薛延刚;李晓青;李建民;裴永清;李双科 | 申请(专利权)人: | 兰州工业学院 |
主分类号: | G06V20/62 | 分类号: | G06V20/62;G06V10/22;G06V10/56;G06V10/422;G06V10/82;G06N3/04;G06N3/08;G06N3/00 |
代理公司: | 上海金盛协力知识产权代理有限公司 31242 | 代理人: | 王松 |
地址: | 730050 甘肃*** | 国省代码: | 甘肃;62 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明揭示了一种基于粒子群算法优化神经网络的车牌识别系统及方法,所述车牌识别系统包括:车牌定位模块、字符识别预处理模块、车牌识别模块;所述车牌定位模块包括:车牌字符初步定位单元、真实车牌获取单元、车牌铆钉去除单元、字符轴线确定单元;字符识别预处理模块包括二值化单元、倾斜校正单元、归一化处理单元;所述车牌识别模块包括粒子群学习单元、动态优化神经网络单元、识别单元。本发明提出的基于粒子群算法优化神经网络的车牌识别系统及方法,采用粒子群算法优化神经网络,动态优化神经网络的权值和隐层神经元个数,提高车牌识别精度和识别速度。 | ||
搜索关键词: | 基于 粒子 算法 优化 神经网络 车牌 识别 系统 方法 | ||
【主权项】:
1.一种基于粒子群算法优化神经网络的车牌识别系统,其特征在于,所述车牌识别系统包括:车牌定位模块、字符识别预处理模块、车牌识别模块;所述车牌定位模块用以获取图像中车牌的位置,对其进行定位;所述车牌定位模块包括:车牌字符初步定位单元、真实车牌获取单元、车牌铆钉去除单元、字符轴线确定单元;所述车牌字符初步定位单元,用以初步定位车牌字符;首先对获取的图像进行灰度化,如下式所示:Y=0.299*R+0.587*G+0.114*BR、G、B分别为图像的红、绿、蓝的三色分类;车牌的处理涉及到红色、白色、黄色和蓝色四种颜色,以蓝底白字车牌的基层进行初始设定,非蓝底白字车牌需要转换成蓝底白字的车牌;对于黄底黑字车牌经反色即变成蓝底白字,即各个颜色通道分量值为255减去当前颜色分量值;黑底白字的车牌,首先把黑色处理成为蓝色,即对应的蓝色通道分量值加255,将黑底白字的车牌处理成蓝底白字;由于已经把车牌处理成蓝底白字,即(255,255,255)的像素点认为为字符笔画位置,由于车牌的尺寸是固定的,字符笔画位置固定后,再根据车牌区域的背景颜色和字符颜色所占像素点的比例也是固定的,从而即使拍摄角度有差异,车牌仍然会局限在一定的范围,从而对车牌进行了初定位;所述真实车牌获取单元用以获取真实车牌;一张图像中可能存在多块区域蓝底白色,需要获取到真实的车牌部分;由于车牌的大小和字符的大小是固定的,通过可比对蓝底白色模块的区域的大小和白色部分在蓝底中所占的比例,即可确定真实的车牌部分;所述车牌铆钉去除单元用以去除车牌铆钉;由于车牌安装时需要铆钉,而带有铆钉的字符高度大于字符平均高度的1.115倍,从而当发现字符的高度大于平均字符的高度的1.115倍时,就将字符的上坐标按下坐标的值+字符的平均高度,从而去除铆钉对字符的影响;所述字符轴线确定单元用以确定车牌字符大致位置,利用车牌字符间的相对位置,根据两点直线公式确定车牌所在的轴线;如下式所示:将字符矩形包络的坐标带进上述公式,求出车牌字符所在轴线,得出车牌的水平倾斜角度值,也就是字符偏离水平方向的角度,根据车牌偏离水平方向的角度得到车牌偏离竖直方向的角度,并保存该矩形左上角和右下角的坐标,从而获取车牌的范围;利用己经找到的现有的字符的倾斜包络,初步得到倾斜字符的斜宽和斜高;根据现有字符的斜宽和斜高,推出车牌倾斜字符之间的倾斜间距;由于在寻找字符的过程中,并不一定能完全寻找到所有的车牌字符,但是已经找到了车牌字符中的一部分字符,并得到了它们的斜宽、斜高、和字符之间的间距,利用字符之间的位置关系,将一个完整的车牌模板套上去,当模板完整的将已经找到的字符嵌入进去,车牌上的所有字符便都找到;所述字符识别预处理模块用以对图像进行二值化处理、倾斜校正处理、归一化处理,通过上述预处理获取字符的特征值,这个特征值作为神经网络的输入值;所述字符识别预处理模块包括二值化单元、倾斜校正单元、归一化处理单元;所述二值化单元用以通过选取一个合理的阈值,把原图像像素点仅用两个灰度值表示图像的目标和背景颜色,从而产生相应的二值图像;若一幅灰度图像中的灰度级范围是0~255,设有一阈值为T(0≤T≤255),则:其中,g(x,y)表示二值化后图像中各个像素点的值;若g(x,y)=255则说明该点是目标,反之,则是背景;阈值T可根据实际情况设置;所述倾斜纠正单元用以找到图像的倾角后,应对车牌字符图像做几何变换;首先要确定校正变换前后图像的坐标关系:相应的由新图坐标反算回的原图坐标为:其中(i,j)是原图像f(x,y)中的像素点的坐标;(i,j)是对应像素点(i,j)经过旋转变换后的图像g(i,j)的像素点的坐标;经变换后的坐标位置可能不是整数,这样,在旋转后的图像中就会出现空穴,使用双线性插值法进行空穴进行填充;考虑车牌识别所涉及到10数字、31个汉字和26个字母的特性,均为从上向下即可识别;空穴像素值的赋值,采用把空穴点作为3*3矩阵的中心点,从上向下,从左到右依次识别读取范围内非空穴像素点中像素值为1和像素点为0的个数,二者那个像素点的个数多,空穴赋值为对应的像素点的值;如果像素值为1和像素点为0的个数相同,通过生成(0,1)之间的随机数,如果生成的随机数大于0.5,空穴的像素点为1,小于等于0.5,空穴的像素点为0;在为空穴赋值的过程中,如果空穴在像素点的边框部分,无法作为3*3矩阵的中心点,考虑到字符的边框,字符均在图像的中间的特点,对这些空穴均赋值为0;所述归一化处理单元用以将待识别的字符进行大小统一,以便于进行字符特征提取,本文采用插值变化的归一化方式;设f(x,y)为原图像,g(x0,y0)为归一化后的图像,设(x0,y0)为g中的任意一点,对应与f(x,y)中的点(a,b),根据(a,b)的具体情况来表示g(x0,y0)中各像素点的值;归一化后图像的像素点和原图像中的像素点的映射公式为:公式中的w是原图像的宽度,是归一化以后的宽度;d是原图像的高度,d是归一化以后的高度;归一化的图像中的点(x0,y0)映射到原图像中的点(a,b)可能存在非整数的情况,当(a,b)不是整数是要进行像素内插变换;如果(a,b)是整数,表明(x0,y0)对应在原图像的网络点上,不必进行内插变换,直接令(x0,y0)的灰度值等于(a,b)位置处的灰度值:g(x0,y0)=f(a,b)如果(a,b)不是整数,则采取内插变换方法来决定g(x0,y0)的值;邻近插值法中归一化的图像g(x0,y0)的灰度值是用f(x,y)邻接的四个网络点(i,j),(i+1,j),(i,j+1),(i+1,j+1)中几何距离最接近它的灰度值来近似;所述车牌识别模块用以通过神经网络来识别字符,采用粒子群算法动态优化神经网络;一个完整的粒子全算法优化神经网络实现字符识别的流程;所述车牌识别模块包括粒子群学习单元、动态优化神经网络单元、识别单元;神经网络的结构分为输入层,隐含层和输出层;作为人工神经网络的基本单元的神经元模型,它有三个基本要素:(1)一组连接,对应于生物神经元的突触,连接强度由各连接上的权值表示,权值为正表示激活,为负表示抑制;(2)一个求和单元,用于求取各输入信号的加权和,即线性组合;(3)一个非线性激活函数,起非线性映射作用并将神经元输出幅度限制在一定范围内;此外还有一个阈值θk(或偏置bk=‑θk);以上工作用数学表示式表示为:vk=netk=uk‑θk;式中,x1,x2,…,xn为输入信号,wk1,wk2,…,wkp为神经元k的权值,uk为线性组合权值,θk为阈值,φ(·)为激活函数,yk为神经元k的实际输出;激活函数φ(·)设为Sigmoid函数:若把输入的维数增加一维,则可把阈值θk包括进去,则此处增加了一个新的连接,其输入为x0=‑1,权值为wk0=θk(或bk);由于的值是(‑1,1)范围内的值,当小与0的时候,输出值为0,当大于等于0的时候,输出值为1;所述粒子群学习单元通过粒子向自身经验Pi和群体经验Pg不断学习,实现在解空间内寻优;假设粒子群第i个粒子在d维空间中的位置为xi=(xi1,xi2,…,xid),飞行速度为vi=(vi1,vi2,…,vid),其经历过的最好位置为Pi=(pi1,pi2,…,pid),所有粒子经历过的最好位置为Pg=(pg1,pg2,…,pgd),粒子按下式更新:式中,vid表示第i个粒子第d维速度分量,t为迭代次数,惯性权重w为0.98,学习因子c1=c2=2,r1和r2为(0,1)之间均匀分布的随机数;首先考虑粒子的编码,由于输入为20*36的0和1的编码,则神经网络输入节点为720个;考虑到车牌需要识别26个英文字母,涉及到31个汉字和10个阿拉伯数据,共51个字符,根据二进制,则需要6个输出节点;隐藏节点先根据经验公式在少两个和多10个之间,在学习阶段把隐藏神经元设置为最大隐藏神经元76;神经网络最大结构确认后,对隐藏神经元的阈值随机赋予0或1的值,为0表示该隐藏神经元没有参与学习,为1表示隐藏神经元参与学习,再对神经网络的所有权值赋予(‑1,1)范围内的随机值;由于车牌识别的特殊性,输入值只为0和1两种值,对应的神经网络的阈值只相当于多了一个权值,从而可以对神经网络阈值θk进行精简,从而简化网络结构;粒子的目标函数:根据车牌识别的特点,共涉及到51个字符,依次对字母,阿拉伯数字和31个文字设置为二进制递增的值:000000,000001,000010,…,110010,110011,输出为二进制数,由于神经元的激活函数为输出为(‑1,1)之间的随机值;但为了更快的优化网络,避免陷入局部极值,在学习过程中,输入节点不用严格的转换成二进制值;采用其中num为学习样本数,Yi为节点实际输出,Oi为节点期望输出;同时根据Moody准则,当网络训练精度达到一定程度时,网络有效参数越少,网络泛化能力越优;从而在网络适应值相同的情况下,选取隐藏神经元为0多的为优胜者;所述动态优化神经网络单元用以实现前馈网络结构和权值同时优化的方法;设定全国各地车牌5000作为学习样本,为保证各省汉字都能识别到,每省车牌图像不少于100个;随机初始化40个粒子,每个粒子代表一个神经网络,对隐藏神经元和神经网络权值和阈值赋值后,当隐藏神经元为0时,与之相连的权值不参与神经网络学习;再分别对40个粒子根据神经网络学习算法获取每个粒子初始识别率,初始识别率也作为当前粒子的最初粒子最优值,再从中选择识别率最高的作为当前最优粒子;算法共学习5000代,每代中比较每个粒子历史最优值和所有粒子历史最优值,分别作为粒子自身最优值和全局历史最优值;为实现神经网络结构的学习,每个粒子的每代的隐藏神经元数与粒子自身最优值隐藏神经元数和全局历史最优值隐藏神经元数比较;当粒子的隐藏神经元数小于粒子自身最优值隐藏神经元数和全局历史最优值隐藏神经元数之和的平均值时,把粒子隐藏神经元标识为0的随机选择一个设置为1,下一代对应的权值参与学习;当粒子的隐藏神经元数大于粒子自身最优值隐藏神经元数和全局历史最优值隐藏神经元数之和的平均值时,把粒子隐藏神经元标识为1的随机选择一个设置为0,下一代对应的权值不参与学习;同时为了避免粒子陷入局部极值,每代对粒子的全局极值和个体极值选取随机选取10%的权值乘以(0.8,1.2)的随机值,以增加粒子群算法的扰动,避免粒子陷入局部极值;当算法学习10000代后或粒子的识别率低于千分之一的时候,把全局最优粒子,作为车牌字符识别的网络,为加快计算,减少内存,神经网络隐藏神经元标识为0且与之相连的权值全部清除,精简网络结构;图像经过上述图像预处理模块预处理后得到最终的20*36的矩阵,所述识别单元采用学习后最优神经网络进行识别,由于神经网络的激活函数是输出的为(‑1,1)之间的随机值,所以当激活函数输出的值小于0时赋值为0,大于等于0时赋值为1,根据最终转换后的二进制字符,识别车牌字符。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于兰州工业学院,未经兰州工业学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810605580.5/,转载请声明来源钻瓜专利网。