最新开源的PDF版面分析工具 PDF-Extract-Kit

  最近有一个新开源的版面分析的模型,做PDF版面分析效果非常好。而且对公式的解析效果比较好。虽然现在star数量不高,但是绝对会涨起来的。我们调研对比过很多开源的工具,效果都强差人意,这个是我看到的最满意的一个。甚至要比我们生产环境的都要好一些。这里分享一下详细的安装过程。
  github上的的教程太粗糙了。我把遇到的问题和解决方法都写了出来。
  这篇文章分享的 是在windows10下安装的案例。且以cpu启动。最终可以成功启动。

GitHub - opendatalab/PDF-Extract-Kit: A Comprehensive Toolkit for High-Quality PDF Content Extraction

关于PDF-Extract-Kit

 由于文档类型的多样性,现有开源的布局检测和公式检测很难处理多样性的PDF文档,为此我们内容采集多样性数据进行标注和训练,使得在各类文档上取得精准的检测效果,细节参考布局检测公式检测部分。对于公式识别,UniMERNet方法可以媲美商业软件,在各种类型公式识别上均匀很高的质量。对于OCR,我们采用PaddleOCR,对中英文OCR效果不错。

效果展示

结合多样性PDF文档标注,我们训练了鲁棒的布局检测公式检测模型。在论文、教材、研报、财报等多样性的PDF文档上,我们的pipeline都能得到准确的提取结果,对于扫描模糊、水印等情况也有较高鲁棒性。

论文

公式

试卷

conda

为了隔离环境,减少版本冲突问题,这里推荐使用conda来隔离环境。如果有conda可以跳过这一步,如果没有conda,可以参考下边的链接,来安装conda。

Windows下的Anaconda详细安装教程(2023/10/7)_windows安装anaconda-CSDN博客

初始化环境

拉取代码

conda create -n pdf-extract python=3.10

conda activate pdf-extract

pip install -r requirements+cpu.txt

pip install https://github.com/opendatalab/PDF-Extract-Kit/raw/main/assets/whl/detectron2-0.6-cp310-cp310-win_amd64.whl

这个从github上拉取,可能会拉不到,多试几次。或者使用科学上网解决。

修改配置文件

修改 configs/model_configs.yaml 文件,把 cuda 改为 cpu

修改 modules/layoutlmv3/layoutlmv3_base_inference.yaml 文件中的 DEVICE 为 cpu

安装环境必备环境

需要安装imagemagick

如果不安装,就会有报错如下

需要下载imagemagick,但是这个域名打不开

在github上,可以找到安装包

Releases · ImageMagick/ImageMagick · GitHub

这个是windows环境的

下载完点击文件安装即可!

下载模型

模型,这里是模型没有下载,会报错如下

这里为了方便,我使用git来从魔搭上拉取

git clone https://www.modelscope.cn/wanderkid/PDF-Extract-Kit.git

加下载后的的models目录,剪切到PDF-Extract-Kit下,替换原来的 models

运行解析,进行测试

还是在 PDF-Extract-Kit 目录下,创建一个demo的文件夹,放一个pdf测试文件

启动测试

conda activate pdf-extract

python pdf_extract.py --pdf demo/page1.pdf

可以看到正常在解析了!

解析1页搞了35s

默认把json结果输出到output目录下了

这里只有版面分析的结果如果想要把PDF直接转成 md结构,或者json,看这篇文章

windows10 环境 安装超牛的PDF解析工具MinerU (CPU跑)-CSDN博客

minerU 的版面分析使用的 Extract-kit的结果。

相关推荐

  1. <span style='color:red;'>pdf</span><span style='color:red;'>工具</span>

    pdf工具

    2024-07-19 07:58:02      24 阅读
  2. 分享一个用C#写Aspose.Pdf生成pdf工具

    2024-07-19 07:58:02       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 07:58:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 07:58:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 07:58:02       58 阅读
  4. Python语言-面向对象

    2024-07-19 07:58:02       69 阅读

热门阅读

  1. vue3封装el-table及实现表头自定义筛选

    2024-07-19 07:58:02       20 阅读
  2. jEasyUI 显示海量数据

    2024-07-19 07:58:02       19 阅读
  3. 团队高效地使用 Git 进行协同开发

    2024-07-19 07:58:02       20 阅读
  4. ArrayList

    2024-07-19 07:58:02       21 阅读
  5. vue项目使用iview☞Modal后页面不能滚动的诡异问题

    2024-07-19 07:58:02       21 阅读
  6. STM32 | 看门狗+RTC源码解析

    2024-07-19 07:58:02       21 阅读
  7. 富文本中提取信息并去除其中的HTML或XML标签

    2024-07-19 07:58:02       21 阅读
  8. 2024前端面试真题【手写篇】

    2024-07-19 07:58:02       18 阅读