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

实现方式

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


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 方案提升了精度,即挑选与中心更近的样本
    • 除了上面的样本分配方法,还提出了一种基于 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 官方提供的更全面的指标

对比精度

消融实验

  • 看一看出depth loss、dist-based target assign,Stronger backbone,DCN,Finetune w/ depth weight=1.0 是涨点程度较大的技巧

可视化

Thoughts

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

FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection相关推荐

  1. 【论文翻译】FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection

    文章目录 PaperInfo Abstract 1 Introduction 2 Related Work 2D Object Detection Monocular 3D Object Detect ...

  2. 论文精读《OFT: Orthographic Feature Transform for Monocular 3D Object Detection》

    OFT: Orthographic Feature Transform for Monocular 3D Object Detection 文章目录 OFT: Orthographic Feature ...

  3. 【论文翻译】Orthographic Feature Transform for Monocular 3D Object Detection

    标题:<Orthographic Feature Transform for Monocular 3D Object Detection> 作者:Thomas Roddick, Alex ...

  4. 复现 MonoEF:Monocular 3D Object Detection: An Extrinsic Parameter Free Approach

    复现 MonoEF:Monocular 3D Object Detection: An Extrinsic Parameter Free Approach 时间:2022年7月13日 代码连接: ht ...

  5. 论文阅读笔记:(2021.06, cvpr) Monocular 3D Object Detection: An Extrinsic Parameter Free Approach

    这是一篇发表在了cvpr 2021上,能够在线估计外参的单目3D目标检测算法,借鉴了visual odometry和style transfer的方法,效果好, 速度快(~30ms), 意料之外,情理 ...

  6. Delving into Localization Errors for Monocular 3D Object Detection 论文学习

    论文地址:Delving into Localization Errors for Monocular 3D Object Detection Github地址:Delving into Locali ...

  7. 论文精读 《CaDNN: Categorical Depth Distribution Network for Monocular 3D Object Detection》

    CaDNN: Categorical Depth Distribution Network for Monocular 3D Object Detection 文章目录 CaDNN: Categori ...

  8. 【3D目标检测】SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation

    目录 前提 概述 细节 网络结构 特征提取网络 检测头1:关键点检测 检测头2:3D参数回归 损失函数 前提 需要先了解下CenterNet [目标检测]Objects as Points 概述 本文 ...

  9. MONODISTILL: LEARNING SPATIAL FEATURES FOR MONOCULAR 3D OBJECT DETECTION

    Paper name MONODISTILL: LEARNING SPATIAL FEATURES FOR MONOCULAR 3D OBJECT DETECTION Paper Reading No ...

最新文章

  1. 常用python工具类代码总结
  2. samba srver on centos-7
  3. python 报ImportError: Install xlrd = 1.0.0 for Excel support错误
  4. android关键应用程序,Android应用程序的四个关键点
  5. Page Cache引起的业务问题处理
  6. 2019ASC世界大学生超算竞赛预赛结果出炉:20校晋级,北航第一
  7. ThickBox在ASP.NET中的应用
  8. 高德地图根据经纬度获取具体城市信息
  9. SDRAM控制器——添加读写FIFO
  10. 2020.04.07 Windows 10 一次系统蓝屏的修复过程
  11. Deecamp20 项目提交【如何用pcdet(second)跑自己的数据】
  12. Python 获取Windows关机消息
  13. Part 1 ——ActiveMQ 概述
  14. 嵌入式linux音频播放器设计,基于嵌入式Linux下Madplay音频播放器设计论文.docx
  15. 多任务多目标CTR预估技术
  16. centos 系统软件包管理 yum 本地yum配置 扩展源epel rpm 清除yum缓存 yum provides */vim 第十节课...
  17. 信息论的应用例子:数据压缩与信息熵、为什么K线这种技术指标没用了?
  18. 愿你历经千帆,得偿所愿
  19. uwp 能否运行于Linux,UWP,实现跨平台的关键
  20. 微信支付现金红包接口应用实例代码说明和DEMO详解,适合用来做微信红包营销活动、吸粉利器...

热门文章

  1. POJ 3414 Pots【BFS】+ Python
  2. 报童问题求解最大利润_数据分析案例:用数学建模和仿真模拟解决供求矛盾问题...
  3. 人世温情:100个程序员的十年故事(下)
  4. linux如何按行拆分与合并
  5. 在服务器密钥交换握手信息,TLS的握手流程-密钥协商与身份认证过程 | 程序小兵...
  6. Kivy快速安装教程
  7. 【Android】ViewModel KTX对Coroutine的支持
  8. 小小盲盒成就千亿港元市值,背后包含哪些产品思维
  9. 如何看待字节跳动取消大小周普遍降薪?平均每日入账6.5亿,11万员工怎么办
  10. oracle审计AUD$过大导致的数据库登录异常