官网:https://cassiepython.github.io/clipnerf/
利用对比语言-图像预训练(CLIP)模型的联合语言-图像嵌入空间,提出了一个统一的框架,可以用短文本提示或示例图像以用户友好的方式操纵NeRF。改论文结合NeRF的新视图合成能力和生成模型潜表示的可控操纵能力,提出一种解缠的条件NeRF架构,允许对形状和外观进行单独控制。
解缠的条件NeRF架构通过将学到的变形场应用于位置编码来执行形状调节,并将颜色调节推迟到体绘制阶段来实现的
为将这种解耦的潜表示与CLIP嵌入联系起来,设计了两个code mapper,以CLIP嵌入为输入,并更新潜代码以反映目标编辑
同时提出了一种逆向优化方法,可准确地将输入图像投影到潜代码中进行操作,以实现对真实图像的编辑
贡献点:
建立在原始的每个场景NeRF之上,conditional NeRF service作为特定对象类别的生成模型,以专门控制形状和外观的潜向量为条件。conditional NeRF表示为一个连续的体函数 F θ F_θ Fθ,它将5D坐标(空间位置 X (x, y, z)和视图方向V(φ, θ)),以及形状代码 z s z_s zs 和外观代码 z a z_a za 映射到体密度 σ 和依赖于视图的辐射度 c(r, g, b),由多层感知器(MLP)参数化。
conditional NeRF容易受到形状和外观条件之间的相互干预,例如,操纵形状代码也可能导致颜色变化,为此论文提出解缠条件NeRF架构,通过适当解缠条件机制来实现对形状和外观的单独控制
不直接将潜在形状代码连接到编码位置特征,而是通过对输入位置的显式体积变形来制定形状条件。
这种条件形状变形不仅提高了操纵的鲁棒性,而且通过正则化输出形状为基本形状的平滑变形,尽可能地保留了原始形状的细节,更重要的是完全隔离了形状条件对外观的影响
shape deformation network Γ : ( x , z s ) → Δ x \Gamma : (x,z_s) \to \Delta x Γ:(x,zs)→Δx,将位置x 和输入 z s z_s zs 投射到与位置编码 Γ ( x ) \Gamma(x) Γ(x) 的每个带对应的位移向量 Δ x ∈ R 3 × 2 m Δx∈R^{3×2m} Δx∈R3×2m
deformed positional encoding Γ ∗ ( P , z s ) = { γ ∗ ( p , Δ p ) ∣ p ∈ P , Δ p ∈ Γ ( p , z s ) } \Gamma^*(P,z_s) = \{ \gamma^*(p,\Delta p) | p \in P, \Delta p \in \Gamma(p,z_s) \} Γ∗(P,zs)={γ∗(p,Δp)∣p∈P,Δp∈Γ(p,zs)}
标量p和向量 Δ p ∈ R 2 m Δp∈R^{2m} Δp∈R2m 与 p 和 Δp 属于同一轴,双曲正切函数 tanh(·)将位移约束在[- 1,1]范围内,以避免大运动带来的局部极值,提高训练鲁棒性。
将外观代码与视图方向连接起来作为辐射度预测网络的输入,允许在不接触形状信息(即密度)的情况下操纵外观
以conditional NeRF作为生成器,为避免同时优化每个目标样本的形状和外观代码,这往往是通用的和耗时的,采用一种前馈方法,直接从输入文本提示更新条件代码。
给定输入文本提示 t 和 初始形状/外观代码 z s ′ / z a ′ z'_s/z'_a zs′/za′,训练形状mapper M s M_s Ms和外观mapper M a M_a Ma
ε ^ ( ⋅ ) \hat{\varepsilon}(\cdot) ε^(⋅)是预训练的CLIP文本编码器,将文本投影到CLIP嵌入特征空间,两个mapper都将该CLIP嵌入映射到更新原始形状和外观代码的位移向量
CLIP包括一个图像编码器和一个映射到联合嵌入空间的文本编码器,使用cross-modal CLIP距离函数 D C L I P D_{CLIP} DCLIP(·,·)来衡量输入文本和已渲染图像块之间的嵌入相似性
ε ^ i ( ⋅ ) \hat{\varepsilon}_i(\cdot) ε^i(⋅)和 ε ^ t ( ⋅ ) \hat{\varepsilon}_t(\cdot) ε^t(⋅)是预训练的剪辑图像和文本编码器,I 和 t 是输入图像块和文本,<·,·>是余弦相似度算子
cross-modal CLIP距离函数,虽然相机姿态差异很大,但同一物体的不同视角具有更高的相似性(小距离)。但即使在同一视图下,不同物体的相似性也较低(距离大)。
训练过程分为两步,首先训练解缠的条件NeRF,包括conditional NeRF 生成器和deformation network,然后固定生成器的权重,并训练包括形状和外观mapper的剪辑操作部分
条件NeRF生成器 F θ F_θ Fθ 与变形网络一起训练,使用 non-saturating GAN 和鉴别器 D,其中 f (x)=−log (1+exp(−x)), λ r λ_r λr 是正则化权重。假设真实图像 I 形成了 d 的训练数据分布,分别从 Z s , Z a Z_s, Z_a Zs,Za 和 Z v Z_v Zv 中随机采样形状码 z s z_s zs ,外观码 z a z_a za 和相机姿态,其中 Z s Z_s Zs 和 Z a Z_a Za 是正态分布, Z v Z_v Zv 是相机坐标系的上半球。
使用预训练的NeRF生成器 F θ F_θ Fθ、CLIP编码器KaTeX parse error: Expected 'EOF', got '}' at position 34: …}_t,\varepsilon}̲_i \}和鉴别器 D 来训练CLIP形状mapper M s M_s Ms 和外观mapper M a M_a Ma。除mapper外,其他网络权值均为固定值,记为 { ⋅ ^ } \{ \hat{\cdot}\} {⋅^},与第一阶段类似,从它们各自的分布中随机采样形状码 z s z_s zs、外观码 z a z_a za和相机姿态 v,从预定义的文本库 t 中对文本提示 t 进行采样。通过使用权重为 λ c λ_c λc 的CLIP距离 D C L I P D_{CLIP} DCLIP
要将操作应用于属于同一训练类别的输入图像 I r I_r Ir,关键是首先优化所有生成条件,以将图像反向投影到生成流形,类似于latent image manipulation方法,遵循EM算法,设计了一种迭代方法来交替优化形状码 z s z_s zs、外观码 z a z_a za和相机v。具体来说,在每次迭代中,首先优化 v,同时使用以下损失保持 z s z_s zs 和 z a z_a za 固定:
紧接着优化形状码
其中 z a z_a za 和 v 固定, z n z_n zn 为每一步采样的随机标准高斯噪声向量,以提高优化的鲁棒性, λ n λ_n λn 在整个优化迭代过程中从1到0线性衰减。
同理优化外观码
注意:实验结果表明,超参数取值为: λ r = 0.5 , λ v = 0.1 , a n d λ s = λ = 0.2 λ_r =0.5, λ_v =0.1, and λ_s = λ_ =0.2 λr=0.5,λv=0.1,andλs=λ=0.2
通过在各种文本提示和示例图像上的广泛实验来评估所提出方法,并为交互式编辑提供了一个直观的编辑界面。然而,由于潜空间和预训练CLIP的表达能力有限,所提出方法无法处理细粒度和域外的形状和外观编辑,通过添加更多不同的训练数据可以缓解这一问题。