一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于CRNN网络模型的车辆VIN码识别方法与流程

2022-03-26 14:04:14 来源:中国专利 TAG:

一种基于crnn网络模型的车辆vin码识别方法
技术领域
1.本发明涉及vin码识别领域,具体涉及一种基于crnn网络模型的车辆vin码识别方法。


背景技术:

2.车辆vin码相当于车辆生产过程中的“身份证号码”,需要在每个生产环节进行实时查验,如果在每个生产环节前依赖人工查验,需要耗费极大的人力资源,因此需要一种自动识别车架钢印号的方法。但是由于车辆生产线环境复杂,采集到的vin码图像存在对比度差、噪声多、字符局部残缺等问题,目前基于图像的单字符识别技术(ocr技术)识别率低,无法满足要求。
3.相比于传统的ocr技术,crnn深度学习网络模型不需要字符分割的过程,其采用时序预测的方式,进行字符整体识别,可以很好地学习字符前后的顺序信息,而不是单独的去预测一个毫无关联的字符。车辆vin码共有17位字符,其中,对于同一车型而言,如图1所示,前面的字符ls5a3dke_ma是固定,只有后六位数字和dke_ma中间的数字部分是变化的,因此crnn网络模型学习字符的前后信息可以有效提高算法的鲁棒性,避免某个字符因为涂抹、遮挡、过曝、过暗等原因造成的识别问题,具有较高的鲁棒性和准确率。但是,由于车辆vin码的样本数据库需要实际采集车辆信息,若要收集全面的样本数据库,需要等待数百万辆车辆加工,不满足工业生产高节拍的要求,因此,现有的vin码的样本数据库中仅包含多款车型最先被生产的前几百或几千辆车辆的vin码,而vin码后六位数字是累加记数的,这样就会出现:数据库中的vin码,在第12~14位的数字字符不发生改变;所以当新产出的车辆的vin码在第12~14位字符数字发送变化时(与数据库中的数字不一致),crnn网络模型会出现识别错误,这就使得现有的crnn网络模型识别准确率仅维持在20%左右。


技术实现要素:

4.为了解决上述技术问题,本发明提供一种基于crnn网络模型的车辆vin码识别方法,crnn网络模型由三个模块构成,分别是cnn、rnn和ctc;本方法在现有crnn网络模型基础上,对rnn网络进行了优化,使得crnn网络模型可以在数据库样本不充足的情况下,完成识别任务,对车辆vin码识别准确率达到99.9%。
5.技术方案如下:
6.一种基于crnn网络模型的车辆vin码识别方法,包括以下步骤:
7.步骤一、采集多台车辆vin码图像,获取字符区域,对字符区域图像进行标注,再对字符区域图像进行预处理,改变字符的灰度和/或比例,增加样本的多样性,形成vin码的数据库,将数据库分成训练库和测试库;
8.将数据库中vin码不发生改变的一位或多位数字字符标记为疑难字符,其他数字字符记为普通数字字符;
9.步骤二、从训练库中随机选取的单张或多张字符区域图像输入crnn网络模型中,
对每张图像进行以下处理:
10.1)图像经过cnn网络模型处理,输出n列特征向量;
11.将疑难字符所对应的各个特征向量存储到向量集合i;
12.从普通数字字符中任取m个普通数字字符,将其对应的各个特征向量依次存储到向量集合ii;其中,m为疑难字符的数量;
13.2)将n列特征向量序列依次输入到rnn网络模型,获取隐藏层信息,进行标签信息概率预测,挑选属于向量集合ii的特征向量,则将其对应的隐藏层信息存储为过渡信息;
14.当n列特征向量均在rnn网络模型中完成标签信息概率预测后,输出概率矩阵;
15.将向量集合i中的各个特征向量再次依次输入到rnn网络模型,在此过程中,所述过渡信息按照被存储时的次序依次调取、与单列特征向量输入时对应的隐藏层信息拼接;
16.利用拼接后的各隐藏层信息对应处理向量集合i中各特征向量的标签概率预测信息;
17.更新所述概率矩阵中的对应信息,形成新的概率矩阵;
18.3)将新的概率矩阵输入到ctc转录网络模型,获得字符区域图像最终的预测结果;对ctc转录网络模型损失函数进行计算,获得loss值;通过反向传播优化crnn网络模型;
19.步骤三、循环执行步骤二;直到crnn网络模型的loss值收敛,或者,利用优化后的crnn网络模型处理测试库中字符区域图像时,输出的准确率满足要求,crnn网络模型训练结束;
20.利用训练后的crnn网络模型识别车辆vin码。
21.进一步,步骤2)中,rnn网络模型具体为双向长短期记忆循环神经网络bilstm网络模型;
22.将n列特征向量序列依次输入到bilstm网络模型,若当前输入的特征向量属于向量集合ii,则将其对应的隐藏层信息存储为过渡信息;当bilstm接收到特征向量时,bilstm网络模型调取上一特征向量对应的隐藏层信息,再与特征向量输入时对应的隐藏层信息拼接,通过非线性函数,对当前特征向量进行标签信息概率预测;
23.当n列特征向量均在rnn网络模型中完成标签信息概率预测后,输出概率矩阵;
24.将向量集合i中的各个特征向量再次依次输入到bilstm网络模型,在此过程中,当bilstm接收到特征向量时,bilstm网络模型依次调取过渡信息,并与单列特征向量输入时对应的隐藏层信息拼接,利用拼接后的各隐藏层信息对应处理向量集合i中各特征向量的标签概率预测信息;
25.更新所述概率矩阵中的对应信息,形成新的概率矩阵。
26.进一步,步骤1)中,图像经过cnn网络模型处理后,图像的长度被缩放为4的倍数,所述图像长度为字符水平方向的尺寸;
27.其中,n=图像长度/4。
28.进一步,所述疑难字符为:vin码中第12~14位数字字符中的全部字符或前两位字符;
29.从第15~17位数字字符中任取m个普通数字字符,将其对应的各个特征向量依次存储到向量集合ii。
30.进一步,当数据库中包含上百台车辆vin码图像时,将vin码中第12~14位数字字
符均记为疑难字符;m=3;
31.当数据库中包含上千台车辆vin码图像时,将vin码中第12、13位数字字符记为疑难字符;m=2。
32.进一步,步骤一、采集多台车辆vin码图像,获取字符区域,将每一张字符区域图像里面标签写入txt文件,对字符区域图像进行标注;
33.对所述数据库中每一张字符区域图像进行预处理,改变字符的灰度和/或比例,增加样本的多样性,所述预处理包括:变换对比度、亮度以及长度拉伸。
34.进一步,单个列特征向量通过图像中的局部列像素生成,所述局部列像素为字符竖直方向的局部像素;单个字符对应多个局部列像素。
35.本方法将vin码的样本数据库中保持不变的字符(第12~14位字符数字中前两位/三位数字)记为疑难字符,将其对应的特征向量进行特殊存储,相应的,从其他数字字符的特征向量中选取数量一致的特征向量也进行特殊存储,在rnn网络计算处理时,对疑难字符特征向量进行再处理,利用其他数字字符的正常隐藏层信息、更新对疑难字符的概率预测,提高输出概率矩阵的准确性,进而提高网络模型的识别准确性。
附图说明
36.图1为同一款车型的vin码字符区域图像示意图;
37.图2为crnn网络模型结构示意图;
38.图3为局部放大的vin码列像素示意图;
39.图4为rnn网络模型处理向量集合i中各特征向量的示意图;
40.图5为其他款车型的vin码字符区域图像示意图。
具体实施方式
41.以下结合附图和具体实施方式对本发明的技术方案进行详细描述。
42.一种基于crnn网络模型的车辆vin码识别方法,包括以下步骤:
43.步骤一、采集多台车辆vin码图像,获取字符区域,对字符区域图像进行标注,再对字符区域图像进行预处理,改变字符的灰度和/或比例,增加样本的多样性,形成vin码的数据库,将数据库分成训练库和测试库;
44.具体的,将每一张字符区域图像里面标签写入txt文件,对字符区域图像进行标注;预处理包括:变换对比度、亮度以及长度拉伸。
45.为了提高识别效率,具体实施时,可以准备识别字典,遍历所述数据库中的每一个txt文件中的每一个字符,将其添加至原始识别字典中,确保每一个数据库中的每一个字符均可以被识别,经去重处理后,得到识别字典;所述识别字典大小为36字符,包括26个英文字母和10个数字字符;
46.如图1或图5所示,将数据库中vin码不发生改变的一位或多位数字字符标记为疑难字符,其他数字字符记为普通数字字符;
47.步骤二、从训练库中随机选取的单张或多张字符区域图像输入crnn网络模型中,对每张图像进行以下处理:
48.1)图像经过cnn网络模型处理,输出n列特征向量;
49.其中,图像经过cnn网络模型处理后,图像的长度被缩放为4的倍数,图像长度为字符水平方向的尺寸;n=图像长度/4。
50.本实施例中,将数据库中每一张字符区域图像处理为单通道灰度图;再将单通道灰度图的强制缩放到高度32像素、长度320个像素。
51.如图3所示,单个列特征向量通过图像中的局部列像素生成,局部列像素为字符竖直方向的局部像素;单个字符对应多个局部列像素。
52.将疑难字符所对应的各个特征向量存储到向量集合i;
53.从普通数字字符中任取m个普通数字字符,将其对应的各个特征向量依次存储到向量集合ii;其中,m为疑难字符的数量;
54.具体实施时,疑难字符为:vin码中第12~14位数字字符中的全部字符或前两位字符;
55.从第15~17位数字字符中任取m个普通数字字符,将其对应的各个特征向量依次存储到向量集合ii。
56.当数据库中包含上百台车辆vin码图像时,将vin码中第12~14位数字字符均记为疑难字符;m=3;
57.当数据库中包含上千台车辆vin码图像时,将vin码中第12、13位数字字符记为疑难字符;m=2。
58.2)如图2所示,将n列特征向量x={x1,x2,

,x
80
}序列依次输入到rnn网络模型,获取隐藏层信息,进行标签信息概率预测,挑选属于向量集合ii的特征向量,则将其对应的隐藏层信息存储为过渡信息;
59.当n列特征向量均在rnn网络模型中完成标签信息概率预测后,输出概率矩阵y={y1,y2,

,y
80
};
60.如图4所示,将向量集合i中的各个特征向量再次依次输入到rnn网络模型,在此过程中,过渡信息按照被存储时的次序依次调取、与单列特征向量输入时对应的隐藏层信息拼接;
61.利用拼接后的各隐藏层信息对应处理向量集合i中各特征向量的标签概率预测信息;
62.更新概率矩阵中的对应信息,形成新的概率矩阵;
63.具体的,本实施例中,将vin码中第12、13位数字字符记为疑难字符,m=2,对应的各个特征向量依次存储到向量集合i:x={x
51
,x
52
,

,x
60
}。
64.而后面的4个数字字符可以完成正常的预测,因此,将第16、17位普通数字字符,对应的各个特征向量依次存储到向量集合ii:x={x
71
,x
72
,

,x
80
}。
65.因此,将g={g
71
,g
72
,

,g
80
}的隐藏层信息(隐层节点)用一一对应的方式拼接、累加到g={g
51
,g
52
,

,g
60
}的隐藏层信息(隐层节点)当中,即g
t
=rnn(x
t
) g
t 20
。利用拼接后的各隐藏层信息对应处理向量集合i中各特征向量,更新y={y
51
,y
52
,

,y
60
}的结果。
66.3)将新的概率矩阵输入到ctc转录网络模型,获得字符区域图像最终的预测结果;对ctc转录网络模型损失函数进行计算,获得loss值;通过反向传播优化crnn网络模型;
67.步骤三、循环执行步骤二;直到crnn网络模型的loss值收敛,或者,利用优化后的crnn网络模型处理测试库中字符区域图像时,输出的准确率满足要求,crnn网络模型训练
结束;
68.利用训练后的crnn网络模型识别车辆vin码。
69.更具体的,步骤2)中,rnn网络模型具体为双向长短期记忆循环神经网络bilstm网络模型;
70.将n列特征向量序列依次输入到bilstm网络模型,若当前输入的特征向量属于向量集合ii,则将其对应的隐藏层信息存储为过渡信息;当bilstm接收到特征向量时,bilstm网络模型调取上一特征向量对应的隐藏层信息,再与特征向量输入时对应的隐藏层信息拼接,通过非线性函数,对当前特征向量进行标签信息概率预测;
71.当n列特征向量均在rnn网络模型中完成标签信息概率预测后,输出概率矩阵;
72.将向量集合i中的各个特征向量再次依次输入到bilstm网络模型,在此过程中,当bilstm接收到特征向量时,bilstm网络模型依次调取过渡信息,并与单列特征向量输入时对应的隐藏层信息拼接,利用拼接后的各隐藏层信息对应处理向量集合i中各特征向量的标签概率预测信息;
73.更新概率矩阵中的对应信息,形成新的概率矩阵。
74.本方法在rnn网络计算处理时,对疑难字符特征向量进行再处理,利用其他数字字符的正常隐藏层信息、更新对疑难字符的概率预测,提高输出概率矩阵的准确性,进而提高网络模型的识别准确性。
75.前面对本发明具体示例性实施方案所呈现的描述是出于说明和描述的目的。前面的描述并不想要成为毫无遗漏的,也不是想要把本发明限制为所公开的精确形式,显然,根据上述教导很多改变和变化都是可能的。选择示例性实施方案并进行描述是为了解释本发明的特定原理及其实际应用,从而使得本领域的其它技术人员能够实现并利用本发明的各种示例性实施方案及其不同选择形式和修改形式。本发明的范围旨在由所附权利要求书及其等价形式所限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献