经典文献阅读之--PCAccumulation(动态三维场景构建)

2023-05-16

0. 简介

多波束激光雷达传感器,常用于自动驾驶汽车和移动机器人,获取三维范围扫描序列(“帧”)。由于角度扫描分辨率有限和遮挡,每帧只稀疏地覆盖场景。稀疏性限制了下游过程的性能,如语义分割或表面重建。幸运的是,当传感器移动时,从不同的视点捕获帧。这提供了补充信息,并在公共场景坐标系中累积时,产生了更密集的采样和对基础三维场景的更全面覆盖。然而,扫描的场景通常包含移动的物体。仅通过补偿扫描仪的运动无法正确对齐这些移动物体上的点。为此文章《Dynamic 3D Scene Analysis by Point Cloud Accumulation》提供了多帧点云积累作为 3D 扫描序列的中间表示,并开发了一种利用户外街景几何布局和刚性物体的归纳偏差的方法。该文代码也在Github中完成了开源。

Dynamic 3D Scene Analysis by Point Cloud Accumulation

1. 文章贡献

  1. 提出了一种新颖的,可学习的模型,用于在多帧中时间累积三维点云序列,将背景与动态前景物体分开。通过将场景分解为随时间移动的固体物体,我们的模型能够学习多帧运动,并在更长时间序列中以上下文的方式推理车辆运动。
  2. 该方法允许低延迟处理,因为它对原始点云进行操作,仅需要它们的序列顺序作为进一步的输入。因此,适用于在线场景。
  3. 相比于之前的工作,本文着重对移动物体和静止场景相对于移动中的 LiDAR 传感器运动建模,而不是对每一个点独立地估计运动流。这样的方式可以充分利用刚体运动的假设,从而提升运动流估计的准确性。

在这里插入图片描述

2. 详细内容

多任务模型的网络架构在图2中示意描述。为了随着时间累积点,我们利用了场景可以分解为移动为刚体的代理[19]的归纳偏见。我们首先提取每个单独帧的潜在基础特征(§3.1),然后将其作为输入到任务特定的头部。为了估计自我运动,我们使用可微分的配准模块(§3.2)。我们不仅使用自我运动来对齐静态场景部分,还使用它来对齐基础特征,这些基础特征在后续阶段中被重复使用。为了解释动态前景的运动,我们利用对齐的基础特征并进行运动分割(§3.3)以及动态前景对象的时空关联(§3.4)。最后,我们从每个前景对象的时空特征解码出它的刚体运动(§3.5)。我们端对端地训练整个模型,使用由五个项组成的损失L:
在这里插入图片描述
在下面,我们对每个模块进行高层次的描述。详细的网络架构。

2.1 问题设定

考虑有序点云序列 X = X t t = 1 T X={X^t}^T_{t=1} X=Xtt=1T,其由变量大小的 T T T 帧组成,每帧 X t = [ x 1 t , . . . , x i t , . . . , x t n t ] ∈ R 3 × n t X^t=[x^t_1 ,...,x^t_i ,...,x^t{n_t} ]∈R^{3×n_t} Xt=[x1t,...,xit,...,xtnt]R3×nt 是由移动的车辆在恒定时间间隔 ∆ t ∆t t内捕获。每一帧点云进行前景与背景分割。背景点被用来估计传感器的自我运动,而前景点则继续被分类为移动或静止的前景。我们将第一帧 X 1 X^1 X1 称为目标帧,而其余帧 { X t ∣ t > 1 } \{X^t | t>1\} {Xtt>1} 称为原始帧。文中的目标是估计将每个原始帧对齐到目标帧的流向量 { V t ∈ R 3 × n t ∣ t > 1 } \{V^t∈\mathbb{R}^{3×n_t} | t>1\} {VtR3×ntt>1},从而累积点云。每个帧可以分解为静态部分 X s t a t i c t X^t_{static} Xstatict K t K_t Kt 刚性移动动态部分 X d y n a m i c t = { X k t } k = 1 K t X^t_{dynamic}=\{X^t_k \}^{K_t}_{k=1} Xdynamict={Xkt}k=1Kt 。具体如下所示:
在这里插入图片描述
其中 T ◦ X ( T ◦ x ) T◦X(T ◦ x) TX(Tx)表示将变换应用于点集 X X X(或点 x x x)。
在这里插入图片描述

2.2 骨干网络

骨干网络将单帧的 3D 点云转换为俯视图(BEV)潜在特征图像。具体来说,我们使用点级 MLP 将点坐标提升到更高维潜在空间,然后将它们散射到与重力轴对齐的 H × W H×W H×W 特征网格中。使用最大池化聚合每个网格单元(“柱”)的特征,然后通过 2D UNet [37] 扩大其感受野并加强局部上下文。骨干网络的输出是每个 T T T帧的 2D 潜在基础特征图 F b a s e t F^t_{base} Fbaset

在这里插入图片描述

2.3 传感器运动估计

我们使用基于对应关系的配准模块单独为每个源帧估计本体运动 T e g o t T^t_{ego} Tegot。属于动态对象的点可以偏离本体运动的估计,特别是在使用基于对应关系的方法时,应该被舍弃。然而,在流水线的早期阶段,需要考虑场景动态性是很困难的,因此我们采用保守的方法并将点分类为背景和前景,其中前景包含所有可移动的对象(例如,汽车和行人),而不考虑实际的动态性[19]。预测的前景蒙版后来用于在§3.3中指导运动分割。

我们首先使用两个专用的头部从每个 F b a s e t F^t_{base} Fbaset中提取本体运动特征 F e t g o F^t_ego Fetgo和前景得分 s F G t s^t_{FG} sFGt,每个都包含两个卷积层,由ReLU激活和批量标准化隔开。然后,我们随机抽样 s F G t < τ s^t_{FG} < τ sFGt<τ的Nego背景柱,并计算柱心坐标 P t = p l t P_t = {p^t_l} Pt=plt。本体运动 T e g o t T^t_{ego} Tegot被估计为:
在这里插入图片描述
在这里, ϕ ( p l t , P 1 ) ϕ(p^t_l , P^1) ϕ(plt,P1) 找到了 p l t p^t_l plt P 1 P^1 P1中的软对应,而 w l t w^t_l wlt是对应对 ( p l t , ϕ ( p l t , P 1 ) ) (p^t_l, ϕ(p^t_l , P^1)) (plt,ϕ(plt,P1)) 之间的权重。 ϕ ( p l t , P 1 ) ϕ(p^t_l , P^1) ϕ(plt,P1) w l t w^t_l wlt 都是使用带有熵正则化的 Sinkhorn 算法从 F e g o t F^t_{ego} Fegot估计出来的,其中 F e g o t F^t_{ego} Fegot有一些松弛行/列填充[11,66],并且 T e g o t T^t_{ego} Tegot的最优值是通过可微分的Kabsch算法[27]计算出来的。简要来说,其中 p p p为 Pillar 中心的坐标, ɸ ɸ ɸ 为 帧 t t t 中Pillar p p p在帧1中的软映射, w w w为相应的映射权重。

2.4 移动物体分割

执行动作分割,重新使用每帧基础功能 { F b a s e t } \{F^t_{base}\} {Fbaset}。具体来说,我们应用可微分的特征扭曲方案[49],使用预测的自我运动 T e g o t T^t_{ego} Tegot扭曲每个 F b a s e t F^t_{base} Fbaset,并通过沿通道维度堆叠扭曲的特征图来获得大小为 C × T × H × W C×T×H×W C×T×H×W的时空3D特征张量。然后将这个特征张量通过一系列3D卷积层,再经过沿时间维度 T T T的最大池化。最后,我们应用一个小的2D UNet来获得2D运动特征图F motion。为了减少离散误差,我们将网格运动特征双线性插值到每帧中所有前景点上。计算 x i t x^t_i xit的点级运动特征如下:

…详情请参照古月居

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

经典文献阅读之--PCAccumulation(动态三维场景构建) 的相关文章

  • C语言字符数组与字符串的使用及加结束符‘\0‘的问题

    1 字符数组的定义与初始化 字符数组的初始化 xff0c 最容易理解的方式就是逐个字符赋给数组中各元素 char str 10 61 I a m h a p p y 即把10个字符分别赋给str 0 到str 9 10个元素 如果花括号中提
  • 追求技术之路 - 那些陪伴我的书籍

    如今已经在广州一家嵌入式公司实习 xff0c 分享大学里度过的一些书籍 xff0c 有些还没读完 xff0c 个人比较喜欢经典书籍 xff0c 研读起来就有种奇妙的感觉 xff0c 比起人与人之间的复杂的关系 xff0c 书籍带给我的感觉很
  • 中断,异常,系统调用,进程切换时的堆栈变化和寄存器保存

    1 中断 xff0c 异常 xff0c 系统调用相同 xff1a CPU自动压入 xff1a ss 运行级别提升时需切换堆栈 xff0c 因此多压入用户态的栈段ss xff0c esp 运行级别提升时需切换堆栈 xff0c 因此多压入用户态
  • Pipeline 核心语法

    常用开发工具 选择任意pipeline类型的作业 xff0c 点击 流水线语法 即可进入pipeline开发工具页面 1 片段生成器 流水线代码片段生成器 xff0c 非常好用 xff0c 在这里可以找到每个插件以及Jenkins内置的方法
  • Pipeline Groovy 语法

    Groovy是一种功能强大 xff0c 可选类型和动态 语言 xff0c 支持Java平台 旨在提高开发人员的生产力得益于简洁 xff0c 熟悉且简单易学的语法 可以与任何Java程序顺利集成 xff0c 并立即为您的应用程序提供强大的功能
  • Jenkins 共享库应用

    1 创建一个共享库 1 xff09 创建共享库 可以直接在github中创建一个公开类型的仓库 xff0c 也可以创建私有类型的gitlab仓库 xff0c 需要提前配置好仓库的认证凭据 xff0c 这里使用gitlab创建了一个名为jen
  • Generic WebHookTrigger 自动触发

    1 安装配置 Generic WebHookTrigger 目的 xff1a 为Jenkins作业添加触发器 xff0c 便于其他系统调用 安装配置Generic WebHook xff0c 插件名称 xff1a Generic Webho
  • Jenkins 权限管理与凭据

    权限管理 安装插件 Role Based Strategy 可以对Jenkins用户进行权限管理 xff0c 如果在Jenkins控制台安装插件失败 xff0c 可以去Jenkins官网下载插件然后再上传 Role based Author
  • 部署Maven环境

    JDK xff1a 在maven3 3 以上的版本需要JDK版本1 7 43 xff0c 内存 xff1a 没有最低限制 磁盘 xff1a 1G 43 可用磁盘空间 操作系统 xff1a 没有限制 下载地址 xff1a Maven Down
  • Maven 集成

    先在执行节点上安装Maven xff1a 部署Maven环境 lovely nn的博客 CSDN博客 JDK xff1a 在maven3 3 以上的版本需要JDK版本1 7 43 xff0c 内存 xff1a 没有最低限制 磁盘 xff1a
  • 哪些技术好书值得一读再读?阿里大牛列了一份经典书单

    喜爱读书 xff0c 就等于把生活中寂寞无聊的时光换成巨大享受的时刻 有了书 xff0c 各个领域的智慧 xff0c 几乎触手可及 我们能有幸站在前辈 巨人的肩膀上 xff0c 看更远的风景 4月23日世界读书日 xff0c 阿里九位技术大
  • JDK 环境部署

    环境Centos 7 6 卸载旧的 查看旧的java版本 java version 查看jdk信息 rpm qa grep i jdk 卸载jdk rpm e nodeps jdk信息 安装新的 rpm安装1jdk rpm ivh jdk
  • Docker部署Gitlab

    这里用docker部署gitlab ce 14 0 0 ce 0版本 xff1a docker pull gitlab gitlab ce 14 0 0 ce 0 mkdir p gitlab1 config data logs docke
  • Pipeline 部署K8S应用

    概述 提前在K8S集群中部署jenkins和gitlab应用 xff0c gitlab用于存放应K8S的资源清单Yaml文件 xff0c Jenkins用于拉取gitlab上的Yaml文件并将其部署到K8S集群中 将所有Yaml文件放在Gi
  • curl https方式访问kubernetes集群API

    使用curl https方式访问kubernetes集群的api 认证方式需要用到token xff0c 这里使用变量赋予APISERVER 和TOKEN的值 apiserver xff1a APISERVER 61 kubectl con
  • Deployment 回滚

    更新Deployment资源时 xff0c pod状态为Pending xff0c 使用delete命令是删不掉Pending的pod的 xff0c 因为Deployment会无限创建 xff0c 这时候需要用到Deployment的回滚功
  • 在Pod中执行目录操作,提示Permission denied

    问题 xff1a 进入Pod执行创建文件的操作 xff0c 出现如下报错 kubectl exec it jenkins 5b688ddcc7 h72f2 n cicd bash touch test touch cannot touch
  • Copy宿主机文件到Docker容器中

    1 查找容器名 docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 67686c68c78c keycloak v3 34 opt keycloak bin k 3
  • K8S中部署Grafana

    官方部署文档 xff1a Deploy Grafana on Kubernetes Grafana Labs 以下Yaml从官方copy下来的并做了些修改 xff0c Service使用Nodeport方式是为了便于本地访问 cat gra
  • 在 AlertManager 报警通知中展示监控图表

    参考原文档 xff1a 在 AlertManager 报警通知中展示监控图表 Promoter 是一个用于 AlertManager 通知的 Webhooks 实现 xff0c 支持在消息通知中展示实时报警图表 xff0c 也支持定制消息通

随机推荐

  • Github添加SSH keys

    问题 xff1a 在本地 xff08 linux系统 xff09 下载github仓库源代码时 xff0c 执行git clone 命令时出现以下报错 xff1a git clone git 64 github com hh hub pro
  • 阿里技术大牛最爱的“闲书”,你看过多少?

    在忙碌的写代码 修bug生活里 xff0c 你有多久没有闲下来 xff0c 读读 闲书 xff0c 取悦自己了呢 xff1f 正如梁文道所说 xff0c 读一些无用的书 xff0c 做一些无用的事 xff0c 花一些无用的时间 xff0c
  • blackbox_exporter 黑盒监测

    一 简介 blackbox exporter blackbox exporter是Prometheus 官方提供的 exporter 之一 xff0c 可以提供 http dns tcp icmp 的监控数据采集 xff0c blackbo
  • Python 与Django环境搭建

    系统 xff1a Windows 10 python环境搭建 1 python安装步骤 python包下载链接 xff1a https www python org downloads windows 下载版本 xff1a python 3
  • prometheus图

    Prometheus Server 框架图 xff0c 只要能提供对应的metrics接口 xff0c promehteus就能接入监控 xff0c prometheus会把抓取到的指标数据持久化到本地磁盘中 xff0c 跟其它数据库一样它
  • 经典文献阅读之--BEVDistill(BEV蒸馏)

    0 简介 之前作者前段时间在研究BEV的相关算法 xff0c 当时就觉得BEV算法好是好 xff0c 但是所需要的内存以及计算资源实在是太大了 xff0c 无法实时在真实场景中运行 我们知道多视图 xff08 multi view 三维目标
  • 经典文献阅读之--FastFlowNet(轻量光流估计)

    0 简介 密集的光流估计在许多机器人视觉任务中起着关键作用 随着深度学习的到来 xff0c 已经比传统方法以令人满意的精度预测了它 然而 xff0c 当前的网络经常占用大量参数并且需要沉重的计算成本 这些缺点阻碍了在功率或内存受限的移动设备
  • Matlab与ROS(1/2)---Message(三)

    0 简介 消息是ROS中交换数据的主要容器 主题和服务使用消息在节点之间传输数据 为了标识其数据结构 xff0c 每条消息都有一个消息类型 例如 xff0c 来自激光扫描仪的传感器数据通常以sensor msgs LaserScan类型的消
  • Matlab与ROS(1/2)---发布者和订阅者数据通信(四)

    0 简介 我们在前面一节介绍了Matlab与Message的通信 xff0c 而我们这一节主要来介绍发布者和订阅者在Matlab中的操作 这部分我们主要来看一下ROS1和ROS2中分别是如何使用Topic的 1 ROS1的消息订阅与发布 1
  • Matlab与ROS(1/2)---服务端和客户端数据通信(五)

    0 简介 在前几讲我们讲了Matlab中的Message以及Topic的相关知识 而ROS主要支持的通信机制还有服务这一类 服务通过允许请求以及响应的通信方式 xff0c 来给整个系统完成更紧密的耦合 服务客户端向服务服务器发送请求消息并等
  • Matlab与ROS---Action与Gazebo(六)

    0 简介 对于ROS1而言 xff0c 其在Matlab当中相较于ROS2还有一些比较高级的用法 xff0c 比如说我们接下来要说的Action和Gazebo仿真 1 ROS Action ROS的Action行为模式当中也存在有一个客户端
  • Matlab与ROS---TF坐标系(七)

    0 简介 我们上面讲了最基础的通信机制以及在Matlab中如何使用这些通信 xff0c 下面我们这一讲来主要介绍ROS当中最常用的TF坐标系在Matlab中的使用 tf是分布式的 xff0c 因此所有的坐标帧信息对ROS网络中的每个节点都是
  • OCR如何读取皱巴巴的文件?深度学习在文档图像形变矫正的应用详解

    阿里妹导读 xff1a OCR作为智能审核的重要环节 xff0c 其识别准确率影响着最终审核效果的好坏 xff0c 而来自扫描仪 智能手机的文档图像多存在卷曲 折叠 本文旨在利用深度学习算法对文档图像的形变进行矫正 xff0c 从而提高OC
  • 经典文献阅读之--VGICP(体素化的ICP匹配)

    0 简介 之前我们在以前的文章中介绍了很多有关于点云匹配相关的知识 xff0c 最近两年处理GICP这一大一统的ICP匹配方法以外 xff0c 还有一个工作对体素化和ICP这两者打起了心思 xff0c Voxelized GICP for
  • 经典文献阅读之--Orbeez-SLAM(单目稠密点云建图)

    0 简介 对于现在的VSLAM而言 xff0c 现在越来越多的工作开始聚焦于如何将深度学习结合到VSLAM当中 xff0c 而最近的这个工作就给出了一个比较合适的方法 Orbeez SLAM A Real time Monocular Vi
  • 经典文献阅读之--NORLAB-ICP(重力约束ICP)

    0 简介 最近几年IPC相关的文章也出了不少 xff0c 最近作者有看到了一篇比较有意思的ICP论文 Gravity constrained point cloud registration xff0c 这篇论文将传统的ICP考虑了重力因素
  • 常见的3d bounding box标注工具

    0 简介 对于3d bounding box而言 xff0c 近几年随着自动驾驶的火热 xff0c 其标注工具也日渐多了起来 xff0c 本篇文章不讲具体的算法 xff0c 这里主要聚焦于这些开源的3d bounding box标注工具 x
  • 经典文献阅读之--A Lifelong Learning Approach to Mobile Robot Navigation(终生学习轨迹导航)

    0 简介 终生学习作为近年来比较火的一种深度学习方式 xff0c 导航终身学习 LLfN 旨在解决标准导航问题的一种新变体 xff0c 在该问题中 xff0c 智能体在有限的内存预算下 xff0c 通过学习提高在线经验或跨环境的导航性能 而
  • 避免使用第三方工具完成电脑环境检测

    0 简介 在之前配置各种深度学习环境的时候经常需要先检测一下电脑的软硬件环境 xff0c 其实整个过程比较重复和固定 xff0c 所以我们是否有可能一键检测Python版本 PIP版本 Conda版本 CUDA版本 电脑系统 CPU核数 C
  • 经典文献阅读之--PCAccumulation(动态三维场景构建)

    0 简介 多波束激光雷达传感器 xff0c 常用于自动驾驶汽车和移动机器人 xff0c 获取三维范围扫描序列 xff08 帧 xff09 由于角度扫描分辨率有限和遮挡 xff0c 每帧只稀疏地覆盖场景 稀疏性限制了下游过程的性能 xff0c