项目简介
我们提出DocLayout-YOLO的基于YOLO-v10,通过提供多样性文档预训练及适配文档检测的模型结构优化,可针对多样性文档进行实时鲁棒的检测。在文档预训练阶段,我们提出Mesh-candidate BestFit,将文档合成视为二维装箱问题,合成类型多样性的大规模合文档数据集DocSynth-300K。在模型结构优化方面,我们提出了全局到局部可控的感知模块,确保在尺度变化不一的文档元素上得到精准检测结果。
快速使用
在线演示目前已经上线。对于本地开发部署,参考以下步骤:
1. 环境配置
参考以下步骤配置环境:
conda create -n doclayout_yolo python=3.10
conda activate doclayout_yolo
pip 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 cv2
from doclayout_yolo import YOLOv10
# Load the pre-trained model
model = YOLOv10("path/to/provided/model")
# Perform prediction
det_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 result
annotated_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」公众号