opendatalab / MinerU

A one-stop, open-source, high-quality data extraction tool, supports PDF/webpage/e-book extraction.一站式开源高质量数据提取工具,支持PDF/网页/多格式电子书提取。
https://mineru.readthedocs.io/
GNU Affero General Public License v3.0
13.91k stars 1.04k forks source link

pdf有旋转属性时可视化框位置不准确 #704

Open Yue-Rain opened 1 month ago

Yue-Rain commented 1 month ago

Description of the bug | 错误描述

image 按照教程来跑一个示例,同时将is_table_recog_enable设置为True,其他的使用默认参数,layout检测框不对,应该是横向的。

How to reproduce the bug | 如何复现

{
    "bucket_info":{
        "bucket-name-1":["ak", "sk", "endpoint"],
        "bucket-name-2":["ak", "sk", "endpoint"]
    },
    "models-dir":"/path/to/models",
    "device-mode":"cpu",
    "table-config": {
        "model": "TableMaster",
        "is_table_recog_enable": true,
        "max_time": 400
    }
}

magic-pdf.template.json配置 guicheng_origin.pdf

Operating system | 操作系统

Linux

Python version | Python 版本

3.10

Software version | 软件版本 (magic-pdf --version)

0.8.x

Device mode | 设备模式

cuda

myhloli commented 1 month ago

这个是因为pdf当前页存在一个90度旋转的情况,绘制检测框的时候没有根据旋转角度进行位置修正,但是应该不影响当前页面的文本提取。

aodingpeng commented 1 week ago

这个是因为pdf当前页存在一个90度旋转的情况,绘制检测框的时候没有根据旋转角度进行位置修正,但是应该不影响当前页面的文本提取。

那请问有什么办法进行位置修正吗?这样子不知道是否准确

myhloli commented 1 week ago

这个是因为pdf当前页存在一个90度旋转的情况,绘制检测框的时候没有根据旋转角度进行位置修正,但是应该不影响当前页面的文本提取。

那请问有什么办法进行位置修正吗?这样子不知道是否准确

可以尝试重新实现一下画框的代码,先将pdf页面根据旋转角度渲染成正常角度的图片,再直接在图片上画框,目前mineru中直接使用了pumupdf的线框绘制逻辑,测试过一些调整方案,但是收益甚微,问题可能出在pymupdf库上,因为旋转的文档并不多,而且可视化只是辅助验证手段,并不影响文本的提取功能,所以目前没有计划针对这个问题进行修复。