当前位置: 首页 > news >正文

Swift-Mapping: Online Neural Implicit Dense Mapping in Urban Scenes 论文学习记录

这篇论文的主要创新点是:

  1. 提出使用神经隐式八叉树来高效的表示城市场景
  2. 设计了建图框架来高效的管理八叉树

在这里插入图片描述

1. Neural Implicit Octomap

NIO的feature有两个,深度和颜色,对深度和颜色使用独立的MLP分别表示几何和图像信息

1.1 Octree-based Voxel Grid

定义八叉树有KKK层,最小的体素分辨率为lll

基于八叉树的结构分配体素,只有在kkk层的子体素k−1k-1k1层中,有超过两个k−1k-1k1层子体素有效时,第kkk层体素标记为有效

在连续建图过程中,如果点云对应的点已经关联的有效体素,就不用做任何操作,
如果该点没有关联任何无效体素,说明这是新的区域,就随机初始化隐特征向量,增加到八叉树的结构中

这里个人理解,如果点云数据关联到无效体素,无效体素一般是天空、空气,则很可能是点云数据的误差,正常来所是不会出现的

八叉树结构可以促进帧之间的信息传递,因为相邻帧更容易采集到相同的元素,这里个人理解原因是,对于自动驾驶场景,帧之间的数据是快速变化的,所以基于NICE-SLAM基于体素的特征网格,相邻帧之间可能没有相同的元素,而因为八叉树有远景的数据,即使快速移动,相同的场景即使没有出现,也可能属于同一个远景,可能连接在同一个远景上面,这样是有助于帧之间的信息传递的

1.2 Distance Adaptive Voxel Initialization

这里自适应的距离采用本质上是近大远小的原则,如果假设最大采用距离dmax=100md_{max}=100mdmax=100m,假设八叉树的最大层数K=3K=3K=3

根据论文所说,最大距离对应的分辨率是l∗2K−1l*2^{K-1}l2K1,且kkk层包括从距离2k−K∗dmax2^{k-K}*d_{max}2kKdmax2k−K+1∗dmax2^{k-K+1}*d_{max}2kK+1dmax,可以列出以下表格,特征维度的计算在Hierarchical Latent Vector Extraction部分提到,kkk层的隐向量维度是k−1k-1k1的二倍

kkk单个体素数量自适应距离该层的特征维度分辨率
k=0k=0k=064个12.5−25m12.5-25m12.525mDDDlll
k=1k=1k=18个25−50m25-50m2550m2D2D2D2l2l2l
k=2k=2k=21个50−100m50-100m50100m4D4D4D4l4l4l

2. Dense Mapping Using Hierarchical Latent Vectors

iMAP通过设置关键帧列表来缓解在MLP训练过程中的灾难性遗忘,Nice-SLAM通过优化特征网格,固定MLP来缓解灾难性遗忘,在此篇论文中,同时优化MLP和网格数据,通过引入分层隐向量来缓解灾难性遗忘

2.1 Sparse Hybrid Voxel Sampling

采集到的深度信息经常有很多噪声,在这篇论文中,采用从LIDAR的稀疏深度输入,通过CompletionFormer进行深度的填充,得到稠密深度

在光线上混合采样策略和Nice-SLAM相同,都是均匀采样一部分,再在深度附近采样一部分

但是由于NIO是稀疏的,所以不是所有的采样点都会对应有效的体素,那怎么计算一个采样点是否在有效体素内呢?

论文中给出的方法是大量采样,对于采集到的点计算其三维坐标,论文中提到的除法运算就是,三维坐标点除以分辨率,取整后就可以得到这个采样点落在了哪个体素中,这样就可以通过简单的方法判断采样点是否有效

对于落在有效体素中的采样点,就会做体征提取和MLP,参与到之后的优化中,而对于落在无效体素中的采样点,说明这个采样点是空气,给其特征赋予0,不参与MLP和优化,只参与之后的体渲染(volume rendering)

2.2 Hierarchical Latent Vector Extraction

在2.1之后,每个有效点都和有效体素对应之后,ϕkd(p)\phi^d_k(p)ϕkd(p)ϕkc(p)\phi^c_k(p)ϕkc(p)用来提取每个层中每个有效体素的深度/颜色特征

在获取每层的特征之后,结合上表中维度的不同,通过控制和αk\alpha_kαkβk\beta_kβk相乘的次数,来保证每一层的特征维度都是一样的,例如,对于k=0k=0k=0,此时维度为DDD,最后的特征维度就是8∗1D8*1D81D,而k=1k=1k=1,此时维度为2D2D2D,最后的特征维度就是4∗2D4*2D42D,以此类推

之后对于每层的特征,最大池化,获取最终的特征

2.3 MLP Decoder

MLP获得占有率和颜色,通过体渲染得到深度和RGB,计算和真实值的L2L2L2误差,最后联合优化MLP,体素的特征,α\alphaα,β\betaβ

3. Modeling Dynamic Urban Scenes

论文中也提出了移动八叉树

使用MOTSFusion获得每一帧中每个交通工具的语义标签

通过公式,算出这个移动的物体对应的体素index和3D点云,通过移动物体的体素和对应的特征来实现车辆的移动

4. Experiments

  1. 和iMAP,Nice-SLAM,比室内重建的能力,评估参数:Acc, Comp. Ratio,FPS
  2. 和两个离线的方法,还有两个在线的方法比较室外场景重建,评估参数:loss,PSNR
  3. 和Nice-SLAM比较PSNRtrainPSNR_{train}PSNRtrain等参数,证明其没有灾难性遗忘
  4. 通过不同频率的对数据集中的帧采样模拟快速自运动采集到的数据,通过和Nice-SLAM比PSNR证明其有快速自运动的能力

消融:

  1. 八叉树的深度,随着KKK的增加,性能提高
  2. α\alphaα,β\betaβ:把α\alphaα置1,β\betaβ随机,通过比较PSNR证明α\alphaα,β\betaβ是有效的
http://www.dtcms.com/a/541081.html

相关文章:

  • Rust性能优化与最佳实践:构建高性能服务端与客户端应用
  • 海口网站建设过程全国做网站的
  • 网站建设一般满足什么需求电商网站怎么制作
  • 【若依前后端分离版,docker部署到服务器流程详解】
  • 想注册一个设计网站吗自己做的网站403
  • 没有基础怎么学网站建设python做网站教程
  • 网站构建代码模板北京公司网站优化
  • Ruby 范围(Range)
  • C学习过程记录
  • 企业微信自建应用后通过api给用户发消息
  • 岳池发展建设集团有限公司门户网站怎样看网页的友情链接
  • 亚马逊网站怎么做软件开发网站建设维护
  • 【VLNs篇】11:Dynam3D: 动态分层3D令牌赋能视觉语言导航中的VLM
  • 算法复杂度
  • Quant4.0,基于AgentScope开发 | 年化316%,回撤14%的超级轮动策略,附python代码
  • 第三方检测机构如何选对LIMS?以“数治”破解效率与合规难题
  • 建设网站需要什么手续设计公司网站 唐山
  • 网站接入地查询织梦网站修改数据库表数据
  • 南昌企业做网站设计怎么设置微信公众号
  • esp32在vscode使用jtag下载调试openocd问题解决
  • Java奇幻漂流:从Spring秘境到微服务星辰的冒险指南
  • Ubuntu 20.04.6使用vscode从0开始搭建uniapp
  • 【PDF】PDF技术概述
  • 金仓KCSM认证攻略:经验分享
  • [Nginx] 3.由HTTP转发引出的重定向问题
  • 子网站如何做哪个网站有做兼职的
  • hive的SQL语句练习2
  • 做中学网站做课件的网站有哪些
  • 【Java +AI |基础篇day6、7、8 OOP高级 继承 多态 抽象 代码块 内部类 函数式编程】
  • 菲林式投影灯成像模糊?OAS 软件精准优化破瓶颈