# General-Documents-Layout-parser **Repository Path**: xeonye/General-Documents-Layout-parser ## Basic Information - **Project Name**: General-Documents-Layout-parser - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-20 - **Last Updated**: 2024-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 通用文档版面分析 ## 一、项目介绍: 本项目目标在于提供一个通用的文档版面分析模型。 版面分析在当下的作用,主要用于解决文档解析中,OCR的文字片段合并问题。 如双栏文字,ocr识别后可能会由于后处理不当导致乱序等。 文本乱序,对后续大模型解析等应用都会产生较大影响。你可以使用本项目解决扫描pdf解析,图片解析等问题。 ocr开源项目较多,排序模型参考xy_cut。本项目暂不添加此模块。 **模型框架为Yolo-V5,使用两阶段训练方式:** * 一阶段:基于开源的科技论文及新闻等领域的数据集。旨在模型适应文档布局,各种要素(图像,文本,表格)的通用特征提取。 * 二阶段:自行构建更为丰富的领域文档标注数据集。自行收集复杂文档版面图片,使用一阶段模型,接入label-studio,进行预标注,随后人工调整。 **说明:** 1、支持3种版面元素:【文本块,图像,表格】。 本项目简化冗余元素,如公式、页眉、页脚之类的元素。原因是这些元素对于文档文本内容还原并不重要。 2、表格 类型的元素,可供你接入table_paser 等三方客制模型。你可以藉此将表格图片切出,输入表格解析模型,输出结构化表格。 ## 二、推理 1、单图推理 `python infer.py` 2、批量推理 `python3 detect.py --source ./inference/images/ --weights weights/layout.pt --conf 0.5 --device cpu` 权重下载,权重主要包含两部分: 1、yolov5x:链接:https://pan.baidu.com/s/19PxE7iWRYhD2FSGln8960g 提取码:4j3l 2、Layout:链接:https://pan.baidu.com/s/1HoERqJgErZR0p0-8ogA5Tg 提取码:fveg ## 三、训练 `sh train.sh` 参数说明及注意事项: 1、`--data data/layout.yaml` 训练前,请注意你的数据配置正确:配置文件位于`data/layout.yaml` 若需更改支持的类型,请修改相应配置文件。 训练数据格式为yolo数据格式。 2、`--cfg models/score/yolov5x.yaml` config 文件,若类型数量有变,请注意配置配置文件中的 nc = num your class ## 4、效果展示 ## 5、本项目基于如下项目开发,感谢原作及原始yolo作者。 https://github.com/DataXujing/YOLO-v5