69、CLIP-NeRF: Text-and-Image Driven Manipulation of Neural Radiance Fields

简介

官网:https://cassiepython.github.io/clipnerf/
利用对比语言-图像预训练(CLIP)模型的联合语言-图像嵌入空间,提出了一个统一的框架,可以用短文本提示或示例图像以用户友好的方式操纵NeRF。改论文结合NeRF的新视图合成能力和生成模型潜表示的可控操纵能力,提出一种解缠的条件NeRF架构,允许对形状和外观进行单独控制。

解缠的条件NeRF架构通过将学到的变形场应用于位置编码来执行形状调节,并将颜色调节推迟到体绘制阶段来实现的

为将这种解耦的潜表示与CLIP嵌入联系起来,设计了两个code mapper,以CLIP嵌入为输入,并更新潜代码以反映目标编辑

同时提出了一种逆向优化方法,可准确地将输入图像投影到潜代码中进行操作,以实现对真实图像的编辑

贡献点:

  • 提出第一种NeRF的文本和图像驱动的操作方法,使用统一的框架为用户提供使用文本提示或示例图像对3D内容的灵活控制。
  • 通过引入形状码来变形体场和外观码来控制发出的颜色,设计了一种解缠的条件NeRF架构。
  • 与基于优化的编辑方法相比,前馈代码mapper能够快速推理编辑同一类别中的不同对象。
  • 提出一种反演方法,从真实图像中推断形状和外观代码,允许编辑现有数据的形状和外观。

实现流程

在这里插入图片描述

Conditional NeRF

建立在原始的每个场景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)参数化。
在这里插入图片描述

Disentangled Conditional NeRF

conditional NeRF容易受到形状和外观条件之间的相互干预,例如,操纵形状代码也可能导致颜色变化,为此论文提出解缠条件NeRF架构,通过适当解缠条件机制来实现对形状和外观的单独控制

Conditional Shape Deformation

在这里插入图片描述

不直接将潜在形状代码连接到编码位置特征,而是通过对输入位置的显式体积变形来制定形状条件。

这种条件形状变形不仅提高了操纵的鲁棒性,而且通过正则化输出形状为基本形状的平滑变形,尽可能地保留了原始形状的细节,更重要的是完全隔离了形状条件对外观的影响

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} ΔxR3×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)pP,ΔpΓ(p,zs)}

在这里插入图片描述
标量p和向量 Δ p ∈ R 2 m Δp∈R^{2m} ΔpR2m 与 p 和 Δp 属于同一轴,双曲正切函数 tanh(·)将位移约束在[- 1,1]范围内,以避免大运动带来的局部极值,提高训练鲁棒性。

Deferred Appearance Conditioning

在这里插入图片描述

将外观代码与视图方向连接起来作为辐射度预测网络的输入,允许在不接触形状信息(即密度)的情况下操纵外观
在这里插入图片描述

CLIP-Driven Manipulation

在这里插入图片描述

以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的剪辑操作部分

Disentangled Conditional NeRF

条件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 是相机坐标系的上半球。
在这里插入图片描述

CLIP Manipulation Mappers

使用预训练的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
在这里插入图片描述

Inverse Manipulation

要将操作应用于属于同一训练类别的输入图像 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

实验

在这里插入图片描述
在这里插入图片描述

Limitations

在这里插入图片描述

通过在各种文本提示和示例图像上的广泛实验来评估所提出方法,并为交互式编辑提供了一个直观的编辑界面。然而,由于潜空间和预训练CLIP的表达能力有限,所提出方法无法处理细粒度和域外的形状和外观编辑,通过添加更多不同的训练数据可以缓解这一问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值