带你读AI论文:SDMG-R结构化提取—无限版式小票场景应用
摘要:在文档图像中提取关键信息在自动化办公应用中至关重要。传统基于模板匹配或者规则的方法,在通用性方面、未见过版式模板数据方面,效果都不好;为此,本文提出了一种端到端的空间多模态图推理模型(SDMG-R),能有效的从未见过的模板数据中提取关键信息,并且通用性更好。
本文分享自华为云社区《论文解读系列十二:SDMG-R结构化提取—无限版式小票场景应用》,作者:一笑倾城 。
源码:https://github.com/open-mmlab/mmocr/tree/4882c8a317cc0f59c96624ce14c8c10d05fa6dbc
1 背景
在文档图像中提取关键信息在办公自动化应用中至关重要,比如常见的存档文件、收据小票、信用表单等数据场景快速自动化归档、合规性检查等等。传统基于模板匹配或者规则的方法,主要利用的固定版式模板数据的布局、位置坐标信息、内容规则等,这些信息局限性很强,因此在通用性方面、未见过版式模板数据方面,效果都不好。为此,本文提出了一种端到端的空间多模态图推理模型(SDMG-R),能充分利用检测文本区域的位置布局、语义、视觉信息,相比之前获取的信息的更充分丰富,因此能有效的从未见过的模板数据中提取关键信息,并且通用性更好。
2 创新方法及亮点
2.1 数据
在之前的关键信息抽取任务中,常用的数据集大部分是SROIE、IEHHR,但是他们训练集、测试集有很多公共模板版式,因此不太适合去评估或验证通用信息提取模型的通用能力;基于以上原因,本文构建一套新的关键信息抽取任务的数据集,并命名为WildReceipt:由25个类别组成,大概有50000个文本区域,数据量是SROIE的两倍以上,详细信息如下表格2-1所示:
表2-1 关键信息抽取任务数据集
2.2 创新点及贡献
本文提出的SDMG-R在SROIE数据集和WildReceipt数据集上都获得比较好的效果,并优于之前的方法模型。本文作者还去做了相关消融实验,并验证了本文提出的空间关系信息和多模态特征都对关键信息提取有着非常重要的影响。具体创新及贡献如下:
- 提出了一种有效的空间多模态图推理网络(SDMG-R),能充分利用文本区域的语义、视觉两个维度的空间特征关系信息;
- 构建了一套基准数据集(WildReceipt),是SROIE数据量的两倍,而且训练集版式模板和测试集版式模板交叉很少,因此可以用来做些通用关键信息抽取任务的探索研究;
- 本文利用了视觉、语义特征,如何利用好两者数据,本文做了相关验证:特征融合方法的有效性(CONCAT、线性求和、克罗内克积),最终结果克罗内克积比其他两种特征融合方法高两个点左右,如下表格2-2所示:
表2-2 特征融合方法对比结果
3 网络结构
SDMG-R模型整个网络结构如下图3-1所示,模型输入数据由图片、对应文本检测坐标区域、对应文本区域的文本内容,视觉特征通过Unet及ROI-Pooling进行提取,语义特征通过Bi-LSTM进行提取,然后多模态特征通过克罗内克积进行融合语义、视觉特征,然后再输入到空间多模态推理模型提取最终的节点特征,最后通过分类模块进行多分类任务;
图3-1 SDMG-R网络结构
3.1 视觉特征提取详细步骤:
- 输入原始图片,resize到固定输入尺寸(本文512x512);
- 输入到Unet,使用Unet作为视觉特征提取器,获取得到CNN最后一层的特征图;
- 将输入尺寸的文本区域坐标()映射到最后一层CNN特征图,通过ROI-pooling方法进行特征提取,获取对应文本区域图像的视觉特征;
3.2 文本语义特征提取详细步骤:
- 首先收集字符集表,本文收集了91个长度字符表,涵盖数字(0-9)、字母(a-z,A-Z)、相关任务的特殊字符集(如“/”, “n”, “.”, “$”, “AC”, “ ”, “¥”, “:”, “-”, “*”, “#”等),不在字符表的字符统一标记成“unkown”;
- 其次,然后将文本字符内容映射到32维度的one-hot语义输入的编码形式;
- 然后输入到Bi-LSTM模型中,提取256维度语义特征;
3.3 视觉+文本语义特征融合步骤:
3.4 空间关系多模态图推理模型:
最终的节点特征通过多模态图推理模型完成,公式如下:
3.5 多分类任务模块
根据图推理模型获取节点的特征,最后输入到分类模块,通过多分类任务输出最终的实体分类结果,损失函数使用的是交叉熵损失,公式如下:
4 实验结果
在SROIE数据集的结果如下表4-1所示:
表4-1 SROIE的精度
在WildReceipt测试集的结果如下表4-2所示:
表4-2 WildReceipt的精度
带你读AI论文:SDMG-R结构化提取—无限版式小票场景应用的更多相关文章
- 带你读AI论文丨RAID2020 Cyber Threat Intelligence Modeling GCN
摘要:本文提出了基于异构信息网络(HIN, Heterogeneous Information Network)的网络威胁情报框架--HINTI,旨在建模异构IOCs之间的相互依赖关系,以量化其相关性 ...
- 带你读AI论文:NDSS2020 UNICORN: Runtime Provenance-Based Detector
摘要:这篇文章将详细介绍NDSS2020的<UNICORN: Runtime Provenance-Based Detector for Advanced Persistent Threats& ...
- 带你读AI论文丨ACGAN-动漫头像生成
摘要:ACGAN-动漫头像生成是一个十分优秀的开源项目. 本文分享自华为云社区<[云驻共创]AI论文精读会:ACGAN-动漫头像生成>,作者:SpiderMan. 1.论文及算法介绍 1. ...
- 带你读AI论文丨S&P21 Survivalism: Living-Off-The-Land 经典离地攻击
摘要:这篇文章属于系统分析类的文章,通过详细的实验分析了离地攻击(Living-Off-The-Land)的威胁性和流行度,包括APT攻击中的利用及示例代码论证. 本文分享自华为云社区<[论文阅 ...
- 带你读AI论文丨用于目标检测的高斯检测框与ProbIoU
摘要:本文解读了<Gaussian Bounding Boxes and Probabilistic Intersection-over-Union for Object Detection&g ...
- 带你读AI论文丨针对文字识别的多模态半监督方法
摘要:本文提出了一种针对文字识别的多模态半监督方法,具体来说,作者首先使用teacher-student网络进行半监督学习,然后在视觉.语义以及视觉和语义的融合特征上,都进行了一致性约束. 本文分享自 ...
- 带你读AI论文丨LaneNet基于实体分割的端到端车道线检测
摘要:LaneNet是一种端到端的车道线检测方法,包含 LanNet + H-Net 两个网络模型. 本文分享自华为云社区<[论文解读]LaneNet基于实体分割的端到端车道线检测>,作者 ...
- pdf解析与结构化提取
#PDF解析与结构化提取##PDF解析对于PDF文档,我们选择用PDFMiner对其进行解析,得到文本.###PDFMinerPDFMiner使用了一种称作lazy parsing的策略,只在需要的时 ...
- 页面结构化在 Android 上的尝试
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/M45DM5Ix7a2fmrsE8VPvxg 作者:b ...
- 【带你读论文】向量表征经典之DeepWalk
摘要:详细讲解DeepWalk,通过随机游走的方式对网络化数据做一个表示学习,它是图神经网络的开山之作,借鉴了Word2vec的思想. 本文分享自华为云社区<[论文阅读] (25) 向量表征经典 ...
随机推荐
- zabbix监控Tomcat/JVM 实例性能
1.背景 zabbix-4.0 环境已部署好 JDK .Tomcat环境已部署好 2.配置Tomcat JMX 编辑catalina.sh加入以下配置 # vim /usr/local/tomcat/ ...
- 调和级数发散率证明|欧拉常数|ln n+gamma+varepsilon_k证明|sigma(1/i)
最近在做一个 练习 ,然后看到了 调和级数 这个东西,说实话这东西谁能在考场上想到,平日还是要多积累. 开门见山 但是我们今天只证这个东西: \[\sum^{n}_{i = 1} \frac{1}{n ...
- JVM核心知识体系(转)
1.问题 1.如何理解类文件结构布局? 2.如何应用类加载器的工作原理进行将应用辗转腾挪? 3.热部署与热替换有何区别,如何隔离类冲突? 4.JVM如何管理内存,有何内存淘汰机制? 5.JVM执行引擎 ...
- 【scipy 基础】--插值
插值运算是一种数据处理方法,主要用来填补数据之间的空白或缺失值.因为在实际应用中,数据往往不是完整的,而是存在着空白或缺失值,这些空白或缺失值可能是由于数据采集困难.数据丢失或数据处理错误等原因造成的 ...
- 快速教程|如何在 AWS EC2上使用 Walrus 部署 GitLab
Walrus 是一款基于平台工程理念的开源应用管理平台,致力于解决应用交付领域的深切痛点.借助 Walrus 将云原生的能力和最佳实践扩展到非容器化环境,并支持任意应用形态统一编排部署,降低使用基础设 ...
- 支持C#的开源免费、新手友好的数据结构与算法入门教程
前言 前段时间完成了C#经典十大排序算法(完结)然后有很多小伙伴问想要系统化的学习数据结构和算法,不知道该怎么入门,有无好的教程推荐的.今天给大家推荐一个支持C#的开源免费.新手友好的数据结构与算法入 ...
- Windows10+Python+Yolov8+ONNX图片缺陷识别,并在原图中标记缺陷,有onnx模型则无需配置,无需训练。
目录 一.训练自己数据集的YOLOv8模型 1.博主电脑配置 2.深度学习GPU环境配置 3.yolov8深度学习环境准备 4.准备数据集 二.Python+Onnx模型进行图像缺陷检测,并在原图中标 ...
- C语言根据公式Cnm= 算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
/* 开发者:慢蜗牛 开发时间:2020.5.28 程序功能:开发公式Cnm */ #include<stdio.h> long fact_1(int m); long fact_2(in ...
- 【GIT】学习day02 | git环境搭建并将项目进行本地管理【外包杯】
进入终端 输入GitHub或者给gitee的用户名和邮箱地址 然后依次敲入一下信息 git commit -m "init project" git init git add . ...
- Excel 中使用数据透视图进行数据可视化
使用数据透视表(PivotTable)是在Excel中进行数据可视化的强大工具.下面将提供详细的步骤来使用数据透视表进行数据可视化. **步骤一:准备数据** 首先,确保你有一个包含所需数据的Exce ...