feat(boxes): generate_boxes.py 的 --target 默认改为 label

框的类别应该来自人工归类(图片所在目录),分类模型只负责定位。原先默认 predicted,
框的类别取模型 top1 预测,模型分错的图会把错误类别写进标签:boxes_shap 那次预测与
目录一致率 0.9915,约 95 张图的类别因此是错的。

两种取值只在预测与目录不一致的图上有区别,其余图解释的是同一个 logit、框完全相同。
--target predicted 仍保留。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Shaun Zhou
2026-09-15 20:31:40 +08:00
co-authored by Claude Opus 5
parent 7dd0f89d18
commit 32e56cb230
3 changed files with 16 additions and 4 deletions
+3 -1
View File
@@ -557,7 +557,9 @@ runs/<name>/
`images/` 与 `labels/` 的对应关系符合本仓库的 YOLO 约定,所以 `FilmDefectDataset`
能直接读——这一步把分类的产出接回了检测训练链路。
热力图默认针对模型的 **top1 预测类别**;`--target label` 改用图片所在目录的标注类别。
热力图与框的类别默认取**图片所在目录的人工标注**(`--target label`)。类别的真值是人工归类,
分类模型只用来定位;改用 `--target predicted`(模型 top1 预测)时,模型分错的图框的类别也会跟着错。
两者只在预测与目录不一致的图上有区别——`boxes_shap` 那次是 0.85%,约 95 张。
`summary.json` 里的 `prediction_matches_folder_label` 记录两者的一致率(实测 0.987)。
### 两种方法的取舍