Identity-preserving Distillation Sampling by Fixed-Point Iterator¶
会议: CVPR 2025
arXiv: 2502.19930
代码: https://github.com/shhh0620/IDS
领域: 3d_vision / image_generation
关键词: score distillation, image editing, NeRF editing, identity preservation, fixed-point iteration, DDS
一句话总结¶
提出 Identity-preserving Distillation Sampling (IDS),通过不动点迭代正则化(FPR)修正文本条件分数函数中导致身份丢失的梯度误差,生成引导噪声替代随机噪声,在 2D 图像编辑和 3D NeRF 编辑中实现结构和姿态的高度保持。
研究背景与动机¶
领域现状: Score Distillation Sampling (SDS) 通过蒸馏预训练扩散模型的分数函数,实现文本驱动的 3D 生成和图像编辑。Delta Denoising Score (DDS) 通过减去源-目标分数差来缓解 SDS 的模糊问题。
现有痛点: (1) SDS 的随机噪声导致梯度方向不稳定,结果过度饱和和模糊;(2) DDS 虽然能减少非文本对齐特征的噪声,但文本条件分数 \(\epsilon_\phi^{src}\) 本身并不精确指向源图像,导致累积误差丢失源的身份信息(如背景、姿态、结构);(3) CDS 和 PDS 试图最大化互信息来保持一致性,但未分析分数本身的固有误差。
核心矛盾: 文本条件分数 \(\epsilon_\phi^{src}\) 被期望提供从噪声潜变量到源图像的梯度方向,但实际上文本提示可以对应无数不同图像,因此分数指向的后验均值 \(\mathbf{z}_{0|t}^{src}\) 与源图像 \(\mathbf{z}^{src}\) 存在显著差异(特别在 \(t\) 较大时)。这种错误累积导致编辑结果的结构性变化。
本文切入角度: 从数值分析中的不动点迭代出发,通过迭代修正源潜变量使分数函数精确对齐到源图像,从根本上解决梯度误差问题。
方法详解¶
整体框架¶
- 采样随机噪声 \(\epsilon\) 和时间步 \(t\),构建源潜变量 \(\mathbf{z}_t^{src}\)
- 运行 FPR: 迭代更新 \(\mathbf{z}_t^{src}\) 使后验均值 \(\mathbf{z}_{0|t}^{src}\) 逼近源图像 \(\mathbf{z}^{src}\)
- 从优化后的 \(\mathbf{z}_t^{src*}\) 提取引导噪声 \(\epsilon^*\)
- 用 \(\epsilon^*\) 替代随机噪声构建目标潜变量 \(\mathbf{z}_t^{trg*}\),计算 IDS 更新方向
关键设计¶
1. 不动点迭代正则化(FPR) - 功能: 通过迭代更新源潜变量 \(\mathbf{z}_t^{src}\),使得由 Tweedie 公式计算的后验均值与源图像一致。 - 核心公式: - 后验均值: \(\mathbf{z}_{0|t}^{src} = \frac{1}{\sqrt{\alpha_t}}(\mathbf{z}_t^{src} - \sqrt{1-\alpha_t} \epsilon_\phi^{src})\) - FPR 损失: \(\mathcal{L}_{FPR} = d(\mathbf{z}^{src}, \mathbf{z}_{0|t}^{src})\)(欧氏距离) - 更新: \(\mathbf{z}_t^{src} \leftarrow \mathbf{z}_t^{src} - \lambda \nabla_{\mathbf{z}_t^{src}} \mathcal{L}_{FPR}\) - 迭代 N 次: 每次更新后重新计算 CFG 分数 \(\epsilon_\phi^{src}\) 和后验均值 - 设计动机: 如果分数正确估计为指向 \(\mathbf{z}^{src}\) 的梯度,后验均值应包含源图像的充分信息。通过最小化两者差异来"修正"分数。 - 为什么更新潜变量而非噪声: 实验发现更新 \(\mathbf{z}_t^{src}\) 能保留更多内容细节(因为分数以潜变量为输入)。
2. 引导噪声替代随机噪声 - 功能: FPR 收敛后,从优化的 \(\mathbf{z}_t^{src*}\) 反解引导噪声 \(\epsilon^* = \frac{1}{\sqrt{1-\alpha_t}}(\mathbf{z}_t^{src*} - \sqrt{\alpha_t}\mathbf{z}^{src})\) - 核心思路: 引导噪声 \(\epsilon^*\) 不再是随机高斯噪声,而是"对齐到源图像身份的结构化噪声";用它来生成目标潜变量 \(\mathbf{z}_t^{trg*}\),使梯度方向包含身份一致性约束。 - 设计动机: DDS 中源和目标共享同一随机 \(\epsilon\),但 \(\epsilon\) 是无约束的,可能指向任意方向;\(\epsilon^*\) 经过 FPR 修正后隐含了源图像的身份信息。
3. IDS 更新规则 - 功能: 用修正后的潜变量替代 DDS 中的原始潜变量: $\(\nabla_\theta \mathcal{L}_{IDS} = \mathbb{E}_{t,\epsilon}[(\epsilon_\phi^\omega(\mathbf{z}_t^{trg*}, y^{trg}, t) - \epsilon_\phi^\omega(\mathbf{z}_t^{src*}, y^{src}, t)) \frac{\partial \mathbf{z}^{trg}}{\partial \theta}]\)$ - 可逆性验证: IDS 编辑后的图像可以通过逆向编辑完美恢复到源图像(DDS 无法做到),证明梯度方向被正确修正。
损失函数¶
- FPR: \(\mathcal{L}_{FPR} = \|\mathbf{z}^{src} - \mathbf{z}_{0|t}^{src}\|_2^2\)
- 编辑: 使用 IDS 梯度更新目标图像/NeRF 参数
- 超参: \(\lambda\) 控制 FPR 正则化强度,N 控制迭代次数(通常 N=3)
实验关键数据¶
主实验 — 图像编辑¶
结构保持指标(LPIPS↓越低越好):
| 方法 | cat→pig LPIPS↓ | cat→squirrel LPIPS↓ | IP2P LPIPS↓ | IP2P PSNR↑ |
|---|---|---|---|---|
| P2P | 0.42 | 0.46 | 0.47 | 20.88 |
| PnP | 0.52 | 0.52 | 0.39 | 23.81 |
| DDS | 0.28 | 0.30 | 0.24 | 26.02 |
| CDS | 0.25 | 0.26 | 0.21 | 27.35 |
| IDS | 0.22 | 0.24 | 0.19 | 29.25 |
用户偏好与 GPT 评分:
| 方法 | 文本对齐↑ | 身份保持↑ | 质量↑ | GPT-Text↑ | GPT-Preserve↑ |
|---|---|---|---|---|---|
| DDS | 20.30% | 10.82% | 16.23% | 7.60 | 7.51 |
| CDS | 17.02% | 16.72% | 17.08% | 8.26 | 8.00 |
| IDS | 43.83% | 60.49% | 51.67% | 8.97 | 9.00 |
NeRF 编辑¶
| 方法 | CLIP↑ | 文本偏好↑ | 保持偏好↑ | 质量偏好↑ |
|---|---|---|---|---|
| DDS | 0.1596 | 36.88% | 28.37% | 32.62% |
| CDS | 0.1597 | 22.70% | 23.40% | 21.28% |
| IDS | 0.1626 | 40.42% | 48.23% | 46.10% |
消融实验 — 计算复杂度¶
| 设置 | LPIPS↓ | CLIP↑ | Time(s/img) | Memory(GB) |
|---|---|---|---|---|
| DDS (200步) | 0.240 | 0.293 | 22.45 | 6.27 |
| CDS (200步) | 0.210 | 0.287 | 59.31 | 8.83 |
| IDS (200步, FPR=3) | 0.190 | 0.277 | 107.77 | 8.63 |
| IDS (100步, FPR=3) | 0.165 | 0.265 | 54.04 | 8.63 |
关键发现¶
- 身份保持大幅提升: IDS 在用户偏好的"身份保持"维度获得 60.49%(vs DDS 10.82%),改进极其显著。
- 可逆性: IDS 编辑→逆编辑可以几乎完美恢复源图像,DDS 无法做到,证明梯度方向被正确修正。
- FPR 迭代次数的权衡: 仅需 N=3 次迭代即可获得显著效果,增加迭代次数收益递减但计算成本线性增加。
- 对 NeRF 编辑同样有效: 3D 场景编辑对一致性要求更高,IDS 的结构保持优势在 3D 中更加明显(深度图也更干净)。
- 收敛性更好: IDS 100 步即可超越 DDS 200 步的效果,总计算量低于 CDS。
亮点与洞察¶
- 从数值分析视角(不动点迭代)切入解决扩散模型编辑中的身份保持问题,理论基础扎实
- 可逆性测试是非常漂亮的验证方式:如果编辑→逆编辑能完美恢复,说明梯度方向无误
- 引导噪声替代随机噪声的设计直觉清晰:不是添加更多约束,而是从根本上修正误差来源
- 对文本条件分数"为什么不精确"的分析透彻:后验均值 vs 源图像的差异随时间步增大可视化地展示了问题
局限与展望¶
- FPR 的 N 次迭代导致计算开销增加(每次迭代需要额外的 diffusion model 前向传播)
- 依赖 DDS 框架,继承了其对文本提示对质量的依赖
- 仅在 Stable Diffusion v1.5 上实验,未验证对更新的模型(如 SDXL、FLUX)的适用性
- 超参 \(\lambda\) 对结果敏感,过大导致过度保持(不编辑),过小则退化为 DDS
- 缺乏对大尺度编辑(如改变物体类别和场景结构)的讨论
相关工作与启发¶
- SDS (DreamFusion): 分数蒸馏的开创性工作,但梯度噪声导致模糊
- DDS: 通过源-目标差分减少噪声,但未解决分数误差的根本问题
- CDS/PDS: 通过互信息最大化保持一致性,但计算开销大且效果有限
- 启发: 扩散模型中"分数函数不精确"是一个被低估的问题,不动点迭代提供了一个通用的修正框架
评分¶
⭐⭐⭐⭐ — 理论分析深入、方法动机清晰、实验验证充分(图像+NeRF+用户研究+可逆性测试),是 SDS 系列方法的重要改进;计算开销增加是主要代价。
相关论文¶
- [ICCV 2025] Identity Preserving 3D Head Stylization with Multiview Score Distillation
- [CVPR 2025] MICAS: Multi-grained In-Context Adaptive Sampling for 3D Point Cloud Processing
- [CVPR 2025] Feature-Preserving Mesh Decimation for Normal Integration
- [CVPR 2025] 3D Dental Model Segmentation with Geometrical Boundary Preserving
- [CVPR 2025] Gaussian Splatting Feature Fields for Privacy-Preserving Visual Localization