摘要
战斗画面底部有一条“行动 HUD”(HUD,Heads-Up Display,指叠加在画面上的状态栏):包括几个位置上的时钟、表示能量积累的“集能”点数,以及英雄技能按钮;技能在冷却时,按钮中央会显示剩余回合数字。前面三个实验开发了读取这些元素的布局、字形和打分规则。
本实验把这些规则完全冻结,换到两个没有参与开发的来源组上验证:在看像素之前就固定好每段录像取哪几个时间点,然后用完整文件读取器跑一遍,再人工逐项核对。12 张需要读 HUD 的画面上,时钟 48/48、集能 12/12 正确;117 个没有中央数字的技能位置 0 次多读;另外 9 张本不该读 HUD 的画面全部按范围跳过。但新出现的技能冷却数字只有 3 个、都是“1”,远不足以证明冷却识别能泛化。
另外,从训练录像里取了两张技能说明提示框,完整读出了 18 行文字,但这只是两个诊断实例。
要回答的问题
冻结后的行动 HUD 读取规则,在没有参与规则开发的新来源上是否仍然读得对?它会不会在不该读的画面(法术书、英雄面板、已进入下一局等)上误读?
数据与来源
- 两个校准来源组,共三段录像(10 月 3 日一段;10 月 2 日两段为同一组)。它们没有用于开发这批读取规则,但以前的旧视觉模型接触过这些来源,所以是“来源隔离的开发验证”,不是全项目盲测。
- 每段录像从已有记录里第一张“战斗进行中”画面的时间开始,加 0/150/300/450/600 秒,各取一张原生截图。时间在看像素之前固定,不按检测结果挑图,也不替换失败或没有数字的图。
- 每段录像再取第一张“法术书打开”和第一张“英雄信息面板”作为范围控制。
- 另从一段已准入的训练录像里,按之前缓存的 OCR 关键词命中取两张技能说明提示框图。它们是按关键词挑的,不能算提示框检测的召回。
- 共 21 张验证图(含 6 张控制图)+ 2 张说明诊断图。
方法
- 用冻结的读取器跑完整文件读取,开启行动者上下文和技能数字读取。参考标签不进入读取器。
- 逐图保留:适用范围判断、所有中央数字、无数字位置、漏掉的圆形按钮框、时钟、集能、首张行动卡与底部图案的关系。看得见但没读出的仍进分母;读错、未知、路由失败分别记录。没有中央数字不等于冷却为零。
- 技能说明:复用已有的提示框检测器和常驻 OCR,保留检测框和原始文字,人工核对标题、能力消耗、限用次数。说明里写的规则不能当成“当前剩余冷却”。
- 校准来源上的失败只做诊断、登记到下一轮,不据此改规则再重报分数。
设置
23 次完整文件读取调用 + 2 次自动框的说明 OCR,使用已缓存的模型,没有安装新依赖,没有训练。
结果
| 项目 | 结果 |
|---|---|
| 需要读 HUD 的画面 | 12 张,全部进入分母 |
| 四个位置的时钟 | 48/48 字面正确 |
| 完整集能点数 | 12/12 正确,覆盖 0/1/2/3(不含细分进度) |
| 技能中央数字 | 3/3 正确,但都来自同一张图,字面都是 1 |
| 无中央数字的位置 | 117 个,0 次多读;本批 0 个漏掉的圆框 |
| 首卡 / 底部图案关系 | 6 组可见相同图案都输出了核对候选(不计作独立身份准确率) |
| 等待遮罩 | 6 张都没有强行绑定当前行动者 |
| 范围控制 | 6 张面板 + 3 张已进入下一局准备,9/9 按范围跳过 |
一张战场有治疗动画,但 HUD 仍清晰,只验收这块可读区域,不声称整图稳定。一张图由面板检测触发跳过,只计为“范围处理正确”,不冒称全局场景分类正确。跳过不算字段读取成功。
技能说明诊断:两张图里提示框检测器各找到一个悬浮框,加 8 像素边距送 OCR:
- “深渊触须”:7 行全部读出,包括基础攻击 50%(6–9)、移除 1 次反击次数、能力消耗 1。
- “召唤仪式:巨大索斯”:11 行全部读出,包括适用限制、每场限用一次、50%、42 个单位、能力消耗 2。
两块文字与人工参考逐字段一致(只统一全半角、空白和横线字形)。这 18 行是两个按关键词挑出的实例,不是 18 个独立事件,不能估计说明检测召回。当前的实际产物是检测框加原始 OCR 行,没有新增生产用的语义解析器。
失败与负结果
- 新数字只有 3 个、都是 1;没有新的 2、3 或两位数,也没有“当前是哪个技能、剩余几回合”的直接标签,冷却识别的泛化没有被证明。
- 上一轮遗留的 18/19、1 个低分未知、1 个圆框漏检保持原样,不与这批相加成一个“系统准确率”,也没有在校准图上调阈值。
- 两张说明图都没有“当前剩余冷却”的证据;“反击次数”描述的是目标效果,“每场限用一次”描述的是规则,都不能当成当前状态,不用规则或图案去猜填。
- 初次代码检查报了一处未使用的导入,已删除。
局限
- 样本小(12 张有效 HUD 画面),来源以前被旧模型接触过。
- 只做了轻量的结构、数量、路径一致性检查和评分重放;没有重跑生产测试套件,没有新的速度测量,没有 App 验收。
- 完整行动条、状态效果与持续时间、障碍物、自动跳帧全覆盖、来源隔离的十局验收都未完成。
结论与下一步
这一轮支持保留冻结的读取规则,但不能宣布冷却识别完成。下一轮回到训练来源:复用已有的技能 / 状态悬浮提示材料,补“明确的冷却字面、状态剩余持续时间、当前技能”在同一帧里的对应关系,未知和图案相同的情况分别保留;冷却、能力消耗、使用次数必须分开。补两位数和其他技能数字时要单独定向采样,不能冒充自然分布下的召回。不要继续只加没有数字的 HUD 或扫阈值。
Comments