IROS2024 | DarkGS:学习神经照明和3D高斯重新照明,用于黑暗中机器人探索

DarkGS:学习神经照明和3D高斯重新照明,用于黑暗中机器人探索

论文标题:DarkGS: Learning Neural Illumination and 3D Gaussians Relighting for Robotic Exploration in the Dark

论文地址:https://arxiv.org/abs/2403.10814

研究背景

人类能够在不同光照条件下构建环境的一致性心理模型,而机器人和自动驾驶车辆在光照条件不佳的环境中进行探索、检查、运输和搜索救援等任务时需要具备类似的能力。现有的视觉系统主要依赖于多视图图像中的共同特征点来实现场景重建,但这些方法在处理光照变化时存在局限性,尤其是在使用移动光源的情况下。随着NeRF等技术的发展,其在图形学领域取得了巨大成功,但在机器人平台上处理移动光源带来的光照变化仍然存在一定的不足。

在移动光源和低光照条件下,如何构建一个逼真的场景,并实现场景的重新照明,以便机器人能够更好地理解和导航未知环境,是当前研究领域面临的一个主要问题。

为了解决以上问题,本文提出了一个名为DarkGS的新方法,该方法基于NeLiS(Neural Light Simulators)来模拟和校准相机-光源系统。通过数据驱动的方式,利用NeLiS来学习光源的辐射强度分布(RID)、光衰减和环境光,以及相机-光源的姿态。DarkGS利用3DGS(3D Gaussian Splatting)模型的变体,在光照条件不佳的情况下构建逼真的场景表示,并能够使用全局照明重新照亮场景。本文还提出了一种新的工作流程,包括光源建模、相机-光源校准、3D高斯构建和场景重新照明,以及开发了相应的前端软件来辅助标定过程。

相关工作

A. 机器人的外感传感器标定

自主机器人通常装备有多种感知传感器,包括相机和激光雷达(LiDAR)。以相机标定为例,通常利用带有AprilTag标记或棋盘格图案的标定板。通过从多个视角捕捉目标图像,估计出相机的焦距、投影中心、畸变系数以及其姿态。相似的基于目标的标定方法也被用于激光雷达、雷达和声学传感器的标定,以便进行后续的传感器数据融合。本文提出了一种新颖的标定方法,使用由AprilTags和空白区域组成的目标来标定相机-光源系统中的光源。这包括估计相机与光源坐标系之间的转换关系、光源的辐射强度分布(RID)以及光强衰减曲线。

B. 光源标定

现有的光源标定方法采用了多种定制的标定目标。例如,使用结合AprilTags和销钉的标定板,通过分析销钉产生的阴影来推断点光源的位置。其他研究提出使用朗伯球体,并通过学习如何重建球体来估计光源参数。此外,部分研究工作展示了如何从球体的阴影中恢复光源的位置。也有一些研究工作利用朗伯平面和特制的标记,展示了如何用单张图像完成点光源的标定。然而,这些工作大多基于简化的模型,如假定点光源的光强遵循逆平方衰减规律,或假定在完全黑暗的环境中进行,或者RID是预先已知的,这限制了这些方法在实际应用中的广泛适用性。在本文中,采用了一个简化的标定目标设计,仅包含AprilTags和朗伯平面,通过NeLiS,展示了通过建模和学习RID、光强衰减以及环境光,连同相机-光源的姿态,可以提高图像重建的质量,使本文提出的标定方法更适合于现实世界中机器人的部署。

C. NeRF和3D高斯散射

基于从运动结构(SfM)中取得的成功,NeRF通过学习使用连续函数,如多层感知机(MLP)来表示场景,并能够实现逼真的新视角图像合成。流行的NeRF变体,例如MipNeRF和Instant-NGP,通过提升渲染的精度和速度,对NeRF进行了改进。最近引入的3D高斯散射(3DGS)通过用空间高斯代替神经网络的核心部分,彻底改变了这一领域,它在保持系统精度和可微性的同时,实现了100+ fps的渲染速度。对于机器人设置,先前的研究尝试通过模拟场景的物理属性,如粗糙度、反照率和法线,而不是将辐射视为恒定值,来解决光照变化的问题。然而,这些工作过度简化了光模型,将其视为与相机同中心的朗伯点光源,这在许多真实机器人平台上并不适用。Gaussianshader和Relightable 3DG将物理属性引入3DGS框架,但将照明建模为不随帧变化的常数。根据作者的实验,上述方法都无法处理真实机器人成像系统中的照明不一致问题。在本文提出的DarkGS中,通过模拟场景的物理属性并利用NeLiS,不仅可以从光照不足的图像中构建一致的3DGS,还可以使用全局照明重新照亮场景。

D. 光度立体视觉

光度立体视觉是一种技术,它通过分析从单一视角在不同光照方向下拍摄的多张图像来估计物体的形状。早期的方法将这个问题限定在已知光源和具有均匀反照率的朗伯表面。随后的研究扩展到了允许空间变化的反照率和未知光源的情况。然而,本文的机器人设置与这个问题的传统定义不同,因为本文的相机和光源总是一起移动。因此本文选择在3DGS框架内解决这个问题,从而能够合成逼真的新视图。

本文方法

本文构建NeLiS和DarkGS的流程如图2所示。通过对平面标定目标进行相机-光源系统的标定来构建NeLiS。通过标定图像序列和手工测量的光源姿态,一个人类操作员可以使用图形用户界面(GUI)来初始化光源参数。由于标定目标可以通过AprilTags 进行定位,着色模型可以根据给定的参数渲染图像,以近似标定图像。然后,运行优化以最小化标定图像序列和渲染图像的光度误差。在获得校准后的NeLiS之后,机器人可以在黑暗环境中部署,使用收集到的图像构建DarkGS,微调模型,并重新照亮场景。

A. NeLiS的着色模型

通过在平面标定目标上移动相机和光源作为刚体来捕捉标定数据。标定目标是带有四个角落放置为矩形的AprilTags的白色平面(如图3所示)。本文将世界坐标系的原点设置为标定目标的左上角,并假设相机已经预先校准并去除了畸变。NeLiS需要解决的关键问题之一是估计光源相对于相机的相对姿态和。如果给定标定目标的真实大小,可以应用透视-n-点算法(Perspective-n-Point,PnP)来提取和,这些将点从相机坐标变换到世界坐标。然后,光源的位置由给出。由于本文将光源坐标系的z轴与光源的中心线对齐,中心线的方向可以表示为。和都在世界坐标系中。本文仅使用由4个AprilTags界定的兴趣区域(ROI)进行标定。本文假设这个区域是一个朗伯平面,并且在平面上的任何地方都有相同的法线和漫反射反照率(对于灰度图像,λ=1;对于RGB图像,λ=3)。对于ROI中的每个像素,找到相应的相机射线与世界坐标系中目标平面的交点,记为。为了推断在点的入射辐射度,需要对辐射强度分布(RID)、光衰减函数和环境光进行建模。

  1. RID (Radiant Intensity Distribution) 辐射强度分布:

RID通常被建模为光中心线与光线之间角度的函数。之前的研究工作假设RID是已知的,但这种假设不适用于野外机器人部署。相反,本文通过从标定数据中学习一个神经网络RID来消除这种依赖性。

其中,_θ_ 代码MLP的参数。

  1. Light Falloff Curve 光衰减曲线:

光衰减曲线通常基于点光源的假设使用逆平方定律来建模。然而,当物体靠近光源时,逆平方定律(Inverse square law)开始失效。因此,本文选择使用洛伦兹函数(Lorentzian function)的形式来建模光衰减距离。

本文将τ指定为一个可学习的参数,而不是根据光表面的手动测量来估计τ。

  1. Ambient Light 环境光:

通常在暗室中研究成像和照明问题,以通过去除环境光来简化和约束模型。然而,对于现实世界的机器人部署来说,完美的黑暗空间可能无法用于标定。因此,本文将环境光建模为一个可学习的参数A。因此,点x处的入射辐射可以建模为:

  1. BRDF (Bidirectional Reflectance Distribution Function) 双向反射分布函数:

尽管存在能够处理复杂反射效应的BRDF模型,但它们超出了本文的范围。本文选择使用朗伯(Lambertian)反射模型,消除了在BRDF中优化任何参数的需要。本文使用作为BRDF,渲染方程如下:

对于捕获的像素强度Lx,本文使用L1损失,并将NeLiS优化问题公式化为:

B. 构建 DarkGS

在3DGS框架内,本文用高斯点云G来模拟场景(如图3右侧所示)。点云中的每个高斯gi包含位置pi、协方差Σi、不透明度αi、反照率ci和法线ni的属性,即gi = {pi, Σi, αi, ci, ni} ∈ G。给定pi,可以通过公式3计算入射辐射度Ii。对于像素(u, v)的N个有序点,渲染方程变为:

1) Scale Recovery 尺度恢复:

3DGS及其变体的框架通常基于像COLMAP 这样的单目SfM方法。尽管使用AprilTags进行标定可以在NeLiS中以真实度量尺度恢复姿态,但单目SfM仅提供用于构建3D高斯的上尺度姿态。这里,本文引入一个尺度因子s > 0作为可学习参数,以便可以获得具有尺度的位置。使用捕获的像素强度Lu,v,可以通过解决以下优化问题来构建3D高斯:

2) Training Warm-Up 训练预热:

在某些情况下,初始尺度与真实尺度之间的较大差异常常导致优化过程开始时发散和陷入局部最小值。为了解决以上问题,本文提出了一种预热策略。预热策略的总体思想是改写光源姿态,使其与相机同中心且平行。在这种同中心配置中,相机和光源之间的基线为零,以便在粗糙级别上基线与点云之间的尺度差异对着色的影响较小。然后,在前k次迭代中逐渐将姿态恢复到标定结果。在此过程中,公式7被求解,并将优化尺度s。本文定义了一个随迭代增长的预热因子,以至于在第m次迭代中,这个因子是m/k。这里,表示Lie指数映射和Lie对数映射如下:

以至于在预热阶段用以下方式替换 和 :

3) Relighting 重新照明:

一旦DarkGS模型构建完成,可以通过替换公式3中的Ψτ、Φθ和A,用精心设计好的值和函数来重新照明场景。例如,将Φθ中的MLP函数替换为一个常数可以创建没有强烈模式的朗伯照明(Lambertian illumination);将光衰减函数Ψτ替换为一个常数可以模拟来自平行光源的照明源。

C. NeLiS 前端:人机交互式标定

尽管前端软件不是本文的主要贡献,但它为NeLiS的可视化、参数的手动初始化和超参数调整提供了一个交互式界面,如图2。本文发现NeLiS模型容易陷入局部最小值,尤其是当同时从头开始学习MLP和相机-光源姿态时。此外,同时优化MLP和反照率会产生一个约束不足的问题,经常导致数值不稳定。通过本文制作的GUI,首先用高斯分布初始化相机-光源姿态作为初始RID,并微调姿态、反照率和其他参数。然后冻结姿态和反照率,训练基于MLP的RID,防止同时学习多个参数时出现发散。一旦模型收敛,解冻所有可学习参数,并将它们一起优化以达到全局最小值。

实验

A. 实验设置

本文成像系统由一个FLIR机器视觉相机(型号Firefly S)和一个光源组成,它们一起安装在腿部机器人平台的顶部的刚性结构上,如图4所示。相机和光源之间的基线大约为32厘米。尽管通过将光源和相机放置得足够靠近并将它们建模为同中心可以简化光线追踪问题,但在许多应用中,它们之间较长的基线是一个值得研究的首选设计。本文使用了三种不同的光源进行实验:手电筒、潜水灯和泛光灯。为了构建NeLiS,为每种光源配置从不同范围和视角拍摄了大约40张标定图像,并使用25%的图像作为测试集来评估NeLiS的性能。为了构建DarkGS,本文为每个场景拍摄了50到150张图像。所有图像都以RAW格式流式传输,没有进行任何色调映射或白平衡调整。在NeLiS和DarkGS中优化的参数都使用Adam优化器,并集成了LieTorch。

B. 现有的3DGS方法能否胜任这项工作?

作者尝试了几种不同的现有方法,包括普通的3DGS、RawNeRF和Relightable 3DGS,以检查它们是否能够处理由移动的相机和光源在低照明条件下捕获的图像。如图5所示,实验结果表明,这些方法在重建场景时都遇到了问题,主要表现为在合成图像中出现了大量的伪影。作者指出,这些方法的失败主要是因为它们没有能力模拟由于光源移动而导致的光照变化。这说明了现有技术在处理动态光照条件下的场景重建方面的局限性。

C. 为什么需要学习RID?

作者指出,先前的方法通常假设RID是已知的或者使用一些通用函数来近似RID,但这些方法在处理实际应用中的各种光源时存在局限性。如图6a所示,实验中发现,不同的光源具有不同的RID模式,而且这些模式对于现有的方法来说往往是未知的。为了解决这个问题,作者提出了使用机器学习,特别是多层感知器(MLP),来适应性地学习不同光源的RID模式。

如图7的第2和5列,消融研究显示,使用基于MLP的模型可以显著提高渲染性能,因为它能够更准确地拟合各种光源的RID模式,而不是依赖于通用的函数形式。这表明,通过学习RID,可以使场景渲染更加逼真,并提高在不同光照条件下重建场景的能力。

D. 为什么需要学习光衰减?

在现实世界中,光源的强度随着距离的增加而减少,并不严格遵循逆平方定律,尤其是在光源和物体距离较近时。作者指出,先前的研究通常简化地使用逆平方定律来描述光的衰减,但这在实际应用中并不总是准确的。为了更准确地模拟光衰减,作者采用了洛伦兹函数来描述光的衰减,并引入了一个可学习的参数τ。如图6b所示,通过实验,作者发现学习这个参数τ可以显著提高渲染性能,因为它能够更好地拟合实际测量的光衰减数据。这说明了使用数据驱动的方法来学习光衰减模型的重要性,这种方法可以更准确地反映现实世界中光源的行为,从而提高场景重建和渲染的质量。

E. 需要一个完全黑暗的环境吗?

作者指出,在现实世界中,环境光无处不在,而且对于实际部署的机器人而言,找到一个完全没有环境光的黑暗房间是相当困难的。论文中的实验表明,无论是在NeLiS的标定阶段还是在DarkGS的部署实验中,都没有使用完全黑暗的环境。如图7的第2和4列,作者通过模型中的环境光参数A,展示了即使在有环境光的情况下,也能够提高渲染性能。这意味着他们的模型能够适应并处理现实世界中常见的光照条件,而不必依赖于理想化的黑暗环境。

F. 结果可视化

本文在各种真实世界环境中部署了提出的系统,结果如图8所示。与地面真实情况相比,本文的模型能够使用从机器人平台在黑暗环境中捕获的RAW图像重建图像,并且能够重新照亮场景,以揭示由于不均匀和部分照明而在RAW图像中被破坏的更多信息。图8中显示的所有结果都来自手电筒设置,根据得到的数值结果,这是最具挑战性的情况。

局限性

作者指出,本文工作的一个局限性是,模型目前还不支持模拟具有重度阴影或镜面反射的物体(图9a)。然而,最近的一些工作已经展示了将它们集成到3DGS框架中的潜力。本文重新照亮的图像仍然是绿蓝色调(图9b)也很明显。这是因为1) 本文在整个流程中坚持使用RAW图像格式,因为RAW图像的特性导致图像呈现绿色;2) 本文使用的LED灯具有高色温(冷色),所以重新照亮的图像呈现出蓝色。

结论

本文旨在解决使用移动相机-光源系统拍摄的图像来构建3D高斯和场景重新照明的问题。本文提出了一种全新的方法,包括NeLiS,一个相机-光源模拟和校准模型,以及DarkGS,它为黑暗中的场景构建了逼真的表示。结果表明,本文提出的方法能够从部署在黑暗中的机器人平台拍摄的图像中构建可重新照明的高斯,而其他现有方法则无法完成这项工作。消融研究显示,本文提出的模型中的组件有效地提高了着色模型的性能,使模型能够学习任意光型的MLP RID,更好地近似光衰减曲线,并允许在不是完全黑暗的环境中校准和部署系统。从而使本文提出的方法更适用于现实世界的机器人部署。未来的工作包括模拟阴影和非朗伯物体,以及将白平衡和色调映射纳入循环。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/396245.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PasteSpider快速上手开发者专用部署助手

【【【PasteSpider的安装--一键拉取镜像】】】 (首次使用,建议使用MemorySqlite的模式,只要2行代码即可启动一个PasteSpider,第一行拉取PasteSpider的镜像,第二行启动PasteSpider容器!) 安装PasteSpider之后&#xf…

文件上传绕过最新版安全狗

本文来源无问社区,更多实战内容,渗透思路可前往查看http://www.wwlib.cn/index.php/artread/artid/9960.html http分块传输绕过 http分块传输⼀直是⼀个很经典的绕过⽅式,只是在近⼏年分块传输⼀直被卡的很死,很多waf都开始加 …

8.9套题

A. 猴猴吃苹果 题意:给定根节点k,求访问点的顺序,使得每次从上一个点到当前点的权值最大。访问过的点权值为0。权值一样时,输出最小编号 思路:由于是双向边,先求根节点到每一个节点的距离值。在第一轮中&…

【算法题】整数反转,一文彻底搞清!

目录 一、题目描述 二、解题思路 1、整数转为字符串 2、数学运算 三、参考答案 一、题目描述 整数反转 给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。 如果反转后整数超过32位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 …

58 mysql 存储引擎之 MEMORY

前言 我们这里来看一下 MEMORY 存储引擎, 我们常见的那些 临时表什么的, 都是基于 MEMORY 在之前 我们也曾经调试过 相关内存临时表的信息 它主要是 使用 hp_scan, hp_find_record 等等 api 来操作内存中的信息 我们这里基于 information_schema.TABLES 这张基于 MEMORY 的…

加速 Spring Boot 3.3 迁移

1. 关键要点 为什么你应该升级你的服务迁移到 Spring Boot 3.3 时需要更新的内容OpenRewrite 如何帮助使升级更轻松、更快捷 2. 前言 现在Spring Boot 已经到了3.3,但是你在哪里?在过去的 3.x 版本更新中,我们看到了许多新功能,…

从EN标准到REACH法规:全面掌握CE认证洗涤剂的安全要求

一、什么是CE认证? CE认证(Conformit Europenne)是产品符合欧洲经济区(EEA)安全、健康、环保和消费者保护要求的标志。对于洗涤剂而言,CE认证证明该产品符合欧洲相关法规和标准,确保其在使用过…

牛客JS题(三十四)监听对象

注释很详细&#xff0c;直接上代码 涉及知识点&#xff1a; defineProperty实现深度监视递归终止条件引用传值闭包与作用域 题干&#xff1a; 我的答案 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /></head&…

ue5正确导入资源 content(内容),content只能有一个

把资源content下的东西&#xff0c;全部拷贝&#xff0c;放在项目的content下 content只能有一个

【HarmonyOS NEXT星河版开发学习】小型测试案例02-华为登录

个人主页→VON 收录专栏→鸿蒙开发小型案例总结​​​​​ 基础语法部分会发布于github 和 gitee上面&#xff08;还未发布&#xff09; 前言 通过此案例&#xff0c;不得不感叹鸿蒙的强大了&#xff0c;仅仅使用了26行代码就构建出来了这个界面&#xff0c;确实特别方便&#…

【git】简易的命令行入门教程

文章目录 1.Git 全局设置2.创建 git 仓库3.已有仓库 1.Git 全局设置 git config --global user.name "******" git config --global user.email "******qq.com"2.创建 git 仓库 mkdir ****** cd ****** git init touch README.md git add README.md git…

如何在notebook中运行nodejs

在 Python 生态系统的推动下&#xff0c;机器学习和人工智能日益流行&#xff0c;这带来了计算笔记本的概念。这些交互式计算平台主要是为以 Python 为中心的数据科学应用而开发的&#xff0c;它们将代码、计算输出、解释性文本和多媒体合并成一个有内聚力的文档。 作为 JavaS…

Liunx---批量安装服务器

目录 一、环境准备 一、环境准备 1.准备一台rhel7的主机并且打开主机图形。 2.配置好可用ip 3.做kickstart自动安装脚本后面需要用到DHCP&#xff0c;关闭VMware DHCP功能 二、安装图形化kickstart自动安装脚本的工具 yum install system-config-kickstart ----安装图形化生…

python模式设计代码之观察者模式

1、观察者模式 话题订阅模式。观察者模式有两个角色&#xff0c;分别是话题发布者和话题订阅者&#xff08;即观察者&#xff09;。发布者就是把消息发送给话题&#xff0c;观察者就是订阅这个话题从而得到最新的资讯。这个模式的作用就拿手机的消息推送来说&#xff0c;app身…

elasticsearch的学习(四):elasticsearch的一些基本概念

简介 elasticsearch的一些基本概念。 核心概念 索引&#xff1a;一个拥有相似特征的文档的集合。 类型&#xff1a;在索引中定义&#xff0c;是索引的一个逻辑上的分类&#xff0c;版本7以上已经弃用了。 文档&#xff1a;可被索引的基础信息单元&#xff0c;即一条数据&a…

Linux 错误码

目录 一、概述二、含义三、错误处理函数1、IS_ERR2、strerr、perror 一、概述 在 Linux 系统中&#xff0c;错误码是用来表示操作系统运行过程中发生的错误的数字代码。错误码通常由负数表示&#xff0c;0 表示成功&#xff0c;正数表示警告或其他非致命错误。 为了开发者更好…

【Linux基础】Linux基本指令(二)

目录 &#x1f680;前言一&#xff0c;mv指令二&#xff0c;more & less指令2.1 more 指令2.1 less指令 三&#xff0c;重定向技术(重要)3.1 echo指令3.2 输出重定向 >3.3 追加重定向 >>3.4 输入重定向 < 四&#xff0c;head & tail指令4.1 head 指令4.2 t…

【经验分享】ShardingSphere+Springboot-04:自定义分片算法(COMPLEX/STANDARD)

文章目录 3.4 CLASS_BASED 自定义类分片算法3.4.1 复杂分片自定义算法&#xff08;strategyCOMPLEX &#xff09;3.4.2 STANDARD 标准分片自定义算法## 进阶:star: 自定义算法范围查询优化 3.4 CLASS_BASED 自定义类分片算法 3.4.1 复杂分片自定义算法&#xff08;strategyCOM…

VUE结合elementui实现分页器列表

<template><div>外贸知识<div class"art-box"><div class"art-item-box"><div class"art-item" v-for"(art, index) in paginatedArtList" :key"index"><a :href"art.artsrc"&g…

离开SD的大佬们另组战队,开源新品牌冲击MJ王座

FLUX.1强势登场&#xff0c;秒杀Midjourney&#xff1f; Midjourney 6.1 才发表几天&#xff0c;FLUX.1立刻就来踢馆了 离职四个月&#xff0c;Stability AI 核心成员 Robin Rombach 前几日官宣成立了 Black Forest Labs&#xff0c;公司推出的第一个产品 FLUX.1&#xff0c;…