摘要

准备页(开战前的确认页)上,英雄有 8 个主技能槽和 14 个装备槽。旧读取器能认出槽里的图标,但对“没认出”的槽只能说“未知”:用户真正想知道的是“这个技能没学 / 这件装备没装”,还是“程序没读出来”。这两者在后续推断对手构筑时意义完全不同——把“没读出来”当成“没学”是严重错误。

本实验做一个私有的像素原型:用同一个槽位的“空槽外观”作为参照,比对当前槽,加上已有的图标身份匹配作为“非空”证据。分三轮:单张图试验、三张图跨来源检查、改进判据的有界比较。始终保持了最重要的安全性——非空槽从未被判成空、错误判空为 0——但空槽的识别率一直很低,用户最关心的“未学技能”在不参与调参的来源上一个也没认出来。最终结论:不接入公共读取器或 App,停止这批空槽研究。

要回答的问题

能否在零错误判空的前提下,可靠地把准备页的空槽判为“空”,从而区分“未学/未装备”和“未读出”?

数据与来源

全部是已在开发中曝光的截图,没有打开留出数据、没有重扫视频、不跑 OCR 或学习模型:

  • 第一轮:一张 297 秒处的准备页截图,22 个槽。4 个同帧空槽用作校准参照,不计入评价。
  • 第二轮:数据组已人工复核的 3 张最终准备页。两张训练图(同一保守来源组)提供 6 个空参照并用来比较配准方案;第三张来自另一个开发来源组,完全不参与参照和调参,只评价一次。
  • 第三轮:同样 3 张图,另从一张 9 月 5 日的开发图借一个已审的灰色右侧槽参照补缺口;评价 60 个原生槽(47 非空 + 12 空 + 1 鼠标遮挡);另有 36 个在内存中生成的派生困难控制。

方法

第一版判据(冻结后才看数值): 槽缩到 64×64,在 ±2 像素内做有限配准,与空参照比较。必须同时满足:全区 RMSE ≤6、差异 >20 的像素比例 ≤0.02、中心最大差 ≤16、固定 4 像素边缘 RMSE ≤24;如果参照中心是平底(每通道范围 ≤5),目标也必须是平底,以拒绝“平底上一个很淡的新图标”。非空证据用现有图标身份匹配(分数 ≥0.75 且领先 ≥0.08)。空和非空同时成立就判未知;不可见或布局不支持判“未读”。低饱和、低分或身份缺失不能当空。

第二轮: 唯一改动是配准偏移从 [−2,0,2] 改为 [−2,−1,0,1,2],其他门槛不变。另做 4 个合成困难控制(中央实色遮挡、灰度化),要求零错误判空。

第三轮(先交失败分组和方案,再实施): 对比较图先做 3×3 高斯低通,减小单像素光栅相位差;平底检查从“范围 ≤5”改为“双线性平面拟合残差 ≤3”,只解释缓慢背景变化。其他门槛、身份匹配、可见性规则不变。36 个派生控制(灰度、暗主题、0.75×/1.25× 缩放、遮挡、弱字形、背景梯度)要求零错误判空,出现一个就不采用候选。

设置

每轮读取都有严格预算:解码前先独占写一个“尝试回执”,失败或中断不自动重读。阈值不按评价结果调整,不做参数网格。

结果

第一轮(一张图,18 个评价槽):

组 评价数 输出 正确 错误判空
有图标(6 技能 + 8 装备) 14 全部判非空 14 0
技能空位 1 判空 1 1 —
装备空位(杂物 2–4) 3 判空 1、未知 2 1 —

两个未知的 RMSE 7.05/7.38、差异比例 0.037/0.038 都超过门槛;图标匹配最高分 0.769 但领先只有 0.055,不足 0.08。这说明不能把“最高分 >0.75”单独当作有图标。

第二轮(三图跨来源):

阶段/配方 非空正确 非校准空位正确 真实遮挡 错误判空
训练两图、旧配准 32/32 0/5 1/1 判“未读” 0
训练两图、±1 像素配准 32/32 1/5 1/1 判“未读” 0
不参与调参的来源、选定配方 15/15 1/7(6 未知) — 0

第三轮(60 个原生槽):

指标 旧判据 新判据
非空正确 47/47 47/47
空位正确 2/12 6/12
未知 10 6
遮挡正确判“未读” 1/1 1/1
错误判空 0 0
不参与调参来源的空位 1/7 2/7

失败与负结果

  • 用户关心的“未学”没有解决: 不参与调参来源的两个空技能槽在新判据下仍是未知,平面拟合残差 5.66/5.61,超过 3。
  • 新判据有回归: 一个原生校准空槽从“空”退成“未知”,它的 1.25× 缩放控制也同样退化;空控制正确数 11→10。真实参照加缓慢梯度的控制仍是未知。
  • 戒指 2 这个槽根本没有合格的空参照;借来的参照跨图也不匹配(RMSE 12.07、差异比例 0.144)。
  • 在游戏知识库已注册的 238 个参考资产里,按关键词没找到原生空槽参照(这只是有限的元数据搜索,不能说明安装包里没有)。
  • 跨图失败的根因(透明背景、光照、取框或采样相位)都没有被证实。

局限

  • 所有来源都已在开发中曝光,小样本,不是 95% 准确率的证据;零错误判空也不能证明总体安全。
  • 遮挡只靠人工可见性门控,没有自动鼠标/遮挡检测。
  • 只覆盖主技能和装备,16 个子技能不判断。
  • 公共接口提案(用现有通用观察格式表达“0/1 占用 + 未知原因”)只是草稿,没有获得消费者同意,也没有实现;合成格式示例只证明编解码往返,不是真实读取结果。

结论与下一步

像素比对能在不误判空的前提下认出一部分空装备槽,但对技能空槽和跨图泛化不可靠,所以不接入公共读取器或 App,停止这批空槽研究,转向真实视频多帧链路。以后若仍需空位证据,应从允许的训练/开发素材中取同一物理槽的清晰空帧并记录布局;身份未明的非空槽可以收集悬停说明或装备前后成对帧;鼠标遮挡则等鼠标移开后的同页清晰帧,而不是推断为空。