摘要
法术书每个格子的右下角有一个很小的数字,表示该法术的显示等级(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 张已曝光训练图,不是独立测试。
方法
- 先只比较原自动数字框和加固定小边框的局部 OCR。没有改善或产生冲突就不改生产。
- 生产改动只作用于“等级”这一个局部图:用
cv2.copyMakeBorder以复制方式向四周各扩 4 像素(不读取框外的邻近图案)。 - 来源框、身份、名字、费用的裁框都不变;仍读两次,不增加兜底次数;分数门槛、两读一致、整图冲突检查、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 像素复制边框,是一个范围很小、结果可追溯的修复,外部审阅也支持提交且不要求继续扩展裁框实验。下一步(尚未实现):当某一帧的法术等级为未知时,把同一主体、同一法术此前的直接读数和来源作为条件说明保留下来——当前值仍保持未知,不无条件继承旧值,不把未来帧的读数倒灌到过去。
Comments