一种基于R‑CNN的车牌定位方法与流程

文档序号:11177779阅读:1962来源:国知局
一种基于R‑CNN的车牌定位方法与流程
本发明属于车牌定位
技术领域
,尤其涉及一种基于r-cnn的车牌定位方法。
背景技术
:目前在车牌定位的研究中,大多数车牌定位的算法都是基于传统的霍夫变换、颜色特征或者形态特征等。这些认为设计的特征对于某个特定的环境定位精度很高,但是在复杂的实际环境应用中表现的就不是十分稳定。比如利用霍夫变换检测车牌矩形边框的算法在车牌破损或者边框模糊的情况下,就很难完成车牌定位;基于颜色特征的车牌定位遇到强烈反光的或者车牌颜色和车牌相近的情况下,定位通常是失败的;基于形态学的车牌定位方法中,车牌有角度倾斜或者车牌周围有和车牌直接相连的纹理,形态学处理后进行获取连接区域的外接矩形时,会得到部分车牌区域或者车牌以外的噪声区域。上述传统的定位方法都是人工设定的特征,不能很好的适应复杂多变的实际环境。目前传统的车牌定位算法有如下几种:基于颜色特征的车牌定位算法,这种算法在光照稳定的环境表现良好。基于纹理特征的车牌提取算法,这种算法可以很好的适应车牌边缘扭曲变形的情况,但是当图片中的边缘信息较多时,计算量很大,导致效率很低。基于直方图分析的车牌定位算法,这种算法不能很好的适应噪音很多的图片或者模糊的图片。基于霍如变换的车牌定位算法,这种算法需要提取边缘特征,通过车牌的矩形特征检测车牌,这种算法不能很好的适应图片中矩形较多或者车牌扭曲的情况。基于小波变换和形态学中的”礼帽””黒帽”变换的车牌定位算法,基于形态学的车牌检测算法,这些算法只能在假定的良好环境中有很好的适应能力。基于hdr技术的车牌定位算法,该算法可以很好的适应白天和夜晚不同光照下的复杂环境,但是在光照不均匀的环境中不能很好的识别。基于mser的车牌定位算法,这种算法能够很好的提取字符区域,但是图片中的字符区域(极值区域)太多,会定位出大量非车牌区域,而且对于车牌中的中文字符不能很好的定位,因为中文字符存在断裂的情况,所以不能定位出完整的中文字符,这样会影响整个车牌的提取结果。综上所述,现有技术存在的问题是:传统的车牌定位方法都是采用人工设定的特征,特征比较单一,要同时适应雾天、夜晚、车牌污损、车牌大角度倾斜等复杂环境,传统的算法目前还无法满足。技术实现要素:针对现有技术存在的问题,本发明提供了一种基于r-cnn的车牌定位方法。本发明是这样实现的,一种基于r-cnn(region-convolutionalneuralnetwork)的车牌定位方法,所述基于r-cnn的车牌定位方法通过cnn(convolutionalneuralnetwork)网络提取车牌特征,同时rpn(regionproposalnetwork)网络利用提取的车牌特征选择前景候选框;然后通过坐标回归器精修车牌位置;通过大量数据训练,得到在复杂的环境中定位率较高的车牌定位模型。进一步,所述基于r-cnn的车牌定位方法包括以下步骤:(1)采用五层卷积神经网络提取车牌图片的特征;(2)车牌roi提取,用于提取车牌特征网络的卷积神经网络结构中,得到14*14*256的特征图,特征图将会直接送入rpn网络进行训练,从rpn网络最终得到的前300个候选框送入fastr-cnn的池化层,通过全连接层将300个候选框的位置信息和分类信息送入标定框回归器和目标分类器,最终将得到车牌区域的精确位置;(3)对获取的300个车牌区域采用非极大值抑制算法,得到最终的车牌区域。(4)训练rpn网络和fastr-cnn网络时,车牌定位采用anchor的三种比例是:1:1、2:1、3:1;最小化训练误差采用随机梯度下降法sgd。学习率、权重衰减、动量、惯性系数等超参数通过人工选择进行调优。进一步,所述采用五层卷积神经网络提取车牌图片的特征中激活函数采用relu激活函数:relu(x)=max(0,x)。进一步,所述学习率η表示为:wi表示权重,e表示代价函数,η表示学习率。进一步,所述权重衰减λ表示为:其中λ为权重衰减系数。进一步,所述动量m表示为:wi=wi-η*mi;其中mi为第i次迭代的动量,σ为动量因子。进一步,所述学习率衰减ηd表示为:其中,s表示迭代次数,ηd表示学习率衰减率。本发明的另一目的在于提供一种利用所述基于r-cnn的车牌定位方法的停车场。本发明的另一目的在于提供一种利用所述基于r-cnn的车牌定位方法的摄像头。本发明的优点及积极效果为:通过cnn网络提取车牌特征,同时rpn网络利用提取的车牌特征选择前景候选框(车牌候选区域),然后通过坐标回归器精修车牌位置。通过大量数据训练,我们就可以得到在复杂的环境中定位率较高的车牌定位模型。本发明提出的车牌定位技术在雾天、夜晚、倾斜和遮挡等情况下也有很好的鲁棒性;深度学习中的卷积神经网络模型是基于大量的实际环境中的车牌图片进行训练的,只要训练样本的数量大、质量高,就能很好的学习到复杂环境中的车牌特征,所以基于r-cnn的车牌定位有很高的鲁棒性和准确性,同时优化其精度也比较简单,调整训练样本的数量和训练模型的参数即可。本发明采用的基于r-cnn车牌检测技术,具有很强的鲁棒性,可以在雾天、雨天、反光、夜晚、车牌污损、车牌倾斜等环境下检测蓝底、黄底、白底的不同规格的车牌。由于检测模型是在线下训练,线上测试,所以检测速度上比传统车牌定位算法更具高效性。附图说明图1是本发明实施例提供的基于r-cnn的车牌定位方法流程图。图2是本发明实施例提供的sigmoid函数图形示意图。图3是本发明实施例提供的relu函数图形示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。下面结合附图对本发明的应用原理作详细的描述。如图1所示,本发明实施例提供的基于r-cnn的车牌定位方法包括以下步骤:s101:通过cnn网络提取车牌特征,同时rpn网络利用提取的车牌特征选择前景候选框(车牌候选区域);s102:然后通过坐标回归器精修车牌位置;通过大量数据训练,得到在复杂的环境中定位率较高的车牌定位模型。车牌定位模型的具体表述如下:(1)利用五层卷积网络提取特征:下面公式中表示第j个卷积层中第i个卷积核与输入图像卷积后的结果,函数表示输入图像i和卷积核k进行卷积:其中为卷积核k对应的偏置,sizek表示卷积核的大小,表示卷积时的滑动步长;表示第j个卷积层得到的第i个特征图,relu(x)为激活函数:relu(x)=max(0,x);表示第j个池化层对第j个卷积层中的第i个特征图的池化结果,表示利用size×size大小的滑动窗口对输入图像i进行最大化下采样:其中表示第j个池化层中第i个特征图对应的偏置,表示第j个池化层中滑动窗口的滑动步长;表示第j个池化层得到的池化特征图。卷积层c1:其中i=1,2,3,...,96;池化层s1:其中i=1,2,3,...,96;卷积层c2:其中i=1,2,3,...,256;池化层s2:其中i=1,2,3,...,256;卷积层c3:其中i=1,2,3,...,384;卷积层c4:其中i=1,2,3,...,384;卷积层c5:其中i=1,2,3,...,256;(2)rpn网络进行前景候选框提取:其中proposal表示通过rpn网络得到的前景候选区域的数据结构,该数据结构包括某个区域是前景的得分(得分)rpn_score、区域的位置rpn_bbox;rpn(feature,src[,gt_bboxs])表示rpn网络,该网络输入第五个卷积层得到的256个特征图feature5、源图像src、源图像中所有车牌的具体坐标gt_bboxs(训练时需要)。(3)分类和位置精修其中:bbox表示最终定位出车牌位置(x,y,width,height),score表示车牌区域得分;bbox_pred(inner_proposal)表示坐标回归器,输入是前景候选区域通过两次全连接得到的特征图inner_proposal;cls_score(inner_proposal)表示目标分类器,输入同位置精修器。故整个模型可以表示为:其中:bbox表示检测到的所有车牌的位置坐标,score表示对应车牌区域的最终得分,plate_location()表示定位模型,定位模型的输入为任意大小的彩色图片,conv5表示5层卷积神经网络。下面结合附图对本发明的应用原理作进一步的描述。1车牌特征提取1.1卷积神经网络卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。20世纪60年代,hubel和wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(convolutionalneuralnetworks-简称cnn)。一般认为人对外界的认知是从局部到全局的,而图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。在抓拍的车牌图片中,车牌区域的像素联系的比较密切,比如车牌底色都是蓝色或者黄色等,而周围非车牌区域的像素与车牌区域就没很强的关联性。采用卷积神经网络提取车牌特征主要是因为:(1)卷积神经网络的局部感受野(卷积核)能很好的提取局部特征;(2)卷积神经网络的权值共享可以减少计算量;(3)多层卷积等提取更全局化的特征。本发明采用五层卷积神经网络提取车牌图片的特征,如图2所示。说明:1输入图片大小:3*224*224。2卷积层1采用7*7大小的96个卷积核,同时采用3*3的核最大池化(步长为2),得到96张大小为112*112的featuremap。3卷积层2采用5*5大小的256个卷积核,同时采用3*3的核最大池化(步长为2),得到256张大小为28*28大小的featuremap。4卷积层3和卷积层4都采用3*3大小的384个卷积核,不进行池化,得到384张大小为14*14的featuremap。5卷积层5采用3*3大小的256个卷积核,不进行池化,得到256张大小为14*14的featuremap。这将是整个特征提取网络最终得到的特征。1.2激活函数的选择常用的激活函数有:sigmoid函数、relu函数,其数学形式和图形如图2和图3:relu(x)=max(0,x)(2)根据以上两种函数的图形的对比,本发明采用relu激活函数。原因有三点:(1)采用sigmoid函数,算激活函数时(指数运算),计算量大;反向传播求误差梯度时,求导涉及除法,计算量相对大。而采用relu激活函数,整个过程的计算量节省很多;(2)对于深层网络,sigmoid函数反向传播时,很容易就会出现梯度消失的情况(在sigmoid接近饱和区时,变化太缓慢,导数趋于0,这种情况会造成信息丢失),从而无法完成深层网络的训练。(3)relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生,同时relu更容易学习优化。因为其分段线性性质,导致其前传、后传、求导都是分段线性的,不会像sigmoid函数那样容易丢失信息。2车牌roi提取2.1深度学习的车牌检测算法本发明提出的算法主要是基于rgirshick等提出的fasterr-cnn网络结构,该网络结构是rgirshick继提出r-cnn、fastr-cnn后又一次提出的卷积神经网络结构,fasterr-cnn相比之前提出的r-cnn主要优点有可以实现端到端的训练和测试,同时速度和精度上也有很大提升。这些优点都基于其核心网络结构:rpn(regionproposalnetworks)。用于提取车牌特征网络的卷积神经网络结构中,该网络最终会得到14*14*256的特征图,这些特征图将会直接送入rpn网络进行训练。rpn网络主要是采用卷积的方式实现全连接,rpn接受到特征图后,会利用3*3滑动窗口对输入的特征图进行卷积,每个窗口对应9个锚点(anchor)-候选框,且每个窗口会产生一个256维的向量,然后将这该向量分别于cls层和reg层全连接。cls层主要是用于判断该候选框是前景还是背景,故有2*9=18个输出;reg层主要用于预测该候选框的中心坐标和它宽度和高度,故有4*9=36个输出。这里的9个锚点的选择是三种尺寸:128*128、256*256、512*512,三种比例:1:2、1:1、2:1。而这种比例在车牌定位时有待改进,从rpn网络最终得到的前300个候选框送入fastr-cnn的池化层,然后通过全连接层将300个候选框的位置信息和分类信息送入标定框回归器和目标分类器,最终将得到车牌区域的精确位置。3参数优化3.1anchor的比例选择根据《中华人民共和国公共安全行业标准》,中国的车牌主要有以下两种尺寸比例:440*140和440*220根据以上的车牌规格,本发明提出的anchor的三种比例是:1:1、2:1、3:1。这种比例能更好适应车牌定位。由于车牌在实际环境中还会存在倾斜等情况,所以加入1:1这种比例尺寸尽可能适应某些特殊情况,根据实验结果,这三种比例的定位精度较高。3.2学习率、权重、惯性系数等参数的选择本发明采用的学习方法是随机梯度下降法sgd(stochasticgradientdescent),该方法实现简单,且在足够多的样本下优化的速度很快,但是,训练时需要人工调节一些超参数:学习率(learningrate)、权值衰减(weightdecay)、动量(momentum)、学习率衰减(learningratedecay),其中第一个参数是必须设置的,后面三个参数是为了提高自适应性而设计的参数,不必要时可以设计为0。学习率η:学习率决定了权值更新的速度,设置得太大会使结果越过最优值,太小会使下降速度过慢。仅靠人为干预调整参数需要不断修改学习率,因此后面3种参数都是基于自适应的思路提出的解决方案。wi表示权重,e表示代价函数,η表示学习率。权重衰减λ:在实际运用中,为了避免模型的过拟合,需要对代价函数加入规范项,在sgd中我们加入-ηλwi这一项来对代价函数进行规范化:其中λ为权重衰减系数。公式(4)的基本思路是减小不重要的参数对结果的影响,而有用的权重则不会受到权重衰减λ的影响。动量m:利用牛顿第一定律,基本思路是在优化的过程中加入了”惯性”的影响,这样就可以让sgd在优化的过程中在平坦的区域以更快的速度学习,抑制震荡,加速收敛:wi=wi-η*mi(5)其中mi为第i次迭代的动量,σ为动量因子。从公式(5)中可以看出,累计每次迭代的动量来代替当前的梯度值,这样可以在相关方向加速sgd,抑制震荡,跳出“陷阱”,从而可以更快的收敛。学习率衰减ηd:为了提高sgd的优化能力,可以在每次迭代的时候减小学习率。减小学习率的方式有很多,以下是本发明采用的一种方式:其中,s表示迭代次数,ηd表示学习率衰减率。根据以上各种超参数的分析,通过大量实验验证,本发明选取的各种超参数如表1所示:表1训练超参数设置表学习率权重衰减率动量因子学习率衰减率0.010.00050.90.1下面结合试验对本发明的应用效果作详细的描述。1试验结果1.1数据采集由于车牌定位模型要适应复杂的实际环境,所以在搜集图片时,尽量搜集各种环境下的各种规格的车牌图片,比如雾天、夜晚、白天、雪天、强光、倾斜等环境下不同底色不同规格的车牌图片。本发明共收集1500张图片,1000张训练,300张验证,200张测试。1.2样本制作与模型训练将收集的车牌图片利用注释工具进行标注,标注车牌时尽量只标注车牌号码区域,其它多余区域不要标注。训练集1000张,验证集300张,测试集200张。训练时采用端到端的训练模式,迭代20000次。1.3定位准确率和召回率比较本发明将利用定位的准确率、召回率、f值与传统的车牌定位算法进行对比。在测试集中,假设检测出车牌的数量为a,未检测出的车牌数量为b,检测出的非车牌数量为c,那么准确率召回率为f值的高低决定整个检测模型的定位率。表2传统车牌定位算法和本发明采用的车牌定位技术的定位率对比表本次测试样例图片195张,车牌数201张,采用的是fasterr-cnn中型网络结构,训练和测试模式采用端到端模式,总共迭代20000次,最终的车牌定位模型的mpa为0.91。本发明对原始的锚点的比例和改进后的锚点比例进行测试对比,由表2可以看出,采用接近车牌比例的锚点将会有更高的定位率(三种基本尺度设为64,128,256)。本发明采用的基于r-cnn车牌检测技术,具有很强的鲁棒性,可以在雾天、雨天、反光、夜晚、车牌污损、车牌倾斜等环境下检测蓝底、黄底、白底的不同规格的车牌。由于检测模型是线下训练,在线测试,所以检测速度上比传统车牌定位算法更具高效性。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1