NeRF-SLAM:实时密集单眼SLAM 辐射场的实时密集单眼SLAM

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

1be5ee034d9364116d59e7ac00dcbdba.jpeg

作者丨泡泡机器人

来源丨 泡泡机器人SLAM

点击进入—>3D视觉工坊学习交流群

标题:Real-Time Dense Monocular SLAM with Neural Radiance Fields

作者:Rosinol, Antoni and Leonard, John J and Carlone, Luca

来源:arxiv

编译:张海晗

审核:zhh

代码:https://github.com/ToniRV/NeRF-SLAM

摘要

我们提出了一个新的几何和光度3D映射管道,用于从单眼图像中准确和实时地重建场景。为了实现这一目标,我们利用了最近在密集单眼SLAM和实时分层容积神经辐射场方面的进展。我们的见解是,密集的单眼SLAM通过提供准确的姿势估计和具有相关不确定性的深度图,为实时适应场景的神经辐射场提供了正确的信息。通过我们提出的基于不确定性的深度损失,我们不仅实现了良好的光度测量精度,还实现了巨大的几何精度。事实上,我们提出的管道比竞争对手的方法实现了更好的几何和光度测量精度(PSNR提高了179%,L1深度提高了86%),同时实时工作并只使用单眼图像。

主要贡献

我们提出了第一个结合密集单眼SLAM和分层体积神经辐射场优点的场景重建管道。

我们的方法从图像流中建立精确的辐射场,不需要姿势或深度作为输入,并且可以实时运行。

我们在Replica数据集上实现了单眼方法的最先进性能。

主要方法

6d594b4394d9cb8ef6cfd66067effda6.png

我们管道的输入包括连续的单眼图像(这里表示为Img 1和Img 2)。从右上角开始,我们的架构使用Instant-NGP拟合一个NeRF,我们使用RGB图像I和深度D对其进行监督,其中深度由其边缘协方差ΣD加权。受Rosinol等人[23]的启发,我们从密集的单眼SLAM计算这些协方差。在我们的案例中,我们使用Droid-SLAM。我们在第3.1节提供了关于信息流的更多细节。蓝色显示的是Droid-SLAM的贡献和信息流,同样,粉红色是Rosinol的贡献,而红色是我们的贡献。

1. 追踪

密集SLAM与协方差 我们使用Droid-SLAM作为我们的跟踪模块,它为每个关键帧提供密集的深度图和姿势。从一连串的图像开始,Droid-SLAM首先计算出i和j两帧之间的密集光流pij,使用的架构与Raft相似。Raft的核心是一个卷积GRU(图2中的ConvGRU),给定一对帧之间的相关性和对当前光流pij的猜测,计算一个新的流pij,以及每个光流测量的权重Σpij。

有了这些流量和权重作为测量值,DroidSLAM解决了一个密集束调整(BA)问题,其中三维几何被参数化为每个关键帧的一组反深度图。这种结构的参数化导致了解决密集BA问题的极其有效的方式,通过将方程组线性化为我们熟悉的相机/深度箭头状的块状稀疏Hessian H∈R (c+p)×(c+p) ,其中c和p是相机和点的维度,可以被表述为一个线性最小二乘法问题。

从图中可以看出,为了解决线性最小二乘问题,我们用Hessian的Schur补数来计算缩小的相机矩阵HT,它不依赖于深度,维度小得多,为R c×c。通过对HT=LLT的Cholesky因子化,其中L是下三角Cholesky因子,然后通过前置和后置求解姿势T,从而解决相机姿势的小问题。此外,给定姿势T和深度D,Droid-SLAM建议计算诱导光流,并再次将其作为初始猜测送入ConvGRU网络,如图2左侧所示,其中Π和Π-1,是投影和背投函数。图2中的蓝色箭头显示了跟踪循环,并对应于Droid-SLAM。然后,受Rosinol等人的启发,我们进一步计算密集深度图和Droid-SLAM的姿势的边际协方差(图2的紫色箭头)。为此,我们需要利用Hessian的结构,我们对其进行块状分割如下:

3d7fac141b7dc39f5ab8da1924356fbb.png

其中H是Hessian矩阵,b是残差,C是块状相机矩阵,P是对应于每个像素每个关键帧的反深度的对角矩阵。我们用∆ξ表示SE(3)中相机姿态的谎言代数的delta更新,而∆d是每个像素反深度的delta更新。E是相机/深度对角线Hessian的块矩阵,v和w对应于姿势和深度的残差。从这个Hessian的块分割中,我们可以有效地计算密集深度Σd和姿势ΣT的边际协方差:

a65f7d96af07c24fa20bdc6b8be066e0.png

最后,鉴于跟踪模块计算出的所有信息--姿势、深度、它们各自的边际协方差以及输入的RGB图像--我们可以优化我们的辐射场参数,并同时完善相机的姿势。

6b59d9ca205d03a0350925e922564be5.png

2. 建图

鉴于每个关键帧的密集深度图,有可能对我们的神经体积进行深度监督。不幸的是,由于其密度,深度图是非常嘈杂的,因为即使是无纹理的区域也被赋予了一个深度值。图3显示,密集的单眼SLAM所产生的点云是特别嘈杂的,并且包含大的离群值(图3的顶部图像)。根据这些深度图监督我们的辐射度场会导致有偏见的重建。

Rosinol等人的研究表明,深度估计的不确定性是一个很好的信号,可以为经典的TSDF体积融合的深度值加权。受这些结果的启发,我们使用深度不确定性估计来加权深度损失,我们用它来监督我们的神经体积。图1显示了输入的RGB图像,其相应的深度图的不确定性,所产生的点云(在用σd≤1.0对其不确定性进行阈值化以实现可视化),以及我们使用不确定性加权的深度损失时的结果。鉴于不确定性感知的损失,我们将我们的映射损失表述为:

95e73a2a888117d3ef5d8f8300fcc8ec.png


们对姿T和神参数Θ行最小化,定超参数λD来平衡深度和督(我λD1.0)。特是,我的深度失是由以下公式出的。

5ef15f1473da6dcaf8504bc2d2c65599.png

其中,D*是渲染的深度,DΣD是由跟踪模的密集深度和不确定性。我将深度D*渲染为预期的射线终止距离。每个像素的深度都是通沿着像素的射线的三位置来算的,在i处评估密度σi,并将得到的密度alpha合成,与准的体渲染

82a696762b151ec9b9bdc156fccd1f18.png

颜色的渲染损失如下:

24722ecd8d3e0a22628c7326f9a5f91b.png

3. 架构

我们的管道由一个跟踪线程和一个映射线程组成,两者都是实时和并行运行的。追踪线程不断地将关键帧活动窗口的BA重投影误差降到最低。映射线程总是优化从跟踪线程收到的所有关键帧,并且没有一个有效帧的滑动窗口。这些线程之间的唯一通信发生在追踪管道生成新关键帧时。在每一个新的关键帧上,跟踪线程将当前关键帧的姿势与它们各自的图像和估计的深度图,以及深度的边际协方差,发送到映射线程。只有跟踪线程的滑动优化窗口中当前可用的信息被发送到映射线程。跟踪线程的有效滑动窗口最多包括8个关键帧。只要前一个关键帧和当前帧之间的平均光流高于一个阈值(在我们的例子中是2.5像素),跟踪线程就会生成一个新的关键帧。最后,映射线程还负责渲染,以实现重建的交互式可视化。

主要结果

6086bee34b33912908789b3eca9e3da5.png

b0b083ce5f22d5e60870d14109e7e69b.png

f4b67323f2eceb26c4e42700d6ef53fa.png

本文仅做学术分享,如有侵权,请联系删文。

点击进入—>3D视觉工坊学习交流群

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
2.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
3.国内首个面向工业级实战的点云处理课程
4.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
5.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
6.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
7.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

8.从零搭建一套结构光3D重建系统[理论+源码+实践]

9.单目深度估计方法:算法梳理与代码实现

10.自动驾驶中的深度学习模型部署实战

11.相机模型与标定(单目+双目+鱼眼)

12.重磅!四旋翼飞行器:算法与实战

13.ROS2从入门到精通:理论与实战

14.国内首个3D缺陷检测教程:理论、源码与实战

15.基于Open3D的点云处理入门与实战教程

16.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进

重磅!粉丝学习交流群已成立

交流群主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、ORB-SLAM系列源码交流、深度估计、TOF、求职交流等方向。

扫描以下二维码,添加小助理微信(dddvisiona),一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

6eafe5e3a185f99d929191dc3e33b1a9.jpeg

▲长按加微信群或投稿,微信号:dddvisiona

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)源码分享、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答等进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,6000+星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看,3天内无条件退款

03fba0e95f81cd61c6db3272df5e8ead.jpeg

高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值