摘要
战斗中鼠标悬停在敌方生物上时,游戏会在它旁边显示一块“攻击预览牌”:上一行是骷髅图标加预计击杀数(例如 4-6),下一行是拳头图标加预计伤害范围(例如 431-647(100%))。这些数字是状态估计(SE)的条件伤害参考,读错会给出错误的范围。
本实验(B187)是一组并行标注任务中的一项:为攻击预览数字建立逐牌、逐行的标注集,再给生产读取器打分。到报告记录时,选帧、标注和读取器运行都已完成,但报告的“结果、错例、限制”部分还没有填写,也没有保存评分输出。本文只记录已经完成的部分,不给出正确率。
要回答的问题
生产的攻击预览读取器在真实对局画面上,逐牌逐行读得怎样:正确、错误、拒读(未读)、漏检各多少?是否会在没有牌的地方报出预览?
数据与来源
- 16:57:10 月 10 日 16:57 那局的前 23 分钟。这是开发集:预览读取规则和局部重读大多在它上面定的。
- 01:39:10 月 10 日 01:39 那局,雪地地图,作为独立检验。
- 08:38 那局没有做:当时还没有它的攻击预览时间线。
- 只读用户选定的训练录像,没有打开冻结或留出的录像。
- 标注全部是助手目视核对(MODEL_VISUAL_CHECKED),不是用户审核(REVIEWED)。
方法
选帧
- 扫描:已有的画面时间线里,每个“攻击预览”片段的每个 2 fps 采样,解码 2560×1440 原生帧,用白色掩码找骷髅图标的峰(阈值 0.55),再用骷髅/拳头模板定位每块牌。模板分数只用来判断“显示得完不完整”,不是标注。
- 挑选:片段里有 3 个以上采样时去掉首尾(淡入/淡出)。第 1 帧选完整牌(两个模板分数都 ≥ 0.80)最多、最弱模板分最高、最靠近片段中间的;第 2 帧要离第 1 帧至少 1 秒且牌的位置不同(换了目标或牌数)。没有 ≥ 0.80 的牌时退到 ≥ 0.70(雪地上真牌的拳头分只有 0.72–0.79)。
- 负样本:每段录像 8 个随机战斗时刻(离所有预览片段 ≥ 2 秒,固定随机种子)+ 4 个已知会误触发预览线索的时刻。负样本照样目视,看到牌就标牌。
- 时间换算:时间线上的时刻 t 对应的视频帧号是
round(t × 29.97) + 7。两段录像 8 个时刻逐帧比对,加 7 帧时像素差最小。
| 录像 | 预览片段 | 选出的预览帧 | 负样本 | 合计 |
|---|---|---|---|---|
| 16:57 | 55 | 61 | 12 | 73 |
| 01:39 | 99 | 106 | 12 | 118 |
盲标
先看不带读取器输出的图:4 帧一张的总图,框出模板定位到的牌并编号,每块牌附 2.5 倍原生裁图;需要时再放大原生像素。全部标完后才打开读取器输出。
每块牌标:击杀行原文、伤害行原文(含百分比)、位置(原生框)、类型(攻击/治疗)、可见度(完整/淡入淡出/部分遮挡)、看到的干扰(背后数量牌的暗数字、白色生物、面板边缘等)。模板没定位到但目视能看到的牌手工加入;分数在 0.70–0.80 之间的模板命中单独出图核对。
| 录像 | 有牌的帧 | 牌 | 多牌帧 | 带百分比的伤害行 | 淡入淡出 / 遮挡 | 看不清的行 |
|---|---|---|---|---|---|---|
| 16:57 | 61 | 70 | 3(6 块、4 块、2 块各一) | 16 | 0 / 1 | 0 |
| 01:39 | 106 | 119 | 13(都是 2 块) | 7 | 6 / 0 | 1 |
两段录像里都没有看到绿色的治疗/复活预览,所以治疗类型没有样本。
计划中的评分
评分脚本已写好,规则是:
| 结果 | 含义 |
|---|---|
| 正确 | 这块牌上的读数与标注原文相同(忽略空格,百分比也要对) |
| 错误 | 这块牌上读出了别的原文 |
| 未读 | 这块牌上有候选,但被读取器的检查拒绝 |
| 漏检 | 这块牌上没有预览也没有候选 |
| 看不清 | 标注为 UNKNOWN,不计分 |
另外,中心不在任何已标牌上的预览算“误报牌”;每个预览还会标明来自“整帧 OCR”还是“局部重读”路径。
设置
读取器(生产路由的攻击预览任务)只在用户没有玩游戏时分批运行,每批不超过 14 分钟、限制占用的 CPU 核,游戏运行时等待。
结果
读取器在全部 191 帧上跑完。按读取器自身的任务状态(不是正确与否):
| 录像 | 状态 READ(输出了预览) | 状态 REJECTED |
|---|---|---|
| 16:57 | 61 | 12 |
| 01:39 | 101 | 17 |
这只是“读取器有没有给出预览”的处理状态,没有与标注比对,不能当成正确率。逐牌逐行的正确/错误/未读/漏检计数,在报告记录时尚未填写。
失败与负结果
- 第一版选帧没有加 7 帧偏移,单帧的预览片段有时取到了牌出现前约 0.23 秒的画面(例如 16:57 的 597.5 秒、665.0 秒看不到牌),已整批重做;旧扫描单独保存,不参与任何结果。
- 读取器只能在用户不玩游戏时运行,读取过程因此跨越了数小时。
局限
- 评分没有完成,本文没有任何正确率或错误率。
- 标注是模型目视核对,不是人工审核;16:57 是开发集,不是独立测试。
- 没有治疗/复活预览样本;08:38 录像没有覆盖。
结论与下一步
标注集(189 块牌、24 个负样本)和读取器输出都已就绪,评分脚本也写好了,剩下的是运行评分、写出错例清单和限制,并请用户审核标注。
Comments