MONODISTILL: LEARNING SPATIAL FEATURES FOR MONOCULAR 3D OBJECT DETECTION
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 是 特征向量的数量。实际使用的时候将特征进行空间分块从而降低计算量
- 考虑到不同模块的 feature 直接蒸馏可能是次优解,这里使用 affinity map (对每个特征向量对的相似性进行编码)来进行蒸馏,学习特征间的相对关系
Object-level distillation in the feature space
- 基于 gt 2d 框信息扣取特征中的目标区域,对该部分区域进行蒸馏,主要是为了避免背景中噪声大区域带来影响
其中 Mof 是目标区域抠图的 mask,Npos 是有效特征向量的数量
- 基于 gt 2d 框信息扣取特征中的目标区域,对该部分区域进行蒸馏,主要是为了避免背景中噪声大区域带来影响
Object-level distillation in the result space
- 将 teacher 模型预测的前景样本作为 soft label 来蒸馏 student 模型,这里选取物体中心及周围一定区域进行蒸馏
其中 Mor 是代表正负样本的mask,yk 是检测 head 预测的第 k 个输出, N 是预测 heads 数目,选取的区域示意图如下
- 将 teacher 模型预测的前景样本作为 soft label 来蒸馏 student 模型,这里选取物体中心及周围一定区域进行蒸馏
训练策略
- 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相关推荐
- 【论文翻译】FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
文章目录 PaperInfo Abstract 1 Introduction 2 Related Work 2D Object Detection Monocular 3D Object Detect ...
- 论文精读 《CaDNN: Categorical Depth Distribution Network for Monocular 3D Object Detection》
CaDNN: Categorical Depth Distribution Network for Monocular 3D Object Detection 文章目录 CaDNN: Categori ...
- 论文阅读笔记:(2021.06, cvpr) Monocular 3D Object Detection: An Extrinsic Parameter Free Approach
这是一篇发表在了cvpr 2021上,能够在线估计外参的单目3D目标检测算法,借鉴了visual odometry和style transfer的方法,效果好, 速度快(~30ms), 意料之外,情理 ...
- 三维目标检测论文阅读: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这篇文章后,看这篇文章就清 ...
- 复现 MonoEF:Monocular 3D Object Detection: An Extrinsic Parameter Free Approach
复现 MonoEF:Monocular 3D Object Detection: An Extrinsic Parameter Free Approach 时间:2022年7月13日 代码连接: ht ...
- Delving into Localization Errors for Monocular 3D Object Detection 论文学习
论文地址:Delving into Localization Errors for Monocular 3D Object Detection Github地址:Delving into Locali ...
- FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
Paper name FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection Paper Reading Note UR ...
- 论文精读《OFT: Orthographic Feature Transform for Monocular 3D Object Detection》
OFT: Orthographic Feature Transform for Monocular 3D Object Detection 文章目录 OFT: Orthographic Feature ...
- 【3D目标检测】SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation
目录 前提 概述 细节 网络结构 特征提取网络 检测头1:关键点检测 检测头2:3D参数回归 损失函数 前提 需要先了解下CenterNet [目标检测]Objects as Points 概述 本文 ...
最新文章
- 机器学习系列14:偏差与方差
- Python模块: 文件和目录os+shutil
- 如果能够让出资人了解更多的c++项目进程
- MyCat分布式数据库集群架构工作笔记0008---Mycat主--从复制原理
- LeetCode 242. 有效的字母异位词 (计数排序思想字符处理)
- Sitecore 8.2 页面架构设计:模板与组件
- LVS+KeepAlived,RabbitMQ高可用负载均衡
- k380没有验证码_罗技K380蓝牙键盘
- 非华为电脑安装华为电脑管家,实现与手机平板的多屏协同
- MongoDB——explain执行计划详解
- 基于ssm+mysql的web助学金申请系统(源文件)、javaweb实现奖学金申请设计过程
- Apple开发账号添加团队成员
- LinkedIn领英人脉显示1度、2度、3度、领英会员的意思和区别是什么?
- tensorflow实现对图片的读取(tf.image.decode_jepg和tf.image.decode_png)
- 微信小程序仿打卡小程序
- 手写简易版 React 来彻底搞懂 fiber 架构
- 最长的名字 /比较最长的字符串并输出
- a2dp sink 在android kk和L实现的区别
- 谷粒商城异步编排(三十二)
- 一个大二学生送给大一学弟学妹的建议
热门文章
- docker的容器操作命令及其使用技巧
- Jenkins详细安装配置部署--超详细
- 小别墅样式_乡村小别墅设计图纸推荐,流行样式都在这里!
- 面向对象编程,我的思想[下]
- 永磁同步电动机dq坐标系下的数学模型推导
- Java输入输出(IO)和流的基本概念以及几种方法
- 渗透实战-HttpFileServer漏洞利用
- pygame游戏_小蝌蚪吃蚊子幼虫成长
- 2021usnews美国计算机科学排名,最新2021usnews世界大学学科排名-2021年usnews计算机科学排名...
- java e4_请问,eclipse e4 究竟是什么?愿能集思广益