摘要

战斗画面底部有一条“行动 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 或扫阈值。