摘要
这是一份设计和测试素材准备,没有实现或运行。生物面板上的幸运、先攻是单个小数字,上方各有一个图标。读取器在整帧 OCR 没给出高分完整文字行时,会退回到一个较大的“搜索格”去局部读取,而这个格子同时框住了上方的图标和下方的数字。从已有记录看,幸运两次局部读数为 −1、分数约 0.6532/0.6722,先攻读数为 7、分数约 0.8587/0.8749,都低于 0.90 的接受门槛;回退框约 70×52 和 75×52 像素。相比之下,士气已经用紧致框(37×28)读取,分数 >0.98。
本轮写出一个最小修复设计:只在满足严格条件时,把回退框的上方图标行切掉、保留整个宽度;同时生成 16 个合成小图,专门测试这种裁剪可能出错的情形。
要回答的问题
在不降低任何门槛的前提下,“切掉上方图标”的裁剪应该满足哪些条件才算安全?需要哪些反例来检验它?
数据与来源
- 上述分数和框尺寸来自主负责方从已有回执中定位的模型候选,不是重新识别,也不是人工真值;−1 和 7 不会作为提示传给未来的读取器。
- 源码核对:紧致框只在一个完整、类型可解析、分数 ≥0.90 的整帧文字行内取得;否则退回搜索格。幸运/先攻的原生搜索格把图标和下方数值合在一个区域里;局部读取仍是原图和 3 倍三次插值两遍。
方法
最小私有修复设计(未实现):
- 保留所有现有可用的紧致框和整帧佐证,尤其是士气。
- 只考虑 1440p 原生分辨率、通过原面板质量检查、整数类型、目标为幸运/先攻两格的回退搜索框。
- 候选只移除上方图标行,保留整个水平宽度,以免切掉负号或多位数。初始几何提案:52 像素高的格子取下半部分再加 2 像素余量(约 28 像素高);这个比例不能直接进入生产。
- 必须由像素独立证明切线落在空隙上、下方完整字符被保留;如果上方有白色连通块、字符跨越切线、碰到边界、出现多个数字行或符号在切线上方,就放弃新框、沿用旧框。
- 不能根据正确答案移动框,不能在两个低分文本里挑一个,不能把“8 9”合成 89。新框本身不产出数字,仍走原有的两遍读取、一致性和未知规则。未知、空、缺字或被切掉负号都不能解释成 0 或正数。
合成反例: 16 个可读命名的极小区域,包括金色图标下的 −1、7、−12、100、0,白色图标、切线穿过字符、上方独立负号、两行数字、带空格的合并数字、左右下边缘截断、下方空白、比例变化和已紧致的士气。字形用自定义的 5×7 点阵绘制,不是游戏原生字体。
设置
只运行合成素材生成脚本,生成 16 个区域和一张总览图。
结果
16 个合成区域及总览图已生成,逐项命名和数量校验通过,总览图已目视检查;代码风格检查通过。这只是素材准备回执,不是裁剪或 OCR 算法测试;本轮没有读取任何真实游戏图像,也没有重跑感知模块的测试。
失败与负结果
不适用:没有执行算法。需要说明的是,现有证据不足以证明裁窄就一定能提高真实分数。
局限
- 合成字形不是游戏字体,这些样本不进入训练或准确率分母。
- 没有新的真实准确率或速度成绩。
结论与下一步
设计和反例已就绪,但实施要等主负责方指定一个小的真实批次:指定已有源图和同图可读的审核参考、固定每个字段的尝试预算,复用原基线产物,严格比较新旧裁剪的两遍原文、分数、未知、负号和多位数保留情况;没有收益或出现新误读也如实保留。未来的软件验收复用已有的面板读取测试,默认读取路径必须保持不变。
Comments