PixSDS: Why Latent SDS Makes Noisy Pixels
Vsevolod Skorokhodov
cs.CV
2026-08-13
把 latent SDS 的结构性噪点归因于 VAE 编码器约束不到的像素方向上的漂移,解码一步前瞻 latent 当作干净方向修补梯度,BRISQUE 从 82 降到 12.9。
Score Distillation Sampling(SDS,得分蒸馏采样)用预训练扩散模型当先验,把渲染出的图像当优化变量,是 text-to-3D 的基础技术。现代管线几乎都在 latent 空间做蒸馏,于是常见一类顽固伪影:结构性色块、高频纹理噪声。此前解释多归咎于 3D 侧——网格提取、mipmap 采样、渲染器本身,修法也多半在渲染端打补丁。
单作者论文,EPFL 的 Vsevolod Skorokhodov 先做诊断,排除法三步:
病根由此定位:VAE 的隐空间到像素的逆映射是一个欠约束问题,很多视觉上迥异的图像编码出几乎相同的 latent。latent 目标只约束得住编码后的表示,优化变量可以沿着编码器约束薄弱的像素方向漂移,latent 一直干净,图像却在积累噪声。附录给了一个形式化版本:对一维卷积型目标,梯度下降可以把初始噪声很小的解推到噪声更大的解上。
修法叫 PixSDS,轻量到不改扩散模型、不改渲染器、不换 SDS 目标:每步先算标准 latent SDS 梯度,同时在 latent 空间往前走一步 β 再解码,得到图像 Ẑ,把 Ẑ - Z 当作干净的 VAE 一致方向,按像素归一化后叠加到 SDS 梯度上。关键设计是前瞻而非重建:若直接把图像拉向当前 latent 的解码结果,图像只会被拽回上一迭代;解码下一步才能既保住 SDS 的语义方向又抹掉噪声方向。消融实验证实了这一点,β=0 时图像干净但不真实。
2D 受控实验,stable-diffusion-2-base,MS-COCO 100 条标题,单卡 V100:
| 方法 | FID ↓ | BRISQUE ↓ | CLIP-IQA 噪声 ↓ |
| SDS | 431.9 | 82.1 | 0.031 |
| VSD | 321.5 | 85.8 | 0.104 |
| 2-step-SDS | 229.8 | 26.4 | 0.479 |
| PixSDS+SGD | 223.0 | 12.9 | 0.590 |
| 直接采样参考 | 190.9 | 12.0 | 0.655 |
PixSDS 在 SDS 系方法里 FID、BRISQUE、噪声三项最好,BRISQUE 从基线 SDS 的 82.1 降到 12.9,已接近直接采样参考的 12.0。3D 侧接入 DreamGaussian 第二阶段和 LucidDreamer,纹理更干净、漂浮高斯更少,未做细致调参也稳定见效;在 Stable Diffusion 3 上同样工作。
对 text-to-3D 从业者,PixSDS 是即插即用的梯度修补,十几行伪代码的量级,不动管线就能降噪。更有价值的是诊断本身:它把伪影成因从「渲染器的锅」搬到「VAE 几何的锅」,说明任何经过 VAE 逆映射做优化的方法(latent 优化、inversion 类任务)都有同样的病,设计蒸馏目标时需要把 VAE 的核空间当一等公民考虑。单作者做到诊断加修法加跨模型验证,完成度不低。
3D 侧只有定性对比图,没有 CLIPScore 或用户研究之类的定量指标,说服力弱于 2D 部分。LucidDreamer 实验里作者自己承认白发钢铁侠的属性没保住,β 需要按管线调(LucidDreamer 里 β 取 100 倍学习率)。2D 的直接采样参考在 FID 上仍领先所有 SDS 系方法,这本来不是同类比较,但提醒 SDS 优化与直接采样之间仍有实质差距。诊断部分依赖「解码 latent 干净」这一视觉判断,没有给出定量的噪声度量。