94、DehazNeRF: Multiple Image Haze Removal and 3D Shape Reconstruction using Neural Radiance Fields

简介

论文:https://arxiv.org/pdf/2303.11364.pdf
主页:https://www.computationalimaging.org/publications/dehazenerf

模拟大气散射的物理现实项扩展了体绘制方程
在这里插入图片描述

  • 通过基于物理的三维雾图像生成模型扩展NeRF的体绘制方程,精确模拟雾霾环境中普遍存在的内散射现象;
  • 引入多个物理启发的归纳偏差和优化正则化器,以有效地消除表面外观的歧义,从而实现精确的清晰视图外观和仅使用有雾图像作为输入的几何重建。

实现流程

在这里插入图片描述
给定一组有雾图像,该方法用雾霾模块(黄色)增强了现有的NeRF管道(灰色),该模块使用大气光和散射系数明确地建模散射现象。在训练过程中,将有雾重建渲染为表面和雾的组成,与输入的有雾图像进行比较,以联合优化可学习参数(绿色)。在推理过程中,使用surface模块(灰色)来渲染清晰的视图。

辐射传递方程(RTE)描述了光在介质中吸收、散射和发射辐射的行为,假设射线 r ( t ) = o + t d r(t) = o + td r(t)=o+td r ( t 0 ) r(t_0) r(t0) 处击中表面点,则近像面 t n t_n tn 处的入射辐射度可分为三个部分
在这里插入图片描述
ϵ \epsilon ϵ 为发射辐射度, C e C_e Ce 表面交点处的出射辐射度, c s ( r ( t ) , d ) c_s (r (t), d) cs(r(t)d) 是内散射光, σ s \sigma_s σs是散射系数,从衰减系数 σ t σ_t σt 计算透射率

T σ t ( t ) = e x p ( − ∫ t n t σ t ( t ‘ ) d t ‘ ) T_{\sigma_t}(t) = exp(-\int^t_{t_n} \sigma_t(t`)dt`) Tσt(t)=exp(tntσt(t)dt),其中 σ t = σ a + σ s \sigma_t = \sigma_a+\sigma_s σt=σa+σs,包括吸收和散射效应

对于常见的雾霾形成,参与的粒子被认为是不发光的,因此可以去掉发射部分
在这里插入图片描述
与NeRF一样,将表面表示为一个有发射的连续密度场
c ( r ( t ) , d ) : = c ( r ( t ) , d ) σ ( r ( t ) ) c(r(t),d):=c(r(t),d)\sigma(r(t)) c(r(t),d):=c(r(t),d)σ(r(t)),衰减 σ t σ_t σt 中的吸收部分可以解释为表面密度 σ,因为体积密度 σ 等于吸收系数 σ a σ_a σa,它们都决定了光子或射线在给定位置终止的概率
在这里插入图片描述
对分别由{c, σ}和{ c s , σ s c_s, σ_s csσs}表示的 surface 和 haze 进行原则性的形式化解缠,以得到与NeRF体渲染公式类似的表达
在这里插入图片描述
为了正确地解缠它们,采用了合适的架构设计和训练正则化器,以捕捉雾和表面的不同物理特性

引入归纳偏差来匹配雾霾和表面的物理特性。

为了鼓励体密度 σ 形成一个定义良好的固体表面,采用NeuS中提出的用符号距离函数(SDF), f ( r ( t ) ) ∈ R f(r (t))∈R f(r(t))R对体密度进行重新参数化,而不是直接学习体密度
在这里插入图片描述
ϕ s ( x ) \phi_s(x) ϕs(x)是sigmoid函数 ϕ s ( x ) = ( 1 + e − s x ) − 1 \phi_s(x) = (1+e^{-sx})^{-1} ϕs(x)=(1+esx)1,其导数是一个以0为中心的钟形密度函数,可学习的标准偏差为 1/s,其中, { p i = o + t n d ∣ n = 1 , ⋯   , N , t n < t n + 1 } \{p_i = o + t_nd|n=1,\cdots,N,t_n<t_{n+1} \} {pi=o+tndn=1,,N,tn<tn+1}

在这里插入图片描述
在这里插入图片描述
σ t n = σ n + σ s n \sigma^n_t = \sigma^n+\sigma_s^n σtn=σn+σsn 表示样本 n 处的总衰减,包括由于表面遮挡和外散射引起的衰减

使用低频先验来计算散射系数和大气光 { c s , σ s c_s, σ_s csσs},因为这些分量通常在常见的有雾场景中变化缓慢,采用带限小的MLP作为散射系数 σ s σ_s σs 来捕获非均匀霾
在这里插入图片描述
渲染像素颜色表示为 C = C s u r f a c e + C h a z e C = C_{surface} + C_{haze} C=Csurface+Chaze
在这里插入图片描述
引入了进一步的正则化项,以指导优化过程收敛到更合理的清晰几何和颜色

给定精确的深度图D,假设全局散射系 σ ˉ s \bar{σ}_s σˉs和大气光 c s ˉ \bar{c_s} csˉ恒定,清晰图像 C c l e a r C_{clear} Cclear与有雾图像 C 之间的关系可由Koschmieder定律描述为
在这里插入图片描述
Koschmider模型是在假设散射系数空间不变(即均匀)和理想表面的情况下,对渲染方程 4的近似
在这里插入图片描述
σ ˉ s \bar{\sigma}_s σˉs c ˉ s \bar{c}_s cˉs 是射线上样本的平均值,而深度值 D ( r ) D(r) D(r) 是通过学习曲面几何,通过累积射线上所有样本的射线长度来计算的
在这里插入图片描述
在不知道原始图像的情况下,有雾图像中严重衰减的颜色可以用雾霾来解释,也可以用暗淡的表面颜色来解释。为了重建合理的清晰视图颜色,采用了在基于图像的去雾方法中广泛使用的流行2D先验——暗通道先验(Dark Channel prior, DCP),这是由于在自然无雾图像的大多数像素中,最小的三个颜色通道接近于零。将其应用于估计的清晰图像 C c l e a r C_{clear} Cclear之前
在这里插入图片描述
采用与HF-NeuS中相同的设置。这包括表面SDF, f和与视图相关的表面颜色,c的mlp,以及采样策略,背景组成和学习率调度
在这里插入图片描述
L e u k o n a l L_{eukonal} Leukonal用于正则化SDF
在这里插入图片描述
由于使用SDF的表面表示,可以选择采用对象掩码进行监督。具体来说,给定对象掩码M,采样射线k的掩码损失 L m a s k L_{mask} Lmask 定义为
在这里插入图片描述
其中 O ^ k = ∑ i = 1 N T σ i α i \hat{O}_k = \sum^N_{i=1}T^i_\sigma \alpha^i O^k=i=1NTσiαi 是沿相机射线的clearview表面颜色的总权重,BCE是二元交叉熵损失

实验

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

limitations

虽然证明了所提出方法捕获数据的有效性,但某些场景不在本文的范围内,是未来工作的研究方向。这包括严重的雾霾场景,其中相机配准由于缺乏有判力的图像特征而失败,以及动态雾霾,其中雾霾的分布不仅在空间上而且在时间上发生变化。尽管如此,认为所提出方法是迈向预期应用场景的重要一步,如自动驾驶或水下成像。将物理学纳入神经渲染的原理也适用于其他不适定的低级视觉任务,如图像去噪、图像增亮和超分辨率。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 单图像去雾是一种常见的计算机视觉问题,它旨在从含有雾霾的图像中恢复出清晰的图像。"Dark Channel Prior"是一种常用的算法,在单图像去雾中有着广泛的应用。 Dark Channel Prior(暗通道先验)是通过观察自然景物在局部区域中深度最小像素的强度来估计雾霾浓度和传播距离的先验知识。Dark Channel可以简单地通过在输入图像的每个像素位置上采用最小值操作来计算得到。这样,我们可以仿佛窥视很多景物的背后,包括雾霾中那些没有雾的真实景物。 Dark Channel Prior算法分为三个步骤: 1. 估计暗通道:对输入图像的每个像素计算出最小通道值,得到每个像素位置的暗通道。由于雾霾导致图像亮度改变,这一步估计了景物中的最小透射率。 2. 估计大气光:通过在暗通道图像中找到最亮的像素值,得到估计的大气光。这是因为大气光对于雾霾图像中的亮度改变有关键作用。 3. 去雾恢复:基于估计的暗通道和大气光,我们可以在图像中进行退化模型的恢复,以消除雾霾效应。这可以通过以下公式实现:R = (I - A) / t + A,其中R是去雾后的图像,I是输入图像,A是估计的大气光,t是透射率。 代码实现上,我们可以通过使用基于块的方法来减小计算量,同时在去雾后对结果进行细化和增强,以获得更好的效果。在此基础上,还可以采用其他技术和方法来进一步改进去雾结果,例如引入图像边缘信息和增加颜色校正。 总之,单图像去雾是一项具有挑战性和广泛应用的任务。"Dark Channel Prior" 算法被证明是一种有效的方法,能够在一定程度上还原出清晰的图像,提升雾霾图像的质量。 ### 回答2: Single image haze removal using dark channel prior是一种用于去除图片中雾霾的算法。该算法通过分析图像的暗通道先验信息来估计图像中的雾霾程度,并进行相应的去雾操作。 暗通道先验是指图像中的某些区域在某个颜色通道上的像素值较低。这是因为雾霾会使得图像中的物体颜色变浅,而远处的物体通常更加受到雾霾的影响。基于此,算法通过寻找图像中的暗通道来估计雾霾强度。 具体实现方案如下: 1. 对于给定的输入图像,算法首先计算图像的暗通道。这可以通过对图像的每个像素点在RGB颜色空间中选择最小值来实现。 2. 通过暗通道估计得到的雾霾强度,算法可以计算出每个像素点在雾霾下的透射率。透射率越高,表示该像素受到的雾霾影响越小。 3. 基于透射率,算法可以计算出未被雾霾遮挡的场景亮度。这可以通过选择图像中的最大值来实现。 4. 最后,算法通过去除透射率和场景亮度对图像进行去雾操作。这可以通过对每个像素点应用去雾公式来实现。去雾公式将图像中的像素值重新映射,以减少雾霾的影响。 通过单一图像和暗通道先验的使用,该算法能够较好地去除图像中的雾霾,提高图像的可视性和质量。它在计算机视觉和图像处理领域有着广泛的应用,例如景观摄影和无人驾驶等。 ### 回答3: Single image haze removal using dark channel prior是一种用于去除图像雾霾的算法。这个算法的代码实现逻辑是基于一个称为“暗通道先验”的概念。 在这个算法中,我们首先计算图像的暗通道图像。暗通道图像是指在图像的每个局部区域内,选择像素值最小的通道作为该区域的暗通道像素值。通过计算暗通道图像,我们可以得到整个图像的暗通道图像。 接下来,通过观察我们发现,大部分的非天空区域的暗通道像素值都是接近于0的,而天空区域的暗通道像素值通常会高于0。而这些高于0的像素值正是由于雾霾所导致的。 因此,我们可以通过选取每个局部区域内暗通道像素值最小的像素点作为参考点,来估算出雾霾的浓度。进一步地,我们可以根据这个浓度值来消除图像的雾霾。 具体地,我们可以使用以下公式来计算去除雾霾后的像素值: t(x) = 1 - w * min(R/G, R/B) 其中,t(x)表示去除雾霾后的像素值,w表示雾霾浓度(衡量雾霾的程度),R/G和R/B分别表示图像红色通道和绿色通道以及蓝色通道的比值。这个公式可以将原始像素值转换为去除雾霾后的像素值。 最后,我们可以根据去除雾霾后的像素值和原始图像的亮度值来还原最终的去雾图像。 Single image haze removal using dark channel prior代码实现了上述算法的具体步骤和细节。通过使用这个代码,我们可以方便地对图像进行去雾处理,使得图像更加清晰和真实。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值