零、论文概要
标题:PCAM:点云刚性配准的交叉注意矩阵乘积
链接:paper.
作者:Anh-Quan Cao,Gilles Puy,Alexandre Boulch,Renaud Marlet
机构:Valeo.ai, Paris, France, Inria, Paris, France†, LIGM, Ecole des Ponts, Univ Gustave Eiffel, CNRS, Marne-la-Vall´ee, France
备注:ICCV21
一、论文摘要
部分重叠点云的刚性配准是一个长期存在的问题,通常通过两个步骤来解决:(a)寻找对应点之间的对应关系;(b)筛选对应,只保留最可靠的来估计变化。本文提出了PCAM利用cross-attention机制:允许混合低级几何信息和高级上下文信息来找点对应;允许在每一层的点云之间交换上下文信息,从而网络在重叠区域内构建更好的匹配特征。
二、论文的方法
-
方法概述
点云 P P P和点云 Q Q Q被送进Point Matching Module [g: ( R N × 3 , R M × 3 ) → ( R N × M , R N × M ) (\mathbb{R}^{N×3},\mathbb{R}^{M×3})\rightarrow(\mathbb{R}^{N×M},\mathbb{R}^{N×M}) (RN×3,RM×3)→(RN×M,RN×M)],获取了两类映射关系 m Q ~ : P → Q \tilde{m_{Q}}:P\rightarrow Q mQ~:P→Q、 m P ~ : P → Q \tilde{m_{P}}:P\rightarrow Q mP~:P→Q(提供了 P P P和 Q Q Q之间的对应点对),接下来都被送进Point-pair Filtering Module[h( R × 6 → ( 0 , 1 ) × 1 \mathbb{R}^{×6}\rightarrow{(0,1)}^{×1} R×6→(0,1)×1)],该模块将提供了每个匹配点对的置信度,最后通过 S V D SVD SVD求解加权最小二乘来估计刚性变换。 -
点匹配(Point Matching)[主要创新点]
点云 P P P和点云 Q Q Q作为输入,在每一层 l = 1 , ⋯ , L l=1,\cdots ,L l=1,⋯,L获得注意力矩阵 A P Q ( l ) A_{PQ}^{(l)} APQ(l)、 A Q P ( l ) A_{QP}^{(l)} AQP(l)[Layer-wise Cross-attention Matrices],而这 L L L个注意力矩阵将构成全局的注意矩阵 A P Q ( ∗ ) A_{PQ}^{(*)} APQ(∗)、 A Q P ( ∗ ) A_{QP}^{(*)} AQP(∗)[Global Attention Matrices],再通过全局的注意力矩阵获得 m Q ~ \tilde{m_{Q}} mQ~、 m P ~ \tilde{m_{P}} mP~。
(1). Layer-wise Cross-attention Matrices
F P F_{P} FP、 F Q F_{Q} FQ分别为点云 P P P和点云 Q Q Q的特征向量,两片点云的特征被送入点卷积神经网络* e e e*(由三个残差块组成,每个残差块又包含两个FKAConv.子层),生成新的特征向量 e ( F P ) e(F_{P}) e(FP)、 e ( F Q ) e(F_{Q}) e(FQ)(特征维度减半)。接下来用新的特征向量 e ( F P ) e(F_{P}) e(FP)、 e ( F Q ) e(F_{Q}) e(FQ)计算获得我们的注意力矩阵 A P Q ( l ) A_{PQ}^{(l)} APQ(l)、 A Q P ( l ) A_{QP}^{(l)} AQP(l),公式如下:
( A P Q ( l ) ) i j = e a i j s ∑ k = 1 M e a i k s , ( A Q P ( l ) ) i j = e a i j s ∑ k = 1 N e a i k s (A_{PQ}^{(l)})_{ij} = \frac{e^{\frac{a_{ij}}{s}}}{\sum_{k=1}^{M}e^{\frac{a_{ik}}{s}}}, (A_{QP}^{(l)})_{ij} = \frac{e^{\frac{a_{ij}}{s}}}{\sum_{k=1}^{N}e^{\frac{a_{ik}}{s}}} (APQ(l))ij=∑k=1Mesaikesaij,(AQP(l))ij=∑k=1Nesaikesaij
其中,
a i j = e ( F P ) i e ( F Q ) j T ∥ e ( F P ) i ∥ 2 ∥ e ( F Q ) j ∥ 2 , a_{ij} = \frac{e(F_{P})_{i}e(F_{Q})_{j}^{T}}{\left \|e(F_{P})_{i} \right \|_{2}\left \|e(F_{Q})_{j} \right \|_{2}}, aij=∥e(FP)i∥2∥e(FQ)j∥2e(FP)ie(FQ)jT,
在每一层,我们拼接每个输入点的新特征以及在连接另一个点云中的最佳对应点特征,具体公式如下所示:
E P = [ e ( F P ) , A P Q ( l ) e ( F Q ) ] ϵ R N × c ( l ) E_{P}=[e(F_{P}),A_{PQ}^{(l)}e(F_{Q})]\epsilon \mathbb{R}^{N×c^{(l)}} EP=[e(FP),APQ(l)e(FQ)]ϵRN×c(l), E Q = [ e ( F Q ) , A Q P ( l ) T e ( F P ) ] ϵ R M × c ( l ) E_{Q}=[e(F_{Q}),A_{QP}^{(l)T}e(F_{P})]\epsilon \mathbb{R}^{M×c^{(l)}} EQ=[e(FQ),AQP(l)Te(FP)]ϵRM×c(l)
其中 E P E_{P} EP, E Q E_{Q} EQ为 l l l层的输出、 l + 1 l+1 l+1层的输入。
最后我们将会提取出L个注意矩阵 ( A P Q ( 1 ) , ⋯ , A P Q ( L ) ) (A_{PQ}^{(1)},\cdots,A_{PQ}^{(L)}) (APQ(1),⋯,APQ(L))和 ( A Q P ( 1 ) , ⋯ , A Q P ( L ) ) (A_{QP}^{(1)},\cdots,A_{QP}^{(L)}) (AQP(1),⋯,AQP(L))
(2). Global Attention Matrices
本文通过简单的点态乘法将每一层的注意力矩阵组合起来,如下所示:
A P Q ( ∗ ) = A P Q ( 1 ) ⨀ ⋯ ⨀ A P Q ( L ) A_{PQ}^{(*)}=A_{PQ}^{(1)}\bigodot \cdots\bigodot A_{PQ}^{(L)} APQ(∗)=APQ(1)⨀⋯⨀APQ(L)
这样做的目的有:(1)每层注意力矩阵的特征伴随着层数的增加使用的视野或比例是不断提升的,只有在所有尺度上的特征都相似时,才能获得我们需要的匹配点,(2)允许反向传播从损失到每一层。
(3). Soft and Sparse Maps
两种匹配点的标准方法软映射和稀疏映射。
软映射:
m Q ~ ( p i ) = ∑ j = 1 M ( A P Q ( ∗ ) ) i , j q j ∑ k = 1 M ( A P Q ( ∗ ) ) i , k \tilde{m_{Q}}(p_{i})= \frac{\sum_{j=1}^{M}(A_{PQ}^{(*)})_{i,j}q_{j}}{\sum_{k=1}^{M}(A_{PQ}^{(*)})_{i,k}} mQ~(pi)=∑k=1M(APQ(∗))i,k∑j=1M(APQ(∗))i,jqj
稀疏映射:
m Q ~ ( p i ) = q j , w h e r e j ( ∗ ) = a r g m a x ( A P Q ( ∗ ) ) i , j j \tilde{m_{Q}}(p_{i})= q_{j},where {j}^{(*)}=\underset{j}{argmax(A_{PQ}^{(*)})_{i,j}} mQ~(pi)=qj,where j(∗)=jargmax(APQ(∗))i,j -
置信估计(Confidence Estimation)
虽然作者通过前面的模块找到了点云 P P P和点云 Q Q Q间的映射关系,但是仍在存在错误的匹配,因此我们需要过滤这些误匹配。
作者通过连接向量构成 [ p i T , m Q ~ ( p i ) T ] T ϵ R 6 [p_{i}^{T},\tilde{m_{Q}}(p_{i})^{T}]^{T}\epsilon \mathbb{R}^{6} [piT,mQ~(pi)T]TϵR6,然后将其送入置信估计模块[h( R × 6 → ( 0 , 1 ) × 1 \mathbb{R}^{×6}\rightarrow{(0,1)}^{×1} R×6→(0,1)×1)],从而得到置信分数 ω i \omega_{i} ωi -
损失函数
(1). Attention Loss
(2). Confidence Loss