3D目标检测之PVRCNN(第三弹)

PVRCNN是二阶段3D目标检测模型,它结合了基于点和体素的方法,如下图所示:

1:第一阶段:首先将空间中的点云体素化,将点云划分成L x W x H的体素,然后再使用3D稀疏卷积进行8倍下采样,沿着Z轴方向压缩,也就是将3D特征向量转换成2D BEV鸟瞰图,按照基于anchor的方法生成高质量的3Dproposal,也就是沿着Z轴堆叠3D特征量,获得L/8*W/8的BEV图。每个类有2*L/8*W/8个3D锚框。

2:体素得到关键点场景编码

2.1 关键点取样

采用最远点采样(fps),从原始点云P中采样N个关键点K={P1,.....Pn},KITTI数据集N= 2048,WAYMO数据集N=4096。这种方法是关键点分布在非空体素周围,可以代表整个点云样本。

2.2体素抽象(vsa)

pointnet++中使用sa,将关键点周围小于r的点作为输入,然后聚合特征当作关键点的特征。

pvrcnn的亮点在于,提出了vsa,首先是最远点取样,将关键点周围的体素特征聚合到关键点上。

首先将3D体素进行3次下采样,得到4个不同尺度的体素特征,在每个尺度下,都对体素特征聚合,具体来说就是在每个尺度特征图下,寻找关键点距离为R内的所有体素,通过pointnet聚合所有体素特征,结果作为关键点特征,最后4个不同尺度的特征concate成为多尺度特征。同时还拼接了原始点云的特征,和BEV视图的特征,原始点云的特征可以一定程度下弥补体素化带来的位置信息,BEV特征在Z方向具有很大的感受野。实验结果表明加原始点云和BEV特征是有效的。

ROL-grid Pooling

Rol - grid Pooloing 的作用是将聚合得到的多尺度关键点特征,然后再聚合得到ROL特征。进而进行进一步的Proposal Refinement。具体操作,首先第一阶段得到多个ROL,然后将ROL分割成6*6*6大小的网格,每个网格寻找距离小于R的关键点,采用pointnet聚合这些关键点特征,并作为网格特征。其他网格都进行如此操作。然后再对所有网格进行pointnet操作,这样就得到每个ROL特征。

同时考虑到关键点是使用FPS最远点采样,所以有些点是前景点,有些是背景点,所以设计一个网络来判断前背景点。关键点特征作为输入,判断依据是关键点坐标是否在某个GT框的内部。每个关键点增加预测权重的特征为:

其中A()是一个三层MLP网络,在带有一个simoid函数,用于前景点的置信度,范围在[0,1]之间。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值