摘要

要从截图推算“这次攻击打死了几个”,需要先确认前后两张图里看到的是同一支部队,再比较它脚下数量牌的数字。本实验只回答前半个问题的最基础部分:在两个人工固定的参考格附近,每张图里能找到几个战场身体(生物形象)候选。

状态估计(SE,把读到的观察累积成对局状态推断的模块)新增了一个离线实验程序,只读取保存好的单帧观察。结果是:4 张截图上两个参考格都各自只有一个身体候选,最近的另一个身体距离至少 138.28 像素。这缩小了“相邻身体互相竞争”的问题,但仍不能证明是同一支部队——帧与帧之间可能换位、替换或脚牌脱离。因此输出明确标记为“未认证同一部队”,部队 ID、数量差、伤亡和事件全部为空。

要回答的问题

在只消费保存的单帧观察、不读规则模拟器真值的条件下,能给出多强的“同一位置同一部队”结论?

数据与来源

  • 一段训练录像(10 月 10 日 16:57)中一个攻击窗口已保存的 4 张原图(时刻 585985.4、586619.3667、587119.8667、587219.9667 毫秒)。
  • 两个参考格是人工固定的区域,经已有的固定相机棋盘投影为两格;没有对当前画面独立重新校准棋盘。
  • 身体位置和身份由感知侧(已有检测器阈值 0.4、已有身份模型)读取;本 SE 实验只消费其输出。

方法

  1. 读取保存的单帧观察,要求单视频、单变体、实际时间递增、参考区域不变。
  2. 按已有的 70 像素操作阈值,保留每个参考格附近的所有身体候选;兵种排名和数值都不参与选择。
  3. 多个候选、同一身体同时落入两个区域、漏检或颜色不明,都不会变成确证或“空兵堆”。
  4. 每帧“唯一候选且区域颜色一致”只算条件空间对应。区域颜色读自原图参考区域,明确标注“不是已认证的身体阵营”。
  5. 审阅后改了标签措辞:去掉容易让人误以为已在跟踪对象的 path 字样,改为“每帧每个固定区域一个身体候选”和“固定区域缺失或歧义”。

设置

不读规则模拟器真值,不发规则查询,不改 SE 公共格式。已有结果文件拒绝覆盖,审阅后版本另存。

结果

时刻(毫秒) 右侧参考格身体首选(模型类别) 相邻参考格身体首选(模型类别) 右侧距离 相邻距离
585985.4 巫妖 unspeakable 20.59 px 31.73 px
586619.3667 一种骑兵(分数弱,受特效遮挡) unspeakable 11.12 px 35.97 px
587119.8667 巫妖 unspeakable 5.47 px 39.96 px
587219.9667 巫妖 unspeakable 12.64 px 34.36 px
  • 4 张原图的两个参考格在 70 像素内都只有一个身体候选;最近的另一身体距右侧参考格至少 138.28 像素。两块参考区域颜色为蓝色。
  • 输出中“同一部队已认证”为否;部队 ID、生物 ID、数量差、伤亡和事件都为空。没有把数量牌从 8 变 3 解释为死亡。
  • 审阅前后两版的入选身体和共享关系完全相同。

失败与负结果

  • 遮挡对照混杂: 感知侧把数量牌和飘字区域涂黑后重跑,右侧身体在第一张和第三张图里消失,中间帧身份不稳;另把自动检出的 13 个框固定、只重跑身份模型(共 39 次排名),右侧第一张首选变成 unspeakable(0.5338)、巫妖第二(0.1213)。掩码同时盖住了身体和背景,只能说明对裁剪和遮挡敏感,不能断言模型依赖数字。
  • 已有脚牌补读失败: 顺带运行了已有的“按身体位置找数量牌并 OCR”的组合流程,三张图共请求 4 个位置,0 个找到牌。第一张右侧的请求窗口里,蓝色掩码把牌和地面连成一整块(面积 2008),宽高超出既有范围被拒,OCR 根本没执行——不能说 OCR 把 8 读错。同窗口还有一个红色块因位置偏移被拒,所以简单放宽门槛可能接受干扰。没有改阈值。

局限

  • 只有一个攻击窗口、4 张已曝光的训练图;参考区域是人工固定的。
  • 同格候选不能证明中间时段持续存在,单帧身体编号不能跨帧当 ID。
  • SE 软件测试 48 项通过,只验证选择逻辑和边界,不是真实准确率。

结论与下一步

“同一格只有一个身体”只是一个有用的空间条件,离“同一支部队、数量变化就是伤亡”还差身体与脚牌的附着认证。下一步只做一个有限实验:由身体给出当帧搜索窗、用真实文字定位产生数量候选,再按几何、颜色和唯一性检查送 OCR;读数只作验收答案,不作检测输入;必须拒绝红色干扰、整窗蓝背景和跨区域串牌。