# EXP-3D-CAJU3D-SYSTEM4-HOLDOUT-V1:全新保留队列上的读出检验 **结论:`LEARNED_READOUT_PARTIAL`。** 在 52 个今晚之前从未准备、从未评测过的 ARKit 场所上: - **两个学到的读出都大幅改善 Core B**: - V2(按计划新训练):0.1462 → 0.0923,47/0/5; - V1(冻结):0.1462 → 0.0960,46/0/6。 - 均值的置信区间都不含 0,去掉任一场所后的估计全部为正。 - **为什么是 PARTIAL 而不是 SUPPORTED**:改善最多的一个场所贡献了超过一半的正向收益(52% 和 56%),没有通过 V2 判定的"头部占比 ≤ 0.5"检查。 - **卡尔曼式分箱表**:在第四批全新场所上再次复现,SUPPORTED。 ## 设计([PROTOCOL.md](PROTOCOL.md)) - **锁定顺序**: - 计划于 2026-10-14 22:39:36 锁定(sha256 `65dbce23…`),早于任何 SYSTEM4 数据准备; - V2 训练代码于 22:43:21 锁定; - 评估代码于 22:45:40 锁定,早于任何 SYSTEM4 预测。 - **队列 ARKIT_SYSTEM4**: - 来源:SYSTEM3 下载批次中从未准备过的 91 个扫描(批内第 269–359 位)。 - 用不变的基础规则准备(`scripts/prepare_rgbd_arkit_system4_cohort.py`),52 个合格,39 个不合格;没有下载任何数据。 - 片段与 Core B 的流程和 FULL-SYSTEM-V3 相同:臂评估器封存、V1 几何封存,以及 V1 的 ds_eval(发布版权重,100 步 TTT,GPU 4,4 个进程约 30 分钟)。 - **读出**: - CORE_B; - KF_BASE:KFUSE-V1 冻结的分箱表; - FUSE_V1:FUSENET-V1 冻结的三个 BASE 网络; - FUSE_V2:按计划的固定配方训练: - 已覆盖像素用 KF_BASE 的权重,只学未覆盖像素的修正; - 主干膨胀率为 1、2、4、8、16、1; - 训练数据为除 SYSTEM4 外的 458 个场所(SYSTEM、SYSTEM2、SYSTEM3、VAL、CAJU 场所),10% 作为验证集; - 3 个种子在 GPU 4 上共用 213 秒;验证集上从 KF_BASE 的 0.1006 降到 0.079–0.080。 - **盲评**:所有读出逐查询封存(readout_seal.json)之后,才经 TeacherAccess 读取 SYSTEM4 的真值;分析运行两次,逐字节一致。 ## 结果([holdout_results.json](results/holdout_results.json)) | 读出 | SYSTEM4 均值 | 对 Core B(正值表示更好) | 场所 好/平/坏 | 判定 | |---|---|---|---|---| | CORE_B | 0.14615 | — | — | — | | KF_BASE | 0.14265 | +0.00350 [+0.00178, +0.00585] | 42/0/10 | **SUPPORTED** | | FUSE_V1 | 0.09599 | +0.05016 [+0.01566, +0.11100] | 46/0/6 | PARTIAL(头部占比 0.56) | | **FUSE_V2** | **0.09228** | **+0.05387 [+0.01859, +0.11510]** | **47/0/5** | PARTIAL(头部占比 0.52) | - **其它对比**: - V1 − V2:+0.00371 [+0.00110, +0.00659],37/0/15,PARTIAL,V2 更好; - KF_BASE − V2:+0.05037,44/0/8,PARTIAL。 - **去掉任一场所后的范围**:P1 为 [+0.026, +0.055],P2 为 [+0.022, +0.051]。 - **像素级 AbsRel**: | 读出 | 已覆盖 | 未覆盖 | |---|---|---| | CORE_B | 0.0379 | 0.4348 | | KF_BASE | 0.0331 | 0.4348 | | FUSE_V1 | 0.0341 | 0.2612 | | FUSE_V2 | 0.0331 | 0.2501 | - **逐场所改善的分位数**: | 读出 | 最小 | 25% | 中位 | 75% | 最大 | |---|---|---|---|---|---| | FUSE_V2 | −0.014 | +0.003 | +0.014 | +0.038 | +1.48 | | FUSE_V1 | −0.015 | +0.001 | +0.011 | +0.031 | +1.47 | 最大的改善来自一个 Core B 严重出错的场所。 ## 解读 - **学到的读出在全新数据上成立,而且比以前的队列更一致**: - 90% 的场所变好,中位改善 +0.014,去掉任一场所后均值仍至少 +0.022。 - 只差在收益的头部集中度这一项检查上。 - **V2 的配方更好**:已覆盖像素交给冻结的分箱表、更大的感受野、更多训练数据(458 个场所)。它在每一项上都略好于 V1,变差的场所从 6 个降到 5 个。 - **卡尔曼式分箱表在四批场所上都成立**,约 2–2.5%。 - **综合四批场所**:Core B 最大的弱点是未覆盖区域的填充。一个只用到达数据和查询相机、同域训练的小网络,就能把那里的误差降低约 20–40%(SYSTEM4 上为 42%)。 ## 文件 - **代码**:`code/`。 - 根目录:`s4_make_root.py`; - V2 配方:`s4_v2.py`、`s4_v2_train.py`; - 读出封存:`s4_readouts.py`; - 打分:`s4_score.py`; - 任务:`s4_jobs.sh`。 - 数据准备脚本在 `scripts/prepare_rgbd_arkit_system4_cohort.py`。 - **记录**: - `audit/`:计划锁、代码锁、V2 模型哈希、链、两次分析的一致性; - 各封存的 JSON(臂、几何、ds、读出)。 - **结果**:`results/`、`scores/`。 - **不进 git**:预测数组(`*.npz`)和 V2 权重(`models_v2/`)。