公开/公告号CN112348022A
专利类型发明专利
公开/公告日2021-02-09
原文格式PDF
申请/专利权人 富邦华一银行有限公司;
申请/专利号CN202011168354.9
申请日2020-10-28
分类号G06K9/34(20060101);G06K9/00(20060101);G06K9/20(20060101);G06N3/04(20060101);G06N3/08(20060101);
代理机构31270 上海翰信知识产权代理事务所(普通合伙);
代理人张维东
地址 200120 上海市浦东新区自由贸易试验区世纪大道1168号A座101室、18楼、19楼及20楼
入库时间 2023-06-19 09:51:02
技术领域
本发明涉及识别技术领域,特别涉及一种基于深度学习的自由格式文档识别方法。
背景技术
文档识别任务一般通过一定的图像处理来识别图像中的文本内容。文本识别可应用于许多领域,如信件和包裹的分拣、稿件的编辑和校对、大量统计报表和卡片的汇总与分析、银行支票的处理、商品发票的统计汇总、商品编码的识别、商品仓库的管理,以及文档检索等,综上就是各类证件识别和财务票据处理的办公自动化等。方便用户快速录入信息,提高各行各业的工作效率。
目前关于文本识别方法有多种,例如基于传统图像处理,对字符进行分割,然后单独分类识别,其中一般需要对图像进行灰度化、二值化、阈值分割、归一化、支持向量机(Support Vector Machine,SVM)分类等来完成识别;再例如就是对具体的打印文档OCR识别结果进行自然语言处理,获得想要的信息。虽然OCR识别的适用范围比较通用,但也有它的缺点,处理过程比较复杂且不可见,不能保证输出完全正确。深度学习自然语言处理对于结果正确率的保障极其依赖于训练数据。对于专业文档来说语义是极其复杂的,现在市面上对于法律和财会等专业文档的自然语言处理引擎都不能保证很好的效果,基本上处理正确率能在80%就已经是很高了。
发明人在实施现有识别方法的过程中发现,现有识别方法存在如下缺点:
基于传统图像处理方法往往需要人工针对性的设计一些特征,中间还要穿插一些规则对算法处理不当的地方进行修正,并且对于图像背景复杂、干扰多,字符粘结严重的情况,传统方法处理的效果不是很好。而对具体的打印文档OCR识别结果进行自然语言处理,存在着处理过程比较复杂且不可见,正确率低等缺陷。
并且,目前市场上识别产品的功能主要是能把图片中的文字信息提取出来,但是并不知道提取出来的文字是什么意思。对于信息量巨大的财报或其他打印文档,如果不能准确知道识别的信息的标签,全部识别出来对于具体业务是几乎没有意义的。
因此有必要提供一种基于深度学习的自由格式文档识别方法,以解决现有技术中文档识别正确率低以及不能明确识别文字的标签的问题。
发明内容
本发明的目的在于提供一种基于深度学习的自由格式文档识别方法,以解决现有技术中文档识别正确率低以及不能明确识别文字的标签的问题。
为了解决现有技术中存在的问题,本发明提供了一种基于深度学习的自由格式文档识别方法,包括以下步骤:
定义模板,所述模板中包含多个矩形碎片的坐标位置;
获取待识别文档;
OCR引擎全文识别,以判断所述待识别文档所属模板;
调用所述模板中所有矩形碎片的坐标位置,采用YOLO目标检测模型将模板中所有的矩形碎片及其坐标位置对应在所述待识别文档中;
根据所述矩形碎片及其坐标位置切割所述待识别文档,形成多个碎片文件;
将所述多个碎片文件存入数据库,并将所述多个碎片文件传入消息队列中;
OCR引擎继续识别消息队列中的碎片文件,得到识别结果;
返回所述碎片文件和识别结果到数据库;
完成识别。
可选的,在所述基于深度学习的自由格式文档识别方法中,各碎片文件均具有各自的UUID。
可选的,在所述基于深度学习的自由格式文档识别方法中,所述碎片文件包括:UUID、命名、坐标位置、编号以及识别引擎。
可选的,在所述基于深度学习的自由格式文档识别方法中,OCR引擎继续识别消息队列中的碎片文件的过程中,采用RCNN模型进行图片文本识别,得到识别结果。
可选的,在所述基于深度学习的自由格式文档识别方法中,所述模板包括:证件类模板、申请书类模板、审批类模板和报表类模板;
各类模板中包括多种模板。
可选的,在所述基于深度学习的自由格式文档识别方法中,定义模板包括以下步骤:
上传具有模板的图片;
定义模板的名称;
在所述图片中画出所有的矩形碎片,并显示所有矩形碎片的坐标位置;
选择各所述矩形碎片的识别引擎;
填写各所述矩形碎片的标签;
完成模板定义。
可选的,在所述基于深度学习的自由格式文档识别方法中,在获取待识别文档之后,OCR引擎全文识别之前,还包括以下步骤:
主动选择对应模板。
可选的,在所述基于深度学习的自由格式文档识别方法中,在OCR引擎全文识别之后,调用所述模板中所有的坐标位置之前,还包括以下步骤:
对所述待识别文档进行预处理;
所述预处理包括旋转纠正、按照特征识别区域切割和/或移动所述待识别文档。
可选的,在所述基于深度学习的自由格式文档识别方法中,所述待识别文档包括:单独的图片文档、含多个图片的文档以及同时含文字和图片的文档。
可选的,在所述基于深度学习的自由格式文档识别方法中,若所述待识别文档不能归属于现有模板中任意一个模板,则不对所述待识别文档进行处理。
本发明相对于现有技术,具有以下优点:
(1)通过先识别待识别文档中的碎片文件及其坐标位置,再识别各碎片文件中的图片内容的方式,实现了异步识别;
(2)通过异步识别待识别文档的方式,解耦了图片输入处理服务和OCR引擎服务,保证了对大批量高并发识别请求的稳定处理,削除了请求高峰,合理分发了请求,另外,异步处理过程缓存了快速度服务的请求,解决了两个服务速度差异的冲突;
(3)通过采用OCR引擎继续识别消息队列中的碎片文件,提高了识别的准确率;
(4)通过提前定义矩形碎片及其坐标位置,从而明确了被识别内容的作用和意义;
(5)可用于自动识别、提取和存储自由格式文档中的文本内容;
(6)节省人工录入成本。
附图说明
图1为本发明实施例提供的识别待识别文档的流程图;
图2为本发明实施例提供的定义模板的流程图。
具体实施方式
下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列描述,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
在下文中,如果本文所述的方法包括一系列步骤,则本文所呈现的这些步骤的顺序并非必须是可执行这些步骤的唯一顺序,且一些所述的步骤可被省略和/或一些本文未描述的其他步骤可被添加到该方法中。
目前市场上识别产品的功能主要是能把图片中的文字信息提取出来,但是并不知道提取出来的文字是什么意思,且识别的准确率不高。对于信息量巨大的财报或其他打印文档,如果不能准确知道识别的信息的标签,全部识别出来对于具体业务是几乎没有意义的。
因此有必要提供一种基于深度学习的自由格式文档识别方法,如图1所示,图1为本发明实施例提供的识别待识别文档的流程图,所述识别方法包括以下步骤:
定义模板,所述模板中包含多个矩形碎片的坐标位置;
获取待识别文档;
OCR引擎全文识别,以判断所述待识别文档所属模板;
调用所述模板中所有矩形碎片的坐标位置,采用YOLO目标检测模型将模板中所有的矩形碎片及其坐标位置对应在所述待识别文档中;
根据所述矩形碎片及其坐标位置切割所述待识别文档,形成多个碎片文件;
将所述多个碎片文件存入数据库,并将所述多个碎片文件传入消息队列中;
OCR引擎继续识别消息队列中的碎片文件,得到识别结果;
返回所述碎片文件和识别结果到数据库;
完成识别。
本发明通过先识别待识别文档中的碎片文件及其坐标位置,将得到的多个碎片文件传入消息队列中,再依次从消息队列中获取并识别各碎片文件中的图片内容的方式,实现了异步识别;通过提前定义矩形碎片及其坐标位置,从而明确了被识别内容的作用和意义;本发明可用于自动识别、提取和存储自由格式文档中的文本内容,使各种打印文档与各业务系统之间所需信息能够快速转换并输入。
在一个实施例中,所述识别方法可以采用前台录入GUI、web管理界面、定义模板模块、OCR引擎(可以为深度学习OCR识别引擎)和处理系统。其中,前台录入GUI和web管理界面用于为定义模板和输入待识别文档提供pdf文档录入界面和接口,识别结果查看和审核功能等。定义模板模块基于golang实现,用于定义模板的特征识别区域的位置和文本信息。OCR引擎和处理系统可以采用RCNN模型进行全文识别并且比对所述待识别文档,从而明确所述待识别文档所属的模板;OCR引擎在文本识别过程中分为两个步骤,首先是采用YOLO目标检测模型将模板中所有的矩形碎片及其坐标位置对应在所述待识别文档中,第一步骤用于对待识别文档进行全文识别,速度稍微慢点,返回全部识别结果和识别结果的位置信息;其次是基于RCNN模型进行图片文本识别,得到识别结果,第二步骤用于对于已切图片碎片的直接识别,速度快并且准确度高。采用本发明中的识别方法,识别结果可以达到98%以上的识别准确率,其中仅存在OCR引擎识别带来的误差,其余部分由于已经定义模板,使所有识别流程均是确定的系统处理过程。其中,YOLO目标检测模型的算法详情可以参考论文《You only look once unified real-time object detection》,RCNN模型算法详情可以参考现有技术中RCNN的介绍。
可选的,在所述基于深度学习的自由格式文档识别方法中,所述模板包括:证件类模板、申请书类模板、审批类模板和报表类模板;各类模板中包括多种模板。
进一步的,如图1和2所示,图2为本发明实施例提供的定义模板的流程图,定义模板包括以下步骤:
上传具有模板的图片;
定义模板的名称;
在所述图片中画出所有的矩形碎片,待画出所有目标矩形碎片后,点击编辑模板,计算并显示所有矩形碎片的坐标位置,在此基础上定义任一矩形碎片为特征识别区域;
选择各所述矩形碎片的识别引擎,不同的识别引擎可以调用不同的后台OCR引擎;
填写各所述矩形碎片的标签;
完成模板定义。
模板例如身份证模板、银行系统中存款账户开户申请书模板等等,定义特定的照片识别区域、证件号码识别区域、姓名识别区域、电子邮箱识别区域以及联系方式识别区域等等,从而形成不同模板的不同矩形碎片,选择识别引擎并填写矩形碎片的标签,完成不同模板的定义。
本发明通过提前定义矩形碎片及其坐标位置,从而明确了被识别内容的作用和意义;并且使所有识别流程均是确定的系统处理过程,提高识别准确率。
在一个实施例中,在获取待识别文档之后,OCR引擎全文识别之前,还包括以下步骤:主动选择对应模板。若已经明确模板,则可以主动选择模板,在识别过程中,可以再采用RCNN模型进行全文识别核实。若不清楚待识别文档所属模板,则通过RCNN模型进行全文识别比对查找模板。
接着,OCR引擎全文识别,以判断所述待识别文档所属模板。
优选的,在OCR引擎全文识别之后,调用所述模板中所有的坐标位置之前,还包括以下步骤:
对所述待识别文档进行预处理;
所述预处理包括旋转纠正、按照特征识别区域切割和/或移动所述待识别文档。优选的,预处理阶段中,可以通过opencv形态学操作获取待识别文档的矩形元素,并由腐蚀和膨胀等操作初步获取待识别文档形态学位置,再通过霍夫变换确定待识别文档直线角度信息,然后通过直线角度信息整体旋转图片以获得纠正的标准图片。此方法主要是为了纠正待识别文档在扫描过程中带入的角度和位置偏移,为之后的待识别文档碎片化做准备。
进一步的,调用所述模板中所有矩形碎片的坐标位置,采用YOLO目标检测模型将模板中所有的矩形碎片及其坐标位置对应在所述待识别文档中;并根据所述矩形碎片及其坐标位置切割所述待识别文档,形成多个碎片文件;
优选的,各碎片文件均具有各自的UUID,可以理解为本发明将待识别文档中需要的部分切分出来单独识别,并且打上标签,作为需要提取的结果让计算机处理或者存储。优选的,所述碎片文件中包括但不限于:UUID、命名、坐标位置、编号以及识别引擎;所述碎片文件可以存储于数据库中。
优选的,将所述多个碎片文件传入消息队列中,每种或几种不同的业务分别存储在不同的queen中,作为消息队列消息的生产过程。另外本发明可以设置一个程序读取rabbitmq中消息队列的信息,每读取到一个碎片文件的信息,便按照坐标位置重新读取并根据识别引擎发送到下游不同的OCR引擎中,获得识别引擎的返回结果后,最后通过碎片的编号等信息更新此碎片文件的识别结果到数据库。
可选的,在所述基于深度学习的自由格式文档识别方法中,所述待识别文档包括:单独的图片文档、含多个图片的文档以及同时含文字和图片的文档。
可选的,在所述基于深度学习的自由格式文档识别方法中,若所述待识别文档不能归属于现有模板中任意一个模板,则不对所述待识别文档进行处理。优选的,可以将不能识别的待识别文档重新定义为一个新的模板存储的数据库中,以便后续能识别更多的文档。
本发明相对于现有技术,具有以下优点:
(1)通过先识别待识别文档中的碎片文件及其坐标位置,再识别各碎片文件中的图片内容的方式,实现了异步识别;
(2)通过异步识别待识别文档的方式,解耦了图片输入处理服务和OCR引擎服务,保证了对大批量高并发识别请求的稳定处理,削除了请求高峰,合理分发了请求,另外,异步处理过程缓存了快速度服务的请求,解决了两个服务速度差异的冲突;
(3)通过采用OCR引擎继续识别消息队列中的碎片文件,提高了识别的准确率;
(4)通过提前定义矩形碎片及其坐标位置,从而明确了被识别内容的作用和意义;
(5)可用于自动识别、提取和存储自由格式文档中的文本内容;
(6)节省人工录入成本。
上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本发明的技术方案的内容,仍属于本发明的保护范围之内。
机译: 基于自由格式输入的警报提供方式,提醒消息提供系统,是一种提供基于自由格式输入的警报的方式,
机译: CCTV一种基于深度学习的CCTV图像识别方法
机译: 一种从交互式文本处理系统准备的第一可编辑文档格式转换为第二包括可编辑文档格式的过程,对于该文档,可使用交互式或堆栈文本处理系统。