OCR-free相关论文梳理

news2024/11/16 15:34:29

⚠️注意:暂未写完,持续更新中

引言

通用文档理解,是OCR任务的终极目标。现阶段的OCR各种垂类任务都是通用文档理解任务的子集。这感觉就像我们一下子做不到通用文档理解,退而求其次,先做各种垂类任务。

现阶段,Transformer技术的发展,让通用文档理解任务变得不再是那么遥不可及,出现了很多OCR-free的工作。

该部分的工作可以分为三个阶段:

  1. 监督类的方法,像LayoutLM系列
  2. 只有Transformer结构
  3. 结合了LLM做通用文档理解

本篇文章着重梳理第2点和第3点涉及到的OCR-free的通用文档理解的工作。行文难免挂一漏万,还望大家多多指教。

⚠️注意:行文顺序是从新到旧

(2024 TextMonkey) TextMonkey: An OCR-Free Large Multimodal Model for Understanding Document

code: https://github.com/Yuliang-Liu/Monkey
TextMonkey
TextMoneky工作源于之前Moneky的工作,主要贡献点有以下几点:

  1. 通过使用sliding window将原始图像划分为non-overlapping 448x448 patches的方式,间接地增加了输入图像的尺寸
  2. 为了增加多个window patches彼此之间的connections, 作者引入了Shifted Window Attention层,插入到多个Endcoder Layer中间
  3. 提出了Token Sampler,用于找到其中真正起到关键作用的tokens,减少计算量。这一点有一个假设前提:image包含冗余的tokens
  4. 为了减少模型的幻觉,作者添加了一些额外的training task,例如:text spotting和reading text任务。这些任务可以确保模型学到text和location data之间的关系。
  5. 论文还探索了作为App Agent的潜力

PS: 整个工作还是比较间接有效,唯一有些缺憾的是相关中文数据用的较少,在中文上效果较差。

(2023 DocPedia) Docpedia: Unleashing the power of large multimodal model in the frequency domain for versatile document understanding
(2023 TGDoc) Towards improving document understanding: An exploration on textgrounding via mllms
(EMNLP2023 UReder) UReader: Universal OCR-free Visually-situated Language Understanding with Multimodal Large Language Model
(2023 UniDoc) Unidoc: A universal large multimodal model for simultaneous text detection, recognition, spotting and understanding
(2023 Vary) Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models

code: https://github.com/Ucas-HaoranWei/Vary
Vary
该篇工作着眼于dense and fine-grained vision perception任务,例如文档级别OCR和图表理解任务。这一点和Nougat工作有些类似。论文主要可分为两个阶段:

  1. 设计一个vocabulary network,通过自回归的方式产生所需要的vocabulary
  2. 将上一阶段的new vocabulary与LLM中现有的vanilla vision vocabulary融合,使得LLM获得新的能力。

因为在第一阶段训练Vary-tiny时,image encoder用的是在ViTDet上训练所得SAM-base模型,所以其输入图像尺寸是1024x1024x3。这一点可以有效缓解文档类图像在较小尺寸下输入,文字模糊变形问题。但是并未从实际上提高模型的输入尺寸。

PS: 整个Vary工作,我个人认为最大的一点价值是提供了合成中文文档数据的思路,但是并未开源任何合成的相关代码,同时也未开源其模型。 这也难怪后续的工作,很少有与Vary做对比的。这一点从TextMoneky工作中就可看出来。因为Vary用了私有数据集,模型也未开源,所以不能相比。

(2023 Pix2struct)Pix2struct: Screenshot parsing as pretraining for visual language understanding

code: https://github.com/google-research/pix2struct
Pix2struct
该篇工作主要是将网页上masked screenshots转换简单的HTML代码,示例图如上面所示,第一列是模型的输入,第二列是模型对应的输入结果。首次证明了一个模型在多个不同visual-language understanding任务中都能取得较好效果。

Pix2struct是基于ViT的标准image-encoder-text-decoder结构,论文中并没有给出具体框图,只是说明了相对于标准的结构,做了哪些改变:

  1. 由于观察到在一些visual-language task中,对同样图像,输入不同aspect ratio图像,结果有很大影响。因此作者在保持宽高比的基础上,对图像做了scaling,具体做法可参考下图:
    在这里插入图片描述
  2. 为了能够处理图像中variable resolutions unambiguously,作者引入了2维绝对位置embedding。直白一些,就是加入了位置编码。

以上两点,使得标准的ViT网络更加鲁棒。

值得注意的是,Pix2struct是针对不同任务,都需要重新训练对应的模型。也就是说,我有6个不同visual-language tasks,我就需要分别训练对应6个模型,虽然这6个模型的网络结构是一样的。

PS: 整篇文章看得我有些懵逼,始终没有找到用了多少数据训练的。🤦🏻‍♀️

(2023 Nougat) Nougat: Neural Optical Understanding for Academic Documents

code: https://github.com/facebookresearch/nougat
Nougat
该篇工作基于Donut,整个网络结构都是来自Donut。因此该篇工作的主要贡献不在算法侧,而是在于数据侧,主要有以下三点:

  1. 训练了pre-trained model,可以转换PDF到轻量的mardown格式,包括PDF中表格和公式
  2. 通过构造了一个完整pipeline,来构造一个将PDF转换为对应MMD格式的数据集
  3. 该方法其输入仅仅是图像,且能够处理扫描的论文和书籍

对于以上三点,我个人最能受益的是第2点。可以说,构造PDF → mmd格式数据集是整个问题的关键。这一点在后续OCR-free与LLM结合的工作中,体现的更加明显。我自己的确也真正跑通了构造数据集的代码,并得到了大约34w 英文文档数据集。在这里不得不为Nougat的工作点赞。
Data porcessing

(ECCV 2022 Donut) OCR-free Document Understanding Transformer

code: https://github.com/clovaai/donut
Donut
该工作将OCR中多个子任务都集成到了一个End-to-End的网络中,网络是基于transformer的编解码结构。这应该是第一篇将Transformer 编解码结构应用到整个OCR任务中的工作,包括文档分类、文档信息提取和文档问答三个任务。

虽然之前有基于Transformer的文本识别工作–TrOCR,但是也仅仅限于文本识别这一个单一任务。与之前工作相比,Donut与之前工作的差异,可以用下图中清晰体现出来:Pipeline Overview
Donut的结构有些像Text Spotting任务(检测和识别都在一个模型中完成),但是Donut做的要比Text Spotting任务更进一步。Text Spotting任务只是将图像中文本和对应框坐标提了出来,并没有做进一步操作,而Donut则是在理解图像中文本内容基础上做结构化内容任务。

下图就是Text Spotting任务常见结构图(选自PGNet):

PGNet
值得一提的是,论文中提出了一种合成文档数据的Pipeline-- SynthDoG。这为后续开展进一步研究提供了极大的便利。
在这里插入图片描述

PS: 这篇工作可谓是经典之作,打开了新思路。

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

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

相关文章

MongoDB从0到1:高效数据使用方法

MongoDB,作为一种流行的NoSQL数据库。从基础的文档存储到复杂的聚合查询,从索引优化到数据安全都有其独特之处。文末附MongoDB常用命令大全。 目录 1. 引言 MongoDB简介 MongoDB的优势和应用场景 2. 基础篇 安装和配置MongoDB MongoDB基本概念 使…

百度云加速即将下线

关注卢松松,会经常给你分享一些我的经验和观点。 松松商城作为多年百度云加速代理商,上周接到通知:百度云加速产品计划于2024年4月30日下线,目前也无法做实名了。 同时,百度云加速也开始逐步迁移到百度云&#xff0…

构造函数、原型、instanceof运算符

通过构造函数创建对象 构造函数是学习面向对象的基础 任何函数都有原型对象 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.…

卡尔曼滤波器笔记——最详细

笔记来源— 卡尔曼滤波算法原理及代码实现&#xff01;https://www.bilibili.com/video/BV1WZ4y1F7VN/?spm_id_from333.337.search-card.all.click&vd_source8d55784dc9c7530bc9e3fa220380be56 简单介绍一下 现在我们就是不知道是距离多少&#xff0c;就需要用到这个卡尔…

C++进阶--mep和set的模拟实现

红黑树链接入口 底层容器 模拟实现set和map时常用的底层容器是红黑树。 红黑树是一种自平衡的搜索二叉树&#xff0c;通过对节点进行颜色标记来保持平衡。 在模拟实现set和map时&#xff0c;可以使用红黑树来按照元素的大小自动排序&#xff0c;并且保持插入和删除操作的高效…

缓冲区与C库函数的实现

目录 一、缓冲区 二、C库函数的实现 一、缓冲区 缓冲区本质就是一块内存&#xff0c;而缓冲区存在的意义本质是提高使用者(用户)的效率【把缓冲区理解成寄送包裹的菜鸟驿站】 缓冲区的刷新策略 1. 无缓冲(立即刷新) 2. 行缓冲(行刷新) 3. 全缓冲(缓冲区满了&#xff0c;再刷…

三. 操作系统 (6分) [理解|计算]

🌟三. 操作系统 (6分) [理解|计算] PV操作, 分页存储管理, 文件的索引, 位示图 考试重点 文章目录 🌟三. 操作系统 (6分) [理解|计算]==PV操作, 分页存储管理, 文件的索引, 位示图 考试重点==3.1 进程管理3.2 存储管理3.3 设备管理3.4 文件管理3.1 进程管理 进程的特征 进…

部署docker仓库harbor

1、下载包 1、包已上传有两个harbor.v2.6.0.tar与harbor.tar 2、harbor.tar解压后会生成harbor目录&#xff0c;将harbor.v2.6.0.tar移动到harbor目录下。 3、执行harbor目录下的install.sh 4、执行完后修改配置文件 2、修改配置文件 vim /root/harbor/make/ harbor.yml.tmpl …

【JAVA】CSS3:3D、过渡、动画、布局、伸缩盒

1 3D变换 1.1 3D空间与景深 /* 开启3D空间,父元素必须开启 */transform-style: preserve-3d;/* 设置景深&#xff08;你与z0平面的距离 */perspective:50px; 1.2 透视点位置 透视点位置&#xff1a;观察者位置 /* 100px越大&#xff0c;越感觉自己边向右走并看&#xff0c;…

亚信安慧AntDB:系统稳定性的守护

在国产化升级改造的过程中&#xff0c;AntDB不断地适应不同的需求&#xff0c;为用户提供个性化的解决方案。其致力于确保数据安全和系统稳定&#xff0c;预防数据泄露和系统崩溃等问题的发生。AntDB的团队不仅专注于技术的提升和创新&#xff0c;更关注用户的实际需求&#xf…

Docker 笔记(五)--链接

这篇笔记记录了Docker 的Link。 官方文档&#xff1a; Legacy container links - Communication across links 目录 参考Legacy container linksConnect using network port mappingConnect with the linking systemThe importance of naming Communication across linksEnviro…

《IAB视频广告标准:综合指南(2022)》之概述篇 - 我为什么要翻译介绍美国人工智能科技公司IAB 系列(2)

IAB平台&#xff0c;使命和功能 IAB成立于1996年&#xff0c;总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司&#xff0c;互动广告局&#xff08;IAB- the Interactive Advertising Bureau&#xff09;自1996年成立以来&#xff0c;先后为700多家媒体…

漫步者、南卡、Oladance开放式耳机怎么样?巅峰测评谁是公认力作

​最近朋友们经常向我询问开放式耳机的选择问题&#xff0c;他们购买了开放式耳机后发现音质不佳&#xff0c;上耳佩戴舒适性几乎为零。市面上的开放式耳机琳琅满目&#xff0c;大家不知道该如何选择。漫步者、南卡、Oladance开放式耳机怎么样&#xff1f;我作为音乐爱好者已经…

Java实现PDF文字内容识别,结合OCR实现PDF图片实现

使用插件&#xff1a;UMI-OCR、PDFBOX 实现思路&#xff1a;通过PDFBOX识别PDF文字&#xff0c;如果是图片&#xff0c;则识别不出来&#xff0c;再调用OCR进行识别返回文字&#xff1b;OCR识别较慢&#xff0c;长图识别不出来&#xff0c;目前HTTP方式只支持图片格式&#xf…

变量柱塞液压泵比例阀放大器

液压泵把动力机的能转换成液压的压力能。使用在开式和闭式系统里在固定和移动的设备上&#xff0c;通过电比例放大器控制比例阀线圈驱动液流方向压力流量。BEUEC比例放大器适用控制方式&#xff1a;电比例控制&#xff08;12VDC、24VDC&#xff09;&#xff0c;控制闭式泵系列4…

消费补贴模式,刺激消费需求,重塑商业格局

​小编介绍&#xff1a;10年专注商业模式设计及软件开发&#xff0c;擅长企业生态商业模式&#xff0c;商业零售会员增长裂变模式策划、商业闭环模式设计及方案落地&#xff1b;扶持10余个电商平台做到营收过千万&#xff0c;数百个平台达到百万会员&#xff0c;欢迎咨询。 在…

小明的背包——01背包问题

经典版 题目链接&#xff1a;1.小明的背包1 - 蓝桥云课 (lanqiao.cn) 01背包问题中&#xff0c;每种物品只有两种状态&#xff0c;即拿或不拿。设状态dp[i][j]max(dp[i-1][j],dp[i-1][j-w]v)&#xff1b;如果不拿物品i&#xff0c;那么最大价值就是dp[i-1][j]&#xff0c;如果…

【软件工具】网络性能测试工具 Iperf

Iperf 是一款专业的开源网络性能测试工具&#xff0c;它被广泛用于测量网络带宽、延迟、抖动和数据包丢失等网络性能指标&#xff0c;支持 TCP 和 UDP 等&#xff0c;可用于点对点或客户端-服务器等模式的网络测试。 软件获取 官方下载地址&#xff1a;https://iperf.fr/iper…

最新若依项目快速上手

最新若依项目快速上手 配套视频&#xff1a;若依项目快速上手视频 1. 下载源码 官网&#xff1a;https://ruoyi.vip/ 前端 git clone https://github.com/yangzongzhuan/RuoYi-Vue3.git后端 git clone https://gitee.com/y_project/RuoYi-Vue.git2. 数据库 创建数据库ry-vue…

Day32:安全开发-JavaEE应用Servlet路由技术JDBCMybatis数据库生命周期

目录 JavaEE-HTTP-Servlet&路由&周期 JavaEE-数据库-JDBC&Mybatis&库 思维导图 Java知识点&#xff1a; 功能&#xff1a;数据库操作&#xff0c;文件操作&#xff0c;序列化数据&#xff0c;身份验证&#xff0c;框架开发&#xff0c;第三方库使用等. 框架…