02 · Vision & OCR
OCR 工程实践:让识别结果可用,而不只是有文字
从页面检测、图像预处理、并发调度到质量校验和自适应兜底,说明 Mint 如何把一次模型调用变成可恢复的 OCR 流程。
更新于 2026 年 7 月
检测
判断页面是否真的需要 OCR
预处理
校正方向、尺寸、对比度和噪声
识别
按页面并发执行视觉文字识别
质检
识别乱码、循环、空白和截断
兜底
只对失败页调整策略后重试
核心判断
OCR 不是把图片发送给模型,而是一套围绕页面质量、任务状态和结果验收建立的工程系统。
01 / Routing
先判断是否需要 OCR
Word、数字 PDF 和带有正常文字层的页面,应优先使用结构化解析。只有无法获得可读文字,或用户明确要求读取图片文字时,OCR 才进入执行链路。
普通对话图片
用户询问画面内容时优先进行视觉理解;只有提取文字、表格或转录请求才需要 OCR。
知识库图片
默认使用 OCR 建立可检索文本,可按需要补充视觉描述,二者承担不同职责。
混合文档页面
原生文字满足质量要求时不重复 OCR,局部图片或失真区域可以单独补充处理。
02 / Image preparation
模型看到的页面质量决定结果上限
OCR 前需要把页面转换为稳定的标准图像,并控制像素、色彩空间、方向与内存。预处理不是装饰,它决定小字、表格线和低对比内容能否被识别。
Mint 会根据页面尺寸选择渲染分辨率,对旋转、倾斜、低对比度和噪声进行针对性处理,同时限制异常大图带来的内存风险。
对于文字密集或复杂表格页面,简单重复发送同一张图没有意义。更有效的方法是提高局部清晰度,或把页面按区域拆分后分别识别。
章节 203 / Page tasks
长文档按页面执行,进度和失败都必须可观察
几百页文件不能被当成一个不可见的长请求。Mint 将页面建立为独立任务,在受控并发下处理,并持续记录排队、识别、质检和完成状态。
受控并发
并发度根据服务能力和设备资源设置,既提升吞吐,也避免瞬时请求导致整体失败。
页面心跳
长时间处理仍会持续更新进度,用户能够区分正在执行、等待服务和已经失联。
失败隔离
单页失败不影响其他页面落地,恢复时只重试失败页,并保留已经验证的结果。
04 / Recognition quality
质量校验必须在保存结果之前
“模型返回了文本”并不能证明识别成功。Mint 会检查正文长度、可读字符比例、异常坐标标记、重复循环、空白输出和截断情况。
坐标信息不会被一律判错:当有效正文充分时可以清洗后保留;只有坐标或控制标记淹没正文时,结果才进入失败或降级处理。
重复生成会在异常尾部截断。如果前半部分通过质量检查,可以保存为部分成功,并标记需要复核的页面范围。
章节 405 / Adaptive fallback
失败页需要改变处理策略,而不是机械重试
网络中断、服务超时和限流适合退避重试;页面过密、图像模糊和结构复杂则需要改变输入。两类问题不能使用同一种重试规则。
传输类失败
遵循服务端重试时间,采用抖动退避,并限制最大尝试次数。
质量类失败
提高局部渲染质量,按 2×2 或 3×3 区域切分,识别后再按空间顺序合并。
内容类失败
损坏、加密或无有效内容时直接返回明确原因,不消耗资源进行盲目重试。
最终目标
用户应该看到具体页码与原因,例如“18 页文字过密,已进入分区识别”,而不是只看到一个无法行动的 OCR 失败。
Implementation Checklist
实施检查表
继续阅读 · 03