Paper name

MONODISTILL: LEARNING SPATIAL FEATURES FOR MONOCULAR 3D OBJECT DETECTION

Paper Reading Note

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

TL;DR

  • ICLR 2022 文章,仅使用单目图像进行 3D 目标检测因为缺乏 spatial cues 的原因一般效果不好,提出了一种在训练阶段引入 LiDAR 信号蒸馏的方法,在测试阶段不增加耗时,并在 KITTI 上取得了 SOTA 效果

Introduction

背景

  • 仅使用单目图像进行 3D 目标检测因为缺乏 spatial cues 的原因一般效果不好,比如下图中的 (a),当前已有的利用 depth 来提升 spatial cues 的方法有使用单目深度模型估计出 depth,然后通过以下方式:

    • (b):基于depth 对 rgb 数据进行增强
    • ©:将 depth 转换为伪雷达数据后进行 3d 检测
    • (d):改为预测 depth 分布,基于分布与图像域特征做外积,然后进行 3d 检测

本文方案

  • 本文提出了一种在训练阶段引入 LiDAR 信号监督的方法,在测试阶段不增加耗时,并在 KITTI 上取得了 SOTA 效果

    • 将 LiDAR 点云投影到图像平面,基于该深度信息训练一个 LiDAR模型,该模型与 RGB 图像训练的模型结构一样
    • 基于训练好的 LiDAR 模型对 rgb 输入的模型进行蒸馏

Dataset/Algorithm/Model/Experiment Detail

实现方式

网络结构

  • 整体分为 3 个模块

    • 图像域 3d 检测模块(student): MonoDLE,DLA-34 作为 backbone,一些并行的 heads 用于预测 3d 目标检测信息,这里进一步使用估计的深度不确定度对预测目标的 confidence 进行 normalize 操作,提升了 1AP
    • LiDAR 3d 检测模块(teacher):为了保证 LiDAR 和 rgb 的特征一致性,使用和图像域 3d 检测模块一样的模型结构,只是输入换成深度补全后的 LiDAR 深度图
    • 蒸馏模块:主要是设计了在特征空间和结果空间的三个蒸馏模块
  • 深度图补全,用现有的 IP-Basic 做

单目蒸馏

主要基于以下 3 种蒸馏模块

  • Scene-level distillation in the feature space

    • 考虑到不同模块的 feature 直接蒸馏可能是次优解,这里使用 affinity map (对每个特征向量对的相似性进行编码)来进行蒸馏,学习特征间的相对关系

      其中 fi 和 fj 代表 i 和 j 位置的特征向量,然后使用 L1 norm 来蒸馏

      其中 K 是 特征向量的数量。实际使用的时候将特征进行空间分块从而降低计算量
  • Object-level distillation in the feature space

    • 基于 gt 2d 框信息扣取特征中的目标区域,对该部分区域进行蒸馏,主要是为了避免背景中噪声大区域带来影响

      其中 Mof 是目标区域抠图的 mask,Npos 是有效特征向量的数量
  • Object-level distillation in the result space

    • 将 teacher 模型预测的前景样本作为 soft label 来蒸馏 student 模型,这里选取物体中心及周围一定区域进行蒸馏

      其中 Mor 是代表正负样本的mask,yk 是检测 head 预测的第 k 个输出, N 是预测 heads 数目,选取的区域示意图如下

训练策略

  • feature 空间的蒸馏只在后三个 block 上做,原因是浅层特征主要是 low-level 信息,比如边缘纹理等,而LiDAR 和 RGB 的浅层 low-level 特征可能不一致
  • 为了更好学习 spatial-aware 特征表达,使用 attention based fusion module (FF)
  • 整体 loss,其中 Lsrc 是原始 3d 检测的 loss

实验结果

数据集

  • 使用 KITTI 3d 检测数据集

    • 7481 训练图片,7518 测试图片,训练图又分为 3712 训练图和 3769 验证图
    • 最终结果是 test 数据集上得到,消融实验是 val 数据集上得到

消融实验

  • 其中每个蒸馏模块单独增加都涨点明显,使用 OR 涨点最明显,所有模块一起使用并加上特征融合模块的精度最高
  • 在 OR 蒸馏时,使用diffused label 涨点明显

实验对比

蒸馏分析

  • 使用 baseline 模型的输出预测替代蒸馏后模型输出,可以看出蒸馏模型主要是对于 loc 的预测帮助较大(b->f)
  • 使用稀疏的深度训练 teacher 模型,虽然 teacher 模型的精度大幅下降,但是蒸馏还是能带来涨点

可视化对比

Thoughts

  • 不增加测试时间的蒸馏方法看起来很适合业务模型
  • 稀疏 depth 训练的低精度模型也能稳定涨点看起来该蒸馏还是有一定鲁棒性的

MONODISTILL: LEARNING SPATIAL FEATURES FOR 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. 论文精读 《CaDNN: Categorical Depth Distribution Network for Monocular 3D Object Detection》

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

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

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

  4. 三维目标检测论文阅读:VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection

    VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection 理解了PointPillars这篇文章后,看这篇文章就清 ...

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

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

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

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

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

    Paper name FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection Paper Reading Note UR ...

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

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

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

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

最新文章

  1. 机器学习系列14:偏差与方差
  2. Python模块: 文件和目录os+shutil
  3. 如果能够让出资人了解更多的c++项目进程
  4. MyCat分布式数据库集群架构工作笔记0008---Mycat主--从复制原理
  5. LeetCode 242. 有效的字母异位词 (计数排序思想字符处理)
  6. Sitecore 8.2 页面架构设计:模板与组件
  7. LVS+KeepAlived,RabbitMQ高可用负载均衡
  8. k380没有验证码_罗技K380蓝牙键盘
  9. 非华为电脑安装华为电脑管家,实现与手机平板的多屏协同
  10. MongoDB——explain执行计划详解
  11. 基于ssm+mysql的web助学金申请系统(源文件)、javaweb实现奖学金申请设计过程
  12. Apple开发账号添加团队成员
  13. LinkedIn领英人脉显示1度、2度、3度、领英会员的意思和区别是什么?
  14. tensorflow实现对图片的读取(tf.image.decode_jepg和tf.image.decode_png)
  15. 微信小程序仿打卡小程序
  16. 手写简易版 React 来彻底搞懂 fiber 架构
  17. 最长的名字 /比较最长的字符串并输出
  18. a2dp sink 在android kk和L实现的区别
  19. 谷粒商城异步编排(三十二)
  20. 一个大二学生送给大一学弟学妹的建议

热门文章

  1. docker的容器操作命令及其使用技巧
  2. Jenkins详细安装配置部署--超详细
  3. 小别墅样式_乡村小别墅设计图纸推荐,流行样式都在这里!
  4. 面向对象编程,我的思想[下]
  5. 永磁同步电动机dq坐标系下的数学模型推导
  6. Java输入输出(IO)和流的基本概念以及几种方法
  7. 渗透实战-HttpFileServer漏洞利用
  8. pygame游戏_小蝌蚪吃蚊子幼虫成长
  9. 2021usnews美国计算机科学排名,最新2021usnews世界大学学科排名-2021年usnews计算机科学排名...
  10. java e4_请问,eclipse e4 究竟是什么?愿能集思广益