首页 > 技术文章 > 阅读笔记--SVGA-Net: Sparse Voxel-Graph Attention Network for 3D Object Detection from Point Clouds

yesman9527 2021-03-15 19:12 原文


1、Introduction

  • 单纯地将点云投影到不同的视图并不能很好地捕捉到物体地几何信息,许多方法都需要在设计的网络中结合RGB图像。仅用体素化的方法并没有很好地利用点云地特性,随着分辨率的增加带来了巨大的计算负担。以点网(PointNet)为骨干的网络直接对点云进行处理,无法构建分组点集之间的邻居关系。
  • Point-GNN与ShapeContextNet和Pointnet++类似,在特征提取过程中,点集之间的关系并没有很好的建立,大量的矩阵操作会带来沉重的计算负担和内存消耗。
  • SVGA-Net是一个端到端可训练的网络,它以原始点云作为对象的类别和边界框信息的输入和输出。
  • 具体来说,SVGA-Net主要由体素图网络模块和稀疏-稠密回归模块组成。与标准化的矩形体素不同,我们将点云划分为具有固定半径的3D球形空间。体素图网络的目标是构建每个体素的局部完备图和所有体素的全局KNN图。局部和全局作为注意机制,为每个点的特征向量提供一个参数监督因子。通过这种方式,可以将局部聚合的特征与全局点方向的特征结合起来。然后设计稀疏-稠密回归模块,通过对不同尺度的特征进行处理来预测类别和三维边界盒。

Contribution

  • 提出了一种新的端到端可训练的点云三维目标检测网络,该网络使用图形表示,而不需要转换为其他格式。
  • 设计了一个体素图网络,该网络在每个球状体素内构造局部完备图,并通过所有体素构造全局KNN图,同时学习判别特征表示。
  • 提出了一种新的三维盒估计方法,在不同的尺度上聚集特征,以实现更高的三维定位精度。
  • 提出的SVGA-Net在具有挑战性的KITTI 3D检测数据集上使用最先进的方法获得了不错的实验结果。

2、Proposed method

在这里插入图片描述

SVGA-Net体系结构主要由两个模块组成:voxel-graph network和sparse-to-dense regression.

2.1 Voxel-graph network architecture

(1) Spherical voxel grouping

  • 原始点云表示为 G = { V , D } G=\{V,D\} G={V,D},其中 V = { p 1 , p 2 , . . . , p n } V=\{p_1,p_2,...,p_n\} V={p1,p2,...,pn}表示D维度量空间中的n个点,D在实验中设为4。每个点被定义为 v i = { x i , y i , z i } v_i=\{x_i,y_i,z_i\} vi={xi,yi,zi},其中 x i , y i , z i x_i,y_i,z_i xi,yi,zi表示三维空间坐标,第四维为 s i s_i si表示激光反射强度。
  • 为了更好地覆盖整个点集,利用迭代最远采样选择N个最远点 P = { p i = [ v i , s i ] T ϵ R 4 } , i = 1 , 2 , . . . , N P=\{p_i=[v_i,s_i]^T \epsilon \Bbb R^4\},i=1,2,...,N P={pi=[vi,si]TϵR4},i=1,2,...,N。根据P中的每个点,在固定半径r内搜索其最近的邻居,形成一个局部体素球: b i = { p 1 , p 2 , . . . p i , . . . , p j , . . . ∣ ∥ v i − v j ∥ 2 < r } b_i=\{p_1,p_2,...p_i,...,p_j,...|\parallel v_i-v_j\parallel_2<r\} bi={p1,p2,...pi,...,pj,...vivj2<r}
  • 这样,可以将3D空间细分为N个3D球形体素 B = { b 1 , b 2 , . . . , b N } B=\{b_1,b_2,...,b_N\} B={b1,b2,...,bN}

(2) Local point-wise feature

在这里插入图片描述
对于每个球形体素 b i = { p j = [ x j , y j , z j , s j ] T } j = 1 , 2 , . . , t b_i = \{p_j=[x_j,y_j,z_j,s_j]^T\}_{j=1,2,..,t} bi={pj=[xj,yj,zj,sj]T}j=1,2,..,t(t随体素球的不同而变化),其中所有点的坐标信息构成输入向量,然后通过学习映射来提取每个球形体素的局部点特征:
f ( b i ) = M L P ( p j ) j = 1 , 2 , . . . , t f(b_i)=MLP(p_j)_{j=1,2,...,t} f(bi)=MLP(pj)j=1,2,...,t
可以得到每个体素球的局部逐点特征表示 F = { f i , i = 1 , . . . , t } F=\{f_i,i=1,...,t\} F={fi,i=1,...,t}

(3) Local point-attention layer

在这里插入图片描述
局部点注意层以每个点的特征作为输入,通过一系列的信息聚合,输出精细化的特征 F ′ = { f i ′ , i = 1 , 2 , . . . , t } F'=\{f_i',i=1,2,...,t\} F={fi,i=1,2,...,t}
在这里插入图片描述

图中的结点表示一个体素球中的点集中的点

这一部分为所有体素球的局部点集构造一个完整图,为所有的体素球构造KNN图,然后根据局部和全局注意力分数将每个点的信息进行聚合,第 j 个点的特征聚合表示为:
在这里插入图片描述

在这里插入图片描述

其中, f j ′ f_j' fj是点 p j p_j pj的动态更新特征, f j f_j fj是点 p j p_j pj的输入特征, U ( p j ) , f j , k , α j , k U(p_j),f_{j,k},\alpha _{j,k} U(pj)fj,kαj,k分别是与点 p j p_j pj在同一球体内其他点的索引、第k个点的特征和 p j p_j pj与其他点之间的局部注意力得分。 β m \beta_m βm是全局KNN图在第m次迭代中的全局注意力得分。

(4) Global attention layer

在这里插入图片描述
通过构造局部完备图,聚合的特征只能描述局部特征,不能与全局信息相结合。因此我们设计了全局注意层来学习每个球状体素的全局特征,并提供一个与每个节点对齐的特征因子。
在这里插入图片描述

图中的结点表示体素球

这一部分的做法是,对N个3D体素球 B = { b 1 , b 2 , . . . , b N } B=\{b_1,b_2,...,b_N\} B={b1,b2,...,bN}中的每个体素球 b i b_i bi中的所有点计算物理中心 { c i } i = 1 , . . . , N \{c_i\}_{i=1,...,N} {ci}i=1,...,N,然后通过一个3层的MPL学习每个中心,得到初始全局特征 F g = { f g , 1 , . . . , f g , N } F_g=\{f_{g,1},...,f_{g,N}\} Fg={fg,1,...,fg,N}。再为每个体素球构建一个KNN图,对KNN图中的每个结点 f g , i f_{g,i} fg,i计算结点 f g , i f_{g,i} fg,i与第 l l l 个邻居之间的注意力分数,公式为
在这里插入图片描述
其中, ℧ ( f g , i ) \mho(f_{g,i}) (fg,i)表示结点 f g , i f_{g,i} fg,i的邻居索引,m是点注意层数。

(5) Voxel-graph features representation.

对聚合的局部特征应用maxpool,得到每一个体素球最终的特征向量。为了处理所有的球形体素,我们获得一组体素球体特征,每个特征对应体素的空间坐标,并将其作为稀疏-密集回归模块的输入。

2.2 Sparse-to-dense regression

在这里插入图片描述
三维预测框信息表示为 ( x , y , z , l , w , h , θ ) (x,y,z,l,w,h,\theta) (x,y,z,l,w,h,θ) ( x , y , z ) (x,y,z) (x,y,z)为框的中心坐标, ( l , w , h ) (l,w,h) (l,w,h)为框的长宽高, θ \theta θ为航向角。
在这里插入图片描述
这一部分是为了将高分辨率特征与大接收域相结合,将低分辨率特征与小接收域相结合,将原始的稀疏特征图与一系列处理过的密集特征图相结合。最后以得到的 F s F_s Fs特征为输入进行类别分类和三维边界框回归。

2.3 Loss function

锚点(包围框的中心点)与ground truth之间的回归残差计算为:
在这里插入图片描述
其中, d a = ( w a ) 2 + ( l a ) 2 d_a = \sqrt {(w_a)^2+(l_a)^2} da=(wa)2+(la)2 。使用平滑L1损失作为3D包围框回归损失 L r e g L_{reg} Lreg

对于目标分类损失,采用分类二值交叉熵损失:
在这里插入图片描述
其中, N p o s N_{pos} Npos N n e g N_{neg} Nneg是正锚和负锚的数目, p i p o s p_i^{pos} pipos p i n e g p_i^{neg} pineg分别是正锚和负锚的softmax输出,γ1和γ2是平衡不同锚的正常数,在实验中分别设置为1.5和1。

最后,总的loss由 L c l s L_{cls} Lcls L r e g L_{reg} Lreg组成:
在这里插入图片描述
其中, Δ t ∗ \Delta t^* Δt Δ t \Delta t Δt分别是预测残差和回归目标。利用加权参数α和β来平衡不同部位的相对重要性,分别设为1和2。

3、Experiments

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

推荐阅读