CN113326842A - 一种金融表单文字识别方法 - Google Patents

一种金融表单文字识别方法 Download PDF

Info

Publication number
CN113326842A
CN113326842A CN202110611137.0A CN202110611137A CN113326842A CN 113326842 A CN113326842 A CN 113326842A CN 202110611137 A CN202110611137 A CN 202110611137A CN 113326842 A CN113326842 A CN 113326842A
Authority
CN
China
Prior art keywords
network
text
financial
line image
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110611137.0A
Other languages
English (en)
Inventor
肖敏
高伟华
李彦佳
唐嘉凯
王振
黄小卉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN202110611137.0A priority Critical patent/CN113326842A/zh
Publication of CN113326842A publication Critical patent/CN113326842A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/32Normalisation of the pattern dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种金融表单文字识别方法,该方法包括:获取待测金融图表;将所述待测金融图表输入至第一网络,确定至少一个文本框的四个顶点,并根据所述四个顶点,截取保存为对应框选的二维数组;根据所述二维数组,确定文本行图像,并将所述文本行图像输入至第二网络,确定所述文本行图像中的文本信息。本发明将训练的文本检测和文字识别模型进行融合,基于B/S架构开发了一套端到端的在线金融图表文字识别***,可为相关业务人员提供方便快捷的金融图表文字识别功能。

Description

一种金融表单文字识别方法
技术领域
本发明涉及文字识别技术领域,尤其涉及一种金融表单文字识别方法。
背景技术
截至2020年底,中国上市公司数量已达4100家,位居全球第三,涵盖了国民经济全部90个行业大类。这些上市公司每年都会产生巨量的财报、债券公告与研报,互联网金融信息提供商要根据这些债券图表为用户提供投资建议。但提供投资建议的前提是将这些债券图表转换为计算机可处理的形式,以便进行信息抽取、构建金融事件图谱与投资逻辑。然而现阶段上市公司提供的债券图表多为图像、PDF等不可编辑的形式。
目前解决该问题的思路主要是基于深度学***文本,但CTPN没有将多方向的文本检测纳入考虑,对带有倾斜角度的文本检测效果较差,且由于在网络中添加了双向LSTM导致检测速度较慢;又比如对SSD算法进行改进,将小尺度候选框的思路引入其中,将文本的倾斜角度纳入考虑,提高了文本检测的鲁棒性,但由于该算法相邻segment之间通过link连接,因此不能检测间隔较大的文本行;又比如利用EAST(E-fficient and Accurate SceneText Detector)网络,EAST网络仅有全卷积网络和后续的NMS处理两个阶段,网络的简洁使得检测的准确性和速度得到了进一步的提高,但EAST网络由于感受野较小,对长文本的检测效果较差。
尽管上述提到的技术都可执行文本检测和文字识别任务,但其被提出时应用场景主要是街景字符识别,没有针对金融表单领域进行特定的优化,因此检测效果较差、效率较低。因此,如何高效地将债券图表转换为计算机可使用的信息是亟待解决的问题。
发明内容
有鉴于此,有必要提供一种金融表单文字识别方法,用以解决现有技术中无法对金融图表进行有效识别的问题。
本发明提供一种金融表单文字识别方法,包括:
获取待测金融图表;
将所述待测金融图表输入至第一网络,确定至少一个文本框的四个顶点,并根据所述四个顶点,截取保存为对应框选的二维数组;
根据所述二维数组,确定文本行图像,并将所述文本行图像输入至第二网络,确定所述文本行图像中的文本信息。
进一步地,所述将所述待测金融图表输入至第一网络,确定至少一个文本框的四个顶点,并根据所述四个顶点,截取保存为对应框选的二维数组包括:
将所述待测金融图表放大或者缩小至指定尺寸后,输入至所述第一网络;
所述第一网络识别所述待测金融图表中的至少一个文本框,并确定所述至少一个文本框的四个顶点;
根据所述至少一个文本框的四个顶点,确定由四个顶点为边界顶点构成的所述二维数组;
截取保存对应框选的所述二维数组。
进一步地,所述根据所述二维数组,确定文本行图像包括:
对所述二维数组进行遍历,确定初始行图像的位置信息,其中,所述初始行图像为所述二维数组确定的文本框对应形成的图像;
根据所述初始行图像的位置信息对所述待测金融图表进行裁剪,确定所述初始行图像;
将所述初始行图像依次进行二值化处理、滤波处理,确定所述文本行图像,以提高文字识别效果。
进一步地,所述第一网络的训练过程包括:
获取带有第一标注信息的金融图表数据集,其中,所述第一标注信息为所述金融图表数据集中存在的文本框的四个顶点的实际四点注释数据;
将所述金融图表数据集输入至所述第一网络,确定预测四点注释数据;
根据所述实际四点注释数据和所述预测四点注释数据,确定第一损失函数,根据所述第一损失函数的值调整所述第一网络的参数直至满足收敛条件,完成对所述第一网络的训练,并将训练完备的所述第一网络进行存储。
进一步地,所述第一网络的网络结构包括特征提取层、特征融合层和输出层,其中:
所述特征提取层,用于采用VGG16网络进行特征提取,输出不同感受野的特征图;
所述特征融合层,用于将所述不同感受野的特征图进行融合,经过一系列的上采样、卷积、拼接,输出合并后的预测特征图;
所述输出层,用于根据所述预测特征图,采用头部元素预测左上、左下点,采用尾部元素预测右上、右下点的方法,将预测出的顶点进行加权平均,得到文本框的四个顶点的预测四点注释数据。
进一步地,所述并将所述文本行图像输入至第二网络,确定所述文本行图像中的文本信息包括:
将所述文本行图像输入至所述第二网络;
所述第二网络对所述文本行图像中的文字进行识别,根据识别结果,输出对应的所述文本信息;
将所述文本信息保存至字符串数组中,并返回前端。
进一步地,所述第二网络的训练过程包括:
获取带有第二标注信息的金融文字数据集,其中,所述第二标注信息为所述金融文字数据集中对应的实际文字信息;
将所述金融文字数据集输入至所述第二网络,确定预测文字信息;
根据所述实际文字信息和所述预测文字信息,确定第二损失函数,根据所述第二损失函数的值调整所述第二网络的参数直至满足收敛条件,完成对所述第二网络的训练,并将训练完备的所述第二网络进行存储。
进一步地,所述第二网络的网络结构包括卷积层、循环层和转录层,其中:
所述卷积层,用于对所述文本行图像进行放缩处理,输出卷积特征图,其中,对应的骨干网络采用ResNet34网络;
所述循环层,用于根据所述卷积特征图与循环神经网络相结合,由两个方向相反的LSTM网络组成,通过堆叠多层BLSTM网络获取上下文语义信息,输出特征向量;
所述转录层,用于将所述特征向量转换成标签序列,并根据所述标签序列输出对应的所述文本信息。
进一步地,所述金融文字数据集的建立包括:
收集金融语料,并将收集到的所述金融语料保存为xlsx格式;
基于Python提供的openpyxl包,对所述金融语料的xlsx格式进行解析,得到解析数据;
对所述解析数据随机指定文本长度,生成图像原始数据;
对所述图像原始数据,随机添加高斯噪声和椒盐噪声,生成多种文本图像;
对所述多种文本图像进行保存,生成对应的所述金融文字数据集。
进一步地,所述第二网络在所述卷积层的全连接层处采用了的dropout随机舍弃输入结点进行训练,并采用L2正则化,采用余弦退火衰减的方式控制学习率的变化,同时采用early-stopping方式,以防止过拟合。
与现有技术相比,本发明的有益效果包括:首先,对待测金融图表进行有效的获取;然后,将待测金融图表输入至第一网络,确定文本框对应的二维数组;最后,根据二维数组形成文本行图像,输入至第二网络,由第二网络进行识别,确定多个文本行图像分别对应的文本信息。综上,本发明针对文本检测和文字识别两个任务,分别建立第一网络和第二网络,实现高效准确的端到端金融图表文字识别,简化用户的操作步骤,带给用户良好的使用体验,面向互联网金融信息提供商的技术人员,为其提供基础的金融图表文字识别功能,可用于后续的图表结构化还原与信息提取,此外,本发明虽然主要面向金融领域开发,但由于文本检测与文字识别模型具有良好的泛化能力,因此也可为其他领域提供文字识别服务。
附图说明
图1为本发明提供的金融表单文字识别方法一实施例的流程示意图;
图2为本发明提供的图1中步骤S2一实施例的流程示意图;
图3为本发明提供的图1中步骤S3一实施例的流程示意图一;
图4为本发明提供的第一网络的训练过程一实施例的流程示意图;
图5为本发明提供的第一网络一实施例的结构示意图;
图6为本发明提供的第一网络训练样本一实施例的示意图;
图7为本发明提供的第一网络样本集标注过程的示意图;
图8为本发明提供的检测图像样例一实施例的示意图;
图9为本发明提供的图1中步骤S3一实施例的流程示意图;
图10为本发明提供的第二网络的训练过程一实施例的流程示意图;
图11为本发明提供的第二网络一实施例的结构示意图;
图12为本发明提供的Map-to-Sequence方法一实施例的示意图;
图13为本发明提供的金融文字数据集的建立一实施例的流程示意图;
图14为本发明提供的金融文字数据集的部分样例一实施例的示意图;
图15为本发明提供的loss曲线一实施例的示意图;
图16为本发明提供的待测金融图表一实施例的示意图;
图17为本发明提供的文本位置坐标一实施例的示意图;
图18为本发明提供的标出文本框位置后的图像一实施例的示意;
图19为本发明提供的按照文本位置剪裁后的图像一实施例的示意图;
图20为本发明提供的文字信息一实施例的示意图;
图21为本发明提供的模型调用一实施例的示意图;
图22为本发明提供的结果返回一实施例的示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明实施例提供了一种金融表单文字识别方法,结合图1来看,图1为本发明提供的金融表单文字识别方法一实施例的流程示意图,包括步骤S1至步骤S3,其中:
在步骤S1中,获取待测金融图表;
在步骤S2中,将所述待测金融图表输入至第一网络,确定至少一个文本框的四个顶点,并根据所述四个顶点,截取保存为对应框选的二维数组;
在步骤S3中,根据所述二维数组,确定文本行图像,并将所述文本行图像输入至第二网络,确定所述文本行图像中的文本信息。
在本发明实施例中,首先,对待测金融图表进行有效的获取;然后,将待测金融图表输入至第一网络,确定文本框对应的二维数组;最后,根据二维数组形成文本行图像,输入至第二网络,由第二网络进行识别,确定多个文本行图像分别对应的文本信息。
作为优选的实施例,结合图2来看,图2为本发明提供的图1中步骤S2一实施例的流程示意图,步骤S2中二维数组的确定包括步骤S21至步骤S24,其中:
在步骤S21中,将所述待测金融图表放大或者缩小至指定尺寸后,输入至所述第一网络;
在步骤S22中,所述第一网络识别所述待测金融图表中的至少一个文本框,并确定所述至少一个文本框的四个顶点;
在步骤S23中,根据所述至少一个文本框的四个顶点,确定由四个顶点为边界顶点构成的所述二维数组;
在步骤S24中,截取保存对应框选的所述二维数组。
作为具体实施例,本发明实施例利用二维数组,对文本框进行有效的识别,以便后续形成文本行图像。
作为优选的实施例,结合图3来看,图3为本发明提供的图1中步骤S3一实施例的流程示意图一,步骤S3中文本行图像的确定包括步骤S31至步骤S33,其中:
在步骤S31中,对所述二维数组进行遍历,确定初始行图像的位置信息,其中,所述初始行图像为所述二维数组确定的文本框对应形成的图像;
在步骤S32中,根据所述初始行图像的位置信息对所述待测金融图表进行裁剪,确定所述初始行图像;
在步骤S33中,将所述初始行图像依次进行二值化处理、滤波处理,确定所述文本行图像,以提高文字识别效果。
作为具体实施例,本发明实施例根据二维数据,确定对应的文本行图像,保证第二网络的输入。
需要说明的是,本发明使用的放缩、裁剪、二值化和滤波等图像预处理技术包括:
第一,放缩,用户上传的图像尺寸是多种多样的,而第一网络(如AdvancedEAST网络)输入图像尺寸是固定的,因此需要对用户上传的图像进行放缩。本项目采用OpenCV的resize()方法对图像放缩,resize方法接收6个参数,分别是原始图像、目标图像、目标图像大小、水平缩放比例、垂直缩放比例和插值方法。在本项目中,原始图像即用户上传的图像,目标图像大小即AdvancedEAST网络设置的输入尺寸,其他参数保持默认值;
第二,剪裁,在得到文本的位置后,需要根据该位置对图像进行裁剪才能输入CRNN网络中。而在Python中,图像以三维数组形式存储,三维分别为宽、高、通道,因此仅仅根据文本位置对数组前两维进行切片即可获取指定的文本区域;
第三,二值化,图像二值化是指将像素点的灰度值根据阈值设置为0或255,使图像只包含灰度信息。通过二值化可以将图像由RGB三通道变为单通道,减少数据量,同时可以提高处理的速度;
第四,滤波,用户提交的图像可能伴有噪声,如果不经过处理会降低模型识别准确率,因此需要对用户上传的图像进行滤波操作,本项目采用中值滤波消除图像噪声。中值滤波法是一种非线性平滑技术,基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动窗口,将窗口内像素按照像素值的大小进行排序,生成单调上升(或下降)的数据序列,将窗口中心像素值代替为数据序列的中值。
作为优选的实施例,结合图4来看,图4为本发明提供的第一网络的训练过程一实施例的流程示意图,包括步骤S4001至步骤S4003,其中:
在步骤S4001中,获取带有第一标注信息的金融图表数据集,其中,所述第一标注信息为所述金融图表数据集中存在的文本框的四个顶点的实际四点注释数据;
在步骤S4002中,将所述金融图表数据集输入至所述第一网络,确定预测四点注释数据;
在步骤S4003中,根据所述实际四点注释数据和所述预测四点注释数据,确定第一损失函数,根据所述第一损失函数的值调整所述第一网络的参数直至满足收敛条件,完成对所述第一网络的训练,并将训练完备的所述第一网络进行存储。
作为具体实施例,本发明实施例对第一网络进行有效的训练,保证其对文本框进行有效的识别。
作为优选的实施例,所述第一网络的网络结构包括特征提取层、特征融合层和输出层,其中:
所述特征提取层,用于采用VGG16网络进行特征提取,输出不同感受野的特征图;
所述特征融合层,用于将所述不同感受野的特征图进行融合,经过一系列的上采样、卷积、拼接,输出合并后的预测特征图;
所述输出层,用于根据所述预测特征图,采用头部元素预测左上、左下点,采用尾部元素预测右上、右下点的方法,将预测出的顶点进行加权平均,得到文本框的四个顶点的预测四点注释数据。
作为具体实施例,本发明实施例设置第一网络的网络结果,保证对四点注释数据进行有效的输出。
在本发明一个具体的实施例中,第一网络为AdvancedEAST网络,结合图5来看,图5为本发明提供的第一网络一实施例的结构示意图,AdvancedEAST网络对EAST算法针对长文本的检测缺陷进行了重大改进,其中,AdvancedEAST网络可分为Feature extractor、Feature merging和Output三个部分,即特征提取层、特征融合层和输出层:
特征提取部分,AdvancedEAST网络采用VGG16进行特征提取。VGG16是一种经典的特征提取网络,可以提取出丰富的图像特征,具有结构简单、易训练、方便多尺度输出的特点,现阶段很多计算机视觉的高级任务如图像分类、目标检测都使用VGG16进行特征提取;
特征融合部分,AdvancedEAST网络在VGG16网络中进行多尺度输出,将不同感受野的特征图进行融合,以提高网络的检测性能。在提取出VGG不同检测阶段的特征图后,经过一系列的上采样、卷积、拼接,最终将分支进行合并得到用于预测的特征图。
输出部分,是AdvancedEAST网络改动较大的地方,主要在这一部分解决了EAST在长文本预测的限制问题。EAST网络在预测文本框位置时,利用框内的点预测到四条边的距离,通过加权平均得到边框的位置,然而当文本较长时,一端的点很可能丢失到另一端的信息,从而导致长文本预测错误。AdvancedEAST网络对这一部分进行改进,采用头部元素预测左上、左下点,尾部元素预测右上、右下点的方法,将预测出的顶点进行加权平均,从而得到文本框的四个顶点,提高了识别的效果。
在本发明一个具体的实施例中,结合图6、图7来看,图6为本发明提供的第一网络训练样本一实施例的示意图,图7为本发明提供的第一网络样本集标注过程的示意图,第一网络的数据集制作流程包括:
第一步,通过Chrome浏览器的Fatkun图片批量下载扩展程序下载所需图片,共搜集1200余张图像,但这些图像中存在大量模糊、失真、分辨率过小的图像,无法用于训练,因此需要对图像进行清洗。清洗完成后剩下920张图像,样例数据如图6所示;
第二步,采用PPOCRLabel进行图像标注,PPOCRLabel是一种适用于OCR字段的半自动图像标注工具,具有内置的PPOCR模型可以自动检测和识别文本,采用PyQt5进行界面开发,支持矩形注释和四点注释模式,标注完成后可直接生成用于训练的文本框标签(四点注释)数据,标注过程如图7所示。
在本发明一个具体的实施例中,结合图8来看,图8为本发明提供的检测图像样例一实施例的示意图,第一网络的训练流程包括:
第一步,数据集制作完成后,本发明将数据集按照9:1划分为训练集和验证集,训练集照片828张,验证集照片92张,并将赛题所给10张照片作为测试集;
第二步,在训练过程中,采用经典的“两步法”进行训练,即首先将VGG16在ImageNet数据集上训练得到预训练模型,在本发明构建的金融图表数据集上进行权重的微调。为了加快训练速度,AdvancedEAST网络将训练过程分为5个阶段,在每个阶段将输入图像调整至相应大小,逐阶段进行训练,5个阶段输入图片最大尺寸分别为256*256、384*384、512*512、640*640、736*736。训练使用的实验设备为单张NVIDIA GeForce GTX 1050Ti,CPU为Intel(R)Core(TM)i5-8300H,8GB运行内存,Windows 10操作***,并配置了CUDA10.0安装包。使用的深度学习框架为Keras 2.3.1,使用Tensorflow-gpu 2.0.0作为后端,具体的训练与调优过程可见调优文档;
第三步,训练完成后,将得到的模型在测试集上进行测试,平均准确率和平均召回率分别为94.85%和94.80%,检测图像样例如图8所示。
作为优选的实施例,结合图9来看,图9为本发明提供的图1中步骤S3一实施例的流程示意图二,步骤S3中文本信息的确定包括步骤S34至步骤S36,其中:
在步骤S34中,将所述文本行图像输入至所述第二网络;
在步骤S35中,所述第二网络对所述文本行图像中的文字进行识别,根据识别结果,输出对应的所述文本信息;
在步骤S36中,将所述文本信息保存至字符串数组中,并返回前端。
作为具体实施例,本发明实施例利用第二网络对文本行图像中的文字进行有效的识别。
作为优选的实施例,结合图10来看,图10为本发明提供的第二网络的训练过程一实施例的流程示意图,包括步骤S6001至步骤S6003,其中:
在步骤S6001中,获取带有第二标注信息的金融文字数据集,其中,所述第二标注信息为所述金融文字数据集中对应的实际文字信息;
在步骤S6002中,将所述金融文字数据集输入至所述第二网络,确定预测文字信息;
在步骤S6003中,根据所述实际文字信息和所述预测文字信息,确定第二损失函数,根据所述第二损失函数的值调整所述第二网络的参数直至满足收敛条件,完成对所述第二网络的训练,并将训练完备的所述第二网络进行存储。
作为具体实施例,本发明实施例实现对第二网络的有效训练。
作为优选的实施例,所述第二网络的网络结构包括卷积层、循环层和转录层,其中:
所述卷积层,用于对所述文本行图像进行放缩处理,输出卷积特征图,其中,对应的骨干网络采用ResNet34网络;
所述循环层,用于根据所述卷积特征图与循环神经网络相结合,由两个方向相反的LSTM网络组成,通过堆叠多层BLSTM网络获取上下文语义信息,输出特征向量;
所述转录层,用于将所述特征向量转换成标签序列,并根据所述标签序列输出对应的所述文本信息。
作为具体实施例,本发明实施例设置有效的网络结构,构成第二网络,保证对文字信息的有效识别。
在本发明一个具体的实施例中,第二网络为CRNN网络,CRNN网络可分为Convlutional Layers、Recurrent Layers和Transcription,即卷积层、循环层和转录层三大部分,结合图11、图12来看,图11为本发明提供的第二网络一实施例的结构示意图,图12为本发明提供的Map-to-Sequence方法一实施例的示意图,其中:
在卷积层中,CRNN网络首先将输入图像进行放缩处理,将所有输入图像放缩到指定尺寸,本项目中高度为32,宽度可任意长。骨干网络采用ResNet34,通过深层次的网络结构来提取特征,加速神经网络的训练、避免网络过深导致的梯度***和梯度消失问题;
在循环层中,为了将卷积层得到的特征图输入到后续的循环层中,CRNN网络中使用了Map-to-Sequence的方法,如图12所示,该方法在特征图上按列从左到右生成每一个特征向量,每一列包含512维特征,这意味着第i个特征向量是由所有的特征图中第i列像素连接而成,而这些特征向量就组成了一个序列,作为后续循环层的输入;循环层是CRNN网络算法的核心所在,它吸取了语音识别领域的经验,将CNN网络提取的特征与循环神经网络相结合,既提取了图像的网络特征,又通过序列识别避免了传统算法中难度极高的单字符切割和单字符识别,同时将序列化识别也嵌入时序依赖。在CRNN网络中,循环层的实现由两个方向相反的LSTM组成,即BLSTM网络。相对于传统的RNN网络,BLSTM能够更有效地处理句子中长距离单词,且更利于网络的训练。此外,相对于单字符识别,文本段的识别依赖于上下文语义特征,CRNN通过堆叠多层BLSTM获取上下文语义信息,辅助进行文字识别,能够大大提高文字识别的准确率和鲁棒性;
在转录层中,CRNN在转录层将每一个特征向量所做的预测转换成标签序列。转录过程最大的困难在于如何将不定长序列对齐以及如何解决由于循环层输出导致的序列重复问题。同样,CRNN借鉴了语音识别中解决不定长语音识别的思路来解决文字识别中类似的问题,即CTC(Connectionist Temporal Classification)算法。CTC算法通过引入blank机制解决了重复序列的问题,并且也不需要循环层序列和最终的标签文字严格对齐。
作为优选的实施例,结合图13来看,图13为本发明提供的金融文字数据集的建立一实施例的流程示意图,包括步骤S7001至步骤S7005,其中:
在步骤S7001中,收集金融语料,并将收集到的所述金融语料保存为xlsx格式;
在步骤S7002中,基于Python提供的openpyxl包,对所述金融语料的xlsx格式进行解析,得到解析数据;
在步骤S7003中,对所述解析数据随机指定文本长度,生成图像原始数据;
在步骤S7004中,对所述图像原始数据,随机添加高斯噪声和椒盐噪声,生成多种文本图像;
在步骤S7005中,对所述多种文本图像进行保存,生成对应的所述金融文字数据集。
作为具体实施例,本发明实施例通过对金融语料的多种处理,以便生成有效的金融文字数据集。
需要说明的是,目前,并没有成熟的针对于金融领域文字识别的数据集,因此本发明收集金融语料库,根据语料库中的内容生成数据集,并通过随机添加噪声的方式模拟现实生活中图像可能存在的各种问题。所选用的金融语料库主要包括金融新闻、工商数据、专栏咨询和投资事件。
在本发明一个具体的实施例中,结合图14来看,图14为本发明提供的金融文字数据集的部分样例一实施例的示意图,金融文字数据集的制作流程如下:
第一步,将收集到的金融语料以Excel的形式保存,通过Python提供的openpyxl包对xlsx格式进行解析;
第二步,得到其中数据后随机指定文本长度,生成图像原始数据后随机添加高斯噪声和椒盐噪声,最后通过pygame包提供的pygame.image.save()函数保存图像,生成的数据集样例如图14所示;
第三步,数据集制作完成后共得到88649张图片,按照8:2划分为训练集和验证集,其中训练集图像72920张,验证集图像17729张,将大赛提供的2000张图像作为测试集。
作为优选的实施例,所述第二网络在所述卷积层的全连接层处采用了的dropout随机舍弃输入结点进行训练,并采用L2正则化,采用余弦退火衰减的方式控制学习率的变化,同时采用early-stopping方式,以防止过拟合。作为具体实施例,本发明实施例采用多种训练方法,保证网络的有效收敛。
在本发明一个具体的实施例中,采用迁移学习进行文字识别模型的训练,即本发明数据集在基于Paddle OCR提供的预训练模型上进行权重的微调,能够极大缩短训练过程,而且通过迁移学习的方式能够非常有效的从卷积层中提取出深层、浅层相结合的特征信息。训练过程中,通过对训练集随机打乱并按照小批量随机梯度下降的方式加快收敛速度。同时,为了防止训练过程出现过拟合效应,本发明采用了多种方式,一是在全连接层处使用了以0.5为参数的dropout随机舍弃输入结点进行训练;二是采用L2正则化,防止数据过于分散;三是采用余弦退火衰减的方式控制学习率的变化,一定程度上避免了过拟合且能够使得模型尽量的趋于全局最优值;四是early-stopping方式,能够在训练过程中减少过拟合现象发生。余弦退火衰减算法是指通过余弦函数降低学习率。在余弦函数中,因变量随着自变量的增加首先缓慢下降,然后加速下降,再次缓慢下降,余弦退火衰减算法可以将余弦函数的这种性质与学习率的衰减速度相配合,以一种十分有效的方式产生很好的效果。
其中,在训练过程中设置的参数如下:epoch次数设置为500,且设置在训练迭代100次后每3次迭代进行验证并保存该次模型,同时保存多次验证中准确率最高的模型作为最终的训练模型。此外,本发明使用early-stopping方式以防止过拟合,即当发现模型训练收敛时,停止训练,避免过拟合。模型训练过程的loss曲线如图15所示,图15为本发明提供的loss曲线一实施例的示意图,训练完成后,将模型在测试集上进行测试,字符完全匹配准确率和总的字符准确率分别达到90.75%和97.68%
在本发明一个具体的实施例中,将上述训练的第一网络和第二网络进行融合,提出一种端到端的金融图表文字识别方法,前端将用户提交的金融图表上传至服务器,服务器接收图像后将其放缩至指定大小,输入至AdvancedEAST网络中,使用上文得到的模型对其进行预测,将预测结果以数组的形式保存,即将每一个文本框的四个顶点保存到一个二维数组中,然后对该数组进行遍历,根据数组的每一项对图像进行裁剪、二值化、滤波,将经过预处理的的文本行图像输入CRNN网络中,得到相应的文本信息,数组遍历完成后将全部文本信息返回前端,用户即可得到图表中所包含的全部文字,结合图16、17、18、19、20来看,其中,图16为本发明提供的待测金融图表一实施例的示意图,图17为本发明提供的文本位置坐标一实施例的示意图,图18为本发明提供的标出文本框位置后的图像一实施例的示意图,图19为本发明提供的按照文本位置剪裁后的图像一实施例的示意图,图20为本发明提供的文字信息一实施例的示意图,举例具体流程如下:
第一步,假定用户上传图16所示图表,经过文本检测模型处理后得到图表中每个文本的位置(每个文本框的四个顶点坐标),位置信息保存在数组中,若输入到txt文件后如图17所示,将这些文本标出后如图18所示。将图16按照图17中的文本位置裁剪、二值化、滤波,这些步骤完成后得到一张张只包含有单行文本的图像,将这些图像保存到本地后如图19所示。得到只包含有单行文本的图像后,将其输入CRNN网络中,对其进行预测,返回其中的文字信息,识别出的文字信息如图20所示。将图20文字信息返回给前端,用户即可得到图20中的文字信息。
本发明实施例还提供了一种金融表单文字识别装置,包括处理器以及存储器,存储器上存储有计算机程序,计算机程序被处理器执行时,实现如上所述的金融表单文字识别方法。
本发明实施例还提供了一种金融表单文字识别***,包括图片上传单元、如上所述的金融表单文字识别装置、文字可视化单元,其中,图片上传单元,用于用户输入待测金融图表,金融表单文字识别装置,用于实现如上所述的金融表单文字识别方法,文字可视化单元,用于向用户展示识别的文字信息。
其中,本***采用SpringBoot框架进行后端开发,作为业务处理的Java后台。编写Python脚本与业务后台通信,按照通信的消息调用识别文字模型,产生结果,最终由Java后台返回给前端;
其中,对于深度学***台、跨语言特性;
其中,本***将Java后台作为生产者,接收用户的操作请求和上传的图片,并将用户上传的图片进行缓存,声明singleImage队列和wholeImage队列向Python脚本通知,通过向队列的RabbitMQ信道里发布消息,告知Python脚本可以开始调用对应的文字识别模型处理缓存中的图片,告知后即可向用户返回请求成功的信息,让用户等待识别结果,此时Python脚本作为消费者监听这两个队列,一旦生产者向对应的信道中发布消息,Python脚本即可执行回调方法,让识别模型开始运行。而在识别模型运行期间,如果还有发布消息产生,这些消息会自动进入信道的阻塞队列中等待,防止模型被同时调用两次及以上导致显存不足出错。模型调用如图21所示,图21为本发明提供的模型调用一实施例的示意图。
其中,模型识别完成后将结果存储在本地,Python脚本作为消费者声明output队列作为向Java后台通知的队列,向output队列的RabbitMQ信道里发布消息,告知Java后台可以获取结果并且返回给用户。此时Java后台作为消费者,监听output队列,一旦有处理成功的消息,便读取本地结果返回给前端,展示给用户。结果返回如图22所示,图22为本发明提供的结果返回一实施例的示意图。
其中,本***采用SpringBoot作为后台开发框架,RabbitMQ作为通信手段,Nginx作为反向代理服务,极大的增强了***的拓展性和并发能力。SpringBoot是当前后台的主流框架,可扩展性强,配置灵活,依赖管理简便,为后续业务扩张提供无限可能。未来还可以采用SpringCloud进行分布式的微服务架构,去中心化,易于开发和维护。而RabbitMQ支持跨***的异步通信,作为消息中间件能很好的支持分布式结构,如果能购置多台配置在GPUNVIDIA GeForce GTX 1050Ti以上的服务器,即可实现分布式计算,利用RabbitMQ的发布订阅功能,同时处理多个识别请求,每台电脑同时运行识别模型,在多用户情景下提高并发量和响应速度。同时,Nginx是一款轻量级的反向代理服务器,其占用内存少,并发能力强,具有负载均衡功能,可以将接收到的请求数量按照一定的规则分发到不同的服务器,能解决大流量分布式网络所面临的高可用问题。因此,本***可以很好的适应未来并发量高,用户日活量大的场景。
其中,本***采用渐进式框架Vue进行前端开发,设计文件上传和识别结果展示的Web平台,在具体的开发细节上,本***通过Axios请求的方式与后端进行数据交互,基于Vuex对前端数据进行管理,使用Element-UI和CSS进行组件UI的设计。
其中,由于金融图表包含数据量较大,使用JQuery或原生JavaScript DOM操作函数对DOM进行频繁操作会导致浏览器卡顿,因而选用基于虚拟DOM机制的Vue框架进行开发。同时Vue框架的组件化开发使得项目易于管理,极大简化了开发过程。此外,Vue框架面向数据进行操作,当页面中的数据发生变化时,页面会自动重新渲染,实现了页面与数据之间的响应式操作。考虑到在各个组件之间存在数据共享和数据传递问题,本***采用Vuex状态管理模式对页面中的数据进行管理,且Vuex中的数据双向绑定,在各个组件中都可通过store对象实现数据的共享,解决了父子组件和兄弟组件之间的传值问题,有效避免了页面中的数据污染。
其中,本***采用Axios与后端进行交互,并在原生的Axios框架基础上进行了二次封装。在今后的维护过程中,只需在相应的导出文件index.js中进行修改,即可在整个项目中保证Axios请求的正常使用。对于文件上传模块,本***采用Post请求与Formdata表单提交对文件进行异步上传,并在文件上传后使用文件名加默认URL地址的方式对后端进行Get请求,轮询识别结果。当数据从后端返回后,相对于直接修改store中的数据,本***调用Vuex中的Action将返回的数据提交到store对象中,以实现对于异步操作的管理和数据的保护。
其中,对于UI组件,本***采用了Element-UI+CSS样式。相较于传统的iview,Element-UI对于Vue框架更为友好并且内置了过渡动画,借此实现了友好的用户界面,保证了程序的高效运行。
本发明公开了一种金融表单文字识别方法,首先,对待测金融图表进行有效的获取;然后,将待测金融图表输入至第一网络,确定文本框对应的二维数组;最后,根据二维数组形成文本行图像,输入至第二网络,由第二网络进行识别,确定多个文本行图像分别对应的文本信息。
本发明技术方案,针对文本检测和文字识别两个任务,分别建立第一网络和第二网络,实现高效准确的端到端金融图表文字识别,简化用户的操作步骤,带给用户良好的使用体验,面向互联网金融信息提供商的技术人员,为其提供基础的金融图表文字识别功能,可用于后续的图表结构化还原与信息提取,此外,本发明虽然主要面向金融领域开发,但由于文本检测与文字识别模型具有良好的泛化能力,因此也可为其他领域提供文字识别服务。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种金融表单文字识别方法,其特征在于,包括:
获取待测金融图表;
将所述待测金融图表输入至第一网络,确定至少一个文本框的四个顶点,并根据所述四个顶点,截取保存为对应框选的二维数组;
根据所述二维数组,确定文本行图像,并将所述文本行图像输入至第二网络,确定所述文本行图像中的文本信息。
2.根据权利要求1所述的金融表单文字识别方法,其特征在于,所述将所述待测金融图表输入至第一网络,确定至少一个文本框的四个顶点,并根据所述四个顶点,截取保存为对应框选的二维数组包括:
将所述待测金融图表放大或者缩小至指定尺寸后,输入至所述第一网络;
所述第一网络识别所述待测金融图表中的至少一个文本框,并确定所述至少一个文本框的四个顶点;
根据所述至少一个文本框的四个顶点,确定由四个顶点为边界顶点构成的所述二维数组;
截取保存对应框选的所述二维数组。
3.根据权利要求1所述的金融表单文字识别方法,其特征在于,所述根据所述二维数组,确定文本行图像包括:
对所述二维数组进行遍历,确定初始行图像的位置信息,其中,所述初始行图像为所述二维数组确定的文本框对应形成的图像;
根据所述初始行图像的位置信息对所述待测金融图表进行裁剪,确定所述初始行图像;
将所述初始行图像依次进行二值化处理、滤波处理,确定所述文本行图像,以提高文字识别效果。
4.根据权利要求1所述的金融表单文字识别方法,其特征在于,所述第一网络的训练过程包括:
获取带有第一标注信息的金融图表数据集,其中,所述第一标注信息为所述金融图表数据集中存在的文本框的四个顶点的实际四点注释数据;
将所述金融图表数据集输入至所述第一网络,确定预测四点注释数据;
根据所述实际四点注释数据和所述预测四点注释数据,确定第一损失函数,根据所述第一损失函数的值调整所述第一网络的参数直至满足收敛条件,完成对所述第一网络的训练,并将训练完备的所述第一网络进行存储。
5.根据权利要求4所述的金融表单文字识别方法,其特征在于,所述第一网络的网络结构包括特征提取层、特征融合层和输出层,其中:
所述特征提取层,用于采用VGG16网络进行特征提取,输出不同感受野的特征图;
所述特征融合层,用于将所述不同感受野的特征图进行融合,经过一系列的上采样、卷积、拼接,输出合并后的预测特征图;
所述输出层,用于根据所述预测特征图,采用头部元素预测左上、左下点,采用尾部元素预测右上、右下点的方法,将预测出的顶点进行加权平均,得到文本框的四个顶点的预测四点注释数据。
6.根据权利要求1所述的金融表单文字识别方法,其特征在于,所述并将所述文本行图像输入至第二网络,确定所述文本行图像中的文本信息包括:
将所述文本行图像输入至所述第二网络;
所述第二网络对所述文本行图像中的文字进行识别,根据识别结果,输出对应的所述文本信息;
将所述文本信息保存至字符串数组中,并返回前端。
7.根据权利要求6所述的金融表单文字识别方法,其特征在于,所述第二网络的训练过程包括:
获取带有第二标注信息的金融文字数据集,其中,所述第二标注信息为所述金融文字数据集中对应的实际文字信息;
将所述金融文字数据集输入至所述第二网络,确定预测文字信息;
根据所述实际文字信息和所述预测文字信息,确定第二损失函数,根据所述第二损失函数的值调整所述第二网络的参数直至满足收敛条件,完成对所述第二网络的训练,并将训练完备的所述第二网络进行存储。
8.根据权利要求7所述的金融表单文字识别方法,其特征在于,所述第二网络的网络结构包括卷积层、循环层和转录层,其中:
所述卷积层,用于对所述文本行图像进行放缩处理,输出卷积特征图,其中,对应的骨干网络采用ResNet34网络;
所述循环层,用于根据所述卷积特征图与循环神经网络相结合,由两个方向相反的LSTM网络组成,通过堆叠多层BLSTM网络获取上下文语义信息,输出特征向量;
所述转录层,用于将所述特征向量转换成标签序列,并根据所述标签序列输出对应的所述文本信息。
9.根据权利要求7所述的金融表单文字识别方法,其特征在于,所述金融文字数据集的建立包括:
收集金融语料,并将收集到的所述金融语料保存为xlsx格式;
基于Python提供的openpyxl包,对所述金融语料的xlsx格式进行解析,得到解析数据;
对所述解析数据随机指定文本长度,生成图像原始数据;
对所述图像原始数据,随机添加高斯噪声和椒盐噪声,生成多种文本图像;
对所述多种文本图像进行保存,生成对应的所述金融文字数据集。
10.根据权利要求8所述的金融表单文字识别方法,其特征在于,所述第二网络在所述卷积层的全连接层处采用了的dropout随机舍弃输入结点进行训练,并采用L2正则化,采用余弦退火衰减的方式控制学习率的变化,同时采用early-stopping方式,以防止过拟合。
CN202110611137.0A 2021-06-01 2021-06-01 一种金融表单文字识别方法 Pending CN113326842A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110611137.0A CN113326842A (zh) 2021-06-01 2021-06-01 一种金融表单文字识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110611137.0A CN113326842A (zh) 2021-06-01 2021-06-01 一种金融表单文字识别方法

Publications (1)

Publication Number Publication Date
CN113326842A true CN113326842A (zh) 2021-08-31

Family

ID=77423102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110611137.0A Pending CN113326842A (zh) 2021-06-01 2021-06-01 一种金融表单文字识别方法

Country Status (1)

Country Link
CN (1) CN113326842A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113850249A (zh) * 2021-12-01 2021-12-28 深圳市迪博企业风险管理技术有限公司 一种图表信息格式化提取方法
CN113886578A (zh) * 2021-09-16 2022-01-04 华清科盛(北京)信息技术有限公司 一种表单分类方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399845A (zh) * 2019-07-29 2019-11-01 上海海事大学 一种图像中连续成段文本检测与识别方法
CN112633277A (zh) * 2020-12-30 2021-04-09 杭州电子科技大学 基于深度学习的航道船牌检测、定位及识别方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399845A (zh) * 2019-07-29 2019-11-01 上海海事大学 一种图像中连续成段文本检测与识别方法
CN112633277A (zh) * 2020-12-30 2021-04-09 杭州电子科技大学 基于深度学习的航道船牌检测、定位及识别方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ZHIHENG GAO ET AL.: "A study of internet map building recognition based on AI technology", 《ICCC》 *
刘树春等: "《深度实践OCR 基于深度学习的文字识别》", 机械工业出版社 *
肖敏等: "数学公式识别***", 《 第八届全国汉字识别学术会议论文集》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113886578A (zh) * 2021-09-16 2022-01-04 华清科盛(北京)信息技术有限公司 一种表单分类方法及装置
CN113886578B (zh) * 2021-09-16 2023-08-04 华清科盛(北京)信息技术有限公司 一种表单分类方法及装置
CN113850249A (zh) * 2021-12-01 2021-12-28 深圳市迪博企业风险管理技术有限公司 一种图表信息格式化提取方法

Similar Documents

Publication Publication Date Title
CN111488826B (zh) 一种文本识别方法、装置、电子设备和存储介质
US10664999B2 (en) Saliency prediction for a mobile user interface
CN110866140B (zh) 图像特征提取模型训练方法、图像搜索方法及计算机设备
WO2021203863A1 (zh) 基于人工智能的物体检测方法、装置、设备及存储介质
CN108537269B (zh) 一种弱交互式的物体检测深度学习方法及其***
CN112749608B (zh) 视频审核方法、装置、计算机设备和存储介质
CN109993102B (zh) 相似人脸检索方法、装置及存储介质
CN113326842A (zh) 一种金融表单文字识别方法
CN111199541A (zh) 图像质量评价方法、装置、电子设备及存储介质
CN114596566B (zh) 文本识别方法及相关装置
CN111783712A (zh) 一种视频处理方法、装置、设备及介质
CN115861462B (zh) 图像生成模型的训练方法、装置、电子设备及存储介质
CN113051914A (zh) 一种基于多特征动态画像的企业隐藏标签抽取方法及装置
CN116049397A (zh) 基于多模态融合的敏感信息发现并自动分类分级方法
CN111625715A (zh) 信息提取方法、装置、电子设备及存储介质
CN114898266A (zh) 训练方法、图像处理方法、装置、电子设备以及存储介质
CN113569068B (zh) 描述内容生成方法、视觉内容的编码、解码方法、装置
CN114330234A (zh) 版面结构分析方法、装置、电子设备和存储介质
CN112052352B (zh) 视频排序方法、装置、服务器及存储介质
CN113762257A (zh) 一种美妆品牌图像中标志的识别方法及装置
CN116361502B (zh) 一种图像检索方法、装置、计算机设备及存储介质
CN113705293A (zh) 图像场景的识别方法、装置、设备及可读存储介质
CN116416637A (zh) 医学文档信息抽取方法、装置、电子设备及可读介质
CN114820885B (zh) 图像编辑方法及其模型训练方法、装置、设备和介质
CN115393867A (zh) 文本识别模型生成方法、文本识别方法、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210831

RJ01 Rejection of invention patent application after publication