概述
本文将我所学习过的3D目标检测论文按照自己的理解进行分类,并介绍每篇论文研究的问题与采用的方法,格式如下:
【年份】【模型简写】【论文名称】【笔记链接】研究的问题:
- 问题1
- 问题2
提出的方法:
文章来源地址https://www.toymoban.com/news/detail-417766.html
- 方法1
- 方法2
整理结果
综述
【2021】【无】【3D Object Detection for Autonomous Driving: A Survey】【笔记链接】【原文链接】研究的问题:
- 3D目标检测的综述
【2022】【无】【3D Object Detection from Images for Autonomous Driving: A Survey】【笔记链接】【原文链接】研究的问题:
- 基于图像的3D目标检测的综述
【2023】【无】【Deep Learning-Based Image 3-D Object Detection for Autonomous Driving: Review】【原文链接】
研究的问题:
- 基于图像的3D目标检测的综述
- 当个补充吧
【2023】【无】【A Survey on Deep Learning Based Methods and Datasets for Monocular 3D Object Detection】【原文链接】
研究的问题:
- 基于图像的3D目标检测的综述
- 当个补充吧
3D视觉原理
【3D目标检测】单目相机成像原理
【3D目标检测】双目3D视觉原理
学位论文
单目图像的3D目标检测方法研究
【2021】【单目图像的3D目标检测方法研究】【笔记链接】研究的问题:
- 如何提高伪点云的质量
- 伪点云体系中如何提高基于点云的检测算法的效果
提出的方法:
- 一种基于置信度的伪点云采样方法
- 模块更新和颜色信息嵌入
基于图像的
基于2D特征做的
SMOKE
【2020】【SMOKE】【SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation】【笔记链接】研究的问题:
- 如何在3D目标检测中去除2D目标检测的子网络
- 如何更加有效的编码航向角
- 3D参数回归如何更加有效
提出的方法:
- 将CenterNet拓展到3D目标检测中,通过关键点检测+3D参数回归,一步到位实现边界框的预测。
- 一种精细化的航向角回归方法
- 一种分组参数回归的方法
MonoDLE
【2021】【MonoDLE】【Delving into Localization Errors for Monocular 3D Object Detection】【笔记链接】
研究的问题:
-
核心问题:作者将CenterNet作为baseline,量化了每个子任务的整体影响,观察到以下现象
-
观察一:定位误差是制约目标检测性能的关键因素,而定位主要需要深度值以及3D边界框中心的投影坐标,前者不好优化。
-
观察二:随着深度的增加,检测性能显著下降,甚至超过一定距离几乎不可能准确检测。我们将这些几乎无法准确检测的远距离样本称为坏样本,这些样本会降低模型对于易于检测样本的表示,危害整体性能
-
观察三:以往的工作要么单独优化各个部分,要么添加IOU类的损失。
解决方法:
- 将3D边界框中心的投影坐标作为监督信号,同时添加2D目标检测的分支,同时回归3D边界框中心的投影坐标和2D边界框的中心。
- 在训练集中移除坏样本或者减少这些样本的训练权重。
- 一种面向3D IOU的尺寸估计损失,是以往两种思路的结合。
MonoPixel
本文是基于单目图像的3D目标检测方法。
【2021】【MonoPixel】【Boosting Monocular 3D Object Detection with Object-Centric Auxiliary Depth Supervision】【笔记链接】
研究的问题:
- 如何获得更好的深度信息从而提升网络的检测性能
解决的方法:
- 提出object-centric auxiliary depth loss,使用原始点云而非深度标注作为监督信号学习精确的深度值(旨在减少深度误差,尤其是前景区域的深度误差)。在推理时,不产生深度图而是检测目标的中心然后产生中心周围的深度值。
- 引入了目标深度分解以及深度不确定性,前者指的是更改了深度回归的目标,后者指的是输出深度分布而非深度值。
DD3D
【2021】【DD3D】【Is Pseudo-Lidar needed for Monocular 3D Object detection?】【笔记链接】研究的问题:
- 如何引入获得空间信息
- 如何增强深度估计效果
解决的方法:
- 密集深度估计子网络
- 大规模数据集下的深度估计预训练
基于3D特征做的
OFT-Net
【2018】【OFT-Net】【Orthographic Feature Transform for Monocular 3D Object Detection】【笔记链接】研究的问题:
- 在图像表示中,物体的比例会随着深度的变化而变化;物体的外观随着视点的不同而不同;物体的距离(无论是物体相对于坐标系的绝对距离还是物体之间的相对距离)无法直接表示,且后者是没有意义的,会随着深度的变化而变化的。
提出的方法:
- 作者认为应该在3D空间中进行检测,因此提出了一种可微的正交特征变换方式,将图像特征变换成正交的鸟瞰图特征,这种表示下物体的比例是均匀的,外观是与视点无关的,距离是有意义的。并且作者的方法没有显式的强调深度信息,作者认为图像特征到鸟瞰图特征的过程中已经隐式的建模了深度的信息。
Pseudo-LiDAR
【2018】【Pseudo-LiDAR】【Pseudo-LiDAR from Visual Depth Estimation: Bridging the Gap in 3D Object Detection for Autonomous Driving】【笔记链接】研究的问题:
- 是否有更加优秀的深度图表示方法
提出的方法:
- 提出了伪点云的表示,也就是将深度图提升到3维后使用点云的形式进行表示,之后就可以使用基于点云的算法进行检测了
Mono3D_PLiDAR
【2019】【Mono3D_PLiDAR】【Monocular 3D Object Detection with Pseudo-LiDAR Point Cloud】【笔记链接】研究的问题:
- 伪点云和真实点云存在较大差别,会影响检测的效果
- 包括:局部不对齐、长尾问题、点密度问题
提出的方法:
- 2D-3D边界框的一致性约束缓解局部不对齐
- 使用实例分割代替目标检测解决长尾问题和点密度问题
AM3D
【2019】【AM3D】【Accurate Monocular Object Detection via Color-Embedded 3D Reconstruction for Autonomous Driving】【笔记链接】研究的问题:
- 核心问题:在基于伪点云的算法中不采用成熟的基于点云的检测算法,而是借鉴他们,设计自己的检测算法
- 问题一:基于视锥的方法在获取目标点云的过程中采用了实例分割,需要额外的实例分割标注,并且真实点云和伪点云的差异使得分割的结果不佳
- 问题二:以往的工作没有充分利用图像的信息尤其是颜色信息(以往基于伪点云的方法中,图像就是用来得到2D候选框以及深度图的,之后的流程与图像无关了)
提出的方法:
- 使用一种新的前景分割的方法,核心就是使用目标区域深度的平均值作为门限,筛选前景点和背景点
- 使用一种基于注意力机制的颜色嵌入方式,丰富目标点云的特征
PSEUDO-LIDAR++
【2019】【PSEUDO-LIDAR++】【PSEUDO-LIDAR++: ACCURATE DEPTH FOR 3D OBJECT DETECTION INAUTONOMOUS DRIVING】【笔记链接】研究的问题:
- 以往的双目深度估计算法主要估计的是视差,然后使用公式计算深度,导致远处物体的深度估计效果不好
提出的方法:
- 改进PSMNet的深度估计流程,使得模型直接估计深度而不是视差
- 采用稀疏的真实点云修正生成的伪点云
Disp R-CNN
【2020】【Disp R-CNN】【Disp R-CNN: Stereo 3D Object Detection via Shape Prior Guided Instance Disparity Estimation】【笔记链接】研究的问题:
- 以往的工作估计整张视差图,计算量大,且视差估计网络与检测网络是分离的,模型无法使用类别具体的先验信息
- 训练中视差标注不足
提出的方法:
- 提出一个端到端实例级别的视差估计网络,只在ROI上进行视差估计
- 使用统计形状模型而非激光雷达生成密集的视差标注
PatchNet
【2020】【PatchNet】【Rethinking Pseudo-LiDAR Representation】【笔记链接】研究的问题:
- 探究基于伪点云的方法效果好的根源到底是什么
提出的方法:
- 用实验证明基于伪点云的方法效果好并不是伪点云这种表示而是坐标系的转换
- 将深度图的表示转换成图像,并使用成熟的2D CNN进行处理
CaDNN
【2021】【CaDNN 】【Categorical Depth Distribution Network for Monocular 3D Object Detection】【笔记链接】研究的问题:
- 以往的深度信息学习方法(无论是显示学习还是隐式学习)都存在一些问题,会导致后面边界框定位困难
- 显示学习的方法将深度估计和目标检测分开训练,导致得到的深度图是次优的,进而导致边界框定位性能差。
- 隐式学习的方法会出现特征涂抹的问题,导致生成的鸟瞰图表示质量不高。
提出的方法:
- 实现了端到端的训练,也就是单个网络中同时进行深度估计和目标检测
- 为每个像素预测一组深度分布,能够得到高质量的鸟瞰图,使得边界框定位更加准确
知识蒸馏
MonoDistill
【2022】【MonoDistill】【MONODISTILL: LEARNING SPATIAL FEATURES FORMONOCULAR 3D OBJECT DETECTION】【笔记链接】研究的问题:
- 核心问题:如何获得空间信息
- 怎样更好的进行知识蒸馏
解决的方法:
- 引入知识蒸馏,通过基于稠密深度图训练的教师网络传递空间信息
- 一大推细粒度的设计,包括深度图的稠密化和三种蒸馏方案
CMKD
【2022】【CMKD】【Cross-Modality Knowledge Distillation Network for Monocular 3D Object Detection】【笔记链接】研究的问题:
- 如何获得更加充足的空间信息/更加充分的利用点云
- 跨模态如何进行知识蒸馏
解决的方法:
- 通过使用基于点云的检测网络对单目3D检测网络进行知识蒸馏
- 特征对齐+领域自适应
ADD
【2023】【ADD】【Attention-based Depth Distillation with 3D-Aware Positional Encoding for Monocular 3D Object】【笔记链接】研究的问题:
- 如何使用简单的结构进行知识蒸馏
- 如何更加有效的进行知识蒸馏
解决的方法:
- 教师网络和学生网络完全几乎相同的结构
- 蒸馏过程中引入自注意力机制
比较新的方法
Pseudo-Stereo
【2021】【Pseudo-Stereo】【Pseudo-Stereo for Monocular 3D Object Detection in Autonomous Driving】【笔记链接】
研究的问题:
- 能否借助立体图像检测算法提高单目图像检测的效果
- 如何实现右侧图像的生成
解决的方法:
- 受启发于伪点云,提出了伪立体图像的概念,将图像转换成立体图像,然后应用立体图像的检测算法
- 提出两种右侧图像生成的方法,分别是图像级别生成和特征级别生成(基于视差的动态卷积方法)
- 提出一个观点:学习深度感知的特征有利于提高单目检测的性能,比如作者这边的深度估计以及深度损失。
WEAKM3D
【2022】【WEAKM3D】【WEAKM3D: TOWARDS WEAKLY SUPERVISEDMONOCULAR 3D OBJECT DETECTION】【笔记链接】研究的问题:
- 核心问题:如何以2D检测框对应的目标点云作为监督信号进行弱监督学习,训练一个单目3D目标检测网络
- 模型产生预测框之后,如何设计损失衡量预测边界框与目标点云之间的距离。
- 如何从点云中获取相关参数的监督信号
解决的方法:
- 基于点密度的点级损失平衡,包括几何目标点云对齐损失以及射线追踪损失
- 给出了位置、偏航角和尺寸的监督信号设计方案。
基于点云的
基于原始点云的
PointNet
【2016】【PointNet】【PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation】【笔记链接】研究的问题:
- 如何直接处理原始点云数据进行分类的分割
提出的方法:
- 考虑点云的特点,设计了一个简单的网络
- 主要就是MLP+max pool得到全局特征,基于这个特征进行预测
PointNet++
【2017】【PointNet++】【PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space】【笔记链接】研究的问题:
- PointNet主要是点级的特征,点与点之间是没有交互的,也就是没有局部特征提取的环节
提出的方法:
- 采用
set abstraction
模块实现了类似于卷积的局部特征提取过程,主要就是采样部分点,然后采用PointNet聚合该点局部的特征,成为新的特征
基于体素的
VoxelNet
【2017】【VoxelNet】【VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection】【笔记链接】研究的问题:
- 如何得到体素的特征
- 如何编码偏航角
提出的方法:
- 提出VFE模块提取体素特征,主要就是一种聚合体素内点的方法
- 直接预测偏航角,不进行编码
SECOND
【2018】【SECOND】【SECOND: Sparsely Embedded Convolutional Detection】【笔记链接】研究的问题:
- VoxelNet计算量过大
- VoxelNet直接预测偏航角会导致训练效果不好
提出的方法:
- 引入稀疏卷积代替朴素的3D卷积
- 对于偏航角使用了一个新的损失函数,并且添加了一个方向分类器。
PointPillars
【2018】【PointPillars】【PointPillars: Fast Encoders for Object Detection from Point Clouds】【笔记链接】研究的问题:
- 如何将点云编码成2D数据,并使用2D卷积处理,进一步减小计算量
提出的方法:
- 一种体柱的编码方法
基于点-体素的
PV-RCNN
【2019】【PV-RCNN】【PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection】【笔记链接】研究的问题:
- 如何融合基于点和基于体素特征提取方法的优势
提出的方法:
- 用VoxelNet这种基于体素方法得到候选框,增加了一套点级的特征提取方法,作为新的特征进行ROI的细化
- 具体的方法就是采样关键点,得到关键点特征,候选框聚合关键点特征作作为自己的特征,进行bbox的回归
PDV
【2022】【PDV】【Point Density-Aware Voxels for LiDAR 3D Object Detection】【笔记链接】研究的问题:
- 如何有效的利用点密度信息而不是想办法缓解它
提出的方法:
- 使用点密度作为关键信息,候选框聚合点密度信息得到候选框特征
- 引入自注意力机制得到特征之间的全局关系
- bbox的回归与置信度的预测串行而不是并行,也就是利用候选框的一些信息辅助置信度预测
基于图像和点云融合的
串行融合的
F-PointNet
【2017】【F-PointNet】【Frustum PointNets for 3D Object Detection from RGB-D Data】【笔记链接】研究的问题:
文章来源:https://www.toymoban.com/news/detail-417766.html
- 如何使用PointNet类的算法进行3D目标检测
提出的方法:
- 核心概念就是视锥
- 将2D候选框转换成3D视锥,然后对视锥包含的点云使用 PointNet类的算法进行检测参数的回归
到了这里,关于【3D目标检测】学习过的论文整理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!