票据数据的识别方法及装置、电子设备、存储介质与流程

文档序号:33386006发布日期:2023-03-08 08:14阅读:40来源:国知局
票据数据的识别方法及装置、电子设备、存储介质与流程

1.本技术涉及图像处理技术领域,特别涉及一种票据数据的识别方法及装置、电子设备、计算机可读存储介质。


背景技术:

2.在银行、保险、医院等场景中,存在大量票据需要处理。票据数据内容繁杂,人工核对耗时耗力,且可能因工作量太多而出错。为解决这一问题,可以引入光学字符识别(optical character recognition,ocr)技术,对票据图像进行自动化识别。然而,光学字符识别字数主要对印刷体字符有较好的识别效果,而对手写票据的识别效果并不理想。


技术实现要素:

3.本技术实施例的目的在于提供一种票据数据的识别方法及装置、电子设备、计算机可读存储介质,用于准确识别手写票据中的内容。
4.一方面,本技术提供了一种票据数据的识别方法,包括:
5.获取目标票据的票据图像;
6.对所述票据图像进行超分辨率处理,得到所述票据图像对应的高分辨率票据图像;
7.根据所述目标票据对应的版面模板,对所述高分辨率票据图像进行匹配,并根据匹配结果进行分割,得到与所述版面模板中多个版面区域对应的子图像;
8.针对每一子图像,识别出所述子图像对应的字符识别结果;
9.依据所述多个版面区域的字符校验规则,对所述字符识别结果进行校正处理,得到校正后字符识别结果。
10.在一实施例中,所述获取目标票据的票据图像,包括:
11.基于目标账户信息,登陆指定系统,从所述指定系统的目标账户下获取所述目标票据的票据图像。
12.在一实施例中,所述对所述票据图像进行超分辨率处理,得到所述票据图像对应的高分辨率票据图像,包括:
13.将所述票据图像输入至超分辨率重建模型,获得所述超分辨率重建模型输出的高分辨率票据图像。
14.在一实施例中,在所述根据所述目标票据对应的版面模板,对所述高分辨率票据图像进行匹配,并根据匹配结果进行分割,得到与所述版面模板中多个版面区域对应的子图像之前,所述方法还包括:
15.对所述高分辨率票据图像进行仿射变换,得到所述高分辨率票据图像对应的变换后票据图像;
16.对所述变换后票据图像进行滤色处理,得到灰度票据图像;
17.所述根据所述目标票据对应的版面模板,对所述高分辨率票据图像进行匹配,并
根据匹配结果进行分割,得到与所述版面模板中多个版面区域对应的子图像,包括:
18.根据所述目标票据对应的版面模板,对所述灰度票据图像进行匹配,并根据匹配结果进行分割,得到与所述版面模板中多个版面区域对应的子图像。
19.在一实施例中,所述依据所述多个版面区域的字符校验规则,对所述字符识别结果进行校正处理,得到校正后字符识别结果,包括:
20.如果任一版面区域存在对应的字符校验规则,且所述字符校验规则指示所述版面区域对应的数据格式,判断所述字符识别结果是否满足所述数据格式;
21.若否,基于所述数据格式对所述字符识别结果进行校正处理,得到校正后字符识别结果。
22.在一实施例中,所述依据所述多个版面区域的字符校验规则,对所述字符识别结果进行校正处理,得到校正后字符识别结果,包括:
23.如果任一版面区域存在对应的字符校验规则,且所述字符校验规则指示所述版面区域对应的多个数据可选项,判断所述字符识别结果是否与任一数据可选项匹配;
24.若否,以与所述字符识别结果相似度最高的数据可选项,作为校正后字符识别结果。
25.在一实施例中,所述方法还包括:
26.如果任一版面区域存在对应的字符校验规则,且通过所述字符校验规则无法对所述版面区域的字符识别结果进行校验处理,输出所述版面区域的字符识别结果;
27.响应于校正指令,对所述版面区域的字符识别结果进行校正,得到校正后字符识别结果。
28.另一方面,本技术提供了一种票据数据的识别装置,包括:
29.获取模块,用于获取目标票据的票据图像;
30.处理模块,用于对所述票据图像进行超分辨率处理,得到所述票据图像对应的高分辨率票据图像;
31.匹配模块,用于根据所述目标票据对应的版面模板,对所述高分辨率票据图像进行匹配,并根据匹配结果进行分割,得到与所述版面模板中多个版面区域对应的子图像;
32.识别模块,用于针对每一子图像,识别出所述子图像对应的字符识别结果;
33.校正模块,用于依据所述多个版面区域的字符校验规则,对所述字符识别结果进行校正处理,得到校正后字符识别结果。
34.此外,本技术提供了一种电子设备,所述电子设备包括:
35.处理器;
36.用于存储处理器可执行指令的存储器;
37.其中,所述处理器被配置为执行上述票据数据的识别方法。
38.进一步的,本技术提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述票据数据的识别方法。
39.本技术方案,对票据图像进行超分辨率处理后,以版面模板进行匹配,并以匹配结果进行分割,得到与版面模板中多个版面区域对应的子图像,进而可以对各个子图像进行识别,并以各个版面区域对应的字符校验规则对字符识别结果进行校正处理,从而得到校正后字符结果;本方案可以实现对票据图像中的票据数据的准确识别。
附图说明
40.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍。
41.图1为本技术一实施例提供的票据数据的识别方法的应用场景示意图;
42.图2为本技术一实施例提供的电子设备的结构示意图;
43.图3为本技术一实施例提供的票据数据的识别方法的流程示意图;
44.图4为本技术一实施例提供的票据图像的示意图;
45.图5为本技术一实施例提供的图4中票据图像对应的灰度票据图像的示意图;
46.图6为本技术一实施例提供的票据数据的示意图;
47.图7为本技术一实施例提供的图3中步骤350的细节流程示意图;
48.图8为本技术另一实施例提供的图3中步骤350的细节流程示意图;
49.图9为本技术一实施例提供的票据数据的识别装置的框图。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
51.相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
52.图1为本技术实施例提供的票据数据的识别方法的应用场景示意图。如图1所示,该应用场景包括服务端20和服务端30;服务端20可以是服务器、服务器集群或云计算中心,用于向服务端30提供需要识别的票据的票据图像;服务端30可以是服务器、服务器集群或云计算中心,可以对服务端20所提供的票据图像进行识别,从而得到票据图像中的票据数据。
53.如图2所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图2中以一个处理器11为例。处理器11和存储器12通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程。在一实施例中,电子设备1可以是上述服务端30,用于执行票据数据的识别方法。
54.存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory,简称eprom),可编程只读存储器(programmable red-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
55.本技术还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可由处理器11执行以完成本技术提供的票据数据的识别方法。
56.参见图3,为本技术一实施例提供的票据数据的识别方法的流程示意图,如图3所示,该方法可以包括以下步骤310-步骤350。
57.步骤310:获取目标票据的票据图像。
58.其中,目标票据为待识别的票据。示例性的,在各类场景中,目标票据可以是转账支票、病历、保险单、处方等。票据图像是对目标票据拍摄得到的图像。本方案中,目标票据可以是手写票据。
59.执行票据数据的识别方法的服务端,可以从其它存储票据图像的服务端获取目标票据的票据图像,或者,可以从自身指定存储位置获取目标票据的票据图像。
60.在一实施例中,服务端可以借助rpa(robotic process automation,机器人流程自动化)技术,基于目标账户信息,自动化登陆指定系统。这里,目标账户信息是指定系统上用于获取目标票据的账户信息,指定系统为存储及应用目标票据的系统。示例性的,目标票据为病人的病历;指定系统为医院问诊系统;目标账户信息为能够访问医院问诊系统中病历图像的医生账户的账户名和密码。
61.服务端通过目标账户信息登陆指定系统后,可以从指定系统的目标账户下获取目标票据的票据图像。指定系统的目标账户下存储有该目标账户对应用户所负责的所有票据的票据图像,在以目标账户信息登陆指定系统后,服务端可以从指定系统读取到目标票据的票据图像。
62.通过该措施,服务端可以自动化获取待处理的所有目标票据的票据图像。
63.步骤320:对票据图像进行超分辨率处理,得到票据图像对应的高分辨率票据图像。
64.在实际应用场景中,受限于票据图像的采集设备、采集环境、传输条件、存储条件等因素,票据图像的分辨率可能并不高,这会导致后续识别效果不佳。为解决这个问题,服务端在获得票据图像之后,可以对票据图像进行超分别率处理,以提升票据图像的分辨率,得到高分辨率票据图像。
65.在一实施例中,服务端可以将票据图像输入至超分辨率重建模型,通过超分辨率重建模型对票据图像进行处理,从而输出与票据图像对应的高分辨率票据图像。这里,超分辨率重建模型可以是srcnn(super resolution convolutional neural networks,超分辨率卷积神经网络)、srgan(super resolution generative adversarial networks,超分辨率生成对抗网络)、srresnet(super resolution residual networks,超分辨率残差网络)等模型中的任意一种。
66.步骤330:根据目标票据对应的版面模板,对高分辨率票据图像进行匹配,并根据匹配结果进行分割,得到与版面模板中多个版面区域对应的子图像。
67.其中,版面模板用于指示票据上各个区域所属的内容,可以通过各个版面区域的属性及位置信息来确定。示例性的,如果目标票据为处方,则版面模板上可以包括与“科室”、“姓名”、“年龄”、“临床诊断”、“药品及用法”等属性对应的版面区域,以及各个版面区域在整个布局上的位置信息。
68.服务端可以根据目标票据的类别,查找与该类别对应的版面模板,进而以该版面模板对高分辨率票据图像进行匹配,从而确定高分辨率票据图像上属于版面模板中各个版面区域的图像区域,作为匹配结果。服务端可以根据匹配结果对高分辨率票据图像进行分割,从而得到与版面模板中各个版面区域对应的子图像。
69.示例性的,目标票据为处方,可以分割得到包括科室数据的子图像、包括姓名数据的子图像、包括年龄数据的子图像、包括临床诊断数据的子图像、包括药品及用法数据的子
图像。
70.步骤340:针对每一子图像,识别出子图像对应的字符识别结果。
71.在获得多个子图像之后,服务端可以对子图像中的数据进行识别,从而得到每一子图像对应的字符识别结果。示例性的,服务端可以通过光学字符识别技术从子图像中识别出至少一个字符,作为字符识别结果。或者,服务端可以通过字符识别模型对子图像进行处理,从而识别出至少一个字符,作为字符识别结果。
72.步骤350:依据多个版面区域的字符校验规则,对字符识别结果进行校正处理,得到校正后字符识别结果。
73.其中,字符校验规则用于根据版面区域内数据的通用要求,对版面区域对应的字符识别结果进行校正。
74.在获得各个子图像对应的字符识别结果之后,服务端可以检查子图像对应的版面区域是否存在字符校验规则,若不存在,则可以将该子图像的字符识别结果,作为该版面区域最终的字符识别结果。若存在字符校验规则,则可以基于该字符校验规则对字符识别结果进行校正处理,从而得到校正后字符识别结果,作为该版面区域最终的字符识别结果。
75.服务端可以将各个版面区域最终的字符识别结果,汇总作为目标票据的票据数据,并将识别得到的票据数据进行存储。
76.通过上述措施,为票据图像提高分辨率后,进行版面区域分割,从而针对各个版面区域对应的字符识别结果进行校正,可以准确识别出票据图像中的票据数据。在目标票据为手写票据的情况下,仍可获得理想的识别效果。
77.在一实施例中,在根据版面模板对高分辨率票据图像进行匹配之前,服务端可以对高分辨率票据图像进行预处理,从而提高识别效果。由于目标票据在拍摄票据图像时,可能因拍摄角度、摆放位置等因素,导致成像效果并不理想。服务端可以对高分辨率票据图像进行仿射变换,得到高分辨率票据图像对应的变换后票据图像。这里,变换后票据图像是经过仿射变换,而较为端正的票据图像。
78.服务端可以对变换后票据图像进行滤色处理,得到灰度票据图像。此外,如果灰度票据图像中存在边缘空白区域,或者除了目标票据以外的区域,可以对灰度票据图像进行去边处理,以降低后续识别的计算量。
79.通过对高分辨率票据图像进行预处理,得到灰度票据图像之后,服务端可以根据目标票据对应的版面模板,对灰度票据图像进行匹配,并根据匹配结果进行分割,得到与版面模板中多个版面区域对应的子图像。
80.参见图4,为本技术一实施例提供的票据图像的示意图,如图4所示,目标票据为转账支票,票据图像中目标票据略微倾斜。
81.参见图5,为本技术一实施例提供的图4中票据图像对应的灰度票据图像的示意图,对图4中票据图像进行超分辨率处理,以及仿射变换、滤色处理和去边后,得到图5中的灰度票据图像。
82.参见图6,为本技术一实施例提供的票据数据的示意图,如图6所示,对图5中灰度票据图像进行分割,得到多个子图像,并对多个子图像进行识别、校正字符识别结果后,可以得到包括“出票日期”、“付款行名称”、“收款人”、“出票人账号”、“大写金额”、“小写金额”、“密码”、“行号”等票据数据。
83.在一实施例中,参见图7,为本技术一实施例提供的图3中步骤350的细节流程示意图,如图7所示,该方法可以包括如下步骤351a至步骤352a。
84.步骤351a:如果任一版面区域存在对应的字符校验规则,且字符校验规则指示版面区域对应的数据格式,判断字符识别结果是否满足数据格式。
85.一些版面区域的票据数据必须满足该版面区域设定的数据格式。示例性的,对于“出票日期”所在版面区域,数据格式指示票据数据为“xxxx年xx月xx日”;对于“出票人账号”所在版面区域,数据格式指示票据数据为16位数字。
86.在任一版面区域存在对应字符校验规则,且字符校验规则指示版面区域对应的数据格式的情况下,针对该版面区域的字符识别结果,服务端可以检查该字符识别结果是否满足数据格式。一种情况下,字符识别结果满足数据格式,可以认定字符识别结果正确,无需校正。另一种情况下,字符识别结果不满足数据格式,可以继续执行步骤352a。
87.步骤352a:若否,基于数据格式对字符识别结果进行校正处理,得到校正后字符识别结果。
88.在字符识别结果不满足数据格式的情况下,服务端可以根据数据格式对字符识别结果进行校正处理,从而得到校正后字符识别结果。示例性的,“出票日期”对应的字符识别结果为20191023,根据数据格式进行校正处理,得到校正后字符识别结果2019年10月23日。
89.在一实施例中,参见图8,为本技术另一实施例提供的图3中步骤350的细节流程示意图,如图8所示,该方法可以包括如下步骤351b至步骤352b。
90.步骤351b:如果任一版面区域存在对应的字符校验规则,且字符校验规则指示版面区域对应的多个数据可选项,判断字符识别结果是否与任一数据可选项匹配。
91.一些版面区域的票据数据必须是该版面预设的多个数据可选项中的一个。示例性的,对于“付款行名称”,数据可选项可以包括“交通银行”、“工商银行”、“招商银行”、“农业银行”、“建设银行”等多个银行名称。
92.在任一版面区域存在对应的字符校验规则,且字符校验规则指示版面区域对应的多个数据可选项的情况下,针对该版面区域的字符识别结果,服务端可以比对该字符识别结果与每一数据可选项,判断是否存在任一数据可选项与该字符识别结果匹配。换而言之,是否存在任一数据可选项与该字符识别结果相同。
93.一种情况下,字符识别结果与其中一个数据可选项匹配,可以认定字符识别结果正确,无需校正。另一种情况下,字符识别结果与所有数据可选项均不相同,可以继续执行步骤352b。
94.步骤352b:若否,以与字符识别结果相似度最高的数据可选项,作为校正后字符识别结果。
95.在字符识别结果与所有数据可选项均不相同的情况下,服务端可以计算每一数据可选项与字符识别结果的相似度,从而确定与字符识别结果相似度最高的数据可选项,并可以将该数据可选项,作为校正后字符识别结果。示例性的,字符识别结果为“召商银行”,与所有数据可选项均不相同,则以相似度最高的“招商银行”作为校正后字符识别结果。
96.在一实施例中,如果任一版面区域存在对应的字符校验规则,且通过该字符校验规则无法对版面区域的字符识别结果进行校验处理的情况下,服务端可以输出版面区域的字符识别结果。服务端可以向与其对接的用户终端输出该版面区域的字符识别结果,并可
提示无法正常校正。用户可以从用户终端查看无法校正的字符识别结果,并通过用户终端向服务端发起针对该字符识别结果的校正指令。
97.服务端可以接收该校正指令,并响应于校正指令,对版面区域的字符识别结果进行校正,得到校正后字符识别结果。示例性的,“出票人账号”的字符识别结果为14位数字,而非字符校验规则指示的16位数字,向用户终端输出后,用户可以查看票据图像,从而通过用户终端向服务端发送票据图像中正确的出票人账号。服务端可以以接收到的出票人账号替换错误的出票人账号,作为校正后字符识别结果。
98.通过上述措施,在借助字符校验规则无法实现自动化校正的情况下,通过人工校正,可以得到准确的票据数据。
99.图9是本发明一实施例的一种票据数据的识别装置的框图,如图9所示,该装置可以包括:
100.获取模块910,用于获取目标票据的票据图像;
101.处理模块920,用于对所述票据图像进行超分辨率处理,得到所述票据图像对应的高分辨率票据图像;
102.匹配模块930,用于根据所述目标票据对应的版面模板,对所述高分辨率票据图像进行匹配,并根据匹配结果进行分割,得到与所述版面模板中多个版面区域对应的子图像;
103.识别模块940,用于针对每一子图像,识别出所述子图像对应的字符识别结果;
104.校正模块950,用于依据所述多个版面区域的字符校验规则,对所述字符识别结果进行校正处理,得到校正后字符识别结果。
105.上述装置中各个模块的功能和作用的实现过程具体详见上述票据数据的识别方法中对应步骤的实现过程,在此不再赘述。
106.在本技术所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
107.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
108.功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器
(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1