文献阅读:(CVPR2021)Objects are Different: Flexible Monocular 3D Object Detection

Objects are Different: Flexible Monocular 3D Object Detection

【Paper】【Code】
简介
   CVPR2021 一篇Image-based方法,解决3D目标检测的工作,具体的数据集是KITTI,主要框架采用anchor-free类型中centernet框架。
问题:

  1. 现有方法依赖额外信息、如生成伪雷达,需要额外标注
  2. 现有方法大多忽略了对象之间的差异,或只考虑的一般的尺度的方差,这会影响分布外的对象的预测,造成性能下降。
  3. 现有方法无法解决截断对象检测;检测阶段对象会加重网络学习负担,影响预测完整对象。

模型:
在这里插入图片描述

贡献:

  1. 关注到单目三维目标检测中考虑目标间差异的重要性,提出了截断目标预测的解耦方法。
  2. 提出了一种新的目标深度估计公式,它利用不确定性灵活地组合独立的估计器估计对象深度而不是对所有对象采用单一方法。

方式:

  1. 将预测的3D中心与图像的关系分为“inside”和“outside”,然后将内部对象精确地表示为投影中心,外部对象精确地表示为边缘点,这样两组对象分别由特征映射的内部区域和边缘区域处理。针对卷积难以处理空间变化预测的问题,进一步提出了边缘融合模块,将外部目标的特征学习和预测解耦。

  2. 简单地从不同关键点计算平均可能对截断和遮挡对象的关键点比较敏感。本文将关键点分为M组,每组恰好可以足以求解深度。为了将基于M关键点的估计和直接回归相结合,我们对它们的不确定性进行建模,并将最终估计表示为不确定性加权平均。所提出的组合允许模型灵活地选择更适合的估计器进行稳健和准确的预测。

不足:

  1. 没有针对遮挡物体进行处理
  2. 没有针对地优化如Dimension等检测头

1. 摘要

   现有的方法从单一图像不依赖深度信息预测3D框目标物体是一个很有挑战的问题。大多数现有方法对所有对象都采用同样的检测方法,而不管他们的不同分布,导致限制了截断对象检测的性能。本文提出了一个灵活的单目三维目标检测框架,该框架对目标进行显示解耦,并自适应地结合多种目标深度估计方法。具体地说,是将特征映射的边缘解耦以预测长尾截断对象,从而不影响政策对象的优化。此外,将目标深度估计公式化为直接回归目标深度和从不同关键点组求解深度的不确定性引导集合。实验表明,在KITTI下,方法在保持实时性的同时,在moderate和hard下比现有方法提升了27%和30%。

2. 具体实现

2.1 定义问题3D Location

相机坐标系(x,y,z)与像素坐标系关系如图:
在这里插入图片描述
不同坐标系下转换关系:

x

=

(

u

c

c

u

)

z

f

x=\frac{(u_c-c_u)z}{f}

x=f(uccu)z

y

=

(

v

c

c

v

)

z

f

y=\frac{(v_c-c_v)z}{f}

y=f(vccv)z

2.2 网络框架以CenterNet作为框架基础

2.3 如何处理正常对象和截断对象

   现有的方法对每个对象使用统一的表示法

x

r

x_r

xr,即2D边界框

x

b

x_b

xb的中心。3D框投影的三维中心

x

c

x_c

xc,offset偏移

δ

c

=

x

c

x

b

\delta_c = x_c - x_b

δc=xcxb。根据投影中心在图像内还是外将物体分为两组,将两组物体相应的偏移可视化如图。考虑到两组偏移量相差大,联合学习的

δ

c

\delta_c

δc会产生长尾偏移,因此我们建议将内外对象的表示和偏移学习解耦
在这里插入图片描述

  1. 对于Inside目标
    定义方式和之前的做法类似,

    δ

    c

    =

    x

    c

    x

    b

    \delta_c = x_c - x_b

    δc=xcxb

    x

    c

    x_c

    xc仍然采用高斯核去表示中心,此时的偏移误差表示为

    δ

    i

    n

    =

    x

    c

    S

    x

    c

    S

    \delta_{in} = \frac{x_c}{S} - \lfloor\frac{x_c}{S}\rfloor

    δin=SxcSxc

  2. 对于Outside目标
    为了对外部图像的表示进行解耦,我们提出通过图像边缘与xb到xc的线的交点xI来识别外部物体

    δ

    o

    u

    t

    =

    x

    c

    S

    x

    I

    S

    \delta_{out} = \frac{x_c}{S} - \lfloor\frac{x_I}{S}\rfloor

    δout=SxcSxI
    在这里插入图片描述

  3. Edge Fusion
    虽然内外物体的表示在输出特征的内部、边缘区域作了解耦,但难以共享卷积,因为本文提出一种边缘融合模块,进一步解耦外部对象的特征学习和预测。模块首先提取特征映射的四个边界,然后顺时针(这里似乎图文不一致)将其连接到边缘特征向量中,然后由两个1*1 conv处理,以学习截断对象的唯一特征。最后,将处理的向量重新映射到四个边界,并添加到输入特征图。在热图预测中,边缘特征可以专门用于预测外部对象的边缘热图,从而使内部对象的位置不被混淆。为了回归偏移量,在图3中有显著差异的

    δ

    i

    n

    \delta_{in}

    δin

    δ

    o

    u

    t

    \delta_{out}

    δout 可通过边缘融合模块进行回归。
    在这里插入图片描述

  4. 损失函数
    hmap的损失函数依然采用带惩罚因子的Facal Loss

    L

    h

    m

    =

    1

    N

    x

    y

    c

    {

    (

    1

    Y

    ^

    x

    y

    c

    )

    α

    l

    o

    g

    (

    Y

    ^

    x

    y

    c

    )

    Y

    x

    y

    c

    =

    1

    (

    1

    Y

    ^

    x

    y

    c

    )

    β

    (

    Y

    ^

    x

    y

    c

    )

    α

    l

    o

    g

    (

    1

    Y

    ^

    x

    y

    c

    )

    ,

    o

    t

    h

    e

    r

    w

    i

    s

    e

    L_{hm}=\frac{-1}{N}\sum_{xyc}{\begin{cases} {(1-\hat{Y}_{xyc})}^{\alpha}log(\hat{Y}_{xyc}),& Y_{xyc} =1\\\\ {(1-\hat{Y}_{xyc})}^{\beta}(\hat{Y}_{xyc})^{\alpha}log(1-\hat{Y}_{xyc}), & otherwise\end{cases}}

    Lhm=N1xyc(1Y^xyc)αlog(Y^xyc)(1Y^xyc)β(Y^xyc)αlog(1Y^xyc),Yxyc=1otherwise

    L

    o

    f

    f

    =

    {

    δ

    i

    n

    δ

    i

    n

    ,

    i

    n

    s

    i

    d

    e

    l

    o

    g

    (

    1

    +

    δ

    o

    u

    t

    δ

    o

    u

    t

    )

    ,

    o

    u

    t

    s

    i

    d

    e

    L_{off}={\begin{cases} |\delta_{in}-\delta^*_{in}|, & inside\\\\ log(1+|\delta_{out}-\delta^*_{out}|), & outside\end{cases}}

    Loff=δinδin,log(1+δoutδout),insideoutside

2.4 视觉特性的回归

  1. 2D框检测
    本文不将对象表示为二维中心,遵循用FCOS来回归距离,2D检测采用GIOU损失,因为它对规模变化的鲁棒性
  2. 维度估计
    考虑到每个类别中对象之间的小方差,本文回归了相对于统计平均值的相对变化而不是绝对值。采用L1 loss表示为

    L

    d

    i

    m

    =

    k

    {

    h

    ,

    w

    ,

    l

    }

    k

    ˉ

    c

    e

    δ

    k

    k

    L_{dim}=\sum_{k\in\lbrace{h,w,l}\rbrace}|\bar{k}_ce^{\delta_k}-k^*|

    Ldim=k{h,w,l}kˉceδkk

  3. 方向估计
    首先明确全局角度rotation_y和局部角度alpha之间关系

    r

    y

    =

    α

    +

    a

    r

    c

    t

    a

    n

    (

    x

    /

    z

    )

    r_y=\alpha+arctan(x/z)

    ry=α+arctan(x/z)
    在这里插入图片描述
    具有相同全局方向但不同视角的对象将具有不同的局部方向和视觉外观。因此,方法选择估计具有多箱损失的局部方向。它将方向划分为不重叠的箱,以便网络可以确定对象位于哪个箱中,并估计箱中心的剩余旋转量。

  4. 关键点估计
    采取10个关键点:8个顶点+1个顶面中心+1个底面中心
    在这里插入图片描述
    采用L1 loss进行回归:

    L

    k

    e

    y

    =

    i

    =

    1

    N

    k

    I

    i

    n

    (

    k

    i

    )

    δ

    k

    i

    δ

    k

    i

    i

    =

    1

    N

    k

    I

    i

    n

    (

    k

    i

    )

    L_{key}=\frac{\sum^{N_k}_{i=1}I_{in}(k_i)|\delta_{ki}-\delta^*_{ki}|}{\sum^{N_k}_{i=1}I_{in}(k_i)}

    Lkey=i=1NkIin(ki)i=1NkIin(ki)δkiδki

2.5 自适应深度集成

(这部分这里不作介绍)

实验部分

数据集:KITTI 选取Car、Pedestrain、Cyclist

  1. 实验细节
#模型:
Backbone:DLA-34
检测头:3*3 conv + BN + ReLU + 1*1 conv
Edge fusion moudule:3*3 conv + BN
MultiBin loss:使用4个bins [0, pi/2, pi, -pi/2]
#训练设置
图片大小:384 * 1280
图像增强:随机翻转
Batch:	7 (环境一块RTX 2080Ti GPU)
初始学习率:3e-4
权重衰减率:1e-5
迭代次数:34k 分段学习器[22k, 30k] 学习率减少10倍
  1. 实验结果
    在这里插入图片描述
    实验结果展示论文方法可以有效解决截断对象检测问题,整体提升良好并在Hard任务上提升明显
  2. 边缘解耦实验对比在这里插入图片描述
    通过对比实验确定

    x

    c

    x_c

    xc

    x

    I

    x_I

    xI的表示方法对moderate和hard物体提升最好。

总结

   本文提出一种新的单目三维目标检测框架,灵活处理不同物体。我们观察了截断物体的长尾分布,利用所提出的边缘热图和边缘融合模块将其显示解耦。此外本文将目标深度估计公式化为一种不确定性引导的多种方法集成,在KITTI数据集上有很好的提升。

版权声明:本文为CSDN博主「潜沉10」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_32097577/article/details/116989698

潜沉10

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

单目3D目标检测调研

单目3D目标检测调研
一、 简介 现有的单目3D目标检测方案主要方案主要分为两类,分别为基于图片的方法和基于伪雷达点云的方法。   基于图片的方法一般通过2D-3D之间的几何约束来学习,包括目标形状信息&#xff0

实战 | 实时的目标检测与识别简单应用

吃粽子迎端午计算机视觉研究院专栏作者:Edison_G最近总是有很多入门的朋友问我,我进入计算机视觉这个领域难不难?是不是要学习很多知识?到底哪个方向比较好?长按扫描二维码关