最近有一个新开源的版面分析的模型,做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-Extract-Kit_PDF版面分析

效果展示

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

论文

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

公式

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

试卷

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

conda

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

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

初始化环境

拉取代码

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上拉取,可能会拉不到,多试几次。或者使用解决。

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

修改配置文件

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

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

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

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

安装环境必备环境

需要安装imagemagick

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

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

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

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

在github上,可以找到安装包

 Releases · ImageMagick/ImageMagick · GitHub

这个是windows环境的

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

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

下载模型

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

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

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

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

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

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

运行解析,进行测试

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

启动测试

conda activate pdf-extract

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

可以看到正常在解析了!

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

解析1页搞了35s

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

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

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

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

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