☰
DeepSeek-OCR-2版式检测怎么用:<|grounding|>与<|det|>坐标边界框渲染实战详解
2026/9/26 19:22:39 网站建设 项目流程

DeepSeek-OCR-2版式检测怎么用:<|grounding|>与<|det|>坐标边界框渲染实战详解

【免费下载链接】DeepSeek-OCR-2Visual Causal Flow项目地址: https://gitcode.com/gh_mirrors/de/DeepSeek-OCR-2

DeepSeek-OCR-2 是 DeepSeek 开源的视觉因果流(Visual Causal Flow)OCR 模型。它的核心能力之一是版式检测:只需在 prompt 中加一个<|grounding|>标记,模型就会在输出 Markdown 的同时,用<|det|>标签标注每个元素的坐标边界框,再经渲染即可在原图上画出检测框、自动裁剪插图。本文带你从零跑通这条流水线。

两种模式:Free OCR 与版式检测(Grounding)

DeepSeek-OCR-2 提供两种主要 prompt 模式,区别就一个词:

模式Prompt输出内容
纯文字提取<image>\nFree OCR.纯 Markdown 文本
版式检测<image>\n<|grounding|>Convert the document to markdown.Markdown + 布局标注(<\|det\|>坐标块)

默认配置就是版式检测模式,定义在 config.py:

PROMPT = '<image>\n<|grounding|>Convert the document to markdown.'

想关闭版式检测,把这行换成'Free OCR.'即可。

<|det|>坐标标签长什么样

开启 grounding 后,模型在 Markdown 流中嵌入成对标签,结构固定为:

<|ref|>image<|/ref|><|det|>[[x1, y1, x2, y2], ...]<|/det|>
  • <|ref|>…<|/ref|>:元素类别标签,如image、title等;
  • <|det|>…<|/det|>:坐标列表,每个框是[x1, y1, x2, y2]四元组;
  • 这 5 个特殊 token(<|ref|>、<|/ref|>、<|det|>、<|/det|>、<|grounding|>)在处理器中的定义见 image_process.py。

关键点:坐标不是像素值,而是 0~999 的归一化数值,这样无论原图多大,模型只需"说"相对位置。

坐标映射与边界框渲染原理

渲染逻辑集中在 draw_bounding_boxes(),分四步:

  1. 正则提取:用模式(<\|ref\|>(.*?)<\|/ref\|><\|det\|>(.*?)<\|/det\|>)从输出中捞出所有标注块,见 re_match();
  2. 坐标还原:把 0~999 的归一化坐标乘以原图宽高做映射——x1 = int(x1 / 999 * image_width),见 run_dpsk_ocr2_image.py;
  3. 画框:用 PILImageDraw画矩形,title类用 4 像素粗框、其余用 2 像素细框,颜色随机区分,并在框上方标注类别名;
  4. 裁剪插图:image类元素额外裁剪出来存盘,并在 Markdown 中替换为![](images/0.jpg)图片引用——这就是最终.mmd文件里能直接嵌入原图插图的原因。

单图实战:一条命令出框图

准备:把图片和输出路径改到 config.py 的INPUT_PATH与OUTPUT_PATH,然后运行:

cd DeepSeek-OCR2-master/DeepSeek-OCR2-vllm python run_dpsk_ocr2_image.py

产出(由 run_dpsk_ocr2_image.py 自动生成):

文件说明
result_ori.mmd原始输出,保留全部<\|det\|>标签
result.mmd清洗后的 Markdown(标签已替换为图片引用)
result_with_boxes.jpg🎯 渲染了边界框的版式检测效果图
images/*.jpg按<\|det\|>坐标裁剪出的插图

打开result_with_boxes.jpg,标题是粗框、公式/图片是细框,每个框左上角标着类别名——版式检测效果一目了然。

PDF 批量实战:并发处理整本文档

处理 PDF 时,run_dpsk_ocr2_pdf.py 先把页面逐页转高清图,再并发推理,最终输出三份文件:

  • xxx_det.mmd:带全部 det 坐标的原始版(调试利器);
  • xxx.mmd:合并全书的干净 Markdown;
  • xxx_layouts.pdf:把每页的边界框渲染图拼成新 PDF,📄 可直接用于版式质检。

页面间用\n<--- Page Split --->\n分隔,方便后续按页切分。

常见问题 FAQ

❓ 框的位置明显偏移?坐标还原依赖原图宽高(x / 999 * width)。请保持crop_mode=True的动态分辨率预处理,确保送入模型的图和渲染时用的是同一张原图,不要用预处理后的缩放图去画框。

❓ 输出里没有<|det|>标签?检查 prompt 是否带<|grounding|>;纯文字密集的图可换Free OCR模式,版式标注只服务于结构化文档。

❓ 想只调视觉 token 数量?分辨率策略由 count_tiles() 决定:默认(0-6)×768×768 + 1×1024×1024,大图会自动切 2~6 块局部视图加一张全局缩略图。

💡 小结:<|grounding|>打开版式检测开关 →<|det|>携带 0~999 归一化坐标 → 除以 999 映射回像素 → PIL 画框 + 裁剪插图。四步链路,单图、PDF 两种入口脚本都已封装好,改两个路径配置即可上手。

【免费下载链接】DeepSeek-OCR-2Visual Causal Flow项目地址: https://gitcode.com/gh_mirrors/de/DeepSeek-OCR-2

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询