1.本发明实施例涉及计算机技术,尤其涉及一种票据文本检测方法、装置、电子设备及存储介质。
背景技术:2.银行内部每天会产生大量金融票据,并且需要从中获取文本信息,由于需要提取的信息字段较为繁多,传统的手工录入方法平均录入一张数据耗时较长,导致人力成本大、效率低,无法满足业务快速发展和强监管的要求。
3.现有技术中通过光学字符识别的方式,可以自动提取相关的结构化信息,辅助单据的录入和核对,然而由于金融票据的版式多且复杂,需要对每种类型的票据定制化训练文本检测模型,降低了检测的准确性和通用性。
技术实现要素:4.本发明实施例提供一种票据文本检测方法、装置、电子设备及存储介质,以实现提高票据文本检测的效率和准确性。
5.第一方面,本发明实施例提供了一种票据文本检测方法,该方法包括:
6.获取原始票据,并通过根据所述原始票据确定的票据背景图像生成扩充票据;
7.根据所述原始票据和所述扩充票据训练预设模型,得到票据文本检测模型;
8.获取待识别票据,通过调用所述票据文本检测模型,检测所述待识别票据中的文本。
9.第二方面,本发明实施例还提供了一种票据文本检测装置,该装置包括:
10.扩充票据生成模块,用于获取原始票据,并通过根据所述原始票据确定的票据背景图像生成扩充票据;
11.票据文本检测模型获得模块,用于根据所述原始票据和所述扩充票据训练预设模型,得到票据文本检测模型;
12.文本检测模块,用于获取待识别票据,通过调用所述票据文本检测模型,检测所述待识别票据中的文本。
13.第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
14.一个或多个处理器;
15.存储装置,用于存储一个或多个程序,
16.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的票据文本检测方法。
17.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的票据文本检测方法。
18.本发明实施例通过获取原始票据,并通过根据所述原始票据确定的票据背景图像生成扩充票据;根据所述原始票据和所述扩充票据训练预设模型,得到票据文本检测模型;
获取待识别票据,通过调用所述票据文本检测模型,检测所述待识别票据中的文本。解决由于金融票据的版式多且复杂,需要对每种类型的票据定制化训练文本检测模型,降低了检测的准确性和通用性的问题,实现提高票据文本检测的效率和准确性的效果。
附图说明
19.图1为本发明实施例一提供的一种票据文本检测方法的流程图;
20.图2为本发明实施例二提供的一种票据文本检测方法的流程图;
21.图3为本发明实施例三提供的一种票据文本检测装置的结构示意图;
22.图4为本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
23.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
24.实施例一
25.图1为本发明实施例一提供的一种票据文本检测方法的流程图,本实施例可适用于检测票据中文本位置的情况,该方法可以由本发明实施例所提供的票据文本检测装置来执行,该装置可以由软件和/或硬件的方式实现。参见图1,本实施例提供的票据文本检测方法,包括:
26.步骤110、获取原始票据,并通过根据所述原始票据确定的票据背景图像生成扩充票据。
27.其中,原始票据为实际业务中产生的历史票据,可以按照业务场景进行分类,本实施例对此不进行限制。
28.可以按照不同的业务场景,确定各业务场景中具有代表性的,例如使用次数较多、通用性较强的票据,并获取票据的背景作为票据背景图像。其中,票据背景图像为票据中无填写文本的图像。
29.根据票据背景图像生成扩充票据,可以为在票据背景图像的可填写文本处填写不同内容、不同字体的文本,从而可以通过一张票据背景图像,生成多张扩充票据,增加后续模型训练的训练集数据数量,从而提高模型训练的准确性。
30.本实施例中,可选的,通过根据所述原始票据确定的票据背景图像生成扩充票据,包括:
31.根据所述票据背景图像和预设配置文件生成初始票据模板;
32.响应于对所述初始票据模板的标注操作,以及对根据所述标注操作生成的过程票据图像的图像处理操作,生成所述扩充票据。
33.其中,预设配置文件用于配置票据背景图像中可填写内容的格式要求,例如可填写的位置、可填写的文字类型,如只可以填写数字或只可以填写文字等。可以针对每张票据背景图像对应一个预设配置文件。根据预设配置文件和票据背景图像,生成初始票据模板,其中初始票据模板可以为json模板,然后对初始票据模板进行标注操作,其中标注操作可以为人工操作,也可以为系统自动操作,本实施例对此不进行限制。
34.标注操作用于在初始票据模板的背景图像中填入具体的文本内容,其中,文本内容在字体选取上可以使用多种中英文字体;在语料库的选择上,除了通用语料库,还可以包括金融行业领域语料库;使得扩充票据中的文本长度、文本高度、文本字体类型、文本字体效果(衬线和非衬线等)、文字出现布局(上下左右偏移等)等生成的数据分布接近真实分布的概率,便于后续训练得到的票据文本检测模型具备强大的泛化能力。
35.可以通过解析器读取经过标注操作后的初始票据模板,以得到标注数据,并使用调度器,将标注数据传入生成器完成过程票据图像的生成,最后再通过调度器将生成过程票据图像传入存储器,以将生成过程票据图像保存下来,便于后续处理。
36.获得过程票据图像后,对过程票据图像进行图像处理操作,其中图像处理操作可以由上述生成器完成,图像处理操作可以包括像素增删、前景背景合并、形态学处理、弹性扭曲、仿射透视变换和噪声添加等,本实施例对此不进行限制。解决若合成的票据版式结构或者字体效果和真实相差甚远,导致后续预设模型很难学习到真实的数据情况,使得训练出来的票据文本检测模型总是在原始票据和扩充票据构成的测试集上测试效果很好,而在真实票据的检测中效果差的问题。提高对存在较多背景干扰,如手写体、噪声点、文字重叠、盖章压线和像素信息丢失严重等问题的金融票据文本检测的准确性。
37.步骤120、根据所述原始票据和所述扩充票据训练预设模型,得到票据文本检测模型。
38.将原始票据和扩充票据作为训练集输入至预设的模型进行训练,当预设模型的参数达到预设标准时得到票据文本检测模型。其中预设模型可以为基于transformer的文本检测模型,本实施例对此不进行限制。
39.步骤130、获取待识别票据,通过调用所述票据文本检测模型,检测所述待识别票据中的文本。
40.获取待识别票据,其中待识别票据为需要进行文本识别的票据图片。当检测到需要对票据进行识别时,则调用票据文本检测模型检测该待识别票据中的文本位置,例如为文本坐标等,便于根据该文本位置获取文本内容进行后续文本识别。
41.本实施例所提供的技术方案,通过原始票据生成扩充票据,根据原始票据和扩充票据训练预设模型,得到票据文本检测模型;获取待识别票据,通过调用票据文本检测模型,检测待识别票据中的文本,以得到票据中的文本位置。避免了人工手动录入票据时所承担的耗时长、易出错的风险。解决了金融票据的版式多且复杂,需要对每种类型的票据定制化训练文本检测模型,降低了检测的准确性和通用性的问题,达到了提高票据文本检测的效率和准确性的效果,为后续文本的识别和信息提取打下了坚实的基础。
42.实施例二
43.图2为本发明实施例二提供的一种票据文本检测方法的流程图,本技术方案是针对获取待识别票据,通过调用所述票据文本检测模型,检测所述待识别票据中的文本的过程进行补充说明的。与上述方案相比,本方案具体优化为,获取待识别票据,通过调用所述票据文本检测模型,检测所述待识别票据中的文本,包括:
44.获取待识别票据,启动对应的子线程,通过应用程序接口调用所述票据文本检测模型,检测所述待识别票据中的文本。具体的,票据文本检测方法的流程图如图2所示:
45.步骤210、获取原始票据,并通过根据所述原始票据确定的票据背景图像生成扩充
票据。
46.步骤220、根据所述原始票据和所述扩充票据训练预设模型,得到票据文本检测模型。
47.本实施例中,可选的,所述预设模型的工作过程包括:
48.提取所述原始票据和所述扩充票据的票据图像特征;
49.将所述票据图像特征与空间位置编码相加并输入编码器;
50.将经过所述编码器处理得到的结果输入解码器;其中所述解码器中的各层均输出对应解码结果;
51.根据前向传播网络和所述解码结果确定模型输出结果。
52.其中,预设模型可以为基于transformer的文本检测模型。模型结构包括骨干网络backbone,由编码器encoder和解码器decoder组成的transformer结构和ffn(feed forward network,前向传播网络)。
53.首先backbone提取经过预处理的原始票据和扩充票据得到特征feature,然后对特征进行降维,之后与空间位置编码(spatial positional encoding)相加,送入编码器encoder。encoder最后得到的对n个物体编码后的特征。decoder与encoder结构相似,有两个输入:一个是对象查询(或者是上一个decoder的输出),另一个是encoder的结果,区别在于这里是并行解码n个对象。预设模型与原始的transformer不同的地方在于decoder每一层都输出结果,计算损失loss,使得在反向的传播的时候,能够更好的优化。
54.在最后一个decoder后面可以连接两个ffn,分别用于预测检测框及其类别。最终预测是由具有relu激活功能且具有隐藏层的3层感知器和线性层进行计算。ffn预测框标准化中心坐标、高度和宽度,然后线性层使用softmax函数预测类标签。它预测了一组固定大小的n个边界框,其中n通常比图像中感兴趣的对象的实际数量大得多,因此可以使用一个额外的特殊类标签来表示未检测到任何对象。通过训练该预设模型得到票据文本检测模型,将基于transformer的深度学习模型,应用至文本检测中,提高对票据文本检测的准确性。
55.步骤230、获取待识别票据,启动对应的子线程,通过应用程序接口调用所述票据文本检测模型,检测所述待识别票据中的文本。
56.获取待识别票据,每张待识别票据启动单个子线程识别该待识别票据,通过应用程序接口调用票据文本检测模型,可以将票据文本检测模型部署成易于调用的rest(representational state transfer,表现层状态转换)应用程序接口微服务形式供子线程调用,适应微服务的需求。通过票据文本检测模型对该待识别票据进行检测,得到文本位置等信息。
57.本实施例中,可选的,启动对应的子线程,通过应用程序接口调用所述票据文本检测模型,包括:
58.通过所述子线程监听所述待识别票据是否存在文本检测请求;
59.若存在,则通过应用程序接口调用所述票据文本检测模型;其中,单个所述票据文本检测模型对应一个或多个所述子线程。
60.将票据文本检测模型通过子线程进行加载和初始化后,通过子线程监听所属的请求消息队列。若存在文本检测请求,则将请求数据放入请求消息队列中,当子线程监听到请
求消息队列存在数据时,会自动调用票据文本检测模型进行模型推理,并将检测结果放入结果消息队列中,及时并有序地处理文本检测请求,提高票据文本检测的效率。
61.同个票据文本检测模型也可以启动多个子线程,同时间进行推理,解决票据文本检测模型的加载和初始化受到gpu显存限制的问题,充分利用显存资源,提高并发能力。
62.本发明实施例通过对待识别票据启动对应的子线程,提高文本检测的针对性;并且将票据文本检测模型部署成易于调用的应用程序接口微服务形式供各子线程调用,从而解决票据文本检测模型的加载和初始化耗时较久的问题,提高票据文本检测模型加载的效率。
63.实施例三
64.图3为本发明实施例三提供的一种票据文本检测装置的结构示意图。该装置可以由硬件和/或软件的方式来实现,可执行本发明任意实施例所提供的一种票据文本检测方法,具备执行方法相应的功能模块和有益效果。如图3所示,该装置包括:
65.扩充票据生成模块310,用于获取原始票据,并通过根据所述原始票据确定的票据背景图像生成扩充票据;
66.票据文本检测模型获得模块320,用于根据所述原始票据和所述扩充票据训练预设模型,得到票据文本检测模型;
67.文本检测模块330,用于获取待识别票据,通过调用所述票据文本检测模型,检测所述待识别票据中的文本。
68.本实施例所提供的技术方案,通过原始票据生成扩充票据,根据原始票据和扩充票据训练预设模型,得到票据文本检测模型;获取待识别票据,通过调用票据文本检测模型,检测待识别票据中的文本,以得到票据中的文本位置。避免了人工手动录入票据时所承担的耗时长、易出错的风险。解决了金融票据的版式多且复杂,需要对每种类型的票据定制化训练文本检测模型,降低了检测的准确性和通用性的问题,达到了提高票据文本检测的效率和准确性的效果,为后续文本的识别和信息提取打下了坚实的基础。
69.在上述各技术方案的基础上,可选的,所述扩充票据生成模块,包括:
70.初始票据模板生成单元,用于根据所述票据背景图像和预设配置文件生成初始票据模板;
71.扩充票据生成单元,响应于对所述初始票据模板的标注操作,以及对根据所述标注操作生成的过程票据图像的图像处理操作,生成所述扩充票据。
72.在上述各技术方案的基础上,可选的,模型工作模块包括:
73.图像特征提取单元,用于提取所述原始票据和所述扩充票据的票据图像特征;
74.特征输入单元,用于将所述票据图像特征与空间位置编码相加并输入编码器;
75.结果输入模块,用于将经过所述编码器处理得到的结果输入解码器;其中所述解码器中的各层均输出对应解码结果;
76.模型输出结果确定单元,用于根据前向传播网络和所述解码结果确定模型输出结果。
77.在上述各技术方案的基础上,可选的,所述文本检测模块,包括:
78.文本检测单元,用于获取待识别票据,启动对应的子线程,通过应用程序接口调用所述票据文本检测模型,检测所述待识别票据中的文本。
79.在上述各技术方案的基础上,可选的,所述文本检测单元,包括:
80.请求监听单子单元,用于通过所述子线程监听所述待识别票据是否存在文本检测请求;
81.模型调用子单元,用于若所述请求监听单子单元监听为存在,则通过应用程序接口调用所述票据文本检测模型;其中,单个所述票据文本检测模型对应一个或多个所述子线程。
82.实施例四
83.图4为本发明实施例四提供的一种电子设备的结构示意图,如图4所示,该电子设备包括处理器40、存储器41、输入装置42和输出装置43;电子设备中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;电子设备中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图4中以通过总线连接为例。
84.存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的票据文本检测方法对应的程序指令/模块。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的票据文本检测方法。
85.存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
86.实施例五
87.本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种票据文本检测方法,该方法包括:
88.获取原始票据,并通过根据所述原始票据确定的票据背景图像生成扩充票据;
89.根据所述原始票据和所述扩充票据训练预设模型,得到票据文本检测模型;
90.获取待识别票据,通过调用所述票据文本检测模型,检测所述待识别票据中的文本。
91.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的票据文本检测方法中的相关操作。
92.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
93.值得注意的是,上述票据文本检测装置的实施例中,所包括的各个单元和模块只
是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
94.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。