点云的稀疏性:在远距离和遮挡区域提供的信息较差,导致难以生成精确的3D边界框。
出现了多模态融合。
图像和点云的不同表示方式使得它们难以融合,导致性能不佳。
论文提出了一种新颖的多模态框架SFD(Sparse Fuse Dense),利用从深度补全生成的伪点云来解决这个问题。
深度补全的目的是在彩色图像的指导下,从稀疏的深度图预测出稠密的深度图。
参数
简单起见,论文将由激光雷达生成的原始点云和由深度补全生成的伪点云分别命名为 raw clouds 和 pseudo clouds。 给定一帧 raw clouds KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲R,通过一个已知的映射 T LiDAR → image T_{\text{LiDAR} \to \text {image}} TLiDAR→image 将它转换为一个稀疏得深度图 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲S。KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲I 表示对应于 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲R 的图像。将 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲I 和 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲S 输入到一个深度补全网络中,可以得到一个稠密的深度图 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲D。 利用已知的映射 T LiDAR → image T_{\text{LiDAR} \to \text {image}} TLiDAR→image ,可以得到一帧 pseudo clouds KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲P.
总体框架
(1)LiDAR Stream,仅使用 raw clouds,并作为 RPN 来产生 3D RoIs,然后利用RoIs对原始点云和伪点云进行裁剪;
(2)Pseudo Stream 利用原始点云和图像生成伪点云。 用RGB绘制伪点云,得到彩色伪点云。进行多次 CPConv 提取点特征,对RoIs中的伪点云进行体素化,用稀疏卷积提取体素特征 ;
(3)稀疏稠密融合头,以网格化的方式从 raw clouds 和 pseudo clouds 中融合3D RoI特征,并产生最终预测,两个辅助头用来规范网络。
3D 网格注意力融合
这篇论文之前直接将从BEV图像特征图中提取的二维激光雷达ROI特征与从FOV图像特征图中提取的二维图像ROI特征进行级联,这是一种粗糙的 ROI 融合策略。
通过将2D图像转换为3D伪点云,可以以更精细的方式融合图像和点云中的 ROI 特征。
3D 网格注意力融合包括三个部分: 3D 融合、网格化融合和注意力融合。
3D 融合
使用一个 3D ROI 来裁剪 3D 原始点云和 3D 伪点云,该 3D ROI 中只包含激光雷达特征和图像特征。
网格化融合
在以往的ROI融合方法中,图像ROI网格与激光雷达ROI网格之间没有对应关系,因此直接将图像ROI特征与激光雷达ROI特征串联起来。
由于原始点云 ROI 特征和伪点云 ROI 特征的相同表示,可以分别融合每对网格特征, 从而能够用相应的伪点云网格特征准确地增强物体的各个部分。
注意力融合
为了自适应地融合原始点云 ROI 和伪点云 ROI 中的每一对网格特征,为每一对网格预测一对权重,并用这些权重对网格特征进行加权,得到融合的网格特征。
F
raw
∈
R
n
×
C
F^{\text{raw}} \in \R^{n \times C}
Fraw∈Rn×C 表示原始点云 ROI 特征
F
pse
∈
R
n
×
C
F^{\text{pse}} \in \R^{n \times C}
Fpse∈Rn×C 表示伪点云 ROI 特征
这里 n n n( 6 × 6 × 6 6×6×6 6×6×6 默认情况下,遵循Voxel-RCNN)是 1 个 3D ROI 中的网格总数, C C C 是网格特征通道。
F i raw F_i^{\text{raw}} Firaw 和 F i pse F_i^{\text{pse}} Fipse 分别表示 F raw F^{\text{raw}} Fraw 和 F pse F^{\text{pse}} Fpse 中的 第 i i i 个 ROI 网格特征。
给出一对 ROI 网格特征 ( F i raw , F i pse ) (F_i^{\text{raw}} , F_i^{\text{pse}}) (Firaw,Fipse) ,将其连接后送入一个全连接层和一个 sigmoid 层,产生一对关于这对 ROI 网格特征的权重 ( w i raw , w i pse ) (w_i^{\text{raw}} , w_i^{\text{pse}}) (wiraw,wipse),权重都是标量,最后用 ( w i raw , w i pse ) (w_i^{\text{raw}} , w_i^{\text{pse}}) (wiraw,wipse) 加权 ( F i raw , F i pse ) (F_i^{\text{raw}} , F_i^{\text{pse}}) (Firaw,Fipse) 获得融合网格特征 F i F_i Fi。 ( w i raw , w i pse ) = σ ( MLP ( CONCAT ( F i raw , F i pse ) ) ) (1) \tag{1} (w_i^{\text{raw}} , w_i^{\text{pse}})=\sigma(\text {MLP}(\text {CONCAT}(F_i^{\text{raw}} , F_i^{\text{pse}}) )) (wiraw,wipse)=σ(MLP(CONCAT(Firaw,Fipse)))(1) F i = M L P ( CONCAT ( w i raw F i raw , w i pse , F i pse ) ) (2) \tag{2} F_i = MLP(\text{CONCAT}(w_i^{\text{raw}} F_i^{\text{raw}}, w_i^{\text{pse}},F_i^{\text{pse}})) Fi=MLP(CONCAT(wirawFiraw,wipse,Fipse))(2)
同步增强
由于图像和点云的不同表现形式,多模态方法很难利用许多数据增强方法。数据增强不足极大地限制了许多多模态方法的性能。
数据增强包括两个部分:像点云一样操纵图像和三维空间特征提取。
像点云一样操纵图像
通过深度补全,可以将2D图像转换为3D伪点云。 用RGB绘制伪点云,伪点云携带图像的所有信息。然后只需要对伪点云和原始点云进行数据增强。
三维空间图像特征提取
处理像点云这样的图像对于多模态数据增强是不够的。 大多数多模态方法都需要在视场图像上提取图像特征。 然而,这将限制模型使用可能导致视场遮挡问题的数据增强方法。
论文提出将二维图像转换成三维伪点云来提取三维空间中的图像特征。不再在视场图像上提取图像特征,所以不需要考虑遮挡问题。可以在伪点云中裁剪出完整的采样器图像信息。
Color Point 卷积
对于一帧伪点云 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲P,我们将图像中每个像素的 RGB ( r , g , b ) \text{RGB}(r,g,b) RGB(r,g,b) 和坐标 ( u , v ) (u,v) (u,v) 串联到其对应的伪点。 因此,第 i i i 个伪点 p i p_i pi 可以表示为 ( x i , y i , z i , r i , g i , b i , u i , v i ) (x_i,y_i,z_i,r_i,g_i,b_i,u_i,v_i) (xi,yi,zi,ri,gi,bi,ui,vi)。
直接对伪点云进行体素化并进行三维稀疏卷积,实际上并没有充分挖掘伪点云中丰富的语义和结构信息。
PointNet++[1] 是提取 points 特征的一个很好的例子,但不适用于伪点云: 首先,PointNet++中的 ball query 操作会由于大量的伪点而带来大量的计算。 其次,PointNet++不能提取2D特征,因为 ball query 操作没有考虑2D邻域关系。
Charles R. Qi, Li Yi, Hao Su, and Leonidas J. Guibas. PointNet++: Deep hierarchical feature learning on point sets in a metric space. In NeurIPS, pages 5099–5108, 2017. 5
在图像域上的 ROI 区域感知的邻域搜索
受体素查询[2]和网格搜索[3]的启发,论文提出了 CPConv(Color Point Convolution) ,克服了 PointNet 的缺点。
[2]Jiajun Deng, Shaoshuai Shi, Peiwei Li, Wengang Zhou, Yanyong Zhang, and Houqiang Li. Voxel r-cnn: Towards high performance voxel-based 3d object detection. arXiv preprint arXiv:2012.15712, 2020. 2, 4, 5, 6, 8
[3]Lue Fan, Xuan Xiong, Feng Wang, Naiyan Wang, and Zhaoxiang Zhang. Rangedet: In defense of range view for lidarbased 3d object detection. arXiv preprint arXiv:2103.10039, 2021. 5
首先,一个伪点云可以在恒定时间内搜索其邻居,使其比 ball query 快得多。 其次,图像域上的邻域关系使得提取二维语义特征成为可能。
然而,由于GT采样时,来自其他帧的伪点可能会造成视场遮挡,因此无法将所有伪点投影到当前帧图像空间进行邻域搜索。为此,论文提出了在图像域上的 ROI 区域感知的邻域搜索。
根据伪点所携带的 ( u , v ) (u,v) (u,v) 属性,将每个3D ROI 中的伪点分别投影到它们的原始图像空间。这样,被相互遮挡的伪点不会成为邻居,因此即使它们之间在视场上存在严重遮挡,它们的特征也不会相互干扰。
伪点特征
对于第
i
i
i 个伪点
p
i
p_i
pi,其特征表示为
f
i
=
(
x
i
,
y
i
,
z
i
,
r
i
,
g
i
,
b
i
)
f_i=(x_i,y_i,z_i,r_i,g_i,b_i)
fi=(xi,yi,zi,ri,gi,bi) 包含 3D 几何特征
(
x
i
,
y
i
,
z
i
)
(x_i,y_i,z_i)
(xi,yi,zi) 和 2D 语义特征
(
r
i
,
g
i
,
b
i
)
(r_i,g_i,b_i)
(ri,gi,bi)。进行邻域搜索之前,在伪点特征上应用一个全连通层,以降低复杂度。在完全连接的层之后,特征通道被提升到
C
3
C_3
C3。
位置残差
利用
p
i
p_i
pi 到其邻域的3D和2D位置残差,使
p
i
p_i
pi 的特征能够感知 3D 和 2D 空间中的局部关系,这对于提取
p
i
p_i
pi 的 3D 结构特征和 2D 语义特征尤为重要。
p i p_i pi 的第 k k k 的邻居 p i k p_i^k pik, p i p_i pi 与 p i k p_i^k pik 之间的位置残差表示为 h i k = ( x i − x i k , y i − y i k , u i − u i k , v i − v i k , ∣ ∣ p i − p i k ∣ ∣ ) h_i^k=(x_i-x_i^k,y_i-y_i^k,u_i-u_i^k,v_i-v_i^k,||p_i-p_i^k||) hik=(xi−xik,yi−yik,ui−uik,vi−vik,∣∣pi−pik∣∣), ∣ ∣ p i − p i k ∣ ∣ = ( x i − x i k ) 2 + ( y i − y i k ) 2 + ( z i − z i k ) 2 ||p_i-p_i^k||=\sqrt {(x_i-x_i^k)^2+(y_i-y_i^k)^2+(z_i-z_i^k)^2} ∣∣pi−pik∣∣=(xi−xik)2+(yi−yik)2+(zi−zik)2。
特征聚合
对于
p
i
p_i
pi 的 K 个邻居,收集它们的位置并计算位置残差。 然后在位置残差上应用一个全连接层,将它们的通道提升到
C
3
C_3
C3,来使得与伪点特征对齐。
给定一组邻居特征
F
i
=
{
f
i
k
∈
R
C
3
,
k
∈
1
,
.
.
.
,
K
}
F_i=\{ f_i^k \in \R^{C_3},k \in 1,...,K \}
Fi={fik∈RC3,k∈1,...,K} 和一组邻据位置残差
H
i
=
{
h
i
k
∈
R
C
3
,
k
∈
1
,
.
.
.
,
K
}
H_i=\{ h_i^k \in R^{C_3},k \in 1,...,K \}
Hi={hik∈RC3,k∈1,...,K}。用相应的
h
i
k
h_i^k
hik 对每个
f
i
k
f_i^k
fik 进行加权。为了达到最大的信息保真度,加权邻居特征被串联而不是 max-pooled。 最后,应用一个全连通层将聚合特征通道映射回
C
3
C_3
C3。
多层次特征融合
三个CPCOVS叠加起来提取伪点云的深层特征。考虑到高层特征提供了更大的感受场和更丰富的语义信息,而低层特征提供了更精细的结构信息,将每个CPCONV的输出进行级联,以得到更全面、更有区分度的伪点云表示。
损失函数
沿用 Voxel-RCNN[2] 的 RPN loss 和 ROI head loss,它们被定义为 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L_{rpn} 和 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L_{roi}。
为了防止梯度被特定流控制,我们在 LiDAR 流和 Pseudo 流上都添加了辅助 ROI head loss,分别被定义为 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L_{aux_1} 和 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L_{aux_2}。KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L_{aux_1} 和 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L_{aux_2}与 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L_{roi} 一致,包括类置信度损失和回归损失。深度补全网络损 loss 为 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L_{depth} 。
总损失是:KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L = \cal L_{rpn…这里,
λ
1
,
λ
2
\lambda_1,\lambda_2
λ1,λ2 和
β
\beta
β 是 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L_{aux_1} ,\cal… 和 KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L_{depth} 的权重。
优势
1.伪点云可以通过提供足够的三维几何信息和额外的二维语义信息来缓解遮挡问题。
2.伪点云可以为原始点云提供补充信息,缓解了激光雷达分辨率有限的问题。
3.密集的伪点云不仅有利于定位前景,而且有助于区分背景和前景。