优化时真正看到的 noisy RAW
下列图像是统一显示 ISP 后的预览。模型实际读取 camera-linear RGB;噪声在 Bayer RAW 域注入,clean counterpart 仅用于审计数据生成,不会进入训练 loss。
Vanilla 3DGS and a first noise-adaptive transfer-function prototype on RawNeRF / sharpshadow. This page separates two findings: noisy RAW does drive Gaussian proliferation and extreme anisotropy, while the current NTF implementation falls into a zero-gradient trap at black initialization.

关于问题本身:Vanilla 从 15,505 增长到 185,472 个 Gaussian,并形成大量极端细长 Gaussian,和 Raw3DGS 对 noisy RAW 的诊断一致。这个小场景已经能触发我们关心的 failure mode。
关于当前方法:NTF v0 的 96.5% “点数减少”不能视为成功;它输出全黑,在 7k 与 30k 的参数逐字节相同。当前结果只证明实现的零点梯度设计不适用于 3DGS 的黑色初始化。
整个场景有 36 个已配准视角。我们按照固定顺序每隔 8 张抽一张作为测试视角;其余视角只把合成 noisy RAW送入 3DGS。测试视角从未参与优化,并始终使用clean RAW作为评价目标。
下列图像是统一显示 ISP 后的预览。模型实际读取 camera-linear RGB;噪声在 Bayer RAW 域注入,clean counterpart 仅用于审计数据生成,不会进入训练 loss。
这些相机视角不参与训练,也不添加 synthetic noise。最终的 PSNR、SSIM 和 LPIPS 都把模型的新视角渲染与这些 clean 图像比较。
| Subset | Count | Image used by model/evaluator | Clean paired image |
|---|---|---|---|
| Train | 31 | Synthetic noisy RAW · participates in optimization | Stored for protocol inspection only; not used by loss |
| Test | 5 | Clean RAW · evaluation only | It is the test ground truth |
三组完整 clean/noisy/noise-map 配对在页面后面的 “Synthetic RAW-noise protocol” 中展开;五张测试图及其 Vanilla/NTF 渲染也在后文逐张展示。
| Method | Linear PSNR ↑ | Display PSNR ↑ | Linear SSIM ↑ | LPIPS ↓ | Gaussians | Status |
|---|---|---|---|---|---|---|
| Vanilla 3DGS · 30k | 26.1102 | 21.6608 | 0.8387 | 0.2567 | 185,472 | valid |
| NTF-GS v0 · SNR 10 dB | 12.1573 | 7.3857 | 0.2610 | 0.4755 | 6,477 | frozen / invalid |
Linear metrics use the standard Graphdeco evaluator on five clean held-out camera-linear RAW views. Display PSNR is recomputed after the same cam2rgb, clipping and sRGB mapping used below; Vanilla display-space SSIM is 0.5343, showing that the ISP makes residual color/high-frequency errors more visible than the linear PSNR suggests.
clamp(render, x_min) makes the transfer value finite but its derivative zero below the floor.This also explains why the earlier RealX3D run did not collapse: its initialization/rendering path had enough nonzero color support to escape the clamp floor. The RAW setup exposes a previously hidden optimization boundary condition.
This strongly matches the “thin / flat Gaussians absorb noise” hypothesis. However, it is not yet a complete causal measurement of excess growth because the clean-RAW Vanilla control has not been run. The next report should compare noisy Vanilla against clean Vanilla under identical cameras and schedule.
Click any image to inspect it at full resolution. Error maps show mean absolute camera-linear RGB error, clipped at 0.12 and rendered with an inferno color scale.
Noise is sampled before demosaic in normalized Bayer space using the iPhone X DNG NoiseProfile, multiplied by 64 for a strong first stress test. Clean and noisy variants share demosaic, downsampling, lens undistortion, quantization and display processing.
Suggested diagnostic ablations: projected-image color initialization and a 1k Vanilla warm start can verify the zero-gradient diagnosis, but neither should replace the main differentiable-transfer solution.
| Dataset | RawNeRF / sharpshadow · 36 iPhone X DNGs |
|---|---|
| Split | 31 noisy train · 5 clean held-out |
| Noise | variance = 64 × (3.28249e−5 × signal + 4.34317e−7), sampled in Bayer space |
| Geometry | Official COLMAP poses; OPENCV distortion converted consistently to 1008 × 756 PINHOLE |
| NTF effective luma model | shot = 4.99490e−4 · read std = 1.06341e−2 · target SNR = 10 dB |
| Artifacts | dataset manifest · Vanilla metrics · NTF metrics |
Related primary sources: RawNeRF · From Chaos to Clarity: 3DGS in the Dark.