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

FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
fcos3d 设计了一种新的旋转编码方案,即将360°角度回归解耦为方向的二分类和180°角度回归,在角度正确性上超过了 CenterNet
  • loss 设计
  • 分类使用 focal loss
    FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
  • 回归基本上使用 smoothL1 loss,方向分类和 center-ness 使用 binary cross entropy 损失
    FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
  • 总损失
    FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
  • center-ness loss 设计
  • 因为这里回归的是 3d 中心点,所以如下所示使用以 3D 中心投影点为远点的 2D 高斯分布作为 center-ness 的目标,然后再以此为真值计算 BCE loss
    FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
  • 测试阶段
  • 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
  • 除了上面的样本分配方法,还提出了一种基于 3d-center 来确定正样本的方法,即只有和中心点距离小于 1.5xstride 的样本算作正样本
  • 对每个回归分支的结果增加一个 scale 变换能涨点,该 scale 参数设置为网络可学习

; 实验结果

评测指标

  • 使用在地平面上的 2D center 与 gt 的距离作为 threshold,避免使用 IoU 作为 threshold 对物体size 和朝向敏感的问题
    FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
    其中 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 指代属性分类准确度
    FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
  • NuScenes Detection Score(NDS)
  • NuScenes 官方提供的更全面的指标
    FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection

; 对比精度

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

消融实验

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

; 可视化

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

Thoughts

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

Original: https://blog.csdn.net/kebijuelun/article/details/124607167
Author: kebijuelun
Title: FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/628896/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球