摘要
在这款回合制战斗游戏里,玩家把鼠标悬停在目标上准备攻击或施法时,屏幕会显示一个伤害预览:通常只有两行数字(例如预计伤害区间和预计击杀数)加骷髅/盾形小图标,没有“伤害”二字。用户问:现有标注够不够训练一个可靠的预览读取器?离线采集和辅助标注可以慢,不受实时 3 秒预算约束。
本轮先盘点旧标注,结论是:够做原型和回归,不足以证明稳健训练或达到 95%。随后尝试两条离线供样路线:一是在“法术书页关闭”之后的几秒里用双尺度 OCR 找预览;二是先用战斗日志(Logs,游戏界面里逐行记录攻击、施法、伤害的文字面板)建一个可检索的录像信息库,定位到某次施法后再往前找预览。在一段训练录像里共精审出 11 帧 19 个预览字面区域、72 条日志行,并发现若干关键陷阱。没有修改生产模型、App 或其他模块。
要回答的问题
- 旧的预览标注有多少、能证明什么?
- 能否用离线、昂贵的方法高效找到更多真实预览样本?日志能不能帮忙定位?
数据与来源
旧标签盘点(按原图和来源去重,区分数字字面、动作类别、法术名称、攻击者/目标绑定):
| 已核实旧标签 | 图片/区域 | 展示组与来源 | 限制 |
|---|---|---|---|
| 普通攻击预览 | 21 图 / 21 区域 | 14 个展示组、2 段视频 | 开发数据,非独立验收 |
| 法术目标预览 | 5 图 / 6 区域 | 5 组、2 视频、4 种法术 | 动作类别来自上下文;攻击者/目标关联不完整 |
| 动作未知预览 | 4 图 / 4 区域 | 3 完整、1 部分 | 不能算作攻击或施法正例 |
| 额外数字预览 | 去重后 8 图 | 不宣称动作真值 | 多数数字语义和攻防者字段未知 |
历史二分类裁图模型准确率 90.32%、正例召回 76.92%(10 TP / 3 FN / 0 FP / 18 TN),历史整图定位且两行数字全对 25/30(83.33%)。这些数字都不能当整图或动作类别精度。当前手动整图读取中,“目标预览”这一项仍未组合进来。
本轮新数据:一段已准入训练的录像(10 月 4 日 22:15,长 1987.8 秒)以及它已有的 5 帧/秒全段场景扫描。
方法
路线一:书页关闭窗口。自动挑 8 个窗口:法术书页出现至少 1 秒、之后普通战场至少 3 秒。每窗保存关闭前 0.8 秒的上下文和关闭后 0.2/0.8/1.4/2 秒的原生帧,对后四帧做原尺寸和 1.5 倍两种完整 OCR,用已有的“数字对”算法生成候选。所有候选只是标注建议,必须看原图精修;不在稳定性检查中删掉短暂候选。
路线二:日志检索库。用全段粗扫找到的日志区间,取首/中/末原生图做 OCR,逐行精修代表页;建一个可丢弃的实验数据库,保存原始 OCR、审核文本、日志截图在视频中的位置、日志里的时钟文字,以及附近同名的预览候选。日志时钟与文件名时间的换算只用来拒绝明显不可能的时间提示,从未完整校准;回看窗口取“推算发生时刻前 15 秒到后 5 秒”,这只是搜索范围,不是误差界。
设置
离线脚本,不改主索引或标签归属;模型分数不会自动升级为真值,实际伤害不会填进预计伤害,也不做因果或阵营推断。封存来源 17–22 未打开。
结果
- 路线一:40 张原图中 32 张做了双尺度 OCR,得到 42 个数字对建议;逐个看放大裁图后,38 个是正确的重复建议、4 个残缺或误读。合并为 11 帧 19 个精审字面区域:9 帧 17 区域是法术选择上下文,2 帧 2 区域是普通攻击上下文。只来自 1 个训练来源、4 个展示窗口;3 个法术窗口不能称为 3 次确认施法。
- 路线二:全段只标出 4 个日志区间,每段深读 3 张。精审 4 个代表页共 72 条事件行,按显示内容分 39 组(不等于 39 次唯一行动)。原始整图 OCR 的正文 72/72、时钟 72/72 正确,但含玩家名缺字和括号的完整文字只有 39/72,解析器接受 62/72。
- 本地 HTML 页面可按法术、兵种、时钟、数字检索,并给出原图、日志位置和附近预览。浏览器对本地文件的安全限制拒绝了直接打开,未绕过;网页交互和视频播放未验收。
两个“日志 → 预览”的实际样例:
| 日志文字 | 推算发生位置 | 已审预览 | 日志实际伤害 |
|---|---|---|---|
| 连锁闪电 | 约 562 秒 | 559.4–560.6 秒:上行 31、下行 1404 | 1458,死亡 32 |
| 黑洞 | 约 572 秒 | 566.8–568.0 秒:下行 972,多个目标上行 32/162/12 | 1008,多个目标 |
失败与负结果
- 日志出现时间 ≠ 施法时间:上面两条日志的截图实际出现在约 587.6 秒等位置,若直接当作施法时间会偏后几十秒。
- 书页关闭 ≠ 施法:某次书页关闭后出现的是普通攻击预览;另一次黑洞书页和范围预览没有证据表明真的施放了。
- 预览 1404 与实际 1458、预览 972 与实际 1008 不同;本轮只记录,不分析原因。
- 首次日志采样把持续时间设成 1 毫秒,没有覆盖下一帧,失败退出;改为 100 毫秒后完成。检索库第一版字段访问错误导致预览关联为空,保留并在第二版修正。验证时一次把结果数误记为 10,实际是 3 条日志 + 6 个预览 = 9,已纠正。
- 敌方操作时的预览可能对当前玩家不可见,取消施法也可能出现预览,所以“没找到”不能断言为漏检。
局限
- 只有一个训练来源;粗扫未审完全部负例,日志召回未知;32 个深读帧中 21 个非正例只做了概览审核,不是完备负例。
- 19 个正例只有字面和上下文,紧框、攻防者绑定尚未标注,不自动进入训练。
- 42.05 秒(预览)和 17.27 秒(日志)的批处理时间包含模型、解码、OCR,不是在线时延。
- 4 项检索边界测试和数据库完整性检查通过,只证明工具行为,不是识别精度。
结论与下一步
现有预览数据只够原型和回归。日志检索库可以把“某次施法”映射到一个回看窗口,确实帮助找到了预览,但必须记住日志时间和书页关闭都不是施法时刻。下一步用该库回采:按施法/攻击文字取前后窗口,再用双数字行和图标、局部稳定、多尺度 OCR 密采样;同时扫描书页关闭以外的普通攻击和取消操作,先在当前训练录像上报告完整覆盖分母,再扩到更多训练来源;补齐紧框、类别、可读/遮挡和攻防者证据后才准入训练。
Comments