战场画面里“看到了一个生物”还不等于“知道面板正在描述哪一队”。同一个物种可能同时出现在双方队伍、顶部行动条、英雄面板立绘和真实战场格子里。B028 研究的是中间一步:先把完整截图中的生物候选找出来,再为每个候选给出物种排名,并明确哪些关系仍然未知。

本轮没有重新训练模型。程序把 B13 已冻结的 FCOS 检测器和 B12 已选定的 ConvNeXt-Tiny 分类器串起来,在 8 张 2560×1440 的开发截图上产生 71 个候选。它证明了组件可以连接,也暴露了“物种认对,但对象类型仍可能错”的问题;它还没有完成真正的实例绑定。

flowchart LR
 F[Full screenshot] --> D[Creature detector]
 D --> C[Predicted crops]
 C --> I[Species Top-5]
 I --> G[Panel and board review]
 G --> B[Pending instance binding]

图 1:检测框和物种候选只是证据。面板目标、战场实例、数量、队色与跨帧身份需要后续关系判断。

1. 为什么“物种分类”不是“实例绑定”?

检测器输出矩形框,身份分类器回答“这个裁图最像哪种生物”。但系统最终需要的是更具体的问题:这是战场上的哪一队?属于屏幕哪一侧?面板是否正在展示它?当前数量和属性能否刷新?这些问题不能从一个 softmax 分数直接推出。

因此输出保留了清楚的空值边界:accepted_entity_idownerteam_colorstack_track_idframe_instance_ref 都不填写。模型给出的物种名仍是 MODEL_CANDIDATE,不会自动升级成已确认游戏状态。

2. 两个冻结模型怎样串起来?

FCOS 读取完整原图,使用 B13 已选择的 0.55 工作阈值。超过阈值的预测框按原图坐标裁切,再交给 141 类 ConvNeXt-Tiny 分类器;分类器底部裁掉 10%,缩放到 224×224,并保留 Top-5。OCR、手工参考和面板标签都不会进入推理。

环节 输入 输出 本轮固定条件
检测 2560×1440 RGB 全图 原图坐标框与分数 FCOS,阈值 0.55
分类 实际预测框裁图 141 类物种 Top-5 ConvNeXt-Tiny,底裁 10%
关系审核 原图、框、排名 保留或拒绝的关系候选 不自动写入状态

源图片、视频时间、模型权重和训练 manifest 在模型加载前核对。8 张图共保留 800 个低阈值原始检测,最终有 71 个框超过工作阈值并进入身份分类。

3. 一张图里,战场与面板会竞争同一种视觉特征

战场单位与面板立绘同时被检测为生物候选

图 2:青色框是实际模型候选。真实战场单位大多被找到,但中央面板的生物立绘也会触发检测。框里的物种可以认对,仍不能说明它是可行动的战场实例。

这张图解释了一个关键失败:把所有落进面板的框一律删除也不安全。面板边缘可能遮住真实战场单位;相反,面板里的大幅立绘可能确实对应正确物种,却不是另一个战场单位。关系判断需要同时看框位置、面板范围、数量牌和前后帧,而不是增加一个“物种置信度更高”的阈值。

4. 稀疏审核说明了什么?

独立人工核对只查看 71 个候选中的 13 个相关目标。9 个特意选作参考的可见战场单位都有模型候选,且物种 Top-1 都匹配;另外 3 个框是面板立绘误检,它们的物种 Top-1 也正确。还有 1 个面板边缘的战场单位保留未知,不能用“与面板相交”草率排除。

观察 数量 正确解读
完整截图 8 已曝光开发材料,不是独立测试集
超阈值模型候选 71 不是 71 个真实单位
实际查看的候选 13 稀疏诊断,不是全量准确率
参考可见单位有候选且 Top-1 匹配 9/9 只适用于刻意挑选的 9 个对象
已确认面板立绘误检 3 说明对象类型仍需判断
已确认实例绑定 0 本实验没有授权状态刷新

9 个参考单位的数量牌中心全部位于生物身体框之外。这也说明身份 crop 不应顺便承担数量 OCR;数量牌需要从全图单独定位,再用空间关系连接回来。

5. 下一步不是继续调物种分类器

当前方向足够继续:B032 负责数量牌与身体框的空间关联,B029 读取两侧 HUD 和计时,B030 读取日志,B031 再把相邻帧证据放到时间上。B028 下一轮只需要在精选关键帧上补全“面板对象、战场对象、数量牌和来源侧”的关系标注,并训练一个最简单的关系分类器。

在这些标注完成前,正确说法是“生成了可审核的同帧候选”,不是“已经知道面板对应哪一队”。这条边界会继续保留在语义时间线和最终本地推理结果中。