赞
踩
蓝色
紫色
红色
神经辐射场(NeRF)由于其显著的合成质量,在三维场景重建和新视图合成方面获备受关注。然而,在野外捕捉场景时经常发生由 散焦或运动 引起的图像模糊,大大降低了其重建质量。为了解决这个问题,本文提出了Deblur-NeRF,这是第一个可以从模糊的输入中恢复清晰的NeRF的方法。本文可对模糊成像的过程进行建模,通过对 模型合成的模糊结果进行分析 从而进行去模糊。这种模拟的核心是一个新颖的 可变形稀疏核(Deformable Sparse Kernel, DSK) 模块,它通过在每个空间位置变形一个典型的稀疏核来模拟空间变化的模糊内核。每个 核点的光线起始点 被联合优化,其灵感来自物理模糊过程。这个模块被参数化为一个MLP,它有能力被推广到各种模糊类型。联合优化NeRF和DSK模块 使我们能够恢复一个清晰的NeRF。本文方法可以用于 相机运动模糊和散焦模糊:这是真实场景中最常见的两种模糊类型。对合成和真实世界数据的评估结果表明,本文方法优于部分baseline。合成数据、真实数据及源码均已经开源。
关于图像模糊的参考学习链接:图像运动模糊及其去除,运动模糊-维基百科,散焦模糊的实现,图像模糊原理
焦距:是指镜头距底片的距离。如果焦距合适,景物反射的光通过镜头能够 聚集在成像平面上,成为一个点, 如果焦距不合适,则成为一个圆,从而导致照片 失焦模糊 。
维基百科:照相机
在过去的几年里,在新的视图合成方面取得了巨大的进展,从稀疏的输入视图中重建一个 中间的三维表示 ,以插值或推断出任意的新视图。最近,NeRF作为一种有效的 场景表示 出现,实现了逼真的渲染效果。它将静态场景建模为一个连续的体积函数,将 三维位置 (x,y,z) 和二维视图方向 (θ,Φ) 映射为颜色 (rgb) 和密度 (σ)。这个函数被参数化为一个多层感知器(MLP),它的输出可以通过体积渲染技术以可区分的方式进行渲染。
为了重建一个NeRF,需要从不同的角度拍摄几张图像。虽然当这些图像被很好地捕捉和校准时,训练NeRF的原始方法效果很好,但当出现模糊时,它将产生明显的伪影。例如,当使用 长曝光设置 来捕捉低光照场景时,图像对相机抖动更加敏感,导致相机 运动模糊 (motion blur) 。此外,当使用 大光圈(大尺寸的镜头) 拍摄深度变化较大的场景时,难免会出现散焦模糊 (defocus blur) 。这些模糊将大大降低降低重建的NeRF的质量,导致在渲染的新视图中出现伪影。
最近有许多工作被提出来解决训练NeRF时的非理想输入:
据我们所知,还没有人考虑解决从模糊的输入图像中训练NeRF的问题。
相反,本文方法通过结合所有充分感知三维场景的观测点信息实现去模糊。
本文提出了Deblur-NeRF,这是一个有效的框架,在网络中显式模拟了模糊过程,并能够从模糊的输入中恢复清晰的NeRF。本文通过使用类似于盲反卷积方法的模糊核对 清晰的图像进行卷积 来模拟模糊的过程。本文根据以下观察提出了一个新的可变形稀疏核(DSK)模块来模拟模糊核:
在训练过程中,只使用模糊的输入作为监督,联合优化DSK和清晰的NeRF,而在推理阶段,通过 去除DSK 可以呈现清晰的新视图。本文在有两种模糊类型(运动模糊和散焦模糊)的合成和真实数据集上进行了广泛的实验。结果表明所提出的方法优于原始的NeRF和image-space baseline(即结合NeRF和最先进的图像或视频去模糊方法)。
NeRF的成功激发了许多扩展NeRF的后续工作。有几项工作已经探索了用非理想输入来训练NeRF。例如,BRAF、NeRF–和GNeRF试图在没有相机位姿的情况下训练NeRF。SCNeRF专注于联合校准一个更复杂的非线性相机模型。为了解决不受控制的野外照片的NeRF训练问题,NeRF-W引入了NeRF的几个扩展,成功地建模了不一致的外观变化和跨视图的瞬时物体。PixelNeRF只用一张或几张图片就能重建一个neural volume。此外,Jonathan等人提出了Mip-NeRF,它改进了不同尺度输入下的NeRF,产生了抗混叠的结果。然而,用模糊的图像训练NeRF仍然是一个未开发的领域,因为上述的工作似乎都没有明确考虑到这种退化。
图像去模糊化旨在从模糊的输入中恢复出清晰的图像。
多图像设置的去模糊化对 结合跨帧信息和保存时间一致性 提出了新的挑战。
关于初版NeRF的输入输出表达、高频编码和渲染最终颜色的公式等。
可参考:NeRF 神经辐射场
使用模糊输入来训练NeRF的 核心思想 是 显式地对模糊过程进行建模,并对清晰的NeRF和模糊参数进行联合优化,从而使合成的模糊图像与输入相匹配。
具体来说,为了在训练期间渲染一个模糊的像素,本文首先使用新提出的可变形稀疏内核(DSK)模块生成多个优化的光线,来模拟模糊过程。本文使用NeRF渲染这些光线,并将结果进行混合,得到最终的模糊颜色,然后由 模糊的输入 进行监督。注意:在推理阶段,直接渲染NeRF而不使用DSK,以获得清晰的新视图。
对输入
p
(
p
→
γ
(
p
)
)
p (p → γ(p))
p(p→γ(p))进行位置编码可能提升效率,但是无法提升质量。一个可能的原因是spatially-varying kernel随着位置逐渐变化,而没有高频变化。
模糊卷积模型应该使用scene irradiance而不是image intensity。在物理上的更准确模型是 b p = f ( c p ′ ∗ h ) b_p=f( c_p' * h) bp=f(cp′∗h) , c ′ c' c′表示scene irradiance, f ( ⋅ ) f(·) f(⋅) 表示将scene irradiance映射到image intensity的CRF。
相机响应函数(camera response function, CRF):从相机感光元件感受到的亮度值到图像实际像素值之间的非线性变换函数。
一个非线性的CRF可能会增加模糊核的复杂性,并让DSK的学习变得困难(如果使用了(4)中的线性模型),尤其在高对比度区域。为了补偿非线性CRF,本文假设sharp NeRF在线性空间中预测颜色,并且在最终输出中采用一种简单的伽马校正函数。
b
p
=
g
(
∑
q
∈
N
(
p
)
w
q
c
q
′
)
(
7
)
,
g
(
c
′
)
=
c
′
1
2.2
b_p=g( \sum\limits_{q \in N(p)} w_qc_q') \ \ \ \ \ \ \ \ (7) \ \ \ \ , \ \ \ \ g(c')=c'^{ \frac{1}{2.2} }
bp=g(q∈N(p)∑wqcq′) (7) , g(c′)=c′2.21
卷积模型是真实模糊模型的2D近似,在卷积模型中,模糊结果是相邻像素的结合,而这些像素又是 具有相同相机光心发出的相邻光线的渲染结果。然而真实的模糊过程通常融合从不同起点投射的光线。考虑两种不同的模糊过程,如上图。
如果场景几乎是平面的,这个光线起点的平移就能够很好的用像素位置的2D平移来近似。然而由于视差影响和遮挡问题,这通常在深度不连续的情况下无法实现。本文根据三维场景表示开发了能够考虑不同起点光线变化的kernels。因此,本文联合优化了每个稀疏核点(sparse kernel location)的光线起点的平移。特别的,本文像(6)式一样 联合预测了每个核点的起点平移。
( △ q , w q ) = G Φ ( p , q ′ , l ) , q ′ ∈ N ′ ( p ) ( 6 ) (△q,w_q)=G_Φ(p,q',l), \ q'∈N'( p) \ \ \ \ \ \ \ (6) (△q,wq)=GΦ(p,q′,l), q′∈N′(p) (6)
( △ o q , △ q , w q ) = G Φ ( p , q ′ , l ) , q ′ ∈ N ′ ( p ) ( 8 ) (△o_q,△q,w_q)=G_Φ(p,q',l), \ q'∈N'( p) \ \ \ \ \ \ \ (8) (△oq,△q,wq)=GΦ(p,q′,l), q′∈N′(p) (8)
r q = ( o + △ o q ) + t d q , q = q ′ + △ q ( 9 ) r_q=(o+△o_q)+td_q,\ q=q'+△q \ \ \ \ \ \ \ (9) rq=(o+△oq)+tdq, q=q′+△q (9)
这些优化的光线会被渲染并且结合到最终的模糊像素上。
整个训练过程如下:
注意:测试时,直接使用存储的结合了gamma correction的sharp NeRF渲染清晰的结果。
如果自由地优化所有组件,例如NeRF和DSK、reconstructed NeRF可能会遭遇非刚性形变。这是可预料的,因为NeRF的场景表示和学习到的Kernel会一起变形而不影响重建的模糊结果。然而这通常是不被期待的。为了将NeRF模型限制对齐到观察上,本文首先初始化DSK,使得所有优化的光线 r q r_q rq 非常接近输入光线 r p r_p rp ,可以通过给 ( △ o q , △ q , w q ) (△o_q,△q,w_q) (△oq,△q,wq) 中每个元素乘以 ∈ = 0.1 ∈=0.1 ∈=0.1 来实现。作为结果,光线发出点 o q o_q oq 和 kernel points q q q 被初始化到很接近相机中心和像素位置,并且在最开始所有 kernel points 都拥有大致一样的权重。本文还另外引入了一个对齐loss来强制其中一个优化光线 r q r_q rq 与输入的光线 r p r_p rp 相似。
L a l i g n = ∣ ∣ q 0 − p ∣ ∣ 2 + λ 0 ∣ ∣ △ o q 0 ∣ ∣ 2 ( 11 ) L_{align}=||q_0-p||_2+λ_0||△o_{q_0}||_2 \ \ \ \ \ \ \ (11) Lalign=∣∣q0−p∣∣2+λ0∣∣△oq0∣∣2 (11)
其中 q 0 q_0 q0 是 N ( q ) N(q) N(q) 中一个固定的元素:kernel的中心, λ 0 = 10 ( 12 ) λ_0=10 \ \ \ \ \ \ \ (12) λ0=10 (12)
总的Loss:
L = L r e c o n s t r u c t + λ a L a l i g n , λ a = 0.1 L=L_{reconstruct}+λ_aL_{align},\ λ_a=0.1 L=Lreconstruct+λaLalign, λa=0.1
Training:
模糊输入视图不一致时,本文框架使用DSK来补偿不一致,导致一致的清晰场景和不一致模糊模式的分解。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。