摘要

法术书每个格子的右下角有一个很小的数字,表示该法术的显示等级(1–4)。在一段训练录像(10 月 10 日 16:57)的已保存截图中,第 10 张截图上“力量之歌”的等级 4 肉眼清楚可见,但读取器把它判为未知:两次 OCR 读出的字面都是 4,可其中一次分数只有 0.58,低于接受门槛。

本实验只做一个最小改动:读等级时,给裁出的小图四周复制 4 个像素的边缘再交给 OCR。结果这个等级被读回 4,其他已读字段全部保持不变。下游 SE(状态估计:把读到的观察累积成对局状态和对手构筑的推断)在前 10 帧里因此多了一条可用的法术书观察。

要回答的问题

能否在不降低门槛、不借助法术身份或其他已知信息“猜”等级的前提下,让这类清楚可见却被低分拒绝的小等级数字读出来,并且不改变其他字段?

数据与来源

只用用户选定保留的训练录像中已保存的截图,不扫视频、不读冻结资料、不训练模型:

来源与截图 处理
16:57 训练局第 10 张(问题样例) 修改前后各执行一次整图 OCR + 完整书页读取
同局第 9、51 张(控制) 同上
另一段训练录像(10 月 10 日 01:39)的一张混合等级书页(控制) 整图 OCR 执行一次、前后两次书页读取复用,局部字段重新 OCR
16:57 同局其余 4 张书页 只用既有自动框重读 44 个等级裁图

16:57 那几页的等级全是 4,无法验证 1–3 级是否受影响,所以加入了 01:39 的混合等级页。共 8 张已曝光训练图,不是独立测试。

方法

  1. 先只比较原自动数字框和加固定小边框的局部 OCR。没有改善或产生冲突就不改生产。
  2. 生产改动只作用于“等级”这一个局部图:用 cv2.copyMakeBorder 以复制方式向四周各扩 4 像素(不读取框外的邻近图案)。
  3. 来源框、身份、名字、费用的裁框都不变;仍读两次,不增加兜底次数;分数门槛、两读一致、整图冲突检查、1–4 范围、未知守卫都不变。读取配方名升级以便追溯,公共格式和签名不变。

设置

在 CPU 限额下串行运行完整书页读取,前后各约 33.2–34.1 秒——这不是默认 GPU 或安装版的时延,也不满足 3 秒目标,与本修复无关。

结果

目标字段(原图框右下角显示等级):

两次读取分数 结果
历史保存 0.580523 / 0.999970 未知(低分)
修复前当前复现 0.567578 / 0.999971 未知
修复后 0.999984 / 0.999979 4

字段保持:

范围 结果
第 10 张完整书页 等级 未知→4;其余 32 字段值、对象和原图框保持
第 9、51 张完整书页 66 字段保持
01:39 混合等级页 30 字段保持;可见等级 1/2/3 均保持
其余 4 页 44 个等级裁图 44 值全部保持

也就是说,3 张独立整图重读的 99 个字段只有目标一个语义变化。

下游影响(前 10 帧,实际 SE 进程): 力量之歌的等级从未知变为 4;游戏知识库目录中按等级查到的费用参考从未知变为 6;进入 Simulator(项目的规则模拟器)公开费用解释的法术书观察从 10 条增到 11 条。另有一处派生展示文字随之变化(多了一个“+0”)。完整 58 帧的结果和展示文本完全不变——后面的书页本来就读到了这个值。App 严格校验和请求装配通过;Perception 183 项、App 99 项测试通过。

边缘风险补测: 取混合页一个等级 1 的原裁图,做原框、左/右各内缩 2 像素、各内缩 5 像素共 5 种框,原画布和加边各读两次,10 组都仍读为 1,没有错读成 2/3/4。这是同一张图的派生裁框健壮性对照,不是 5 张新的真实失败图。

失败与负结果

  • 首次验证脚本用字符串直接比较 Windows 路径(正斜杠/反斜杠不同)而失败,那时还没发出 SE 请求;改为解析绝对路径后通过,失败目录保留,不算产品故障。
  • 起初把“目录费用参考”和“Simulator 公开费用解释”混称为“公开规则费用”,后来更正:费用 6 来自游戏知识库目录的等级费用表,不是一次 Simulator 查询;更正已向外部审阅说明,审阅接受并仍支持这项修复。
  • 01:39 来源的 7 份书页中没有保存为“未知”的等级,因此没有真实的遮挡/缺笔拒识负例可验证;这类负例仍然缺。

局限

  • 边缘复制补不回已经被裁掉的笔画;边缘本身含干扰时也没有证明可靠。不推广到其他字段或分辨率。
  • 根因只能说是“这张局部输入的低分现象被边距改善”,没有证明卷积或缩放的具体机制。
  • 同一识别器的两种尺度不是独立引擎;读数仍是候选,不是认证事实。
  • 没有安装或重启用户 App,没有整段录像重跑;不是独立准确率验收。

结论与下一步

给等级小图加 4 像素复制边框,是一个范围很小、结果可追溯的修复,外部审阅也支持提交且不要求继续扩展裁框实验。下一步(尚未实现):当某一帧的法术等级为未知时,把同一主体、同一法术此前的直接读数和来源作为条件说明保留下来——当前值仍保持未知,不无条件继承旧值,不把未来帧的读数倒灌到过去。