飞桨PP系列新成员PP-DocLayout开源,版面检测加速大模型数据构建,超百页文档图像一秒搞定

背景介绍
文档版面区域检测技术通过精准识别并定位文档中的标题、文本块、表格等元素及其空间布局关系,为后续文本分析构建结构化上下文,是文档图像智能处理流程的核心前置环节。随着大语言模型、文档多模态及RAG(检索增强生成)等技术快速发展,高质量结构化数据已成为模型训练与文档知识库构建的关键需求。基于版面检测模型定位识别文档图像的布局,结合如文本识别、公式识别、表格识别及信息抽取等下游任务,能够为大模型产出丰富的结构化训练数据,增强大模型的公式理解、表格解析以及对文档层次结构的理解能力。
然而,当前版面检测模型在满足构建 AI 数据的需求时仍面临诸多挑战:其一,多样化文档适用性不足,现有算法多聚焦于论文类文档,对杂志、报纸、研报等复杂版式的检测效果有限,难以获取类型丰富的大模型训练数据;其二,复杂版面结构识别能力有限,类别定义不全面(如行间/行内公式未单独定义),需额外模型辅助识别,导致处理效率降低与模型管理复杂化;其三,实时性能不足,难以满足大模型对海量训练数据的快速获取的需要。
为此,飞桨团队推出PP-DocLayout版面区域检测模型,支持中英文论文、研报、试卷、书籍、报纸、杂志等多种文档类型的23类版面区域的高精度识别与定位,显著提升大模型获取训练数据的多样性与高质量,同时满足大模型海量数据构建的高效率需求,基于 PaddleX 高性能推理引擎,轻量级模型在 CPU 上每秒可处理约69个文档图像页面,T4 GPU上每秒可处理高达123个文档图像页面,大幅超越现有开源方案。

一、效果速览

论文
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

报纸或杂志
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

研报
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

试卷、书籍或笔记
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

合同或条款

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、算法解读

针对版面检测任务,PP-DocLayout 系列支持 23 个常见版面布局类别,包含文档标题、段落标题、文本、页码、摘要、目录、参考文献、脚注、页眉、页脚、算法、公式、公式编号、图像、图像标题、表格、表格标题、图表、图表标题、印章、页眉图像、页脚图像和侧栏文本。这些类别覆盖全面,涵盖了多样化文档中常见的版面元素;类别结构层次清晰,通过识别文档标题、摘要、段落标题和正文等元素,可以更好地解析文档的语义层次和逻辑关系;同时包含公式、印章、表格、图表等高价值信息的结构化数据,允许更精准的进一步数据处理和分析;增加细粒度的页眉图像、页脚图像、侧栏文本等细小元素类别,利于下游版面恢复任务提高文档版面布局顺序预测的质量。
PP-DocLayout 系列提供了三个不同尺度的模型,以满足不同场景的需求:

  1. 高精度模型:PP-DocLayout-L,基于飞桨自研高精度检测模型 RT-DETR-L 训练得到,其在精度上达到了90.4 mAP@0.5,相对上一版本精度提升 15% 以上,尤其适合需要高精度的任务场景;在效率上也有所保障,基于 PaddleX 的高性能推理,高精度 PP-DocLayout-L 模型在 T4 GPU 上每个页面端到端推理耗时 13.4 ms。
  2. 精度和效率均衡模型:PP-DocLayout-M,基于飞桨自研精度-效率均衡的检测模型 PP-PicoDet-M 训练得到,适合精度效率兼顾要求的任务,其在精度上达到了75.2 mAP@0.5,基于 PaddleX 的高性能推理模式,PP-DocLayout-M 高精度模型能够在 T4 GPU 上每个页面端到端推理耗时 12.7ms。
  3. 高效率模型:PP-DocLayout-S,基于飞桨自研高效率检测模型 PP-PicoDet-S 训练得到,以提升推理速度和降低模型大小为目标,适合于资源受限的环境和实时应用场景。基于 PaddleX 的高性能推理模式,高效率模型在 T4 GPU上能够能实现毫米级别预测,单页面处理耗时约 8.1ms,CPU上能够实现单页面耗时 14.5ms。
    在这里插入图片描述
    注:以上精度指标的评估集是 PaddleX 自建的版面区域检测数据集,包含中英文论文、杂志、合同、书本、试卷和研报等常见的 500 张文档类型图片。GPU 推理耗时基于 NVIDIA Tesla T4 机器,CPU 推理速度基于 Intel® Xeon® Gold 6271C CPU @ 2.60GHz,线程数为 8,精度类型为 FP32。

PP-DocLayout 在数据和算法层面均做了优化:

  1. 在数据层面,采用了基于主动学习的数据轮动方法,筛选较难的样本和类别,获取大量人工矫正标签的高质量多类型文档的版面检测模型训练数据。
  2. 算法层面
    1)更优的泛化能力:PP-DocLayout-L 的骨干网络采用了蒸馏技术,骨干网络基于大模型蒸馏得到,大幅增强模型泛化性能。通过知识蒸馏技术,可以将一个大规模、复杂的“教师”模型的知识传递给一个相对较小的“学生”模型。在这里,我们将基于大规模文档数据训练得到的 GOT-OCR2.0 模型的视觉编码器作为“教师”模型,而将飞桨自研的高精度骨干网络 PP-HGNetV2-B4 作为“学生”模型。我们收集了大量多种类型的约 50 万文档图像数据,并利用 L2 损失函数,将大模型的输出作为目标,指导小模型的学习。这样,小模型能够更好的支持复杂下游任务,如版面区域检测。在版面区域检测任务中,PP-DocLayout-L 的训练使用经过知识蒸馏的 PP-HGNetV2-B4 作为预训练模型,从而能够更快速地收敛,并提升精度和泛化能力。
    在这里插入图片描述
    骨干网络知识蒸馏

在这里插入图片描述

2)优化伪标签质量的半监督学习:PP-DocLayout-M/S 采用了半监督学习技术,基于 PP-DocLayout-L 生成伪标签,在伪标签生成过程中,根据每个类别得分分布制定最佳阈值获取较高质量伪标签,优化标签质量。基于真实人工标注和伪标签数据,训练 PP-DocLayout-M 和 PP-DocLayout-S 模型,增强模型精度。

添加图片注释,不超过 140 字(可选)

3)灵活易用后处理:支持每个类别的动态阈值调整,可根据数据优化漏检和误检情况;支持重叠框过滤,可过滤多余的检测框;可自由扩张框边长,便于输入正确完整布局到下游任务;可选框的合并模式,支持输出外边框,内框和所有框,适用于不同的下游任务需求。

三、使用方法

安装
安装PaddlePaddle

# cpu
python -m pip install paddlepaddle==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/# gpu,该命令仅适用于 CUDA 版本为 11.8 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/# gpu,该命令仅适用于 CUDA 版本为 12.3 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cu123/

安装PaddleX Wheel包

pip install https://paddle-model-ecology.bj.bcebos.com/paddlex/whl/paddlex-3.0.0rc0-py3-none-any.whl

快速体验

PaddleX 提供了简单易用的 Python API,只需几行代码即可体验模型预测效果,可以下载测试图片,方便大家快速体验效果:
图片下载地址:
https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout.jpg

from paddlex import create_modelmodel = create_model(model_name="PP-DocLayout-L")
output = model.predict("layout.jpg", batch_size=1, layout_nms=True)for res in output:res.print()res.save_to_img(save_path="./output/")res.save_to_json(save_path="./output/res.json")

上述代码中:

  1. 首先使用模型名称调用 create_model() 方法实例化对象;
  2. 然后使用 predict() 方法进行预测,对于预测结果支持 print() 方法进行打印,save_to_img() 方法进行可视化并保存为图片以及 save_to_json() 方法保存预测的结构化输出。
    下图1为测试图像,2图为 PP-DocLayout-L 模型版面检测结果。
    在这里插入图片描述
    在这里插入图片描述

此外,调用模型的 predict() 方法进行推理预测时,predict() 方法参数支持传入版面模型后处理参数和是否开启高性能推理:

  • threshold: 动态阈值调整,支持传入浮点数或自定义各个类别的阈值字典,为每个类别设定专属的检测得分阈值。这意味着您可以根据自己的数据,灵活调节漏检或误检的情况,确保每一次检测更加精准;
  • layout_nms : 重叠框过滤,布尔类型,用于指定是否使用NMS(非极大值抑制)过滤重叠框,启用该功能,可以自动筛选最优的检测结果,消除多余干扰框;
  • layout_unclip_ratio: 可调框边长,不再局限于固定的框大小,通过调整检测框的缩放倍数,在保持中心点不变的情况下,自由扩展或收缩框边长,便于输出正确完整的版面区域内容;
  • layout_merge_bboxes_mode: 框合并模式,模型输出的检测框的合并处理模式,可选“large”保留外框,“small”保留内框,不设置默认保留所有框。例如一个图表区域中含有多个子图,如果选择“large”模式,则保留一个图表最大框,便于整体的图表区域理解和对版面图表位置区域的恢复,如果选择“small”则保留子图多个框,便于对子图进行一一理解或处理。在下游任务中无论是想突出整体,还是聚焦细节,都能轻松实现。
  • use_hpip:是否启用高性能推理来优化您模型的推理过程,进一步提升效率。

二次开发
如果对模型效果满意,可以直接对产线进行高性能推理/服务化部署/端侧部署,如果在您的场景中,效果还有进一步优化空间,您也可以使用 PaddleX 进行便捷高效的二次开发,使用自己场景的数据对模型微调训练获得更优的精度。基于 PaddleX 便捷的二次开发能力,使用统一命令即可完成数据校验、模型训练与评估推理,无需了解深度学习的底层原理,按要求准备好场景数据,简单运行命令即可完成模型迭代,此处展示版面区域检测模型二次开发流程:

python main.py -c paddlex/configs/modules/layout_detection/PP-DocLayout-L.yaml \-o Global.mode=train \-o Global.dataset_dir=./dataset/layout_det_examples

上述命令中:main.py 为模型开发统一入口文件;-c 用于指定模型配置文件的参数,模型配置文件 PP-DocLayout-L.yaml 中包含了模型的信息,如模型名、学习率、批次大小等,其中 mode 支持指定数据校验(dataset_check)、训练(train)、评估(evaluate)、模型导出(export)和推理(predict)。更多参数也可以继续在命令中追加参数设置或可通过修改.yaml配置文件中的具体字段来进行设置。

其余更详细的使用方法及产线部署、自定义数据集相关的内容,请参考PaddleX官方教程文档:
版面区域检测模块使用教程
https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-rc/docs/module_usage/tutorials/ocr_modules/layout_detection.md

精彩课程

为了帮助您迅速且深入地了解版面区域检测全流程解决方案,百度研发工程师精心打造视频精讲课程,为您深度解析本次技术升级。此外,我们还将开设针对版面区域检测产线的产业场景实战营,配套详细教程文档,手把手带您体验从数据准备、数据校验、模型训练、性能优化到模型部署的完整开发流程。机会难得,立即点击链接报名https://www.wjx.top/vm/eArkGEn.aspx?udsid=730670

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

以科技赋能,炫我云渲染受邀参加中关村文化科技融合影视精品创作研讨会!

在文化与科技深度融合的时代浪潮下,影视创作行业经历着前所未有的变革。影视创作行业发展态势迅猛, 同时也面临着诸多挑战。为促进影视创作行业的创新发展,加强业内交流与合作, 3月25日下午,海淀区文化创意产业协会举办…

NFS挂载异常排查记录

互相PING服务器看是否通;在ubuntu下看下服务器是否正常运行。导出目录是否导出了。最后发现在挂载目录的地方目录路径和后面没有加空格。

flutter 专题 七十一 Flutter 自定义单选控件

在Flutter 应用开发中,经常会遇到各种单选效果,虽然官方提供了Radio组件,但是并不能满足我们实际的开发需求,所以往往还需要自定义控件才能满足平时的开发需求。下面就平时开发中用到的单选进行介绍: 自定义SegmentBa…

在Cesium中使用ThreeJs材质(不是场景融合哦)

在Cesium中使用ThreeJs材质(不是场景融合哦)_哔哩哔哩_bilibili

浅谈Thread类及常见方法与线程的状态(多线程编程篇2)

目录 前言 1.Thread类及常见方法 Thread类中常见的属性 1. getId() 2. getName() 3. getState() 4. getPriority() 5. isDaemon() 6. isAlive() 7. isInterrupted() 2.Thread类中常见的方法 Thread.interrupt() (中断线程) Thread.start()(启动线程) 1. 覆写 run…

Elasticsearch:人工智能时代的公共部门数据治理

作者:来自 Elastic Darren Meiss 人工智能(AI)和生成式人工智能(GenAI)正在迅速改变公共部门,从理论探讨走向实际应用。正确的数据准备、管理和治理将在 GenAI 的成功实施中发挥关键作用。 我们最近举办了…

使用事件监听器来处理并发环境中RabbitMQ的同步响应问题

RabbitListener 是 Spring AMQP 提供的核心注解,用于简化 RabbitMQ 消息监听器的创建。以下是对 RabbitListener(queues "balloonWords.queue") 的详细解析: 一、基础功能 队列监听 通过 queues 属性指定监听的队列名称(如 "…

2025年数智化电商产业带发展研究报告260+份汇总解读|附PDF下载

原文链接:https://tecdat.cn/?p41286 在数字技术与实体经济深度融合的当下,数智化产业带正成为经济发展的关键引擎。 从云南鲜花产业带的直播热销到深圳3C数码的智能转型,数智化正重塑产业格局。2023年数字经济规模突破53.9万亿元&#xff…

自动驾驶04:点云预处理03

点云组帧 感知算法人员在完成点云的运动畸变补偿后,会发现一个问题:激光雷达发送的点云数据包中的点云数量其实非常少,完全无法用来进行后续感知和定位层面的处理工作。 此时,感知算法人员就需要对这些数据包进行点云组帧的处理…

Servlet注解与使用模板方法设计模式优化oa项目

一、Servlet注解,简化配置 分析oa项目中的web.xml文件 现在只是一个单标的CRUD,没有复杂的业务逻辑,很简单的一丢丢功能。web.xml文件中就有如此多的配置信息。如果采用这种方式,对于一个大的项目来说,这样的话web.xml…

污水处理厂人员定位方案-UWB免布线高精度定位

1. 方案概述 本方案采用免布线UWB基站与北斗卫星定位融合技术,结合UWBGNSS双模定位工卡,实现污水处理厂室内外人员高精度定位(亚米级)。系统通过低功耗4G传输数据,支持实时位置监控、电子围栏、聚集预警、轨迹回放等功…

【C++初阶】第12课—list

文章目录 1. list的构造2. list迭代器的常见接口2.1 list遍历的迭代器接口2.2 list修改数据的迭代器接口2.3 list排序、逆序、合并相关操作的成员函数 3. 模拟实现list3.1 模拟实现list的构造3.2 模拟实现list的尾插3.3 模拟实现迭代器iterator3.4 模拟实现list的插入删除3.5 模…

Java进阶

Java进阶 注解什么是注解?内置注解元注解自定义注解 对象克隆(对象复制)如何实现克隆?浅克隆深克隆 设计模式统一建模语言(UML)类接口类之间的关系 面向对象设计原则1. 单一职责2. 开闭原则3. 里氏替换原则…

AB包介绍及导出工具实现+AB包资源简单加载

Resource原理 项目中建立Resources目录,资源导入内部 生成项目包 资源文件存储路径 结论:存储在Resources下的资源,最终会存储在游戏的主体包中,发送给用户,手机系统上,如果需要做资源的更新,是…

全包圆玛奇朵样板间亮相,极简咖啡风引领家装新潮流

在追求品质生活的当下,家居装修风格的选择成为了许多消费者关注的焦点。近日,全包圆家居装饰有限公司精心打造的玛奇朵样板间正式对外开放,以其独特的咖啡色系极简风格,为家装市场带来了一股清新的潮流。玛奇朵样板间不仅展示了全…

算法基础——模拟

目录 1 多项式输出 2.蛇形方阵 3.字符串的展开 模拟,顾名思义,就是题⽬让你做什么你就做什么,考察的是将思路转化成代码的代码能⼒。这类题⼀般较为简单,属于竞赛⾥⾯的签到题(但是,万事⽆绝对&#xff…

Java---类与对象

类与对象 前言:一、面向对象二、类的定义1.类的定义格式2.访问修饰限定符 三、类的实例化四、this引用1.this引用2.this引用的原因 五、对象的构造和初始化1.初始化对象2.构造方法(1).构造方法的概念:(2).特性:(3).this调用:3.就地初始化4.默…

【巧文书高效编标工具】技术解决方案

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 巧文书高效编标工具**是一款基于自然语言处理(NLP)与自动化技术的智能编标解决方案,旨在提升标书编制效率、降低人工错误率。通过结合规则引擎、模板化生成和AI辅助校对&#xff0c…

1.基于TCP的简单套接字服务器实现

目录 1. TCP通信流程 2. 服务器端的通信流程 2.1 创建用于监听的套接字 2.2 绑定本地IP地址和端口 2.3 设置监听 2.4 等待接受客户端的连接请求 2.5 与客户端进行通信 2.6 客户端连接服务器 3.代码实现 client.cpp server.cpp 运行方式 在本文中,我们将…

【大模型基础_毛玉仁】5.3 附加参数法:T-Patcher

目录 5.3 附加参数法:T-Patcher5.3.1 补丁的位置1)键值存储体2)补丁设计 5.3.2 补丁的形式5.3.3 补丁的实现1)准确性2)局部性 5.3 附加参数法:T-Patcher 附加参数法:通过引入可训练的额外参数实…