当前位置:   article > 正文

RegFormer:用于大规模点云配准的高效投影感知Transformer网络

RegFormer:用于大规模点云配准的高效投影感知Transformer网络

目录

一、导言

二、相关工作

1、点云配准工作

2、大规模点云配准

3、Transformer引入配准工作

三、RegFormer

1、柱面投影 

2、特征提取Transformer

3、双射关联Transformer(BAT)

4、刚性变换估计

5、损失函数

四、实验


一、导言

        该论文来自于ICCV2023(上交和我矿联合写的?),本论文提出一个RegFormer的点云配准网络,用于大规模场景的配准,该网络不需要关键点提取和RANSAC或SVD的后处理,直接处理原始点云,完全基于Transformer的网络进行全局提取点特征和离群点过滤。

(1)提出了一个大规模端到端的点云配准网络,无需关键点匹配或RANSAC后处理。

(2)设计了一种投影感知层次化的Transformer,能够全局建模捕捉长距离依赖关系,来有效过滤离群点

(3)提出了双向关联Transformer结构(Bijective Association Transformer,BAT),有效减少错误匹配。

二、相关工作

        当前的配准工作围绕三个大的改进点发展:

(1)特征提取:传统的方法,CNN,Transformer

(2)配准工作:ICP(SVD),关键点+局部描述子+RANSAC,无对应方法

(3)数据集:室内数据,大规模场景,对象数据

1、点云配准工作

(1)关键点检测学习局部描述子:PPFNet及无监督版本的PPF-FoldNet(提取局部PPF特征)

(2)端到端配准网络:PointLK(全局描述符,LK算法估计变换)和FMR(最小化特征度量投影误差)

2、大规模点云配准

        DeepVcp通过搜索局部相似性来搜索局部性质,但关键点匹配在局部空间中受限。HRegNet考虑到需要较大的关键点检测范围,所以将源点云与目标点云之间的关系,以及关键点的邻域关系都引入关键点特征。

        受到近期的Transformer和场景流工作可以考虑不需要用关键点或者显式的点对点对应关系。

3、Transformer引入配准工作

        DCP(DGCNN+Transformer+SVD)第一个深度学习框架的类ICP架构,处理点云规模有限。

        COFINet(基于CNN的使用交叉注意力和自注意力进行对应关系提取+SVD或RANSAC的二阶段框架),由于CNN的使用导致提取特征时感受野受限,且计算复杂度较高。

        GeoTransformer(传统CNN+几何特征描述子+Transformer+可微加权的SVD),由于CNN局限性,加几何特征描述子导致更高的复杂度。

        RegFormer通过本身的Transformer提取特征实现保持使用Transformer来进行全局提取特征,且保证不适用描述子以及对应关系等复杂信息实现低复杂度的情况下来实现更精准更快速的配准工作。

三、RegFormer

        RegFormer网络结构由特征提取Transformer结构,双射关联Transformer(BAT),柱面投影,刚性变换估计四个部分组成。输入源点云和目标点云经过双分支的投影与三层Point Swin Transformer层分别提取特征,并通过BAT避免错误匹配和估计变换参数之后得到位姿估计,与三层Transformer层前的位姿估计进行三次调整后得到准确的位姿估计。

1、柱面投影 

        柱面投影看下面的图(十分形象),就是将一个圆柱围住这个点云,然后将点云以放射方式投影到圆柱面上。这样每一个点就由一个三维点云坐标,转换为一个圆柱面上的二维坐标(伪图像)。

        对于一个3D坐标点(x,y,z),LiDAR相机水平分辨率为\Delta \theta,垂直分辨率\Delta \phi,情况下投影圆柱面上的2D坐标点(u,v)

        u=arctan2(y/x)/ \Delta \theta ,\quad v=arcsin(z/ \sqrt{x^2+y^2+z^2})/ \Delta\phi

2、特征提取Transformer

        特征提取Transformer用的就是Point Swin Transformer网络,由于点云数量巨大如果使用Transformer会生成巨大数量的tokens,所以通过Swin Tranformer中滑动窗口引入到点云领域,来避免原始transformer产生二次复杂度的时间成本巨大的问题。

        Point Swin Transformer网络结构由投影掩码、Point W-MSA、多层MLP、Point SW-MSA、多层MLP组成。

(1)投影掩码

        投影掩码:由于室外场景中点云是稀疏的,而投影的伪图像无对应原始3D点云位置的点会填充到一些无效的像素,投影掩码通过过滤掉伪图像中无效的像素位置,避免在注意力计算中考虑这些错误信息,影响配准精度。

        投影掩膜定义如下:

                                           M_i^S=\left\{\begin{matrix} - \infty , \quad x=0,y=0,z=0\\ 0, \qquad \qquad otherwise \end{matrix}\right.

        对于无效的像素的投影掩码会分配给一个大的负数,在Point W-MSA的注意力机制计算中使注意力无效,有效的像素掩码为0,表示无影响。

(2)Point W-MSA

        Point W-MSA是为了处理稀疏点云数据设计的多头自注意力机制,通过引入投影掩码来消除无效像素位置,通过transformer结构来提取全局点云特征。

对于一些字母解释:

        Z^{l-1}:代表当前的输入点特征,Z^{l}表示上一Stage(上一个transformer层)的输出点特征。

        Head_h:第h个注意力头,一共有1到H个注意力头。

对于Point W-MSA与传统自注意力机制的区别只在于多了投影掩码、bias、多头结构,其他相同。

                    W-MSA(Z^{l-1})=(Head_1 \bigoplus ... \bigoplus Head_H) W^O \\

                    Head_h=Attention(Q^h,K^h,V^h)=softmax(\frac{Q^hK^h}{\sqrt{d_{head}}}+M_l^S+Bias)V^h

(3)Point SW-MSA

        Point SW-MSA在Point W-MSA的基础上添加了滑动窗口,通过对特征进行空间位移增加窗口之间的信息交互。

(4)组成Point Swin Tranformer结构

        下面公式中LN表示Layer Norm,每一层都是经过残差相连。MLP的结构在代码中没找到下次再找:(

3、双射关联Transformer(BAT)

        在RegFormer网络结构图我们注意到双分支下的每一层的Transformer输出一个掩码M和特征F,下角标代表第几层输出,上角标区分源点云和目标点云。

        其中特征F由两部分组成x和f,x是点云坐标(3维向量),f是点云特征(C维向量,角标为Transformer层数),每个点云由n个点构成,所以源点云第三层Transformer输出的特征F_3^S的维度为n \times (3+C_3)

(1)CrossAttention

        首先BAT的输入为第三层Tranformer的输出F_3^S,F_3^T。经过CrossAttention层输出为\bar{F}_3^S,\bar{F}_3^T

        CrossAttention计算:\bar{F}_3^S=Attention(F_3^SW^Q,F_3^TW^K,F^T_3W^V)(注意交叉注意力的计算方式,Attention的计算满足上面的含投影掩码的结构)

(2)All-to-all point gathering(后面所有结构统称)

        All-to-all点聚集策略将交叉注意力的输出\bar{F}_3^S,\bar{F}_3^T作为输入。

        对每个源点云和目标点云的点做关联,形成关联簇,获得每个源点和目标点的相对3D欧氏距离和特征相似度信息,来生成更可靠的运动Embedding特征,减少匹配错误。

图中字母表示:

        x_i,y_i^k:源点云和目标点云坐标

        f_i,f_i^k:源点云和目标点云特征向量

        \bigoplus:通道数相加

逐部分解释:

        关联簇(图中的All-to-all):我的理解是,他做了一个点对点的集合,目的是后续的计算距离差和相似度。

        复制(图中的replicate):将源点云和目标点云的特征\bar{F}_3^S,\bar{F}_3^T作了m通道的重复复制,每个通道都是一样的。

        几何特征r_i^k:输入m个通道的源点云和目标点云特征,输出一个m个通道的n*10维几何特征。包括源点云坐标(3维),目标点云坐标(3维),相对坐标(3维),距离(1维)共10维。

                               r_i^k=x_i\bigoplus y_i^k \bigoplus (x_i-y_i^k) \bigoplus ||x_i-y_i^k||_2

        余弦相似度s_i^k:计算源点云和目标点云特征之间余弦相似度(n*m*2张量)。

                               s_i^k=\frac{<cf_i,cf_i^k>}{||cf_i||_2||cf_i^k||_2}

        特征结合:考虑到源点云和目标点云间的几何和外观特征融合,包含两个点云之间的相对位置和姿态信息,为后续变换提供可靠初始值(n \times m \times (12+2C_3))。

                               L_i^k=MLP(f_i \bigoplus cf_i^k \bigoplus r_i^k \bigoplus s_i^k)

        初始运动嵌入:

                                f_{e_i}=\sum_{k=1}^m L_i^k \odot softmax_{k=1,...,m}(L_i^k)

4、刚性变换估计

        刚性变换估计通过将运动嵌入来估计第三层的姿态,但由于变换估计不够准确,所以进行三层迭代细化,得到准确的姿态。

        初始运动嵌入的集合FE:FE=\left \{f_{e_i},i=1,...,n \right \}

        刚性变换估计注意力权重W:W=softmax(MLP(FE\bigoplus F_3^S ))

        计算旋转姿态q和平移姿态t:通过不同的全连接层来计算。

        q_3=\frac{FC_1(\sum_{i=1}^n f_{e_i}\odot w_i)}{ |FC_1(\sum_{i=1}^n f_{e_i}\odot w_i)| } , \qquad t_3=FC_2(\sum_{i=1}^n f_{e_i}\odot w_i)

        细化过程如下:类似于反向传播

        如第二层旋转姿态和平移姿态计算公式([0,\cdot ]代表max):

                                     q^2=\Delta q^2 q^3, \qquad t^2=\Delta q^2[0,t^3](\Delta q^2)^{-1}+[0,\Delta t^2]

5、损失函数

        总损失函数L等于每一层损失函数L^l的加权求和:L= \alpha^l L^l

        每一层损失函数L^lL^l=L_{trans}^lexp(-k_t)+k_t+L_{rot}^l exp(-k_r)+k_r,其中k_t,k_r代表两个可学习的参数。

        平移损失:L_{trans}^l=||t^l-\hat{t}^l||

        旋转损失:L_{rot}^l=||\frac{q^l}{||q^l||}-\hat{q}^l||_2

        总的来说,该网络的损失函数就是每一层旋转偏差和平移偏差的加权表示。

四、实验

        在后续的实验中,针对的是KITTI和Nuscenes两个室外场景数据集进行测试。

1、对比不同网络

        在RTE、RRE、RR上大幅优于DCP、IDAM、FMR,而在最为近似的HRegNet网络,在速度上占有优势,但RTE上略低于HRegNet网络。

2、对比RANSAC方法

        与基于RANSAC的GeoTransformer相比,精度上略有提高,但效率提高极为明显,在保证对异常值的鲁棒性的情况下,通过学习全局特征取得更短的时间。

3、对于低重叠的可视化

        该实验考虑了低重叠的点云场景,对于点云存在大旋转低重叠情况下,仍然达到99.9%的召回率,时间上保持最快的速度。

        但对于高重叠的点云场景没有证明

4、消融实验

        对于层次结构、投影掩码、全局建模、BAT进行消融实验。

        影响最大的是Transformer的出现,在特征提取中,如果不引入Transformer或减少一层到两层的Tranformer的影响是最大的,而掩码的引入改变的很小。这也说明了特征提取是对精度变化最大的一部分。

5、讨论

        后面的讨论关注到动态的对象一般产生较小的注意权重W,而静态的对象产生较高的权重。

        另外,交叉注意力可以学习到运动嵌入,来有效缩短两帧之间的距离。

         

参考代码:https://github.com/IRMVLab/RegFormer

参考文献:https://arxiv.org/pdf/2303.12384v3

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/1009261
推荐阅读
相关标签
  

闽ICP备14008679号