赞
踩
研究人员是来自香港中文大学的王灿
Title:CLIP-NeRF: Text-and-Image Driven Manipulation of Neural Radiance Fields
Paper:https://arxiv.org/pdf/2112.05139v1
Code:https://cassiepython.github.io/ clipnerf/
整体训练框架
训练一个解纠缠的条件nerf:
a. 输入:位置编码、观测方向、
Z
s
Z_{s}
Zs(shape code)、
Z
a
Z_{a}
Za(appearance code);
b. 输出:渲染后的image;
c. 变形场:
Z
a
Z_{a}
Za通过该场控制体积变化;
CLIP驱动:
a. 输入:相关的image/文本提示;
b. 输出:
Δ
Z
s
\Delta Z_{s}
ΔZs、
Δ
Z
a
\Delta Z_{a}
ΔZa;
c. CLIP image/text encoder:提取相关的特征输入mappers中去学习
Z
s
Z_{s}
Zs和
Z
a
Z_{a}
Za的改变。
F θ F_{\theta} Fθ:MLP学习到的一个函数映射
如何理解这个解耦条件?
解耦是一个常被提到的技术术语,它直译过来就是“把一模一样的东西分离开来”或“使其相互不受影响”,但实际上更深刻的含义是:把系统中不同的部分分离开来,使它们之间可以互相独立地运行,互不干扰,不被任何不必要的部分影响到。
在这里可以理解为:条件nerf公式1中
z
a
z_{a}
za和
z
s
z_{s}
zs都可以影响颜色的变化,而我们需要使得
z
a
z_{a}
za只控制颜色,
z
s
z_{s}
zs只控制形状,让这两部分分离开,互相独立不受干扰。
不直接操作
z
s
z_{s}
zs来控制形状,文章提出一个Shape Deformation
τ
:
(
x
,
z
s
)
→
Δ
x
\tau:(\boldsymbol{x},z_{s})\to\Delta \boldsymbol{x}
τ:(x,zs)→Δx 对应位置编码
Γ
(
x
)
\Gamma(\boldsymbol{x})
Γ(x),尽量保留原始shape细节。
变形的位置编码:
Γ
∗
(
p
,
z
s
)
=
{
γ
∗
(
p
,
Δ
p
)
∣
p
∈
p
,
Δ
p
∈
τ
(
p
,
z
s
)
}
\Gamma^{*}(\boldsymbol{p},z_{s})=\lbrace \gamma^{*}(p,\Delta{p})| p\in\boldsymbol{p},\Delta{p}\in\tau(\boldsymbol{p},z_{s}) \rbrace
Γ∗(p,zs)={γ∗(p,Δp)∣p∈p,Δp∈τ(p,zs)}:其中
t
a
n
h
(
⋅
)
∈
[
−
1
,
1
]
tanh(\cdot)\in[-1, 1]
tanh(⋅)∈[−1,1],限制变化量在-1到1之间;这样使得
z
s
z_{s}
zs控制
Δ
x
\Delta \boldsymbol{x}
Δx进而控制位置编码,最后间接控制了全局的shape。
并且用
Γ
(
v
)
⊕
z
a
\Gamma(\boldsymbol{v})\oplus z_{a}
Γ(v)⊕za把对颜色的改变推迟,使得颜色预测网络不接触形状信息(
σ
\sigma
σ)。
综上所述,公式1变成了公式4所示:
给定文本提示 t t t+初始化 z s ′ z_{s}^{'} zs′、 z a ′ z_{a}^{'} za′,训练出映射器 M s , M a M_{s},M_{a} Ms,Ma来更新code。
因为一般是用文本控制的,所以暂定为
ε
^
t
(
t
)
\hat{\varepsilon}_{t}(t)
ε^t(t),但是也可使用图像示例进行edit,换成相应的
ε
^
i
(
i
)
\hat{\varepsilon}_{i}(i)
ε^i(i)即可。
迭代算法交替优化
z
s
,
z
a
,
v
z_{s},z_{a},\boldsymbol{v}
zs,za,v:
由于潜在空间和预先训练的CLIP的表达能力有限,无法处理细粒度和域外的形状和外观编辑—这可以通过添加更多不同的训练数据来缓解。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。