摘要
项目的目标之一是:在至少 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 局作对照,用来找可以合法改进的失败类型。
方法
- 一个常驻路由器(与 App 服务相同的设置)按包逐帧读,每帧保存结果和耗时。
- 按真值逐项比较,每项记“对 / 错 / 漏(没读出或 UNKNOWN)/ 真值未知”。
- 准确率 = 对 / (对 + 错 + 漏);精确率 = 对 / (对 + 错),只看给出了值的。漏读不算对;未知不等于空、也不等于 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 个法术的稀疏法术书页、处理被悬停提示压住的生物面板,以及旧版本头像。
Comments