前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AAAI 2024 | Aleth-NeRF: 低光增强与曝光纠正的新方向,不良光照场景下的新视角合成

AAAI 2024 | Aleth-NeRF: 低光增强与曝光纠正的新方向,不良光照场景下的新视角合成

作者头像
CV君
发布2023-12-26 15:18:53
2260
发布2023-12-26 15:18:53
举报

大家好,今天要介绍的是 AAAI 2024 关于不良光照下 NeRF 新视角合成的工作 Aleth-NeRF(Aleth-NeRF: Illumination Adaptive NeRF with Concealing Field Assumption),目的在不良光照场景下(如低光照和过曝光)场景,能够从 NeRF 无监督增强并且生成正常光照的连贯 3D scene。我们提出的方法可以对现有NeRF进行简单改进,通过引入一个 Concealing Field 的概念,仅用几行代码就可以使得现有的 NeRF 在低光照或者过曝光的情况下,进行 Novel View Synthesis 重建,并且实现无监督的低光增强和曝光纠正。

详细信息如下:

  • 单位:东京大学,上海AI LAB,日本理化研究所, 牛津大学
  • 论文链接:https://arxiv.org/pdf/2312.09093.pdf
  • 代码链接:https://github.com/cuiziteng/Aleth-NeRF
  • 网页链接:https://cuiziteng.github.io/Aleth_NeRF_web/

方法概述

本文提出了Aleth-NeRF模型来完成无监督低光照增强&过曝纠正和Novel View Synthesis。传统NeRF [1]是以观察者视角出发,通过设定当前位置光通量的多少来定义物体,缺乏对于光照和物体的结构,无法解释光照变换对场景的影响 [2],所以NeRF无法应用于低光照和过度曝光时候的重建。

非常有趣的是古希腊人也秉持着与NeRF非常接近的世界观,古希腊人认为人的眼睛有一道视线,人们看到物体是来源于视线的累积,看不见物体是因为空气中存在遮挡。

受到古希腊视觉观点的启发,我们认为在黑夜看不见物体是因为空气中存在遮挡物隐蔽场(Concealing Field),女神Aletheia象征着真实/不隐蔽,在希腊语里意为“真相”,这也是Aleth-NeRF名字的由来。因此我们通过对NeRF框架做最小改动,在NeRF模型中引入了隐蔽场的概念,可以用来有效的解释光照变换,在实际实现中只需要加入几行代码,不需要复杂的光照解构,就可以使得各种NeRF框架拥有同时处理低光和过曝光的能力,分为两组隐蔽场(voxel-wise的局部隐蔽场,以及global-wise的全局隐蔽场)。

低光场景下的训练如上图(c)所示,训练阶段隐蔽场会加入到NeRF的volume rendering中参与训练低光照场景,在测试阶段隐蔽场将会被拿开rendering出正常光照场景。过曝光场景下的训练如上图(d)所示,训练阶段正常,然而测试阶段隐蔽场将会被加上用来rendering出正常光照场景。

对于以上两种场景,我们都会在训练阶段给NeRF网络以及隐蔽场加入无监督损失函数来控制隐蔽场的生成。

模型架构

模型的大概结构图如下所示:

以最经典的原始NeRF为例,局部隐蔽场通过NeRF的MLP网络产生,与原始NeRF的两个输出color和density相同,属于voxel-wise,全局隐蔽场则是一组可学习的网络参数,在每个场景下固定,属于global-wise,两组隐蔽场共同加入Volume Rendering中来衰退原有NeRF的Volume Rendering,通过Concealing Field的引入,Volume Rendering中的每个粒子受到前面粒子的遮蔽作用加强,我们通过Concealing Field这一假设来模拟黑暗的产生。

与此同时,训练阶段我们也通过添加各种无监督损失函数来约束Concealing Field的生成,帮助我们更好的增强和修复不良光照场景。低光场景的训练阶段会采用引入Concealing Field的Volume Rendering公式,在测试阶段采用去掉Concealing Field的原有Volume Rendering公式,过曝场景则与之相反。

经过我们的实验发现, Concealing Field的生成范围和Volume Rendering中粒子Density的范围呈反比例关系,这意味着训练过程中Concealing Field更倾向于出现在没有物体的地方,与我们对Concealing Field存在空气中的假想一致。

损失函数

为了保障Aleth-NeRF的无监督增强/过曝纠正,我们额外引入了几个损失函数来约束Concealing Fields的生成,首先我们把NeRF原有的MSE损失函数L_mse变换为L_it-mse,即在计算MSE损失之前先把图像过一个反向Tone曲线,因为原始MSE损失中黑暗像素往往权重过小而过曝像素往往权重较大,因此先加一个反向Tone曲线可以某种程度上做一下平衡。

剩余的是三个无监督损失函数,其中包括控制总体亮度范围(Enhance Degree)的损失函数L_de和控制对比度(Contrast Degree)的损失函数L_co,以及一个Color Constancy损失函数L_cc。通过调整控制总体亮度损失函数L_de和控制对比度损失函数L_co的超参数,也可以实现不同程度的增强。

数据集

关于数据集方面,我们提出了一个成对的低光照/过曝光/正常光照的multi-view数据集(LOM数据集),以便大家进行后续研究,低光照和过曝光的图像用于训练模型,正常光照的图像用于Novel View Synthesis的验证,相比于2D图像增强以及视频增强,这一任务更具挑战性,因为需要在图像增强的同时来确保生成图像的multi-view一致性,数据集图片如下,我们通过相机采集了五个真实世界的场景 (buu, chair, sofa, bike, shrub),每个场景都包含有25~65张multi-view图像,每个图像都有三组不同曝光条件(低光照/过曝光/正常光照)。

值得一提的是,此前谷歌的RAW-NeRF [3]也提供了一些真实世界的multi-view低光图片,但是RAW-NeRF关注的更多是将ISP与NeRF渲染结合,利用RAW图像的广阔色域和比特数优势来进行渲染,而并不是RGB图像增强,因此RAW-NeRF也没有对应正常光照RGB的ground truth。

我们提供的LOM数据集可以从网站或Github上下载,概览如下图示:

实验结果

实验方面,我们把原始的NeRF模型作为baseline,除此之外我们再与现有的2D图像/视频增强方法进行了对比,与增强方法进行对比时,我们设计了两种方式,(1). 第一种是用先在低光/过曝图像上训练NeRF然后在novel view synthesis阶段把2D增强方法用作后处理,(2). 第二种是先用2D图像/视频增强方法来预处理数据集,然后在这些增强后的数据上训练NeRF。

通过实验我们发现,方式(1)的缺陷在于低质量图像上训练的NeRF本身不够可靠,导致后处理增强后的结果也往往不尽如人意,容易出现低分辨率和模糊的情况,方式(2)的缺陷在于2D图像/视频增强方法往往不能保证3D multi-view的一致性,因此在不一致图像上训练的NeRF也会存在问题。

总的来说,Aleth-NeRF这种end-to-end的方法能够在最终的平均指标上取得最优效果,在3D的可视化中也能保持多视角的consistency,表格与实验结果图如下。:

缺陷和展望

虽然Aleth-NeRF在低光和过曝场景实现了较好的无监督恢复,但是只是这一任务的初步探索,比如NeRF本身自带的缺陷如训练慢和场景无法泛化等,以及Aleth-NeRF还是无法解决一些非均匀光照场景与阴影场景等,还有在一些场景中,Aleth-NeRF复原的图像色彩存在偏差,有些过曝场景的恢复会丢失色彩等等。

收到古希腊视觉理论,Aleth-NeRF提出了Concealing Fields概念,用一种简单直观的方式来建模黑暗,我们认为也许其他不同的黑暗建模方式也能够取到很好的效果,更有效的低光照建模也许能够克服Aleth-NeRF的不足。

相关参考文献: [1]. NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis (ECCV 2020) [2]. NeRFactor: Neural Factorization of Shape and Reflectance under an Unknown Illumination. ACM Trans. Graph [3]. NeRF in the Dark: High Dynamic Range View Synthesis from Noisy Raw Images.

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我爱计算机视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法概述
    • 模型架构
    • 损失函数
    • 数据集
    • 实验结果
    • 缺陷和展望
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档