[论文翻译]RCP: Recurrent Closest Point for Point Cloud(2022 CVPR)

文章提出了一种名为RCP的新方法,用于解决点云数据的3D运动估计问题。通过将问题分解为逐点优化和全局循环正则化两个阶段,解决了点云数据不规则性的挑战。在场景流估计和点云配准任务中,RCP方法在实验中表现出优越性能,优于现有技术,证明了其在不规则点云数据处理上的优势。
摘要由CSDN通过智能技术生成

论文翻译:

RCP: Recurrent Closest Point for Point Cloud

摘要:

包括场景流和点云配准的三维运动估计引起了越来越多的关注。受2D流估计的启发,最近的方法使用深度神经网络构建代价量来估计精确的3D流。然而,这些方法受限于数据结构的不规则性,很难在点云上定义搜索窗口。在本文中,我们通过一种简单而有效的方法来避免这种不规则性。我们将问题分解为两个交织的阶段,其中第一阶段对3D流进行逐点优化,然后在第二阶段在循环网络中进行全局正则化。因此,循环网络只接收规则的逐点信息作为输入。在实验中,我们在三维场景流估计和点云配准任务上对所提方法进行了评估。对于三维场景流估计,我们在广泛使用的FlyingThings3D [ 32 ]和KITTI [ 33 ]数据集上进行了比较。对于点云配准,我们沿用前人的工作,对与ModelNet40 [ 65 ]有较大位姿和部分重叠的数据对进行评估。结果表明,我们的方法在三维场景流估计和点云配准上都优于之前的方法,取得了新的最先进的性能,这表明了所提出的零阶方法在不规则点云数据上的优越性。

1、引言

运动估计是机器人、增强现实和自动驾驶等众多应用的基础。低层次的运动线索可以服务于目标检测和动作识别等其他更高层次的任务。给定一对或一组图像,我们可以通过经典的变分方法或现代的深度学习方法[ 25、51、52]从光流估计中估计二维流场。

图1。在KITTI场景流数据集上对结果进行可视化。随着交替优化次数的增加,源点云(绿色)逐渐与目标点云(蓝色)对齐。

与将2D光流扩展到立体或RGB - D图像序列[ 21、24]的场景流方法不同,基于点云的直接3D流估计方法近年来受到了越来越多的关注,在许多应用中具有基于图像的方法所不具备的优势。例如,一个最突出的好处是,它避免了自动驾驶中图像传感器的读数和图像深度的额外计算,从而实现了高速行驶车辆的低延迟三维流量估计。而对于增强现实,特别是对于AR眼镜,点云上的三维流估计可以在云服务器上进行计算分配,因为它比图像节省了更多的传输带宽。它还通过不使用图像来保护周围人的隐私。

因此,一些基于学习的方法[ 2、18、27、30、61]利用了最近在高层任务上取得的进展,定制了专门针对点云的场景流估计。这些方法从代价体中通过度量两个点云集合的三维点之间的相似性来预测三维流向量。然而,不同于二维光流中在连续图像[ 25、51、52]中搜索像素周围固定规则邻域的代价体,由于数据结构的不规则性,无法在点云上定义这样的搜索窗口。因此,以前的工作,如[ 18、27、30、64],他们设计了一些复杂的层来计算point-to-patch的代价或patch-to-patch代价。

在本文中,我们通过一种简单且有效的方法来避免这种不规则性。我们将问题分解为两个交错的阶段,第一阶段对3D流进行逐点优化,第二阶段在递归网络中进行全局正则化。因此,循环网络只接收规则的逐点信息作为输入。除了场景流估计,我们的方法还实现了另一个重要的运动估计任务,即记录两个具有不同6 自由度位姿的点云。由于我们只度量了点到点的代价,因此避免了一个比较困难的问题,即:对6自由度解空间的离散化。这是因为旋转向量和平移向量是具有不同的尺度和范围两个不同的变量。

为了评估提出的方法,我们在三维场景流估计和点云配准两个方面进行了实验。对于三维场景流估计,我们在广泛使用的FlyingThings3D [ 32 ]和KITTI [ 33 ]基准上进行了比较。对于点云配准,我们遵循前人的工作,从ModelNet40 [ 65 ]中生成具有大姿态和部分重叠的数据对。我们在三维场景流估计和点云配准上都取得了先进的结果,证明了所提零阶方法在不规则点云数据上的优越性。

2、相关工作

点云网络。在神经网络出现之前,基于启发式知识已经提出了各种手工设计的3D特征描述子[ 20 ]。这些描述符通常基于空间坐标[ 14、26、54]或几何属性[ 6、44]将测量值累加到直方图中。其他的工作如PFH [ 43 ]和FPFH [ 42 ]都提出了旋转不变的描述子。然而,传统的特征是手工设计的,不能过于复杂。最近,更多的方法开始使用深度神经网络来学习特征。3DMatch [ 70 ]利用对比损失使用3D卷积神经网络训练描述符,但体素化会导致特征质量损失。为了解决这个问题,PPFNet [ 10 ]使用点网络[ 38 ]直接学习点云特征。同时,检测显著性特征点来描述点云[ 28,68]。考虑到其较强的特征表示能力,本文采用PointNet+ + [ 39 ]来提取点云特征。

点云上的三维流估计。场景流估计任务最早在文献[ 59 ]中提出,之后从图像[ 21、24]发展到点云[ 11,56,57]。文献[ 11 ]将场景流估计问题建模为能量最小化问题。Zhang等[ 57 ]在能量最小化之前构建占用网格并对背景进行滤波,之后进行滤波细化结果。在后续的工作中引入编码网络来从占用网格中学习特征[ 56 ]。最近,更多的方法使用深度神经网络进行三维流估计[ 2、18、27、30、61、64]。在FlowNet3D [ 30 ]中设计了一个学习点云分层特征和表示点运动的流嵌入的网络。HPLFlowNet [ 18 ]提出了一种将点云投影到四面体网格的双边卷积层。PointPWC-Net [ 64 ]提出了一个可学习的代价体层,与上采样和变形层一起构建一个由粗到精的深度网络来高效处理点云。FLOT [ 37 ]使用最优的运输工具来估计场景流,而不使用多尺度分析。最近的工作[ 19,29,34,52]通过使用模型展开的方法得到了很好的结果,FlowStep3D [ 27 ]采用GRU [ 7 ]来迭代地细化场景流并表现出优异的效果。但上述方法均需要定义代价体,考虑到点云的不规则性,设计难度较大。相比之下,我们通过逐点优化代价和将规则的逐点信息发送给循环网络来避免这种不规则性。

点云配准。点云配准的任务是寻找两片点云之间的空间变换。传统方法主要基于迭代最近点( ICP ) [ 3、47]及其变体[ 16、36、40、41、48、55、67]。最近的工作学习用于点云配准的深度神经网络,可以分为两个流。其中一个流[ 1、8、12、17、23、35、71]研究如何在现成的优化中利用更好的点云特征表示。PointNetLK [ 1 ]定义了点云之间的特征度量距离,该距离由PointNet[ 38 ]中的特征度量,并将经典的Lucas & Kanade ( LK )算法展开成一个递归网络来最小化该距离。

另一个流[ 15,23,31,46,62,63]研究优化过程本身,通常使优化算法可微,并将其纳入深度学习方法。为了提高对噪声的鲁棒性,PCRNet [ 46 ]提出了一种使用深度MLP网络代替传统LK算法进行位姿估计的框架。Deep Closest Point [ 62 ]提出了一种端到端的管道,带有点云嵌入网络、基于注意力的匹配模块和可微的奇异值分解( SVD )层来估计空间变换。RPM [ 17 ]和RPMNet [ 69 ]使用Sinkhorn归一化[ 48 ]来处理异常值和部分可见性。为了进一步降低对离群点的敏感性,RGM [ 15 ]开发了一种深度图匹配网络,该网络不仅考虑了每个点的局部几何结构,而且在更大的范围内考虑了它的结构和拓扑,从而可以找到更多的对应关系。受RAFT [ 52 ]的启发,我们直接使用循环网络来估计变换的残差,从而找到更多高质量的对应关系。

图2。我们的框架概述。我们首先通过共享PointNet + + [ 39 ]骨架提取点云特征,然后通过sinkhorn算法[ 48 ]进行特征匹配得到初始化结果。然后,我们将问题分解为两个子问题,并利用提出的逐点优化和循环正则化模块来估计三维场景流或变换。

3、方法

3.1概述

给定两个点云P = { p1,p2,· · · pM }和Q = { q1,q2,· · · qN },其中P和Q不一定有相同的点数或它们之间有任何精确的对应关系,我们的目标是估计它们之间的变换X,对于动态场景可以是一组逐点的三维流矢量{ x1,x2,· · · xM },对于刚性场景可以是一个6 自由度的变换{ Q,T },其中Q是旋转四元数,T是三维平移矢量。如图2所示,我们首先通过3.2节中的共享PointNet + + [ 39 ]提取P和Q中每个3D点的特征。然后通过基于sinkhorn [ 9,37,45,48]的特征匹配估计初始变换。然后通过最小化以下目标函数进一步更新初始解

其中,数据项DP,Q衡量的是变换X下P和Q之间的特征距离,正则项R ( X )衡量的是X本身的对象感知平滑性,即同一对象上的邻近点应该具有相似的流矢量。

然而,优化Eq . ( 1 )直接求解是困难的,主要原因之一是变换后的点pm + xm与Q中的任意点qn不完全对应,因此pm与pm + xm之间的特征距离是无效的,数据项DP,Q关于变换X不可微.受前人工作[ 50 ]中二次松弛的启发,我们引入了一个辅助变换Z,并将式( 5 )转化为( 1 )入:

辅助变量Z将数据项和正则项解耦,因此可以分别优化。同时,附加项∥Z-X∥22通过优化过程使Z和X相互靠近。Z和X交错更新为:

其中k表示第k次迭代。在每次迭代中,我们首先通过3.3节中的逐点优化求解Zk。,然后通过3.4中隐式的递归正则化X k。

图3。Flyingthigs3D数据集上的代价和EPE3D误差随迭代次数的变化曲线。随着交替优化的进行,成本逐步下降,而EPE3d误差逐渐减小。

3.2 特征提取

首先,我们通过sinkhorn特征匹配[ 48 ],公式(3)逐点优化以及式( 4 )的递归正则化提取特征。我们使用PointNet+ + [ 39 ]对每个3D点进行特征提取,将fP ( · )和fQ ( · )分别作为P和Q上的特征提取操作。PointNet+ + [ 39 ]设计了set _ conv层,包括采样层、分组层和PointNet[ 38 ]层。采样层采用迭代最远点采样,将点云分解成原始数的1 / 4。分组层对每个点周围的k近邻( k = 32)点进行分组,然后使用最大池化进行特征聚合。

图4。逐点优化模块的细节。位置编码器和MLPs - attention模块均由两层全连接层组成。这两个块对于点云P和Q的参数是共享的。残差块是为了获取当前估计点及其邻域点的位置残差。

3.3 逐点优化

给定上一次迭代的解X k-1 = { xk-1 1,xk-1 2,· · · xk-1 M },首先最小化方程( 3 )逐点更新Zk。辅助变换Zk = { zk-1 1,zk-1 2,· · · zk-1 M }包含P中每个点的辅助流矢量,辅助流矢量zk m使得fP ( pm )和fQ ( pm + zk m )之间的特征距离以及zk m和xk - 1 m之间的欧氏距离最小:

然而,pm + z通常不完全对应于Q中的任意点qn,因此我们使用un = qn - pm作为zk m的候选点,并在pm + xk - 1m附近的局部邻域Ω内搜索最佳qn。这种全赢的选择被进一步软化为双边插值:

式中:W为所有双边权重之和的归一化项。经验上,反向距离- (∥fP ( pm ) - fQ ( qn )∥) / σf )和- (∥un-xk-1 m∥) / σ u可以进一步替换为余弦相似度以获得更好的性能。公式(6)变为:

其中,gm串联fP ( pm )和pm + xk-1 m的位置编码,gn串联fQ ( qn )和qn的位置编码。式中:( 7 )与Attention [ 58 ]机制类似,但对密钥和查询使用相同的特征算子。

对于点云配准,需要增加两个步骤。首先,在式( 7 )之前,逐点流xk - 1m由pm与其对应的投影Xk - 1 = { Qk-1,Tk-1 }变换后的差值计算得到。其次,在估计出zk m后,通过PnP算法[ 13 ]从辅助三维流矢量zk 1 · · · M中计算出辅助六自由度变换Zk。

3.4 循环正则化

给定上一节的辅助变换Zk,我们进一步通过递归网络将Zk隐式正则化为Xk .递归网络接收上一次迭代的隐状态hk - 1和当前迭代信息vk = [ fP ( pm ) -fQ( pm + xk-1m) , zk m]作为输入,其中fQ( pm + xk-1m)采用与式(7)类似的插值。然后从GRU [ 7 ]这样的循环单元产生一个更新的隐藏状态hk:

其中⊙是元素乘积,[ · , ·]是级联,σ ( · )是sigmoid激活函数.为了初始化第1次迭代的隐状态h0,令Z1 = X0,并通过两个set _ conv层传递v1。

在产生新的隐状态hk后,我们使用一个由两个set _ conv层组成的变换预测器来估计Zk与正则化变换Xk之间的残差Δ Zk,并将变换更新为Xk = Zk + Δ Zk。对于点云配准,我们额外对隐藏状态hk整体点进行max - pool,从max - pooled特征向量中预测残差6 - DOF变换Δ Zk,并更新SE ( 3 )流形中的变换为Xk = Δ ZkZk。

表1。在FlyingThings3D [ 32 ]和KITTI [ 33 ]数据集上的评估结果。Self '表示自监督条件下的训练,Full '表示监督条件下的训练。所有方法只在FlyingThings3D上训练[ 32 ]。在默认设置下,我们将FlyingThings3D [ 32 ]和KITTI [ 33 ]的迭代次数分别设置为7和14。

4、训练损失

与之前的方法[ 27,64]类似,我们的网络可以通过有监督的方式或者自监督的方式进行训练。

表2 . ModelNet40 [ 65 ]在带有高斯噪声的部分可见场景下的评估结果。

4.1 监督训练

在场景流网络的训练中,给定每个点pi处的真实三维流向量{ x * pi },采用L1损失为:

式中:{ ( xpi }为上一次迭代循环正则化的预测流量。

在点云配准网络的训练中,首先对源点云P分别进行地面-真值变换{ Q⋅,T⋅}和预测变换( Q,( T ),然后计算变换后的点云之间的差值为:

4.2 自监督训练

由于真值3D流代价高昂,因此网络在无法获取真值时需要利用几何先验作为监督。根据之前的工作[ 64 ],我们的场景流自监督损失由三项组成:Chamfer距离、Smoothness正则化和Laplacian正则化[ 49、60]。

图5。在KITTI [ 33 ]场景流数据集上的定性结果。

表3 .迭代的消融研究。

Chamfer项:Chamfer距离迫使源点云P向目标点云Q靠拢,相距最近的点为:

式中:P′由预测的三维流动矢量P转化而来。

Smoothness项:平滑性约束鼓励相邻点具有相似的三维流动预测:

其中L ( pi )是pi的局部邻域,| L ( pi ) |是该局部邻域内点的个数.

Laplacian项:拉普拉斯坐标向量近似表示点pi周围的局部形状和曲率为:

理想情况下,变换后的点云P′应该与目标点云Q具有相同的拉普拉斯坐标。因此我们采用类似于[ 64 ]的基于拉普拉斯坐标的正则化项。

其中δ ( qinter )为与p′i相同位置的点云Q的插值拉普拉斯坐标。

综上,定义场景流的自监督损失为这3项的加权和,即:

5、实验

5.1 三维流估计

数据。为了进行公平的比较,我们沿用之前的工作[ 27、30、37、64]来评估FlyingThings3D [ 32 ]和KITTI [ 33 ]上所有参与的三维流估计方法。FlyingThings3D是一个从ShapeNet [ 5 ]数据集中随机采样多个移动对象的场景渲染的合成数据集。它包含了大约32k张具有真实视差和光流图的立体图像。为了使用它进行三维流估计,我们按照文献[ 64 ]的方法将其后处理为19640个训练对和3824个测试对的点云,每个点云平均包含8192个三维点。类似地,KITTI场景流数据集[ 33 ]也最初被设计用于评估基于图像的方法。我们遵循[ 64 ]并将其后处理成142个测试对仅用于评估。

图6。不同迭代次数的可视化。随着迭代次数的增加,KITTI [ 33 ]场景流数据集中的两片点云逐渐对齐在一起。

训练细节。我们在自监督和监督两种情况下进行训练和评估,如第4节所述。为了加快训练速度,我们采用了两阶段的训练策略:首先,我们在4个GTX 2080Ti GPU上将批大小设置为8,并在等式之间交替。( 7 )和( 7 )式. ( 8 )共3次。学习率采用步长衰减策略,初始学习率设置为1e - 3,然后每25个历元减半,共训练90个历元;其次,我们从第一阶段开始微调训练好的模型,但迭代次数较多,训练的历元数较少。我们将批处理大小减少到4,以启用方程的7次迭代。( 7 )和( 7 )式. ( 8 ) .同样将初始学习率降为1.25 e4后每隔5个历元衰减一次,模型训练10个历元。

定量比较。我们沿用之前的工作[ 27、30、37、64],使用以下指标进行评估:

如表所示。1,我们在自监督和监督两种情况下都取得了最先进的结果。具体来说,我们在KITTI数据集上的表现优于其他方法,这证明了我们在公式上的优越性。( 7 ) .

5.2 点云配准

数据集 我们沿用前人的方法[ 69 ],在ModelNet40 [ 65 ]数据集上进行评估,该数据集包含40个CAD模型的对象类别。每个CAD模型被采样为2048个点,并像文献[ 69 ]一样归一化为单位球面。为了生成地面-真值刚性变换的训练对,我们遵循RPMNet [ 69 ],首先进行合成变换,然后将已有的源点云变换到目标点云。变换通过随机采样[ 0 ° , 45 °]之间的旋转矢量和[ -0.5 , 0.5]之间的平移矢量合成。为了模拟部分对部分配准的情况,按照随机方向进一步去除30 %的点[ 69 ]。我们使用前20个类别用于训练和验证,其余20个类别用于评估。

训练细节 与FlyingThings3D相比,ModelNet40是一个规模相对较小的数据集,因此我们在单个阶段训练我们的模型进行点云配准,其中每个GPU上的批量大小为8,并且在公式之间交替。( 7 )和( 7 )式. ( 8 )共7次。学习率也采用与上文相同的衰减策略,每100个历元衰减一次,而模型则训练600个历元。

定量比较 定量比较沿用了前人的工作,既使用度量Error ( R )和Error ( t ) [ 69 ],也使用各向异性度量M AE ( R )和M AE ( t ) [ 62 ]:

如表所示。2,我们的方法在各向同性度量和各向异性度量上都优于以前的方法。

5.3 消融实验

为了进一步分析每个组件的有效性,我们进行了三维流动估计的消融研究,并评估了我们模型的不同变化。

表4 .逐点优化模块的消融研究。我们展示了一些替代方法。

表5 .递归正则化模块的消融研究。由于公式简单,我们使用GRU [ 7 ]作为默认的循环单元。

逐点优化。第一个问题是递归正则化后是否需要进一步更新变换,即是否可以去掉逐点优化式。( 7 )且仅保留递归正则化方程. ( 8 )为了回答这个问题,我们排除了式( 9 )。( 7 )对于训练和推理,如表中第一行所示,其表现明显较差。4,并指出逐点优化是必要的.我们还探索了点优化的不同备选方案。首先,我们只优化特征度量距离,不约束辅助变量Z和X之间的差异。如表2第二行所示。4时,结果甚至比不使用公式时更差。( 7 ),这是因为特征距离只在某些区域如平面区域是模糊的。其次,我们利用方程. ( 5 )直接代替软化版本公式。( 7 ) .我们使用Gumbel Softmax训练模型,使用argmax进行推理。Gumbel Softmax在等式中的表现比软化版本差。( 7 ),这是因为梯度由方程( 7 )反向传播. ( 7 )用于训练的噪声较小。此外,我们还评估了Eq . ( 6 )采用双边权重,其表现差于等式。( 7 ) .因此,我们利用Eq .式( 7 )为最小化式( 7 )的默认设置。( 5 )逐点。

循环正则化。第二个问题是我们是否需要求解方程。( 4 )具有循环网络,即可以使用标准点卷积?我们将GRU [ 7 ]块替换为三个set _ conv [ 39 ]层以保持相似的模型参数以进行公平比较,这使得EPE3D从0.0405增加到0.0491,如表1所示。5 .表明循环单元传递的历史信息对解的正则化效果更好。我们还将GRU [ 7 ]单元替换为LSTM [ 22 ],在Tab中略有改进。5 .因此,我们使用GRU [ 7 ]作为默认的循环单元,因为它的形式更简单。

迭代次数:在训练过程中,最终迭代次数为( 7 )和( 7 )式. ( 8 )为7 .在推理过程中,我们将迭代次数从3变化到14,以研究性能如何随着迭代次数的变化而变化。如表所示。3时,对于KITTI [ 33 ]数据集,随着迭代次数的增加,所有的度量指标都逐渐提高。但对于FlyingThings3D [ 32 ]数据集,在迭代次数与训练完全相同时性能达到峰值,之后逐渐退化。这是因为FlyingThings3D [ 32 ]比KITTI [ 33 ]具有更大的运动和更复杂的遮挡,更具挑战性。因此,我们将Flyingthings3D [ 32 ]的迭代次数设置为7,KITTI [ 33 ]的迭代次数设置为14。

6、结论

我们提出了一个用于三维运动估计的循环框架。为了解决点云的不规则性,我们对3D流进行了逐点优化。然后,循环网络全局正则化该流以输出精确的三维运动估计。我们将我们的方法推广到三维场景流估计任务和点云配准任务。实验表明,我们的方法优于以前的方法,并在所有指标上都取得了最新的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值