版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要车牌识别技术作为智能交通系统中的一个重要组成部分,在实际生活中得到了广泛的应用。传统的车牌识别方法存在着准确性和稳定性等方面的问题,因此需要采用新的方法进行改进和优化。本研究旨在探究基于深度学习的车牌识别方法及其系统实现,通过构建车牌识别系统,提高车牌识别的准确性和稳定性,为智能交通系统的发展做出贡献。本文首先介绍了深度学习技术及其在图像识别中的应用,卷积神经网络(CNN)。接着,基于这些技术,我们提出了一种车牌识别系统的框架设计,包括车牌定位、字符分割、字符识别等步骤。随后,通过对某地区真实拍摄的车牌图像进行实验与结果分析,验证了该方法的准确性和稳定性。实验结果表明,基于深度学习的车牌识别系统可以有效地提高车牌识别的准确性和稳定性。该方法不受光线、角度等因素的干扰,可以实现对不同车辆的快速识别,具有广泛的应用前景。总之,本文提出了一种基于深度学习的车牌识别方法及系统实现,具有较高的准确性和稳定性。随着智能交通系统的不断发展,该研究具有极大的应用价值和发展前景。未来可以考虑对该方法进行进一步优化和改进,从而更好地服务于社会和人民群众的需要。本文使用轻量级CNN来实现车牌识别。关键词:深度学习;车牌识别;系统实现;轻量级CNN;AbstractAsanimportantpartofintelligenttransportationsystem,licenseplaterecognitiontechnologyhasbeenwidelyusedinreallife.Traditionallicenseplaterecognitionmethodshaveproblemsinaccuracyandstability,sonewmethodsareneededtoimproveandoptimizethem.Thepurposeofthisstudyistoexplorethemethodoflicenseplaterecognitionbasedondeeplearninganditssystemimplementation.Byconstructingalicenseplaterecognitionsystem,theaccuracyandstabilityoflicenseplaterecognitionareimproved,anditcontributestothedevelopmentofintelligenttransportationsystem.Thispaperfirstintroducesthedeeplearningtechnologyanditsapplicationinimagerecognition,includingconvolutionalneuralnetwork(CNN).Then,basedonthesetechnologies,aframeworkdesignoflicenseplaterecognitionsystemisproposed,includinglicenseplatelocation,charactersegmentation,characterrecognitionandothersteps.Subsequently,theaccuracyandstabilityofthemethodareverifiedbyexperimentsandresultsanalysisofreallicenseplateimagestakeninacertainarea.Theexperimentalresultsshowthatthelicenseplaterecognitionsystembasedondeeplearningcaneffectivelyimprovetheaccuracyandstabilityoflicenseplaterecognition.Themethodisnotinterferedbylight,angleandotherfactors,andcanrealizetherapidrecognitionofdifferentvehicles,whichhasawiderangeofapplicationprospects.Inshort,thispaperproposesamethodandsystemimplementationoflicenseplaterecognitionbasedondeeplearning,whichhashighaccuracyandstability.Withthecontinuousdevelopmentofintelligenttransportationsystem,thisresearchhasgreatapplicationvalueanddevelopmentprospects.Inthefuture,wecanconsiderfurtheroptimizationandimprovementofthismethod,soastobetterservetheneedsofsocietyandthepeople.ThisarticleuseslightweightCNNtoachievelicenseplaterecognition.Keyword:Deeplearning;licenseplaterecognition;systemimplementation;lightweightcnn第一章绪论1.1研究背景及意义深度学习行业的发展前景非常广阔。深度学习是一种人工智能技术,可以帮助计算机系统从大量数据中自动学习并做出决策。随着数据量的不断增加,深度学习技术的应用范围也将不断扩大。深度学习技术可以应用于许多领域,包括自然语言处理、计算机视觉、医疗信息、金融、交通等[1]。在医疗信息领域,深度学习技术可以用于肿瘤检测、放射学图像分析等[2]。在金融领域,深度学习技术可以用于风险评估、信用评分等。在交通领域,深度学习技术可以用于自动驾驶、路况预测等。另外,深度学习技术在人工智能领域的发展也是十分迅速的。随着人工智能技术的不断发展,深度学习将在许多领域发挥重要作用[3]。随着我国经济的发展,私家车已经走进家家户户,但是在方便生活的同时也带来了不少问题,比如停车场人工管理效率的低下,快速准确处理违章交通等,但是目前市场上产品通用性不够,尤其是识别条件比较恶劣的情况下,因此对车牌识别系统进行进一步的研究有着重大的应用价值[4]。深度学习行业的发展前景非常广阔。深度学习是一种人工智能技术,可以帮助计算机系统从大量数据中自动学习并做出决策。随着数据量的不断增加,深度学习技术的应用范围也将不断扩大。深度学习技术可以应用于许多领域,包括自然语言处理、计算机视觉、医疗信息、金融、交通等。例如,在自然语言处理领域,深度学习技术可以用于机器翻译、自动问答等。在计算机视觉领域,深度学习技术可以用于图像分类、目标检测等。在医疗信息领域,深度学习技术可以用于肿瘤检测、放射学图像分析等。在金融领域,深度学习技术可以用于风险评估、信用评分等。在交通领域,深度学习技术可以用于自动驾驶、路况预测等。另外,深度学习技术在人工智能领域的发展也是十分迅速的。随着人工智能技术的不断发展,深度学习将在许多领域发挥重要作用。1.2研究内容本文研究的是基于深度学习的车牌识别方法及系统实现。随着社会交通工具和机动车数量的增加,以及交通事故、违章等问题的不断发生,车牌识别技术成为了交通安全管理和智能交通系统等领域研究的热点。传统的车牌识别方法主要基于模板匹配或图像处理等算法,但由于待识别的车牌颜色、光照等情况多样化,传统方法的准确率较低,且对算法的设计和车牌的处理较为繁琐。深度学习技术随着近年来的快速发展已经成为图像识别领域的主流方法之一,具有高准确率和稳定性的优势。本文采用pytorch进行车牌识别,将车牌图像输入神经网络进行训练,提取特征后进行分类,从而将车牌快速准确的识别出来。深度学习技术主要包括卷积神经网络(CNN)、循环神经网络(RNN)等[5],本文选择使用轻量级CNN实现车牌识别系统。本文研究工作主要有以下几部分:对车牌识别系统的框架进行了设计,包括车牌图像预处理、深度学习网络的训练和测试、分类器的指定以及车牌字符还原等模块。最后,对设计的车牌识别系统进行了实验及结果分析。
1.3深度学习技术及其在图像识别中的应用一、深度学习原理深度学习技术是一种基于多层神经网络模型的机器学习技术。其使用复杂的神经网络模型对大规模的数据进行自动化的特征提取和学习。深度学习技术的主要优势在于其能够针对高纬度、复杂的数据进行有效的学习和预测,而且在数据量和计算能力允许的情况下,其预测准确率甚至比人类还要高[6]。深度学习技术运用了反向传播算法,通过不断调整模型参数,使得模型能够更好地适应数据,并达到更高的预测准确率[7]。深度学习技术中神经网络的层数是很关键的因素。层数较少的网络只能提取一些简单的特征[8],而层数太多的网络在训练过程中则会出现梯度消失和梯度爆炸等问题。因此,在构建深度学习网络结构时,需要根据数据的类型和任务的要求来确定合适的神经网络层数。除了深度神经网络模型之外,深度学习技术还包括许多相关技术,例如卷积神经网络(CNN)、循环神经网络(RNN)以及多层感知机(MLP)等[9]。这些技术在不同的图像分类和识别任务中都有广泛的应用。综上所述,深度学习技术是一种非常强大的图像识别技术,它能够对大量的数据进行学习和预测,并且在许多领域中都已经获得了广泛的应用。在本研究中,我们将运用深度学习技术来实现车牌的识别和识别率的提升。二、深度学习在图像识别中的应用随着计算机图像处理技术的不断发展,深度学习技术在图像识别领域的应用变得越来越广泛。通过训练神经网络,深度学习可以对图像中的特征进行自动学习和提取[10]。在图像识别中,深度学习已经被广泛应用于人脸识别、物体识别等识别任务,并取得了较好的效果。卷积神经网络是主要代表网络。CNN通过卷积层、池化层和全连接层构成,卷积层负责对图像特征的提取,池化层对卷积层输出的特征图进行降维处理,全连接层对特征进行分类和识别[11]。此外,CNN还可以通过增加深度、使用不同的卷积核等方式对模型进行优化,提高识别精度和鲁棒性。在车牌识别领域,深度学习技术同样发挥了重要作用。针对车牌图像中的复杂背景、光照变化等问题,在车牌识别中使用CNN模型对车牌图像进行特征提取和识别,通过对车牌区域进行剪裁、提取像素等方式对车牌图像进行预处理,可以有效提高车牌识别的准确率和鲁棒性。总的来说,深度学习在图像识别中的应用已经成为研究领域的热点。在车牌识别领域,深度学习技术同样能够发挥重要作用,并为车牌识别系统的实现提供了有力支持。未来,随着深度学习技术的不断发展和应用场景的不断拓展,相信车牌识别技术将会得到进一步提升和完善。三、车牌识别与深度学习的相关研究现状车牌识别一直是计算机视觉领域中的一个重要研究方向,在过去的几十年中,研究者通过不断的探索和实践,取得了一系列的成果。然而,由于车牌种类繁多、字体差异显著、尺度、角度或光照变化等因素的干扰,基于传统的识别方法实现高精度的车牌识别依然存在许多问题。随着深度学习技术的出现,车牌识别面临的问题开始得到有效的解决。浅层学习早期的ALPR系统在检测、分割和识别子任务中使用浅层机器学习来替代人工特征选择和分类。经典的机器学习算法,如SVM,AdaBoost,可以方便地与不同的组合特征结合起来,以获得更好的性能。在中,由AdaBoost分类器获得一组可能的初始字符区域,然后传递给支持向量机(SVM),其中非字符区域被拒绝。对于车牌识别,除了SVM外,还可以使用许多分类器来识别具有有效的特征提取的字符,如ANN。深度学习随着近年来深度学习的显著发展,在深度神经网络的帮助下,检测和识别任务可以达到更好的精度和鲁棒性,使人们从人工特征选择中解放出来。RaysonLaroca等。使用了一个单级检测器来有效地定位车牌区域,而Z.Selmi等人。采用简单的卷积神经网络(CNN)完成单字符分类任务,获得了较高的识别精度。此外,目前一些最先进的ALPR框架采用了无分割的方法,可以对整个网络进行端到端训练,从而实现了一个高效的学习过程,并取得了良好的性能。典型的RPNet等工作采用一个简单的CNN作为车牌检测的骨干,并采用全连接层对每个检测图像中的字符进行分类。深度学习技术的应用主要是字符识别和车牌检测。在车牌识别领域中,深度学习技术主要集中在字符识别和车牌检测这两个方面。我们利用深度学习方法的字符识别技术,可以通过深度神经网络提取字符特征,并将其分类识别。卷积神经网络是目前主要的识别网络,通过在卷积神经网络中输入字母图像来获得核参数。优化卷积,提高字符识别的准确性和耐久性。在车牌检测方面,传统方法对光照变化、车牌旋转、车型变化等因素的适应性较差,存在较大的局限性,而基于深度学习的车牌检测方法由于其具有高度的自适应性,更好地适应了车牌的各种变化。对于车牌检测,主要的方法是使用卷积神经网络,其在目标检测领域中有较为广泛的应用,如经典的FasterR-CNN和YOLO等。这些方法可以非常高效地定位车牌位置。当前,基于深度学习的车牌识别方法广泛应用于各种场景中,包括出入口管理、智能停车、交通管理等。但同时也存在一些问题,例如数据集的质量和数量不足、车牌检测的实时性、识别准确度等,这些问题仍需要解决。因此,未来研究方向需要把握好深度神经网络学习的特点,进一步提升算法性能,在实际车牌识别场景下实现较高的鲁棒性和准确性。四、CNN卷积神经网络介绍在人工的全连接神经网络中,每一层的所有神经元都与上一层和下一层的所有神经元都相互连接,形成了一张密集的神经网络。当输入层的特征维度变得很高时,由于全连接网络需要训练的参数随之增多,因此计算速度会因此而变慢。在卷积神经网络(ConvolutionalNeuralNetwork,CNN)中,卷积层的神经元只与前一层的一部分神经元节点相连,在神经元间的连接上是非全连接的。同一层中的某些神经元之间的连接具有共享的权重和偏移量,因此可以大幅减少需要训练的参数的数量。卷积神经网络CNN的结构通常包括一下几层:输入层,卷积层,激励层,池化层,全连接层,输出层。当然,中间还可以使用其他功能层。归一化层,切分层,融合层。(1)输入层:CNN处理黑白图片时,输入数据是一个二维的神经元矩阵,矩阵中的每个元素对应原始图片中的一个像素点。这个二维神经元矩阵的结构和大小取决于图片的分辨率和CNN的设计。可以用下图来展示这个二维神经元矩阵的结构。图SEQ图\*ARABIC1.1改写后:在CNN处理RGB格式的图片时,输入为一个具有三个维度的神经元,其中每个颜色通道都拥有一个独立的矩阵,这一情形可用下图进行展示:图1.2(2)卷积层:我们假设输入一个二维的神经元,对于隐藏层的神经元来说,它与输入层的一定范围内的神经元相连,在这个神经元周围的5*5的区域内,我们称之为感受视野。换句话说,隐藏层的神经元通过一定大小的感受视野去感知上一层的一些特征。在全连接神经网络中,隐藏层的神经元具有足够广阔的感知范围,以至于它们能够识别上层的所有特征。这样的隐藏层神经元可以监控并参与到神经网络的复杂信息处理中。卷积神经网络中,隐藏层中的神经元只能看到之前的一部分特征,视野比较小。但可以通过平移视野来获取同一层的其他特征。一个神经元的视野带有一个卷积核,其权重矩阵被称为感受视野。当步长较大(stride>1)时,为了能够覆盖到边缘的特征,感受视野有可能会超出图像边缘,并导致信息的丢失或减少。为了避免这种情况,需要进行边缘扩充(pad),有多种方法可供选择,如可将边界扩充为0或其他数值。用户可以根据需要来定义卷积核的大小,从而决定所需要的感受视野大小。(3)激励层:卷积层输出结果为线性计算,需要通过激励层进行非线性映射处理。使用的激励函数一般为ReLu函数,通常会使用ReLu函数作为激励函数,而卷积层和激励层常常会结合在一起,称为“卷积层”。(4)池化层:当输入经过卷积层时,若感受视野比较小,布长stride比较小,得到的featuremap(特征图)还是比较大,可以通过池化层来对每一个featuremap进行降维操作,输出的深度还是不变的,依然为featuremap的个数。池化层也有一个“池化视野(filter)”来对featuremap矩阵进行扫描,对“池化视野”中的矩阵值进行计算,一般有两种计算方式[18]:Maxpooling:取“池化视野”矩阵中的最大值Averagepooling:取“池化视野”矩阵中的平均值扫描的过程中同样地会涉及的扫描布长stride,扫描方式同卷积层一样,先从左到右扫描,结束则向下移动布长大小,再从左到右。如下图示例所示:图1.3其中“池化视野”filter:;布长stride:2。最后可将3个的featuremap下采样得到3个的特征矩阵:图1.4(5)归一化层:批量归一化技术通过在神经网络中间层进行预处理,在上一层的输入经过归一化处理后再进入下一层,从而有效预防了梯度消失问题,提高了网络训练速度。BatchNormalization具体的算法如下图所示:
图1.5每次训练时,取batch_size大小的样本进行训练,在BN层中,将一个神经元看作一个特征,batch_size个样本在某个特征维度会有batch_size个值,然后在每个神经元维度上的进行这些样本的均值和方差,通过公式得到
,再通过参数
和
进行线性映射得到每个神经元对应的输出
。在BN层中,可以看出每一个神经元维度上,都会有一个参数
和
,它们同权重一样可以通过训练进行优化[19]。在批量归一化是卷积神经网络中常用的调整激励函数的方法之一,一般情况下,我们会对未进行ReLu激活的特征图进行批量归一化处理,再将处理后的结果作为激励层的输入,这样可以有效地调整激励函数的偏导数。可以通过将featuremap中的神经元作为特征维度,来增加参数的数量,一般来说,参数的数量将等于原来的两倍,这种做法通常会导致参数数量庞大;另一种方法是将特征图视为一个维度。特征图上的神经元共享该特征图的参数和总和。参数之和等于计算的平均值,方差以批次大小表示。基于轻量级CNN的车牌检测识别2.1SLPNET介绍本文使用一种基于轻量级全卷积网络的被称为Skip-shuffeLicensePlateNetwork(SLPNet)的ALPR框架。如下图2.1所示,我们将框架分为两个部分:检测部分和识别部分。并且我们的方法通过定位每个车牌的四个角来实现检测任务。然后,对检测到的和裁剪后的LP区域进行透视校正处理,有效地降低了识别难度。[17]。对于LP识别,我们将其视为一个类似于LPRNet的序列标记问题。虽然不同部分的网络是单独设计的,但整个网络可以进行端到端训练,并通过联合检测和识别损失函数进行优化。图SEQ图\*ARABIC2.1ALPT框架整体结构2.2检测子网络(1)角本地化为了进行无锚目标检测,我们在FSAF中提出了一种内部区域被视为有效区域(或正区域)的有效的模型,只有来自有效区域的单元格才能进行对象坐标回归。并且我们用有效区域进行LP角的定位,而不是利用直矩形的形状来定位LP区域。与FSAF类似,选择了两个收缩因子,δ1和δ2(δ1<δ2)获取有效框和忽略框,如图所示。图2.2(a)真实车牌;(b)边框(绿色)忽略框(黑色)(有效框)(红色);(c)有效区域(红色);(d)由绿色边框决定的蓝色边框(实时)对于不同大小的LP图像,分别使用三对收缩因子,即(0.8,1.2)、(1.0,1.5)和(0.6,0.9)。大型收缩因子被用于小型LPs,而小型收缩因子对则被用于大型LPs。这意味着在训练过程中更多地关注体型较小的LP。根据LP的大小将其分为三类,即小型、中型和大型,其分类由基于LP角决定的矩形框的k-均值聚类决定。(2)非线性变换每一个真实车牌的边界框都包含4个边界角,并且由一个向量表示g=(x1,y1,x2,y2,x3,y3,x4,y4)。我们的目标是学习一个非线性变换网络的输出o=(tx1,ty1,tx2,ty2,tx3,ty3,tx4,ty4),每一个(txi,tyi)i∈{1,2,3,4}是第i个角到单元中心(x,y)的子集。公式为:txi=其中L是金字塔级别,z是缩小输出的整数因子范围。首先将坐标(x,y)映射到输入图像,然后计算投影坐标和g之间的偏移,并正则化结果为一个立方根函数。(3)检测输出的置信度归一化的2D高斯函数用于计算实例边界角与检测网络预测的角的置信度txi=其中(x,y)是一对预测的角坐标,(x0,y0)是实例。W和H是由4个角确定的矩形边界框的宽度和高度。此外,使用比例因子α∈(0,1)来控制高斯方差。(4)检测网络提出了一种称为DSNet的轻量级全卷积网络用于LP检测,其中采用Shu-sulueNetv2单元作为基本块,并添加了不同基本块之间的跳过连接[,如2.3图所示。为了进一步提高性能,采用了几个全局上下文(GC)块来增强特征表示的能力。特别地,用于空间下采样的干块被用于DSNet,并且复杂的特征图由不同阶段的三个金字塔特征图生成。在我们的实现中,输入图像大小设置为512×512,因此,输出映射的大小为32×32。因此,在公式(1)中,金字塔级别L等于4,并且z可以设置为128。图2.3DSNET的网络结构,c表示链接,+表示加法,s表示卷积(5)检测网络的损耗函数检测网络的目标是通过回归计算LP角的非线性变换,并在所有区域的核心中获得高的高斯分数,为了实现这一目标,我们在CIoU损失的启发下提出了一种多约束高斯距离损失(MG损失),MG损失在每一个识别区域核心的定义为conf代表LP的置信度,该置信度由四个角的真实高斯分数的平均值决定。LMG=(1−Conf)+ρρ(b,bgt)和c是与CLOU损失相似的距离和比例因子,我们顺时针列举了每个LP上的四个角,因此,在上面的公式中(w1,h1)是从角1和角3计算出来的,(wgt1,hgt1,w2)是角从实例产生的宽度和高度。Gsi表示第i个角的预测高斯分数,而2.2识别子网络(1)序列预测由于中国LP上的字符数根据车辆类型而不固定,我们使用LPRNet中使用的CTC将LP识别视为序列标记问题,这是一种无分割的车牌识别方法。(2)识别网络被命名为RSNet的识别网络也基于Shu-sulueNetv2单元,如图2.4所示,其中设计了四种区块,用于不同空间下采样的PDB(a)~PDB(d),这些区块得益于并行结构,并且善于通过下采样提取特征。与上面提到的DSNet一样,中间特征图用全局上下文嵌入块(GCE块)进行了扩充,为了提高识别性能,我们还聚合了不同金字塔级别的特征图,以获得更复杂的图片。图2.4(3)识别网络的损耗函数由于RSNet是基于CTC的,因此在训练识别网络中采用了CTC损耗。2.3网络级联对于端到端训练,我们需要将两个分离的网络连接起来,并依次处理检测和识别任务。来自DSNet的预测角用于从原始图像中裁剪LP区域,然后将其输入RSNet。因此,RSNet可以更好地与DSNet兼容,从而减少中间误差的传播,并实现更高的识别精度。由于DSNet使用小尺寸的图像进行检测,被检测到和裁剪的LP区域不适合识别。为了解决这个问题,我们重新映射了检测区域到原始图像,并根据DSNet输出的LP坐标进行透视校正。该多分辨率策略可以有效地提高识别精度。我们利用NMS,根据预测的置信度得到最终的检测结果。在对识别输出进行解码时,对RSNet的输出序列进行贪婪搜索,得到具有最大概率的种类。第三章实验过程及结果3.1CCPD数据集我们使用在CSDN上的CCPD2019数据集。CCPD数据集是迄今为止中国最大的公开标记车牌数据集。我们从CCPD中随机选择了6万张图像进行实验。与往常一样,随后将所有图像按8:1:1的比例分成3个子集,分别进行训练、验证和测试。3.2训练过程所有训练实验都是由pytorch在NVIDIA3070TIGPU上执行的。我们在训练中将高斯比例因子设置为0.2,并使用批量大小为22的Adam优化器。初始学习率设置为0.005如下图所示。图SEQ图\*ARABIC3.1我们以指数衰减的方式降低每个时期的学习率,并且衰减因子为0.98。为了使训练更加稳定,整个过程由两个阶段组成。在第一阶段,对检测网络进行训练,直到验证集中预测角点的平均高斯分数大于0.6,然后对两个子网络进行联合训练。在此阶段使用如式(4)所述的具有检测和识别损失的损失函数化合物,其中λ是加权因子。dλ∈(0,1)Llp=L此处,λ设置为0.5。该模型总共被联合训练了70代。所有超参数都经过实验调整,可以进一步优化。在训练过程中,不进行数据增强,只使用训练集中的原始图像,评估了所提出的SLPNet与其他公开报道的模型在中国LP识别方面的性能。识别精度的计算规则如下所述:仅当成功检测到LP时(IoU≥0.5或GaussianScore≥0.6),并且图像上LP的所有字符都被正确的识别到,结果才被认为是正确的。识别精度不同的方法如表3.1所示。表3.1不同方法在CCPD上的结果模型端到端精度框架参数HyperLRP[15]不78.8%-11MMTCNN+LPRNet[14]不91.8%12FPS3.6MRPNeT[13]是93.4%58FPS210MSLPNeT是99.8%25FPS3.4M我们与之比较的其他三个公开的模型分别是HyperLPR、MTCNN+LPRNet和RPNet。HyperLPR是一个开源的、高速的中国车牌检测和识别框架。该框架混合使用了深度神经网络和经典的图像处理算法来执行检测、分割和识别。MTCNN+LPRNet是另一个基于LPRNet的开源轻量级ALPR框架。它使用MTCNN来检测车牌,并使用LPRNet,一种无分割的方法来进行识别。RPNet是一个很好的端到端LP识别模型,它首次发布了CCPD数据集。可以看出,与其他模型相比,SLPNet在参数最小的情况下,识别精度最高,为98.8%,推理速度达到25FPS。为了证明所提出的MG损失的可行性,在LP检测方面,还采用了另外两个损失函数。不同损耗函数下的检测精度如表3.2所示。表3.2不同损失函数下的检测精度损失函数MG损失高斯损失平滑L1损失检测精度98.2%97.7%96.3%LP检测可以被视为一个特殊的自然场景文本检测问题,DB[12]是最近流行的实时场景文本检测器。所以我们利用DB来检测LPs并和我们的SLPNeT进行比较,结果如表3.3所示表3.3不同检测器在CCPD上的检测结果模型准确率召回率f1值DB44.55%81%57.49%SLPNeT99.87%99.25%99.59%3.3验证准确率使用data_process.py将要使用的image数据集的图片标签以.txt的文本文档形式储存在label文件夹里。注意代码内image和label的路径要认真检查。通过识别数据集内车牌的结果并和label进行比对可以得出准确率。图3.2运行结果得到准确率为99.8%然后通过test_demo运行得到先验概率为:96%左右图3.3图3.4图3.53.4实验结果打开mian.py并运行,点击open选择需要进行车牌识别的图片,点击process,即可完成识别,如下图3.6所示。可见识别结果快速准确高效。图3.6第四章结论总结与体会本文旨在实现基于深度学习技术实现车牌识别系统。为此,我们针对车牌图像的特点设计了相应的数据处理流程,并建立了以卷积神经网络为核心的识别模型。通过大量实验验证,我们发现该模型能够有效地识别车牌图像,并且具有较高的准确率和鲁棒性。在具体的实现过程中,我们首先从车牌图像的获取入手,采用了合适的图像增强方法和边缘检测算法,以便得到更清晰的车牌图像。接着,我们将图像进行了裁剪和分割,得到了每个字符的单独图像,并运用卷积神经网络对其进行分类识别。通过对实验结果的分析,我们发现,深度学习技术在车牌识别领域具有广泛的应用前景。未来,我们将继续探索更加有效的图像处理方法和模型设计,以进一步提升车牌识别系统的性能和实用性,为社会交通管理和安全提供更加优质的服务。在系统实现中,对于性能评估这一环节的重要性不可忽视。在本研究中,我们采用了一系列准确度评价指标来衡量我们所设计的车牌识别系统的性能。其中,我们的主要评价指标为准确识别率和误判率。准确识别率是指正确识别车牌号码的总数与图像总数的比率,而误判率则是指被错误识别的车牌数与所有车牌数的比率。在本文中,我们引入了SLPNet,一个无分割的端到端框架,以实现高效的许可腭检测和识别,它可以实现高达98%的识别准确率。该模型基于轻量级卷积网络,运行速度快,总参数只有3.4M。为了提高检测率,所提出的检测子网络使用角代替区域来定位车牌,并引入了一种新的MG损失函数。利用透视变换对LP图像进行校正,提高了字符识别率。为了获得更好的性能,采用了多分辨率策略,几乎不增加任何计算成本。与现有的ALPR方法相比,我们的方法在LP检测和识别方面具有显著的性能和巨大的潜力。基于以上实验结果,我们认为所提出的车牌识别方法具有非常好的可行性和商业应用潜力。该识别系统适用于道路监控、停车场管理、出入口安全控制等多个领域,具有广泛的应用前景。除此之外,我们将在后期工作中进一步对该系统进行优化和拓展,以适应更为复杂的道路环境和使用场景。系统实现的技术路线是基于深度学习的车牌识别,其主要包括以下几个方面的技术:首先是图像预处理技术,该技术能够对采集的车牌图片进行噪声和模糊去除、裁剪、缩放等,以满足后续的识别需求;其次是特征提取技术,该技术采用深度学习算法,训练卷积神经网络(CNN)模型,能够提取特征信息,将其转化为对车牌的识别;再次是车牌字符识别技术,该技术使用深度学习算法,将车牌的字符进行识别,并通过与数据库中的字符进行比对,将车牌信息与数据库信息进行关联;最后是后处理技术,该技术通过去除异常匹配的车牌信息,提高识别率。综上所述,基于深度学习的车牌识别方法及系统实现技术路线是一个不断发展和完善的领域,而本研究所提出的系统实现方案,则对于更高效、精准的车牌识别技术应用和发展提供了有力的支持。
参考文献[1]韩英.人工智能在智慧城市中的应用和发展前景[J]无线互联科技,2021,(21):95-96[2]苏记柱.基于预测不确定性的卷积神经网络模型鲁棒性评估[J].北京交通大学,2021,(03).[3]司旭.基于深度学习的地震数据降噪方法研究[D].中国优秀硕士学位论文全文数据库,2020,(04).[4]王梦伟.基于深度学习的车辆特征识别系统研究与实现[D].电子科技大学2016,(02):82.[5]齐晴.基于改进RBF及CNN神经网络的车牌识别研究[D].燕山大学,2018,(05).[6]昌泉.基于平行卷积神经网络特征融合的人脸表情识别[D].重庆邮电大学.[7]兰利彬.基于深度学习的无线胶囊内镜视频异常模式检测及去冗余方法研究[D].重庆大学,2021,(10).[8]陈毅.基于激光雷达和摄像头融合的车辆检测方法研究[D].长安大学,2020,(06).[9]邹宝旭.融合视频内容与弹幕分析的短视频推荐方法研究[D].辽宁大学,2021,(12).[10]李春晓尹振红.深度学习在图像识别中的应用研究[J].卫星电视与宽带多媒体,2019,(19):43-44.[11]胡跃虹.基于复数全卷积神经网络和卷积自编码器的SAR目标分类[D].江西理工大学,2020,(01).[12]Liao,M.,Wan,Z.,Yao,C.,Chen,K.,Bai,X.:Real-timescenetextdetectionwithdifffferentiablebinarization.In:AAAIConferenceonArtifificialIntelligence,pp.11474–11481(2020).[13]Xu,Z.,Yang,W.,Meng,A.,Lu,N.,Huang,L.:Towardsend-to-endlicenseplatedetectionandrecognition:alargedatasetandbaseline.In:2018EuropeanConferenceonComputerVision,pp.261–277(2018).[14]Xue,X.:AtwostagelightweightandhighperformancelicenseplaterecognitioninMTCNNandLPRNet(2019)./xuexingyu24/LicensePlateDetectionPytorch.[15]Zeussees:Highperformancechineselicenseplaterecognitionframework(2020)./zeusees/HyperLPR.[16]ZhaolinJ,XueyuanH,SunxinW.ImageClassificationofCarPaintDefectDetectionBasedonConvolutionalNeuralNetworks[J].JournalofPhysics:ConferenceSeries,2023,2456(1).[17]ZhangW,MaoY,HanY.SLPNet:TowardsEnd-to-EndCarLicensePlateDetectionandRecognitionUsingLightweightCNN[C]//2020.[18]王军茹.复杂场景下无人驾驶模拟仿真[J].北京信息科技大学自动化学院,2022,(5):8.[19]周影.基于神经网络的软件缺陷严重性预测和修复分派模型[D].湖南大学,2018,(01);附录1.IntroductionThereexistsarelentlessquestforanefficientimagedenoisingalgorithm.Indigitalimagestorageandcompressionprocessing,imagenoiseisinevitableduetosomeinternalandexternalproblems,whichpollutevaluableinformationandunderminethevisualeffect.Numerouseffortshavebeenpaidtopushthelimitofdenoisingeffect,suchaspartialdifferentialequation-basedschemes[17],sparsecodingmethods[12],low-rankapproximations[14],filteringtechniques[1]andothermethodsinvariousapplicationsachievedsuccessfulresultstodonoiseremoval.Populardenoisingmethodscanaccomplishthetaskofimagedenoising.Asaclassicalfiltering-baseddenoisingmethod,BM3D[5]utilizesnon-localself-similarityofimageandachievesrelativelysatisfieddenoisingresultcontrastedwithclassicaldenoisingtechniques.However,thefiltering-basedmethodsufferedfromseveraldrawbacks,morespecifically,theedgeeffectandmanualsettingparameters[19].Thefiltering-basedmethodsregardthecenterofthewindowsasthetargetpixel.Forpixelsonimageedges,suchastrategyisoneofthefundamentalcausesthatresultinmanyfilteringalgorithmsblurringtheedges[24].Convolutionneuralnetworks(CNNs)haveshownadvantagesinthefieldofimageprocessingapplicationsandhavebeenappliedforimagedenoising.SuccessfuldenoisingapproachesbasedonCNNs,suchasDnCNN[26]andFFDNet[28],obtainedstate-of-artresultsinbothnumericalandvisualeffects,generallybetterthanthatoftraditionalmethods.DuringthecontinuousdevelopmentofCNNs,itsshortcomingshavebeenfound,suchastherepeatedcombinationofmax-poolinganddownsampling[2].Toalleviatetheabove-mentioneddifficulties,differentversionsofconvolutionwereproposed,suchasdilatedconvolution,graphconvolution[18],anddeformableconvolution[6],[30].Denoisingatimagesedgeisanimportantissue.WegenerallyspreadtheareaaroundthepixelevenlywithCNNsandlocalmethods.Irregularconvolutions,mainlybasedonconvolution,effectivelysolvethisproblem.Thisworkdevelopsaconvolutionalnetworkmodulewithirregularconvolutions,whichtakescareoftheimages’geometricstructures.Ablock-structuredCNNforimagedenoisingisconstructedbycombiningconvolutionandirregularconvolution,utilizingnon-localinformation.Finally,wealsoanalyzethenetworkbehaviorexhaustivelyandextendedexperimentalresultsongrayscaleandcolorimages.Thiswork’scontributionsareintwofolders:Firstly,eachpixelhasareceptivefieldthatfitsthegeometricstructurebetterthroughtheirregularrevolution.Ontheotherhand,sidewindowtechnologyisusedinthenetworktorecovertheimageedgemoreclearly.2.Relatedworks2.1.ImagedenoisingMostdeeplearningmethodscanachievehigherqualityimagesthantraditionalmethods.Chenet
al.[3]proposedTNRD,learningalltheparametersoffilterandinfluencefunctionsfromtraindata.Zhanget
al.[26]proposedDnCNNwithbatchnormalizationandReLU,paddingzerostoreduceboundaryartifacts.Toachieveblinddenoising,DnCNNdeepenedthenetandtrainedwithlargerimagepatches.FFDNet[28]upgradedbasedonDnCNNwithatunablenoiselevelmapastheinput.Downsamplingsub-imagesmadeitfastandflexible.Imagedenoisingmethodsareappliedinthemedicalfield,suchasCNN-DMRI[21]fordenoisingofMRIscans.Torestoremoredetails,imagedenoisingmethodsofstrengtheningneuralnetworkscanbegroupedintotwomajorcategories:obtainingmoreusefullow-levelfeatureswiththemultiscalemethodandmanagingnon-localinformation.RDN[29]proposedaresidualdenseblockeffectuallygatheringhierarchicalfeatures.Lefkimmiatis[9]proposedNLRNandUDNettoutilizethenon-localmethodinimagedenoising.FOCNet[8]gainlong-termmemorybythecharacteristicofthefractional-orderdifferentialequation.[16]withacontinuousdeterministicrelaxationofKNNselection,takingadvantageofimages’self-similarity.Liet
al.[10]proposedalifelongCycleGANformulit-taskimcludingdebluringanddenoisingwithkonwledgedistillation,memoryreplay,localdiscriminatorandfeatureconsistencyconstraint.2.2.IrregularconvolutionDespitethatCNNshaveearnedsignificantsuccessinimageprocessing,ithassomelimitations.Thus,mainlybasedonCNNs,irregularconvolutionshavebeenproposedtoenhancethecapabilityofconvolutionalneuralnetworks.Atrousconvolution[2]enlargethereceptivefieldofthenetworkandenhanceresolution.However,ithasaninherentproblemknownasgridding,maybelosingsomeneighboringinformation.Graphconvolution[18],whichdemandsmultiplecalculations,catchesself-similaritiesbythepowerfulrepresentationalfeaturesofneuralnetworks.Bothatrousconvolutionandgraphconvolutionhasbeenusedforimagedenoising.Atrousconvolutionaldenoisingneuralnetwork[20]reduceparameterswithsimilardenoisingresults.Atrousconvolutionalwithskipconnctionismorefeasiblefordenoisingwithlessparameters[15].Valsesiaet
al.[22]gatheredlocalandnon-localsimilaritiesbyagraph-convolutionalneuralforimagedenoising.Accommodatinggeometricvariationsormodelgeometrictransformationsisahardnuttocrack.Withtherelativelyfixedshapeofthereceptivefield,CNNsareshortofgeometrictransformations.Daiet
al.[6]proposeddeformableconvolutionalnetwork,enhancingthetraditionalconvolutionandpooling.BasedonCNNs,deformableconvolutionaugmentthespatialsamplewithlearnableadditionaloffsets,whichadjustthereceptivefield.Similarly,Daiet
al.proposedDeformableROIPooling.Insemanticsegmentation,objectdetection,andotherfields,thismethodshowedadvantagesinjustusingthelastfewlayers.Afterall,deformableconvolutionusuallysamplestooelastictobeofinterest.Zhuet
al.[30]proposeDeformableConvNetsv2toimproveitsabilitytofocusonpertinentimageregions.Deformableconvolutionalnetworkshavebeenusedinimageclassification,objectdetection,imagesegmentation,pointcloudandsoon.Invideorestoration,deformableconvolutionalsogainedattention.Wanget
al.[23]proposedadeformablealignmentmoduleforvideorestoration.1.简介人们一直在不懈地寻求一种有效的图像去噪算法。在数字图像的存储和压缩处理中,由于一些内部和外部的问题,图像噪声不可避免地会污染有价值的信息,破坏视觉效果。为了突破去噪效果的极限,人们付出了大量的努力,如基于偏微分方程的方案[17]、稀疏编码方法[12]、低秩近似[14]、滤波技术[1]等方法在各种应用中都取得了成功的去噪效果。常用的去噪方法可以完成图像去噪的任务。作为一种经典的基于滤波的去噪方法,BM3D[5]利用了图像的非局部自相似性,与经典的去噪技术相比,取得了相对满意的去噪效果。然而,基于滤波的方法存在几个缺点,更具体地说,边缘效应和手动设置参数[19]。基于滤波的方法将窗口的中心视为目标像素。对于图像边缘上的像素,这种策略是导致许多滤波算法模糊边缘的根本原因之一[24]。卷积神经网络在图像处理应用领域显示出优势,并已被应用于图像去噪。基于细胞神经网络的成功去噪方法,如DnCNN[26]和FFDNet[28],在数值和视觉效果方面都获得了最先进的结果,通常优于传统方法。在细胞神经网络的不断发展过程中,发现了其不足之处,如最大池化和下采样的重复组合[2]。为了缓解上述困难,提出了不同版本的卷积,如扩张卷积、图卷积[18]和可变形卷积[6]、[30]。图像边缘去噪是一个重要的问题。我们通常使用细胞神经网络和局部方法均匀地分布像素周围的区域。主要基于卷积的不规则卷积有效地解决了这一问题。这项工作开发了一个具有不规则卷积的卷积网络模块,该模块负责处理图像的几何结构。利用非局部信息,将卷积和不规则卷积相结合,构造了一种用于图像去噪的块结构CNN。最后,我们还详尽地分析了网络行为,并扩展了灰度和彩色图像的实验结果。这项工作的贡献有两个方面:首先,每个像素都有一个感受野,通过不规则旋转更适合几何结构。另一方面,在网络中使用侧窗技术来更清晰地恢复图像边缘。2.相关工作2.1图像去噪大多数深度学习方法可以获得比传统方法更高质量的图像。Chen等人[3]提出了TNRD,从训练数据中学习滤波器的所有参数和影响函数。张等人[26]提出了具有批量归一化和ReLU的DnCNN,填充零以减少边界伪影。为了实现盲去噪,DnCNN加深了网络并使用更大的图像块进行训练。FFDNet[28]基于可调谐噪声水平图作为输入的DnCNN进行了升级。下采样子图像使其快速而灵活。图像去噪方法应用于医学领域,如用于MRI扫描去噪的CNN-DMRI[21]。为了恢复更多的细节,增强神经网络的图像去噪方法可以分为两大类:用多尺度方法获得更有用的低级特征和管理非局部信息。RDN[29]提出了一种有效收集层次特征的残差密集块。Lefkimatis[9]提出了NLRN和UDNet在图像去噪中利用非局部方法。FOCNet[8]通过分数阶微分方程的特性获得长期记忆。[16]利用图像的自相似性,对KNN选择进行连续的确定性松弛。李等人[10]提出了一种用于多任务的终身CycleGAN,包括利用边缘提取、记忆重放、局部鉴别器和特征一致性约束进行去毛刺和去噪。2.2不规则卷积尽管细胞神经网络在图像处理方面取得了巨大成功,但它也有一些局限性。因此,主要基于细胞神经网络,提出了不规则卷积来增强卷积神经网络的能力。巨大的卷积[2]扩大了网络的感受野并提高了分辨率。然而,它有一个固有的问题,即网格化,可能会丢失一些相邻的信息。图卷积[18]需要多次计算,通过神经网络强大的代表性特征来捕捉自相似性。atrous卷积和图卷积都已被用于图像去噪。Atrous卷积去噪神经网络实验项目关键代码如下:1.Data_process.py(图像标签处理)#-*-coding:utf-8-*-
"""
CreatedonWedJun918:24:102021
@author:luohenyueji
"""
fromPILimportImage,ImageDraw,ImageFont
importos
importsys
provincelist=[
"皖","沪","津","渝","冀",
"晋","蒙","辽","吉","黑",
"苏","浙","京","闽","赣",
"鲁","豫","鄂","湘","粤",
"桂","琼","川","贵","云",
"西","陕","甘","青","宁",
"新"]
wordlist=[
"A","B","C","D","E",
"F","G","H","J","K",
"L","M","N","P","Q",
"R","S","T","U","V",
"W","X","Y","Z","0",
"1","2","3","4","5",
"6","7","8","9"]
#---绘制边界框
defDrawBox(im,box):
draw=ImageDraw.Draw(im)
draw.rectangle([tuple(box[0]),tuple(box[1])],outline="#FFFFFF",width=3)
#---绘制四个关键点
defDrawPoint(im,points):
draw=ImageDraw.Draw(im)
forpinpoints:
center=(p[0],p[1])
radius=5
right=(center[0]+radius,center[1]+radius)
left=(center[0]-radius,center[1]-radius)
draw.ellipse((left,right),fill="#FF0000")
#---绘制车牌
defDrawLabel(im,label):
draw=ImageDraw.Draw(im)
#draw.multiline_text((30,30),label.encode("utf-8"),fill="#FFFFFF")
font=ImageFont.truetype('simsun.ttc',64)
draw.text((30,30),label,font=font)
#---图片可视化
defImgShow(imgpath,box,points,label):
#打开图片
im=Image.open(imgpath)
DrawBox(im,box)
DrawPoint(im,points)
DrawLabel(im,label)
#显示图片
im.show()
im.save('result.jpg')
defmain(imgpath):
#图像路径
#imgpath=r'F:\SLPNet\data\dev\image\01-89_85-302&497_478&557-478&549_308&552_304&507_474&504-0_0_6_25_25_33_25-74-7.jpg'
#图像名
imgname=os.path.basename(imgpath).split('.')[0]
#根据图像名分割标注
_,_,box,points,label,brightness,blurriness=imgname.split('-')
#---关键点信息
points=points.split('_')
points=[list(map(int,i.split('&')))foriinpoints]
#将关键点的顺序变为从左上顺时针开始
points=points[-2:]+points[:2]
#---读取车牌号
label=label.split('_')
#省份缩写
province=provincelist[int(label[0])]
#车牌信息
words=[wordlist[int(i)]foriinlabel[1:]]
#车牌号
label=province+''.join(words)
#---图片可视化
#ImgShow(imgpath,box,points,label)
withopen(rf"F:\SLPNet\data\dev\label\{imgname}.txt",'w',encoding='utf-8')asf:
S=''
foriinrange(4):
S+=str(points[i][0])+''+str(points[i][1])
S+=','
S+=label
f.write(S)
foriPathinos.listdir(r"F:\SLPNet\data\dev\image"):
main(r"F:\SLPNet\data\dev\image\\"+iPath)2.eval.py(验证准确率)#-*-coding:utf-8-*-
"""
CreatedonWedJun918:24:102021
@author:luohenyueji
"""
fromPILimportImage,ImageDraw,ImageFont
importos
importsys
provincelist=[
"皖","沪","津","渝","冀",
"晋","蒙","辽","吉","黑",
"苏","浙","京","闽","赣",
"鲁","豫","鄂","湘","粤",
"桂","琼","川","贵","云",
"西","陕","甘","青","宁",
"新"]
wordlist=[
"A","B","C","D","E",
"F","G","H","J","K",
"L","M","N","P","Q",
"R","S","T","U","V",
"W","X","Y","Z","0",
"1","2","3","4","5",
"6","7","8","9"]
#---绘制边界框
defDrawBox(im,box):
draw=ImageDraw.Draw(im)
draw.rectangle([tuple(box[0]),tuple(box[1])],outline="#FFFFFF",width=3)
#---绘制四个关键点
defDrawPoint(im,points):
draw=ImageDraw.Draw(im)
forpinpoints:
center=(p[0],p[1])
radius=5
right=(center[0]+radius,center[1]+radius)
left=(center[0]-radius,center[1]-radius)
draw.ellipse((left,right),fill="#FF0000")
#---绘制车牌
defDrawLabel(im,label):
draw=ImageDraw.Draw(im)
#draw.multiline_text((30,30),label.encode("utf-8"),fill="#FFFFFF")
font=ImageFont.truetype('simsun.ttc',64)
draw.text((30,30),label,font=font)
#---图片可视化
defImgShow(imgpath,box,points,label):
#打开图片
im=Image.open(imgpath)
DrawBox(im,box)
DrawPoint(im,points)
DrawLabel(im,label)
#显示图片
im.show()
im.save('result.jpg')
defmain(imgpath):
#图像路径
#imgpath=r'F:\SLPNet\data\dev\image\01-89_85-302&497_478&557-478&549_308&552_304&507_474&504-0_0_6_25_25_33_25-74-7.jpg'
#图像名
imgname=os.path.basename(imgpath).split('.')[0]
#根据图像名分割标注
_,_,box,points,label,brightness,blurriness=imgname.split('-')
#---关键点信息
points=points.split('_')
points=[list(map(int,i.split('&')))foriinpoints]
#将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年四川南充高坪职业学院单招职业技能考试题库含答案详解【B卷】
- 2024年湖南澧水职业学院单招综合素质考试题库【达标题】附答案详解
- 2025年济南康养工程职业学院单招职业技能考试模拟试卷及参考答案详解(满分必刷)
- 2027年四川省广安市高职单招职业技能考试模拟试卷完美版附答案详解
- 2026年山东数字产业职业学院单招职业技能考试题库(考点提分)附答案详解
- 2025年湖南湘西技师学院单招综合素质考试题库【历年真题】附答案详解
- 2025年重庆乌江职业学院单招综合素质考试题库含完整答案详解【易错题】
- 2025年四川建筑职业技术学院高职单招职业技能考试题库(含答案详解)
- 2024年小五台山职业学院单招职业技能考试题库及答案详解【网校专用】
- 2025年湖南邵阳大祥职业学院单招职业技能考试模拟试卷及完整答案详解1套
- (正式版)YBT 6328-2024 冶金工业建构筑物安全运维技术规范
- 危机公关与舆情管理
- 南京大学开题报告模板
- 交通运输法律法规解读
- 造粒车间应急预案及流程
- 《麻醉精神药品培训》课件
- 集团公司固定资产折旧计算表
- 50205-2020-钢结构工程施工质量验收标准
- DB15-T 2907-2023溶血性曼氏杆菌病诊断技术规范
- YY/T 0996-2015尿液有形成分分析仪(数字成像自动识别)
- GB/T 6040-2002红外光谱分析方法通则
评论
0/150
提交评论