摘要

项目的目标之一是:在至少 10 个独立实战局上,训练和测试来源分开,每个场景、每个字段的准确率都 ≥95%。此前测试局只评过“对方英雄”和“对方法术”两项。本实验(内部编号 B155)把截图上能读的每类字段都对一遍:截图路由器(把一张截图分给各个读取器的程序)的场景判断、英雄栏数值、生物面板数值、最终确认页等。

在 39 局测试截图包(626 帧)上:英雄栏合计 96.9%、生物面板合计 97.0%;已经给出的值几乎都对(英雄栏 1 个错、生物面板 0 个错),差距几乎都是“漏读”。低于 95% 的有:英雄身份 94.4%、攻击预览场景 90.9%。真值是助手的盲标像素精审,不是人工真值;“39 局”里有不少来自同一批录像,并不等于 39 个独立来源。

要回答的问题

当前识别代码在测试局上,每个场景、每个字段的准确率是多少?哪些字段低于 95%?失败集中在哪里?

数据与来源

  • 全部带逐帧标注的测试截图包:旧录屏测试 26 局 + 10 月测试 13 局(含前一篇的晚间 3 局),共 626 帧。
  • 真值是助手按书面说明做的盲标像素精审(部分做过二审),不是人工真值。
  • 只评估,不据此调任何门限或规则;测试包不用于训练或挑参数。
  • 另用同样流程跑训练池 76 局作对照,用来找可以合法改进的失败类型。

方法

  1. 一个常驻路由器(与 App 服务相同的设置)按包逐帧读,每帧保存结果和耗时。
  2. 按真值逐项比较,每项记“对 / 错 / 漏(没读出或 UNKNOWN)/ 真值未知”。
  3. 准确率 = 对 / (对 + 错 + 漏);精确率 = 对 / (对 + 错),只看给出了值的。漏读不算对;未知不等于空、也不等于 0。

评估的字段:

  • 场景:路由器的主任务是否对应真值场景(如“最终确认页”应该交给准备页读取器)。
  • 英雄栏(HUD,画面边缘常驻的英雄状态栏):左右两侧的英雄身份、攻击、防御、法强、蓝量。
  • 生物面板:名字、数量、生命、攻击、防御、伤害、士气、幸运、先攻、速度等。
  • 最终确认页:引用另一实验(B149)的逐字段结果。

设置

识别代码是当前开发版(与 App 版本 2026.10.09-9 的识别代码相同)。

结果

英雄栏

字段 对 / 错 / 漏 准确率 精确率
英雄身份(头像) 85 / 0 / 5 94.4% 100%
攻击 88 / 0 / 2 97.8% 100%
防御 88 / 0 / 2 97.8% 100%
法强 87 / 1 / 2 96.7% 98.9%(27 读成 7)
蓝量(当前 / 上限) 88 / 0 / 2 97.8% 100%
合计 436 / 1 / 13 96.9% 99.8%

生物面板(73 个面板)

字段 对 / 错 / 漏 准确率
名字、身份、阶级、生命、攻击、士气、幸运、先攻、速度、伤害 各 71 / 0 / 2 97.3%
数量 70 / 0 / 3 95.9%
防御 70 / 0 / 3 95.9%
合计 850 / 0 / 26 97.0%(精确率 100%)

场景 → 路由器主任务

场景 帧 主任务正确 其余
最终确认页 36 36
战斗日志 53 53
生物面板 105 103 1 个面板外观不确定被拒,1 个没检测到
战场 122 117 5 帧整帧放弃,都是开战后最初几帧
法术书 82 78 2 被拒,2 没检测到(当成战场)
攻击预览 33 30 3 被拒(布局未确认)
法术预览 5 5
选秀、布阵、英雄面板等 190 — 不需要读取

最终确认页(B149):测试 34 页,对 2,442 / 错 0 / 漏 229。

训练池对照(76 局)

类别 对 / 错 / 漏 准确率
英雄栏 606 / 0 / 6(英雄身份 119 / 0 / 5) 99.0%
生物面板 1,857 / 1 / 134(11 个面板整块没读出) 93.2%
场景:法术书 149 / 167 89.2%
场景:战场 238 / 266 89.5%
场景:生物面板 197 / 212 92.9%

速度(每帧路由器秒数中位)

选秀类 0.2–0.3 秒;生物面板 0.58;法术书 0.70;攻击预览 0.81;日志 1.04;最终确认页 1.39;英雄面板 1.40;战场 1.79。

失败与负结果

  • 英雄身份的 5 个漏和法强的 1 个错,都在旧录屏开战后不久的战场帧上。例如某局第 5 张画面清楚,但左右两个头像都没认出,左侧法强 27 读成 7。可能是当时版本的头像美术与现在的参考图不同(未验证)。
  • 5 帧战场整帧放弃,都是开战后最初几帧。训练池里同类 17 帧看了样例:开战第一帧只有“敌方回合”横幅,还没有行动条和英雄栏,放弃是对的——评分应改为“没有英雄栏的帧不需要读”。
  • 训练池法术书没定位到 11 帧:都是只有 2 个法术的稀疏页,而门槛要求同一排至少 3 个法术名(后续另做 B156)。
  • 训练池其他失败:战场帧被当成攻击预览 9 帧、生物面板外观不确定被拒 8 帧、法术书布局不确定被拒 7 帧、生物面板被左上角的悬停提示压住没定位到 7 帧。

局限

  • 真值是盲标的模型目视核对,不是人工审核。
  • 测试局里的多帧和多局来自有限的录像,不等于“十场独立对局”的目标;本实验也没有宣称达成该目标。
  • 改进只能在训练局里找同类样本,不能用这些测试局调。

结论与下一步

在测试局上,给出的值几乎都是对的,主要问题是“该读的没读出来”。下一步在训练池里统计同类失败并修复:调整“开战第一帧”的评分口径、处理只有 2 个法术的稀疏法术书页、处理被悬停提示压住的生物面板,以及旧版本头像。