手写体、超大工程图与科学图表:TeleOCR 的适用边界实测报告
【免费下载链接】TeleOCR项目地址: https://ai.gitcode.com/XingChen-AGI/TeleOCR
TeleOCR 的社区热度几乎全部由榜单数字点燃:1.2B 参数、OmniDocBench v1.6 综合 96.87 分登顶、Wild_OmniDocBench 与 ICDAR2026 Sci-ImageMiner 双双第一……"轻量级 SOTA"的叙事确实成立。但热度之下有一个被多数宣传稿刻意略过的问题:这些高分究竟测的是什么样本?翻看 README.md 的基准明细和本地仓库的推理示例后,答案很清楚——TeleOCR 的高分主要建立在印刷体数字文档与手机实拍(形变但字迹清晰)文档之上。而社区实测中反复出现的手写体、超大工程图、科学图表这三类样本,恰恰是分数表上看不见的"盲区"。本文不重复榜单复读,而是基于基准数据、仓库源码与配置文件中可验证的事实,画出一张 TeleOCR 的真实能力地图。
一、从三张分数表读出样本结构
把 README.md 中的三张基准表放在一起,TeleOCR 的能力梯度立刻显现:
- OmniDocBench v1.6(数字文档为主):综合 96.87,文本编辑距离 0.027,表格 TEDS 97.05,公式 CDM 96.36;
- Wild_OmniDocBench(手机实拍、形变文档):综合 88.53,文本编辑距离劣化至 0.1173,表格 TEDS 跌到 89.05;
- PureDocBench(真实退化场景):干净文档 86.90,数字退化 77.47,真实退化(Real Degraded)仅 70.85,其中文本编辑距离高达 0.302。
三组数字勾画出同一趋势:样本越接近"印刷干净",TeleOCR 越接近满分;样本越接近真实世界(拍照、抖动、光照不均),误差成倍放大。真实退化场景下表格得分跌到 77.66,对比干净场景的 91.09,跌掉近 14 分。这意味着所谓"一个模型搞定所有文档",其成立前提是"文档本身可读性尚可"。
二、真实样本表现:合同、小票与论文的差异
用仓库自带的样本逐一过一遍,能直观感受三类业务文档的差距。
合同/论文(印刷体、版式规整)是绝对强项。文本识别、表格结构、公式 LaTeX 化在 OmniDocBench 上以 96.36~98.52 的成绩封顶;双栏排版、跨页表格、公式混排的论文版面,正是其训练分布的核心。仓库 Quick Start 中给出了四个典型任务的推理路径(见 README.md):
# text image=Image.open("./assets/text.png").convert("RGB") raw_text = infer(image, "Please output the text content from the image.") # table image=Image.open("./assets/table.png").convert("RGB") raw_otsl = infer(image, "This is the image of a table. Please output the table in OTSL format.") # formula image=Image.open("./assets/formula.png").convert("RGB") raw_formula = infer(image, "Please write out the expression of the formula in the image using LaTeX format.")小票/单据类则要打一个折扣。热敏纸低对比度、字号偏小、行距紧密,这类样本的识别质量高度依赖输入分辨率。preprocessor_config.json 中min_pixels=3136、max_pixels=12845056(约 1280 万像素,折合约 3584×3584)划定了动态分辨率区间:小票若原图分辨率不足或压缩过狠,字符会直接糊进 patch 里,patch_size=14的切块粒度救不回来。社区实测同样印证——对低分辨率小票需主动放大截图、保持原始比例再做推理,否则文本漏识别率明显上升。
扭曲拍摄的合同页(手机实拍)是差异化卖点,但也只对"字迹清楚"的形变有效。几何感知建模(README 中强调的 Geometry-aware document modeling、CGDP 曲率引导采样)解决的是"纸面弯折、透视畸变",而非"字迹模糊"。仓库在 README.md 的 Quick Start 中专门演示了对扭曲版面的直接解析:
layout_image = Image.open("./assets/layout_distorted.jpg").convert("RGB") layout_image = layout_image.resize((1036, 1036), Image.Resampling.BICUBIC) raw_layout = infer(layout_image, "\nMulti-point Layout Segmentation Analysis.")这类"免矫正直解析"能力在 Wild_OmniDocBench 上把同类 0.9B~1.2B 模型甩开 1~2 分,是真实增量。但请注意:README 的演示同样把输入resize到了 1036×1036——分辨率预处理环节的取舍,直接决定扭曲文档解析的下限。
三、手写体的适用边界:文档解析 ≠ 手写识别
这是社区实测文章点名最多的"边界"之一,仓库数据也给出了硬证据。TeleOCR 参加了 EMNLP 2026 的 Dr.DocBench Challenge(README 中披露了原生权重成绩):overall 67.96,文本编辑距离 0.1903。对比 OmniDocBench 上的 0.027,手写混合场景的文本误差放大了约 7 倍,整体得分也从 96.87 级跌到 67.96 级——这是同一套权重在不同样本分布下的真实落差。
原因在技术栈里写得很清楚:
- 训练分布以印刷体为中心。README 的技术亮点(形变感知学习、内容-结构解耦、多节点共识投票)全部围绕"纸张几何形变"与"版面结构"设计,没有任何一项针对"字迹笔锋、连笔、个人化书写变体"建模;
- 架构上无手写专项。config.json 显示模型为 Qwen2.5-VL 结构:28 层 decoder(
hidden_size=1024)+ 32 层 ViT 视觉编码器(hidden_size=1280、patch_size=14),这套视觉前端擅长抓"版面块"和"印刷字形",对手写字的笔画级细节并不敏感; - 解码策略追求确定性而非容错。generation_config.json 中
top_k=1、top_p=0.001、temperature=0.1,Quick Start 的infer()直接do_sample=False贪心解码——这种设置适合结构严谨的印刷文档,但对模糊字迹毫无"联想纠错"余地。
结论很明确:印刷文档上的少量手写批注、签字,TeleOCR 可以容忍;但以手写为主体的票据、问卷、病历、课堂笔记批量识别,别指望它。这类业务应当走专用手写识别管线(如笔迹级检测 + 序列识别模型),TeleOCR 充其量充当"版面理解 + 手写区定位"的前置环节。
四、超大工程图的适用边界:像素上限与 token 预算的双重锁
社区实测把"超大工程图"列为明确的失败区,这个判断在仓库配置层面完全成立,理由有三:
- 分辨率硬上限。
preprocessor_config.json的max_pixels=12845056意味着超过约 1280 万像素的输入会被强制缩放。A0/A1 工程图纸动辄数千万像素,直接喂入必然被压缩到细节尽失:细线、尺寸标注、剖切线、符号在降采样后粘连成噪点。 - token 预算锁死。README 的
infer()固定max_new_tokens=4096,模型本身max_position_embeddings=128000(config.json)——一张布满尺寸链与标注的图纸,识别结果轻易突破 4096 token 上限,输出会被截断。 - 分布不在训练域。TeleOCR 的训练数据是文档(论文、合同、报表),工程图的矢量线型、图框、明细表、符号库是另一套视觉语言,视觉编码器从未见过类似结构,输出质量不可控。
社区给出的实用解法是切块(tiling)策略:把超大图按 1024~2048 边长切成若干 tile,逐块推理后再按 bbox 拼合。仓库中layout类任务的输出本就包含bbox与阅读顺序(README 的ContentBlock数据结构定义了bbox、angle字段),拼合时有坐标可依。但切块引入的边界截断、跨块上下文丢失,依然是工程上绕不开的成本——如果你的业务核心是工程图纸数字化,TeleOCR 不是第一选择,检测 + 矢量化的传统 CAD OCR 管线更成熟。
五、科学图表:能"挖数据",但精度别要求太高
TeleOCR 对科学图表的处理有其独特价值:仓库专门提供了"从图中提取隐含表格"的官方示例——scientific_figure.png用 OTSL 中间格式把图表中的结构化数据还原为 HTML 表格:
image=Image.open("./assets/scientific_figure.png").convert("RGB") raw_scientific_figure = infer(image, "This is a scientific figure. Please extract the table implied by this figure.") print(convert_otsl_to_html(raw_scientific_figure))这条能力链值得肯定:ICDAR2026 Sci-ImageMiner 上 TeleOCR 以加权分 41.81 排第一(README.md),是榜单上唯一进入前五的专用 VL OCR 模型,且 RMS 17.23 的误差控制也优于多数对手。
但注意榜单数据的另一面:即便拿了第一,Weighted 也只有 41.81,RMS 达到 17.23——这意味着坐标轴刻度、曲线取值、散点数据的数值还原误差依然显著。TeleOCR 擅长的是把图表"读懂并转成结构化文本",而非把图表中的每个数据点精确读出来。需要精确数值回填的科研数据挖掘,请用图到数据(chart-to-data)专用工具;TeleOCR 适合的是"快速理解图表讲了什么"这一层。
六、场景适配建议:哪些业务别硬上 TeleOCR
综合基准数据、仓库配置与社区实测,给出可执行的适配清单:
放心用:
- 合同、论文、技术文档、报表等印刷体数字文档的结构化解析(Markdown/HTML/LaTeX 输出);
- 手机实拍但字迹清晰的弯折/倾斜文档(免矫正直解析,Wild_OmniDocBench 88.53 有据可查);
- RAG 管线的文档预处理、知识库入库(表格、公式、代码、版面四类结构化任务覆盖完整);
- 代码截图还原为源码——仓库 Quick Start 中直接支持,配合放大裁剪预处理效果更稳。
谨慎用(需要工程兜底):
- 低对比度小票/单据:必须先保证输入分辨率,禁用二值化等有损预处理;
- 长文档一次性解析:
max_new_tokens=4096会截断,需分页/分块推理后拼接; - 印刷体为主、夹杂少量手写批注:可接受,但需设置手写区识别率预期;
- 科学图表数据提取:接受"结构化而非精确数值"的定位再接入。
别硬上(换管线):
- 全手写票据、病历、问卷的批量识别(Dr.DocBench 67.96 / 文本误差 0.19 的教训);
- 超大工程图纸、CAD 图档的数字化(分辨率上限 + token 截断 + 分布外三重限制);
- 需要逐点精确还原的科学图表数据挖掘(RMS 17.23 说明误差仍大)。
最后补一句工程纪律:TeleOCR 的能力边界本质上由"分辨率输入 + token 输出 + 印刷体分布"三个变量共同决定。理解这三条线,它是一把精准的文档解析手术刀;无视这三条线,它和所有通用 OCR 一样会把你最脏的样本识别成灾难。榜单分数很好看,但生产环境里,边界意识比 SOTA 更重要。
【免费下载链接】TeleOCR项目地址: https://ai.gitcode.com/XingChen-AGI/TeleOCR
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考