【文档智能】DLAFormer:端到端的解决版式分析、阅读顺序方法

news2024/10/7 12:27:31

前言

前面文章介绍到,文档智能中版式分析(DLA)(《【文档智能 & RAG】RAG增强之路:增强PDF解析并结构化技术路线方案及思路》)、阅读顺序(《【文档智能】符合人类阅读顺序的文档模型-LayoutReader及非官方权重开源》)都是文档的智能结构识别和解析中非常重要的部分。传统的pipline的形式,首先通过版式分析的方法识别出文档中各个信息区块的位置信息及类别信息,然后通过使用阅读顺序的方法,复原出原始文档中各个区块的阅读顺序。本文介绍一种端到端的解决文档版式分析、阅读顺序的方法-DLAFormer,DLAFormer通过将各种DLA子任务视为关系预测问题,并将这些关系预测标签整合到一个统一的标签空间中,允许使用统一的关系预测模块同时处理多个任务。该方法将所有这些子任务集成到一个单一的模型中。

一、概念

1.1 文档图像(版面)组成


文档版面通常包含以下元素信息:

  • 文本区域:页眉、页脚、标题、段落、页码、脚注、图片标题、表格标题等
  • 表格
  • 公式
  • 图片

1.2 信息区块间的关系类型

文档中存在多种逻辑关系,最常见的是阅读顺序关系。文章定义了三种不同类型的关系:

  • 内部区域关系(Intra-region relationship):在同一个文本区域内,所有相邻文本行之间建立内部区域关系。如果文本区域只包含一行文本,则该文本行的关系被指定为自引用。

    内部区域关系

  • 区域间关系(Inter-region relationship):构建所有表现出逻辑联系的区域对之间的区域间关系。例如,两个相邻段落之间或一个表格与其相应的标题或脚注之间的关系。

  • 逻辑角色关系(Logical role relationship):定义了各种逻辑角色单元,包括标题、小节标题、段落等。由于每个文本区域都被分配了一个逻辑角色,因此在文本区域中的每行文本与其相应的逻辑角色单元之间建立逻辑角色关系。

1.3 问题转化

通过定义信息区块间的关系类型,将DLA的各个子任务(如:文本区域检测、区块分类和阅读顺序预测)转化为关系预测问题。这些不同的关系预测任务的标签被合并到一个统一的标签空间中,使得可以使用统一的模型同时处理这些任务。

二、模型架构

模型架构

DLAFormer是一个基于Transformer的端到端方法,用于文档布局分析。它遵循DETR模型架构,包含以下几个主要组件:

  • Backbone网络:用于从文档图像中提取多尺度特征。
  • Transformer Encoder:处理输入特征并生成位置编码。
  • Transformer Decoder:使用参考框和类别标签来处理潜在的图形对象提议。
  • 统一关系预测头:用于同时处理多种关系预测任务。
  • 粗到细检测头:用于精确识别文档图像中的图形页面对象。

2.1 Type-wise Query Selection

在传统的DETR及其变体中,解码器的查询通常是静态的嵌入向量,它们在训练过程中学习,但不包含来自编码器的多尺度特征。这可能导致解码器在处理特定图像时缺乏对特征的适应性。为了解决这个问题,DLAFormer提出了类型感知查询选择策略。该策略利用潜在的类别信息来初始化内容查询,从而使查询能够适应不同类型图形对象的视觉特征。

  • 使用多类别分类器替代辅助检测头中的二分类器,以识别每个选定特征的类别。
  • 初始化查询
    • 位置查询:使用预测的参考框来初始化位置查询。这通常通过将参考框应用于正弦位置编码来实现。
    • 内容查询:根据预测的类别,为每个查询选择相应的特征,这些特征是可学习的,并且与类别相关联。这样,每个查询的内容向量就会根据其类别进行初始化,增强了查询对特定类别特征的捕捉能力。

在DLAFormer中,类型感知查询选择策略通过一个辅助的检测头来实现,该检测头在训练过程中与主模型一起优化。通过这种方式,模型能够学习如何根据编码器特征的类别信息来初始化解码器查询,进而提高模型对文档布局的理解和分析能力。

2.2 Type-wise Query Initialization Module

该模块的目的是标准化不同查询之间的逻辑关系建模,确保解码器输入的统一性。通过为每种类型的查询分配特定的可学习特征来增强模型对不同区域特征的适应性。接收以下三个组件作为输入:

  • 图像目标检测的候选框和类别。
  • 提取的文本行的边界框。
  • 预定义的逻辑角色类型。

该模块为每种类型的查询分配了可学习的特征,并根据类别选择相应的特征来初始化内容查询。

2.3 Unified Relation Prediction Head

统一关系预测头的主要目标是同时处理多种类型的关系预测任务,包括内部区域关系、区域间关系和逻辑角色关系。这种统一处理方式有助于提高模型的效率和效果。关系预测头包含两个模块:

  • 关系预测模块:

    • 文本行查询:文档中的文本行。
    • 区块查询:文档中的图形对象,如表格、图表等。
    • 逻辑角色查询:文档中的逻辑结构单元,如标题、段落、小节等。

    该模块计算文本行/区块查询与逻辑角色查询之间的逻辑关系得分。使用两个全连接层( F C q r FC^{r}_q FCqr F C k r FC^{r}_k FCkr)来映射查询的特征,并通过点积操作计算关系得分。

  • 关系分类模块:

    使用BiLinear分类器来计算不同关系类型上的概率分布。

三、实验

3.1 版式分析

3.2 阅读顺序

总结

DLAFormer的方法挺有趣的,将多个子任务集成到单一模型中,通过统一的关系预测框架来解决文档版式分析和阅读顺序的问题。

参考文献

DLAFormer: An End-to-End Transformer For Document Layout Analysis,https://arxiv.org/abs/2405.11757

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1876075.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows怎么实现虚拟IP

在做高可用架构时,往往需要用到虚拟IP,在linux上面有keepalived来实现虚拟ip的设置。在windows上面该怎么弄,keepalived好像也没有windows版本,我推荐一款浮动IP软件PanguVip,它可以实现windows上面虚拟ip的漂移。设置…

Feign 配置全局日志存入mongo

1、开启feign日志 在application.yml 添加配置 feign:client:config:default:loggerLevel: FULL2、日志实体类 Document(collection "feignLogs") Data public class FeignLog {Idprivate String id;private String method;private String url;private LocalDate…

智慧园区综合平台解决方案PPT(75页)

## 智慧园区的理解 ### 从园区1.0到园区4.0的演进 1. 园区1.0:以土地经营为主,成本驱动,提供基本服务。 2. 园区2.0:服务驱动,关注企业成长,提供增值服务。 3. 园区3.0:智慧型园区&#xff…

Spring Boot结合FFmpeg实现视频会议系统视频流处理与优化

在构建高效稳定的视频会议系统时,实时视频流的处理和优化是开发者面临的核心挑战之一。这不仅仅是简单的视频数据传输,更涉及到一系列复杂的技术问题,需要我们深入分析和有效解决。 高并发与实时性要求: 视频会议系统通常需要支持多人同时进行视频通话,这就意味着系统需要…

IP白名单及其作用解析

在网络安全领域,IP白名单是一项至关重要的策略,它允许特定的IP地址或地址范围访问网络资源,从而确保只有受信任的终端能够连接。下面,我们将深入探讨IP白名单的定义、作用以及实施时的关键考虑因素。 一、IP白名单的定义 IP白名单…

django admin添加自己的页面

建立模型 如果要单独建一个页面,用于展示model的数据,可以新建一个model,继承自要展示的那个类 class ViewsByDayModel(ViewsByDay): # 父类为要展示的model类class Meta:proxy True # 使用代理verbose_name 每日浏览次数统计verbose_nam…

当客户想要实现监控视频AI识别

客户说,“我想要实现视频AI识别,你给我出个方案” “好好好,没问题” “现在有安装的监控设备吗” “现在已经安装了多少监控设备?需要加装吗?” “已经安装的监控设备是什么配置,有AI算法吗&#xff1…

GOROOT GOPATH GOPROXY GO111MODULE

GOROOT GOROOT代表Go的安装目录。可执行程序go(或go.exe)和gofmt(或gofmt.exe)位于 GOROOT/bin目录中。 配置GOROOT环境变量,其值为Go的安装目录;然后在环境变量PATH中添加GOROOT/bin路径。 注意:GOROOT变量只是代表了安装目录,不…

微服务 | Springboot整合GateWay+Nacos实现动态路由

1、简介 路由转发 执行过滤器链。 ​ 网关,旨在为微服务架构提供一种简单有效的统一的API路由管理方式。同时,基于Filter链的方式提供了网关的基本功能,比如:鉴权、流量控制、熔断、路径重写、黑白名单、日志监控等。 基本功能…

Spring容器的启动过程及留给开发者的可拓展点

一、Spring容器启动经过了哪些过程? 1、首先需要加载读取到应用环境中的配置,比如要加载的bean的class的包路径等信息。 【读取配置】 2、再就需要找到哪些类是需要spring进行类实例创建并管理的,扫描到具体的Class及Class元信息上的一些注…

探索高效开发神器:Blackbox AI(免费编程助手)

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 🤖 想要代码生成?👌 💬 需要和AI聊天解决难题?&#…

信息化与农业生产的深度融合

信息化与农业生产的深度融合 信息化与农业生产的深度融合,是现代农业发展的一个重要趋势,它不仅促进了农业生产效率的显著提升,还为实现农业可持续发展和精准管理提供了强有力的支撑。这一过程不仅仅是技术的简单叠加,更是农业生…

TIA博途WinCC通过VB脚本从 Excel中读取数据的具体方法介绍

TIA博途WinCC通过VB脚本从 Excel中读取数据的具体方法介绍 添加 一个PLC,设置PLC的IP地址,如下图所示, 添加全局DB块,新建几个变量,如下图所示, 在数据块中添加了 tag1 …… tag6 ,共 6 个浮点数类型的变量,用来接收通过 WinCC 从 Excel 文件中读取的数据。 添加 HMI…

Mathematica训练课(44)-- 一些符号#,,//, /. 的整理

①“//”在后面写成你要执行的操作,即可执行。 注意:这一函数作用域标志的优先级是很靠后的,也就是说它会对一整行式子作用。 ②@的作用是在@后面的第一个元素进行操作 Sqrt @ a(*@作用在@后面、对离@最近的仅仅一个元素作用*) 例如,下面 若作用对象外面套着{},那么就要…

shopify入门教程-应用开发(二)

4.内网穿透 为什么要用这个,就是把电脑上的开发内容通过内网穿透显示到你的开发店铺上。这里的内网穿透我用了ngrok,花生壳,但都不如shopify官方推荐的cloudflare好用。所以这里我也推荐cloudflare。 运用内网穿透2个步骤 把app运行起来 ​​​​​​​…

EtherCAT笔记(五)—— 寻址方式与应用层协议

目录 1. EtherCAT 报文寻址 1.1 EtherCAT 网段寻址 1.1.1 直连模式 1.1.2 开放模式 1.2 段内寻址 —— 设备寻址 1.2.1 顺序寻址 1.2.2 设置寻址 1.3 逻辑寻址 1.4 关于WKC 2. 应用层协议 2.1 CoE : CANopen over EtherCAT 2.2 SoE (Servo Drive Profile …

SpringBoot学习04-[定制SpringMVC]

定制SpringMVC 定制SpringMvc的自动配置定制springmvc-configurePathMatch配置定制SpringMVC-拦截器Interceptor定制SpringMVC-CORS配置全局cors配置针对某个方法加跨域解决 WebMvcConfigurer原理定制SpringMVC-JSONJSON开发jackson的使用定制化json序列化和反序列化 JSON国际化…

解锁音乐潮流:使用TikTok API获取平台音乐信息

一、引言 TikTok,作为全球领先的短视频社交平台,不仅为用户提供了展示自我、分享生活的舞台,还为用户带来了丰富多样的音乐体验。在TikTok上,音乐与视频内容的结合,为用户带来了全新的视听盛宴。对于音乐制作人、品牌…

【Python实战因果推断】6_元学习器1

目录 Metalearners for Discrete Treatments T-Learner 简单回顾一下,在之前的部分中,你们的重点是干预效果的异质性,也就是确定各单位对治疗的不同反应。在此框架下,您希望估算 或连续情况下的 。换句话说,您想知道…

Kafka面试必备:深度解析Replica副本的作用与机制

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! Hey大家好!我是小米,一个超级喜欢分享技术干货的大哥哥!今天咱们来聊聊阿里巴巴面试题中的一个热门话题:Kafka中的Replica副本作用。这可是个既基础…