agent-l / docs /analysis /error_analysis_20260524.md
zhou777's picture
Add files using upload-large-folder tool
0525670 verified
|
Raw
History Blame Contribute Delete
9.54 kB
# Error Analysis 2026-05-24
本文档汇总 A official、B full、B-lite 和 B old + `occlusion_only` 的同口径逐图错误分析。
当前目标是先判断语义信息在什么场景帮助主任务、在什么场景伤害主任务,再决定是否继续训练新模型。
## 输入运行
- `A_official`: `/home/yyao/lsy/agent-base-linux-codex/runs/validation_eval/qwen3_5_35b_a3b_exp_a_official`
- `B_full_rerun`: `/home/yyao/lsy/agent-base-linux-codex/runs/validation_eval/qwen3_5_35b_a3b_exp_b_attr_rerun_20260501_174649_max12000_stream`
- `B_old_occlusion_only`: `/home/yyao/lsy/agent-base-linux-codex/runs/validation_eval/qwen3_5_35b_a3b_ablation_occlusion_only_tp4_20260501_2058`
- `B_lite_dataset`: `/home/yyao/lsy/agent-base-linux-codex/runs/validation_eval/qwen3_5_35b_a3b_exp_b_lite_v0_20260504_2206_dataset`
## 总体指标
| Run | Precision | Recall | F1 | Avg IoU | Maturity Acc | Occlusion Acc | Pred | Matched | Risk Cases | Mean Risk |
|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
| A_official | 0.9145 | 0.8857 | 0.8999 | 0.9074 | 0.9408 | 0.0 | 1076 | 984 | 20 | 1.5859 |
| B_full_rerun | 0.8668 | 0.9253 | 0.8951 | 0.9033 | 0.8998 | 0.7463 | 1186 | 1028 | 20 | 1.8125 |
| B_old_occlusion_only | 0.9046 | 0.9046 | 0.9046 | 0.906 | 0.9107 | 0.6975 | 1111 | 1005 | 20 | 1.5547 |
| B_lite_dataset | 0.876 | 0.9091 | 0.8922 | 0.904 | 0.8909 | 0.7351 | 1153 | 1010 | 20 | 1.875 |
## 初步结论
- 当前 F1 最好的口径是 `B_old_occlusion_only`,F1 为 `0.9046`
- 当前遮挡属性最好的口径是 `B_full_rerun`,occlusion acc 为 `0.7463`
- 当前成熟度准确率最高的是 `A_official`,maturity acc 为 `0.9408`
- B-lite 能学习遮挡属性,但没有超过 A official 的检测和成熟度基线,说明语义信息不宜继续以长文本输出形式直接压到检测任务上。
- 下一阶段应优先把语义用于后验验证、风险筛选和伪标签过滤。
## 错误标签分布
| Error Tag | Image Count |
|---|---:|
| `bbox_alignment_risk` | 14 |
| `dense_scene_sensitive` | 36 |
| `maturity_error_risk` | 61 |
| `occlusion_error_risk` | 77 |
| `possible_false_positive` | 71 |
| `possible_missed_detection` | 67 |
## Risk Case 重叠
| Run | Risk Case Count |
|---|---:|
| `A_official` | 20 |
| `B_full_rerun` | 20 |
| `B_old_occlusion_only` | 20 |
| `B_lite_dataset` | 20 |
Risk case 被多个实验同时命中的分布:
| 命中实验数 | 图像数 |
|---:|---:|
| 1 | 10 |
| 2 | 12 |
| 3 | 10 |
| 4 | 4 |
## 最高风险样本
| Image Key | Max Risk | Risk Runs | Error Tags | Best F1 | Worst F1 |
|---|---:|---:|---|---|---|
| `IMG_20191215_112843_jpg.rf.0e020631b2ff9bf178eefcc9e309b875_orig.jpg` | 8 | 4 | `bbox_alignment_risk`, `dense_scene_sensitive`, `maturity_error_risk`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | B_full_rerun | B_lite_dataset |
| `IMG_1187_jpg.rf.3d3e2bc9c31942b052ed4cb4889546cd_orig.jpg` | 7 | 4 | `bbox_alignment_risk`, `dense_scene_sensitive`, `possible_false_positive`, `possible_missed_detection` | B_old_occlusion_only | A_official |
| `IMG_1242_jpg.rf.26200c8f2c2a985094bb5d3c03b5e754_orig.jpg` | 7 | 4 | `dense_scene_sensitive`, `maturity_error_risk`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | A_official | B_lite_dataset |
| `IMG_20191215_112604_jpg.rf.818f95a56efa2cb722edacc3af26c09d_orig.jpg` | 7 | 4 | `bbox_alignment_risk`, `dense_scene_sensitive`, `maturity_error_risk`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | A_official | B_full_rerun |
| `IMG_20191215_112836_jpg.rf.8a499c79911328bb6879fa58c10768ed_orig.jpg` | 7 | 4 | `dense_scene_sensitive`, `possible_false_positive`, `possible_missed_detection` | B_full_rerun | A_official |
| `IMG_20191215_112909.jpg` | 7 | 4 | `dense_scene_sensitive`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | A_official | B_old_occlusion_only |
| `IMG20211230170257_00_jpg.rf.9c0fcbc6329d4bc4bb29a19b21ffc3d5.jpg` | 7 | 3 | `maturity_error_risk`, `possible_false_positive`, `possible_missed_detection` | B_lite_dataset | B_full_rerun |
| `IMG20211226161001_00_jpg.rf.c7c10a7d94dd5b7df7bd0950509d592d.jpg` | 6 | 4 | `maturity_error_risk`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | A_official | B_old_occlusion_only |
| `IMG20211226162202_00_jpg.rf.9aa4e47e9ee261e02716a19550c8a344.jpg` | 6 | 4 | `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | A_official | B_full_rerun |
| `IMG_20191215_112617_jpg.rf.b1a388efd223e03fec31d3df9f5f437b.jpg` | 6 | 4 | `possible_false_positive`, `possible_missed_detection` | B_full_rerun | A_official |
| `IMG20211226160908_00_jpg.rf.8c697b77eb53b1c176486e3a1fb26f14.jpg` | 6 | 3 | `bbox_alignment_risk`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | B_full_rerun | B_lite_dataset |
| `IMG20211226163021_00_jpg.rf.7b50dd7bb9ffd12705c288a75a722823.jpg` | 5 | 4 | `maturity_error_risk`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | A_official | B_full_rerun |
| `IMG20211230174505_00_jpg.rf.96444d7eb331967fac99820ddce4fbaa.jpg` | 5 | 4 | `dense_scene_sensitive`, `maturity_error_risk`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | B_full_rerun | B_old_occlusion_only |
| `IMG_1130_jpg.rf.e742c27f51bcd188352761cc173d0b8a_orig.jpg` | 5 | 4 | `dense_scene_sensitive`, `maturity_error_risk`, `possible_false_positive`, `possible_missed_detection` | B_lite_dataset | A_official |
| `IMG_1139_jpg.rf.8757303148dc7b66106fd3e641459fd8_orig.jpg` | 5 | 4 | `bbox_alignment_risk`, `dense_scene_sensitive`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | B_full_rerun | B_old_occlusion_only |
| `IMG_20191215_111017_jpg.rf.83704e10824aba4c89b1854ea5f73fd3.jpg` | 5 | 4 | `dense_scene_sensitive`, `maturity_error_risk`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | B_full_rerun | A_official |
| `IMG_20191215_111513_jpg.rf.f2e996d41716becea631c4d684f7dd7b.jpg` | 5 | 4 | `maturity_error_risk`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | A_official | B_full_rerun |
| `IMG_20191215_111949_jpg.rf.87f750340c92125f381ac94487d8a9ff.jpg` | 5 | 4 | `bbox_alignment_risk`, `dense_scene_sensitive`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | B_full_rerun | A_official |
| `IMG_20191215_112325.jpg` | 5 | 4 | `dense_scene_sensitive`, `maturity_error_risk`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | A_official | B_old_occlusion_only |
| `IMG_20191215_112339_jpg.rf.f2737ec8f97d2af58f42249a0b6a4f73_orig.jpg` | 5 | 4 | `dense_scene_sensitive`, `occlusion_error_risk`, `possible_false_positive`, `possible_missed_detection` | A_official | B_lite_dataset |
## 人工复核图
已导出最高风险 Top 30 样本的五联对比图:
- 输出目录:`runs/analysis/validation_error_analysis_20260524/visual_review_images/`
- 高清 300 DPI 输出目录:`runs/analysis/validation_error_analysis_20260524/visual_review_images_300dpi/`
- 说明文件:`runs/analysis/validation_error_analysis_20260524/visual_review_images/README.md`
- manifest:`runs/analysis/validation_error_analysis_20260524/visual_review_images/manifest.jsonl`
每张图包含:
1. GT。
2. A official。
3. B full rerun。
4. B old + `occlusion_only`
5. B-lite dataset。
建议优先查看前 10 张,它们在多个实验中都被标为高风险,适合判断密集目标、误检、漏检和成熟度错误的主要来源。
## 人工复核结果
人工复核记录见:
- `docs/reviews/people/validation_error_analysis_20260524.md`
- `docs/reviews/people/validation_error_analysis_20260524_summary.md`
人工复核前 10 张最高风险图后,当前结论需要修正:
1. 多数高风险样本中的 GT 存在明显漏标,尤其是密集、遮挡和小目标番茄。
2. 模型多出来的框基本没有明显多框或重复框问题,很多更像是真实番茄候选。
3. B-lite 在前 5 张高风险密集图中最接近人工判断。
4. A official 在部分图像上仍更稳,尤其 006、007、008、010。
5. 当前自动评估中的 false positive 可能包含大量 GT 漏标候选,因此 precision 可能被低估。
因此,下一步应优先推进漏标候选挖掘和 Gold v1 重审,而不是直接把模型多框解释为误检。
## 漏标候选挖掘结果
已基于 A official、B full rerun、B old + `occlusion_only`、B-lite dataset 的预测结果生成漏标候选:
- 脚本:`pipelines/mine_missing_label_candidates.py`
- 文档:`docs/analysis/missing_label_candidates_20260524.md`
- 输出目录:`runs/analysis/missing_label_candidates_20260524/`
结果摘要:
- 原始 unmatched prediction:`449`
- 聚类后候选:`227`
- 含候选图像数:`64`
- 四模型共同支持候选:`22`
- 三模型共同支持候选:`46`
## 下一步
1. 人工优先查看 `runs/analysis/missing_label_candidates_20260524/preview_images/` 中 support=4 和 support=3 的候选。
2. 建立 Gold v1 Review 层,保留 Gold v1 不变,避免破坏数据可追溯性。
3.`SemanticVerifier` 对候选框做番茄性、成熟度和遮挡验证。
4. 基于 accepted 候选构建 Gold v2 Candidate。
5. 在 review-adjusted GT 形成前,不建议继续训练新的长文本属性增强模型。