← 返回 2026-04-15

GlotOCR Bench:OCR 模型在 Unicode 多数脚本上仍然力不从心 GlotOCR Bench: OCR Models Still Struggle Beyond a Handful of Unicode Scripts

Amir Hossein Kargaran, Nafiseh Nikeghbal, Jana Diesner, François Yvon, Hinrich Schütze 📅 2026-04-14 👍 5 2026-07-13 08:36
OCR基准 多语言 幻觉分析 脚本多样性 视觉语言模型

158 种 Unicode 脚本 OCR 基准:低资源文字上模型几乎全面失效

前置知识

OCR(光学字符识别)

把图像中的文字转录为机器可读文本的经典模式识别任务。当前主流由视觉-语言模型(VLM)完成,输入为渲染好的图像,输出为字符串。

本文所有实验都是评测 OCR 系统在不同文字上的转录能力,不了解 OCR 流程就无法理解 metric 设计。

Unicode 脚本(ISO 15924)

ISO 15924 是国际标准的文字系统分类码,每个脚本用 4 字母代码标识(如 Arab 表示阿拉伯文、Cyrl 表示西里尔文)。Unicode 17.0 共编码 172 种脚本。

本文把语言差异抽象为脚本差异,并按高/中/低资源三层评估,必须先理解脚本与语言的区分。

CER(字符错误率)

CER = min(1, (S+D+I)/N),S/D/I 为替换/删除/插入计数,N 为参考文本长度(去空白)。Acc@k 定义为满足 $\text{CER} \le k/100$ 的样本占比,本文主要用 Acc@0 与 Acc@5。

Acc@0、Acc@5 阈值都是基于 CER 定义的,CER 直接决定模型在每个脚本上的最终得分。

GlotScript

Kargaran 等人提出的脚本识别工具,能判定一段文本的主导 Unicode 脚本。论文同时用它来校验语料的脚本归属和分析模型输出的脚本错配。

ScriptAcc 与跨脚本幻觉分析完全依赖 GlotScript,没有它就无法量化模型输出到底落在哪种文字上。

研究动机

现有 OCR 评测体系长期偏狭。OCRBench、OCRBench v2、CC-OCR、OmniDocBench、olmOCR-Bench 等主流基准几乎只覆盖 Latin 与少量 CJK/Arabic 等中资源脚本;dots.ocr 的 XDocParse 虽然号称 126 种语言,却以语言而非脚本为主轴,底层脚本多样性仍然有限。Unicode 17.0 编码了 172 种脚本,代表着跨越五大洲数千年的文字遗产,其中许多被数亿人日常使用(如埃塞俄比亚文、高棉文、僧伽罗文),另外一些(线形文字 B、N'Ko、Vai 等)对历史语言学、考古学、文化保护至关重要。当前的 OCR 系统显然在这些文字上不可用,但我们缺乏一份能系统呈现"模型到底在哪些脚本上失效"的全景图。结果就是低资源语言的可数字化语料被卡在 OCR 这一关,制约了低资源 NLP 模型的训练数据来源。

本文的目标是本文的核心目标是发布 GlotOCR Bench:一份覆盖 158 种 Unicode 脚本、内含干净与降质两种图像变体的综合性 OCR 评测基准,并在统一协议下对 14 个开源/商用视觉-语言 OCR 系统(dots.ocr/dots.mocr/Gemini 3.1 Flash-Lite/GPT-4.1/HunyuanOCR/Qwen3-VL-8B/olmOCR-2/RolmOCR/LightOnOCR-2/Nanonets-OCR2/PaddleOCR-VL-1.5/FireRed-OCR/GLM-OCR/DeepSeek-OCR-2)做端到端评测,按高/中/低三层资源(Latin/9 个中资源脚本/148 个低资源脚本)切分 CER 与 Acc@5 排名;同时刻画跨脚本幻觉的分布、脚本感知提示(script-aware hint)的边际收益、以及降质鲁棒性,最终回答"当前 OCR 到底在哪些 Unicode 脚本上失效"这一系统性问题。

与已有工作不同的是,本文的切入角度是把"脚本"而非"语言"作为第一维度,直接回应"OCR 在哪些 Unicode 脚本上失败"这一基础问题;同时把跨脚本幻觉(cross-script hallucination)作为独立失败模式量化出来——大多数已有工作只在语言级评估,从未系统刻画模型在陌生文字上幻觉出熟悉文字的行为模式。此外,作者还把流水线(Apache 2.0)与基准(仅限评测)分开授权,明确允许后续基于该流水线合成新的训练数据。

核心方法

GlotOCR Bench 的整体思路是"真实文本 + 可控渲染 + 双重扰动":从多语种真实语料里抽句子(必要时回退到词级),用脚本感知的字体流水线把每句话渲染成图像,再对每句同时生成"干净版"和"老化文档版"两张图,最后用统一的 prompt 把图喂给 OCR 模型并计算 CER。直觉上,这相当于给每种脚本出了一份"考试卷":先保证题目本身是合法的真实文本,再控制视觉条件隔离模型对字体/降质/分辨率的敏感度,从而把"模型是否真正认识这个脚本"这一信号从噪声里剥离出来。

方法的核心创新有三点。第一,把评测主轴从语言下沉到脚本,并按 Unicode 在 Web 内容上的覆盖度把脚本分成高/中/低三层,使得不同脚本的得分可以跨语言横向比较,也使排名差异主要来自模型在脚本层面的真实能力而非语言表层数据差异。第二,构建三级字体过滤流水线——按脚本声明过滤 → 按句中所有码点的覆盖过滤 → 按 HarfBuzz + FreeType 实际光栅化结果过滤——避免了过去 OCR 数据合成中"字体声明支持但实际渲染失败"的隐性 bug,从而显著提高基准的视觉合法性,这是直接决定模型评估有效性的关键工程细节。第三,把"脚本感知提示"作为独立实验维度,通过对比告知/不告知图像中出现的字符集合,把"知道是什么字"与"认得出什么字"两个瓶颈分开测量。

方法步骤详情

整体流程分四步:(1) 文本采集:以 GlotLID v3 为主语料,每种脚本抽至多 100 句(Latin 抽 4000 句、九个中资源脚本各 400 句),句子长度限制 30–100 字符;对 GlotLID 覆盖不足的脚本补充 Wiktionary、WikiSource、Omniglot、Google Fonts 语言数据、GlotCC/FineWeb2 等来源,再用 GlotScript 验证每句的主导脚本;(2) 字体选择:从 Google Fonts(OFL 1.1)筛选字体,先按脚本声明过滤、再按句中所有码点覆盖过滤、再按实际 HarfBuzz + FreeType 渲染结果过滤,最后随机挑一款;(3) 图像渲染:清洁版用白色背景加轻微随机旋转;降质版叠加纹理纸张、墨迹扩散磨损、几何畸变、降采样和 JPEG 压缩;垂直文字(如蒙古文)按水平处理;(4) 模型评测:用 uv-scripts/ocr 推理套件零样本评测,prompt 限定模型输出 `` 标签,计算最优 CER 和 ScriptAcc。最终数据集共 16375 句,覆盖 158 个脚本。

技术新颖性

技术新颖性体现在三方面:首先,跨脚本幻觉的量化分析框架——把模型输出按"正确脚本/跨脚本幻觉/沉默/乱码"四类拆分,并识别出 Latin、Arabic、Devanagari 三种主流吸引子脚本,是过去 OCR 文献没有的系统化诊断工具;其次,把基准和流水线解耦的双许可证发布策略(基准仅限评测,Apache 2.0 的流水线可用于训练合成),既防止数据污染又支持后续研究;最后,提出 script-aware hint 实验范式(告知模型图像里出现的字符集合),把"知道是什么字"与"认得出什么字"两个瓶颈分开测量。

实验结果

核心结果六条:(1) 资源断层——Latin Acc@5 ≥75%(前 6 名 ≥90%),Mid(9 个脚本)跌到 60.0%(-27.6 pp),Low(148 个脚本)再跌至 2.3%(-57.7 pp),呈阈值式崩溃。(2) 排名:Gemini 3.1 Flash-Lite 以 61.9% 居首,dots.mocr 59.6%、dots.ocr 59.3% 紧随其后,DeepSeek-OCR-2 仅 38.7% 垫底;Low 层前三并列 7.7%,11/14 模型 <5%、8/14 模型 <1%。(3) 语言内方差大:Arabic 在四脚本对比中离散度最大,受正字法复杂度影响最重。(4) ScriptAcc 是 Acc@5 的弱前置信号:Arabic 高 ScriptAcc 但低 Acc@5,Hebrew 因被错认成 Thai 而拖累,Japanese 甚至超过 Latin。(5) Hint 收益有限:给 GPT-4.1 提示字符集后平均仅 +0.7 pp,125/149 脚本无变化,仅 Hani 提升 20+ pp,说明瓶颈在视觉识别与预训练覆盖而非字符歧义。(6) 跨脚本幻觉主导失败:平均仅 12.5% 输出脚本正确,68.4% 跨脚本幻觉,13.1% 乱码,6.0% 沉默;Latin/Arabic/Devanagari 是主要吸引子,反映训练语料分布。

Font availability per resource tier. Counts are per font family.
Table 1: Font availability per resource tier. Counts are per font family.
GlotOCR Bench benchmark results by resource tier. Each tier result is the macro average over its scripts.
Table 2: GlotOCR Bench benchmark results by resource tier. Each tier result is the macro average over its scripts.
Script-level error rates (%) per model, macro-averaged over scripts, ranked by cross-script hallucination (Hall.) rate.
Table 3: Script-level error rates (%) per model, macro-averaged over scripts, ranked by cross-script hallucination (Hall.) rate.
Per-script sample counts and model performance (附录).
Table 4: Per-script sample counts and model performance (附录).
Most frequent cross-script substitutions (附录).
Table 5: Most frequent cross-script substitutions (附录).
Acc@5 by script resource tier (high, mid, low). Performance drops sharply on low-resource scripts. Gemini 3.1 Flash-Lite leads (95.3%, 82.7%) but falls to 7.7%; others score <1%.
Figure 1: Acc@5 by script resource tier (high, mid, low). Performance drops sharply on low-resource scripts. Gemini 3.1 Flash-Lite leads (95.3%, 82.7%) but falls to 7.7%; others score <1%.
Acc@5 distributions for four scripts (Latin, Devanagari, Arabic, Cyrillic).
Figure 2: Acc@5 distributions for four scripts (Latin, Devanagari, Arabic, Cyrillic).
Script-level recognition accuracy (ScriptAcc) vs. OCR accuracy (Acc@5), averaged across all models.
Figure 3a: Script-level recognition accuracy (ScriptAcc) vs. OCR accuracy (Acc@5), averaged across all models.
Gain in Acc@5 from script-identity hint vs. baseline Acc@5, per script for GPT4.1.
Figure 3b: Gain in Acc@5 from script-identity hint vs. baseline Acc@5, per script for GPT4.1.
Acc@5 on clean vs. degraded images for the six best-performing models across high-, mid-, and low-resource tiers.
Figure 4: Acc@5 on clean vs. degraded images for the six best-performing models across high-, mid-, and low-resource tiers.
查看结构化数据
任务指标本文基线提升
High-resource(Latin)OCR Acc@5 (%) Gemini 3.1 Flash-Lite 95.3 / dots.mocr 93.1 / dots.ocr 91.8 GLM-OCR 89.5 / DeepSeek-OCR-2 76.2 最高 95.3%,最低 76.2%;所有模型 ≥75%,但无模型 CER<1%
Mid-resource(9 scripts)OCR Acc@5 (%) Gemini 3.1 Flash-Lite 82.7 / dots.ocr 78.3 / dots.mocr 78.1 DeepSeek-OCR-2 39.7 / GLM-OCR 29.8 较 Latin 平均下降 27.6 pp;前三名仍可用,尾部断崖
Low-resource(148 scripts)OCR Acc@5 (%) Gemini 3.1 Flash-Lite 7.7 / dots.mocr 7.7 / dots.ocr 7.7(并列第一) Qwen3-VL-8B 0.8 / FireRed-OCR 0.2 / GLM-OCR 0.0 较 Mid 平均下降 57.7 pp;11/14 模型 <5%,8/14 模型 <1%
跨脚本幻觉率(macro 平均) Hallucination (%) dots.ocr 38.3(最佳)/ dots-mocr 50.2 LightOn-OCR-2 79.2 / RolmOCR 78.9 平均 68.4% 的输出跨脚本错配;dots.ocr 以 42.1% 沉默率换取最低幻觉率
脚本感知提示(script-aware hint)增益 Acc@5 变化(pp) GPT-4.1 平均 +0.7 pp,Hani +20+ pp,Deva/Cyrl/Thai 显著提升 125/149 脚本零变化,3 个略下降 提示字符集合对中资源脚本的字符歧义问题有效,对低资源脚本无明显帮助
降质鲁棒性(clean vs degraded) Acc@5 相对下降 (%) GPT-4.1 13.8 / dots.ocr 17.5(High);dots.ocr 27.7 / olmOCR-2 18.7(Mid) olmOCR-2 19.7(High,相对降幅最大) 所有模型在所有层级都退化;GPT-4.1 在 Latin 上鲁棒性最佳

局限与改进

作者承认的局限主要有:(1) 68 个低资源脚本可用句子少于 100 句(部分只有词级),统计功效有限,不过这些脚本上所有模型几乎全军覆没,结论仍可信;(2) 评测仅覆盖句子级静态文档,未考察代码切换、表格、公式、手写体、复杂版面等任务场景;(3) 垂直文字(蒙古文、传统满文)被强制水平化渲染,与真实使用形态不符;(4) "降质"图像由合成管线生成,可能与真实历史文档的退化分布有差距;(5) 评测成本高,所有模型均零样本,未做提示工程或微调;(6) 基准不覆盖纯语音、手写、艺术字、模糊场景。本人补充的观察:CER 在 Latin 上仍 >1%,意味着即便是最成熟的文字也有进步空间;dots.ocr 42.1% 沉默率虽降低幻觉,但也意味着在生产场景里用户经常拿不到任何输出,是可用性短板。

独立分析的弱点

独立分析主要有四点:(1) 评估样本规模不均:Latin 用 4000 句、低资源脚本只用 100 句甚至更少,模型间微小的低资源得分差异可能是采样噪声,建议后续用 bootstrap 给出置信区间;(2) 字体单一来源:所有字体都来自 Google Fonts,可能系统性低估了某些脚本的真实识别难度(这些脚本在 Google Fonts 上的字体本身就少),建议补充 Noto Fonts、Adobe Fonts 等多字体池;(3) CER 的最佳四配置取值(原始/逆序/小写/去组合标记)容易让"识错方向"或"大小写错"的低级错误被掩盖,建议同时报告最差配置以暴露鲁棒性短板;(4) 评测用 zero-shot 单图 prompt,没考虑多轮交互、分块阅读、版面理解等工业场景,与真实部署差距大;(5) 资源层级定义基于 Web 内容占比,未必反映学术语料或历史文献的真实分布。

未来方向

作者提出的方向包括:扩展到更多 VLM 模型并维护在线 leaderboard;研究 LoRA、合成数据预训练、字符级 CTC head 等针对低资源脚本的适配方法;探索代码切换(code-switching)和版面解析的结合;用 GlotOCR 流水线为低资源语言合成预训练数据。本人认为可延伸的方向有:(1) 把跨脚本幻觉的吸引子脚本(Latin/Arab/Deva)作为分析单元,逆向定位训练语料中可减少误识别的子集;(2) 把评测拆成"字符级联 vs 字形级联"两个子任务,研究模型到底在哪个粒度失败;(3) 探索 OCR + LLM 链式结构,让模型先识别脚本再识别字符;(4) 与 mOSCAR、FineWeb 等大规模多语种语料联动,量化"OCR 通过后能解锁多少低资源训练数据"。

复现评估

复现性整体非常好:基准数据集已发布到 Hugging Face(cis-lmu/glotocr-bench),渲染流水线代码开源在 GitHub(cisnlp/glotocr-bench2026),包含完整字体筛选、HarfBuzz 渲染、降质增强、评测脚本;评测用统一的 uv-scripts/ocr 推理套件,所有 prompt 与超参在论文第 4 节明确给出;论文提供了完整的逐模型结果表和失败模式分布。算力方面,评测 14 个模型 × 16375 句 + 降质变体需要相当可观的 API/推理成本(Gemini 3.1 Flash-Lite 与 GPT-4.1 走商用 API,开源权重模型可本地跑),普通研究者难以全面复现排名,但开源模型的子集可在单卡 8×A100 上数天内复现。许可方面:基准 evaluation-only、流水线 Apache 2.0,意味着不能用基准训练但可以用流水线做训练数据合成。