把文档矫正"塞进"模型:TeleOCR三阶段训练策略,动了传统OCR的哪块蛋糕
【免费下载链接】TeleOCR项目地址: https://ai.gitcode.com/XingChen-AGI/TeleOCR
手机拍文档,十张里总有几张是弯的、折的、斜的。传统文档解析管线对此的应对办法是"先矫正、再识别":检测出页面弯曲程度,用独立去畸变模型把图像"拉平",然后才交给版面分析与内容解析。这套流程的代价是模块多、链路长、误差逐级放大——矫正模型的输出一旦有偏差,后面所有环节都会跟着错。中国电信AI团队开源的 TeleOCR(约 1.2B 参数)给出了一个截然不同的答案:不再训练一个独立的矫正模块,而是把"几何形变感知"直接训练进视觉语言模型(VLM)的参数里,让模型对弯折、透视、折痕文档具备原生的解析能力。它在 OmniDocBench v1.6 上拿下 96.87 的综合分,在 Wild-OmniDocBench 与 ICDAR 2026 Sci-ImageMiner 挑战赛上同样登顶。本文将结合技术报告与仓库源码,拆解其形变感知学习、CGDP 曲率引导采样与内容-结构解耦训练策略,并讨论这套设计究竟动了传统 OCR 矫正预处理管线的哪块蛋糕。
一、传统 OCR 管线的"阿喀琉斯之踵":矫正为什么必须先被重构
先看传统解耦式管线的问题出在哪里。主流方案(如各类"版面分析 + 内容解析"的两阶段框架)在版面检测阶段,默认每个内容区域近似一个规则矩形,输出的是矩形框加类别标签。这个假设在数字文档上成立,但一旦面对手机实拍的弯曲、折叠页面,矩形框无法刻画卷曲的文本行与弧形表格边界,检测结果开始失真,错误随之向下游传播——这就是论文中反复强调的"级联误差"(cascading errors)。
TeleOCR 技术报告用一组实验量化了这个问题的严重性:对 Wild-OmniDocBench 的实拍样本先施加文档去畸变(dewarping)预处理,再交给两阶段解析模型,性能出现显著提升。换言之,几何畸变本身就是两阶段管线在实拍场景下的主要性能瓶颈,而不是识别模型的能力问题。这解释了为什么"矫正"是整个管线的阿喀琉斯之踵,也决定了 TeleOCR 的技术路线:与其把矫正当作管线前端的独立模块,不如把它内化为模型自身的感知能力。
值得注意的是,端到端 VLM 路线虽然对畸变更鲁棒,却在高分辨率长文档场景下暴露了冗余生成、幻觉与结构化推理不足的问题。TeleOCR 选择了第三条路:保留解耦式框架的可控性,但用"形变感知学习"替换掉传统矩形检测范式,从根上消除矫正环节。
二、形变感知学习:从"先拉平"到"带着弯读"
区域级与点级的双重形变监督
形变感知学习的核心,是构造两类几何监督信号:区域级与点级。区域级表示沿未畸变版面边界按顺时针均匀采样 N 个边界点,序列化为坐标串;点级表示在未畸变文档平面上均匀采样 M×M 个控制点。随后利用文档去畸变研究中的形变场生成策略(如 ForCenNet 的合成方式),通过前向映射把同一张未畸变图、边界点和控制点一并"扭曲"成相机实拍风格的训练样本,让模型在早期训练阶段直接监督学习扭曲后的控制点坐标,从而捕捉文档形变模式。
这种设计的直接效果是版面解析范式的变化:传统矩形框检测被重构为"边界点序列预测"。在仓库的 token 表中可以找到对应的工程痕迹——added_tokens.json 里定义了两组版面输出 token:<|box_start|>/<|box_end|>与<|quad_start|>/<|quad_end|>,其中 quad 组正是为多边形(四边形及以上顶点)版面输出预留的结构标记。README 的推理示例也展示了这一点:对畸变文档直接输入"Multi-point Layout Segmentation Analysis."提示词,模型输出带变长多边形坐标的版面描述,全程没有任何去畸变预处理调用。
控制点压缩:1024 对 82944 的降维
形变感知训练还有一个容易被忽视的工程亮点:参数量控制。专用文档矫正模型(如 ForCenNet)通常用 82,944 个控制点做稠密形变建模,而 TeleOCR 将原始形变场降采样到 1,024 个控制点(N²=1024),让 VLM 直接预测这些稀疏控制点坐标即可完成文档形变建模。稀疏化不仅大幅降低了表示复杂度,也让"几何感知"这种原本属于独立回归模型的技能,变成语言模型下一 token 预测任务的一部分——这正是"把矫正塞进模型"最本质的机制。
训练数据侧同样是大规模合成驱动的:Stage 2 使用约 4M 数字文档版面样本与 2M 合成相机拍摄样本(其中 1.2M 为区域级形变样本、0.8M 为全局点级形变样本),另基于数据引擎筛选出的约 120K 高质量样本进行相机拍摄风格增强(畸变、阴影、模糊)。这套数据构成决定了模型对"数字 + 实拍"双域的统一覆盖能力。
三、CGDP:曲率引导的 Douglas-Peucker 采样,细节在折痕处
如果只用均匀采样描述扭曲版面边界,会碰到一个精度死角。TeleOCR 技术报告将文档形变分为两类:弯曲(bending)是大尺度连续形变,全局位移明显,用 Douglas-Peucker(DP)简化算法的距离准则就能刻画;折痕(creasing)则是局部方向突变、曲率极高的形变,空间范围小,DP 距离可能根本不会为它产生足够大的误差值,导致折痕区域的采样点不足、几何细节丢失。
CGDP 的关键洞察来自一条几何关系:对于光滑曲线,DP 距离近似满足 d ≈ κL²/8,即 DP 距离由局部曲率与区域尺度共同决定。基于此,CGDP 提出曲率调制的重要性度量:
S_i = d_i(1 + λ·κ̂_i)
其中 κ̂_i 为归一化局部曲率。曲率低时,CGDP 退化为标准 DP 算法;曲率升高时,具有显著局部结构的点获得更高采样优先级。当最大 S_i 超过阈值 τ 时,该点被选为新的递归节点。这样一来,在有限的采样预算下,CGDP 同时保留了 DP 的全局轮廓保真与曲率驱动的局部结构感知——折痕、尖角等关键几何细节不再被均匀采样"抹平"。这种自适应采样直接服务于上一节的形变感知训练:边界点序列的质量决定了模型对复杂版面几何的建模上限。
四、内容-结构解耦:三阶段训练的"中场核心"
先澄清一个口径:严格说是四阶段
社区传播中常将 TeleOCR 的训练概括为"形变感知、CGDP、内容-结构解耦三阶段",但技术报告与仓库 README(README.md 中明确列出 "Progressive four-stage training pipeline")给出的完整图景是四阶段渐进训练:
- Stage 1 文档解析预训练:冻结语言模型,只优化 Patch Merger 中的两层 MLP 与视觉编码器,用 VQA/图文交错/OCR 数据完成视觉-语言对齐,建立基础 OCR 与版面理解能力(batch size 256,MLP 学习率 1e-3,视觉编码器 1e-4);
- Stage 2 形变感知训练:全参数微调,引入区域级 + 点级形变监督与形变增强,统一数字与实拍文档的版面建模(batch size 128,语言模型 1e-5,视觉 1e-6);
- Stage 3 内容-结构解耦学习:面向公式、表格与科学图表等高度结构化任务的专项训练;
- Stage 4 强化学习:基于 GRPO,用任务级可验证奖励(文本用归一化编辑距离 NED、表格用 TEDS、公式用 CDM)进一步优化输出质量。
所以,"三阶段"准确对应的是其中构建核心能力的三个连续阶段,RL 阶段负责收尾调优。这种"先感知、再形变、后结构"的渐进式课程,本质上是在用训练调度降低多任务联合优化的难度。
结构先行:公式语法与表格拓扑的显式建模
内容-结构解耦的意义,需要放在一个现象下理解:结构化内容占比越高的文档,模型输出的预测熵越高——表格与公式的生成不仅要求"看对"字符,还要求"算对"结构关系(行、列、合并单元格、公式的作用域),两者耦合在一起会让优化目标变得非常复杂。TeleOCR 的做法是把结构与内容拆开:
- 公式:构造语法 token 库,通过正则匹配与语法校验从 LaTeX 标注中自动提取语法结构标签,让模型分别学习"公式内容"与"语法结构";
- 表格:保留标准 OTSL(Optimized Table Structure Language)语法 token,但剥离全部单元格内容,迫使模型专注学习表格拓扑与合并关系。
OTSL 正是仓库代码中可以直接验证的中间表示。在 README.md 的快速开始示例中,OTSL 仅用 6 个特殊 token(<nl>、<fcel>、<ecel>、<lcel>、<ucel>、<xcel>)即可描述单元格位置与 rowspan/colspan 关系,并配有convert_otsl_to_html等确定性解析函数将结构序列还原为标准 HTML。模型先生成结构骨架、再填充内容的设计,把"结构推理"从"内容生成"中解耦,显著降低了结构化输出阶段的优化耦合度。
这一策略在 ICDAR 2026 Sci-ImageMiner 科学图表转表格挑战赛上得到了直接验证:TeleOCR 以 TEDS 66.39 的成绩拿下第一,领先第二名(64.31)超过 2 个百分点。科学图表解析是最考验结构建模的任务——要从曲线、坐标轴、图例中恢复出机器可读的表格,结构先行、内容后置的解耦范式在其中发挥了关键作用。
五、动了哪块蛋糕:矫正预处理管线的替代效应
把上面的设计合起来看,TeleOCR 对传统 OCR 产业技术栈的替代是系统性的。
第一块蛋糕:独立去畸变/矫正模块。传统实拍文档管线中,dewarping 网络是不可或缺的前置组件;在 TeleOCR 中,矫正能力被形变感知学习吸收进 VLM 权重,专用矫正模型退化为"训练期的数据合成工具"而非"推理期的前置模块"。论文在 DocUNet、DIR300 等公开去畸变数据集上的可视化评估显示,TeleOCR 无需任何矫正预处理即可直接在扭曲文档上完成版面与内容解析。
第二块蛋糕:版面检测的规则假设。矩形框 + 类别标签的检测范式被"多边形点序列 + 类别 + 旋转方向"的版面分割范式取代,配合 CGDP 自适应采样,模型对弯曲文本行、弧形表格边界的刻画粒度大幅提升。
第三块蛋糕:部署链路的复杂度。整个模型仅约 1.2B 参数,架构上采用 Qwen2.5-VL 的 32 层视觉编码器(含窗口注意力与 PatchMerger)+ 28 层 Decoder 语言模型(GQA 注意力、M-RoPE 三维位置编码、权重共享),这一结构可直接从仓库的 modeling_naviocr.py 与 config.json 中逐层核对。动态分辨率适配(preprocessor_config.json 中 min_pixels=3136、max_pixels≈12.8M)让模型在低分辨输入下保持轻量,高分辨输入下保留细节;generation_config.json 中 top_k=1、top_p=0.001、temperature=0.1 的配置则把解码推向确定性,保证生产环境下输出可复现。社区实测反馈,该模型在单卡消费级 GPU 即可运行,INT4 量化后显存占用可压至 1GB 左右,这与"矫正 + 检测 + 识别 + 结构化"的传统多模型串联相比,是数量级上的部署简化。
边界也要说清楚。替代不是万能的:手写体识别、超大工程图这类超出训练分布的输入,模型仍存在明显适用边界;PureDocBench 的评测也暴露了极少数长文样本上的重复生成问题(论文在附录中如实记录并移除了对应无效输出)。此外,内容-结构解耦依赖 OTSL 这类中间结构语言,对"结构"的建模收益主要集中在表格、公式与科学图表,对纯文本阅读顺序的优化更多来自 Stage 1 与 Stage 4。
结语:预处理内化,是文档智能的一次范式转向
TeleOCR 的价值不在于又刷了一个榜单,而在于它示范了一条可复制的工程路线:把传统管线中昂贵、脆弱、独立的预处理模块,转化为训练数据与模型能力,内化进一个轻量级多模态模型。文档矫正如此,未来版面清理、图像增强、甚至图像裁剪都可能沿着同样的路径被"塞进"模型。当 1.2B 参数就能同时处理数字文档与实拍弯折文档、并在多个基准上超越 235B 级通用大模型时,传统 OCR 技术栈中那些"先拉平再看"的中间环节,确实到了重新定价的时刻。
【免费下载链接】TeleOCR项目地址: https://ai.gitcode.com/XingChen-AGI/TeleOCR
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考