An End-to-End Local Attention Based Model for Table Recognition(ICDAR 2023)

An End-to-End Local Attention Based Model for Table Recognition(ICDAR 2023)

一.前述

作者认为基于Transformer的表格识别模型很难处理大表格的识别,原因是受限于它的全局注意力global attention机制。

基于以上,作者提出了一种局部注意力local attention机制。作者也提出了一种端到端的基于局部注意力模型,去识别表格结构以及表格单元格内容。

所提出的方法主要由四个组成部分:

1)1个用于特征抽取的编码器;

2)3个解码器用于表格识别的3个子任务。

本方法在数据集PubTabNet与FinTabNet上取得了state-of-the-art。

二.概述

本文的主要贡献如下:

1.提出在编码器decoder中使用局部注意力local attention机制。

2.提出端到端的识别模型,便于训练和推理。

3.实验证明了局部注意力机制在表格识别中的有效性。

4.提出的方法在基准数据集上达到了state-of-the-art。

三.方法概述

1.局部注意力机制(Local Attention Mechanism)

一句话,局部注意力是利用窗口大小来使解码器更注重那些重要的tokens上。

(1).局部注意力的公式

以上公式是经典的transformer中的attention权重的计算。

为了实现局部注意力,文中定义了一个mask矩阵M,如上式,这M表示查询Q应该关注的键K的位置。当mask上的元素值1,表示注意力是活动的,如果是0表示不关注。

式中的w表示局部注意力窗口的大小。

上式是局部注意力最终的输出计算,括号内是逐元素相乘。

(2).mask多头注意力(Masked Multi-head Local Attention)

mask多头注意力通过不同的线性变换,对查询q,键k,值v映射h次,获得h个不同的表示(Q,K,V)。然后并行执行局部注意力,获得h个head输出值。

最后h个head的输出值串联起来,再经过一层线性变换,最终的公式如上所示。

(3).基于局部注意力编码层(Local Attention-Based Decoder Layer)

下图一目了然,无需再解析。

2.端到端模型

上图中的端到端模型主要由4个部分组成:基于CNN的特征抽取编码器;三个解码器,用于3个表格识别的子任务(表格结构识别、表格单元格检测以及表格单元格内容识别)。大体流程是:

A.输入一张表格图像

B.特征抽取编码成序列形式

C.序列特征输入到结构解码器structure decoder预测表格结构的token序列

D.当structure decoder产生表格单元格的token时,cell-bbox decoder和cell-content decoder就触动了,其使用structure decoder的隐状态来预测边框坐标以及单元格内容。

E.最后,每个单元格内容,被插入到结构token序列的相应单元格中,输出最终的表格表示。

(1).编码器(Encoder)

利用基于ResNet-31 backbone(对于每个残差块使用Multi-Aspect Global Context Attention)的网络模型抽取输入图像的特征

(输入编码器前图像要resize到520520),抽取的特征再经过一个位置编码层。最终输出固定大小的序列特征。输出的feature map的维度是6565

(2).结构解码器(Structure Decoder)

这部分由三层局部注意力解码器层后再跟一个线性层和一个softmax组成。文中説这里的局部注意力机制有助于结构解码器在预测一个结构token时更加注意其局部重要特征

(即更加注重邻居的tokens)。从图中可以看出三层的local attention的K和V向量都是来自编码层的输出。在训练时,输入的右移序列会经过embedding层和position层,

这里的输出作为Q向量,和前面的K,V一起进入局部注意力机制。推理时这里的输入是structure decoder的输出进行拼接。最后再经过线性层和softmax层,生成表格结构的token。

(3).单元格边框解码器(Cell-Bbox Decoder)

这部分由一个局部注意力解码层,一个线性层和一个sigmoid层组成。这部分会在structure decoder预测新的单元格时会被触发,它的输入一部分是由

structure decoder的隐状态作为Q向量,编码器的输出作为K和V向量,一起进入一个局部注意力机制,后跟一个线性层,经过sigmoid预测输出最终的4个单元格坐标。

(4).单元格内容解码器(Cell-Content Decoder)

这部分其实就是一个文本识别器,它由一个embedding层,一个position层,一个全局注意力层global attention-based decoder,后跟一个线性层和

softmax层组成(这里没有使用局部注意力,作者説是因为单元格里的内容远少于表格结构,所以利用全局注意力更容易学到重要特征)。当structure decoder

预测输出一个新的单元格时,cell-content decoder就触发了。它的输入一部分来自编码器的输出(作为K和V向量),一部分是右移的单元格里的内容序列

(经过embedding层和position位置编码,再加上相应对的单元格structure decoder的隐状态信息。)作为Q向量,最后经过一个线性层和一个softmax层,

预测输出单元格的文本内容。

(5).损失函数

上式中的ℒstruc. and ℒcont.是利用交叉熵cross-entropy分别实现的table结构识别损失和单元格内容预测损失,ℒbbox是利用L1 loss实现的单元格边框预测的损失。

𝜆1、𝜆2和𝜆3为权值超参数。

(6).相关参数设置

structure decoder和cell-bbox decoder所有的局部注意力local attention decoder层都是设置为8头,输入特征大小为512,前馈网络大小为2048。

所有的局部注意力机制的窗口大小window size设置为300。在解码过程中,structure token和cell token最大的序列长度分别是600和150。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

.NET Core 高性能并发编程

一、高性能大并发架构设计 .NET Core 是一个高性能、可扩展的开发框架,可以用于构建各种类型的应用程序,包括高性能大并发应用程序。为了设计和开发高性能大并发 .NET Core 应用程序,需要考虑以下几个方面: 1. 异步编程 异步编程…

在线css像素Px到百分比(%)换算器

具体请前往:在线Px转百分比(%)工具--将绝对像素(px)长度单位转换为相对父级元素内尺寸的相对长度单位百分比(%)

PCL 点云模型滤波(圆形)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 生成点云数据 2.1.2 模型滤波函数 2.1.3 可视化函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总&#xf…

树和二叉树知识点大全及相关题目练习【数据结构】

树和二叉树 要注意树和二叉树是两个完全不同的结构、概念,它们之间不存在包含之类的关系 树的定义 树(Tree)是n(n≥0)个结点的有限集,它或为空树(n 0);或为非空树&a…

lambda表达式底层实现:反编译LambdaMetafactory + 转储dump + 运行过程 + 反汇编 + 动态指令invokedynamic

一、结论先行 lambda 底层实现机制 1.lambda 表达式的本质:函数式接口的匿名子类的匿名对象 2.lambda表达式是语法糖 语法糖:编码时是lambda简洁的表达式,在字节码期,语法糖会被转换为实际复杂的实现方式,含义不变&am…

基于springboot的数据库原理教学案例案例库管理系统

目录 毕设制作流程功能和技术介绍系统实现截图开发核心技术介绍:使用说明开发步骤编译运行代码执行流程核心代码部分展示可行性分析软件测试详细视频演示源码获取 毕设制作流程 (1)与指导老师确定系统主要功能; (2&am…

PMP--三模--解题--71-80

文章目录 7.成本管理--S曲线--S曲线对累计值进行监督和报告--S曲线可以同时报告成本与进度情况。适用于预测和敏捷项目。14.敏捷--信息发射源--是一种可见的实物展示其向组织内其他成员提供信息在不干扰团队的情况下即时实现知识共享。71、 [单选] 项目经理正在为刚刚进入第三次…

windows配置C++编译环境和VScode C++配置(保姆级教程)

1.安装MinGW-w64 MinGW-w64是一个开源的编译器套件,适用于Windows平台,支持32位和64位应用程序的开发。它包含了GCC编译器、GDB调试器以及其他必要的工具,是C++开发者在Windows环境下进行开发的重要工具。 我找到了一个下载比较快的链接:https://gitcode.com/open-source-…

FastAPI 第九课 -- 表单数据

目录 一. 前言 二. 声明表单数据模型 三. 在路由中接收表单数据 四. 表单数据的验证和文档生成 五. 处理文件上传 一. 前言 在 FastAPI 中,接收表单数据是一种常见的操作,通常用于处理用户通过 HTML 表单提交的数据。 FastAPI 提供了 Form 类型&a…

C++发邮件:如何轻松实现邮件自动化发送?

C发邮件的详细步骤与教程指南?如何在C中发邮件? 无论是定期发送报告、通知客户还是管理内部沟通,自动化邮件系统都能显著提升工作效率。AokSend将详细介绍如何使用C发邮件,实现邮件自动化发送,帮助您轻松管理邮件通信…

车视界系统小程序的设计

管理员账户功能包括:系统首页,个人中心,汽车品牌管理,汽车颜色管理,用户管理,汽车信息管理,汽车订单管理系统管理 微信端账号功能包括:系统首页,汽车信息,我…

4.1、FineReport单元格扩展和父子格

单元格扩展 1、配置数据集 2、纵向扩展 方法一: 方法二: 结果 多个字段纵向 2、横向扩展 方法一: 方法二: 结果 父子格 没什么特殊要求,就保持默认 1、右边的值默认以左边为左父格 2、下边的值默认以上边…

【Windows】如何取消显示Windows聚焦在桌面上生成的“了解此图片”图标

如下图所示,在更换Windows聚焦显示的时候,会在桌面多出一个“了解此图片”的图标,看着很烦,但又因为Windows聚焦自带的壁纸比其他主题的壁纸好看很多。 下面是消除办法: 打开注册表(按WindowsR&#xff0…

【COSMO-SkyMed系列的4颗卫星主要用途】

COSMO-SkyMed系列的4颗卫星主要用于提供一个多用途的对地观测平台,服务于民间、公共机构、军事和商业领域。以下是这4颗卫星的主要用途: 民防与环境风险管理: 卫星的高分辨率雷达图像可用于监测自然灾害,如地震、洪水、滑坡等&am…

51单片机学习第六课---B站UP主江协科技

DS18B20 1、基本知识讲解 2、DS18B20读取温度值 main.c #include<regx52.h> #include"delay.h" #include"LCD1602.h" #include"key.h" #include"DS18B20.h"float T; void main () {LCD_Init();LCD_ShowString(1,1,"temp…

汽车革命下半场AI先锋:广汽为新“智”汽车装配大模型“底盘”

汽车革命的上半场是电动化&#xff0c;下半场是智能化&#xff0c;这是全球汽车产业普遍认同的观点。当前&#xff0c;我国汽车产业已经在电动化上半场取得了显著成效&#xff0c;在下半场智能化的全球战场能否胜出&#xff0c;关键看车企的创新意愿和研发实力。 在2024年9月1…

【Orange Pi 5嵌入式应用编程】-用户空间GPIO控制

用户空间GPIO控制 文章目录 用户空间GPIO控制1、嵌入式Linux的GPIO子系统介绍1.1 sysfs文件访问GPIO1.2 通过字符设备访问GPIO1.3 库与工具2、RK3588的GPIO介绍3、用户空间操作GPIO编程3.1 硬件准备3.2 通过libgpio操作GPIO3.2.1 GPIO输出3.2.3 GPIO输入3.2.3 边沿事件检测(中断…

《Windows PE》3.2.3 NT头-扩展头

■扩展头&#xff08;可选标头仅限映像文件&#xff09; OptionalHeader字段描述了可执行文件的更多细节和布局信息&#xff0c;如图像基址、入口点、数据目录、节表等。它的具体结构取决于文件的机器架构&#xff0c;可以是IMAGE_OPTIONAL_HEADER32&#xff08;32位&#xff…

【论文笔记】Flamingo: a Visual Language Model for Few-Shot Learning

&#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;为万世开太平。 基本信息 标题: Flamingo: a Visual Langu…

html空单元格的占位

先上代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title></head><body> <H1>我的WEB页面</H1><table border"2px" bgcolor"#7fffd4&…