海海艺思创

首页/ AI绘图教程/ TextImage 文档图像增强:测试图片如何与文字标注对应

AI绘图教程

TextImage 文档图像增强:测试图片如何与文字标注对应

清晰页面识别正常,模糊或透视变化后却漏字,制作测试素材时首先要保证图片与文字标注仍然对应。本文提供原创标注样例、条件式增强流程和可读性检查清单。资料包仅含官方博客索引,未包含文章正文、当前接口说明或运行产物,因此不提供未经核对的库调用代码,…

TextImage 文档图像增强:测试图片如何与文字标注对应

原始页面与标注基准

第一次制作带标注的 OCR 测试图片,先只处理一页、一个变换和一个输出版本。不要一开始就批量叠加模糊、透视和拍摄干扰,否则出现错位时难以判断是哪一步造成的。

准备自有或已获授权的页面及人工确认的原始标注,移除个人信息和不允许分发的内容。保留未修改原图,增强结果写入独立目录。本题只制作测试图像及对应标注,不展开扫描资料解析或识别文本抽检。

  • 页面记录:原图文件名、页面 ID、宽高、方向、授权依据及文件校验值。
  • 文字记录:稳定的区域 ID、原始文字、坐标类型、坐标单位及阅读顺序。
  • 环境记录:Python 版本、实际使用的图像库与版本、变换配置和随机性记录方式。
  • 输出约定:原图、原始标注、增强图、增强标注、对照预览和处理记录分别保存。

先统一页面方向,再建立标注。明确坐标原点是否位于左上角、横纵轴方向,以及使用像素还是归一化数值;不能只写一组数字而不写它的含义。

坐标约定与标注样例

下面是本文自行设计的数据格式,不是 TextImage 或 Albumentations 的官方字段。假设一张宽 1000、高 1400 像素的示意页面,在指定区域内放置“样本编号 A01”。实际项目必须在自己的原图上重新确认区域,不能把这组坐标直接套到任意页面。

{
  "page_id": "page_001",
  "image": "original/page_001.png",
  "width": 1000,
  "height": 1400,
  "coordinate_system": "pixel_edges_top_left",
  "regions": [
    {
      "id": "line_001",
      "text": "样本编号 A01",
      "polygon": [[100, 200], [400, 200], [400, 250], [100, 250]]
    }
  ]
}

本例约定坐标描述连续图像边界,横坐标范围为 0 到页面宽度,纵坐标范围为 0 到页面高度,四点依次沿区域边界排列。接入具体库时,应按其要求转换,不能将这一约定视为所有接口通用格式。

先把原始多边形画在原图副本上,检查是否覆盖目标文字、是否串到相邻行。只有基线叠加正确,后面的变换对照才有意义。

变换支持范围与应用流程

资料包中的 Hugging Face 官方博客索引收录了 Introducing TextImage Augmentation for Document Images,条目日期为 2024 年 8 月 6 日。这只确认研究线索存在,不能据此认定 TextImage 就是模糊或透视接口,也不能认定任何变换都会同步文字与坐标。

  1. 按文章完整标题定位正文,确认实际使用的库、代码出处和依赖版本;若涉及 Albumentations,再核对安装版本对应的说明。
  2. 逐个登记候选操作:是否支持图像、矩形框、关键点或多边形,输入输出坐标格式是什么,是否修改文字内容,以及如何处理越界区域。
  3. 先选择一个已经确认支持的单项操作,记录具体参数和实际采样值。随机种子只能作为复现记录的一部分,不能代替版本及实际变换记录。
  4. 图像和受支持标注应使用同一次采样的变换。不要分别调用两次随机操作来处理图像和坐标。
  5. 变换后重新读取宽高,按区域 ID 关联文字和坐标,再生成叠加预览。缺少标注支持或输出对应关系时,停止该分支,不进入正式测试集。
  6. 单项检查通过后,才考虑组合操作;记录组合顺序,并在每个中间阶段保留可检查结果。
候选场景操作示例标注处理条件
模糊页面从原图派生一个仅改变模糊程度的版本核对操作确实不改变尺寸和几何位置后,才可保留原坐标;仍需检查文字是否可辨
透视变化从原图派生一个单独的几何变化版本使用同一几何映射处理区域顶点;若接口只返回矩形框,不将其冒充精确文字四边形
拍摄干扰单独研究亮度、阴影或遮挡等候选效果先确认当前实现支持;遮挡后的文字是否仍作为识别目标,应按评测规则另行标记

这张表是实验组织示例,不是已确认的功能清单。当前资料不足以给出具体类名、默认参数、安装命令或可直接执行的增强配方;接口核验未完成时,可以先整理原图和标注,但不要宣称已完成库接入。

变换前后标注对照

每个候选样本准备四个视图:原图、原图加标注、增强图、增强图加新标注。检查字形时看无标注视图,检查坐标时看叠加视图;边框不要直接写进提交给识别工具的图片。

下面用手工演算说明对应关系,不代表任何库的运行结果。假设示例页面只做横向右移 20、纵向下移 10 像素的平移,且画布尺寸保持不变,原四点应变为 [[120,210],[420,210],[420,260],[120,260]]。这是平移算术示例,不是透视变换公式。

对照项变换前平移后的预期
区域 IDline_001line_001
文字样本编号 A01保持同一文字,前提是未发生内容编辑或截断
左上顶点[100,200][120,210]
叠加判断框住原文字框随文字一起移动,不能停留在旧位置

实际透视样本应逐点检查输出多边形,并特别查看页面边缘、小字和相邻行。若只能获得外接矩形,要在导出说明中写明表示方式;有文字被截断时,不应继续无条件保留原完整文字作为有效答案。

流程伪代码如下,其中每个动作都需要由已核对的实现完成,不对应某个官方函数:

读取原图与原始标注
确认坐标约定和当前操作支持的标注类型
采样一次变换并保存实际参数
将同一变换应用于图像与受支持的标注
按区域 ID 检查文字、坐标和保留状态
生成原图与增强图的叠加对照
人工审核后导出;不通过则隔离样本

标注异常与修正方法

常见故障可能原因修正动作
整页标注按比例偏离像素与归一化坐标混用,或页面缩放后仍使用旧宽高回查输入格式,用对应页面尺寸转换坐标,重新生成基线叠加图
文字变化但框留在原位只变换了图像,或操作不支持该标注类型停用该输出,核对支持范围;改用可同步的表示或人工重新标注,不复制旧坐标充数
同一行的框与文字串错区域过滤后仍按旧数组下标配对按稳定 ID 关联,登记被移除区域及原因,复核文字与坐标数量
框越界或出现异常多边形几何变换、画布变化或点序处理有误检查输出尺寸、顶点顺序及当前实现的边界规则;隔离异常,不靠简单截断坐标掩盖问题
框正确但文字已经不可辨模糊、遮挡或缩小程度超出样本用途降低变化强度,或按既定规则归入不可读压力样本;不要混入普通可读集
导出后与预览不一致预览使用内存图,导出阶段又缩放、压缩或旋转重新打开落盘图片和标注再叠加检查,把额外处理纳入变换记录

发布前验收检查

建议按页面 ID 和变换 ID 建立文件对应关系,例如 original/page_001.png、labels/page_001.json、augmented/page_001_blur_01.png、labels/page_001_blur_01.json 和 previews/page_001_blur_01.png。这里仅展示命名规则,不表示这些文件已经生成。

以下清单用于发布前的完成检查。各项均通过且审核结论已记录,才将候选素材列为完成;存在未通过项时,保留为待修正样本,不作为已验收素材发布。

  • 授权与隐私:原页面允许本次处理和计划中的分发方式,敏感内容已清理。
  • 来源与接口:已补齐正文方法、实际库版本及标注支持核对记录,未将索引日期当作当前兼容性证明。
  • 文字可读性:按实际输入分辨率查看,小字、标点和边缘区域符合本组样本的可读性要求。
  • 坐标对应:叠加使用当前输出图片和当前标注,区域 ID、文字、顶点及阅读顺序逐项对应。
  • 异常状态:截断、遮挡、不可读和区域删除均有明确记录,未静默丢弃或错误保留答案。
  • 素材分离:识别输入图不包含人工边框,叠加预览单独保存。
  • 复现信息:保存原图校验值、操作顺序、库版本、参数、实际随机变换记录和审核结论。
  • 落盘复核:重新读取导出的图片与标注,确认尺寸、文件关联和叠加位置没有变化。
  • 数据划分:同一原页的不同增强版本保持在同一数据划分中,避免跨训练与测试集合混入近似副本。

第一轮交付应至少包含一页基线及其标注、一项已核对操作产生的候选图、对应新标注和前后对照预览。现有资料尚不足以交付经过接口验证的素材集;下一步应补齐文章正文和当前库说明,再执行单页验证,审核通过后扩展到更多页面。

下一步

把这篇的方法练一遍

提示词和步骤可以带到创作里直接试做一版。

去创作 看同栏目更多