首页 > 其他分享 >DocLayout-YOLO,让多样性文档布局检测更快、更准、更强

DocLayout-YOLO,让多样性文档布局检测更快、更准、更强

时间:2024-10-30 14:16:01浏览次数:3  
标签:opendatalab 检测 YOLO DocLayout 文档 https 更准

 布局检测是文档解析领域的核心任务之一,目标是精准定位文档中不同类型的元素(正文、标题、表格、图片等)。尽管布局检测已经研究很多年,但现有的布局检测算法多关注在论文类型的文档,当面对多样性的文档(如教材、考题、研报等)时,其检测效果还是不及预期。

上海人工智能实验室在2024年7月份开源的 PDF-Extract-Kit 中提供了使用多样性文档微调的 LayoutLMv3 模型,在众多类型的文档上均取得了不错效果,但其推理速度相对较慢。为了满足实时高质量的推理需求,作者团队近日推出全新布局检测模型 DocLayout-YOLO其推理速度相比于LayoutLMv3提升一个数量级,在A100上每秒可以处理85.5个页面,检测结果也更加精准。一起来看看。

DocLayout-YOLO GitHub主页:https://github.com/opendatalab/DocLayout-YOLO

DocLayout-YOLO 论文:https://arxiv.org/abs/2410.12628

DocLayout-YOLO Demo体验:https://huggingface.co/spaces/opendatalab/DocLayout-YOLO

一、DocLayout-YOLO技术解析

DocLayout-YOLO 基于YOLOv10模型,并从多样性文档预训练和模型结构优化方面对布局检测模型进行优化。

● 多样性文档预训练DocLayout-YOLO文章中提出Mesh-candidate Bestfit算法,自动合成多样性的文档布局检测数据集DocSynth-300K,大幅提升模型在多样性文档上检测的鲁棒性;

● 检测结构优化:模型结构方面,针对文档元素尺度变化多样的特性,提出全局到局部的可控感知模块,更加灵活适配不同尺度元素,有效提升YOLO框架对文档元素检测效果。

 创新点1:基于Mesh-candidate Bestfit的多样性文档合成

当前的布局检测数据集类型较为单一,多数集中于论文文档,例如PubLayNet和DocBank。相比之下,其他类型的文档数据集(如DocLayNet、D4LA、M6Doc)数据量较小,仅适用于下游任务的微调和测试,而不适合用于预训练。为了解决这一问题,DocLayout-YOLO项目引入了Mesh-candidate Bestfit算法。该算法将文档布局合成视作二维矩形拼图问题,通过在文档中不断搜索候选元素(candidate)和空闲块(mesh)的最佳匹配,生成多样化且美观的文档图像。具体的合成流程可以参考论文中的图1(DocSynth-300K文档数据合成流程图)。

图片

图1 DocSynth-300K文档数据合成流程图

合成的数据集在风格上多样且视觉真实度高。布局方面,涵盖了单栏、双栏以及多栏混合文档;在文档风格上,包括论文、报纸、杂志等多种类型的页面。DocSynth-300K和现有文档布局检测预训练数据集相比,样式更加多样化,经过DocSynth-300K预训练的模型在多种下游实际文档类型也体现出更强的泛化性。

图片

图2 DocSynth-300K数据样例

目前DocSynth300K数据集已经上线OpenDataLab,

DocSynth300K数据集:https://opendatalab.com/zzy8782180/DocSynth300K

预训练模型可以在

标签:opendatalab,检测,YOLO,DocLayout,文档,https,更准
From: https://blog.csdn.net/OpenDataLab/article/details/143364321

相关文章

  • YOLOv6-4.0部分代码阅读笔记-iou2d_calculator.py
    iou2d_calculator.pyyolov6\assigners\iou2d_calculator.py目录iou2d_calculator.py1.所需的库和模块2.defcast_tensor_type(x,scale=1.,dtype=None): 3.deffp16_clamp(x,min=None,max=None): 4.defiou2d_calculator(bboxes1,bboxes2,mode='iou',is_align......
  • YOLOv6-4.0部分代码阅读笔记-atss_assigner.py
    atss_assigner.pyyolov6\assigners\atss_assigner.py目录atss_assigner.py所需的库和模块classATSSAssigner(nn.Module): 1.所需的库和模块importtorchimporttorch.nnasnnimporttorch.nn.functionalasFfromyolov6.assigners.iou2d_calculatorimportiou......
  • JSON文件转YOLO文件示例
    文章目录前言一、步骤指南二、代码实现1.类别名称到ID的映射2.边界框转换函数3.JSON解码函数4.主程序前言将JSON标注文件转换为YOLO格式通常涉及从JSON文件中提取图像尺寸、对象类别和边界框坐标,并将这些信息格式化为YOLO格式所需的格式。YOLO格式通常要求每行包含......
  • YOLO11改进 | 卷积模块 | 无卷积步长用于低分辨率图像和小物体的新 CNN 模块SPD-Conv
    秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转......
  • 总结yolov8做图像实例分割训练时的一些常识点
    计算机视觉中的几个重要的研究方向。主要包括图像分类、目标检测、语义分割、实例分割、全景分割等那么何为实例分割?实例分割比目标检测更进一步,涉及识别图像中的各个对象并将它们与图像的其余部分分割开来。 图像分割可分为:语义分割,实例分割,全景分割。(a)原图,(b)语义分......
  • <项目代码>YOLOv8 煤矸石识别<目标检测>
      YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如FasterR-CNN),YOLOv8具有更高的检测速度和实时性。1.数据集介绍数据集详情可以参考博主写的文章<数据集>煤矸石识别......
  • yolov5 train报错:TypeError: expected np.ndarray (got numpy.ndarray)
    前言macintel机器上,使用yolov5物体检测训练时报错:TypeError:expectednp.ndarray(gotnumpy.ndarray)这个错误信息TypeError:expectednp.ndarray(gotnumpy.ndarray)看起来有些奇怪,因为numpy.ndarray实际上就是np.ndarray。通常情况下,这种错误可能是由于库版本不......
  • YOLOv6-4.0部分代码阅读笔记-anchor_generator.py
    anchor_generator.pyyolov6\assigners\anchor_generator.py目录anchor_generator.py1.所需的库和模块2.defgenerate_anchors(feats,fpn_strides,grid_cell_size=5.0,grid_cell_offset=0.5, device='cpu',is_eval=False,mode='af'): 1.所需的库和模块imp......
  • YOLOv6-4.0部分代码阅读笔记-assigner_utils.py
    assigner_utils.pyyolov6\assigners\assigner_utils.py目录assigner_utils.py1.所需的库和模块2.defdist_calculator(gt_bboxes,anchor_bboxes): 3.defselect_candidates_in_gts(xy_centers,gt_bboxes,eps=1e-9): 4.defselect_highest_overlaps(mask_pos,overl......
  • 500多种目标检测数据集下载地址汇总(YOLO、VOC)
    名称辣椒病害分类数据集9076张12类别.7z【目标检测数据集】光伏电池异常检测数据集VOC+YOLO格式219张2类别_2.zip【目标检测数据集】钢丝绳破损灼伤缺陷检测数据集VOC+YOLO格式1318张2类别.7z【目标检测数据集】狗狗数据集5912张VOC+YOLO格式.zip【目标检测数据集】工地安全帽......