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_officialB_full_rerun:/home/yyao/lsy/agent-base-linux-codex/runs/validation_eval/qwen3_5_35b_a3b_exp_b_attr_rerun_20260501_174649_max12000_streamB_old_occlusion_only:/home/yyao/lsy/agent-base-linux-codex/runs/validation_eval/qwen3_5_35b_a3b_ablation_occlusion_only_tp4_20260501_2058B_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
每张图包含:
- GT。
- A official。
- B full rerun。
- B old +
occlusion_only。 - B-lite dataset。
建议优先查看前 10 张,它们在多个实验中都被标为高风险,适合判断密集目标、误检、漏检和成熟度错误的主要来源。
人工复核结果
人工复核记录见:
docs/reviews/people/validation_error_analysis_20260524.mddocs/reviews/people/validation_error_analysis_20260524_summary.md
人工复核前 10 张最高风险图后,当前结论需要修正:
- 多数高风险样本中的 GT 存在明显漏标,尤其是密集、遮挡和小目标番茄。
- 模型多出来的框基本没有明显多框或重复框问题,很多更像是真实番茄候选。
- B-lite 在前 5 张高风险密集图中最接近人工判断。
- A official 在部分图像上仍更稳,尤其 006、007、008、010。
- 当前自动评估中的 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
下一步
- 人工优先查看
runs/analysis/missing_label_candidates_20260524/preview_images/中 support=4 和 support=3 的候选。 - 建立 Gold v1 Review 层,保留 Gold v1 不变,避免破坏数据可追溯性。
- 用
SemanticVerifier对候选框做番茄性、成熟度和遮挡验证。 - 基于 accepted 候选构建 Gold v2 Candidate。
- 在 review-adjusted GT 形成前,不建议继续训练新的长文本属性增强模型。