摘要

在游戏的战前准备页,每个英雄有一行最多 7 个“兵种格”(army slot),放着带去战斗的生物和数量。选兵还没完成时,很多格子是空的。上一轮(B063)正确找到了左侧英雄,却把 19 张图里 133 个可见的空兵种格全部漏掉。

原因很直接:之前训练用的 217 个兵种框全部是有兵种的,兵种“占用分类器”也从未训练过。这是数据覆盖缺口——不能用“固定画七个格子”来假装识别成功,也不能把“没检测到”当成“空”。本实验(内部编号 B064)补采空格数据,训练一个专用兵种格检测器和空/占用分类器。

要回答的问题

补上空格和半满行的训练数据后,能否在完整截图上检出所有真实兵种格、正确区分空与占用,并且不改变其他已有输出?

数据与来源

  • 新训练图:自动在已知的装备页和确认页时刻之间抽样,优先一段 10 月 4 日的训练录像;6 个训练对局序列新增 30 张原生分辨率图。逐张看全景和原尺寸兵种行,完整标注 210 个位置:71 有兵种、139 空,71 个数量。
  • 最新开发图:模型冻结后,从最新 5 局抽 15 张,精审 105 个位置:50 有兵种、55 空,50 个数量。这 5 局属于同一个已曝光的连续会话组,不是 5 个独立盲测来源。
  • 训练还复用旧的满兵种行、B063 的左侧空行,以及战场/布阵画面的“无英雄兵种行”负例。来源按 7 训练 / 2 校准 / 1 最新分组隔离。
英雄区域内的数据 训练 校准 最新开发
区域图片数(含背景负例) 110 23 36
无该角色的背景区域 38 12 20
有兵种框 288 56 77
空格框 216 21 35

方法

  1. 兵种格检测器:单类别目标检测模型,复用原界面元素模型的权重继续训练,固定 40 轮、输入 960 像素,按校准集选检查点。只有当本图的英雄区域/头像几何“登记”成功时,才在登记后的兵种区域里补充检测;已有检测框优先保留。
  2. 空/占用分类:SVC(支持向量分类器)结合原图空格参考。只有 SVC 间隔 ≥ 0.5 且空格 RGB 距离 ≤ 0.02 时才下结论;间隔低或两种证据不一致时为“未知”。分数不是概率。
  3. 明确的空格不再请求数量,记为“观察到空兵种格”,而不是输出数量 0。
  4. 不推断这一行属于哪一方玩家;需显式加载模型才启用,默认行为和 App 不变。

设置

检测器在本地 RTX 5080 上训练 263.01 秒;占用 SVC 使用 504 个训练裁图。模型和阈值冻结后才读取最新组结果。所有成绩都从完整 2560×1440 文件开始,运行时不提供参考场景、裁框或标注。

结果

检测框质量:在给定区域内,AP50(框与参考重叠一半以上即算检出)为 100%;但更严格的 mAP50–95(在多个重叠门槛上平均)为训练 94.95%、校准 90.23%、最新 90.41%——框的位置和大小仍有误差,不能说达到严格定位 95%。

完整截图成绩:

固定声明的兵种位置 检出 / 总数 空/占用正确 数量正确
旧训练 294/294 294/294 原输出保持
旧校准 77/77 77/77 原输出保持
旧最新开发 112/112 112/112 原输出保持
新训练选兵图 30 张 210/210 210/210 71/71
新最新选兵图 15 张 105/105 105/105 50/50

以上范围内均没有额外框,也没有错误的空格结论。另 35 张已审的战场/布阵负例没有输出英雄兵种框。

B063 的 19 张左侧面板清单从 608/741 提升到 741/741,补齐了 133 个空兵种格(IoU ≥ 0.5 和 ≥ 0.75 都相同)。注意这个清单只含头像、主/子技能、穿戴装备和兵种,不包括背包、职业/专长、按钮和右侧待选项。

回归:371 张旧图串行重读,界面元素从 4,389 增至 4,522,只多了 133 个空兵种框;原有身份、几何、技能等级、日志和 4,888 个数值观察逐字段保持。最新 71 张图热 p95 为 1.083 秒,最大 1.232 秒(不含 App 截图、传输和显示)。

失败与负结果

  • 淡入片段仍失败:一个旧淡入片段的 6 个唯一时刻里,35 个可见兵种框都检出了,但其中一个时刻仍有 7 个占用未知、7 个数量缺失,另有 1 个重复框。原因是头像没有通过几何登记,补读没启动。旧版也有同样问题,没有隐藏。
  • 当前数据里没有真正“格子存在但看不清空还是有”的精标正例,所以分类器虽有“未知”分支,并不证明对遮挡鲁棒。
  • 采集脚本第一次恢复时把一个变量覆盖错,在第 4 张图前退出;修正后复用前三张完成,原日志保留。
  • 新最新组没有跑旧版对照,不虚报增量。
  • 完整测试 7,316 通过、2 个既有失败(相同的全套导入顺序断言)、6 跳过。

局限

自动抽样仍依赖已知阶段时刻,不是全自动选帧;最新组来自同一会话,不是独立盲测;严格定位精度未达 95%;不推断兵种行归属哪一方。

结论与下一步

漏检的根因是训练数据里没有空格,补数据后空格检测和空/占用判断在固定范围内全部正确。下一步优先处理训练来源里的淡入登记失败和真正的局部“未知”样本,再推进小界面元素的严格定位、技能、魔法书和攻击/魔法预览。