论文文献阅读-CLIP-NeRF: Text-and-Image Driven Manipulation of Neural Radiance Fields

信息

研究人员是来自香港中文大学的王灿
Title:CLIP-NeRF: Text-and-Image Driven Manipulation of Neural Radiance Fields
Paperhttps://arxiv.org/pdf/2112.05139v1
Codehttps://cassiepython.github.io/ clipnerf/

简介

  1. 提出了第一个统一文本和图像驱动的NeRF编辑框架CLIP-NERF,使得用户可以使用文本提示或示例图像对3D内容进行灵活编辑;
  2. 设计两个CLIP映射器来指导形状和外观的变化;
  3. 前馈代码映射器比之前的基于优化的编辑方法速度更快;
  4. 提出反向优化方法使得可以从现有真实图像数据改变形状和外观代码。

相关工作

  • 可编辑的NERF:重塑形状或者是外观颜色在多视角依赖的nerf中困难重重;
  • 条件NERF:在一类形状上训练NERF,可利用预训练的模型通过潜在的空间插值进行操作,但只能局部改变且速度慢
  • DietNerf:设计了CLIP语义一致性损失函数提高few-shot nerf的性能;
  • GRAF:提出了shape code和appearance code条件合成nerf;
  • CLIP:通过学习映射器,将文本和图像联系起来操作潜在空间编码;
  • 文章工作:基于文本提示或图像来改变nerf的形状和外观的解纠缠条件nerf架构,文本或图像作为条件,用CLIP提取特征送mappers来操作3D模型的体积和颜色,并提出了利用真实图像的形状和外观来反向优化codes。
    • shape code:学习一个变形场改变体积
    • appearance code:控制体渲染的颜色
    • CLIP model:学习两个code mappers(映射器)

方法

整体训练框架
请添加图片描述

  1. 训练一个解纠缠的条件nerf:

    a. 输入:位置编码、观测方向、 Z s Z_{s} Zs(shape code)、 Z a Z_{a} Za(appearance code);
    b. 输出:渲染后的image;
    c. 变形场: Z a Z_{a} Za通过该场控制体积变化;

  2. 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的改变。

Conditional NeRF

请添加图片描述 F θ F_{\theta} Fθ:MLP学习到的一个函数映射

  • input:5D坐标— x ( x , y , z ) \boldsymbol{x}(x,y,z) x(x,y,z)+ v ( ϕ , θ ) \boldsymbol{v}(\phi,\theta) v(ϕ,θ) z a z_{a} za+ z s z_{s} zs;
  • output:密度 σ \sigma σ+颜色 c ( r , g , b ) \boldsymbol{c}(r,g,b) c(r,g,b)
  • γ ( ⋅ ) \gamma(\cdot) γ():位置编码-升维的作用(原来的x和v为数低)。

Disentangled Conditional NeRF

如何理解这个解耦条件?
解耦是一个常被提到的技术术语,它直译过来就是“把一模一样的东西分离开来”或“使其相互不受影响”,但实际上更深刻的含义是:把系统中不同的部分分离开来,使它们之间可以互相独立地运行,互不干扰,不被任何不必要的部分影响到。
在这里可以理解为:条件nerf公式1中 z a z_{a} za z s z_{s} zs都可以影响颜色的变化,而我们需要使得 z a z_{a} za只控制颜色, z s z_{s} zs只控制形状,让这两部分分离开,互相独立不受干扰。

Conditional Shape Deformation

不直接操作 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)pp,Δ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。

Deferred Appearance Conditioning

并且用 Γ ( v ) ⊕ z a \Gamma(\boldsymbol{v})\oplus z_{a} Γ(v)za把对颜色的改变推迟,使得颜色预测网络不接触形状信息( σ \sigma σ)。
综上所述,公式1变成了公式4所示:

请添加图片描述

CLIP-Driven Manipulation

给定文本提示 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 ( ⋅ ) \hat{\varepsilon}_{t}(\cdot) ε^t():预训练的CLIP文本编码器,将文本投影到CLIP嵌入的特征空间,也就是图中的encoder;
  • D C L I P ( ⋅ , ⋅ ) D_{CLIP}(\cdot,\cdot) DCLIP(,):跨模态的距离函数,测量文本和渲染图像的嵌入相似性;

因为一般是用文本控制的,所以暂定为 ε ^ t ( t ) \hat{\varepsilon}_{t}(t) ε^t(t),但是也可使用图像示例进行edit,换成相应的 ε ^ i ( i ) \hat{\varepsilon}_{i}(i) ε^i(i)即可。
请添加图片描述请添加图片描述

训练策略

  1. 先训练disentangled conditional NeRF:包括条件nerf生成器和变形网络;
  2. 固定生成器权重,训练CLIP部分(shape and appearance mappers);
  3. 损失函数部分一览:
    请添加图片描述请添加图片描述

反向优化

迭代算法交替优化 z s , z a , v z_{s},z_{a},\boldsymbol{v} zs,za,v
请添加图片描述

请添加图片描述

实验结果

参数设置

  1. 条件NeRF:8层MLP(每层256个隐藏单元,输入维度64,RELU);
  2. deformation network:4层MLP(每层256个隐藏单元。RELU,输入128维的 z s , z a z_{s},z_{a} zs,za);
  3. mappers:2层MLP(RELU),通道数分别是128,256,128;
  4. Adam优化器:lr初始= 1 0 − 4 10^{-4} 104

结果对比

请添加图片描述请添加图片描述

结论

优点

  1. 提出了NeRF的第一种文本和图像驱动的操作方法,通过设计一个统一的框架,使用文本提示或示例图像为用户提供对3D内容的灵活控制;
  2. 设计了一种解纠缠的条件NeRF架构,该架构允许在编辑对象时解纠缠形状和外观,并且两个前馈代码映射器能够快速推断编辑不同的对象;
  3. 提出了一种反演方法,从真实图像中推断形状和外观代码,从而可以编辑现有数据。

限制点

由于潜在空间和预先训练的CLIP的表达能力有限,无法处理细粒度和域外的形状和外观编辑—这可以通过添加更多不同的训练数据来缓解。

参考

基于文本控制的可编辑NeRF三维重建|AI新青年讲座167
NeRF学习笔记(一)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值