OCR两篇革命之作

embedded/2024/12/22 20:10:45/

DocOwl2

参考 阿里8B模型拿下多页文档理解新SOTA,324个视觉token表示一页,缩减80%

mPLUG-DocOwl 2聚焦多页文档理解,兼顾效果和效率,在大幅缩减单页视觉token的前提下实现了多页文档理解的SOTA效果。

仅用324个token表示文档图片也能还原出图片的文字信息和布局信息,验证了当下多模态大模型几千的文档图片视觉表征存在较大的token冗余和资源的浪费。

mPLUG团队会持续优化DocOwl并进行开源,同时希望DocOwl 2能抛砖引玉,让更多的研究人员关注到多模态大模型对于高清文档图片的冗余编码问题,欢迎大家持续关注和友好讨论!

论文:
https://arxiv.org/abs/2409.03420

代码:
https://github.com/X-PLUG/mPLUG-DocOwl

在 OCR-free文档理解领域,例如mPLUG-DocOwl2模型所使用的方式,旨在通过直接使用多模态大型语言模型(MLLMs)来理解文档图像,从而绕过传统的OCR步骤。这种方法与先应用OCR提取文本,然后执行问答形成对比。

以下是为什么无OCR文档理解可以优于两步骤OCR然后QA过程的原因:

效率:OCR引入了额外的步骤,例如文本提取和格式化,这可能会减慢过程。像DocOwl2这样的模型直接使用文档的原始视觉特征,将其压缩为同时保留布局和文本的标记,从而降低单独OCR过程的开销。

上下文保留:OCR可能在保持文档布局和结构方面遇到困难,特别是在具有表格、图表或多列等混合内容的复杂文档中。无OCR方法处理整个文档图像,保持视觉和布局上下文,这对理解内容的语义含义至关重要。

标记效率:在像DocOwl2这样的无OCR方法中,视觉标记用于表示文档特征,这些模型经过优化以处理更少的标记同时保留重要的文档信息。这降低了内存使用量并加快了推理时间,使多页文档处理更加可行。

更适合复杂文档:OCR在处理手写文本、质量不佳的扫描或包含许多图表等视觉元素的文档时可能失败。OCR-free方法通过视觉语言建模处理文档,绕过这些挑战,从而在此类文档上提高了问答准确性。

通过直接关注多页和多图像理解而不是通过OCR,像DocOwl2这样的模型在减少计算需求并提高处理视觉复杂文档的能力的同时,实现了最先进的性能。

GOT OCR

参考 一个端到端的 OCR 模型,炸裂开源!

项目地址: https://github.com/Ucas-HaoranWei/GOT-OCR2.0

模型下载: https://huggingface.co/ucaslcl/GOT-OCR2_0

GOT-OCR 2.0 是一款革命性的端到端通用 OCR 模型,它能够识别和提取文本,还能处理数学公式、分子式、图表、乐谱、几何图形等多种内容,极大地拓宽了 OCR 技术的应用范围。

🚀 项目特点

① 多语言、多模态识别:GOT-OCR 2.0 支持多种语言和模态的文本识别,无论是印刷体还是手写体,都能准确识别。

② 多样化输入输出:支持照片、文档、切片等多种输入格式,输出格式包括纯文本、Markdown、TikZ、SMILES、Kern 等,满足不同场景的需求。

③ 长文本处理能力: 解码器支持 8K 最大长度的 token,能够处理长文本场景,适用于学术论文、法律文件等长文本资料。

④ 高级功能: 包括交互式 OCR 功能、动态分辨率策略、多页 OCR 技术支持,提供更加灵活和高效的 OCR 解决方案。

OCR 识别效果
公式:
在这里插入图片描述
大段文字:
在这里插入图片描述
提取文字:
在这里插入图片描述

提取某一坐标的文字:
在这里插入图片描述
论文:
在这里插入图片描述


http://www.ppmy.cn/embedded/114566.html

相关文章

智能 Uber 发票 PDF 合并工具

在现代商务出行中,尤其是在跨国出差中,处理和整合大量 Uber 发票已成为一项不小的挑战。手动整理和合并这些发票不仅耗时,还容易出错。作为开发者,为什么不开发一个自动化工具,将这些任务交给代码来完成呢?…

springBoot整合easyexcel实现导入、导出功能

本次使用的框架是springboot&#xff0c;使用mybatisplus操作表&#xff0c;使用easyexcel实现表格的导入与导出。 操作步骤 1、导入依赖&#xff1a;&#xff08;pom.xml&#xff09; <!-- 查看excel的maven仓库 https://mvnrepository.com/artifact/com.alibaba/easyex…

WEB攻防-JS项目Node.js框架安全识别审计验证绕过

知识点&#xff1a; 1、原生JS&开发框架-安全条件 2、常见安全问题-前端验证&未授权 详细点&#xff1a; 1、什么是JS渗透测试&#xff1f; 在JavaScript中也存在变量和函数&#xff0c;当存在可控变量及函数调用即可参数漏洞 2、流行的Js框架有哪些&#xff1f; …

SpringMVC1~~~

快速入门 spring容器文件 在src下就是applicationContext-mvc.xml&#xff0c;需要在web.xml指定<init-param>&#xff0c;给DispatcherServlet指定要去操作的spring容器文件 在WEB-INF下就是xxx-servlet.xml&#xff0c;不需要在web.xml指定<init-param>,如果我们…

Java中的`String`、`StringBuffer` 和 `StringBuilder`:深入理解与应用场景

在Java中&#xff0c;String、StringBuffer 和 StringBuilder 是用于处理字符串的三种常用类。虽然它们都可以用于创建和操作字符串&#xff0c;但它们的实现、特性、性能以及使用场景各不相同。理解这三者的区别以及它们各自的应用场景&#xff0c;对于编写高效的Java程序至关…

如何学习JAIN-SLEE

要系统地学习 JAIN-SLEE (Java API for Integrated Networks – Service Logic Execution Environment)&#xff0c;你需要从基础概念到高级应用逐步深入学习。以下是详细的入门学习路径和顺序&#xff0c;涵盖必要的知识点、学习顺序和步骤&#xff0c;帮助你快速掌握 JAIN-SL…

如何在webots中搭建一个履带机器人

前期准备 下载webotswebots基本知识 a. 官方文档:Webots documentation: Track b. B站教程:webots-超详细入门教程(2020)_哔哩哔哩_bilibili搭建流程 搭建履带机器人主要使用到了webots中的track节点,这个节点是专门用来定义履带的相关属性,模拟履带运动的 首先,创建一个…

Unity3D入门(二) :Unity3D实现视角的丝滑过渡切换

1. 前言 上篇文章&#xff0c;我们已经初步了解了Unity3D&#xff0c;并新建并运行起来了一个项目&#xff0c;使相机视角自动围绕着立方体旋转。 这篇文章&#xff0c;我们来讲一下Unity3D怎么过渡地切换视角。 我们继续是我上篇文章中的项目&#xff0c;但是需要向把Camera…