Dense Depth-pre-trained 3D Detector
1 摘要
DD3D 结合了伪激光雷达方法(深度预训练缩放)和端到端方法(简单性和泛化性能)的优点。与伪激光雷达方法相比,DD3D仅需简单的 depth 预训练和 detection 微调训练,伪激光雷达方法需要额外的深度微调步骤,并且往往过度拟合深度误差。
引言略。
2 相关工作
主要介绍了单目3D目标检测、端到端单阶段检测、Pseudo-Lidar (PL)方法、单目深度估计等。本文主要使用了end-to-end框架、借助了单目深度估计的预训练方法。
3 方法
Architecture
每个检测头由3个检测网络组成,其中3D检测头如下
- 3D detection head: q = ( q w , q x , q y , q z ) \mathbf{q}=(q_w,q_x,q_y,q_z) q=(qw,qx,qy,qz), z { c , p } z_{\{c,\,p\}} z{c,p}, o = ( Δ u , Δ v ) \mathbf{o}=(\Delta_u,\Delta_v) o=(Δu,Δv), δ = ( δ W , δ H , δ L ) \delta=(\delta_W,\delta_H,\delta_L) δ=(δW,δH,δL), β 3D \beta_\text{3D} β3D.
这里需要提到一点,作者在训练过程中缩放图像时,并未对ground truth
进行同等缩放,而是对相机的内参矩阵进行调整,如下所示:
K
=
[
r
x
r
y
1
]
[
f
x
0
p
x
0
f
y
p
y
0
0
1
]
\mathbf{K}=\left[\begin{array}{lll} r_{x} & r_{y} & 1 \end{array}\right]\left[\begin{array}{ccc} f_{x} & 0 & p_{x} \\ 0 & f_{y} & p_{y} \\ 0 & 0 & 1 \end{array}\right]
K=[rxry1]⎣⎡fx000fy0pxpy1⎦⎤
其中,
r
x
r_x
rx与
r
y
r_y
ry为缩放因子,
K
\mathbf{K}
K为新的相机内参矩阵。
对于3D边界框回归,作者使用[59]中描述的解耦L1损失:
L
3
D
(
B
∗
,
B
^
)
=
1
8
∥
B
∗
−
B
^
∥
1
\mathcal{L}_{3 \mathrm{D}}\left(\mathbf{B}^{*}, \hat{\mathbf{B}}\right)=\frac{1}{8}\left\|\mathbf{B}^{*}-\hat{\mathbf{B}}\right\|_{1}
L3D(B∗,B^)=81∥∥∥B∗−B^∥∥∥1
Pre-Training
4 Analysis
4.1 Is depth-pretraining effective?
… 略
这里给出对DD3D讲解更详细、更透彻的一篇文章:
[ICCV2021] Is Pseudo-Lidar needed for Monocular 3D Object detection? (DD3D)