概述:为什么 Dolphin v2 对内容创作者至关重要#
Dolphin v2 是一个开源的文档图像解析模型,旨在将复杂的视觉文档(如扫描的 PDF、收据、表格、幻灯片、杂志和故事板)转换为结构化的、机器可读的输出。对于经常需要处理混乱的输入和耗时的管理任务的内容创作者来说,Dolphin v2 承诺了一条从原始文件到可编辑、可搜索和可自动化的有用资产的更快途径。
无论您是视频创作者从 PDF 中提取脚本,设计师解析品牌指南和样式表,作家从扫描的书籍中编译参考文献,还是配音演员组织角色台词表,Dolphin v2 都可以将非结构化的文档图像转换为清晰的 JSON、CSV、Markdown 或纯文本。它是开源的(MIT 许可证),正在积极开发中,并且可以在 GitHub 上找到:https://github.com/bytedance/Dolphin,模型通过社区托管(请参阅项目文档中的 Hugging Face 链接)。
在本指南中,我们将概述 Dolphin v2 是什么,与 v1 相比有哪些新功能,它是如何工作的,如何安装和使用它,常见的陷阱,性能考虑因素以及实际的创意用例——以便您可以自信地将 Dolphin v2 引入您的日常工作流程。
什么是 Dolphin v2?#
概览:
- Dolphin v2 是一个文档图像解析模型,可以读取图像或 PDF 并输出结构化数据。
- 它的目标是无 OCR 或轻 OCR 管道,最大限度地减少对脆弱的 OCR 步骤的依赖。
- 它支持各种文档类型(表格、发票、表格、图表、多栏杂志、海报)。
- 它适用于快速本地推理和可扩展的服务器部署。
- 它是 MIT 许可证下的开源软件,促进商业和研究用途。
- 代码、模型、演示和文档通过官方 GitHub 存储库维护:https://github.com/bytedance/Dolphin。
Dolphin v2 的构建旨在实用、稳健且对开发者友好。它旨在减少围绕文档理解的摩擦,并加快复杂的前期制作或后期制作任务,在这些任务中,创作者通常花费数小时手动转录、标记和重新组织内容。
Dolphin v2 与 v1 相比有哪些新功能#
Dolphin v2 专注于生活质量的改进、在实际场景中的稳健性以及易于集成。虽然确切的实现细节不断发展,但创作者可以期待以下关键改进:
-
对真实世界捕获的稳健性:
- 更好地处理倾斜、低光或不完美的移动扫描。
- 提高了对嘈杂的注释、图章和水印的容忍度。
-
更好的结构理解:
- 更精确的多栏、多语言出版物布局解析。
- 更强大的表格、图表以及表格和发票中常见的键值对处理。
-
更长的文档支持:
- 改进的分块、分页感知和跨页上下文。
- 更流畅的跨多页 PDF 的结构化输出拼接。
-
轻 OCR/无 OCR 模式:
- 减少了对单独 OCR 步骤的需求;当使用 OCR 时,Dolphin v2 支持插入式 OCR 引擎作为后备。
-
JSON 优先输出:
- 更清晰、一致的模式,用于 Notion、Airtable、Figma 插件、电子表格或 NLE 脚本中的下游自动化。
-
简化的部署:
- 更直接的服务器/API 示例,以及更快的生产使用冷启动。
- 更容易导出为 CSV、Markdown 和 HTML 等格式。
-
更好的开发者体验:
- 更清晰的配置、示例笔记本和参考管道。
- MIT 许可证使商业管道中的采用变得简单。
总而言之,这些改进使 Dolphin v2 更易于信任、更快地采用,并且对于各种规模的以创作者为中心的工作流程更有效。
Dolphin v2 的工作原理(高级)#
虽然具体的模块和训练方法已在存储库中记录,但以下是 Dolphin v2 处理文档的概念视图:
-
视觉编码:
- 输入页面图像(来自 PDF 或相机捕获)被标准化并馈送到视觉骨干中,以生成具有布局感知的丰富视觉嵌入。
-
语言和结构解码:
- 文本解码器(通常是 Transformer)生成表示文档内容和布局元素(标题、段落、列表、表格、单元格、键值对)的结构化标记。
-
模式引导生成:
- Dolphin v2 经过调整,可以生成结构化输出(通常是 JSON),遵循您可以映射到应用程序的可预测模式。
- 这包括表格单元格坐标、阅读顺序、节标题以及表格中标签和值之间的关联。
-
可选的 OCR 集成:
- 对于特定语言或低对比度图像,OCR 插件可以提高文本保真度。Dolphin v2 非常灵活:使用无 OCR 模式以提高速度和简单性,或使用混合模式以提高在困难情况下的准确性。
-
后期处理:
- 输出被标准化为您的生产工具可以使用的格式。考虑用于电子表格的 CSV、用于文档和 Wiki 的 Markdown 或用于自动化和 API 的 JSON。
对于创作者来说,关键点是 Dolphin v2 旨在最大限度地减少手动清理。您可以获得结构化的内容,可以随时编辑、对齐或发布——而无需从头开始重建您的管道。
系统要求和兼容性#
Dolphin v2 旨在在现代消费者和工作站设置上运行。典型要求:
- 操作系统:Linux 或 Windows(macOS 用于 CPU 推理;GPU 加速因硬件而异)
- Python:3.8–3.11(检查存储库以获取确切版本)
- 依赖项:PyTorch(GPU 构建需要 CUDA 支持)、OpenCV、Pillow 和其他标准 ML 库
- 硬件:
- 仅 CPU 推理对于小型作业是可能的。
- 对于实时或批量吞吐量,建议使用单个现代 GPU(例如,12–24 GB VRAM)。
- 多 GPU 设置可以加速跨长 PDF 或大型档案的大规模处理。
兼容性:
- PDF 通常按页拆分为图像;Dolphin v2 处理这些页面图像 (PNG/JPG)。
- 通过 JSON/CSV 与基于 Python 的自动化、REST API 和创意工具链良好集成。
- MIT 许可证使 Dolphin v2 易于插入专有工作流程。
始终查阅 https://github.com/bytedance/Dolphin 以获取最准确、最新的要求。
安装和快速入门#
Dolphin v2 支持本地和服务器部署。确切的步骤可能会有所不同;以下内容反映了官方存储库中的典型流程。
选项 A:从源代码
# 1) 克隆存储库
git clone https://github.com/bytedance/Dolphin.git
cd Dolphin
# 2) (推荐) 创建一个干净的环境
# 以 Conda/Mamba 为例:
conda create -n dolphinv2 python=3.10 -y
conda activate dolphinv2
# 3) 安装依赖项(有关确切的要求文件,请参阅存储库)
pip install -r requirements.txt
# 4) (可选) 根据您的 CUDA 版本安装启用 GPU 的 PyTorch:
# 访问 https://pytorch.org/get-started/locally/ 获取正确的命令
# 5) 按照存储库或模型卡中的说明下载模型权重
# 例如,scripts/download_weights.sh(如果提供)或手动下载
# 6) 运行快速推理演示(示例命令 - 检查存储库以获取具体信息)
python tools/infer.py \
--image_path ./samples/invoice_01.jpg \
--output ./outputs/invoice_01.json \
--config ./configs/dolphin_v2.yaml \
--weights ./weights/dolphin_v2.pth
选项 B:使用提供的笔记本或演示应用程序
- 该存储库通常包含一个带有端到端示例的 Jupyter 笔记本。
- 一些社区构建在 Hugging Face 上发布 Dolphin v2。如果预构建的管道可用,请尝试使用您的浏览器或 Colab 笔记本。
说明性 Python 代码段(仅模式 - 有关确切的 API,请参阅存储库):
from pathlib import Path
from PIL import Image
import json
# 伪代码:实际的 API 名称可能不同
# 例如,dolphin.load_model()、dolphin.preprocess()、dolphin.postprocess()
# 1) 加载模型
model = load_dolphin_v2(weights_path="weights/dolphin_v2.pth", device="cuda:0")
# 2) 预处理图像
img = Image.open("samples/storyboard_page.jpg").convert("RGB")
batch = preprocess_for_dolphin_v2([img])
# 3) 推理
with torch.no_grad():
raw_outputs = model(batch)
# 4) 后处理为结构化 JSON
result = postprocess_dolphin_v2(raw_outputs)[0]
# 5) 保存并检查
Path("outputs").mkdir(exist_ok=True)
with open("outputs/storyboard_page.json", "w", encoding="utf-8") as f:
json.dump(result, f, ensure_ascii=False, indent=2)
print("提取的键:", list(result.keys()))
提示:Dolphin v2 通常返回结构化元素,如段落、标题、带有单元格的表格或表格的键值字段。您可以将这些转换为 CSV、Markdown 或您的 CMS 模式。
在生产 API 中使用 Dolphin v2#
许多团队将 Dolphin v2 包装在轻量级 REST 服务中,并从创意工具、NLE 或自动化脚本中调用它。一个最小的 FastAPI 示例(仅结构;适应存储库的功能):
from fastapi import FastAPI, UploadFile, File
from PIL import Image
import io, json
app = FastAPI()
model = load_dolphin_v2(weights_path="weights/dolphin_v2.pth", device="cuda:0")
@app.post("/parse")
async def parse_document(file: UploadFile = File(...)):
content = await file.read()
image = Image.open(io.BytesIO(content)).convert("RGB")
batch = preprocess_for_dolphin_v2([image])
with torch.no_grad():
raw = model(batch)
result = postprocess_dolphin_v2(raw)[0]
return result # FastAPI 将序列化 dict->JSON
将其部署在 Nginx 或无服务器 GPU 端点后面,并将其连接到您的 MAM/DAM 系统、Google Sheets、Notion 或您自己的管道。
性能和基准#
性能取决于您的 GPU、输入分辨率和文档复杂性。一般来说:
- Dolphin v2 旨在在多栏页面、表格、发票和嘈杂的扫描件上提供比 v1 更高的准确性。
- 在单个现代 GPU 上,每页的延迟可以接近实时,批量处理可以加速多页 PDF。
- 为了获得最佳结果,请将输入分辨率与模型的建议设置对齐(请参阅配置)。
比较:
- 与传统的 OCR + 基于规则的解析相比,Dolphin v2 减少了脆弱的启发式方法和手动清理。
- 与旧的文档理解堆栈相比,Dolphin v2 强调布局、结构保真度和一致的模式。
- 社区报告表明,在常见基准(例如,FUNSD、SROIE、DocVQA 风格的任务)上,与最先进的无 OCR 方法相比,结果具有竞争力。有关确切的数字和图表,请参阅存储库的基准部分和模型卡。
可重现的基准测试提示:
- 修复输入分辨率和批量大小。
- 使用一组您真实文档的保留集(不仅是公共数据集)。
- 测量精度(文本保真度、结构准确性)和成本(延迟、GPU 内存)。
- 记录后期处理时间;它在生产中很重要。
创作者的真实世界用例#
Dolphin v2 在日常创意工作流程中大放异彩:
-
视频创作者和编辑:
- 从 PDF 和扫描的笔记本中提取脚本和镜头列表。
- 将故事板转换为结构化数据,从而更容易计划编辑和跟踪连续性。
- 从带有演讲者备注的幻灯片自动生成字幕草稿。
-
设计师和艺术总监:
- 将品牌指南解析为可搜索的 Markdown 和组件规范。
- 从样式化的 PDF 中提取调色板、排版规则和网格规范。
-
作家和研究人员:
- 将扫描的参考文献转换为带有引文和引语的干净、结构化的笔记。
- 将多栏学术 PDF 解析为各个部分,同时保留阅读顺序。
-
配音演员和音频制作人:
- 将角色表、呼叫表和侧面转换为标准化的 CSV,以便快速查找。
- 将发音指南和注释提取到结构化字典中。
-
自由职业者和工作室:
- 自动化发票和收据解析,用于会计和税务准备。
- 将 NDA 和合同处理为键值摘要(交易对手、日期、金额)。
在所有情况下,Dolphin v2 都可以减少重复的手动工作,并释放更多时间用于创意决策。
集成模式和最佳实践#
- JSON 优先:在您的管道中将 Dolphin v2 输出保留为 JSON。仅在最后一步转换为 CSV/Markdown。
- 人工参与:对于关键文档,添加一个快速审查 UI,编辑可以在其中批准或更正输出。
- 模板和提示:如果存储库提供模式模板或提示,请在您的团队中进行标准化,以便输出可预测。
- 后期处理规则:添加轻量级规则来处理边缘情况(例如,合并拆分行、修复 OCR 回退怪癖)。
- 版本固定:在生产中固定 Dolphin v2 权重和配置版本,以避免更新期间出现意外更改。
- 存储:保存原始图像和 Dolphin v2 JSON 输出,以便进行可追溯性和快速重新处理。
许可、治理和社区#
- 许可证:MIT 许可证 - 允许,适用于商业和开源用途。请参阅 https://github.com/bytedance/Dolphin 中的 LICENSE。
- 透明度:查看存储库的 README、模型卡和变更日志,了解当前的限制和预期用途。
- 贡献:该项目欢迎问题和拉取请求。打开工单以解决错误、功能请求或文档改进。
- 社区:讨论和问答通常通过 GitHub Issues 进行;在存储库中查找指向任何官方论坛或 Hugging Face 社区线程的链接。
通过在 MIT 下采用 Dolphin v2,团队可以安全地将其集成到专有的创意管道和产品中。
Dolphin v2 故障排除#
常见问题和修复:
-
GPU 上的内存不足 (OOM):
- 降低输入分辨率或批量大小。
- 如果支持,请使用混合精度 (AMP)。
- 对于较小的作业,切换到 CPU 或使用具有更多 VRAM 的 GPU。
-
不匹配的依赖项:
- 确保 PyTorch/CUDA 版本与您的驱动程序和操作系统匹配。
- 重新创建一个干净的虚拟环境并重新安装要求。
-
不正确的阅读顺序:
- 在 Dolphin v2 配置中启用或调整布局感知设置。
- 预处理输入:去倾斜、增加对比度、裁剪边距。
-
表格解析错误:
- 增加具有密集表格的文档的页面分辨率。
- 验证后期处理中的表格检测阈值。
-
多语言文本问题:
- 尝试针对特定语言的 OCR 混合模式。
- 更新语言包并确保字体可用于渲染。
-
跨版本的不一致 JSON 模式:
- 在生产中固定您的 Dolphin v2 版本。
- 添加一个转换器步骤来规范化版本之间的字段。
-
屏幕或光面纸照片效果不佳:
- 避免反射;在漫射光下拍摄。
- 使用扫描应用程序来增强对比度并展平透视。
如果您遇到困难,请搜索现有问题或在 https://github.com/bytedance/Dolphin 上打开一个新问题,并提供一个最小的可重现示例。
安全和隐私注意事项#
- 尽可能在本地处理敏感文档。
- 如果将 Dolphin v2 部署为服务,请保护 API(身份验证、速率限制、TLS)。
- 仅记录您需要的内容;避免在不必要时存储原始文档。
- 文档保留策略应符合您客户的合同和法规。
路线图注意事项#
虽然确切的路线图不断发展,但预计在以下方面会不断改进:
- 多语言稳健性和长文档处理
- 速度/内存优化
- 更好的表格/图表理解和图形标题
- 开发者工具:升级的演示、UI 注释器和基准测试工具
关注存储库,了解与 Dolphin v2 相关的版本、标签和变更日志条目。
行动号召#
- 探索代码和文档:https://github.com/bytedance/Dolphin
- 尝试一个示例:在您自己的工作流程中的几个页面上运行 Dolphin v2,并测量节省的时间。
- 分享反馈:打开问题、提出功能并贡献有助于其他创作者的示例。
- 集成:将 Dolphin v2 包装在一个小型 API 中,并在本周将其插入到您的内容管道中。
Dolphin v2 旨在使文档理解感觉像是创意团队的本机构建块。从小处着手,快速迭代,让结构化输出完成繁重的工作,而您则专注于工艺。
常见问题解答#
Dolphin v2 是否已正式发布且开源?#
是的。Dolphin v2 可在 https://github.com/bytedance/Dolphin 的官方存储库中找到,并且在 MIT 许可证下开源。检查存储库的版本和标签以获取最新版本。
Dolphin v1 和 Dolphin v2 之间的主要区别是什么?#
Dolphin v2 提高了真实世界的稳健性、结构化输出一致性、表格/表格理解以及易于部署性。它还强调更流畅的多页处理和适用于创意自动化的 JSON 优先管道。
我可以在没有 GPU 的情况下使用 Dolphin v2 吗?#
是的,对于小型工作负载。CPU 推理是可能的,但速度较慢。对于生产吞吐量或大型 PDF,建议使用现代 GPU。Dolphin v2 从 GPU 加速中受益匪浅。
Dolphin v2 是否需要 OCR?#
不严格。Dolphin v2 支持无 OCR 模式,并且可以将 OCR 集成作为后备。对于困难的情况(低对比度、稀有脚本),混合设置可能会提高准确性。
如何安装 Dolphin v2?#
克隆存储库,创建一个干净的 Python 环境,安装要求,下载模型权重,然后运行示例推理脚本。确切的步骤和命令已在 Dolphin v2 存储库中记录。
Dolphin v2 可以输出哪些文件格式?#
Dolphin v2 通常输出结构化 JSON,可以将其转换为 CSV、Markdown 或 HTML。许多团队在处理过程中保留 JSON,并且仅在最后进行转换。
Dolphin v2 适合商业用途吗?#
是的。Dolphin v2 在 MIT 许可证下发布,该许可证是允许的并且对商业采用友好。查看存储库中的 LICENSE 文件以获取详细信息。
Dolphin v2 与替代方案相比如何?#
Dolphin v2 旨在为真实世界的创意工作流程提供稳健性和实用性。与 OCR 加规则堆栈相比,它减少了脆弱的启发式方法。与现代文档解析器相比,Dolphin v2 具有竞争力,并且通常更易于集成。在您自己的文档上进行评估以进行公平的比较。
在哪里可以获得 Dolphin v2 的支持?#
使用官方存储库中的 GitHub Issues 来报告错误、提出问题和提出功能请求。该存储库也可能链接到 Hugging Face 模型卡或社区线程。
在生产中部署 Dolphin v2 的最佳实践是什么?#
固定版本,为关键文档运行审查步骤,记录性能指标,并保护您的 API。从返回 JSON 的小型服务开始,并随着吞吐量需求的增长而扩展。



