摘要
战斗画面上下有一圈界面(HUD,平视显示):两侧各有上、下两个计时器(共四个时钟);中间有三颗菱形,亮起几颗表示积累了几点集能(Focus,一种用来发动技能的资源);底部一排技能圆格,中央有时会显示一个数字;还有一条显示行动顺序的行动条。
本实验 B116 给单图读取工具加了一个显式选项 --action-hud,复用之前(B029)已有的行动圆框和时钟解析,读出四个时钟、完整亮起的集能点数和技能格中央数字。在 12 张普通战场截图上:时钟 48/48 正确;集能第一版 11/12(1 个未知),修正一个颜色范围后 12/12;技能中央数字 1/1。默认读取、公共接口和 App 都没有改。
要回答的问题
能否在不依赖模拟器状态、不看前后帧、不用人工参考的前提下,从单张截图可靠读出这些 HUD 字面信息?哪些部分仍然缺失?
数据与来源
- 16 张 2560×1440 原生截图:12 张普通战场来自 4 个已曝光的训练来源组,另外 4 张是对照(来自这些来源和第五个训练组)。它们是开发材料,不是 16 个独立事件或留出测试。
- 预选假设被纠正:选图时以为两张对照是魔法书、两张 18:40 的帧是普通战场;实际看图后,分别是生物面板、英雄面板、HUD 移出画面的过渡帧和准备阶段的选择页。所有输入都保留,没有删负例来提高成绩。
- 参考由逐项查看原生图抄录(助手审核)。
方法
- 先渲染未标注的上下 HUD 裁图,运行现有圆框/行动条候选和区域文字读取,逐项人工抄录时钟、集能、技能数字和行动者证据。
- 新读取器的组合:
- 四个时钟:复用区域文字读取和时钟解析。
- 集能:先确认两侧行动条的大圆和小圆都定位到,再用三颗菱形共同的竖直偏移读取内部颜色;每颗菱形内部 80% 以上是金色才算一点。没亮满一颗就不向上取整。布局或颜色检查不通过就返回“未知”。
- 技能中央数字:单独保存原文、坐标、分数和格位,不据此宣布技能身份、冷却或是否可用(冷却字段保持空)。
- 行动条:沿用旧的固定边框扫描,只输出几何/颜色候选,不指定当前行动者。
- 前景有面板挡住时,跳过无关的战场 HUD。
设置
每张图分别跑“默认”和“显式开启”两种模式,比较原有观察是否保持。对 v1 唯一的集能未知做一次有针对性的修正后,在同样文件上重跑 v2。不做阈值网格搜索。
结果
| 项目 | 显式读取 v2 | 限制 |
|---|---|---|
| 两侧上/下时钟 | 48/48 正确,0 错 0 漏 | 只有 12 张图;屏幕左右不自动等于敌我,计时模式的含义没有赋值 |
| 完整集能点 | 12/12 正确,0 错 0 未知 | 7 个 0 点、4 个 1 点、1 个 2 点;没有真实的 3 点正例,也没读中间的细分进度 |
| 技能中央数字 | 1/1 正确 | 只有右侧一个“1”;不构成冷却准确率 |
| 其余技能格 | 119 个无数字参考,0 个多余数字 | 其中 1 个圆框没定位到;“没数字”不等于 0 或“可用” |
| 前景/不完整 HUD 对照 | 4/4 按范围跳过 | 不是通用的过渡帧判断验收 |
单独的原始区域 OCR 诊断读对 56/56 个时钟(包括两张面板背后仍可见的 HUD),但生产组合只计被请求的 48 个,跳过的 8 个不加进主表。
唯一修正:v1 中那颗未知的菱形,近看是金色亮面加偏橙的阴影,原“黄色”范围漏掉了 19 个色相 11–14 的像素。把金色色相范围从 15–40 扩到 10–40,亮度、饱和度、80% 覆盖、共同位移和锚点门槛都不变。v2 只多读对这一张,原正确保持。这是看过开发失败后的修正,不能当独立验证;两轮原始结果都保留。
失败与负结果
- 行动条:一张图的首位为空,扫描返回 0,程序没有把后面的卡挪成当前行动者(这是正确的保守行为),但“当前行动者”和完整卡片身份链仍未接通。人工看到底部等待遮罩下的头像可能与首卡不同。
- 一个技能圆框没定位到。
- 集能缺少 3 点正例,技能冷却正例只有 1 个。
局限
- 小样本开发数据,不能报 p95,也不是来源隔离的准确率。
- v1、v2 各 16 图 × 两种模式,共 64 次完整读取,外加 2 次真实命令行调用;默认观察都保持。最终相关测试 160 项通过,软件检查不是精度。
- 没有训练模型、没有动 App 或游戏。
结论与下一步
时钟、集能和技能字面数字可以用现有组件组合读出,作为显式选项保留。下一步不再围绕这 12 张图调阈值,而是从已准入的训练视频定向采集更多英雄与生物技能冷却正例、集能 0/1/2/3 的变化,以及等待状态和红蓝方当前行动者,把首卡与底部头像核对接通;语义不明的部分继续保持未知。
Comments