| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【ocr 文字检测】DocSegTr: An Instance-Level End-to-End Document Image Segmentation Transformer -> 正文阅读 |
|
[人工智能]【ocr 文字检测】DocSegTr: An Instance-Level End-to-End Document Image Segmentation Transformer |
论文链接:https://arxiv.org/pdf/2201.11438.pdf 代码:https://github.com/biswassanket/DocSegTr 出处:西班牙巴塞罗那自治大学 目的:理解复杂布局的文档首先就需要进行信息提取。本文目的就是通过实例级别分割获得不同的文章目标(different document objects),如:标题,章节,图片,表格等;(效果图1),文中提出一个 Document Image Segmentation Transformer(DocSegTr),第一次用于复杂布局文本的实例级分割; 关键词:文档布局分析,实例级别分割,transformer,信息抽取 贡献有三点:
2.Related Work对于文档的信息提取需要对本页中不同布局组件之间进行空间理解和关系推理,例如:表格,文本块(段落),图,标题等等。从基于规则启发性的文档布局分割到最近的基于深度学习的文档目标检测(DOD, Document Object Detection)大量的工作是为了解决页内的目标定位。本章节,作者回顾了很多不同的方法; 2.1?基于规则启发式的文档布局分析基于规则启发式的文档布局分割主要有三种模式:top-down,bottom-up 和hybird方法,bottom-up方法【2,31,34】使用像素作为基本组件,通过类似分组和合并的方式形成大的同种类的区域;top-down方法【20,23,29】是将整个文档划分为不同的区域,直到最终定义出标准的列或模块。bottom-up方法更加灵巧,适用于不同布局的文档,但是计算复杂;top-down 计算效率高,但是却只能处理特定版面的文档,例如基于曼哈顿布局的文档;因此,hybird方法【38,40】混合以上二者的优点,产生更好的结果;在深度学习时代以前,基于规则的分割技巧【7,10,37】对于表格检测也是影响深远; 2.2 文档目标检测基于深度学习的发展,CNN成为了文档布局分割的主要方法。主要是通过Faster-RCNN【32】,Mask-RCNN【14】和Retinanet【26】这类自然场景检测方法对文档布局进行分割。DeepDeSRT【36】是第一个最为流行的用于处理文档中(如:扫描图和数据图片)表格检测和结构识别的目标检测方法;该方法是在将文档输入Faster-RCNN模型之前,对文档应用了一种新的图像变换策略;之后,FCNNs【13】用于在页面上检测大量的目标内容(表格和图)。Oliviera等人【30】使用了一个基于FCNN的相似框架在历史文献上进行逐个像素级别的分割。Saha等人【35】基于transfer learning的Faster-RCNN主干在数据集ICDAR POD(page object Detection)2017【11】上检测表格,图和数学公式获得了很好的结果。最近一个新的跨区域的文档目标检测(DOD)基准在【24】中建立,该基准使用了区域自适应策略,用于DOD中解决区域变换问题; 2.3 Transformers用于文档分析系统自然语言模型获得更好的结果是因为self-attention和positional embedding机制,在Vaswani等人【41】提出了最原始的transformers。之后,BERT【9】语言模型用于多模态最新的视觉文档理解任务(VDU),比如扫描菜单和发票中的实体识别(entity recognition)和键值对(key-value pair)信息提取。LayoutLM【46】就联合学习文档图片的文档,布局和视觉特征,BERT模型作为基线(BERT-like model baseline),在VDU任务中获得了最佳效果;最近在VDU中的研究【1,22,25】使用了transformers,使用了在文档,布局和图像区域的预训练用于解决VDU任务,如表格理解【19】,菜谱理解【18】,和文档视觉QA(question, answering)【28】。 受transformers在文档理解和文档分析突破的影响,作者首先提出了端对端的文档图像分割transformer,在实例级别分割上获得了很好的效果【47】。作者也将本文的结果和之前的研究结果【4】进行了比较; 3 方法为了完成实例级别的文档布局分割,一个混合CNN基于transformer(DocSegTr)被提出来,用于识别出不同布局的元素(段落,表,图,标题等)和它们之间的长期依赖。DocSegTr是一个端对端的分割算法,它将特征图分割成patches,然后在patches上预测文章内容,DocSegTr有三部分组成:1)一个有特征金字塔(FPN)的CNN主干用于提取输入文档图片的突出的,特定的低维和近邻元素;2)一个transformer用于广泛和语义推理,transformer兼并了functional heads用于预测语义的类别,和卷积kernel中的kernel head(这个操作是为了展开多尺度特征增加位置信息(positional embedding));3)一个Layerwise Feature Aggregation module(分层特征聚合模块)通过在特征图和相关的卷积核之间通过动态卷积活动创作最后的一层操作(the last division cover);产生的结构如图1 ?3.1 文档分割Transformer(DocSegTr)DocSegTr包含三个模块:self-attention机制:处理长期依赖;transformer层和一个Functional head用于实例级分割中的mask预测; Attention机制:self-attention模块在Transformer中是很重要的一个部分,用于学习全局特征(catches full-document setting)和学习文档不同特征信息之间的关系。但是在【41】中提出的最原始的self-attention计算和存储都相当复杂,耗费时间。为了解决这个问题,作者使用【12】中的孪生注意力(twin-attention)分解了原始的注意力矩阵,twin-attention就是传统注意力的稀疏表示。twin-attention首先单独计算每一列的结果。这样有助于减少水平尺度的语境推理。然后通过计算每一行的相似注意力在竖着的尺度进行相似的操作;最终结果就是行和列注意力(分别为垂直尺度和水平尺度)有序连接形成全局注意力模块,沿着两个不同的维度(全局和局部)覆盖了所有重要的特征信息; 在实例级别分割任务中,假设FPN的每一层的特征图谱为,DocSegTr首先将特征图谱划分为个块(patches),然后通过垂直方向和水平防线将这些patches堆叠为固定的组件(components)。然后将位置信息(position embedding)嵌入到components中保留位置信息,这些行列的位置信息(position embeding)用于自注意力机制当中;为了确保这两个模块(行和列的注意力矩阵)和多头注意力一起工作,作者使用了跨多层连接(防止梯度消失),在twin-attention中所有的子层中会产生相同的的输出。这个方法可以减少内存消耗,减少计算复杂度;原始的self-attention的内存和计算复杂度从降到; Transformer Layer:本章节中,作者展示了三个特定的transformer层回顾基础结构(如图1)中的encoder。1)第一个transformer和【41】中的一样,包含两个组件:层归一化后【3】一个多头注意力单元和层归一化后的多层感知机(MLP)。此外,使用残差连接【15】两个模块。最终transformer层K个序列关联的结果就是多维特征序列,确保了下面functional heads能够做出预测; 在DocSegTr中,原始的transformer层【41】得到使用,同时多头注意力被替换为twin attention,twin attention不仅仅帮助建模了全局特征依赖(在两个不同的尺度),同时twin attention稀疏性也减少了计算量; 注:图片来自于【12】《SOTR: Segmenting Objects with Transformers》? Functional Heads:从transformer中获得的结果序列送入到两个functional head。category head包括多层感知机(MLP)分类层去产生个结果;是类别数量。它就是产生的文档实例分类结果(如:标题,图,段落)。 kernel head也是由一个线性层组成,产生个张量,代表卷积核,b代表的是参数量。这里的结果最终用于预测mask,使用focal loss【26】作为文本实例预测loss; 注:focal loss这个损失函数是在标准交叉熵损失基础上修改得到的,它可以通过减少易分类样本的权重,使得模型在训练时更专注于难分类的样本。 3.2 使用掩膜特征产生实例级别的分割本章节中介绍DocSegTr中使用的分割策略。首先体现了全局特征和局部特征在实例分割中优势。然后分析了输入文档布局是怎样产生的掩膜预测结果。 Mask Feature Generation:为了产生文档实例级别的掩膜特征,最直接的方法就是在特征图上进行不同尺寸的预测【8,21】。然而,时间成本和存储成本都比较复杂。为了克服这个问题,作者提出了分层特征聚合模块(a Layerwise Feature Aggregator Module,LFAM)结合每一个FPN的多尺度特征和transformer特征输出结合后的mask 特征;拥有位置信息的低精度特征和transformer特征在P5进行融合,然后依次产生P4-P2的特征,最终将分层特征多尺度的全局特征和局部特征进行编码,将P2-P5结果最终concat连接,并使用Pointwise conv(增加通道数)和upsample操作生成最终的mask预测结果为h*w; Instance Mask Prediction:对于文档最终的mask预测,DocSegTr中通过对特征图进行动态卷积操作后每一个patch会产生mask,受【43】启发做动态预测策略。预测卷积核的kernel head中的大小,每一个kernel负责相关patch产生mask。细节操作如下式: *代表卷积操作,代表最终产生的Mask,大小为,b值的大小有kernel大小决定,最终的mask结果由Matrix NMS【16】产生,使用Dice Loss【42】; 注:图片来自【16】 《NMS by Representative Region: Towards Crowded Pedestrian Detection by Proposal Pairing》 图1. R2NMS的示意图。左图显示了在NMS之前检测到的两个结果。红色的BBox是全身预测,绿色的BBox是可见部分的预测。右侧的两个小图像显示了最终结果,该结果由原始NMS和R2NMS处理。红色实心BBox表示保留的BBox,而红色虚线BBox表示已减少的真实正BBox。箭头表示IoU计算。他们的全身预测的IoU为0.63,而可见部分身体的IoU只有0.18。因此,原始NMS将减少红色虚线的BBox,但R2NMS可以保留它。 ? 作者方法总结: 1)不再依赖box,参考文献solov2,产生动态实例掩码(dynamic instance mask); 2)利用强大的transformer,transformer的self-attention通过聚合位置和特征信息能够处理长期语义依赖; 3)解决重叠问题,使用R^2NMS; 4)CNN相较于其他方法可以很好的提取局部特征和地为特征,所以网络结构中加入CNN backbone; 5)考虑到self-attention的计算复杂度和存储开销问题,twin-attention; [1]DocFormer: End-to-End Transformer for Document Understanding [9]BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding [12] SOTR: Segmenting Objects with Transformers [16]NMS by Representative Region: Towards Crowded Pedestrian Detection by Proposal Pairing [20]Text/Graphic labelling of Ancient Printed Documents [24]Cross-Domain Document Object Detection: Benchmark Suite and Method [26]Focal loss for dense object detection [38]Hybrid page layout analysis via tab-stop detection [41]Attention is all you need [42]An Improved Dice Loss for Pneumothorax Segmentation by Mining the Information of Negative Areas? [43]SOLOv2: Dynamic, Faster and Stronger [46]Pre-training of Text and Layout for Document Image Understanding |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 19:26:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |