Voxel R-CNN: Towards High Performance Voxel-based 3D Object Detection

1. Motivation

  1. point-base方法虽然识别率较高但是耗时过长;voxel-base方法虽然耗时较短但是识别率较差.
  2. 经过相关实验可以知道原始点的精确定位并不是必要的,更粗的体素粒度也可以为该任务提供足够的空间上下文线索;
  3. voxel-base 方法将3D特征结构转换为BEV之后,没有进行3D结构的恢复,缺乏对3D结构特征的利用。

2. Contribution

  1. 总结了point-base和voxel-base的缺陷,结合SECORD和PV-RCNN得出单靠BEV表示不能精确预测三维空间的bbox;
  2. point-voxel 耗时较长,影响检测器的效率,因此论文直接利用3D voxel张量来进行物体检测。
    在这里插入图片描述

3. Voxel R-CNN Design

论文设计了一种新的网络架构Voxel R-CNN Design,该网络架构主要包括:3D backbone,2D backbone接RPN和voxel RoI pooling已经检测框细化网络。
网络首先将原始点划分为规则的voxel,并且利用3D backbone进行特征提取,然后将稀疏的3D voxel转化为BEV表示,然后再BEV上使用2D backbone和RPN进行3D proposal的生成,随后使用voxel RoI pooling进行特征提取,并使用这些特征信息进行检测框细化。
在这里插入图片描述

3.1 Voxel RoI pooling

3.1.1 Voxel Volumes as Points

假定非空voxel中心点为 { v i = ( x i ,    y i ,    z i ) } i = 1 N \left\{v_i=\left(x_i,\;y_i,\;z_i\right)\right\}_{i=1}^N {vi=(xi,yi,zi)}i=1N,对应的特征向量为 { Φ i } i = 1 N \left\{\Phi_i\right\}_{i=1}^N {Φi}i=1N。其中中心点的三维坐标是由voxel下标,voxel大小和点云的边界计算得到的。

3.1.2 Voxel Query

在这里插入图片描述
与无序的点云相比,voxel在量化的空间中排序更加有规则,可以通过设置offsets来进行voxel领域访问。论文在对点进行voxel化之后,利用曼哈顿距离通过索引获得相邻体素,并且规定在一个距离阈值中采样至多K个体素。设定曼哈顿计算方式为:
在这里插入图片描述
假设使用ball query进行voxel查询,时间复杂度为 O ( N ) O\left(N\right) O(N),而论文提出的voxel query对领域查询的时间复杂度为 O ( K ) O\left(K\right) O(K),其中K为领域搜索大小,很好地缩短了查询时间。

3.1.3 Voxel RoI Pooling Layer

接着进行池化操作,论文设置了一种新的池化方式,首先将proposal分割成G x G x G,中心点为网格分割中心,然后采用领域信息聚合的方法进行信息聚合。具体的,假设网格中心为 g i g_i gi,采用voxel query聚合的点集为 { v i 1 ,    v i 2 ,    …    ,    v i K } \left\{v_i^1,\;v_i^2,\;\dots\;,\;v_i^K\right\} {vi1,vi2,,viK},因此采用PointNet的聚合方法为:
在这里插入图片描述
其中 v i − g i v_i - g_i vigi为求取点的相对坐标, Φ i k \Phi_i^k Φik为对应点 v i k v_i^k vik的特征向量, ψ ( ⋅ ) \psi\left(\cdot\right) ψ()为MLP层, m a x ( ⋅ ) max\left(\cdot\right) max()为最大池化层。

3.1.4 Accelerated Local Aggregation

在这里插入图片描述
如图(a)所示为普通的PointNet 特征提取步骤,其中假设一共有M个网格( M = r × G 3 M=r\times G^3 M=r×G3),r为RoI的数量,G为网格大小,voxel group 的数量为K,C为voxel特征向量。因此首先从M个网格每个网格提取K个,即M x K,然后经过一层FC,即 ( C + 3 ) × C ′ \left(C+3\right)\times C' (C+3)×C,所以综上计算复杂度为 O ( M × K × ( C + 3 ) × C ′ ) O\left(M\times K\times\left(C+3\right)\times C'\right) O(M×K×(C+3)×C)
而论文对其进行加速,因为体素特征是独立于网格点的,因此论文先对其FC计算,后续只需要根据聚合的点的相对坐标进行体素特征提取就行了。因此体素特征FC提取特征时间复杂度为 N × ( C + 3 ) × C ′ N\times\left(C+3\right)\times C' N×(C+3)×C,M个网格提取K个即为M x K,加上对点相对坐标FC,即为 M × K × 3 × C ′ M\times K\times3\times C' M×K×3×C。因此综上时间复杂度为 O ( N × C × C ′ + M × K × 3 × C ′ ) O\left(N\times C\times C'+M\times K\times3\times C'\right) O(N×C×C+M×K×3×C)。由于 M × K    ≫ N M\times K\;\gg N M×KN,因此加速的PointNet是比原先效率高的。

3.2 Backbone and Region Proposal Networks

论文采用了类似SECORD网络架构进行backbone网络框架搭建。通过三维backbone提取得到对应特征向量,然后将输出向量进行Z轴叠加生成对应的BEV特征图。

3.3 Detect Head

检测头将RoI特征作为输入进行检测框细化,其中先经过两层MLP,然后将提取的特征信息输入两个分支中:一个用于置信度预测,一个用于bbxox回归检测。

3.4 Training Objectives

3.4.1 Losses of RPN

综合分类损失和bbox回归损失即:
在这里插入图片描述

3.4.2 Losses of detect head

Iou值分配为:
在这里插入图片描述
利用二值交叉损失进行置信度预测,并且bbox使用Huber loss进行回归。因此检测头损失可以计算为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值