Dolphin 是由 ByteDance 开发的一款开源文档图像解析工具,专注于处理复杂的文档图像,如包含文本、表格、公式和图片的扫描件或 PDF 文件。它采用“先分析后解析”的方法,通过两阶段处理实现高效解析:首先分析文档的页面布局,生成自然阅读顺序的元素序列;然后使用异构锚点和任务特定提示并行解析文档元素。Dolphin 在多种页面和元素级解析任务中表现出色,兼顾轻量级架构和高效性能。该工具已在 ACL 2025 会议上发表论文,并提供预训练模型和推理代码,方便开发者使用。用户可以通过 GitHub 仓库获取代码和模型,也可体验在线演示。
Function List
- 页面布局分析:自动识别文档中的文本、表格、公式和图片,按自然阅读顺序排列元素。
- 并行元素解析:使用异构锚点和任务特定提示,高效处理不同类型的文档元素。
- 支持多模态输入:处理包含文本、图像、表格和公式的复杂文档图像。
- 提供预训练模型:用户可下载预训练模型,直接用于推理或二次开发。
- 开源代码支持:提供详细的代码和文档,支持开发者定制和扩展功能。
- 在线演示平台:用户可通过 Demo-Dolphin 在线测试解析效果。
Using Help
Installation process
要使用 Dolphin,用户需要先从 GitHub 仓库或 Hugging Face 下载代码和预训练模型。以下是详细的安装和使用步骤:
- environmental preparation
Dolphin 依赖 Python 环境,推荐使用 Python 3.8 或更高版本。用户需要安装以下依赖包:pip install torch torchvision pip install git-lfs
确保系统已安装 Git 和 Git LFS,用于下载大模型文件。
- Download code and models
Dolphin 的代码和模型可以通过以下方式获取:- 从 GitHub 下载代码::
git clone https://github.com/bytedance/Dolphin cd Dolphin
- 从 Hugging Face 下载模型::
git lfs install git clone https://huggingface.co/ByteDance/Dolphin ./hf_model
或者使用 Hugging Face CLI:
huggingface-cli download ByteDance/Dolphin --local-dir ./hf_model
- 模型文件也可以从 Baidu Yun 或 Google Drive 下载,并放置在
./checkpoints
folder.
- 从 GitHub 下载代码::
- Configuration environment
下载代码后,进入项目目录,检查./config/Dolphin.yaml
配置文件,确保模型路径和参数正确。配置文件包含模型架构和推理设置,用户可根据需要调整。 - 运行环境验证
安装完成后,运行以下命令验证环境:python -m demo_element.py --help
如果命令正常输出帮助信息,说明环境配置成功。
Usage
Dolphin 提供命令行接口,方便用户处理单张文档图像。以下是主要功能的使用方法:
- 处理单张表格图像
要解析包含表格的图像,运行以下命令:python demo_element.py --config ./config/Dolphin.yaml --input_path ./demo/element_imgs/table_1.jpeg --element_type table
该命令会分析表格图像,提取表格内容并生成结构化输出。输出结果通常为 JSON 格式,包含表格的行、列和单元格内容。
- 处理公式图像
对于数学公式图像,运行:python demo_element.py --config ./config/Dolphin.yaml --input_path ./demo/element_imgs/line_formula.jpeg --element_type formula
Dolphin 会识别公式内容并将其转换为 LaTeX 格式,便于进一步编辑或渲染。
- 处理文本段落图像
要解析文本段落,运行:python demo_element.py --config ./config/Dolphin.yaml --input_path ./demo/element_imgs/para_1.jpg --element_type text
命令会提取文本内容,保留段落结构和格式。
- Online Demo
如果不想本地部署,用户可访问 Demo-Dolphin 平台(链接见 GitHub 仓库)。在平台上上传文档图像,选择元素类型(如表格、文本或公式),即可查看解析结果。平台适合快速测试,无需配置环境。
Featured Function Operation
- 页面布局分析:Dolphin 首先扫描整个文档图像,识别页面中的元素(如标题、段落、表格等),并按自然阅读顺序排列。这种方法适合处理复杂文档,避免元素识别顺序错误。
- 并行解析:Dolphin 使用异构锚点(heterogeneous anchors)为不同元素类型(如表格、公式)分配特定提示,允许多个元素同时解析,大幅提升效率。
- Lightweight Architecture:相比其他文档解析模型,Dolphin 的模型体积更小,推理速度更快,适合在资源有限的设备上运行。
caveat
- 确保输入图像清晰,模糊或低分辨率图像可能影响解析效果。
- 对于大型文档,建议分块处理,逐页上传图像以提高准确性。
- 如果遇到模型加载问题,检查
./checkpoints
文件夹中的模型文件是否完整。 - 参考 GitHub 仓库的 README 文件,获取最新的配置说明和常见问题解答。
application scenario
- 学术研究文档处理
研究人员可以利用 Dolphin 解析扫描的学术论文,提取公式、表格和文本内容。例如,将 PDF 格式的论文转换为结构化数据,便于进一步分析或存档。 - 企业文档数字化
企业可使用 Dolphin 将纸质合同、报告或发票的扫描件转换为可编辑的数字格式。表格和文本的自动提取功能能大幅提高数据录入效率。 - Organization of educational resources
教师和学生可通过 Dolphin 解析教学材料中的公式和图表。例如,将数学教材的扫描页转换为 LaTeX 格式,用于在线教学或笔记整理。 - file management
档案管理员可利用 Dolphin 处理历史文档扫描件,提取关键信息并生成结构化数据,方便归档和检索。
QA
- Dolphin 支持哪些类型的文档元素?
Dolphin 支持文本、表格、公式和图片的解析。它能处理包含这些元素的复杂文档图像,如扫描的 PDF 文件或照片。 - 如何提高解析准确性?
使用高分辨率、清晰的图像作为输入。确保文档背景简洁,避免过多干扰元素。对于大型文档,建议逐页处理。 - Dolphin 是免费的吗?
是的,Dolphin 是开源工具,基于 MIT 许可证发布。用户可免费下载代码和模型,自由使用或修改。 - 需要强大的硬件支持吗?
Dolphin 的轻量级架构使其适合在普通电脑上运行,但建议配备 GPU 以加速推理。最低配置为 8GB 内存和 4GB 显存。 - 如何获取最新更新?
关注 GitHub 仓库(https://github.com/bytedance/Dolphin)或 Hugging Face 页面,获取最新的代码、模型和文档更新。