CloCs
论文: <<CLOCs: Camera-LiDAR Object Candidates Fusion for 3D Object Detection>>
Abstract
文章提出了一种新颖的Camera-LiDAR 目标候选框融合的网络。CLOCs融合提供了一种低复杂度、多模态融合框架,该框架能够显著提升单模态的检测器的表现。
CLOCs在任何2D和3D检测器的NMS之前对联合的输出候选框进行操作,而且它们的几何和感知一致性产生更为精确的3D和2D检测结果。
Introduction
融合方式包括以下三个方面:early fusion,deep fusion,late fusion。
early fusion和deep fusion能够利用交叉模态的信息;
也受到数据对齐的敏感性,这就涉及到一个复杂的结构,而且具体涉及了像素级别的传感器。
late fusion相对简单,它们包含没有变化的预训练的、单一模式的检测器,只需要关联在检测水平上。
文章使用的late fusion的方法,该方法能够对每个传感器使用较小的阈值,并且在NMS之前结合检测候选框。
主要提供了以下贡献:
- 多样性和模块化
- 基于学习的概率驱动融合
- 速度和存储,对于消费级GPU,每帧数据延迟不超过3ms。
- 检测表现
Related Work
3D Detection Using Point Cloud
文中介绍了one-stage和two-stage两大类目标检测。
one-stage:
- Voxelnet
- SECOND
- PointPillars
two-stage:
- PointRCNN
- Fast PointRCNN
- STD
- PV-RCNN
- P a r t − A 2 Part-A^2 Part−A2
在点云的使用方式上,Voxelnet使用的是体素。其他是直接使用点云。
3D Detection Using Multi-modal Fusion
以2D驱动3D检测器
F-PointNet, PointFusion和F-ConvNet是2D驱动3D检测器的代表,它们利用成熟的2D检测器来生成2D候选框,并在图像中降低3D处理区域进而得到相应的裁剪区域。
但是2D图像候选区的生成可能会在一些情况下失败,因为它们只能在3D情况下观察到。
利用BEV图像
MV3D和AVOD将源点云映射到俯视图(BEV)进而形成多通道的BEV图。使用基于深度融合的2D CNN检测提取从BEV图像中的特征,同时利用照片的前视图计算3D边界框的回归。
MMF利用连续卷积来构建密集激光雷达BEV特征映射,利用密集图像特征映射构建逐点的特征融合。
不足:
比不上单独激光检测的原因是:
-
将源点云转化为BEV图丢失了空间信息;
-
为了融合来自于不同传感器模式的特征向量而进行的裁剪和缩放操作可能损害了每个传感器的特征结构。
Motivation
2D and 3D Object Detection
利用照相和激光雷达的校准参数,在激光雷达坐标系的3D边界框能够准确地映射到图像平面上。如图所示:

Why Fusion of Detection Candidates
early fusion在获取交叉模式交互的最大机会的同时,也存在着不同模式之间对齐、展示以及稀疏性等问题;
deep fusion 通过分开的通道在一定程度上解决了不同模式之间的问题,但是仍然存在着结合特征的问题。这是三者中最为复杂的方法,判断融合方法是否有实质提升并不是一件容易的事情;
Late Fusion在训练过程中有着显著的优势。单一模式算法使用各自的传感器数据就可以训练。因此,多模式的传感器不需要个其他模式进行同步或者对齐。只需要在最后融合时需要对齐和标签的数据。
除此之外,late fusion操作的检测候选框数据是紧实的,易于网络编码。因为late fusion修剪而不是创建新的检测。这对于召回率非常重要,而不是准确率。
实操:
-
避免NMS阶段,这个有可能错误的抑制了真实的检测;
-
保持阈值在一个非常低的水平;
Camera-Lidar Object Candidates Fusion
Geometric consistency
2D和3D检测器共同检测出来的目标在图像中具有相同的边界框,假的检测正样本就较少可能有同一检测框。在姿势上的小错误将会导致重叠的减少。这会激励2D边界框和3D投影角的检测框的基于图像的交叉区域来量化2D和3D检测框的几何一致性。
Semantic consistency
检测器可能输出多种类型的目标,但是在融合时我们只关联相同类别的检测。在这个阶段我们不使用(或者较低的阈值)检测,并在融合后的分数上对最终的输出使用阈值。
Network Architecture

CLOCs 融合网络结构。首先,每个2D和3D检测候选框转化为一系列一致性联合检测候选框(一个稀疏的张量,蓝色框);之后利用2D CNN处理在稀疏输入张量中的非空元素;最后,这个处理的张量映射到需要的学习目标,通过最大池化得到一个概率分映射。
稀疏的输入张量展示
P
2
D
=
{
p
1
2
D
,
p
2
2
D
,
.
.
.
,
p
k
2
D
}
P
i
2
D
=
{
[
x
i
1
,
y
i
1
,
x
i
2
,
y
i
2
]
,
s
i
2
D
}
P
3
D
=
{
p
1
3
D
,
p
2
3
D
,
.
.
.
,
p
k
3
D
}
P
i
3
D
=
{
[
h
i
,
w
i
,
l
i
,
x
i
,
y
i
,
z
i
,
θ
i
]
,
s
i
3
D
}
P^{2D} = \{p_1^{2D}, p_2^{2D},..., p_k^{2D}\}\\ P_i^{2D} = \{[x_{i1}, y_{i1}, x_{i2}, y_{i2}], s_i^{2D}\}\\ P^{3D} = \{p_1^{3D}, p_2^{3D},..., p_k^{3D}\}\\ P_i^{3D} = \{[h_i, w_i, l_i, x_i, y_i, z_i, \theta_i], s_i^{3D}\}
P2D={p12D,p22D,...,pk2D}Pi2D={[xi1,yi1,xi2,yi2],si2D}P3D={p13D,p23D,...,pk3D}Pi3D={[hi,wi,li,xi,yi,zi,θi],si3D}
P
2
D
P^{2D}
P2D表示一张图中所有的k个目标候选框,对于第i个
P
i
2
D
P^{2D}_{i}
Pi2D,
x
i
1
,
y
i
1
x_{i1}, y_{i1}
xi1,yi1和
x
i
2
,
y
i
2
x_{i2}, y_{i2}
xi2,yi2是像素坐标中边界框的左上和右下角,
s
i
2
D
s_{i}^{2D}
si2D是自信分数。
对于3D检测,(h,w,l)表示尺度,(x,y,z)表示位置,
θ
\theta
θ表示偏航角。
T
i
,
j
=
I
o
U
i
,
j
,
s
i
2
D
,
s
j
3
D
,
d
j
T_{i,j} = {IoU_{i,j}, s_i^{2D}, s_j^{3D}, d_j}
Ti,j=IoUi,j,si2D,sj3D,dj
构建了
k
∗
n
∗
4
k\ *n\ *4
k ∗n ∗4的矩阵
T
T
T,其中k和n分别表示2D和3D检测的数量,对于每个元素
T
i
,
j
T_{i,j}
Ti,j,有四个通道,其中
I
o
U
i
,
j
IoU_{i,j}
IoUi,j是第i个2D检测和第j个预测3D检测的交叉区域。
s
i
2
D
s_{i}^{2D}
si2D和
s
j
3
D
s_{j}^{3D}
sj3D分别表示2D检测和3D检测的自信分数。
d
j
d_j
dj表示第j个3D边界框和激光雷达在xy平面的正则距离。
结构特征:
- 输入矩阵T是稀疏的,因为对于每个映射的3D检测,只有较少的2D检测与之交互,所以大多数元素都是空的;
- 卷积网络只学习相交的样本,因为k和n比较大(在NMS之前进行的预测,所以k和n较大。),只有相交的元素才能用于融合网络中;
- 对于没有和2D检测相交的3D检测 P j P_j Pj,我们仍然在T的第j列 T k , j T_{k,j} Tk,j中添加最后一个元素,提供3D检测信息,设置 I o U k , j , S k 2 D IoU_{k,j}, S_k^{2D} IoUk,j,Sk2D为-1;
- 非空元素(i,j)的索引也非常重要,保存以备后用。
Network Details
- 融合网络是一系列 1 ∗ 1 1*1 1∗1的2D卷积层;
- 基于p个非空元素的索引填充p个输出,构建了张量 T o u t T_{out} Tout,shape=(k,n,1)。
- 利用最大池化将上述张量转化为(n,1)的概率分。
Loss
focal loss
参数:
α
=
0.25
γ
=
2
\alpha = 0.25\\ \gamma = 2
α=0.25γ=2
Training
o p t i m i z e r : A d a m l e a r n i n g r a t e = 0.003 d e c a y t h e l e a r n i n g r a t e b y a f a c t o r o f 0.8 f o r 15 e p o c h s optimizer: Adam\\ learning_rate = 0.003\\ decay the learning rate by a factor of 0.8 for 15 epochs optimizer:Adamlearningrate=0.003decaythelearningratebyafactorof0.8for15epochs
Experimental Results
Dataset
KITTI
2D/3D Detector Setup
2D检测器:RRC, MS-CNN, Cascade R-CNN
3D检测器:SECOND, PointPillars, PointRCNN, PV-RCNN
Evaluation Results
对于car,IoU阈值设置为0.7;
对于pedestrian和cyclist,IoU阈值设置为0.5。
所有的实例都分为三个等级:easy, moderate, hard. 基于2D检测框高、遮挡水平和截断水平。
表一如图所示:

不同的2D detection/3D detection的对比,对于car类别,采用的是新的40召回率-准确率指标,如表二所示:

不同的2D detection/3D detection的对比,对于pedestrian类别,采用的是新的40召回率-准确率指标,如表三所示:

不同的2D detection/3D detection的对比,对于cyclist类别,采用的是新的40召回率-准确率指标,如表四所示:

Ablation Study

Conclusions
提出了Camera-LiDAR Object Candidates Fusion, 这是一种快速且简单的提升任何2D和3D目标检测的方法。其探索了2D和3D检测的几何和语义一致性。
本文介绍了一种创新的融合网络CLOCs,它利用几何和感知一致性增强2D和3D检测性能。CLOCs通过低复杂度的latefusion策略,在早期融合和深度融合间取得平衡,提高单模态检测器的精度,且在NMS之前操作候选框,减少误抑制。实验结果展示了在KITTI数据集上,CLOCs显著改善了Car、Pedestrian和Cyclist的召回-精度指标。
771





