文档布局分析工具DocLayout-YOLO

文摘   2024-10-24 08:44   湖北  

项目简介

我们提出DocLayout-YOLO的基于YOLO-v10,通过提供多样性文档预训练及适配文档检测的模型结构优化,可针对多样性文档进行实时鲁棒的检测。在文档预训练阶段,我们提出Mesh-candidate BestFit,将文档合成视为二维装箱问题,合成类型多样性的大规模合文档数据集DocSynth-300K。在模型结构优化方面,我们提出了全局到局部可控的感知模块,确保在尺度变化不一的文档元素上得到精准检测结果。

 


快速使用

在线演示目前已经上线。对于本地开发部署,参考以下步骤:

1. 环境配置

参考以下步骤配置环境:

conda create -n doclayout_yolo python=3.10conda activate doclayout_yolopip install -e .

注意: 如果只想使用DocLayout-YOLO的推理功能,直接通过pip进行安装:

pip install doclayout-yolo

2. 模型推理

可以通过脚本的方式或者SDK的方式进行推理:

  • 脚本推理

    通过以下命令运行推理脚本demo.py来进行推理:

python demo.py --model path/to/model --image-path path/to/image

SDK推理

直接通过SDK进行模型推理:

import cv2from doclayout_yolo import YOLOv10
# Load the pre-trained modelmodel = YOLOv10("path/to/provided/model")
# Perform predictiondet_res = model.predict( "path/to/image", # Image to predict imgsz=1024, # Prediction image size conf=0.2, # Confidence threshold device="cuda:0" # Device to use (e.g., 'cuda:0' or 'cpu'))
# Annotate and save the resultannotated_frame = det_res[0].plot(pil=True, line_width=5, font_size=20)cv2.imwrite("result.jpg", annotated_frame)

请使用在 DocStructBench 上微调的模型来进行推理, 可以适用于实际场景中多种类型文档。模型下载地址在链接, 示例图像路径为 assets/example


注意: 对于PDF或者文档内容提取,请参考PDF-Extract-Kit和MinerU。

注意: DocLayout-YOLO 现在支持直接从 🤗Huggingface 进行调用, 加载模型示例如下:

filepath = hf_hub_download(repo_id="juliozhao/DocLayout-YOLO-DocStructBench", filename="doclayout_yolo_docstructbench_imgsz1024.pt")model = YOLOv10(filepath)

或者直接通过 from_pretrained 进行加载:

model = YOLOv10.from_pretrained("juliozhao/DocLayout-YOLO-DocStructBench")


项目链接

http://github.com/opendatalab/DocLayout-YOLO

扫码加入技术交流群,备注开发语言-城市-昵称

合作请注明


 

关注「GitHubStore」公众号


GitHubStore
分享有意思的开源项目
 最新文章