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

一种机打票据图像结构化识别方法与流程

2021-11-18 02:44:00 来源:中国专利 TAG:


1.本发明属于图像识别技术领域,涉及一种机打票据图像结构化识别方法。


背景技术:

2.机打票据图像在日常生活中普遍存在。对于公司和政府部门来说,每天都有大量的票据信息采集和处理工作,传统的人手工录入信息效率低下且人力成本高昂,当前已有的文本ocr 方案无法去除票据中的印章,常常造成识别率降低。此外票据识别神经网络的训练需要大量的标记数据,成本高昂。
3.现有技术方案包括:第一种为逐行识别:对文本图像进行扫描变成黑白的灰度图像,对图像进行二值化操作将背景杂色去掉,只保留文本成纯黑色。在水平方向进行投影,处于同一行的文本投影后在y轴方向会处于同一个高度范围,通过投影可以将多个文本行分开,逐行检测到文本行。然后对每一个文本行的字符进行切分,最后进行识别。要求图像平整和水平,同时这种方法无法区分关键字、信息。第二种为通过深度卷积神经网络进行文本检测:对发票中的图像进行文本检测,现有的很多深度卷积神经网络都可以检测到发票中的文本并框选出来,最后再对框中的文本内容进行识别。
4.但是存在较大缺陷,具体为:对于逐行识别方案:仅仅按照逐行识别,一方面难以获取到发票的结构,另一方面由于票据中有很多的表格框线,票据内容也并非呈现规则的多行文本规则排列,难以进行准确的文本行检测。对于深度卷积神经网络检测文本的方案:仅仅检测文本和识别文本,并不能确定此文本属于什么内容。例如检测出两个金额,并不能知道哪一个是定金,哪一个是税费。若印章中有文字出现,常常无法正确检测和识别。


技术实现要素:

5.本发明的目的在于:提供了一种机打票据图像结构化识别方法,解决了现有技术的不足。
6.本发明采用的技术方案如下:
7.一种机打票据图像结构化识别方法,包括以下步骤:
8.步骤1、采集某一类机打票据的多张图像,通过手工标注票据中的文本框坐标及其内容,保存为标注文件;
9.步骤2、从步骤1的标注文件,结合文本检测及识别的公开数据集,制作成文本检测训练集a,文本识别训练集b,同时采集公开文本识别训练集c;
10.步骤3、通过训练集a、b,分别训练机打票据的文本检测f1模型、文本识别f2模型,其中f2模型包括两个模型:一个为f2

1模型、识别单个字符的图像,一个为f2

2模型、识别连续字符的图像;
11.步骤4、建立单字符切割f5模型,
12.首先当获取到某行文本所在的框,将这个框所在的坐标截取为图像,对图像进行去噪音和二值化操作;二值化后图像变为黑白图像,黑色为1值白色为0值,从上往下对图像
进行投影,通过投影边界切割单字符;通过制作标准票据模板m1结合透视投影算法,建立票据图像矫正f4模型;
13.步骤5、模型建立完成后,读取单张机打票据图像p1,输入到文本检测f1模型,模型 f1自动将图像p1中的多个文本行检测出来;
14.步骤6、对步骤5中检测到的多个文本行,在左上、左下、右上、右下四个角落,对其中字符串使用模型f5进行单字符切割,同时保存每个单字符的坐标;使用模型f2

1识别每个单字符,识别结果组成字符串;4个角落的字符串识别结果lf、ld、rf、rd;
15.步骤7、对4个角落的识别结果分别使用票据标准模板m1进行匹配,票据标准模板m1 中保存了四个角落的关键字及其坐标,使用lu

m、lb

m、ru

m、rb

m与lu、lb、ru、rb分别进行匹配,在每一个角落中确定一个文本行lu

1,lb

1,ru

1,rb

1用于矫正;
16.步骤8、在步骤7得到了4个角落一共四行文本lu

1,lb

1,ru

1,rb

1,且保存了其中每个单字符的坐标,在步骤7中已知lf

m、ld

m、rf

m、rd

m关键字的单字坐标;因此推算出四组坐标一一对应的组合(lu

1、lu

m)(lb

1、lb

m)、(ru

1、ru

m)、(rb

1、 rb

m);
17.将这四组坐标输入到模型f4矫正,得到和票据标准模板m1相同标准票据尺寸的标准图像p2;
18.步骤9、票据标准模板m1中有每个一一对应的kv结构的所处的矩形框坐标loc,对于标准图像p2,使用模块f1检测出其中的文本行框,然后取所有loc和所有文本行框的交集,得初始kv结构的文本框;
19.步骤10、将步骤9中得到的文本框输入到模型f3中,通过自编码器对带有印章的图像先编码再解码,消除图像中的印章部分,重构图像,以达到消除印章的目的,得到最终kv 结构的文本框;
20.步骤11、将步骤10中得到的最终kv结构的文本框依次使用模型f2

2进行字符串识别,得到票据结构化识别结果。
21.进一步地,所述步骤8中模型f4的票据矫正过程如下:
22.通过匹配4组点,原图中4个点,对应模板中4个点,计算原图到模板标准图的透视矩阵a,原图通过乘以这个透视矩阵a便可以矫正为平整水平且和模板同一尺寸的标准图像;
23.其中透视投影算法公式如下:
[0024][0025]
其中(u,v)是之前的原始图像坐标,透视变换矩阵为a;通过透视投影得到的转换后的坐标是(x,y),由下列公式计算:
[0026][0027][0028]
通过4组坐标二元组[(u,v),(x,y)]就可以计算出8个未知数a
xx
,得到透视矩阵a,其中 (u,v)是原图中的坐标,(x,y)是模板中的对应坐标。
[0029]
进一步地,所述步骤2中的文本检测训练集a为多张图像标注出其中含有文本的矩形框区域,文本识别训练集b分为两个训练集,b1为单个字符的二值化图像标注出其对应的单个字符内容,b2为单行连续字符的图像标注出其对应的连续字符串内容。
[0030]
进一步地,所述模型f1的训练过程为:
[0031]
使用步骤2建立的训练集a训练ctpn网络模型;
[0032]
训练ctpn深度学习网络模型,反复迭代直至该模型参数权重最优;
[0033]
根据最佳参数权重保存、建立文本检测模型f1;
[0034]
所述模型f2

1的训练过程为:
[0035]
使用大量单字符训练集b1训练lenet卷积神经网络模型;
[0036]
反复迭代直到该模型参数权重最优,最终建立单字符文本检测模型f2

1;
[0037]
所述模型f2

2的训练过程为:
[0038]
使用公开文本识别训练集c作为源数据集,将训练集b2作为目标数据;
[0039]
反复迭代训练迁移学习crnn模型,模型数据基于迁移学习方法;
[0040]
迁移学习训练结束后,保留网络已训练好的权重,删除全连接层和特征匹配损失模块,网络重新转变为原crnn网络;再使用训练集b2的标签,进行全监督训练,直至模型收敛、训练结束,最终建立多字符文本检测模型f2

2。
[0041]
进一步地,所述模型f3的训练过程为:使用训练集b2,在其图像上通过脚本程序添加随机印章,制作印章数据集b3,迭代训练自编码器模型f3,直到该模型收敛。
[0042]
进一步地,所述自编码器的编码过程具体如下:
[0043]
假定一个特征图经过卷积或神经网络层的操作为函数f,输入为x,输出为f

,则通常 f
′‑
f(x)

w
·
x b,其中w是神经元的权重参数,b为偏置值;假定经过3层神经网络层处理,分别为函数f、g、k,则:
[0044]
f

=f(x)
[0045]
g

=g(f

)
[0046]
y
′‑
k(g

)
[0047]
loss=criterion(y,y

)
[0048]
损失函数cost对f的导数为:假定经过f、g、k三层神经网络层统称为函数f,则原函数为y

=f(x),加入跳跃连接后为y
′‑
f(x) x;通过跳跃连接,将在每一个偏导后加入恒等项1;
[0049]
如:即使反向传播导数df/dx很小,仍能够有效的进行反向传播更新网络;加入x也能尽可能的保留低纬度的信息,避免编码解码过程损失信息过多;
[0050]
训练中,在训练集b2中加入印章图像得到训练集b3作为输入x,不含有印章的训练集 b2作为y,x经过自编码器处理后的输出为y

;通过计算y

与y之间的损失值进行神经网络的反向传播,使自编码器学习去除印章。
[0051]
综上所述,由于采用了上述技术方案,本发明的有益效果是:
[0052]
该方法无需专门的拍摄和图像扫描设备、不要求拍摄绝对水平,基于普通相机拍
摄的机打票据照片即可进行结构化提取。对发票中的印章可以通过自编码器的方式进行消除。使用迁移学习的字符识别网络在达到同样准确率的情况下,可以减少票据数据的标注工作。
附图说明
[0053]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图,其中:
[0054]
图1是机打票据结构化识别流程图;
[0055]
图2是模型f2

2基于迁移学习的crnn训练网络;
[0056]
图3是模型f3的自编码器去印章网络结构示意图;
[0057]
图4是发票矫正结构示意图。
具体实施方式
[0058]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0059]
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060]
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0061]
下面结合实施例对本发明的特征和性能作进一步的详细描述。
[0062]
实施例一
[0063]
如图1所示:一种机打票据图像结构化识别方法,包括以下步骤:
[0064]
步骤1、采集某一类机打票据的多张图像,通过手工标注票据中的文本框坐标及其内容,保存为标注文件;
[0065]
步骤2、从步骤1的标注文件,结合文本检测及识别的公开数据集,制作成文本检测训练集a,文本识别训练集b,同时采集公开文本识别训练集c;
[0066]
步骤3、通过训练集a、b,分别训练机打票据的文本检测f1模型、文本识别f2模型,其中f2模型包括两个模型:一个为f2

1模型、识别单个字符的图像,一个为f2

2模型、识别连续字符的图像;
[0067]
步骤4、组合二值化、投影法、先验经验,建立单字符切割f5模型,
[0068]
首先当获取到某行文本所在的框,将这个框所在的坐标截取为图像,对图像进行去噪音和二值化操作;二值化后图像变为黑白图像,黑色为1值白色为0值,从上往下对图像进行投影(竖直方向上统计1值的个数),通过投影边界切割单字符;通过制作标准票据模板m1 结合透视投影算法,建立票据图像矫正f4模型;
[0069]
步骤5、模型建立完成后,读取单张机打票据图像p1,输入到文本检测f1模型,模型f1自动将图像p1中的多个文本行检测出来;
[0070]
步骤6、对步骤5中检测到的多个文本行,在左上、左下、右上、右下四个角落,对其中字符串使用模型f5进行单字符切割,同时保存每个单字符的坐标;使用模型f2

1识别每个单字符,识别结果组成字符串;4个角落的字符串识别结果lf、ld、rf、rd;
[0071]
步骤7、对4个角落的识别结果分别使用票据标准模板m1进行匹配,票据标准模板m1 中保存了四个角落的关键字及其坐标,由于同一种票据中的关键字都是恒定不变的,因此使用lu

m、lb

m、ru

m、rb

m与lu、lb、ru、rb分别进行匹配,在每一个角落中确定一个文本行lu

1,lb

1,ru

1,rb

1用于矫正;
[0072]
步骤8、在步骤7得到了4个角落一共四行文本lu

1,lb

1,ru

1,rb

1,且保存了其中每个单字符的坐标,在步骤7中已知lf

m、ld

m、rf

m、rd

m关键字的单字坐标;因此推算出四组坐标一一对应的组合(lu

1、lu

m)(lb

1、lb

m)、(ru

1、ru

m)、(rb

1、 rb

m);
[0073]
将这四组坐标输入到模型f4矫正,得到和票据标准模板m1相同标准票据尺寸的标准图像p2;
[0074]
步骤9、票据标准模板m1中有每个一一对应的kv结构的所处的矩形框坐标loc,对于标准图像p2,使用模块f1检测出其中的文本行框,然后取所有loc和所有文本行框的交集,得初始kv结构的文本框;
[0075]
步骤10、将步骤9中得到的文本框输入到模型f3中,通过自编码器对带有印章的图像先编码再解码,消除图像中的印章部分,重构图像,以达到消除印章的目的,得到最终kv 结构的文本框;
[0076]
步骤11、将步骤10中得到的最终kv结构的文本框依次使用模型f2

2进行字符串识别,得到票据结构化识别结果。
[0077]
其中,机打票据中含有大量的表格框线,关键字(简称k)和对应信息(简称v)(例如

姓名’:

王二’)的一一对应结构简称kv结构。
[0078]
实施例二
[0079]
本实施例在实施例一的基础上,
[0080]
进一步地,步骤8中模型f4的票据矫正过程如下:
[0081]
通过匹配4组点,原图中4个点,对应模板中4个点,计算原图到模板标准图的透视矩阵a,原图通过乘以这个透视矩阵a便可以矫正为平整水平且和模板同一尺寸的标准图像;
[0082]
其中透视投影算法公式如下:
[0083]
[0084]
其中(u,v)是之前的原始图像坐标,透视变换矩阵为a;通过透视投影得到的转换后的坐标是(x,y),由下列公式计算:
[0085][0086][0087]
通过4组坐标二元组[(u,v),(x,y)]就可以计算出8个未知数a
xx
,得到透视矩阵a,其中 (u,v)是原图中的坐标,(x,y)是模板中的对应坐标。
[0088]
进一步地,所述步骤2中的文本检测训练集a为多张图像标注出其中含有文本的矩形框区域,文本识别训练集b分为两个训练集,b1为单个字符的二值化图像标注出其对应的单个字符内容,b2为单行连续字符的图像标注出其对应的连续字符串内容。
[0089]
进一步地,所述模型f1的训练过程为:
[0090]
使用步骤2建立的训练集a训练ctpn网络模型;
[0091]
训练ctpn深度学习网络模型,反复迭代直至该模型参数权重最优;
[0092]
根据最佳参数权重保存、建立文本检测模型f1;
[0093]
所述模型f2

1的训练过程为:
[0094]
使用大量单字符训练集b1训练lenet卷积神经网络模型;
[0095]
反复迭代直到该模型参数权重最优,最终建立单字符文本检测模型f2

1;
[0096]
所述模型f2

2的训练过程为:
[0097]
使用公开文本识别训练集c作为源数据集,将训练集b2作为目标数据;
[0098]
反复迭代训练迁移学习crnn模型,模型数据基于迁移学习方法;
[0099]
迁移学习训练结束后,保留网络已训练好的权重,删除全连接层和特征匹配损失模块,网络重新转变为原crnn网络;再使用训练集b2的标签,进行全监督训练,直至模型收敛、训练结束,最终建立多字符文本检测模型f2

2。
[0100]
其中:迁移学习方法原理为:
[0101]
将训练集c作为源数据集,训练集b2作为目标数据。先进行迁移学习训练,训练集c 含有标签,可以计算出crnn的损失输出,训练集b2暂时不使用标签,和训练集c计算特征匹配损失。
[0102]
特征匹配损失描述了两个训练集之间的相似程度,用于对齐两个不同训练集中相似的特征部分。源数据集和目标数据的在对应的特征下的表示为两个不同分布,计算特征使得两个分布的距离尽量小,就可以对齐特征。
[0103]
特征匹配损失计算公式描述如下:
[0104][0105]
其中t代表源数据集c,s代表目标数据b2,p
t
代表源数据集经过卷积网络得到的特征的分布,对应的,p
s
代表目标数据得到的特征分布。d(t,s)代表l范数距离如||t

s||1、 ||t

s||2。r(t,s)代表t和s的联合分布,其边缘分布即为原来的p
t
、p
s

[0106]
c、b2数据集实际计算经过卷积层4后得到的特征图展平后,送入全连接层,得到相
同尺寸的神经元向量v
s
、v
t
,假定向量长度为l
v
,单位神经元的值为s
i
、t
i
,使用第一范数距离。则对应的离散特征匹配损失等同于:
[0107][0108]
通过计算两个分布之间的距离和原crnn损失输出,使得卷积层的权重更新时同时学习到c和b2数据集的特征。
[0109]
通过迁移学习过程,可以将训练c的信息和知识迁移到针对训练集b2的训练中,使用相比于直接训练crnn网络,能减少训练集b2的数据量的要求,降低数据标注成本。
[0110]
实施例三
[0111]
进一步地,所述模型f3的训练过程为:使用训练集b2,在其图像上通过脚本程序添加随机印章,制作印章数据集b3,迭代训练自编码器模型f3,直到该模型收敛。所述自编码器的编码过程具体如下:自编码器部分分为encoder和decoder两部分,encoder为编码器,主要负责将图像进行卷积和池化操作,提取图像中的主要特征,将图像映射到高维空间,如图四中的蓝色部分。decoder部分为解码器,负责将高维空间中的图像特征经过反卷积操作映射回普通图像,如图四中的橙色部分。同时,为了保留图像的浅层特征,避免编码和解码中损失过多信息,在不同深度的特征图之间使用跳跃连接相连,其公式描述如下:
[0112]
假定一个特征图经过卷积或神经网络层的操作为函数f,输入为x,输出为f

,则通常 f

=f(x)=w
·
x b,其中w是神经元的权重参数,b为偏置值;假定经过3层神经网络层处理,分别为函数f、g、k,则:
[0113]
f

=f(x)
[0114]
g

=g(f

)
[0115]
y
′‑
k(g

)
[0116]
loss=criterion(y,y

)
[0117]
损失函数cost对f的导数为:假定经过f、g、k三层神经网络层统称为函数f,则原函数为y

=f(x),加入跳跃连接后为y
′‑
f(x) x;通过跳跃连接,将在每一个偏导后加入恒等项1;
[0118]
如:即使反向传播导数df/dx很小,仍能够有效的进行反向传播更新网络;加入x也能尽可能的保留低纬度的信息,避免编码解码过程损失信息过多;
[0119]
训练中,在训练集b2中加入印章图像得到训练集b3作为输入x,不含有印章的训练集 b2作为y,x经过自编码器处理后的输出为y

;通过计算y

与y之间的损失值进行神经网络的反向传播,使自编码器学习去除印章。
[0120]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明的保护范围,任何熟悉本领域的技术人员在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献