一种高效的卷积神经网络的车牌定位方法

著录项
  • CN202010225649.9
  • 20200327
  • CN111310773A
  • 20200619
  • 西安电子科技大学;陕西理工大学
  • 王兰美;朱衍波;梁涛;王桂宝;廖桂生;陈正涛
  • G06K9/46
  • G06K9/46 G06N3/04 G06N3/08 G08G1/017

  • 陕西省西安市雁塔区太白南路2号
  • 陕西(61)
摘要
本发明提出了一种高效的卷积神经网络车牌定位方法。主要是针对车牌识别此类特殊问题,优化了网络结构,提出了一种高效的卷积神经网络结构,此网络结构的优点是能够在不损失检测准确度的条件下减小模型的权重文件大小以及降低检测时间。实施方式如下:首先建立车牌数据库;利用K均值聚类方法生成锚框;设计一种计算量小、权重参数数量少的高效深度神经网络结构;用Adam优化算法在最终数据集上训练网络模型;并采用YOLOv3作为对比算法对本模型进行评估。本发明提出了一种针对于车牌检测的卷积神经网络结构,能够在模型检测准确度基本不变的条件下,减小了模型的权重文件大小,降低了车牌检测时间。
权利要求

1.一种高效的卷积神经网络车牌定位方法,包含以下步骤:

步骤一、建立车牌数据库;数据主要从以下途径收集:实地拍摄;从网页爬取;整合一些从互联网搜索到的小规模车牌数据集;然后对得到的图片进行清洗、标注、增强,得到最终训练用的数据集;

步骤二、以步骤一中建立的最终数据集为基础,采用K均值聚类方法生成锚框;

步骤三、建立计算量小、权重参数数量少的高效深度神经网络结构模型;

(3a)引入新的卷积方法,即分离卷积;

(3b)根据分离卷积方法,本发明构建了一个新的特征提取网络;

步骤四、利用步骤一得到的最终数据集对上述网络模型进行训练;

(1)网络随机初始化权值,使初始化的值服从高斯正态分布;

(2)输入数据经过本发明步骤三中的网络结构向前传播得到输出值为特征图1、特征图2、特征图3,并利用特征图信息得到预测边框的信息

(3)将数据集中标注出的真实框与聚类得到的锚框进行匹配:计算出真实框所在的中心点,筛选出此中心点对应的锚框,选取与真实框有最大IOU值的锚框作为目标框,并将该真实框的坐标值信息赋给目标框,即得到目标框的坐标值(xi,yi,wi,hi),并将目标框的类别值Pi设置为1,置信度值Ci设置为1,其余未标记的锚框的参数值均设置为0;

(4)利用本发明提出的损失函数求网络预测边框的输出值与真实边界框的目标值之间的误差损失,该损失函数包含位置损失、置信度损失和类别损失;

(5)利用Adam优化算法进行权值更新,直到迭代次数>epoch时,结束训练;其中epoch根据精度要求设定;

步骤五、利用已训练好的模型进行车牌检测,并采用YOLOv3作为对比算法对本模型进行评估。

2.根据权利要求1所述的一种高效的卷积神经网络车牌定位方法,步骤二中利用K均值聚类算法对车牌数据集中所有目标框进行聚类,进而发现数据集中目标框的统计规律,最后根据这些统计规律去生成锚框;

在这种方法中,聚类中心个数k等于数据集对应的锚框数;也就是说如果我们要为车牌数据集设定k个锚框,那么K均值聚类算法的聚类中心个数也等于k;另外在这个聚类任务中,如果使用传统的欧式距离进行聚类,会导致大尺度锚框的位置误差远大于小尺度锚框的位置误差;而我们最终希望的是通过聚类得到的锚框和车牌数据集中的目标框有尽可能大的IOU值,IOU为交并比,故而本发明采用以下的距离d度量:

d(box,centroid)=1-IOU(box,centroid)

其中,box表示数据集中的目标框,centroid表示聚类中心对应的边界框,IOU(box,centroid)表示聚类中心对应的边界框和数据集中的目标框的交并比;

取k=9对车牌数据集进行聚类,得到9个新的更符合本发明数据集的锚框,即给出锚框的位置信息,即宽度pw、高度ph,并使用这些锚框去训练模型。

3.根据权利要求1所述的一种高效的卷积神经网络车牌定位方法,步骤(3a)中引入的分离卷积,具体过程如下:假设该卷积层的输入为Df×Df×M维度的矩阵X=(X1,X2,...,XM);对该矩阵X进行分离卷积运算相当于分为2个步骤执行;

第一步,将输入矩阵X=(X1,X2,...,XM)与卷积核Y=(Y1,Y2,...,YM)对应做卷积运算,得到输出特征矩阵G=(G1,G2,...,GM);

Gj=Xj*Yj

其中Xj是尺寸为Df×Df二维矩阵,Yj是尺寸为DK×DK的二维卷积核,Gj是输出的平面二维特征矩阵,尺寸仍为Df×Df;

也就是说,一个卷积核Yj只负责对输入的一个通道Xj进行卷积,得到M个通道特征图Gj;

第二步,将上一步得到的输出特征矩阵G=(G1,G2,...,GM)与C个卷积核做卷积运算,得到最终输出特征图P=(P1,P2,...,PC);

其中Gj是输出的平面二维特征矩阵,尺寸仍为Df×Df,是尺寸为1×1的二维卷积核,Pd是最终输出特征图,尺寸为Df×Df,*表示卷积运算。

4.根据权利要求1所述的一种高效的卷积神经网络车牌定位方法,步骤三中整个网络结构如下:

该网络模型包含27个卷积层,其中包含14个标准卷积层和13个分离卷积层;每个卷积层包含3个操作:

第一步:进行卷积运算,利用标准卷积方法或者分离卷积方法;

第二步:将上一步得到的卷积结果进行批量归一化处理,将数据全部归一化为[0,1]之间,有利于加快训练速度;

第三步:经过激活函数Relu,将非线性特性引入到本发明的网络中,这样会保证输入输出之间是非线性映射关系,而不是简单的线性组合的关系,从而能够保证网络的学习能力;

特征提取模块的输入是一张RGB图片,这张图片可以表示为a×a×3的矩阵形式,其中a为图片的宽度和高度,输出为三个特征矩阵,这三个特征矩阵的维度分别为10×10、20×20和40×40,其中40×40的特征矩阵中每一个神经元的感受野是最小的,可以负责检测原始输入图像中的小车牌目标,同理,10×10的特征矩阵中每一个神经元的感受野是最大的,可以负责检测原始输入图像中的大车牌目标;这样进行多尺度预测,可以避免小目标车牌漏检的情况;

特征提取模块的输入为大小为320×320×3的图片,通过第一层标准卷积层C1,卷积核的大小为3×3,个数为32,步长为2,第一卷积层C1输出的特征图为160×160×32;

然后进入第二层分离卷积层C2,卷积核的大小为3×3,个数为32,步长为1,第二卷积层C2输出的特征图为160×160×32;

然后进入第三层标准卷积层C3,卷积核的大小为1×1,个数为64,步长为1,第三卷积层C3输出的特征图为160×160×64;

然后进入第四层分离卷积层C4,卷积核的大小为3×3,个数为64,步长为2,第四卷积层C4输出的特征图为80×80×64;

然后相继进入第五层标准卷积层C5、第六层分离卷积层C6、第七层标准卷积层C7,卷积核的大小依次为1×1、3×3、1×1,个数为128,步长为1,最终C7输出的特征图为80×80×128;

然后进入第八层分离卷积层C8,卷积核的大小为3×3,个数为128,步长为2,第八卷积层C8输出的特征图为40×40×128;

然后相继进入第九层标准卷积层C9、第十层分离卷积层C10、第十一层标准卷积层C11,卷积核的大小依次为1×1、3×3、1×1,个数为256,步长为1,最终C11输出的特征图为40×40×256;C11层的输出特征图会输入到后续的网络结构中继续处理;

然后进入第十二层分离卷积层C12,卷积核的大小为3×3,个数为256,步长为2,第十二卷积层C12输出的特征图为20×20×256;

然后进入第十三层标准卷积层C13,卷积核的大小为1×1,个数为512,步长为1,第十三卷积层C13输出的特征图为20×20×512;

然后进入C14-C23层,C14为分离卷积层C15为标准卷积层,卷积核的大小依次为3×3、1×1,个数为512,步长为1,循环5次,共十层,最终C23层的输出的特征图为20×20×512;C23层的输出特征图会输入到后续的网络结构中继续处理;

然后进入第二十四层分离卷积层C24,卷积核的大小为3×3,个数为512,步长为2,第二十四卷积层C24输出的特征图为10×10×512;

然后相继进入第二十五层标准卷积层C25、第二十六层分离卷积层C26、第二十七层标准卷积层C27,卷积核的大小依次为1×1、3×3、1×1,个数为1024,步长为1,最终C27输出的特征图为10×10×1024;C27层的输出特征图会输入到后续的网络结构中继续处理;

C27层输出的特征图会在后续网络中输入到检测模块1中处理;进入检测模块1后,会将C27层输出的特征图分为左、中、右三条支路进行处理:左路经过三层卷积层LC11、LC12、LC13,中路也经过三层卷积层MC11、MC12、MC13;其中LC11、LC12、LC13层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,LC′3层的输出为10×10×512;MC11、MC12、MC13层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,MC13层的输出为10×10×512;然后将LC13与MC13层的输出特征图中的元素对应相加,将相加后的结果经过一层标准卷积层C14,卷积核的大小为1×1,个数为256,步长为1,C14层的输出为10×10×256;右路经过一层卷积层RC11,卷积核的大小为1×1,个数为256,步长为1,RC11的输出为10×10×256,然后经过“拼接层”EC1层,将RC11与C14两层的输出合并为一个特征图,EC1层的输出为10×10×512;

经过检测模块1后,EC1层的输出会分为两路处理,其中一路经过两层标准卷积层C15、C16,卷积核的大小均为1×1,个数分别为512、18,步长均为1,C16层的输出为10×10×18;C16层的输出即为网络输出特征图1;另外一路会经过标准卷积层C17,卷积核的大小为1×1,个数分别为256,步长均为1,C17层的输出为10×10×256;后经过“上采样”层Up1,放大尺寸两倍,Up1的输出为20×20×256,后经过“拼接层”EC1层,将Up1层与C23层的输出合并,EC1层的输出为20×20×768;

EC1层输出的特征图输入到检测模块2中处理;进入检测模块2后,会将EC1层输出的特征图分为左、中、右三条支路进行处理:左路经过三层卷积层LC21、LC22、LC23,中路也经过三层卷积层MC21、MC22、MC23;其中LC21、LC22、LC23层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,LC23层的输出为20×20×512;MC21、MC22、MC23层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,MC23层的输出为20×20×512;然后将LC23与MC23层的输出特征图中的元素对应相加,将相加后的结果经过一层标准卷积层C24,卷积核的大小为1×1,个数为256,步长为1,C24层的输出为20×20×256;右路经过一层卷积层RC21,卷积核的大小为1×1,个数为256,步长为1,RC21的输出为20×20×256,然后经过“拼接层”EC2层,将RC21与C24两层的输出合并为一个特征图,EC2层的输出为20×20×512;

EC2层的输出也会分为两路处理,其中一路经过两层标准卷积层C25、C26,卷积核的大小均为1×1,个数分别为512、18,步长均为1,C26层的输出为20×20×18;C26层的输出即为网络输出特征图2;另外一路会经过标准卷积层C27,卷积核的大小为1×1,个数分别为128,步长均为1,C27层的输出为20×20×128;后经过“上采样”层Up2,放大尺寸两倍,Up2的输出为40×40×128,后经过“拼接层”EC2层,将Up2层与C11层的输出合并,EC2层的输出为40×40×384;

EC2层输出的特征图输入到检测模块3中处理;进入检测模块3后,将EC2层输出的特征图分为左、中、右三条支路进行处理:左路经过三层卷积层LC31、LC32、LC33,中路也经过三层卷积层MC31、MC32、MC33;其中LC31、LC32、LC33层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,LC33层的输出为40×40×512;MC31、MC32、MC33层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,MC33层的输出为40×40×512;然后将LC33与MC33层的输出特征图中的元素对应相加,将相加后的结果经过一层标准卷积层C34,卷积核的大小为1×1,个数为256,步长为1,C34层的输出为40×40×256;右路经过一层卷积层RC31,卷积核的大小为1×1,个数为256,步长为1,RC31的输出为40×40×256,然后经过“拼接层”EC3层,将RC31与C34两层的输出合并为一个特征图,EC3层的输出为40×40×512;

检测模块3的输出会经过两层标准卷积层C35、C36,卷积核的大小均为1×1,个数分别为512、18,步长均为1,C36层的输出为40×40×18;C36层的输出即为网络输出特征图3;

网络的输出为3张特征图,维度分别是10×10×18、20×20×18、40×40×18,其中10×10×18特征图共包含1800个参数,代表了网络将原输入图片分割成了100个网格,每个网格会预测三个预测框,每一个预测框对应了6个参数;这六个参数分别是预测框的4个坐标信息txi,tyi,twi,thi、预测置信度和类别概率其中(txi、tyi)表示第i个预测框中心点的坐标参数值,(twi、thi)表示第i个预测框宽和高的参数值,预测置信度表示第i个预测框包含目标的概率,类别概率为多维向量,表示了第i个预测框的目标是某一类别的概率;需要注意的一点是,txi,tyi,twi,thi这四个参数是相对位置坐标,需要转化为最终在原始图片中的实际坐标;转换的公式如下:

其中,txi,tyi,twi,thi是预测的相对坐标值,pw、ph表示预测框对应锚框的宽度以及高度,cx、cy表示预测框相对图片左上角位置坐标的偏移量,表示预测框中心点实际坐标,表示预测框的实际宽度以及实际高度。

5.根据权利要求1所述的一种高效的卷积神经网络车牌定位方法,步骤四中损失函数的确定,具体如下:

算法损失函数由位置损失、置信度损失和类别损失三部分组成;

位置损失分别为中心损失和尺度损失;中心损失用于评估网络预测框中心和实际物体的标注框的中心间的误差;尺度损失则用于评估网络预测框高度与宽度和实际物体标注框高度与宽度间的误差;中心损失和使用的函数为二值交叉熵函数,尺度损失使用的函数为平方函数,具体如下:

center_loss=x_loss+y_loss

其中,N表示网络预测框的总数,liobj表示第i个预测框中是否存在目标,若存在,liobj=1,否则为0;(xi,yi)表示目标所在的第i个标注框真实中心位置,表示第i个预测框的中心位置,(wi,hi)表示目标所在的第i个标注框真实宽度和高度,表示第i个预测框的宽度和高度,α用于调整尺度损失在所有损失中所占据的比例;

置信度损失用于评估预测框对应的置信度和实际物体标注框对应的置信度之间的误差;置信度损失使用的函数为二值交叉熵函数,具体如下:

confidence_loss=obj_loss+noobj_loss

其中,Ci表示目标所在的第i个标注框真实置信度,表示第i个预测框的置信度;

类别损失评估网络预测框对应的类别和实际物体对应的类别之间的误差,具体如下所示:

其中,pi表示目标所在第i个标注框中物体的类别的概率,表示第i个预测框物体的类别概率;

总损失函数为:

loss=center_loss+size_loss+confidence_loss+cls_loss。

6.根据权利要求1所述的一种高效的卷积神经网络车牌定位方法,步骤五中检测过程采用IOU=0.8时的检测准确率、权重文件大小和检测时间作为算法性能的度量指标,如果算法对某张图片的预测矩形框和该图片的真实矩形框间的交并比大于0.8,那么就认为算法对该图片检测成功,其次,在检测准确率不大幅降低的情况下,权重文件越小,检测时间越少,则认为算法性能越强;

前述步骤中,N表示网络预测框的总数,其中N=6300,i=1,2,...,N表示预测框的标号;M表示分离卷积中假设的输入向量的通道个数,j=1,2,...,M;C表示分离卷积第二步中卷积核的个数,d=1,2,...,C。

说明书

一种高效的卷积神经网络的车牌定位方法

技术领域

本发明属于图像识别领域,涉及一种高效的基于深度卷积神经网络的车牌定位方法。

背景技术

随着社会经济的发展,汽车已成为人们日常出行的重要方式,汽车的种类和数量迅速增加,对交通管制提出了更高的要求。近年来,智能化处理技术在很多领域发挥着重要作用,智能交通系统也随之兴起,大大提高了管理效率,节省了大量人力。车牌是车辆的重要标识,每辆汽车都有唯一的“身份证件”,这为车辆的统一管理提供了强有力的保障。在车辆管理高效性的要求下,自动收集并识别车牌成为整个检测过程极其重要的环节。

车牌检测技术在日常生活中发挥着重要的应用作用,特别是随着当今互联网技术的飞速发展,许多问题都可以通过获取车牌信息得到高效的解决,但是这对车牌识别的速度与精度提出了更高的要求。车牌识别技术的任务是从包含各种复杂背景的车辆图片中自动检测车牌区域并对其进行处理和识别,最后输出识别结果。传统的车牌识别算法或多或少都会受到环境或人为因素的制约,例如光照条件,大气可见度,部分遮挡,车牌悬挂区域等。这些因素使得一些检测算法达不到人为预期的效果,导致应用过程中受阻。

如果开发一种车牌检测算法,使其经过微调之后能够应用在复杂环境条件下,并取得速度与精度的双重提升,那将会有很大的实际应用价值。而近年来,随着计算机性能的大幅度提升,深度学习方法受到很多研究者的青睐,并且在众多领域取得了不错的效果,这为车牌检测算法的开发提供了一个很好的思路。而且,当外界因素改变的情况下,可以通过对模型微调来提高适应性,对车牌检测来说无疑是一大福音。

卷积神经网络是一种特殊的神经网络模型,它的神经元是非全连接的,而且同层神经元共享权值,基于此网络模型提出的YOLO系列算法在图像检测任务中表现最为突出,尤其是近年来提出的YOLOv3算法如文献1(Redmon J, Farhadi A.YOLOv3:an incrementalimprovement.In Proceedings of the Conference on Computer Vision and PatternRecognition.Salt Lake City,USA:2018.1-4),表现结果甚至突破了人眼的极限,无疑成为图像检测领域的佼佼者。

利用YOLOv3网络模型检测车牌,经实验证明拥有良好的性能。然而该网络模型中的权重参数过多,这导致训练结束后得到的模型权重文件过大,达到了235M,这会导致算法模型的检测速度降低,导致对检测硬件设备的要求过高,过高的硬件需求会导致模型在部署时受到过多限制,进而导致其适用场景有限。针对以上问题,本发明主要研究在精度几乎不降低的情况下,如何减小网络模型的规模。为达到上述目的,针对于车牌这单一的类别,本发明基于深度卷积神经网络,从特征提取网络与检测网络两方面进行改进,提出了一种全新的卷积方法,减轻了原本网络参数的量级,构建了一种高效轻量网络结构。

发明内容

本发明的目的是提供一种高效的卷积神经网络的车牌定位方法。

一种高效的卷积神经网络的车牌定位方法步骤如下:

步骤一、建立车牌数据库。数据主要从以下途径收集:第一,实地拍摄。利用照相机等设备拍摄实际车牌,这部分车牌图像包括了白天、黑夜、阴天、雨天、倾斜等多种场景。第二,从网页爬取。从浏览器网页上爬取车牌图片。第三,整合一些从互联网搜索到的小规模车牌数据集。然后利用LabelImg软件对收集到的图片进行标注,即标出目标所在的中心位置坐标(x,y)及目标的宽度 (w,h),得到原始数据集。标注完成后,为扩大原始数据集中的数据量,运用数据增强技术在原始数据集上扩充数据集,得到最终训练用的数据集。

步骤二、以步骤一中建立的最终数据集为基础,采用K均值聚类方法生成锚框,利用K均值聚类算法对车牌数据集中所有目标框进行聚类,进而发现数据集中目标框的统计规律,最后根据这些统计规律去生成锚框。

在这种方法中,聚类中心个数k等于数据集对应的锚框数。也就是说如果我们要为车牌数据集设定k个锚框,那么K均值聚类算法的聚类中心个数也等于k。另外在这个聚类任务中,如果使用传统的欧式距离进行聚类,会导致大尺度锚框的位置误差远大于小尺度锚框的位置误差。而我们最终希望的是通过聚类得到的锚框和车牌数据集中的目标框有尽可能大的IOU值,故而本发明采用以下的距离d度量:

d(box,centroid)=1-IOU(box,centroid)

其中,box表示数据集中的目标框,centroid表示聚类中心对应的边界框,IOU 表示交并比,IOU(box,centroid)表示聚类中心对应的边界框和数据集中的目标框的交并比。

取k=9对车牌数据集进行聚类,最终得到9个新的更符合本发明数据集的锚框,即给出锚框的位置信息,即宽度pw、高度ph,并使用这些锚框去训练模型。

步骤三、建立计算量小、权重参数数量少的高效深度神经网络结构;

(3a)引入一种新的卷积方法,即分离卷积

分离卷积算法过程如下:假设该卷积层的输入为Df×Df×M维度的矩阵 X=(X1,X2...XM)。对该矩阵X进行分离卷积运算相当于分为2个步骤执行。

第一步,将输入矩阵X=(X1,X2...XM)与卷积核Y=(Y1,Y2...YM)对应做卷积运算,得到输出特征矩阵G=(G1,G2...GM)。

Gj=Xj*Yj

其中Xj是尺寸为Df×Df二维矩阵,Yj是尺寸为DK×DK的二维卷积核,Gj是输出的平面二维特征矩阵,尺寸仍为Df×Df,*表示卷积运算。

也就是说,一个卷积核Yj只负责对输入的一个通道Xj进行卷积,得到M个通道特征图Gj。

第二步,将上一步得到的输出特征矩阵G=(G1,G2...GM)与C个卷积核做卷积运算,得到最终输出特征图P=(P1,P2,...,PC)。

其中Gj是输出的平面二维特征矩阵,尺寸仍为Df×Df,是尺寸为1×1的二维卷积核,Pd是最终输出特征图,尺寸为Df×Df。

(3b)根据分离卷积方法,本发明构建了一个新的特征提取网络,针对车牌检测这一特定任务。该网络模型包含27个卷积层,其中包含14个标准卷积层和13个分离卷积层。

每个卷积层包含3个操作:

第一步:进行卷积运算,利用标准卷积方法或者分离卷积方法;

第二步:将上一步得到的卷积结果进行批量归一化处理,将数据全部归一化为[0,1]之间,有利于加快训练速度;

第三步:经过激活函数Relu,将非线性特性引入到本发明的网络中,这样会保证输入输出之间是非线性映射关系,而不是简单的线性组合的关系,从而能够保证网络的学习能力。

特征提取模块的输入是一张RGB图片,这张图片可以表示为a×a×3的矩阵形式,其中a为图片的宽度和高度,输出为三个特征矩阵,这三个特征矩阵的维度分别为10×10、20×20和40×40,其中40×40的特征矩阵中每一个神经元的感受野是最小的,可以负责检测原始输入图像中的小车牌目标,同理, 10×10的特征矩阵中每一个神经元的感受野是最大的,可以负责检测原始输入图像中的大车牌目标。这样进行多尺度预测,可以避免小目标车牌漏检的情况。

特征提取模块的输入为大小为320×320×3的图片,通过第一层标准卷积层 C1,卷积核的大小为3×3,个数为32,步长为2,第一卷积层C1输出的特征图为160×160×32。

然后进入第二层分离卷积层C2,卷积核的大小为3×3,个数为32,步长为1,第二卷积层C2输出的特征图为160×160×32。

然后进入第三层标准卷积层C3,卷积核的大小为1×1,个数为64,步长为 1,第三卷积层C3输出的特征图为160×160×64。

然后进入第四层分离卷积层C4,卷积核的大小为3×3,个数为64,步长为2,第四卷积层C4输出的特征图为80×80×64。

然后相继进入第五层标准卷积层C5、第六层分离卷积层C6、第七层标准卷积层C7,卷积核的大小依次为1×1、3×3、1×1,个数为128,步长为1,最终C7输出的特征图为80×80×128。

然后进入第八层分离卷积层C8,卷积核的大小为3×3,个数为128,步长为2,第八卷积层C8输出的特征图为40×40×128。

然后相继进入第九层标准卷积层C9、第十层分离卷积层C10、第十一层标准卷积层C11,卷积核的大小依次为1×1、3×3、1×1,个数为256,步长为1,最终C11输出的特征图为40×40×256。C11层的输出特征图会输入到后续的网络结构中继续处理。

然后进入第十二层分离卷积层C12,卷积核的大小为3×3,个数为256,步长为2,第十二卷积层C12输出的特征图为20×20×256。

然后进入第十三层标准卷积层C13,卷积核的大小为1×1,个数为512,步长为1,第十三卷积层C13输出的特征图为20×20×512。

然后进入C14-C23层,C14为分离卷积层C15为标准卷积层,卷积核的大小依次为3×3、1×1,个数为512,步长为1,循环5次,共十层,最终C23 层的输出的特征图为20×20×512。C23层的输出特征图会输入到后续的网络结构中继续处理。

然后进入第二十四层分离卷积层C24,卷积核的大小为3×3,个数为512,步长为2,第二十四卷积层C24输出的特征图为10×10×512。

然后相继进入第二十五层标准卷积层C25、第二十六层分离卷积层C26、第二十七层标准卷积层C27,卷积核的大小依次为1×1、3×3、1×1,个数为1024,步长为1,最终C27输出的特征图为10×10×1024。C27层的输出特征图会输入到后续的网络结构中继续处理。

C27层输出的特征图会在后续网络中输入到检测模块1中处理。进入检测模块1后,会将C27层输出的特征图分为左、中、右三条支路进行处理:左路经过三层卷积层LC11、LC12、LC13,中路也经过三层卷积层MC11、MC12、 MC13。其中LC11、LC12、LC13层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,LC′3层的输出为10×10×512;MC11、 MC12、MC13层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、 512、512,步长均为1,MC13层的输出为10×10×512。然后将LC13与MC13 层的输出特征图中的元素对应相加,将相加后的结果经过一层标准卷积层C14,卷积核的大小为1×1,个数为256,步长为1,C14层的输出为10×10×256。右路经过一层卷积层RC11,卷积核的大小为1×1,个数为256,步长为1,RC11 的输出为10×10×256,然后经过“拼接层”EC1层,将RC11与C14两层的输出合并为一个特征图,EC1层的输出为10×10×512。

经过检测模块1后,EC1层的输出会分为两路处理,其中一路经过两层标准卷积层C15、C16,卷积核的大小均为1×1,个数分别为512、18,步长均为 1,C16层的输出为10×10×18。C16层的输出即为网络输出特征图1。另外一路会经过标准卷积层C17,卷积核的大小为1×1,个数分别为256,步长均为1, C17层的输出为10×10×256。后经过“上采样”层Up1,放大尺寸两倍,Up1 的输出为20×20×256,后经过“拼接层”EC1层,将Up1层与C23层的输出合并,EC1层的输出为20×20×768。

EC1层输出的特征图再输入到检测模块2中处理。进入检测模块2后,将 EC1层输出的特征图分为左、中、右三条支路进行处理:左路经过三层卷积层 LC21、LC22、LC23,中路也经过三层卷积层MC21、MC22、MC23。其中LC21、LC22、LC23层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,LC23层的输出为20×20×512;MC21、MC22、 MC23层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,MC23层的输出为20×20×512。然后将LC23与MC23层的输出特征图中的元素对应相加,将相加后的结果经过一层标准卷积层C24,卷积核的大小为1×1,个数为256,步长为1,C24层的输出为20×20×256。右路经过一层卷积层RC21,卷积核的大小为1×1,个数为256,步长为1,RC21的输出为20×20×256,然后经过“拼接层”EC2层,将RC21与C24两层的输出合并为一个特征图,EC2层的输出为20×20×512。

EC2层的输出也会分为两路处理,其中一路经过两层标准卷积层C25、 C26,卷积核的大小均为1×1,个数分别为512、18,步长均为1,C26层的输出为20×20×18。C26层的输出即为网络输出特征图2。另外一路经过标准卷积层C27,卷积核的大小为1×1,个数分别为128,步长均为1,C27层的输出为20×20×128。后经过“上采样”层Up2,放大尺寸两倍,Up2的输出为 40×40×128,后经过“拼接层”EC2层,将Up2层与C11层的输出合并,EC2 层的输出为40×40×384。

EC2层输出的特征图再输入到检测模块3中处理。进入检测模块3后,将 EC2层输出的特征图分为左、中、右三条支路进行处理:左路经过三层卷积层 LC31、LC32、LC33,中路也经过三层卷积层MC31、MC32、MC33。其中LC31、LC32、LC33层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,LC33层的输出为40×40×512;MC31、MC32、 MC33层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,MC33层的输出为40×40×512。然后将LC33与MC33层的输出特征图中的元素对应相加,将相加后的结果经过一层标准卷积层C34,卷积核的大小为1×1,个数为256,步长为1,C34层的输出为40×40×256。右路经过一层卷积层RC31,卷积核的大小为1×1,个数为256,步长为1,RC31 的输出为40×40×256,然后经过“拼接层”EC3层,将RC31与C34两层的输出合并为一个特征图,EC3层的输出为40×40×512。

检测模块3的输出会经过两层标准卷积层C35、C36,卷积核的大小均为 1×1,个数分别为512、18,步长均为1,C36层的输出为40×40×18。C36 层的输出即为网络输出特征图3。

网络的输出为3张特征图,维度分别是10×10×18、20×20×18、40×40×18,其中10×10×18特征图共包含1800个参数,代表了网络将原输入图片分割成了 100个网格,每个网格会预测三个预测框,每一个预测框对应了6个参数。这六个参数分别是预测框的4个坐标信息txi,tyi,twi,thi、预测置信度和类别概率其中(txi、tyi)表示第i个预测框中心点的坐标参数值,(twi、thi)表示第i 个预测框宽和高的参数值,预测置信度表示第i个预测框包含目标的概率,类别概率为多维向量,表示了第i个预测框的目标是某一类别的概率。需要注意的一点是,txi,tyi,twi,thi这四个参数是相对位置坐标,需要转化为最终在原始图片中的实际坐标。转换的公式如下:

其中,txi,tyi,twi,thi是预测的相对坐标值,pw、ph表示预测框对应锚框的宽度以及高度,cx、cy表示预测框相对图片左上角位置坐标的偏移量,表示预测框中心点实际坐标,表示预测框的实际宽度以及实际高度。

步骤四、利用步骤一得到的最终数据集对上述模型进行训练;

(1)网络随机初始化权值,使初始化的值服从高斯正态分布。

(2)输入数据经过本发明步骤三中的网络结构向前传播得到输出值为特征图1、特征图2、特征图3,并利用特征图信息得到预测边框的信息

(3)将数据集中标注出的真实框与聚类得到的锚框进行匹配:计算出真实框所在的中心点,筛选出此中心点对应的锚框,选取与真实框有最大IOU值的锚框作为目标框,并将该真实框的坐标值信息赋给目标框,即得到目标框的坐标值(xi,yi,wi,hi),并将目标框的类别值Pi设置为1,置信度值Ci设置为1,其余未标记的锚框的参数值均设置为0。

(4)利用本发明提出的损失函数求网络预测边框的输出值与目标框的目标值之间的误差损失,该损失函数包含位置损失、置信度损失和类别损失。

位置损失分为中心损失和尺度损失。中心损失用于评估网络预测框中心和实际物体的标注框的中心间的误差;尺度损失则用于评估网络预测框高度与宽度和实际物体标注框高度与宽度间的误差,具体如下:

center_loss=x_loss+y_loss

其中,N表示网络预测框的总数,liobj表示第i个预测框中是否存在目标,若存在,liobj=1,否则为0;(xi,yi)表示目标所在第i个标注框真实中心位置,表示第i个预测框的中心位置,(wi,hi)目标所在第i个标注框真实宽度和高度,表示第i个预测框的宽度和高度,α用于调整尺度损失在所有损失中所占据的比例。

置信度损失用于评估预测框对应的置信度和实际物体标注框对应的置信度之间的误差。置信度损失使用的函数为二值交叉熵函数,具体如下:

confidence_loss=obj_loss+noobj_loss

其中,Ci表示目标所在第i个标注框真实置信度,表示第i个预测框的置信度。

类别损失评估网络预测框对应的类别和实际物体对应的类别之间的误差,具体如下所示:

其中,pi表示目标所在第i个标注框中物体的类别的概率,表示第i个预测框物体的类别概率。

总损失函数为:

loss=center_loss+size_loss+confidence_loss+cls_loss

(5)利用Adam优化算法进行权值更新,直到迭代次数>epoch时,结束训练。

步骤五、利用已训练好的模型进行车牌检测,并采用YOLOv3作为对比算法对本模型进行评估。本发明中,检测过程采用交并比IOU=0.8时的检测准确率、权重文件大小和检测时间作为算法性能的度量指标,如果算法对某张图片的预测矩形框和该图片的真实矩形框间的交并比大于0.8,那么就认为算法对该图片检测成功,其次,在检测准确率没有大幅降低的情况下,权重文件越小,检测时间越少,则认为算法性能越强。

前述步骤中,N表示网络预测框的总数,其中N=6300,i=1,2,...,N表示预测框的标号。M表示分离卷积中假设的输入向量的通道个数,j=1,2,...,M。C 表示分离卷积第二步中卷积核的个数,d=1,2,...,C。

本发明具有以下优点:

1.本发明建立了一个适用于车牌检测任务的数据集,并在此数据集上训练了本发明所设计的算法模型,达到了预期的效果。

2.本发明采用全新的卷积方式,先将输入的通道特征与区域特征分开考虑,然后又进行融合,构建了一个高效轻量的网络结构,大大缩减的模型的参数数量,减小了计算量。

3.本发明构建的模型所生成的权重文件小,检测速度更快。在实际部署阶段对设备的要求更低,方便进行车牌检测。

附图(表)说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中需要使用的附图做简单介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明方法的流程图;

图2是本发明特征提取网络结构示意图;

图3是本发明检测网络结构示意图;

图4是本发明网络结构示意图;

图5(a)是单个网格输出示意图;

图5(b)是单个预测框输出向量示意图;

图6是训练过程示意图;

图7是各不同环境下检测图对比示意图;

表1是交并比IOU=0.8时各算法性能对比结果;

具体实施方式

为了让本发明的上述和其它目的、特征及优点能更明显,参照附图,对本发明的实施方案做详细说明。

本发明的目的是提供一种高效的卷积神经网络的车牌定位方法。

如图1所示,一种高效的卷积神经网络的车牌定位方法步骤如下:

步骤一、建立车牌数据库。数据主要从以下途径收集:第一,实地拍摄。利用照相机等设备拍摄实际车牌,这部分车牌图像包括了白天、黑夜、阴天、雨天、倾斜等多种场景。第二,从网页爬取。从浏览器网页上爬取车牌图片。第三,整合一些从互联网搜索到的小规模车牌数据集。然后利用LabelImg软件对收集到的图片进行标注,得到原始数据集。标注完成后,为扩大原始数据集中的数据量,运用数据增强技术在原始数据集上扩充数据集,得到最终训练用的数据集。

步骤二、以步骤一中建立的最终数据集为基础,采用K均值聚类方法生成锚框,利用K均值聚类算法对车牌数据集中所有目标框进行聚类,进而发现数据集中目标框的统计规律,最后根据这些统计规律去生成锚框。

在这种方法中,聚类中心个数k等于数据集对应的锚框数。也就是说如果我们要为车牌数据集设定k个锚框,那么K均值聚类算法的聚类中心个数也等于 k。另外在这个聚类任务中,如果使用传统的欧式距离进行聚类,会导致大尺度锚框的位置误差远大于小尺度锚框的位置误差。而我们最终希望的是通过聚类得到的锚框和车牌数据集中的目标框有尽可能大的IOU值,故而本发明采用以下的距离度量:

d(box,centroid)=1-IOU(box,centroid)

其中,box表示数据集中的目标框,centroid表示聚类中心对应的边界框, IOU(box,centroid)表示聚类中心对应的边界框和数据集中的目标框的交并比。

取k=9对车牌数据集进行聚类,最终得到9个新的更符合本发明数据集的锚框,即给出锚框的位置信息,即宽度pw、高度ph,并使用这些锚框去训练模型。

步骤三、建立计算量小、权重参数数量少的高效深度神经网络结构;

(3a)引入一种新的卷积方法,即分离卷积

分离卷积算法过程如下:假设该卷积层的输入为Df×Df×M维度的矩阵 X=(X1,X2...XM)。对该矩阵X进行分离卷积运算相当于分为2个步骤执行。

第一步,将输入矩阵X=(X1,X2...XM)与卷积核Y=(Y1,Y2...YM)对应做卷积运算,得到输出特征矩阵G=(G1,G2...GM)。

Gj=Xj*Yj

其中Xj是尺寸为Df×Df二维矩阵,Yj是尺寸为DK×DK的二维卷积核,Gj是输出的平面二维特征矩阵,尺寸仍为Df×Df。

也就是说,一个卷积核Yj只负责对输入的一个通道Xj进行卷积,得到M个通道特征图Gj。

第二步,将上一步得到的输出特征矩阵G=(G1,G2...GM)与C个卷积核做卷积运算,得到最终输出特征图P=(P1,P2,...,PC)。

其中Gj是输出的平面二维特征矩阵,尺寸仍为Df×Df,是尺寸为1×1的二维卷积核,Pd是最终输出特征图,尺寸为Df×Df,*表示卷积运算。

(3b)根据分离卷积方法,本发明构建了一个新的特征提取网络,针对车牌检测这一特定任务。该网络模型包含27个卷积层,其中包含14个标准卷积层和13个分离卷积层。

每个卷积层包含3个操作:

第一步:进行卷积运算,利用标准卷积方法或者分离卷积方法;

第二步:将上一步得到的卷积结果进行批量归一化处理,将数据全部归一化为[0,1]之间,有利于加快训练速度;

第三步:经过激活函数Relu,将非线性特性引入到本发明的网络中,这样会保证输入输出之间是非线性映射关系,而不是简单的线性组合的关系,从而能够保证网络的学习能力。

特征提取模块的输入是一张RGB图片,这张图片可以表示为a×a×3的矩阵形式,其中a为图片的宽度和高度,输出为三个特征矩阵,这三个特征矩阵的维度分别为10×10、20×20和40×40,其中40×40的特征矩阵中每一个神经元的感受野是最小的,可以负责检测原始输入图像中的小车牌目标,同理, 10×10的特征矩阵中每一个神经元的感受野是最大的,可以负责检测原始输入图像中的大车牌目标。这样进行多尺度预测,可以避免小目标车牌漏检的情况。

如图2所示,特征提取模块的输入为大小为320×320×3的图片,通过第一层标准卷积层C1,卷积核的大小为3×3,个数为32,步长为2,第一卷积层 C1输出的特征图为160×160×32。

然后进入第二层分离卷积层C2,卷积核的大小为3×3,个数为32,步长为1,第二卷积层C2输出的特征图为160×160×32。

然后进入第三层标准卷积层C3,卷积核的大小为1×1,个数为64,步长为 1,第三卷积层C3输出的特征图为160×160×64。

然后进入第四层分离卷积层C4,卷积核的大小为3×3,个数为64,步长为2,第四卷积层C4输出的特征图为80×80×64。

然后相继进入第五层标准卷积层C5、第六层分离卷积层C6、第七层标准卷积层C7,卷积核的大小依次为1×1、3×3、1×1,个数为128,步长为1,最终C7输出的特征图为80×80×128。

然后进入第八层分离卷积层C8,卷积核的大小为3×3,个数为128,步长为2,第八卷积层C8输出的特征图为40×40×128。

然后相继进入第九层标准卷积层C9、第十层分离卷积层C10、第十一层标准卷积层C11,卷积核的大小依次为1×1、3×3、1×1,个数为256,步长为1,最终C11输出的特征图为40×40×256。C11层的输出特征图会再输入到后续的网络结构中继续处理。

然后进入第十二层分离卷积层C12,卷积核的大小为3×3,个数为256,步长为2,第十二卷积层C12输出的特征图为20×20×256。

然后进入第十三层标准卷积层C13,卷积核的大小为1×1,个数为512,步长为1,第十三卷积层C13输出的特征图为20×20×512。

然后进入C14-C23层,C14为分离卷积层C15为标准卷积层,卷积核的大小依次为3×3、1×1,个数为512,步长为1,循环5次,共十层,最终C23 层的输出的特征图为20×20×512。C23层的输出特征图输入到后续的网络结构中继续处理。

然后进入第二十四层分离卷积层C24,卷积核的大小为3×3,个数为512,步长为2,第二十四卷积层C24输出的特征图为10×10×512。

然后相继进入第二十五层标准卷积层C25、第二十六层分离卷积层C26、第二十七层标准卷积层C27,卷积核的大小依次为1×1、3×3、1×1,个数为1024,步长为1,最终C27输出的特征图为10×10×1024。C27层的输出特征图输入到后续的网络结构中继续处理。

C27层输出的特征图会在后续网络中输入到检测模块1中处理。如图3所示进入检测模块1后,会将C27层输出的特征图分为左、中、右三条支路进行处理:左路经过三层卷积层LC11、LC12、LC13),中路也经过三层卷积层 (MC11、MC12、MC13。其中LC11、LC12、LC13层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,LC′3层的输出为10×10×512;MC11、MC12、MC13层的卷积核大小分别为1×1、1×3、 3×1,个数分别为256、512、512,步长均为1,MC13层的输出为10×10×512。然后将LC13与MC13层的输出特征图中的元素对应相加,将相加后的结果经过一层标准卷积层C14,卷积核的大小为1×1,个数为256,步长为1,C14层的输出为10×10×256。右路经过一层卷积层RC11,卷积核的大小为1×1,个数为256,步长为1,RC11的输出为10×10×256,然后经过“拼接层”EC1层,将RC11与C14两层的输出合并为一个特征图,EC1层的输出为 10×10×512。

经过检测模块1后,EC1层的输出会分为两路处理,其中一路经过两层标准卷积层C15、C16,卷积核的大小均为1×1,个数分别为512、18,步长均为 1,C16层的输出为10×10×18。C16层的输出即为网络输出特征图1。另外一路会经过标准卷积层C17,卷积核的大小为1×1,个数分别为256,步长均为1, C17层的输出为10×10×256。后经过“上采样”层Up1,放大尺寸两倍,Up1 的输出为20×20×256,后经过“拼接层”EC1层,将Up1层与C23层的输出合并,EC1层的输出为20×20×768。

EC1层输出的特征图输入到检测模块2中处理。进入检测模块2后,将EC1 层输出的特征图分为左、中、右三条支路进行处理:左路经过三层卷积层LC21、 LC22、LC23,中路也经过三层卷积层MC21、MC22、MC23。其中LC21、LC22、LC23层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、 512,步长均为1,LC23层的输出为20×20×512;MC21、MC22、MC23 层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,MC23层的输出为20×20×512。然后将LC23与MC23层的输出特征图中的元素对应相加,将相加后的结果经过一层标准卷积层C24,卷积核的大小为1×1,个数为256,步长为1,C24层的输出为20×20×256。右路经过一层卷积层RC21,卷积核的大小为1×1,个数为256,步长为1,RC21的输出为20×20×256,然后经过“拼接层”EC2层,将RC21与C24两层的输出合并为一个特征图,EC2层的输出为20×20×512。

EC2层的输出也会分为两路处理,其中一路经过两层标准卷积层C25、 C26,卷积核的大小均为1×1,个数分别为512、18,步长均为1,C26层的输出为20×20×18。C26层的输出即为网络输出特征图2。另外一路会经过标准卷积层C27,卷积核的大小为1×1,个数分别为128,步长均为1,C27层的输出为20×20×128。后经过“上采样”层Up2,放大尺寸两倍,Up2的输出为 40×40×128,后经过“拼接层”EC2层,将Up2层与C11层的输出合并, EC2层的输出为40×40×384。

EC2层输出的特征图输入到检测模块3中处理。进入检测模块3后,会将 EC2层输出的特征图分为左、中、右三条支路进行处理:左路经过三层卷积层 LC31、LC32、LC33,中路也经过三层卷积层MC31、MC32、MC33。其中LC31、LC32、LC33层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,LC33层的输出为40×40×512;MC31、MC32、 MC33层的卷积核大小分别为1×1、1×3、3×1,个数分别为256、512、512,步长均为1,MC33层的输出为40×40×512。然后将LC33与MC33层的输出特征图中的元素对应相加,将相加后的结果经过一层标准卷积层C34,卷积核的大小为1×1,个数为256,步长为1,C34层的输出为40×40×256。右路经过一层卷积层RC31,卷积核的大小为1×1,个数为256,步长为1,RC31 的输出为40×40×256,然后经过“拼接层”EC3层,将RC31与C34两层的输出合并为一个特征图,EC3层的输出为40×40×512。

检测模块3的输出会经过两层标准卷积层C35、C36,卷积核的大小均为 1×1,个数分别为512、18,步长均为1,C36层的输出为40×40×18。C36 层的输出即为网络输出特征图3。

整个网络结构如图4所示,网络的输出为3张特征图,维度分别是 10×10×18、20×20×18、40×40×18,其中10×10×18特征图共包含1800个参数,代表了网络将原输入图片分割成了100个网格,每个网格会预测三个预测框,每一个预测框对应了6个参数。这六个参数分别是预测框的4个坐标信息txi,tyi,twi,thi、预测置信度和类别概率其中(txi、tyi)表示第i个预测框中心点的坐标参数值,(twi、thi)表示第i个预测框宽和高的参数值,预测置信度表示第i个预测框包含目标的概率,类别概率为多维向量,表示了第i 个预测框的目标是某一类别的概率。需要注意的一点是,txi,tyi,twi,thi这四个参数是相对位置坐标,需要转化为最终在原始图片中的实际坐标。转换的公式如下:

其中,txi,tyi,twi,thi是预测的相对坐标值,pw、ph表示预测框对应锚框的宽度以及高度,cx、cy表示预测框相对图片左上角位置坐标的偏移量,表示预测框中心点实际坐标,表示预测框的实际宽度以及实际高度。

步骤四、利用步骤一得到的最终数据集对上述模型进行训练;

(1)网络随机初始化权值,使初始化的值服从高斯正态分布。

(2)输入数据经过本发明步骤三中的网络结构向前传播得到输出值为特征图1、特征图2、特征图3,并利用特征图信息得到预测边框的信息

(3)将数据集中标注出的真实框与聚类得到的锚框进行匹配:计算出真实框所在的中心点,筛选出此中心点对应的锚框,选取与真实框有最大IOU值的锚框作为目标框,并将该真实框的坐标值信息赋给目标框,即得到目标框的坐标值(xi,yi,wi,hi),并将目标框的类别值Pi设置为1,置信度值Ci设置为1,其余未标记的锚框的参数值均设置为0。

(4)利用本发明提出的损失函数,求出网络预测框的输出值与真实边界框的目标值之间的误差损失,该损失函数包含位置损失、置信度损失和类别损失。

位置损失分为中心损失和尺度损失。中心损失用于评估网络预测框中心和实际物体的标注框的中心间的误差;尺度损失则用于评估网络预测框高度与宽度和实际物体标注框高度与宽度间的误差,具体如下:

center_loss=x_loss+y_loss

其中,N表示网络预测框的总数,liobj表示第i个预测框中是否存在目标,若存在,liobj=1,否则为0;(xi,yi)表示目标所在第i个标注框真实中心位置,表示第i个预测框的中心位置,(wi,hi)目标所在第i个标注框真实宽度和高度,表示第i个预测框的宽度和高度,α用于调整尺度损失在所有损失中所占据的比例。

置信度损失用于评估预测框对应的置信度和实际物体标注框对应的置信度之间的误差。置信度损失使用的函数为二值交叉熵函数,具体如下:

confidence_loss=obj_loss+noobj_loss

其中,Ci表示目标所在第i个标注框真实置信度,表示第i个预测框的置信度。

类别损失评估网络预测框对应的类别和实际物体对应的类别之间的误差,具体如下所示:

其中,pi表示目标所在第i个标注框中物体的类别的概率,表示第i个预测框物体的类别概率。

总损失函数为:

loss=center_loss+size_loss+confidence_loss+cls_loss

(5)利用Adam优化算法进行权值更新,直到迭代次数>epoch时,结束训练。

步骤五、利用已训练好的模型进行车牌检测,并采用YOLOv3作为对比算法对本模型进行评估。本发明中,检测过程采用IOU=0.8时的检测准确率、权重文件大小和检测时间作为算法性能的度量指标,如果算法对某张图片的预测矩形框和该图片的真实矩形框间的交并比大于0.8,那么就认为算法对该图片检测成功,其次,在检测准确率没有大幅降低的情况下,权重文件越小,检测时间越少,则认为算法性能越强。

前述步骤中,N表示网络预测框的总数,其中N=6300,i=1,2,...,N表示预测框的标号。M表示分离卷积中假设的输入向量的通道个数,j=1,2,...,M。C 表示分离卷积第二步中卷积核的个数,d=1,2,...,C。

针对YOLOv3网络模型中的参数过多导致的权重文件过大;检测速度降低;对检测硬件设备的要求过高等问题。本发明针对于车牌这单一的类别,基于深度卷积神经网络,从特征提取网络与检测网络两方面入手,提出了一种全新的卷积方法,减轻了原本网络参数数量,构建了一种高效轻量的网络结构。

下面结合仿真实例对该发明做进一步的描述。

仿真实例:

本发明采用YOLOv3作为对比算法,将YOLOv3算法与本发明提出的网络模型在检测准确率、权重文件大小和检测时间三方面做性能对比。测试过程中场景的变化因素主要包括光照、车牌区域污染、车牌旋转以及天气干扰等。

附表1给出了本发明所用各种算法性能对比。综合比较检测准确率、权重文件大小以及检测时间,本发明提出的网络模型性能最优,在检测准确率下降 0.6%的基础上,将权重文件减小了78.3%,将检测时间减少了28.2%。

图7为部分检测结果图,表示正常条件下、弱光照下和强光照条件下的车牌检测结果对比图。从结果图中可以看出,在检测精度上,YOLOv3算法与本发明算法的相差不大。

综上仿真实验表明,本发明提出的高效深度卷积神经网络的车牌检测算法可以完成各种复杂环境中车牌检测任务,与YOLOv3相比,网络参数少,权重文件小,检测速度更加迅速。故而可以降低其检测硬件设备要求,应用到更多现实场景中。

以上所述,仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

本文发布于:2024-09-24 10:14:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/84866.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议