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

news2024/9/22 11:35:49

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的点级运动特征如下:

…详情请参照古月居

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

北京地铁:充分发挥数据价值,全面提升业财融合能力

4月19日-4月21日&#xff0c;一年一度的用友BIP技术大会圆满召开。来自行业领先企业的CIO/CDO、生态伙伴、开发者、分析师、媒体等共聚北京用友产业园&#xff0c;了解最新技术发展趋势、探讨行业热点话题。会上&#xff0c;北京地铁运营有限公司&#xff08;以下简称“北京地铁…

shared_ptr 的线程安全性

多线程环境下&#xff0c;调用不同的 shared_ptr 实例的成员函数是不需要额外的同步手段的&#xff0c;即使这些 shared_ptr 管理的是相同的对象。 多线程对于同一个 shared_ptr 实例的读操作&#xff08;访问&#xff09;可以保证线程安全&#xff1b;但对于同一个 shared_ptr…

对标世界一流|从Just in time到Just in case ——汽车行业供应链管理经验借鉴

01 丰田汽车精益生产 作为最复杂和最成熟的供应链之一&#xff0c;汽车行业供应链无疑是供应链领域集大成者&#xff0c;而提起汽车行业供应链&#xff0c;就不得不提到丰田汽车&#xff1b;提到丰田汽车&#xff0c;就肯定离不开大名鼎鼎的精益生产以及JIT模式。 JIT模式由丰…

【UE】高级载具插件-05-扫描材质

效果 步骤 1. 首先创建一个材质 再创建一个材质参数集 创建材质实例 2. 将后期处理体积放入场景&#xff0c;并缩放至合适的大小使其全方位覆盖 在后期处理材质中添加一个数组 选择资产引用 将材质实例拖入 3. 打开参数集&#xff0c;添加一个数组元素 设置默认值和参数名 4. …

2023年湖北省中级职称评审申报条件是什么呢?学历不够可以申报吗?

2023年湖北省中级职称评审申报条件是什么呢&#xff1f;学历不够可以申报吗&#xff1f; 1.大专毕业从事本专业技术工作7年以上&#xff1b;助理满足4年。 2.本科毕业从事本专业技术工作5年以上&#xff0c;助理满足4年。 一般来说中专或者高中学历是无法申请中级职称的&…

mobile代码打APK包

1、安装Android SDK Android SDK 下载地址&#xff1a; http://www.androiddevtools.cn/ 下载位置 下载后解压 打开解压文件&#xff0c;点击 SDK Manager.exe 进行安装 安装组件&#xff0c;这要选 Android 8.0.0 或者以上版本 再次安装&#xff0c;发现没什么可以安装了 2…

【Linux】Shell编程之条件语句

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、条件测试操作作1.文件测试2.整数值比较3.逻辑测试 二、if语句的结构1.单分支结构2.双分支结构3.多分支结构 三、case多分支结构 一、条件测试操作作 test命令 …

Win10蓝屏错误0x0000007b怎么U盘重装系统?

Win10蓝屏错误0x0000007b怎么U盘重装系统&#xff1f;有用户安装好的电脑系统最近总是会出现蓝屏错误0x0000007b的情况&#xff0c;遇到这样的情况很多用户不懂怎么去进行处理。今天分享一个U盘重装系统的方法&#xff0c;教会你快速解决此问题的方法。 准备工作&#xff1a; 1…

体验 nanoGPT

体验 nanoGPT 1. 使用预训练模型2. 训练自己的模型2-1. 准备训练数据2-2. 模型训练2-3. 模型验证 1. 使用预训练模型 在我们尝试训练自己的模型之前&#xff0c;我们先使用其他人训练好的模型&#xff0c;看看如何在自己的环境中运行聊天机器人。 今天我们使用 GPT4ALL 并从 …

正则匹配x.x.x

\d(\.\d){2} 正则规则 \d 表示一个十进制的数字 [0-9] 匹配加号之前的一次或多次 正则中[]、()、{}的区别 [] 匹配组内任意字符 eg&#xff1a;[1,2,3,a-z]能匹配1、2、3、a到z的任意字符 () 相应的匹配字符串&#xff0c;匹配组&#xff0c;子表达式 eg:(abc|cbd)能匹配…

既然有Map了,为什么还要有Redis?

以下内容转自掘金 作者:哪吒编程 同样是缓存&#xff0c;用map不行吗&#xff1f; Redis可以存储几十个G的数据&#xff0c;Map行吗&#xff1f;Redis的缓存可以进行本地持久化&#xff0c;Map行吗&#xff1f;Redis可以作为分布式缓存&#xff0c;Map只能在同一个JVM中进行缓…

2022 Jiangsu Collegiate Programming Contest I. Cutting Suffix

题目链接 Examples input aa Output 1 input ab Output 0 题目大意&#xff1a; 后缀i是字符串从第i个字符开始到最后的字符字串 定义Wi,j是字符串 后缀i和后缀j的公共前缀(LCP)的长度 现在给你一个全集为1-n的互补集T1,T2 要求题目中求和公式的最小值。 题目要点&#xff1a;…

学习笔记(1 - 01)项目初始化的方案和对比

目录 1&#xff0c;创建项目的方式1.1&#xff0c;两种方式创建的项目比对HbuilderX创建的项目&#xff1a;cli创建的项目 1&#xff0c;创建项目的方式 uniapp提供两种方式创建项目&#xff1a; 通过HbuilderX编辑器创建&#xff1a; 通过vue-cli创建 第一方式只能通过Hbuild…

如何在Facebook上创建一个成功的广告账户?

Facebook广告已成为许多企业吸引客户和推广品牌的主要方式。但是&#xff0c;如果你没有经验或知识&#xff0c;创建一个成功的Facebook广告账户可能会变得相当棘手。在这篇文章中&#xff0c;我将向你介绍如何创建一个成功的Facebook广告账户。 第一步&#xff1a;创建Faceboo…

Lucene和Solr和Elasticsearch区别,全文检索引擎工具包Lucene索引流程和搜索流程实操

文章目录 基本概念什么是全文检索技术全文检索的应用场景搜索引擎站内搜索&#xff08;关注&#xff09;文件系统的搜索 Lucene & solr & es介绍区别Solr与Lucene对比ES与Lucene的区别ES与Solr对比 Lucene实现全文检索的流程入门程序需求环境准备数据库脚本初始化Lucen…

ADAS测试方案

一 方案概述 随着5G通讯与互联网的快速发展&#xff0c;智能汽车和ADAS辅助系统的研究与发展在世界范围内也在如火如荼地进行。风丘紧跟时代脚步&#xff0c;经多年积累沉淀&#xff0c;携手整车厂与高校共同研发打造出了一套完整且适用于国内ADAS测试的系统方案。 | ADAS测试…

C/C++每日一练(20230506) 翻转词序、字符金字塔、单词搜索

目录 1. 翻转顺序打印 ※ 2. 字符金字塔 ※ 3. 单词搜索 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 翻转顺序打印 初始化一个字符数组为"Th…

【Java面试八股文】Java基础篇——String+集合+泛型+IO+异常+反射

导航&#xff1a; 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线设计模式牛客面试题 目录 三、String 3.1.String常量池 3.2.请你说说String类 3.3.new String("abc")创建了几个字符串对象&#xff1f; 3.4…

双线性插值(Bilinear interpolation)原理推导

文章目录 参考资料前言推导先x方向&#xff0c;后y方向先y方向&#xff0c;后x方向 简化后的双线性插值双线性插值的一阶导 参考资料 https://en.wikipedia.org/wiki/Bilinear_interpolation 前言 双线性插值&#xff0c;又称为双线性内插。在数学上&#xff0c;双线性插值是…

chatGPT的对手,Claude注册教程

完美替代chatGPT&#xff01;Claude注册教程及浅浅的测评 注册 slack 访问地址&#xff1a;https://slack.com/ 点击使用电子邮件注册 建议使用Google邮箱进行登录&#xff0c; 当然使用Google邮箱登录需要使用魔法 登录成功后 创建Slack工作区 我的邀请链接 https://join.…