论文《Remove, then Revert: Static Point cloud Map Construction using Multiresolution Range Images》阅读笔记

本文介绍了一种用于移除点云地图中动态点的Removert算法。该算法以后处理方式工作,通过基于深度图像的地图比较、批量动态点消除等步骤,迭代增强预测的静态地图。利用多帧投票更新结果,克服扫描数据的限制,还对可能误判的静态点进行恢复细化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先对论文的方法部分翻译一遍帮助理解,后期逐渐补充和完善。

I.INTRODUCTION

II.RELATED WORK

III.METHODOLOGY(方法)

A.Problem definition(问题定义)

设置与符号说明

对于一张使用雷达扫描数据集建立的点云地图,我们想要移除地图中的动态点。我们提出的方法以后处理的方式工作,通常可以用来监测每个点长期的变化。

“post-processing”——后处理,个人理解为先进行采集,采集过程中不进行处理,而是对采集结果进行处理。

在此过程中,我们主要考虑两个不同的坐标
1、局部传感器坐标QQQ
2、全局地图坐标MMM

我们使用
1、PQP^QPQ表示传感器坐标下的单个查询帧数据
2、PMP^MPM表示全局地图坐标下的地图


1、PkQP^Q_kPkQ表示传感器坐标下第k个查询帧数据
2、PkMP^M_kPkM表示上面帧对应的全局地图坐标下的子图

我们假定对于PkQP_k^QPkQ相关联的 位姿TkQT_k^QTkQ 使用SLAM方法,处于已知状态,但存在一定程度上的估计错误。然后,我们从查询集{PkQ}\{P_k^Q\}{PkQ}中挑选一个查询点云PkQP^Q_kPkQPkMP^M_kPkM相比较从而消除地图点中的动态物体。

在比较过程中,我们将目标地图分割为两个互斥子集,分别为:

1、静态点集PSMP^{SM}PSM
2、动态点集PDMP^{DM}PDM

上述提到的问题表达为:
PM=PSM∪PDMP^M=P^{SM}\cup{P^{DM}}PM=PSMPDM
同时
PSM∩PDM=∅P^{SM}\cap{P^{DM}}=\emptysetPSMPDM=

最初的分割利用传统的分割方法来估测预测静态点集PSMP^{SM}PSM和预测动态点集PDMP^{DM}PDM,其中不可避免地包含状态预测误差。在本文中,我们将静态定义为PPP(Positive),动态定义为NNN(Negative),估测的预测静态点集P^SM\hat{P}^{SM}P^SM和预测动态点集P^DM\hat{P}^{DM}P^DM表达为:
P^SM=TP∪FP and P^DM=TN∪FN\hat{P}^{SM}=TP\cup{FP}\ and \ \hat{P}^{DM}=TN\cup{FN}P^SM=TPFP and P^DM=TNFN
这里TPTPTPFPFPFPTNTNTNFNFNFN分别代表正确的静态点集、错误的静态点集、正确的动态点集、错误的动态点集,使用这个等式,我们能将问题重新定义为:在静态和动态的估测中,降低错误的静态点FPFPFP和错误的动态点FNFNFN的数量。
事实上,如果我们规定每个点要么属于静态子集,要么属于动态子集,那么错误的动态点FNFNFN是全部正确的静态点TPTPTP点的一个子集。我们的目标可以理解为检测预测动态点集PDMP^{DM}PDM中错误的动态点,然后将它们移动到预测静态点集PSMP^{SM}PSM中。我们的算法重复地表达这一过程,进而增强预测的静态地图使得它更好地收敛到真正的静态地图。简而言之,迭代静态地图加强策略是我们removert算法的主要创意,图2为概要,III-D为具体细节。

在这里插入图片描述
图2:提出的静态地图构造方法管道图。首字母SkS_kSk(Static)和DkD_kDk(Dynamic)分别代表第k帧主要由静态点和动态点组成的点云。图中SkS_kSkDkD_kDk盒子的大小代表每个点云的大小(换句话说,点的数量),盒子的颜色代表点云真正的预测率;提出的Removert算法通过应用从良好到粗糙的范围图像来迭代地增强中央的静态地图。BR模块是BATCHREMOVAL(批量消除)的缩写(III-C),作为我们的副产品,我们可以为每点的动态值加标签,然后使用全局静态地图为每帧自动地解析动态物体。(示例在图5中部)

B.Range image-based map comparison(基于深度图像的地图比较)

已分享的现存方法的类似原理如[14,15],我们使用可见性而不是体素射线跟踪来执行动态点识别。不像现存方法,我们检查地图点云在投影深度图像(range image)平面内的可见性。在图3中,在改变距离图像的分辨率时,进行矩阵运算是检测差异和降低地图点关联歧义(III-D)的直接方法

对于一个可见域,一个相似的工作[27]为3D变化检测使用了图像格式。我们也为雷达采集的点云提供了一个基于深度图像的可见性检查方法,然后通过减弱雷达运动模糊,扩展到多分辨率的版本,来获得更好的静态地图预测。
对于动态物体的消除,在第k个查询帧和地图之间,我们使用相对的转化方法,将相对大的地图(即∣PM∣>∣PkQ∣\vert P^M \vert>\vert P^Q_k \vertPM>PkQ)投影到固定大小的深度图。在投影过程中,我们使用一个具有特定分辨率的深度图(例如,单个像素表示水平和垂直方向上的1°视场角),我们把这个具有视场角约束的的被抽样的地图点云称为“可见的地图点云”。这个可见的地图点云PkMP^M_kPkM与它的等效深度图像IkMI^M_kIkM同时被定义如下:

Ik,ijM=min⁡p⊂PijM r(p)I^M_{k,ij} = {\underset { p \subset P^M_{ij} }{\operatorname {min}}\,r(p)} Ik,ijM=pPijMminr(p)
PkM={Pk,ijM∣Pk,ijM=argmin⁡p⊂PijM r(p)}P^M_k = \{P^M_{k,ij}\mid P^M_{k,ij}={\underset { p \subset P^M_{ij} }{\operatorname {argmin}}\,r(p)} \}PkM={Pk,ijMPk,ijM=pPijMargminr(p)}
在这里像素m和n的数量由给出的每个像素的特定分辨率和水平和垂直的视场角范围[min,max]确定。

r(·)代表一个点ppp在查询帧下的局部坐标范围
Ik,ijMI^M_{k,ij}Ik,ijM是深度图中的一个像素(i,j)值
Pi,jMP^M_{i,j}Pi,jMPMP^MPM的的子集,是像素(i,j)中具有球形坐标(即仰角和方位角)的点的集合。

第一个公式:Pi,jMP^M_{i,j}Pi,jM是像素(i,j)中具有球形坐标的点的集合,所有点求r(⋅)r(·)r()获得每点的局部坐标范围 (什么叫坐标范围?r(·)的结果是什么样的?没懂),其中r(⋅)r(·)r()的最小值作为深度图中(i,j)(i,j)(i,j)像素的值(没懂)
第二个公式:argargarg函数为求函数值的自变量值,即求取到r(⋅)r(·)r()最小值的那个点ppp,将该点作为第k帧对应的全局地图中像素(i,j)(i,j)(i,j)的对应点,所有像素对应的点的集合作为第k帧对应的全局地图的子图。(是每个像素只取一个值吗?为什么是r(·)函数的最小值呢?)

以上求得了第k帧对应的全局地图的深度图IkMI^M_kIkM和点云PkMP^M_kPkM。同样,查询帧的深度图IkQI^Q_kIkQ和它相关的点云PkQP^Q_kPkQ也是需要的,也通过上述方法求得。然后,通过它们的矩阵逐元素相减可以计算出地图点的可见性,公式如下:
IkDiff=IkQ−IkMI^{Diff}_k=I^Q_k-I^M_kIkDiff=IkQIkM
如果IDiffI^{Diff}IDiff中某个点ppp对应的像素值超过了一个特定的阈值,则地图点pk,ijMp^M_{k,ij}pk,ijM被认为是动态的点。

查询帧和全局地图中同一像素的的深度值应该相差不大,若相差过大到超过一定阈值,则认为这个点是动态的点。

最后,动态的地图点被定义为
PkDM={Pk,ijM∣is associated Ik,ijDiff>τD}P^{DM}_k = \{P^M_{k,ij}\mid is\ associated \ I^{Diff}_{k,ij}>\tau _D \}PkDM={Pk,ijMis associated Ik,ijDiff>τD}
最后,静态地图点背定义为动态地图点的补集PkSM=PkM−PkDMP^{SM}_k=P^M_k-P^{DM}_kPkSM=PkMPkDM,我们额外地提出使用一个适应性的阈值来调制我们的算法对于点的距离的敏感度,适应性阈值被定义为一个范围函数:(怎么用没看懂)
τData=r(pijM)τD\tau _{D_{ata}}=r(p^M_{ij})\tau_DτData=r(pijM)τD

在这里插入图片描述
图3:左列:高分辨率的深度图像(每个像素0.4°)、右列:低分辨率的深度图像(每个像素1°)。从顶部到底部,每一行分别代表:第k帧查询帧的深度图IkQI^Q_kIkQ、第k帧查询帧对应的全局坐标下子图的深度图IkMI^M_kIkM、以及两者作差得到的深度图。这个颜色地图展现了对于第k个传感器帧中一个3D点的像素距离,蓝色表示更近,红色表示更远。因此,在这个像素中的地图点应该被标记为动态的(看左图中部白色盒子)。使用高分辨率的深度图(左)在物体的边界或地面上消除了大量的模糊点(左列的橘色盒子),这些点事实上是静态的。在第一次迭代时,它们首先被消除而确定是静态的点会被保留。在低分辨率的步骤中,前面提到的被错误分类的动态(实际上是静态)的信息会被恢复。然而,如果我们使用太粗糙的深度图,靠近地面的点将被错误地恢复(看右边中部深度图的绿色盒子中的汽车)。

C.Batch dynamic point removed(批量动态点消除)

我们主要的问题为完全的动态点消除而不是让结果处于中间状态。在这个部分,我们展示了一个III−BIII-BIIIB处理方式的批量版本,通过多帧投票的方式来更新结果。这样可以克服在一个单一扫描数据中的地图点闭塞和视场角限制的问题。这部分的模块叫做BATCHREMOVAL(批量消除)。
我们假定随着机器人移动顺序扫描的N个数据集合已提前给出。对于每个扫描数据PkQP^Q_kPkQ(传感器坐标下的单个scan,k从1到N),我们像在III−BIII-BIIIB中那样展示基于深度图像的动态地图点检测结果,计算在地图中标记为SMSMSMDMDMDM的点的总数,分别记为nSMnSMnSMnDMnDMnDM。然后,动态地图PDMP^{DM}PDM使用策略分数s(⋅)s(·)s()定义,它是一个关于nSMnSMnSMnDMnDMnDM的权重函数,静态地图自然地定义为PDMP^{DM}PDM的补集。
PDM={PM∣s(pM)<τS}P^{DM} = \{P^M\mid s(p^M)<\tau _S \}PDM={PMs(pM)<τS}
PSM=PM−PDMP^{SM} = P^M-P^{DM}PSM=PMPDM
这里,单个3D点的策略分数
s(⋅):=αSMnSM(pM)+αDMnDM(pM)s(·):=\alpha_{SM}n_{SM}(p^M)+\alpha_{DM}n_{DM}(p^M)s():=αSMnSM(pM)+αDMnDM(pM)
其中,αSM\alpha_{SM}αSMαDM\alpha_{DM}αDM分别是静态和动态的权重系数。我们默认标记一些没有被计数的点(即在每一次处理中都没有被标记的点)为静态的。
更多地,比较和消除不应该受设备运动影响。例如,如果我们的查询帧以与运动序列相同的顺序扫描,那么前方以相同的的速度移动的一个汽车就不可能被消除。在比较过程中,我们随机选择查询扫描数据PkQP^Q_kPkQ然后执行批次处理。(没懂)

在这里插入图片描述

图4:在图2中描述中所提出的removert(删除再恢复)算法的可视化。彩色地图显示了点的视觉清晰度(红色说明清晰度更高)。我们标记所有显示点云地图的图片都遵从这些彩色编码。

D.Removert:remove,then revert static points(消除,然后恢复静态点)

III−CIII-CIIIC中的动态地图分离可以在有一张固定分辨率大小的深度图像时使用。由于估计的动态点可能包括静态点(图四顶行),所以我们发现还需要额外的细化。例如,像[14]中的表述,即使点的入射角度的差异很小,它们的深度图仍然有很大的变化,导致地面上的点十分模糊。因此,静态的地面上的点很容易被错误标记为动态点。为了解决这个问题,[14,25]的作者额外利用了法向、点的入射角、区域生长(是个算法,没看过)
与先前的工作不同,我们的方法仅需要点的3D位置(x,y,z)。此外,现存的方法部分地解决了这个问题,如果最初的机器人运动是不精确的,那么查询点和地图点会被错误的关联起来。同一个物体可能被定位到深度图中的其它的像素,导致错误的预测(例如:消除了错误的静态点或恢复了错误的动态点)。
我们发现在狭窄的物体上(例如棒子、电线杆)或者物体的边界处(例如车顶和树顶;图3左边中图中的橘色盒子)容易频繁地发生错误的估计。

IV.EXPERIMENTAL RESULTS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值