最近,各种开源 OCR 模型发布越来越多。在我之前的视频中,我也为大家演示过非常多的开源 OCR 模型,比如 DeepSeek OCR、OMOCR 以及 大次 OCR 等。虽然这些模型的 OCR 能力效果不错,但遇到复杂版面、长文档、多页 PDF 时,可能会出现漏字、漏掉页眉页角、排版混乱、表格错位等问题。因此,寻找一款真正稳定、效果够强、适合长文档及复杂文档场景的 OCR 模型,依然面临不小的挑战。
例如,当我用一个内容非常长的 PDF 扫描件进行测试时,DeepSeek OCR 模型会遗漏扫描件上的页眉及页角内容;换成 大次 OCR,同样会漏掉页眉及页角。为了找到更强大的开源 OCR 模型,本期视频将演示另一款开源 OCR 模型——Chandra OCR(昌转)。相比其他开源 OCR 模型,Chandra OCR 针对复杂文档有出色的识别效果,并且在基准测试中的得分超过了 DUTS OCR、OAM OCR 以及 Dipsic OCR 等常见模型。本期视频,我们将用多种复杂的文档来测试这款模型的 OCR 能力。
模型介绍与特性
首先,我们先看一下这款模型的介绍。Chandra OCR 具备结构化文档理解能力,其参数为 9B。它支持 40 多种语言,包含中文及其手写体。它支持结构化输出,可以直接导出 Markdown、HTML、JSON 格式,能够保留标题层级、段落、列表、表格与图像引用。此外,它还支持手写体与表单,对手写记录、医生便笺、问卷、合同等有良好的还原度。它还能识别表格、数学公式、报纸、多栏、页眉页角等复杂元素。
本地部署演示
想在本地部署这款模型非常简单。我们可以在 RM Studio 中使用这款模型,只需点击“发现”,在搜索框输入模型名称,然后选择安装 4bit 或 8bit 量化版本,再点击下载即可在 RM Studio 中使用。
另外,我们也可以使用官方仓库提供的部署方式。下面我将在无版权(原文误述为“无版图”,推测意为无特殊环境限制)系统上演示如何部署:
- 首先,安装
uv:pip install uv - 克隆官方仓库:
git clone <官方仓库地址>(此处原文省略了具体地址,实际操作需补充) - 进入项目路径并安装依赖:
cd <项目路径> && uv -q "project_name" # 假设项目名为project_name - 激活虚拟环境:
source .venv/bin/activate(或对应系统的命令) - 安装模型:
pip install changzhuan-ocr(此处原文为“长爪OCR”,根据上下文推测是“Changzhuan OCR”)
部署完成后,我们可以直接使用官方提供的命令对 PDF 文件进行 OCR 识别。
Demo 平台测试
为了方便演示,我们还可以使用官方给出的 Demo 启动命令。 启动成功后,我们就可以在浏览器中打开。在 Demo 的左侧,我们可以选择“hugging face”来运行模型,它会开始下载模型文件。
扫描版长文档测试
选择需要进行 OCR 的文件,我们先上传一个扫描版的长文档,它包含页面和底部的页角。点击“运行”测试 OCR 效果。
识别完成后,可以看到它能对 PDF 扫描件中的页眉、页角等元素进行标记。在这个 Demo 中,它以 HTML 格式输出,包括页眉、页角的内容都被完整提取。正文部分,它使用了 HTML 的 <p> 标签,并按照原文格式进行了分段。相比之下,其他 OCR 模型在处理同样的文档时,往往会遗漏页眉、页角等内容。
手写体文件测试
如果不想在本地部署,也可以使用官方提供的在线平台进行测试。在官方提供的平台上传 PDF 文档,成功识别出我刚才上传的 PDF 文档内容。我们可以查看它的 JSON、HTML、Markdown 格式。 下面我们继续在 Demo 中测试,上传一个手写体的文件。 这是它的识别结果,通过对比可以发现,它识别的内容与文件完全一致,没有任何识别错误。我们还可以查看它标记的每一行内容。
模糊 PDF 与代码混合测试
接下来加大难度,上传一张比较模糊的 PDF 扫描件,该文档既包含中文,也包含代码。 提取成功!可以看到标题部分保持了原有的加粗格式,底部的一行小字也成功提取。原始文档上,我故意设置了代码区域的重叠,Chandra OCR 针对重叠部分也成功提取了出来,包括文档中的序号,以及 Windows 中的一段小字,都完整的提取了出来。
模拟考试试卷测试
我们再加大难度,用一张模拟的考试试卷来测试。 这是识别结果,试卷的这一部分成功提取,保持了原有格式且无识别错误。包含注音的内容也成功显示。它还对左侧和底部的页码内容进行了标记和识别。
模糊、复杂、含公式表格的 PDF 测试
现在,我们用一个非常模糊、排版复杂,同时包含中文、英文、公式以及表格的文件进行 OCR。 这是识别结果:标题部分使用了加粗,论文作者信息也得以保留。它完全还原了扫描件的格式,序号也成功识别。公式提取准确。表格内容也完全正确,参考文献部分提取也无误。可以看到,这个非常复杂的、扫描模糊的文件,它都成功识别出来并保持了原有的格式输出。
排版混乱的学习笔记测试
接下来,选择一个扫描版的、排版比较混乱的学习笔记进行测试。 可以看到文件内容排版混乱。重点对比对号和差号的标记:这一部分提取完全正确。另一部分提取也完全正确。在包含两颗星的部分,输出内容也保留了这两颗星,右上角的小字也成功识别并输出。左下角的红色“关键”二字也成功识别。可以发现,这个排版没有规律的文件,它也成功进行了识别并输出。
复杂表格测试(含重叠文字)
我们再加大难度,选择一个更复杂的表格进行测试。为了增加难度,在单元格里故意设置了很多重叠的文字。 提取完成!对比表格内容,重点看有重叠的部分:这两个单元格的内容提取正确;有重叠的单元格也成功提取。这一部分也成功正确提取。可以看到,这个模糊且复杂的表格内容,它都能成功提取。
模糊、复杂、含图表和表格的 PDF 测试
接着,选择一张比较模糊、内容复杂,且包含柱状图和表格的 PDF 文件进行测试。 这里成功识别了出来,它将扫描件上的柱状图直接提取为图像格式。文件中的表格内容也成功提取。
古书(繁体字)扫描件测试
下面,我们选一张古书的扫描件,看看它能否识别繁体字。 查看识别结果,可以看到它把扫描件里这些有标点符号的内容都成功提取了出来。而且,它提取的繁体字内容与原文保持一致,没有出现任何识别错误。这表明它对繁体字的识别效果也非常不错。
总结与优势
通过多方面的测试,可以发现 Chandra OCR 模型对这些复杂且模糊的 PDF 文档,识别效果确实非常出色。它不会遗漏页眉页角等重要内容,并且能保持与原文档一致的格式进行输出。对于复杂的 PDF 文档识别,可以放心地使用这款模型,它的效果比其他同等参数的开源 OCR 模型要好很多。
本期视频所用的笔记和代码,我都会放在视频下方的描述栏或评论区。如果找不到,也可以通过我的博客查找本期视频对应的笔记。
本期视频就到这里,欢迎大家点赞、关注和转发。谢谢大家观看!
📌 文中提及的人物和组织
产品/模型: Chandra OCR