Accurate 3D Object Detection using Energy-Based Models

问题

  • 3DOD的任务是在所给顶的感知数据上估计出包围目标的3D框,大致分为两个子任务:将给定的候选3D框中将目标进行分类,然后回归出该目标的bbox;
  • 如何在复杂环境下使用激光雷达数据对3D bbox进行准确回归;
  • 3DOD中基于概率密度回归的bbox回归方法在推理时需要使用梯度上升最大化 p ( y ∣ x ; θ ) p(y|x;\theta) p(yx;θ),要求DNN的标量输出 f θ ( x , y ) f_\theta(x,y) fθ(x,y)对bbox y y y​​是可微的,但当前方法无法满足可微这一条件;

解决方案

  • 使用基于能量模型的概率回归方法,进行回归;
  • 使用3D bbox的可微的池化,使得test时可以使用多次迭代优化回归;

实现

  • 基于能量模型的回归

    • 基于能量的模型中,使用条件EBM对给定 x x x​的 y y y​​的分布 p ( y ∣ x ) p(y|x) p(yx)进行建模,定义为:

      在这里插入图片描述

      其中, f θ : X × Y → R f_\theta: X\times Y\rightarrow R fθ:X×YR​是一个DNN映射, Z ( x , θ ) = ∫ e f θ ( x , y ^ ) d y ^ Z(x,\theta)=\int e^{f_\theta(x,\hat y)}d\hat y Z(x,θ)=efθ(x,y^)dy^​​为对输入有依赖的归一化函数​​,DNN的输出 f θ ( x , y ) f_\theta(x,y) fθ(x,y)被解释为分布 p ( x ∣ y ) p(x|y) p(xy)的(负)能量;

    • 在测试时,模型需要预测给定 x ⋆ x\star x​​​​情况下最可能的目标, y ⋆ = a r g m a x y p ( y ∣ x ⋆ ; y ) y^\star=argmax_y{p(y|x\star;y)} y=argmaxyp(yx;y)​​​​;在实际训练中, y ⋆ = a r g m a x y f θ ( x ⋆ , y ) y^\star=argmax_y{f_\theta(x\star,y)} y=argmaxyfθ(x,y)​​​​可以通过微调T步的一个初始估计 y ^ \hat y y^​​​​来得到最终的y的估计:

      在这里插入图片描述

    • 使用NCE进行训练,损失如下:

      在这里插入图片描述

      其中, { y i ( m ) } m = 1 M \{y_i^{(m)}\}_{m=1}^M {yi(m)}m=1M​为从噪声分布 p ( y ∣ y i ) p(y|y_i) p(yyi)​中采集的样本, y i y_i yi​为真实目标;q为以 y i y_i yi​为中心的K个Guassins混合模型 q ( y ∣ y i ) = 1 / K ∑ k = 1 K N ( y ; y i ; σ k 2 I ) q(y|y_i)=1/K\sum_{k=1}^KN(y;y_i;\sigma_k^2I) q(yyi)=1/Kk=1KN(y;yi;σk2I)

    • polo

  • SA-SSD3D目标检测器

    • baseline的框架

      在这里插入图片描述

      给定LiDAR点云数据,该模型估计出D个预测 { d i } i = 1 D \{d_i\}_{i=1}^D {di}i=1D,每个d包含一个3D bbox的预测y: y = [ c x , c y , c z , h , w , l , , Φ ] ∈ R 7 y=[c_x,c_y,c_z,h,w,l,,\Phi]\in R^7 y=[cx,cy,cz,h,w,l,,Φ]R7,其中 Φ \Phi Φ为bbox的方位角。首先,LiDAR点云数据被编码为3D的tensor,输入backbone网络,使用子流形稀疏3D卷积进行处理,生成3为的tensor h 1 ( x ) ∈ R W × L × H × C h_1(x)\in R^{W\times L\times H\times C} h1(x)RW×L×H×C,将该特征进行flatten,得到其BEV(鸟瞰)特征表示 h 2 ( x ) ∈ R W × L × H C h_2(x)\in R^{W\times L\times HC} h2(x)RW×L×HC h 2 ( x ) h_2(x) h2(x)再通过六个标准的2D卷积层,得到 h 3 ( x ) ∈ R W × L × C ′ h_3(x)\in R^{W\times L\times C'} h3(x)RW×L×C h 3 ( x ) h_3(x) h3(x)​则被送入检测网络进行分类和回归;

    • polo

  • Conditional EBM的定义

    • 为了实现输出 f θ ( x , y ) f_\theta(x,y) fθ(x,y)对3D的 y y y可微,基于2D的回归方法,为3D中的可微的池化操作;

    • 3D的可微池化:利用2D的特征 h 3 ( x ) ∈ R W × L × C ′ h_3(x)\in R^{W\times L\times C'} h3(x)RW×L×C​​​​​,使用 y B E V y^{BEV} yBEV​​​对 h 3 h_3 h3​​​​进行池化,提取特征向量 h 4 ( x , y B E V ) h_4(x,y^{BEV}) h4(x,yBEV)​​​​​。其中 y B E V = [ c x , c y , w , l , Φ ] ∈ R 5 y^{BEV}=[c_x,c_y,w,l,\Phi]\in R^5 yBEV=[cx,cy,w,l,Φ]R5​​​,其为一个具有方向的2D bbox,无法直接使用2D的池化。所以将 y B E V y^{BEV} yBEV​​​划分为规则的grid,通过对 h 3 h_3 h3​​​进行双线性插值来提取每个grid中的特征向量, g ∈ R C ′ g\in R^{C'} gRC​​​,然后flatten获取特征向量 h 4 ( x , y B E V ) ∈ R W ′ L ′ C ′ h_4(x,y^{BEV})\in R^{W'L'C'} h4(x,yBEV)RWLC​,该池化操作对 y B E V y^{BEV} yBEV​​​​是可微的。如下图:

      在这里插入图片描述

    • h 4 ( x , y B E V ) h_4(x,y^{BEV}) h4(x,yBEV)​​是 y B E V y^{BEV} yBEV​​的函数,并不包含全部的3D bbox y y y​​,在测试期间使用梯度上升无法更新 c z c_z cz​​和 h h h​​。此处通过两个全连接层处理 c z c_z cz​​和 h h h​​,生成向量 g c z ∈ R C ′ ′ g_{c_z}\in R^{C''} gczRC​​和 g h ∈ R C ′ ′ g_{h}\in R^{C''} ghRC​​​,最终将三个特征向量cat到一起,得到来自3D的bbox y的池化特征 h 5 ( x , y ) h_5(x,y) h5(x,y)。如下图所示:

      在这里插入图片描述

  • 检测器的训练和推理

    • 训练

      在这里插入图片描述

    • 推理

      • 给定点云数据p,检测器SA-SSD输出2D特征 h 3 ( x ⋆ ) h_3(x\star) h3(x)和检测结果 { ( y ^ i , s i ) } i = 1 D \{(\hat y_i,s_i)\}_{i=1}^D {(y^i,si)}i=1D s i s_i si为分类得分;
      • 将所有的bbox { y ^ i } i = 1 D \{\hat y_i\}_{i=1}^D {y^i}i=1D​作为初始bbox,通过T步梯度上升进行微调使得趋向于 f θ ( x ⋆ , y ) f_\theta(x\star,y) fθ(x,y)​的不同局部最大值,最终得到 { y i } i = 1 D \{y_i\}_{i=1}^D {yi}i=1D
    • 实验结果:论文中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值