一种基于卷积神经网络的智能车牌识别方法

2021-06-24 01:37刘世豪王丙正胡文帅陈亚瑞
理论与创新 2021年4期
关键词:车牌识别BP神经网络

刘世豪 王丙正 胡文帅 陈亚瑞

【摘   要】车牌智能识别是实现交通车辆信息统计、存储的核心技术,本文设计一种基于BP神经网络的的车牌识别实现方案,搭建包含多层卷积、池化、全连接层的神經网络模型,通过图像降维、中值滤波、Canny边缘检测、闭运算等图像处理算法搭配,实现对原始车辆图像的科学处理。后加以基于投影法的字符分割,将分割后的多个字符数据输入训练模型,得到输出车牌号码信息,以实现对图像车牌号码的检测;该方法采用多类场景下车辆图像进行检测,识别准确率可达97%。

【关键词】车牌识别;中值滤波;BP神经网络;字符分割

引言

随着中国经济的高速发展,中国人民对汽车的需求量逐年增大,同时道路车流量在巨幅增加,如何科学、准确地在各公共交通场所、交通路段实现对车辆车牌的检测和识别,这是交通有关管理部门对交通数据统计时较为关注的问题。本文设计了一种基于卷积神经网络的车牌识别方案,对已经存在的车牌识别系统在图像处理、神经网络模型搭建方面进行了技术改进,实现了对多场景下车牌图像的车牌位置的正确截取,对车牌号码的精准识别。

1.卷积神经网络

卷积神经网络是一种包含卷积的多层结构神经网络,包括卷积层,池化层,全连接层,其局部连接方式有效减少了权值数量,卷积层通过对图像数据求卷积以提取并增强图像特征,池化层对图像进行池化操作,全连接层采用Softmax进行各类别概率的映射,最后输出层作为字符分类器,实现对车牌各字符的确定。

本文选择使用CNN神经网络进行模型构建,使车牌、字符图像可以直接作为网络的输入,有效减少了特征提取过程中的复杂转换,使图像重建过程缩短,在解决识别缩放、变形等图像问题方面具有较高的运算效率。

本文建立3层卷积、3层全连接层的BP神经网络,来训练字符、车牌的识别模型,网络结构如图1所示,卷积层使用3×3的卷积核进行卷积运算,并能够在图像边缘进行停留;池化层使用max-pooling取得特定范围最大特征点,在车牌及字符图像识别中对目标纹理提取有较高的效用;每层采用RELU函数进行激励,RELU函数表达形式为:

它具有良好的单侧抑制效果,能更好的挖掘车牌及字符细节特征,拟合训练数据。在神经网络最后一次输出层中,采用Softmax回归对输入图像进行分类,Softmax函数将x向量映射为结果值(y1,y2,...,yk),对应数据范围到(0,1)区间,Softmax交叉熵损失函数:

其中表示样本有所有类别的后验概率组成,经过梯度下降法的优化求解,得到关于向量W的梯度值,后进行迭代操作,不断对W进行值更新,直至达到判定阈值。

2.车牌定位

2.1图像处理

(1)图像降维。图像降维采用图像灰度化处理,RGB图像灰度化是将原始图像数据转化为二维矩阵,能最大程度保留原始图像的显著特征信息。

(2)图像滤波。图像滤波是尽量保留图像原始特征同时消除干扰信息,本方法中采用medianBlur中值滤波,它在一定程度上降低了滤波器内与典型值差别较大的值的影响,能较高程度保留图像边缘特征,其计算过程如图2所示。

(3)边缘检测。本文使用Canny算法进行边缘检测,通过高斯滤波实现干扰信息消除,使用卷积阵列、分别作用于x轴正向和y轴正向,计算梯度幅值和方向:

后定义不同的阈值进行强、弱边缘检测,符合判定条件时保留弱边缘,故有较强的噪声干扰稳定性。

(4)噪声消除。将原始图片由RGB通道转换到HSV通道,后二值化处理,使用矩形内核对图像进行先膨胀后腐蚀以实现图像闭运算,消除图像中黑色斑点,加强邻接目标间的不可靠连接,平滑边缘的同时保持检测物体原有大小,实现图像前景噪声的去除,得到真正的车牌在图像中的区域。

2.2车牌截取

本文使用opencv2库函数进行图像中矩形轮廓提取,由于图像本身多样性,通过泛洪算法(FloodFill)和倾斜矫正对疑似区域进行矫正处理,后参照中国标准车牌比例进行阈值设定,通过该阈值对所提取的所有矩形轮廓进行筛选,选取最终判别的车牌区域进行截取。

2.3车牌识别

对本文建立的卷积神经网络进行图像输入,数据集中样本图像数量为6000,其中正向样本数量为2000,反向样本数量为4000,输出层是对分类映射的二分类器,输出结果为“是车牌”和“非车牌”。

3.字符识别

3.1色彩处理

为便于图像中字符识别,将图像灰度化、二值化为黑白图像。进行图片边缘切割,通过从首尾两侧对图像二维数据进行缩小,舍弃图像边缘部分以切除车牌边框,避免边框等不利因素对字符识别准确率造成影响。

3.2字符分割

采用投影法进行字符分割,对图像进行水平、垂直像素统计,判断出车牌中每个字符所在区域。我国标准车牌为统一的七个字符,垂直投影后,各字符间将再无异类像素点,因此得到的投影图会出现7个大的波峰,从中得到字符起始点、分割间距、字符结束点等参数,由此进行字符分割,投影及分割效果如3图所示。

3.3字符识别

训练搭建的卷积神经网络模型,将预处理后生成的图像数据输入模型,识别结果包含中国31个省的简称、除去字母I和O后的24个大写英文字母、10个阿拉伯数字进行分类,输出层为65分类器以分别对应以上65种字符,输入值为每个分割出的字符图像数据,输出为在65个字符中具有最大概率的字符。模型训练过程中,损失随迭代次数趋势图像如图4所示,训练结束时,识别精度高达0.98。

4.测试结果分析

测试图片来自数据集CCPD2019,CCPD2019是由中科大团队建立,其中包含多类环境、角度下车辆图像,选取100张不同背景、车牌大小的图像进行检测,经过图像预处理,将图像输入训练好的模型以进行分类,检测结果输出形式为控制台打印,识别正确率为0.97,有3%的图片识别失败,统计结果如表1所示。

可以得出,训练出的神经网络模型在不同场景下车辆图像有较高的识别率,但对于1%背景干扰性过强的图像,仍存在不能准确截取车牌的情况,对于2%变形严重的车牌,存在分割后无法识别的情况,因此该方法在神经网络模型搭建方面仍有优化的空间。

5.结语

本文基于卷积神经网路以及计算机图像处理技术,设计了一种智能车牌识别方法,并利用python语言完了编程实现。该方法可识别现实道路环境下对车辆图像,并完成对车牌图像的准确截取、分割,输入训练模型中可准确输出识别结果,测试准确率可达0.97,实现了各类环境下车牌的精准识别,为相关部门技术人员的工程实现提供了技术参考。(通讯作者:陈亚瑞)

参考文献

[1]周志华.机器学习.Machine learning[M].清华大学出版社,2016.

[2]刘美. 彩色图像灰度化算法的研究与实现[D].长春理工大学,2019.

[3]施鹏程,彭华.车牌识别系统的设计与实现[J].信息与电脑(理论版),2020,32(16):102-104.

[4]林云.基于OpenCV的车牌识别系统设计与实现[J].物联网技术,2020,10(06):22-25.

[5]李清洲,潘为刚,王书新.基于Python-OpenCV的车牌识别系统[J].单片机与嵌入式系统应用,2020,20(09):59-62.

[6]刘保.基于神经网络深度学习的车牌识别算法[J].中国交通信息化,2019(08):122-125+128.

[7]顾秀秀,朱明亮,吴琼,史洪玮.基于BP神經网络的智能车牌识别系统[J].电脑知识与技术,2021,17(03):19-22.

[8]彭慧玲.基于DenseNet与ResNeXt算法的车牌定位识别方法研究[J].技术与市场,2020,27(10):23-26.

基金项目:本文系天津科技大学创新创业项目(项目编号:202010057171)资助

作者简介:刘世豪(2000.03-),男,汉族,河南开封人,天津市滨海新区天津科技大学物联网工程专业,本科生。

通讯作者:陈亚瑞(1982.10-),女,汉族,河北邢台人,副教授,博士,研究方法机器学习、深度学习。

天津科技大学    天津    300457

猜你喜欢
车牌识别BP神经网络
就bp神经网络银行选址模型的相关研究
基于DEA—GA—BP的建设工程评标方法研究
基于支持向量机的车牌字符识别方法
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
车牌识别系统设计与实现
BP神经网络算法在数值预报产品释用中的应用
基于车牌识别的机器视觉课程研究
一种改进的BP神经网络车牌识别算法的研究
半开放式智慧校园安防系统