PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection

1. Motivation

现在存在的3D目标检测方法可以分为两种,一种是基于point-based,一种是基于grid-based(也就是voxel-based)。point-based可以获得更大的感受野,但是计算成本过高;voxel-based计算效率高,但是信息的损失较大。
因此本论文提出一种新的方法,结合两种不同方法的优点,从而来进一步提高目标检测性能。

2. Contribution

  1. 提出PV-RCNN框架,有效结合voxel-based和point-based的有点,在内存消耗可控的情况下提高了3D对象检测的性能;
  2. 提出voxel-to-keypoint方案,在多尺度下将体素特征编码到一个关键点集中,不仅保持了准确的位置,而且丰富了场景特征信息;
  3. 提出多尺度ROI特征提取,聚集更丰富信息,从而实现准确的proposal refinement和置信度预测;

3. 正文

3.1 网络框架

在这里插入图片描述
从网络架构可以看出,本论文提出的PV-RCNN框架包含两个stage。首先采用稀疏卷积方法生成高质量的proposals,并且同时采用pointnet方法对每个尺度的输出进行特征提取并且最后进行拼接,然后根据该特征信息对生成的proposals进行细化操作。

3.2 3D Voxel CNN for Efficient Feature Encoding and Proposal Generation

在这里插入图片描述

3.2.1 3D voxel CNN

3D稀疏voxel CNN是目前性能较好的3D目标检测器,具有高效率和准确性,因此论文将其作为特征提取和3D proposal的backbone。
首先将输入点云分割成L x W x H个voxel,并对非空voxel进行平均处理。接着采用3x3x3进行1x,2x,4x,8x的下采样处理。

3.2.2 3D proposal generation

对下采样结果的3D特征向量转化为2D的鸟瞰图,并生成proposals。对于鸟瞰图,采用poinpillar进行2D鸟瞰图的投影,论文采用了

L

8

×

W

8

\frac L8\times\frac W8

8L×8W的grid大小进行pointpillar。并且每个类有

2

×

L

8

×

W

8

2 \times \frac L8\times\frac W8

2×8L×8W个3D proposals,头偏角分别为0度和90度。

3.3 Voxel-to-keypoint Scene Encoding via Voxel Set Abstraction

3.3.1 Keypoints Sampling

论文使用FPS进行点云采样得到包含n个点的点集

{

p

1

,
  

p

2

,
  

,
  

p

n

}

\left\{p_1,\;p_2,\;\dots,\;p_n\right\}

{p1,p2,,pn}。对于不同的数据集,kitti的n=2048,Waymo的n=4096。

3.3.2 Voxel Set Abstraction Module

论文提出一个新的模块VSA(Voxel Set Abstraction),将多尺度下的特征向量进行特征编码。相对于之前PointNet只学习到相邻点特征,该模块可以学习多尺度下得数据特征,能获取更多特征信息。
假定

F

(

l

k

)

=

{

f

1

(

l

k

)

,
  


,
  

f

N

k

(

l

k

)

}

F_{}^{(l_k)}=\left\{f_1^{(l_k)},\;\cdots,\;f_{N_k}^{(l_k)}\right\}

F(lk)={f1(lk),,fNk(lk)}是第

k

k

k个3D voxel CNN得每一个voxel得特征向量,

V

(

l

k

)

=

{

v

1

(

l

k

)

,
  


,
  

v

N

k

(

l

k

)

}

V_{}^{(l_k)}=\left\{v_1^{(l_k)},\;\cdots,\;v_{N_k}^{(l_k)}\right\}

V(lk)={v1(lk),,vNk(lk)}为对应的3D坐标(可以通过voxel的坐标和实际的voxel的大小来计算得出)。

N

k

N_k

Nk为不为空的voxel的第k个voxel块。
对于每一个点

p

i

p_i

pi,在第k个voxel CNN上,设定采样半径为

r

k

r_k

rk,即可以计算出每个voxel的特征向量为:
在这里插入图片描述
其中

v

j

(

l

k

)

p

i

v_j^{(l_k)}-p_i^{}

vj(lk)pi为点云的point位置相对于voxel中心的偏移值,论文把该值接到后面,于是变形成了一个通过voxel的特征向量集合。接着通过PointNet-block(PointNet++模块)来对集合信息进行进一步提取:
在这里插入图片描述
其中

M

(

)

M\left(\cdot\right)

M()函数在

S

i

(

l

k

)

S_i^{(l_k)}

Si(lk)中随机采样

T

k

T_k

Tk个点,

G

(

)

G\left(\cdot\right)

G()函数为一个多层感知机对采样点信息进行特征编码。因为每个体素上的关键点的数量是不同的,因此在最外层加上

m

a

x

(

)

max\left(\right)

max()进行max-pooling处理,对提取到的特征向量进行信息聚合。这样便可以得到一个点的特征信息。论文为了获取更加丰富的多尺度上下文信息,通常设置不同大小的半径进行局部体素信息获取。
因此经过上面对多尺度的卷积信息获取并进行拼接,便可以得到关键点

p

i

p_i

pi的多尺度语义特征:
在这里插入图片描述

3.3.3 Extened VSA Module

论文对特征进行再一次的丰富,补充了原始点云和8x的下采样的鸟瞰图信息。原始点云数据弥补了点云体素化的量化损失,鸟瞰图信息包含了原始信息在z轴上的很大感受野。
对于原始点云特征

f

i

(

r

a

w

)

f_i^{(raw)}

fi(raw),则按照3.3.2中计算

f

i

(

p

v

)

f_i^{(pv)}

fi(pv)的方法一样,对于鸟瞰图特征

f

i

(

b

e

v

)

f_i^{(bev)}

fi(bev)则通过对原始bev map进行双线性插值。因此最终得到的每个点的特征向量为:
在这里插入图片描述

3.3.4 Predictd Keypoint Weighting

在这里插入图片描述
论文接着利用已有的关键点信息进行proposal的细化。由于部分关键点可能是背景区域,而对于proposal而言,前景点对于proposal的贡献是较大的,背景点权重应该进行缩小。
因此论文从该点出发,提出一个PKM框架对关键点的权重进行再次赋值。通过判断关键点是否在3D box中,便可以判断该点是否为前景关键点,因此依据此重新对关键点权重进行再分配:
在这里插入图片描述
其中PKW模块采用focal loss进行训练,以来解决样本不均衡问题。

3.4 Keypoint-to-grid RoI Feature Abstraction for Proposal Refinement

通过3.3可以提取到多尺度的语义特征向量,因此本模块根据之前生成的3D proposal,利用关键点特征向量对其进行进一步细化。

3.4.1 RoI-grid Pooling via Set Abstraction

在这里插入图片描述
论文提出RoI-grid pooling module模块,对关键点特征信息进行进一步的聚合。首先采用6x6x6的网格在每一个3D proposal进行采样处理,得到集合

G

=

{

g

1

,
  

g

2

,
  

,
  

g

216

}

G=\left\{g_1,\;g_2,\;\dots,\;g_{216}\right\}

G={g1,g2,,g216}。因此定义网格点

g

i

g_i

gi以半径为

r

~

\widetilde r

r

进行领域搜索,即可得:
在这里插入图片描述
其中

p

j

g

i

p_j - g_i

pjgi表示相对位置,因此根据之前的PointNet-block方法对集合进行进一步提取,即为:
在这里插入图片描述
同时同样设置多个不同大小的半径以来获取多尺度下更加丰富的特征信息。

3.4.2 3D Proposal Refinement and Confidence Prediction

精细化部分论文采用两层MLP结构,并且分出有置信度预测和box细化分支。
对于置信度预测分支,通过计算gt和预测的的3D RoIs的3D iou值来进行置信度预测,并对置信度值

y

k

y_k

yk进行标准化:
在这里插入图片描述
其中

I

o

U

k

IoU_k

IoUk是第k个RoI的iou值,该模块通过二分类交叉损失进行优化。
对于box分支,论文采用传统的residual-based 方法并且使用Smooth-L1 loos进行优化。

版权声明:本文为CSDN博主「_鱼遇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xuxiaoxx/article/details/122075244

_鱼遇

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

【MV-3D】----多视图的3D目标检测网络

一、前言 目前主流的空间点云检测主要有两种。一种是直接以三维点云作为输入,直接送入卷积网络或者转化为体素送入。另一种是将3D点云映射到2D,主要为鸟瞰图或者前视图。一般来说第一种方法目标的检测信息比较丰富&#xff