1、66 萍乡学院学报 2023 年 第 40 卷第 3 期 萍乡学院学报 2023 年 6 月 Vol.40 NO.3 Journal of Pingxiang University Jun.2023 基于改进的高斯模糊算法的车牌识别系统开发与验证 张利芬1,2,时培成2,葛胜升1 (1.芜湖职业技术学院 汽车与航空学院,安徽 芜湖 241006;2.安徽工程大学 机械与车辆工程学院,安徽 芜湖 241000)摘 要:车牌识别是车辆识别的重要内容,交通管理系统的智能化的发展对车牌识别的准确度、速度、鲁棒性、检测的空间范围等提出了更高的要求。为实现快速、高准确率及高适应性的车辆识别效果,课题组基于
2、图片处理的车牌识别方法,利用改进的高斯模糊算法,基于 OpenCV 软件进行车牌识别系统设计,以检测距离和检测角度为主要变量,搭建试验平台,以识别的速度,识别准确率及鲁棒性作为主要评价指标进行车牌识别试验验证。38 组测试结果显示,除一次极限状态,和一次试错外,该系统均能快速、准确地完成车牌识别工作。关键词:图像处理;高斯模糊;OpenCV;车牌识别 中图分类号:U495;TP391.41 文献标志码:A 文章编号:2095-9249(2023)03-0066-05 0 前言 自动车牌识别(Automatic License Plate Recognition,ALPR)已广泛应用于高速公路的
3、车辆管理、停车场管理、交通场景理解等领域,为建立智能交通管理系统提供了很大的帮助。现有的车牌识别技术主要有传统的图像处理识别技术和基于深度学习的识别技术1。深度学习算法重点在处理精度、再现性、灵活性、适用面、信息压缩等方面,其运算量及储存空间需求大2,3。对于计算机本身而言,面临着计算负载大,存储空间紧张,目标终端数目庞大等挑战,对于动态变化速度大的智能交通环境而言,运算量大,成本偏高、在小型设备上应用灵敏性差。而基于图像处理的车牌识别主要有基于车牌边缘特征、车牌颜色、车牌纹理和字符特征等方法4,具有技术成熟,运算量小,应用灵活,成本低等优势,但容易受环境噪声干扰,且应用过程中车牌拍摄角度,距
4、离等不固定,影响识别的准确率。在此背景下,本文以图像处理方法为基础,提出一种基于高斯模糊卷积算法的车牌识别方案,利用改进的高斯模糊算法,使得模糊半径能根据车牌识别难度进行自适应调节,从而实现在多种距离、多种角度及不同噪声环境下对车牌的快速和精准识别,并结合 Canny 边缘检测4及二值化特征提取算法,来增强对边缘信息提取时的鲁棒性。1 改进的高斯模糊算法流程 高斯模糊(Gaussian Blur),也叫高斯平滑,用于计算机视觉算法中的预先处理阶段,主要作用是减少图像噪声以及降低细节层次,以增强图像在不同比例大小下的图像效果。从数学的角度来看,图像的高斯模糊过程就是原始图像与相邻图像元素的正态分
5、布做卷积,该正态分布的二维函数为5:222()/(2)21(,)2Ge+=(1)其中:r 是模糊半径(r2=2+2);是正态分布的标准偏差;G(,)为高斯模糊核,即卷积核。在二维空间中,公式(1)生成的曲面的等高线是从中心开始呈正态分布的同心圆,分布不为零的像素组成的卷积矩阵与原始图像做变换,即将高斯模糊核与提取到的特征图像卷积,该过程如图 1 所示6。投稿日期:2022-06-07 基金项目:安徽省优秀青年骨干教师国内访学研修项目“四轮毂驱动电动汽车线控电制动特性研究”(gxgnfx2021189);安徽省职业与成人教育学会教育教学研究规划课题“产教深度融合背景下新工科智能制造汽车类专业人才
6、培养模式的探究与实践”(Azcj2021059)作者简介:张利芬(1989),女,湖北黄石人,讲师,硕士,研究方向:新能源汽车电控、汽车设计与制造技术。通信作者:时培成(1976),男,安徽宣城人,教授,博士,硕士生导师,研究方向:电动汽车驱动控制技术,Email:。第 3 期 张利芬,等:基于改进的高斯模糊算法的车牌识别系统开发与验证 67 图 1 卷积的过程 每个像素的值都是周围相邻像素值的加权平均,原始像素的值有最大的高斯分布值,所以有最大的权重,相邻像素随着距离原始像素越来越远,其权重也越来越小,以此来增强训练使用的图片特征,提高泛化能力。在高斯模糊处理过程中,模糊核半径越大,去噪效果
7、越好,但计算速度变慢,反之识别速度快,去噪效果差。而在智能交通系统中,周围环境越简单,视野越好,识别难度低,车辆进入识别区域时的速度会较大,要求较高的识别速度。若环境噪声繁杂,视野较差,识别难度较高,相对速度就较慢,此时侧重于对准确率的保证,所以在复杂多变的交通环境中,模糊半径不宜为固定值。本文在传统高斯模糊算法基础上作了相应改进,使模糊半径值能根据识别难度的变化自适应调节,从而保证在各种不同的交通情境下,都能够稳定地满足识别需求。具体思路为:第一步,在传统高斯处理方法的基础上将高斯模糊半径值开放,核心程序如下:/图像处理高斯模糊半径值开放 public void image_work(dou
8、ble db)minput=src;blur=new Mat(minput.Rows,minput.Cols,MatType.CV_8UC4);OpenCvSharp.Size ksize=new OpenCvSharp.Size(5,5);OpenCvSharp.Point anchor=new OpenCvSharp.Point(3,3);/BorderTypes borderType=BorderTypes.Constant;/Cv2.Blur(mInput,blur,ksize,anchor,borderType);/模糊 Cv2.GaussianBlur(minput,blur,ks
9、ize,db);/高斯模糊 pictureBox2.Image BitmapConverter.ToBitmap(blur);button2.PerformClick();/button3.PerformClick();button4.PerformClick();button5.PerformClick();button6.PerformClick();button8.PerformClick();设置识别距离为 1 m,识别角度为 90,模糊半径为 0.9(最大为 1),所取得的的主观效果图如图 2 所示。(a)模糊处理前 (b)模糊处理后 图 2 高斯模糊处理效果图 第二步,模糊处理的作
10、用是提高识别能力,模糊半径越大,识别能力越强,但识别速度会比较慢。所以根据不同的识别环境和识别难度,为兼顾识别速度和识别准确度,设置初始模糊半径值为 0.5,既具有较强的识别能力,又可以减少循环次数,获得比较快的速度,若一次识别不出,便进入自动识别循环程序,即当识别时间超过 500 ms,自动修改模糊值减 0.05,如此循环,直至满足识别时间低于 500 ms,或模糊半径为 0.01。改进的高斯模糊算法的核心代码如下:/自动识别循环 private void button10_Click(object sender,EventArgs e)image_work(0.5);Stopwatch s
11、w=new Stopwatch();sw.Start();string re=LicensePlate(image);for(int i=0;i 5;i+)if(!re.Contains(number)image_work(0.5+0.1*i);re=LicensePlate(image);textBox4.Text=(0.5+0.1*(i).ToString();if(i=4)MessageBox.Show(未成功识别);for(int j=0;j 4;j+)68 萍乡学院学报 2023 年 if(!re.Contains(number)image_work(0.4-0.1*j);else
12、textBox4.Text=(0.4-0.1*(j).ToString();break;sw.Stop();TimeSpan ts=sw.Elapsed;label4.Text=ts.TotalMilliseconds.ToString();2 基于 OpenCV 的车牌识别算法设计 2.1 基本思路 近些年,基于 OpenCV 的应用视觉识别算法在众多领域都有大量研究7。本文在 OpenCV 平台上,利用改进的高斯模糊算法,结合 Canny 边缘检测算子和二值化区域特征提取方法,进行车牌识别系统设计。主要识别处理流程如图 3 所示。读取图片高斯模糊灰化边缘检测特征提取识别 图 3 车牌识别处
13、理流程 相机提取的图片,经改进后的高斯模糊处理,再进行常规灰化处理,之后采用 Canny 边缘检测算子实现车牌边缘检测,和二值化区域特征提取方法完成车牌特征提取。而 Canny 边缘检测算法和二值化区域特征提取方法的具体实现方式为:利用高斯滤波去除图像噪声后找寻图像的强度梯度,借助非最大值抑制技术来消除边界误检,再分别利用双阈值方法和滞后技术来确定潜在边界和边界跟踪。使用一系列灰度阈值对图像进行二值化处理,找到不同的灰度阈值对图像进行二值化时得到的最稳定的区域,即为最大极值稳定区域(MSERs)。最后,通过与百度云建立 host 链接,直接套用百度云现有车牌数据库,完成车牌的识别。2.2 车牌
14、识别系统算法设计 要完成车牌识别,必须要有完备的后台数据库作支持,本系统通过与百度云建立 host 链接,直接套用百度云现有车牌数据库,该库相关技术资料成熟、完善、开放,且应用灵活,网联共享程度高,为保证车牌识别的稳定性和识别率提供了基础保证。后期可以根据需要做成本地 SDK,以便在各种使用环境下使用。为提高效率,建立连接之后,需将拍摄的本地图片转换成百度云 API 识别速度最快的格式base64 格式的字节数组,并上传,等待获取百度云 API 的返回数据,再转换成 UTF-8 的格式,以便于界面显示。核心代码为:Step1:建立 host 链接 string host=https:/ enc
15、oding=Encoding.Default;HttpWebRequest request=(HttpWebRequest)WebRequest.Create(host);request.Method=post;模式选择保持链接 request.KeepAlive=true;Step2:生成图片的 base64 编码 string base64=getFileBase64(image);Step3:将图片上传至百度云 String str=image=+WebUtility.UrlEncode(base64);byte buffer=encoding.GetBytes(str);request
16、.ContentLength=buffer.Length;request.GetRequestStream().Write(buffer,0,buffer.Length);HttpWebResponse response=(HttpWebResponse)request.GetResponse();Step4:获得百度云的识别结果 StreamReader reader=new StreamReader(response.GetResponseStream(),Encoding.Default);string result=reader.ReadToEnd();Step5:输出得到的车牌结果
17、Console.WriteLine(车牌识别:);byte buffer1=Encoding.Default.GetBytes(result);byte buffer2=Encoding.Convert(Encoding.UTF8,Encoding.Default,buffer1,0,buffer1.Length);Step6:将结果字符串按照 UTF-8 转义 result=Encoding.Default.GetString(buffer2,0,buffer2.Length);/Console.WriteLine(result);textBox3.Text =result;return r
18、esult;第 3 期 张利芬,等:基于改进的高斯模糊算法的车牌识别系统开发与验证 69 3 车牌识别试验及结果分析 3.1 试验平台搭建 车牌识别系统设计的主要思路是通过改进的高斯模糊算法,使得高斯模糊半径能根据车牌识别难易程度进行自适应调节,从而实现在任何工作情境下都能兼顾识别速度、准确率和稳定性。根据以上功能目标及测试评价指标搭建的车牌识别试验系统物理结构包括:广角工业 100 万像素工业摄像头一个,连接总线一根,摄像头支架一个,计算机一台。试验在小区停车场进行,设置测试距离从 0.54 m,测试角度 1590,测试输出指标有识别时长(速度),识别准确率,自适应模糊半径。系统可视化界面及
19、车牌识别测试效果如图 4 所示。图 4 可视化识别效果图 3.2 试验及结果分析 由于需验证在自适应半径调节条件下的识别效果,同时为模拟杂乱多变的交通环境实况,试验采用无序方式进行,以多种角度、多种距离展开测试。本次共获得 38 组测试数据,测试距离为 0.54 m,测试角度范围为倾斜 1590。试验结果中,除 2 次识别失败之外,其余均准确识别出车牌信息,其中模糊核半径从 0.05 到 0.9 不等,识别时间主要在 4051076 ms之间,有 25 次识别时间不超过 620 ms。选取部分详细试验数据统计如表 1 所示。由试验结果可得出以下三点结论:3.2.1 识别准确率高 在 38 组测
20、试数据中,2 次识别失败分别是:a)采取 4 m 距离、15倾斜角的极限测试方位,此次识别过程中,摄像头提取的图像模糊,故此测试方位为本车牌识别系统的极限识别方位,其余只要摄像头提取图像清晰便能快速准确识别,因此若提高摄像头性能则能进一步扩大识别方位的范围;b)为私家车位上用粉色纸板写上自家车牌号的占位用标识牌,此次识别失败,正好能证明系统防误识别效果。其余均能准确识别所测车牌,所以识别准确率几乎为 100%。3.2.2 识别速度快 高斯模糊算法的引入,相比于普通的基于图像处理的车牌识别系统,准确度大大提高,且相比于基于深度学习的识别系统,运算量小,识别速度明显提升,满足国际交通技术指标中的“
21、1 s 以内,越快越好”的要求,具备良好的实时性。3.2.3 鲁棒性好 通过改进的高斯模糊算法,使得模糊核半径可以随70 萍乡学院学报 2023 年 不同的识别环境自适应调节,从而实现对于车牌识别准确率和识别速度的双重保证,具有较强的鲁棒性。另外,本系统开发成本低,使用灵活。在保证识别准确率和识别速度及一定程度的抗干扰性能的情况下,系统主要成本为摄像头和软件开发成本,后期升级主要可以通过升级摄像头及软件程序,方便灵活。表 1 车牌识别结果统计 测试距 离(m)测试角 度()模糊 半径 识别时 间(ms)号牌颜色 识别 结果 1 90 0.3 421 绿 OK 0.5 90 0.7 421 绿
22、OK 2 90 0.1 405 蓝 OK 3 90 0.9 422 绿 OK 4 90 0.01 1076 绿 OK 3.5 90 0.1 440 绿 OK 2 45 0.1 473 蓝 OK 3 45 0.3 430 蓝 OK 3 30 0.1 620 蓝 OK 3 20 0.5 588 蓝 OK 3 15 0.5 597 蓝 OK 4 15 0.5 425 蓝 NG 3(车位标识牌)90 0.5 426 粉 NG 4 结束语 当汽车 ADAS 技术不断更新,关于视觉识别技术的应用升级也相当紧迫,对于车牌识别最关键的需求是快、准、稳。本文在现有的研究成果基础上,就车牌识别,提出一种基于优化的
23、高斯模糊算法的车牌识别方法,并得到试验验证。随着汽车网联化程度的升高,后期将在如何进一步提高车牌识别性能并将其应用到辅助定位、导航、追踪等方面展开进一步的技术探究。参 考 文 献 1 祁忠琪.基于深度学习的含堆叠字符的车牌识别算法J.计算机应用研究,2021,38(5):15501554+1558.2 张璐.基于深度学习的车牌识别算法研究D.长沙:湖南大学,2020.3 胡海猛.基于深度学习的多场景车牌识别技术研究D.北京:中国科学院大学,2020.4 张然.基于图像处理的雾天车牌识别算法研究D.成都:成都理工大学,2020.5 张华成.基于高斯模糊的 CNN 的单幅图像超分辨率重建算法J.计
24、算机应用与软件,2022,39(1):231235+295.6 李创.快速卷积算法的综述研究J.计算机工程与科学,2021,43(10):17111719 7 张丽英.基于 OpenCV 的 LED 灯丝上电快速视觉检测系统J.计算机应用,2021,41(S2):275279.责任编校:王中兰 Development and Verification of License Plate Recognition System Based on Improved Gaussian Fuzzy Algorithm ZHANG Li-fen1,2,SHI Pei-cheng2,GE Sheng-shen
25、g1 (1.College of Automobile and Aviation,Wuhu Institute of Technology,Wuhu Anhui 241006,China;2.College of Mechanical and Vehicle Engineering,Anhui University of Engineering,Wuhu Anhui 241000,China)Abstract:License plate recognition is an important part of identification,and the development of intel
26、ligent traffic management system brings about higher requirements on the accuracy,speed,robustness and spatial range of license plate recognition.In order to achieve fast,high accuracy and high adaptability of the vehicle recognition effect,the image processing license plate recognition method and t
27、he improved Gaussian fuzzy algorithm were used to design a license plate recognition system based on the OpenCV software.A test platform was built to test the system.Taking the distance and angle of detection as the main variables,the main evaluation indexes of the license plate recognition,such as
28、the recognition speed,recognition accuracy and robustness,were verified.The 38 sets of test results show that except for one ultimate state,and one trial and error,the system can quickly and accurately complete the license plate recognition.Key words:image processing;Gaussian blur;OpenCV;license plate recognition