# EXP-3D-CAJU3D-JEPAGATE-V1:CAJU-3D 第二步——JEPA 潜空间创新能否挑出更值得排除的测量 **结论:`STOP_AT_DEV`。** - **没有挑法超过 Core B**:在 Core B 的 TTT 中,每个片段从深度项剔除 10% 的测量像素。四种挑法都没有超过不剔除(Core B)。 - **JEPA 最差**:比 Core B 差 0.00027 [−0.00040, −0.00016],24 个场所中 21 个变差,判定 HARMFUL。它也显著差于随机挑(20/0/4)。 - **方案的前提不成立**:方案假设"逆向 JEPA 的结构创新能识别出误导 TTT 的测量",这里不成立。 - 即使剔除跨视角最不一致的 10% 测量,也没有改善未来查询;随机剔除则完全无害。也就是说,TTT 在这里不需要防范误导性测量。 - JEPA 创新高的像素同时带有外观变化和一定的深度不一致,而且成片分布;剔除它们只是去掉了有效的几何监督。 ## 设计([PROTOCOL.md](PROTOCOL.md),2026-10-14 20:37:12 锁定,sha256 `82d86a50…`) - **问题**:方案的核心假设是"逆向 JEPA 的结构预测能把视角伪影残差和真实几何误差分开"。如果成立,JEPA 的潜空间创新应该比纯几何的跨视角一致性更会挑"不该拿来更新的测量"。 - **底座**:Core B(发布版权重、7 视角 CACHE、原始 TTT 100 步、Core B 读出)。只改一件事:每个片段从 TTT 深度项中剔除 10% 的有效测量像素。 - **四种挑法**(剔除比例相同): - JEPA:修正版逆向 H-JEPA 的留一归一化潜空间创新,即 (z − ẑ)² 的通道平均除以 P; - DEPTH:跨视角测量深度不一致,是最强的非 JEPA 对照; - INC:1 − 入射角/深度跳变权重(第一步的定义); - RANDOM:按片段种子随机挑,作为空对照。 - **修正版 H-JEPA**(锁定前训练、冻结): - 源视角的潜特征用自己的测量深度反投影,变换到目标相机,再 z-buffer 到目标潜网格。这一步替代了代码包里按像素序号混合的做法。 - 预测器输出 ẑ 和 log P,损失是高斯 NLL 加标准差下限,目标编码器是 EMA。 - 训练:ARKit TRAIN 182 个场所,3 万步,batch 8,6 个源视角,lr 1e-3,seed 20261016,在 GPU 4 上用 674 秒。 - 监控集(ARKit DEV 8 个场所)上的最终校准:log 误差与 log P 的相关为 0.78,说明预测方差有意义。 - **排练**(锁定前,2 个片段,5 个臂): - 不剔除任何像素的 NONE 臂与已封存的 Core B 一致:读出相对差异中位数 5.5e-5、均值 3.2e-4,覆盖率相差不到 0.0003。 - 门控臂相对 NONE 的差异均值为 2.6e-3 到 4.5e-3,是 GPU 非确定性的 8–14 倍。 - 每种挑法都恰好剔除 10%。 - **GO 规则**:只有当 GATE_JEPA 的开发集均值同时低于 CORE_B 和 GATE_DEPTH 时,才做确认。 - **完整性**: - 每个片段审计打开过的文件,只用到达帧; - 复用的封存逐文件核对哈希; - 真值只在全部预测封存之后经 TeacherAccess 读取; - 13 个测试通过。 ## 结果(开发集,24 个场所、48 个片段,Core B 读出;[dev_summary.txt](results/dev_summary.txt)) | 臂 | AbsRel | 对 Core B(正值表示比 Core B 好) | 场所 好/平/坏 | 判定 | |---|---|---|---|---| | **CORE_B(不剔除)** | **0.09902** | — | — | — | | GATE_RANDOM | 0.09904 | −0.00002 [−0.00007, +0.00003] | 12/0/12 | NOT_ESTABLISHED | | GATE_DEPTH | 0.09910 | −0.00008 [−0.00023, +0.00007] | 9/0/15 | NOT_ESTABLISHED | | GATE_INC | 0.09925 | −0.00023 [−0.00051, +0.00000] | 8/0/16 | NOT_ESTABLISHED | | GATE_JEPA | 0.09929 | −0.00027 [−0.00040, −0.00016] | 3/0/21 | HARMFUL | | ZS_CACHE(不做 TTT) | 0.10255 | −0.00353 [−0.00641, −0.00133] | 7/0/17 | HARMFUL | - **JEPA 对其它挑法**: - DEPTH 比 JEPA 好 0.00019 [−0.00000, +0.00040],17/0/7。 - RANDOM 比 JEPA 好 0.00025 [+0.00012, +0.00041],20/0/4,判定 SUPPORTED。 - **只看 TTT 读出(F7)**:排序相同。CORE_B 0.09759 = RANDOM 0.09759 < DEPTH 0.09764 < INC 0.09790 < JEPA 0.09805。 - **查询视角覆盖率**:CORE_B 0.7494,RANDOM 0.7483,DEPTH 0.7484,INC 0.7473,JEPA 0.7469。 ## 机制:各挑法剔除的是什么像素([dev_dropped_profile.txt](results/dev_dropped_profile.txt)) 只读到达帧,不读真值。剔除集合与正式运行逐个片段完全一致。 | 被剔除像素的特征 | 全部有效像素 | JEPA | DEPTH | INC | RANDOM | |---|---|---|---|---|---| | 没有其它视角覆盖的比例 | 0.369 | 0.366 | 0 | 0.404 | 0.370 | | 入射角余弦 | 0.708 | 0.658 | 0.614 | 0.221 | 0.708 | | 深度跳变边缘的比例 | 0.016 | 0.043 | 0.058 | 0.164 | 0.016 | | JEPA log P | −0.89 | −1.07 | −0.80 | −0.45 | −0.89 | | JEPA log 潜误差 | −1.28 | +0.33 | −0.83 | −0.59 | −1.28 | | 跨视角深度不一致(有覆盖处) | 0.108 | 0.285 | 0.490 | 0.189 | 0.107 | | 跨视角光度不一致(有覆盖处) | 0.074 | 0.126 | 0.112 | 0.101 | 0.074 | | 邻居也被剔除的比例(成片程度) | — | 0.83 | 0.75 | 0.72 | 0.10 | - **JEPA 创新主要由潜误差决定**:前 10% 的潜误差约为平均的 5 倍,而 P 反而略低。log ν 与 log 潜误差的相关为 0.53,与 log P 的相关为 −0.12,所以 P 归一化几乎没有起作用。 - **JEPA 挑中的不是几何误差**:这些像素的深度不一致只有 DEPTH 所挑的一半多(0.28 对 0.49),光度不一致却最高(0.126)。潜空间创新把外观变化和几何不一致混在一起。 - **JEPA 的剔除最成片**:成片程度 0.83,整块区域失去深度监督,所以查询覆盖率下降最多。 - **DEPTH 剔除的确实是深度不一致的测量,但也无益**:对未来查询来说,这些测量并不误导 TTT。 ## 解读与注意 - **TTT 在这里不需要防范误导性测量**: - 随机剔除 10% 无害,说明 TTT 的监督有冗余。 - 剔除最不一致的 10% 也没有收益,说明没有一类测量在误导 TTT。 - 方案要解决的"残差误判"在 ARKit LiDAR 上不是瓶颈。 - **真值和测量来自同一个传感器**(ARKit LiDAR 低分辨率深度): - 各视角一致的传感器误差,这个评测看不出来。 - 结论只针对随视角变化的误差,而这正是方案针对的对象("视角冲突残差")。 - **对 CAJU-3D 的意义**: - 三个核心机制都已在这个底座上检验过,都没有收益: - 何时更新:Gate 0,可学的空间很小; - 引擎改动:第一步; - 用 JEPA 挑测量:本实验。 - 剩下的卡尔曼软掩码 M_pos 用的是同样的信息(JEPA 的 Δz 和 P、入射角)。按本实验的结果,没有理由期待它有收益。 ## 文件 - **代码**:`code/`。 - 修正版 H-JEPA:`hjepa.py`、`train_hjepa.py`; - 分数与门控:`gates.py`; - GPU 回放:`gate_ttt.py`; - 打分与判定:`gate_score.py`; - 锁定:`gate_lock.py`; - 任务与链:`gate_jobs.sh`、`gate_chain.sh`; - 排练核对:`gate_rehearsal_check.py`; - 测试:`test_*.py`。 - **描述性分析**:`analysis/`。`gate_summary.py` 生成全部两两对比,`gate_dropped_profile.py` 生成剔除像素的特征。 - **记录**: - `preregistration.json`、`decision.json`; - `audit/`:锁定、排练核对、决策哈希、训练代码哈希; - `model/train_log.json`:训练参数和监控曲线。 - 模型权重 `model/hjepa_final.pth`(2.35 MB)由 ARKitScenes 训练,不进 git,其 sha256 记在 preregistration.json。 - **预测**:`gate/` 下的封存预测不进 git。