【AAAI 2024】M2Doc:文档版面分析的可插拔多模态融合方法

news2024/9/30 21:28:28

一、文章介绍

文档版面分析任务是文档智能的一个关键任务。然而,现有的很多文档版面分析研究方法都基于通用目标检测方法,忽视了文档的文本特征而仅仅只关注于视觉特征。近年来,基于预训练的文档智能模型在很多文档下游任务中都取得了成功,然而在具体的文档版面分析任务上同样也只是简单将预训练的参数迁移到纯视觉的目标检测器中进行fintune。基于此,本文设计了可插拔的多模态融合方法M2Doc,可以赋予纯视觉的目标检测器感受多模态的能力。M2Doc包含两个融合模块,Early-Fusion和Late-Fusion模块。其中Early-Fusion模块使用一个类似Gate的机制去融合主干网络提取出的视觉和文本的模态特征,Late-Fusion模块使用简单的加和操作去融合框级别的文本和视觉特征。得益于M2Doc简洁且有效的模型结构,它可以很容易地应用到多种目标检测器上。我们的实验结果也显示使用M2Doc的目标检测器可以在DocLayNet和M6Doc版面分析数据集上得到显著的提升,值得一提的是DINO目标检测器搭配M2Doc可以在多个数据集上取得SOTA的结果。

二、出发点

  • 版面分析任务与目标检测任务最大的不同在于它们面向的场景不同,版面分析任务的检测目标大多都是文本区域,也即天然就具有视觉和文本两个属性,故而使用多模态的建模方法去解决这个问题应该更符合任务的特点。
  • 版面分析任务的多数实例都具有语义的连接关系,例如存在上下文联系的两个实例大概率属于同一个类别,故而将语义信息考虑到文档版面分析任务中应该是更符合直觉的建模方式。
  • 现有的文档版面分析方法大多都是基于通用目标检测器改进的,它们在相对简单的物理版面分析数据集上能取得不错的成绩,但是在更复杂的逻辑版面分析场景中表现不佳。现有的多模态版面分析方法比较少,且也存在效果不好参数量过大等问题。

基于上述三点,本文为单模态的检测器设计了通用可插拔的多模态融合方法M2Doc,从而赋予它们在复杂逻辑版面分析场景中能感知文本内容和语义的能力。

三、M2Doc框架

M2Doc的总体框架如图3(a)所示。整个网络包含四个阶段:文本表征阶段、特征提取阶段、Early-Fusion阶段和Late-Fusion阶段。其中两个融合模块都是可插拔的,可以轻松应用到其他的单模态目标检测器中。(1)文本Grid表征阶段:给定一张文档的图片,文档图片中包含多个单词,我们处理的场景都提供OCR结果和对应的检测框。为了能够得到每个单词对应的特征表示,我们将各个单词按阅读顺序排布之后送入到预训练语言模型BERT得到对应每个单词的Embedding。然后我们利用OCR检测框,将每个单词的Embedding填回到其OCR框中。最终我们就得到了和原图像高宽一致,只是通道维度不同的文本Grid输入。这样的表征方式使得我们能够最大限度地保留了文本模态的版面格式,同时又使得两种模态的输入能够在像素级别上对齐,方便后面的特征融合。(2)特征提取阶段:因为在前面我们提到两种模态的输入其实在像素级别上是对齐的,于是我们仅使用单个主干网络去提取文本和视觉特征。我们使用ResNet网络作为我们的主干网络,经过主干网络之后我们得到了四个不同尺度的文本和视觉特征。(3)Early-Fusion阶段:在传统的单模态网络中,主干网络提取出的特征需要被用来生成候选框,以及作为候选框的视觉特征表达,所以我们需要在得到候选框之前就将两个模态的特征进行有效的融合。我们参照了指代分割领域的LAVT的做法,使用一个类似于Gate的机制来融合两个模态对应尺度的特征。在融合之后,考虑到在第一个阶段中没有文本的地方表征为0,于是我们使用LayerNorm去归一化融合后的特征。(4)Late-Fusion阶段:我们把第一次融合后的特征送入到候选框生成模块之后,得到了一系列的候选框。于是我们可以用一个简单的IoU的操作为每个候选框分配合适的文本特征。并且将每个候选框对应的视觉和文本特征进行二次融合。我们发现其实一个简单的带权重的加法融合的策略就已经能够比较好的将两个特征进行融合。

四、实验

a) 主实验

  • 从三个版面分析数据集的结果来看,Cascade Mask R-CNN和DINO加上M2Doc在DocLayNet、M6Doc数据集上都取得了SOTA的结果,证明了其有效性。
  • M2Doc相比于原有Baseline取得了很大的提升,并且VSR作为唯一一个多模态方法,它依然在DocLayNet数据集上和我们的方法相差较大,证明了M2Doc作为一个可插拔方法的有效性。
  • PubLayNet是一个比较简单的物理版面分析数据集,并且只区分五个和文本内容关系不大的基本元素,所以一个好的单模态检测器就已经能够在此数据集就已经能够取得不错的效果。并且和我们对比的方法大多都是用更大的主干网络(ViT、X101等),我们也在主干网络不占优的情况下达到了一个Comparable的结果。

b) 可插拔实验

可以看到,无论是在两阶段还是端到端的检测器上,我们的方法都能够很好地提升它们在复杂版面分析数据集上的表现,证明了M2Doc优秀的泛化能力和可插拔能力。

c) 消融实验

五、总结与展望

总的来说,本文面向复杂逻辑版面分析场景提出了一个可插拔的多模态融合方法,很好地从多模态的视角出发,提升了现有的单模态目标检测器在版面分析任务上的表现。我们认为还有以下工作值得未来进行探索:

  • 如何设计统一高效的多模态模型能够更好结合文档的视觉和文本特征是值得后续探索的。
  • 针对M2Doc,如何设计更有效的多模态融合策略也是值得进一步探索的。
  • 现有的关于文档的密集文本的表征方式相当复杂,如何能够进一步简化得到文本特征的步骤也值得研究。

● 论文标题:

M2Doc: A Multi-modal Fusion Approach for Document Layout Analysis

● 论文作者:

张宁、郑晓怡、陈佳禹、江宗源、黄俊、薛洋、金连文

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

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

相关文章

左旋字符串功能的实现

实现一个函数,可以左旋字符串中的k个字符。 例如: #1ABCD左旋一个字符得到BCDA #2ABCD左旋两个字符得到CDAB 由此图可知,其字符串长度为4,每次经历四次左旋后又回到了初始 位置,所以是以字符串长度len为一个循环&…

微服务cloud--抱团取暖吗 netflix很多停更了

抱团只会卷,卷卷也挺好的 DDD 高内聚 低耦合 服务间不要有业务交叉 通过接口调用 分解技术实现的复杂性,围绕业务概念构建领域模型;边界划分 业务中台: 数据中台: 技术中台: 核心组件 eureka&#x…

(done) ROC曲线 和 AUC值 分别是什么?

来源:https://www.bilibili.com/video/BV1wz4y197LU/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 在二分类问题下,我们的模型通常会输出一个 概率值,通过判断 概率值 和 阈值threshold 的大小…

docker 安装部署 jenkins

今天 小☀ 给大家普及一下什么是 jenkins!! Jenkins是一个开源软件项目,基于Java开发的持续集成工具。它提供了一个开放易用的软件平台,使软件项目可以进行持续集成。Jenkins起源于Hudson,主要用于持续、自动地构建、…

动态内存数组(malloc、calloc、realloc、free)

一、为什么要创建动态内存数组 动态内存,顾名思义就是说在内存中非固定的申请数组 在学习该项方法前我们申请内存的方法无非就两种:直接创建变量/通过创建数组的方式来申请空间。 那么直接创建变量/通过创建数组的方式来申请空间的缺点就是一旦创建成…

基于python+vue拍卖行系统的设计与实现flask-django-nodejs-php

拍卖行系统的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。 与安卓,iOS相比较起来,拍卖行…

2024学习鸿蒙开发,未来发展如何?

一、前言 想要了解一个领域的未来发展如何,可以从如下几点进行,避免盲从: 国家政策落地情况就业市场如何学习 通过上述三点,就能分析出一个行业的趋势。大家可以看到,我上面的总体逻辑就是根据国家政策来分析未来方…

大数据技术在工厂生产数字转型中的应用与价值

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 随着大数据技术的快速发展,越来越多的企业开始关注并应用大数据技术&#x…

第6讲-MIPS处理器(3)MIPS单周期处理器设计

三. MIPS单周期处理器设计 1.单周期数据通路设计

联合国通过首个全球人工智能决议草案

当地时间3月21日,联合国大会一致通过了全球第一个关于人工智能(AI)的决议草案,以期能够保护个人数据、保障人权,并能有效监控其安全风险。 该决议由美国提出,包括中国在内的其他121个国家共同参与了制定&am…

移动硬盘故障解析:解决无法访问且位置不可用问题

在我们日常的工作和生活中,移动硬盘已成为存储和传输数据的重要工具。然而,有时我们会遇到移动硬盘无法访问且位置不可用的情况,这无疑给数据的存储和访问带来了极大的困扰。本文将深入探讨这一问题,分析其原因,并给出…

提升交付效率:Booking.com 金融技术团队的成功实践

Booking.com 金融技术业务部门的团队对其平台的后端和前端实施了一系列改进措施,并通过 DORA 指标将交付性能提高了一倍。此外,还使用了微前端 (MFE) 模式,将单体 FE 应用程序分解为多个可单独部署的分解应用程序。 2022 年年中,B…

HTML5+CSS3+JS小实例:创意罗盘时钟

实例:创意罗盘时钟 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=…

代码随想录算法训练营第day54|392.判断子序列 、 115.不同的子序列

目录 392.判断子序列 115.不同的子序列 392.判断子序列 力扣题目链接(opens new window) 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字…

《妈妈是什么》笔记(三) 引导孩子做内部自我评价

经典摘录 教孩子如何拒绝 假如你不得不帮助人&#xff0c;请尽力。尽力也包括&#xff0c;用好的态度让不得不求助的人安心&#xff0c;这比帮助还重要。如果你实在不能帮助&#xff0c;也请用好的态度、客观的事实来婉拒&#xff0c;拒绝已经太沉重&#xff0c;如何拒绝&…

详解如何使用Pytest进行自动化测试

为什么需要自动化测试 自动化测试有很多优点&#xff0c;但这里有3个主要的点 可重用性:不需要总是编写新的脚本&#xff0c;除非必要&#xff0c;即使是新的操作系统版本也不需要编写脚本。可靠性:人容易出错&#xff0c;机器不太可能。当运行不能跳过的重复步骤/测试时&…

用redis lua脚本实现时间窗分布式限流

需求背景&#xff1a; 限制某sql在30秒内最多只能执行3次 需求分析 微服务分布式部署&#xff0c;既然是分布式限流&#xff0c;首先自然就想到了结合redis的zset数据结构来实现。 分析对zset的操作&#xff0c;有几个步骤&#xff0c;首先&#xff0c;判断zset中符合rangeS…

Springboot开发中可能遇到的问题

SpringBoot特征&#xff1a; 1. SpringBoot Starter&#xff1a;他将常用的依赖分组进行了整合&#xff0c;将其合并到一个依赖中&#xff0c;这样就可以一次性添加到项目的Maven或Gradle构建中。 2,使编码变得简单&#xff0c;SpringBoot采用 JavaConfig的方式对Spring进行配置…

保持原先的滚动位置

场景&#xff1a; 一个商品页面&#xff0c;一直滑 划到中间 然后点进去详情页面了 然后再返回 怎么让他保持在中间的位置 方案1&#xff1a;传商品id 做锚点定位 vue中实现锚点定位以及平滑滚动到指定位置_vue中锚点跳转和页面滚动锚点定位-CSDN博客 goAnchor(id) {var anch…