摘要

在游戏战斗中打开魔法书时,书页会盖住战场中间,战场两侧只露出生物身体的边缘局部。前几轮评估显示,现有的整图身体检测器在这种局部身体上只检出了 21 个中的 6 个;而之前尝试用少量困难图对整个模型继续训练,又会让普通战场退步。

本实验(编号 B096)换一个思路:保留原来的整图检测器不变,另训练一个只用于魔法书画面两侧窗口的局部检测器,并把它的结果作为“补充”加到原框上。结果:在 5 张训练图上,补充方案把召回从 50% 提到 90%——但这是训练集拟合;在唯一一张按来源留出的图上,新局部检测器一个漏检都没补回,还多了 2 个误报,没有通过预先规定的门槛。新权重拿到普通整图上也找回 6 个、丢了 14 个。最终不采用新权重、不接入读取入口。

要回答的问题

不动原整图检测器、只为魔法书两侧单独训练一个局部检测器,能否稳定地补回书边局部身体,同时不增加误报、不丢失原来能找到的身体?

数据与来源

  • 前一轮整理出 6 张有魔法书的准入图(来自六个来源)。按协议,按帧编号排序的最后一张(来源“old-source-12”)连同它的整个来源留作开发选择;另 5 张(30 个身体)用于训练。留出的只有 1 张图、5 个身体,而且这张图以前被看过,不是独立验收。
  • 同时回放原检测器的训练集:401 张训练图、4,588 个身体,每轮各一次。
  • 更新的评估集(10 月 4 日的图、上一轮 10 张近期评估图、旧测试集和封存来源)一律不读像素、不用于选择。

方法

  • 固定窗口:每张 2560×1440 原图固定裁两侧两个窗口 [0,128,768,1280] 和 [1792,128,2560,1280],只由图像尺寸决定,不看答案。推理输入 960 像素,相当于每个身体像素放大到原整图推理的约 2.22 倍。训练时若窗口会切断已标身体,直接拒绝该视图,不把截断框当作精标。
  • 训练:从原 B13 权重出发,冻结整个 11 层骨干及其 BatchNorm 统计,只更新 neck 和 head。6 轮,batch 8,AdamW 学习率 1e-4,固定随机种子;关闭 mosaic、mixup、翻转、旋转等增强。只训练一组,固定使用第 6 轮最后的权重,不按留出图挑轮次、阈值或种子。
  • 比较五种方案:原整图;原权重只跑两侧窗口;新权重只跑两侧窗口;原整图+原权重局部补充;原整图+新权重局部补充。“补充”规则:局部候选分数 ≥ 0.4,与已有框 IoU ≥ 0.5 的不新增,不改写原框。
  • 门槛(运行前写定):训练集上至少补回 2 个此前漏检的身体,且新增误报不多于补回数;留出图上至少补回 1 个、原合格身体不丢、误报不增加。

设置

每轮 486 次图像曝光、406 张唯一原图(新视图不算新图)。训练 186.62 秒;每轮核对 240 个骨干参数/统计张量全部保持不变;366 次优化机会中 362 次实际更新(混合精度跳过 4 次)。匹配标准为一对一 IoU ≥ 0.5,身份未知的身体也在分母内,只评定位。

结果

5 张训练图,30 个身体

方案 找到 误报 漏或框不合格
原整图 15 4 15
原权重仅局部 12 6 18
新权重仅局部 27 0 3
原整图+原局部 18 9 12
原整图+新局部 27 4 3

来源留出的 1 张图,5 个身体

方案 找到 误报 漏或框不合格
原整图 4 1 1
原权重仅局部 2 2 3
新权重仅局部 2 3 3
原整图+原局部 5 3 0
原整图+新局部 4 3 1

普通整图诊断(原验证集 54 张图,715 个身体)

整图权重 找到 误报 漏或框不合格
原 B13 689 18 26
本轮新权重 681 16 34

失败与负结果

  • 留出门槛未通过:新局部补充没有补回任何目标,另增 2 个误报。原权重局部虽然补回 1 个,也多 2 个误报,同样不能改挑它上线。
  • 具体失败:留出图上一个幽灵衣摆,原框 IoU 0.537,新框扩大到书脊和绑带,IoU 降到 0.441——不是没有候选,而是边界变差;拥挤部队出现横跨两个身体的混合框;原整图把右下书脊当身体的误报依然存在。
  • 训练集仍漏 3 处:书签缝里的蓝色鬃毛、左侧紫色小身体、一小块黄翼。
  • 普通场景退步:新权重在整图上恢复 6 个、丢 14 个,不能只看“少 2 个误报”说改善。冻结骨干并不能保证 neck/head 更新后普通场景不退步。

局限

  • 留出只有 1 张图,不能测量总体泛化率,但足以否决“稳定改善”的说法。
  • 表现符合少样本过拟合,但这不能证明所有局部训练都无效。
  • 88 项相关软件测试通过只说明坐标映射、拒绝规则等代码正确,不代表识别问题已解决;没有测整帧速度或 App。

结论与下一步

不采用新权重,原整图检测器和身份模型继续保留。停止在这 6 张图上重训或调阈值,也不打开更新的评估集去挑参数。下一步是扩大训练来源里局部形态的覆盖——小翅膀、细衣摆和透明轮廓、头尾、相邻重叠身体——同时保留书脊、绑带、地面装饰等负例;从不同战斗位置和外观中选图,算法初标后逐张补漏。重复相同开局、或把裁窗次数当数据量,都解决不了这次暴露的短板;下次训练前需要一个更大的、按来源隔离的开发参考,而不是让一张留出图承担验收。