摘要
在游戏战斗中打开魔法书时,书页会盖住战场中间,战场两侧只露出生物身体的边缘局部。前几轮评估显示,现有的整图身体检测器在这种局部身体上只检出了 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 张图上重训或调阈值,也不打开更新的评估集去挑参数。下一步是扩大训练来源里局部形态的覆盖——小翅膀、细衣摆和透明轮廓、头尾、相邻重叠身体——同时保留书脊、绑带、地面装饰等负例;从不同战斗位置和外观中选图,算法初标后逐张补漏。重复相同开局、或把裁窗次数当数据量,都解决不了这次暴露的短板;下次训练前需要一个更大的、按来源隔离的开发参考,而不是让一张留出图承担验收。
Comments