1.Motivation
- 对于透视图和BEV,两者都有各自的优势。其中透视图在稀疏的点云上进行小物体的检测性能较强,而BEV可以保证物体的距离不变形,即不会发生物体重叠。
- 对于原先的voxel方法,即hard voxel,存在占用内存大,数据损失的缺点,因此如何利用点云内所有的点的信息成为一个问题。
2. Contributions
- 论文提出一个end-to-end的算法,使用点云中的BEV和透视图进行信息互补。
- 论文针对hard voxel提出了一种新的dynamic voxel,支持动态体素化,相对于HV主要优点:
① dynamic voxel消除了每一个体素采样需要预定义的点数,即每一个点都可被模型使用,减少信息损失;
② 相对于HV,dynamic voxel不需要进行体素填充,减少了额外的空间和计算开销;
③ 克服了体素的随机缺失,产生了确定的体素嵌入,使得检测结果更加稳定。
3. MVF 3D
3.1 Voxelization and Feature Encoding
3.1.1 hard voxelization
体素化其实可以看做是一种点与体素之间的映射关系,即多对一的映射。HV可以将voxelization分为两个阶段进行实现:grouping和sampling。
给定点云
P
=
{
p
1
,
⋯
p
N
}
P=\left\{p_1,\cdots p_N\right\}
P={p1,⋯pN},即将点划分大小为K x T x F的voxel块,其中K是体素的最大数量,T是每一个voxel包含的最大点的数目,F是对应的特征维度。
grouping and sampling: 基于空间坐标对点进行分配到每一个voxel中,由于一个体素可能包含点多于T,因此对点进行采样;同样的,假如点云产生的体素大于固定的体素容量K,则对体素进行降采样。因此对应的映射关系可以表示为:
但是HV具有三个局限性:
- 当点或者体素超过缓冲容量时被抛弃,可能会丢失对检测有用的消息;
- 点和体素的随机缺失可能会导致不确定的体素嵌入,导致检测结果不稳定;
- 填充体素消耗了一定空间和增加了不必要计算。
3.1.2 dynamic voxelization
相对于HV,DV保持分组阶段的不变,但是没有将点采样到固定数量和固定容量体素中,保留点与体素的完整映射。因此,体素的数量和每一个体素的点的数量都是动态的。因此点与体素的映射关系可以表示为:
由于保留了所有原始点和体素信息,动态体素化不会引入任何信息丢失,产生确定的体素嵌入。而对于后续的fusion来说,由于建立了点云到体素的映射关系,为后续的特征点级融合奠定了自然基础。
3.1.3 HV与DV比较
可以看到相对于HV而言,DV进行体素化后需要的缓冲区较小,可以以最小的内存量进行信息存储。
3.2 Feature Fusion
3.2.1 Multi-View Representations
多视角可以提供更加丰富的信息,因此论文采用了透视图和BEV两个视角信息进行融合互补。
但是鸟瞰图是基于笛卡尔坐标系进行构建,而透视图能在球面坐标系进行场景平铺。因此将鸟瞰图转化到球面坐标系下进行表示。假设点云为
(
x
i
,
y
i
,
z
i
)
(x_i,y_i,z_i)
(xi,yi,zi),即可以计算为:
3.2.2 Networks Architecture
- ①首先经过一个FC将点云信息进行特征空间抓化;
- ②然后分别在BEV和透视图进行dynamic voxel,建立点与体素之间的双向映射;
- ③接下来采用一个额外的FC来进行特征学习,并且才u哦那个最大池化来进行体素信息聚合;
- ④并且使用一个卷积塔进行信息的进一步提取,同事保持相同的空间分辨率。
- ⑤融合了来自三个不同来源的特征,点、鸟瞰图和透视图三种特征进行融合。
而卷积塔结构如下图所示:
论文使用两个ResNet层将输入的体素特征映射逐步降采样为原始特征映射维度的1/2和1/4。然后进行采样和连接,构造一个与输入空间分辨率相同的特征图。最后将这个蟑螂转换为所需的特征维度。注意输入和输出特征图之间一致的空间分辨率有效保证点与体素的对应关系保持不变。
3.3 loss function
假设gt和anchor box为
{
x
g
,
y
g
,
z
g
,
l
g
,
w
g
,
θ
g
}
\left\{x_g,y_g,z_g,l_g,w_g,\theta_g\right\}
{xg,yg,zg,lg,wg,θg}和
{
x
a
,
y
a
,
z
a
,
l
a
,
w
a
,
θ
a
}
\left\{x_a,y_a,z_a,l_a,w_a,\theta_a\right\}
{xa,ya,za,la,wa,θa},即对应损失函数可以计算为:
其中
d
a
=
(
l
a
)
2
+
(
w
a
)
2
d^a=\sqrt{\left(l^a\right)^2+\left(w^a\right)^2}
da=(la)2+(wa)2
为anchor box的对角线,因此回归损失函数为:
其中
∗
~
\widetilde\ast
∗
表示预测残差,对于anchor分类,运用focal loss: