基于改进神经网络的火车票号识别的方法及算法

文档序号:29226718发布日期:2022-03-12 13:10阅读:238来源:国知局
基于改进神经网络的火车票号识别的方法及算法

1.本发明涉及火车票领域,基体涉及基于改进神经网络的火车票号识别的方法及算法。


背景技术:

2.目前国内火车站已全面实现购票实名制验证和上车前火车票机器验票,然而火车票机器验票仅可以验证该票的合法性,持票人是否与身份证和票相符,则要通过人工方法才能进行确认,浪费大量人力成本,同时具有劳动强度高和识别率低的缺点。随着图像识别技术的发展,基于图像识别应用已日益广泛。常见的包括支持向量机模型、高斯混合模型、基于纹理特征等图像识别和特征提取算法,但由于技术复杂、环境多变等因素,传统的支持向量机的图像分类技术识别准确率不到50%。而部分学者研究将卷积神经网络结合推荐方法相完成图像特征提取,准确度有提升但性能下降明显。如何将图像识别技术的算法进行改进提升识别的正确率的同时也不影响性能,成为研究热点所在点。
3.中国专利公开了(申请号为:202010211320.7,申请公布号为:cn111340035a)一种火车票识别方法、系统、设备以及存储介质,公开的技术特征为:获取待识别的火车票的图像;根据所述火车票的各种信息的位置,获取所述图像中的多个信息区域,并利用分类网络获取所述图像中的多个文本框;利用第一识别网络对每一个所述信息区域中的每一个字符分别进行识别以得到第一识别结果,并利用第二识别网络对每一个所述文本框中的所有字符进行整体识别以得到第二识别结果;对所述第一识别结果和所述第二识别结果进行置信度对比以得到组合识别结果。
4.参考上述公开的中国专利一种火车票识别方法、系统、设备以及存储介质,发现以下缺陷:同一时间对不同的信息区域进行识别,没有精准性区域细化分析,不能保证识别的精度,同时整个流程效率不高。


技术实现要素:

5.本发明目的是针对上述不足之处,提供一种识别精度号,算法简单可高并且提高识别效率的基于改进神经网络的火车票号识别的方法及算法。
6.本发明是这样实现的:基于改进神经网络的火车票号识别方法,其特征在于:
7.s1,读取火车票图片:结合火车票的图像特征,根据火车票的二维码所在位置能够精确地进行火车票定位;
8.s2,二维码区域二值化:将二维码图像进行二值化处理;
9.s3,定位二维码角点:通过寻找轮廓的方法,寻找图形中的闭合的正方形轮廓,进行筛选,筛选出符合周长相等面积相似的轮廓,定位为角点;
10.s4,图像倾斜校正:对图像进行倾斜校正;
11.s5,确定身份证号码字符位置:利用二维码角点的位置,运用局部自适应阈值分割火车票票面的身份证号的矩形区域;
12.s6,基于轮廓的字符提取:在身份证号码区域内,进行轮廓检测,根据检测到的轮廓,得到每一个轮廓的外接矩形;针对得到的轮廓矩形图形中的水平交叉点、垂直交叉点以及对角交叉点的特征项进行提取;
13.s7,基于身份证号码排列特征的字符筛选;
14.s8,基于神经网络的字符识别:采用粒子群算法与神经网络算法相结合,建立改进的神经网络模型,然后利用经过训练的神经网络模型对字符进行识别。
15.所述二值化采用基于熵的图像二值化方法,对图像中的每一个灰度级分别求熵,选取使熵最大的灰度级作为分割图像的阈值。
16.所述s2步骤中的二值化,采用基于熵的图像二值化方法,对图像中的每一个灰度级分别求熵,选取使熵最大的灰度级作为分割图像的阈值。
17.所述s4图像倾斜校正的方法如下:
18.当二维码水平倾斜时,二维码字符自身无错切,只是二维码与x轴成一定角度α,求出α,之后旋转-α就可以完成二维码校正;
19.当二维码垂直倾斜时,二维码区域同一行间像素存在错位偏移,计算出错位偏移β之后校正;
20.当二维码混合倾斜时,先进行水平校正,之后垂直校正,所述水平校正、垂直校正的方法同上。
21.所述s5确定身份证号码字符位置的方法如下:
22.s5-1,识别身份证号码所在区域
23.身份证号码所在区域用矩形rect((l
x
,ly),(r
x
,ry))进行表示,其中,(l
x
,ly)为矩形的左上角坐标,(r
x
,ry)为矩形的右下角坐标,矩形顶点坐标采用公式(1)计算:
[0024][0025]
式中,δl
x
=300pixs,δly=10pixs,δr
x
=50pixs,δry=40pixs;
[0026]
s5-2分割单个身份证号所在的矩形区域;
[0027]
采用局部自适应阈值分割火车票票面的身份证号码。
[0028]
所述s6中基于轮廓的字符提取方法如下:
[0029]
对特征字符进行提取,针对字符中的水平交叉点、垂直交叉点以及对角交叉点的特征项进行提取,提取的特征项feature使用公式(2):
[0030]
feature=[f1,f2,f3,f4,f5,f6,f7,f8,f9]
ꢀꢀ
(2)
[0031]
公式中,f1、f2、f3分别代表了垂直5/12点位、垂直1/2点位以及7/1交叉点位对应的点数;f4、f5、f6分别代表了水平1/3点位、水平1/2点位以及水平2/3点位的对应点数;f7、f8、f9分别代表了左右两侧的对角线所对应的交点数和端点数。
[0032]
所述s8中,采用粒子群算法与神经网络算法相结合建立改进的神经网络模型的方法如下:
[0033]
所述神经网络为bp神经网络,包括输入层、输出层以及隐含层三层结构;
[0034]
提取火车票号的9个特征,因此bp模型参数设置为:输入神经神经元数量n1=9、根据kolmogorov定理,隐含层神经元数量n2=2n1+1,则隐含层神经元数量n2=19和输出神经元数量n3=1;
[0035]
使用公式(3)获取bp隐含层的输出:
[0036][0037]
公式(3)中,ε代表了神经网络输出层的阈值;f代表网络采用的激励函数;cj代表了隐含层到输出层各个神经元的连接权重;bj代表了隐含层的输出单元;基于公式(3)并引入公式(2)后,获得公式(4)所代表的的隐含层神经元的输出为:
[0038][0039]
公式(4)中,θj和ω
ij
分别代表了隐含层的阈值和隐层与输出层之间的连接权重值;
[0040]
采用粒子群算法与神经网络算法结合,获得神经网络的最优隐含层阈值或输出层的连接权重值;
[0041]
所述粒子群算法中的粒子位置、离职变化速度计算公式如(5)、(6)所示:
[0042]vid
(t+1)=v
id
(t)+c1rand1*(p
pid-x
id
(t))+c2rand2*(p
gd-x
id
(t))
ꢀꢀ
(5)
[0043]
x
id
(t+1)=x
id
(t)+v
id
(t+1)
ꢀꢀ
(6)
[0044]
在公式(5)、(6)中,使用rand1、rand2标识随机数,其值在0到1的范围内;c1和c2代表了种群的学习因子;v
id
(t)标识x
id
(t)在t时刻下的第i个粒子的移动速度和所对应的位置;
[0045]
采用粒子群算法与神经网络算法相结合,将粒子群算法获得的最优值应用于神经网络算法,具体的实用度函数如公式(7)所示:
[0046][0047]
公式(7)中,n代表训练样本总数,m代表神经网络的输出神经元总数,yi代表粒子的最佳输出值,yk为粒子实际输出值
[0048]
本发明的有益效果:1、采用对图像和字符分开识别和验证的方法,有效提高识别的精度,从多个方面验证识别结果的准确率。
[0049]
2、根据鸟类通过群体作业获得最佳觅食路径的原理和bp神经网络算法结合,改善bp神经网络算法收敛速度慢,出现局部最优解的问题,提高整个算法的速度,进一步实现识别算法的精确度。
附图说明
[0050]
图1为本发明的流程结构图。
[0051]
图2为二维码的分割效果图。
[0052]
图3为二维码倾斜方式验证图。
[0053]
图4为二维码校正结果。
[0054]
图5为身份证号码分割结果图。
[0055]
图6为预处理和特征提取结果示意图。
[0056]
图7为bp神经网络的结构图。
[0057]
图8为10-折交叉验证示意图。
[0058]
图9为bp神经网络识别精度示意图。
具体实施方式
[0059]
以下结合附图对本发明进一步进行阐述。
[0060]
如图1所示,基于改进神经网络的火车票号识别方法,其特征在于:
[0061]
s1,读取火车票图片:结合火车票的图像特征,根据火车票的二维码所在位置能够精确地进行火车票定位;
[0062]
s2,二维码区域二值化:将二维码图像进行二值化处理;
[0063]
s3,定位二维码角点:通过寻找轮廓的方法,寻找图形中的闭合的正方形轮廓,进行筛选,筛选出符合周长相等面积相似的轮廓,定位为角点;
[0064]
s4,图像倾斜校正:对图像进行倾斜校正;
[0065]
s5,确定身份证号码字符位置:利用二维码角点的位置,运用局部自适应阈值分割火车票票面的身份证号的矩形区域;
[0066]
s6,基于轮廓的字符提取:在身份证号码区域内,进行轮廓检测,根据检测到的轮廓,得到每一个轮廓的外接矩形;针对得到的轮廓矩形图形中的水平交叉点、垂直交叉点以及对角交叉点的特征项进行提取;
[0067]
s7,基于身份证号码排列特征的字符筛选;
[0068]
s8,基于神经网络的字符识别:采用粒子群算法与神经网络算法相结合,建立改进的神经网络模型,然后利用经过训练的神经网络模型对字符进行识别。
[0069]
二值化就是将图像灰度变成0和255的过程,主要目的是将图像分为目标和背景,消除图像中不必要的灰度信息,加快图像处理速度;通常图像二值化方法主要有局部阈值法和全局阈值法,但二者可能损失图像的许多信息,为了控制火车票图像信息的损失,本发明运用基于熵的图像二值化方法,二维码分割效果如图2所示。
[0070]
对图像进行倾斜校正;一般地,倾斜的二维码图像可以被看成一个近似的平行四边形,倾斜方式包括水平倾斜、垂直倾斜和混合倾斜,如图3所示。
[0071]
进一步,当二维码水平倾斜时,二维码字符自身无错切,只是二维码与x轴成一定角度α,求出α,之后旋转-α就可以完成二维码校正;
[0072]
二维码垂直倾斜时,二维码区域同一行间像素存在错位偏移,计算出错位偏移β之后校正;二维码混合倾斜时,先进行水平校正,之后垂直校正。二维码校正结果如图4所示。
[0073]
确定身份证号码字符位置的方法如下;识别身份证号码所在区域,身份证号码所在区域用矩形rect((l
x
,ly),(r
x
,ry))进行表示,其中其中,(l
x
,ly)为矩形的左上角坐标,(r
x
,ry)为矩形的右下角坐标,矩形顶点坐标的计算公式为:
[0074][0075]
式中,δl
x
=300pixs,δly=10pixs,δr
x
=50pixs,δry=40pixs,采用局部自适应阈值分割火车票票面的身份证号码;结果如图5所示。
[0076]
分割单个身份证号所在的矩形区域;采用局部自适应阈值分割火车票票面的身份证号码。
[0077]
如图6所示,基于轮廓的字符提取方法如下:
[0078]
对特征字符进行提取,针对字符中的水平交叉点、垂直交叉点以及对角交叉点的特征项进行提取,提取的特征项feature使用公式(2):
[0079]
feature=[f1,f2,f3,f4,f5,f6,f7,f8,f9]
ꢀꢀ
(2)
[0080]
公式中,f1、f2、f3分别代表了垂直5/12点位、垂直1/2点位以及7/1交叉点位对应的点数;f4、f5、f6分别代表了水平1/3点位、水平1/2点位以及水平2/3点位的对应点数;f7、f8、f9分别代表了左右两侧的对角线所对应的交点数和端点数。
[0081]
采用粒子群算法与神经网络算法相结合建立改进的神经网络模型的方法如下:
[0082]
采用bp神经网络对字符进行识别,bp神经网络主要包括输入层、输出层以及隐含层三层结构,如图7所示;
[0083]
提取火车票号的9个特征,因此bp模型参数设置为:输入神经神经元数量n1=9、根据kolmogorov定理,隐含层神经元数量n2=2n1+1,则隐含层神经元数量n2=19和输出神经元数量n3=1;
[0084]
使用公式(3)获取bp隐含层的输出:
[0085][0086]
公式(3)中,ε代表了神经网络输出层的阈值;f代表网络采用的激励函数;cj代表了隐含层到输出层各个神经元的连接权重;bj代表了隐含层的输出单元;
[0087]
基于公式(3)并引入公式(2)后,获得公式(4)所代表的的隐含层神经元的输出为:
[0088][0089]
公式(4)中,θj和ω
ij
分别代表了隐含层的阈值和隐层与输出层之间的连接权重值;
[0090]
采用粒子群算法与神经网络算法结合,获得神经网络的最优隐含层阈值或输出层的连接权重值;
[0091]
所述粒子群算法中的粒子位置、离职变化速度计算公式如(5)、(6)所示:
[0092]vid
(t+1)=v
id
(t)+c1rand1*(p
pid-x
id
(t))+c2rand2*(p
gd-x
id
(t))
ꢀꢀ
(5)
[0093]
x
id
(t+1)=x
id
(t)+v
id
(t+1)
ꢀꢀ
(6)
[0094]
在公式(5)、(6)中,使用rand1、rand2标识随机数,其值在0到1的范围内;c1和c2代表了种群的学习因子;v
id
(t)标识x
id
(t)在t时刻下的第i个粒子的移动速度和所对应的位置;
[0095]
采用粒子群算法与神经网络算法相结合,将粒子群算法获得的最优值应用于神经网络算法,具体的实用度函数如公式(7)所示:
[0096][0097]
公式(7)中,n代表训练样本总数,m代表神经网络的输出神经元总数,yi代表粒子的最佳输出值,yk为粒子实际输出值。
[0098]
为验证本文算法的有效性和可靠性,建立500张不同车票数据库,电脑操作系统为windows7.0、intel core i5处理器、内存8g以及matlab2015(a)为软件平台。为避免过拟合和欠拟合现象的发生,文中采用k-折交叉验证(k-fold cross validation,k-cv),将原始数据分成k组,将每个子集数据作为验证集(testing fold),其余的k-1组子集数据作为训练集(training folds),得到k个模型,计算k个模型验证集的分类准确率的平均值作为最终结果,文中取k=10,10-折交叉验证示意图如图8所示:
[0099]
首先采集500张车票样本的图像数据集合,按照20%到40%的测试采样比率对500张车票图像数据集进行训练,其余的车票作为测试样本,经训练并测试后的bp神经网络识别检测准确率如图9所示;根据图9显示,在训练样本选择20%、30%、40%的比率时,bp神经网络识别检测准确率分别为95.2%、97.1%和97.7%,随着训练样本所占比例的增加识别准确率呈现增加趋势。
[0100]
为了说明svm、模板匹配和bp神经网络所设置实验训练样本的比率采用20%、30%以及40%时,其对应的识别准确率结果对比如表所示1:
[0101]
表1不同算法识别准确率
[0102]
训练样本比例svm模板匹配bp神经网络20%87.24%93.01%95.41%30%88.97%94.02%96.54%40%92.6%95.53%96.74%
[0103]
对比表1中的不同的训练样本比率下的识别准确率可以发现,bp神经网络应用于火车票识别的最佳准确率为96.74%,平均准确率也达到了96.61%,效果明显高于其他的方法,具有很大的优势。
[0104]
不同算法效率对比
[0105]
表2不同算法效率
[0106]
[0107][0108]
表2展示了不同算法的执行效率对比,由表中数据可以发现,本文提出的使用bp神经网络进行火车票识别的使用在精度为96.54%时,仅仅用了504秒,对比其他两种算法,精度上分别提高了7.51%、4.18%,但是使用时间却减少了6.6s和4.47s,从而进一步证明运用bp神经网络进行火车票识别的有效性和可靠性。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1