FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection

Paper name

FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection

Paper Reading Note

URL: https://arxiv.org/pdf/2104.10956.pdf

TL;DR

  • 基于 Fcos 改进的 3d 检测方案,在 NeurIPS 2020 的 nuScenes 3d 检测比赛上取得了第一名成绩

Introduction

  • Fcos3d 方案
    • 将 7-DoF 3D 目标解耦为 2D 和 3D 的属性
    • 考虑对象的二维比例,将对象分布到不同的特征级别,并仅根据训练过程的投影三维中心进行分配
    • center-ness 根据三维中心重新定义为二维高斯分布,以适应三维目标公式

Dataset/Algorithm/Model/Experiment Detail

实现方式

FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection_第1张图片

  • Backbone: 使用 resnet101,固定第一层的卷积参数从而减少显存消耗
  • FPN: 生成特征层 P3-P7,每个特征层用于检测不同尺度的目标
  • Detection Head:包含4个共享参数的卷积层和 small heads 用于不同的 targets 预测;回归分支需要较高的解耦程度,即每个子 targets 都设置一个 heads,所有回归的目标如上图所示

FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection_第2张图片
fcos3d 设计了一种新的旋转编码方案,即将360°角度回归解耦为方向的二分类和180°角度回归,在角度正确性上超过了 CenterNet

  • loss 设计

    • 分类使用 focal loss
      在这里插入图片描述
    • 回归基本上使用 smoothL1 loss,方向分类和 center-ness 使用 binary cross entropy 损失
      在这里插入图片描述
    • 总损失
      在这里插入图片描述
  • center-ness loss 设计

    • 因为这里回归的是 3d 中心点,所以如下所示使用以 3D 中心投影点为远点的 2D 高斯分布作为 center-ness 的目标,然后再以此为真值计算 BCE loss
      在这里插入图片描述
  • 测试阶段

    • class score 和 center-ness 相乘作为预测的置信度,然后在 bird view 中进行 rotated NMS 得到最终的的结果
  • 训练的样本分配问题

    • gt 的分配基本和 fcos 一样,将 3D 的gt框投影到2D平面上,取最大外接矩形作为 2D gt 框
    • 之前 fcos 使用 area-based 方法解决正样本分配的歧义性问题,即当两个样本都符合要求时选尺寸小的样本;作为认为这种方式对大目标不友好,提出了一种新的 dist-based 方案提升了精度,即挑选与中心更近的样本
      FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection_第3张图片
    • 除了上面的样本分配方法,还提出了一种基于 3d-center 来确定正样本的方法,即只有和中心点距离小于 1.5xstride 的样本算作正样本
    • 对每个回归分支的结果增加一个 scale 变换能涨点,该 scale 参数设置为网络可学习

实验结果

评测指标

  • 使用在地平面上的 2D center 与 gt 的距离作为 threshold,避免使用 IoU 作为 threshold 对物体size 和朝向敏感的问题
    在这里插入图片描述
    其中 C 代表所有类别,D代表4个距离阈值: 0.5m,1m,2m,4m
  • True Positive metrics
    • Average Translation Error (ATE): 2d 下的中心距离差距 (m)
    • Average Scale Error (ASE): 1-IoU,IoU为对齐 translation 和 orientation 后计算的值
    • Average Orientation Error (AOE):smallest yaw angle difference(radians)
    • Average Velocity Error (AVE): 速度差异的 L2-Norm (m/s)
    • Average Attribute Error (AAE):1−acc,其中 acc 指代属性分类准确度
      在这里插入图片描述
  • NuScenes Detection Score(NDS)
    • NuScenes 官方提供的更全面的指标
      在这里插入图片描述

对比精度

FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection_第4张图片

消融实验

  • 看一看出depth loss、dist-based target assign,Stronger backbone,DCN,Finetune w/ depth weight=1.0 是涨点程度较大的技巧
    FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection_第5张图片

可视化

Thoughts

  • 部分比赛用的涨点 trick 还是很实用的,一些 fcos 的结构也对 3d 检测任务进行了适配,思想值得借鉴

你可能感兴趣的:(paper_reading,目标检测,3d,深度学习,自动驾驶,计算机视觉)