摘要
战斗画面左右上角各有一个圆形的英雄头像(HUD 头像)。认出对方是哪位英雄,是推断对方构筑的第一步。之前的实验(B132)用两条路径认头像:一是与训练局里见过的头像样例比较,二是与游戏资料里的英雄原画比较。测试局里敌方头像只认出 53/78,拒判集中在训练局里没出现过的英雄——原画路径的分数低于接受门槛。
本实验(内部编号 B137)加了一个“确认条件”:当原画匹配的首选与另一个独立排序方法的首选一致时,也接受。测试 9 局逐帧头像从 125/156 升到 142/156,敌方 53/78 → 70/78,全部 0 错。为了能放进路由器进程,最终接入的是一个无 Torch 的颜色布局排序,组合结果与视觉模型版本完全相同。
要回答的问题
能否在不引入错误的前提下,认出训练局里没见过的英雄头像?
数据与来源
- 沿用 B132:24 局截图包中所有确认有 HUD 的帧,每帧左右头像各一张,按局角色标英雄。
- 训练 15 局 276 张,测试 9 局(开发验证来源)156 张。冻结验收集不打开。
- 注意:B132 已经用同一测试集跑过一次,本实验是同一测试集上的第二个方法,测试集不再是“未用过”的。
- 另有一局任何方法都没用过的新鲜对局(16 张)。
- 测试的 16 名英雄中 8 名训练局没见过。助手按局角色标注,不是独立人工真值;同局多帧不是独立样本。
方法
- 对齐分析:原画在 HUD 框中的位置因英雄而异(缩放 185–255 像素、偏移不同),没有统一变换,所以“固定取景”方案放弃。
- DINOv3 排序:用项目已有的公开自监督视觉模型 DINOv3 ConvNeXt-Base(本地权重,不训练)。每张原画按 12 种取景(3 种缩放 × 2 种横移 × 2 种纵移)合成到中性灰底;HUD 头像只保留圆环内的画面;比较余弦相似度,取 12 种取景里的最大值。
- 组合规则(只看训练集选定):先走 B132 样例路径(分数 ≥0.62、领先 ≥0.03);否则走原画路径——B132 原画门槛(≥0.52、领先 ≥0.03)或 DINOv3 首选与 B132 原画匹配首选一致,才接受;其余输出未知。
单独接受 DINOv3 首选在训练集上会出 1 个错,所以冻结时不采用,只把它当“确认票”。
无 Torch 版本
路由器进程里跑的是 Paddle OCR,项目规定 Torch 和 Paddle 分进程。于是用同样 12 种取景、同样圆环掩码的颜色布局特征(4×4 格 HSV 直方图 + 24×28 小图)代替 DINOv3,只在训练局上选定。它单独做首选时只有 228/276(DINOv3 253/276),但作为“与原画首选一致才接受”的确认条件,组合结果与 DINOv3 完全相同。
设置
训练集上样例路径按“留一局”评估。规则冻结后,测试只跑一次。每张头像记正确/错误/未知;未知不算对也不算错。
结果
只用原画的 DINOv3 首选:训练 253/276,测试 153/156。
| 划分 | B132 | B137 组合 | 错误 |
|---|---|---|---|
| 训练(样例留一局,用于选参) | 227/276 | 261/276 | 0 |
| 测试(一次) | 125/156 | 142/156 | 0 |
| 其中敌方 | 53/78 | 70/78 | 0 |
| 其中我方 | 72/78 | 72/78 | 0 |
测试新增的 17 张全部来自“DINOv3 与原画匹配一致”。剩下 14 张未知,是原画匹配首选本身就错了的帧。
接入后的颜色布局版本,冻结后各跑一次:
| 数据 | 正确 | 未知 | 错 | 其中敌方 |
|---|---|---|---|---|
| 新鲜对局 | 16/16 | 0 | 0 | 8/8(我方一位英雄原来 0/8) |
| 测试 9 局(第二次使用) | 142/156 | 14 | 0 | 70/78 |
| 合计敌方 | — | — | 0 | 78/86(90.7%) |
路由器初始化约 10 秒(预算 108 名英雄 × 12 种取景 × 2 侧特征),每张约 0.3–0.6 秒。按局看,对方英雄(HUD 多帧投票或日志点名)10/10 局正确。
失败与负结果
- “固定取景”方案因原画位置不统一而放弃。
- DINOv3 版本不能直接接入路由器进程(Torch/Paddle 分离),改用颜色布局版本。
- 逐帧敌方头像 90.7% 仍未达 95%:剩下 8 帧是原画匹配首选本身错了。
局限
- 测试集已被 B132 使用过一次,本实验不是全新测试。
- 新鲜对局只有 16 张、8 张敌方。
- 标注由助手完成,不是独立人工真值。
结论与下一步
用一个独立排序方法给原画匹配“投确认票”,在不增加错误的情况下明显提高了新英雄的识别率,并已接入路由器。剩余失败来自原画匹配首选本身错误,需要改进原画与 HUD 之间的匹配本身,而不是继续加确认条件。
Comments