利索能及
我要发布
收藏
专利号: 2020102256499
申请人: 西安电子科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-04
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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。