摘要

在这款回合制战棋游戏里,鼠标指向敌方生物准备攻击或施法时,目标上方会出现两行“伤害预览”:上一行是骷髅图标加数字,下一行是预计伤害,可能是固定值(如 449)或范围值(如 414–553)。视觉理解模块的整图读取器已经能找到这些预览、读出两行文字,并(经上一轮实验)给出“预览指向哪个生物身体”的目标候选。但此前的评估集只有两个来源、而且已被反复使用。

本实验(内部批次号 B113)不改任何算法、权重或阈值,只做两件事:从另外三个训练来源补一批人工精审的整图,用冻结的读取器跑一遍,看看在新画面上哪里会出错。结果:24 个参考预览全部找到,两行文字 23/24 正确,目标候选 20 个正确、4 个未关联、0 个错绑。失败被精确定位为四类,其中“把 449 误拆成 4–49”被保存为可复现的真实测试样例。

要回答的问题

  • 在新来源上,冻结的整图读取器对预览的发现、两行文字和目标候选表现如何?
  • 出错时,错在哪一层(文字、身体检测、几何关联、身份)?
  • 上一轮两处“冷酷卧底”身份被认错,是因为输入裁图被污染,还是训练覆盖不够?

数据与来源

  • 三个已准入的训练来源组:10 月 3 日 11:28、17:45(该组只用 17:45 这段录像)和 18:40 的训练录像。打开前先检查来源准入表(B047);最新的 10 月 5 日评估组不打开。这些是本实验的额外来源,不是新的独立测试数据,也不能自动当成三场独立对局。
  • 采样规则在看像素前固定:每段录像从第一个“战斗进行中”场景段开始,往后 8 分钟每 2 秒取一个原生帧,窗口内不按场景再过滤。8 分钟里包括退出菜单、准备下一局等画面,作为负例保留。
  • 候选用已有的双图标模板定位器(B083)提出,另每 30 秒保存一张与定位结果无关的固定对照帧。
来源组 采样帧 候选帧 保存原生图 最终精审整图 可读预览
10 月 3 日 11:28 240 13 28 6 3
10 月 3 日 17:45 240 26 40 13 14
10 月 3 日 18:40 240 8 22 9 7
合计 720 47 90 28 24

720 帧扫描约 296 秒。

方法

选图与精审。 按时间候选簇等距每个来源最多选 10 张,再加首、中、末三张固定时间对照;选择在看 OCR 结果之前固定。28 张整图和 24 个原生放大预览全部人工检查,没有发现额外遗漏的两行预览。其中 20 张正例图、8 张无预览图(9 张固定时间对照里有 1 张也含预览)。样本包括 12 个固定值、12 个范围值、同屏 4 个目标同值、同屏 2 个目标同值、数量牌背景、拥挤目标,以及战斗日志、翻书、菜单、选择页等负例。目标点只用于审阅定位,不是紧身体框;24 个目标全部有明确可见实例,其中 22 个有可接受的身体候选、2 个没有。

冻结读取。 整图读取器和上一轮的目标候选分支原样运行,按固定分母统计:发现、两行文字、目标候选的正确/未知/错误,以及“位置 + 两行 + 目标”完整链条。

设置

  • 28 次原生整图读取,全部完成,无读取失败。
  • 首批运行时发现私有构造器保留了历史上的“全屏”默认范围,因此这批如实记为完整背景诊断。另用 3 张实图显式启用“前景优先”策略检查用户实际使用的设置。
  • 另做 2 次身体检测器“接受前原始候选”的探针,用来诊断漏检。

结果

固定分母 结果
整图找到参考预览 24/24
位置与两行文字全部正确 23/24(95.83%)
范围伤害两行正确 12/12
固定伤害两行正确 11/12
目标候选 正确 / 未关联 / 错绑 20 / 4 / 0
位置 + 两行 + 已核对目标候选完整 19/24(79.17%)
额外预览 / 重复预览 0 / 0
整张图的预览文字全部正确(含负例) 27/28

按来源:11:28 文字 3/3、目标 2/3;17:45 文字 14/14、目标 12/14;18:40 文字 6/7、目标 6/7。

两处新的冷酷卧底目标里,身体分类首选 1 处正确、1 处错误。其它目标没有用分类器首选回填身份。

两处旧卧底错认的输入核查。 查看上一轮两张图的整图、检测器原始裁图和实际送进分类器的 224×224 输入,并对照训练集中该类全部 25 张身体裁图:

情况 可见输入 冻结输出
10 月 4 日 1507806 毫秒 蓝色人形的脸、躯干和大部分四肢都在;上方混入白色预览文字,下方有交叉剑光标和红黄高亮格,红色岩地背景 首选“树人(升级)”0.0721,真实类排第 4(0.0518)
10 月 3 日 206009 毫秒 举起的弯刀和人形身体可见;强红色叠加、邻近黑龙/九头蛇边缘、预览字母和数量牌污染 首选“幻影(升级)”0.0826,真实类排第 2(0.0639)

25 张训练裁图来自四个旧录像名(2、7、12、4 张),多为干净的待机或举刀姿态,背景是草地、雪地或暗地形,没有同样强的红色叠加或这种红地 + 光标组合;相邻几张看起来很像,不能算 25 个独立外观。当前数据集里该类没有验证样本。这些低分数未经校准,不能据此设定安全的弃权阈值。

失败与负结果

  1. 449 被误改成 4–49。 原生裁图 38×24 像素,整图 OCR 和行 OCR 都正确读出 449;但“范围拆分补救”逻辑把两个 4 之间与背景/字形相连的细桥当成横线,左右重读成 4 和 49 后误接受。这不是横线被裁掉,也不是 OCR 不认识 449,所以不能笼统地要求重训 OCR。该图已保存为小的真实测试样例和“预期失败”回归测试;本轮没有修复。(后续实验 B114 已修复,见下文。)
  2. 两个身体漏检。 597.609 秒的灰色大生物和 683.632 秒的绿色持矛生物:原始候选里最高对应框分数分别是 0.27465 和 0.33191,低于当前 0.4 门槛;原生框人工核对确实覆盖了对应身体。不是被前置面板排除,也不是模型完全没有框。这不支持直接全局降低阈值。
  3. 大型目标未关联。 885.220 秒的大型紫色身体已检出,但预览压在身体上方的一部分,现有的有限几何窗口没有合格的边,保留未知;不能为一帧就无条件绑定最近身体。
  4. 重复身体候选竞争。 396.020 秒的白色蛇形目标有两个身体候选对应同一实体,分差不足导致拒判。这是重复候选/关联问题,不是数字问题。
  5. 翻书动画未跳过。 显式启用前景策略时,日志和选择页正确抑制了背景,但翻书动画没有被稳定面板检测器认出,没能可靠跳过,这一自动选帧缺口不算通过。
  6. 身份输入核查的第一次尝试因为在错误位置找模型配置而在写图前停下,空目录保留;修正后读与生产相同的配置。

局限

  • 三个来源都是训练来源,且在其它 UI 任务中用过;不是盲测。24 个预览也不是 24 个独立事件:627/637 秒、703/709 秒分别是同一行动的重复查看。2 秒采样和模板选样会漏掉短预览,24/24 不能证明全视频事件召回。
  • 23/24 的文字正确率只是这 24 个预览上的曝光诊断,不能说全体 UI 达到 95%,目标关联也没有完成。目标候选不是确认身份或所有权。
  • 32 项相关软件测试通过、1 项是上述 449 的已知预期失败;没有跑全套、App 或 GUI,离线成本不作为延迟指标。

结论与下一步

冻结读取器在新来源上表现稳定,没有错绑目标;每个失败都被定位到具体一层,而不是笼统归咎于“需要更多训练”。对卧底错认,没有足够证据说只需改裁图或是模型容量问题,因此不改默认裁剪、不放大所有裁图、不降阈值、也不只用两张失败图训练。

接续决定:先修错误的横线补救(必须在原生输入上证明它是独立分隔符,同时让固定值负例和已有的 414–553、366–475 真实恢复一起回归);两个低分身体先用已有的数量牌引导重检,在受限额外裁图预算下对照新增正确、误框和错绑;不在这 24 个样本上无限优化。后续实验 B114 已修复第 1 项,58 张整图和 382 个原生数字行回归通过;本页的基线数字保持原样,不回写历史成绩。