单目3D目标检测 方法综述——直接回归方法、基于深度信息方法、基于点云信息方法

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 本文综合整理单目3D目标检测的方法模型,包括:基于几何约束的直接回归方法,基于深度信息的方法,基于点云信息的方法。万字长文,慢慢阅读~直接回归方法 涉及到模型包括:MonoCon、MonoDLE、MonoFlex、CUPNet、SMOKE等。基于深度信息的方法 涉及到模型包括:MF3D、MonoGRNet、D4LCN、MonoPSR等。基于点云信息的方法 涉及到模型包括:Pseudo lidar、DD3D、CaDDN、LPCG等。

本文综合整理单目3D目标检测的方法模型,包括:基于几何约束的直接回归方法基于深度信息的方法基于点云信息的方法。万字长文,慢慢阅读~

直接回归方法 涉及到模型包括:MonoCon、MonoDLE、MonoFlex、CUPNet、SMOKE等。

基于深度信息的方法 涉及到模型包括:MF3D、MonoGRNet、D4LCN、MonoPSR等。

基于点云信息的方法 涉及到模型包括:Pseudo lidar、DD3D、CaDDN、LPCG等。


一、单目3D目标检测概述

1.1 简介

3D目标检测,只用一个相机实现。输入是图像数据输出是物体的三维尺寸、三维位置、朝向等3D信息。

image.gif

1.2 单目相机特征

通过传感器采样和量化,将3D世界中的物体变换到2D空间,用单个或多个通道的二维图像来描绘物体的形状、颜色、纹理和轮廓等信息,这些信息可用于检测物体。

1.3 为什么用单目做3D目标检测

由于2D相机比复杂的3D采集传感器更便宜且更灵活,基于单目图像的方法已得到广泛研究。二维图像以像素的形式提供了对象丰富的颜色和纹理信息

激光雷达相对高昂的造价和对各种复杂天气情况的敏感性,推动着研究人员开始更多地探索基于视觉的3D目标检测,其在近几年成为越来越热门的研究方向。

基于单目视觉的方法则要求更加严苛,即只有单个相机的图像作为输入,结合相机标定得到物体的三维检测。

这类方法难度较大,但成本极低、便于推广使用,一旦攻克此问题,将彻底颠覆自动驾驶行业的格局。因此,研究此类问题是极具应用价值和学术挑战性的。

1.4 3D边框表示方式

3D边框表示目标的位置、尺寸和方向,是3D目标检测算法的输出。物体是否被遮挡、截断或具有不规则的形状,都用一个紧密边界的立方体包围住被检测到的目标。

3D边框编码方式主要有3种,分别是8角点法4角2高法7参数法(常用),如下图所示。

image.gif

7参数法:由7个坐标参数来表示。它包括边框的中心位置(x, y, z),边框在三维空间中的尺寸(l, w, h)以及表示角度的偏航角θ。

8角点法:8角点法将3D边框通过连接8个角点(c1, c2, . . . , c8)来形成。每一个角点由三维坐标(x, y, z)表示,总计24维向量。

4角2高法:为了保持地面目标的物理约束,3D框的上角需要保持与下角对齐,提出了一种4角2高编码的方法。

4 个角点 (c1, c2, c3, c4) 表示3D边框底面的4个顶点,每个角点用2D坐标(x, y)表示。

两个高度值(h1, h2)表示从地平面到底部和顶部角的偏移量。根据4个角点计算出4个可能的方向,并选择最近的一个作为方向向量。

1.5 挑战

由于是单张图像,是2D维度的,没有深度信息3D框的中心点在图像中位置,模型难以精准预测出来。

2D图像的缺点是缺乏深度信息,这对于准确的物体大小和位置估计(尤其是在弱光条件下)以及检测远处和被遮挡的物体,难以检测。


二、直接回归的方法

基于直接回归的方法。主要有MonoCon、MonoDLE、MonoFlex、CUPNet、SMOKE、 MonoPair、 DEVIANT等算法。

这些算法主要利用几何先验知识,和深度估计的不确定性建模来提高算法性能。

Anchor based(基于锚框)

Deep3Dbbox算法,利用2D检测框和几何投影,并预测物体3D位姿和尺寸,通过求解目标中心到相机中心的平移矩阵,使预测的3D检测框重投影中心坐标与2D检测框中心坐标的误差最小。

MonoDIS算法,利用解耦的回归损失代替之前同时回归中心点、尺寸和角度的损失函数,该损失函数将回归部分分成K 组,通过单独回归参数组来解决不同参数之间的依赖关系,有效避免了各参数间误差传递的干扰,使得训练更加稳定。

预先对全部场景给出了各类目标的锚框,即Anchor-based。这种方法在一定程度上能够解决目标尺度不一和遮挡问题提高检测精度但缺乏效率性且很难枚举所有的方向,或为旋转的目标拟合一个轴对齐的包围框,泛化能力欠缺些。


Anchor free(不用锚框)

Anchor free 抛弃了需要生成的复杂锚框, 而是通过直接预测目标的角点或中心点等方法来形成检测框

RTM3D算法,直接预测3D框的8个顶点和1个中心点,然后通过使用透视投影的几何约束估计3D边框。

SMOKE算法,舍弃了对2D边界框的回归,通过将单个关键点估计与回归的三维变量,来预测每个检测目标的3D框。设计了基于关键点的3D检测分支并去除了2D检测分支。

MonoFlex算法,设计了解耦截断目标和正常目标的预测方法,通过组合基于关键点的深度和直接回归深度进行精确的实例度估计。

GUPNet算法,利用几何不确定性投影模块解决几何投影过程的误差放大问题,并提出了分层任务学习来解决多任务下参数的学习问题。

MonoDLE算法,进行了一系列的 实验,发现了定位误差是影响单目3D目标检测模型性能的关键因素。因此,MonoDLE改进了中心点的取法,采用了从3D投影中心而不是2D边界框中心获取中心点的方法, 以提高模型性能。此外,在实例深度估计任务上,MonoDLE采用了不确定性原理对实例深度进行估计。

MonoCon算法,在MonoDLE算法的基础上添加了辅助学习模块,提升了模型的泛化能力。

DEVIANT算法,提出深度等变性网络来解决现有神经网络模块在处理3D空间中的任意平移时缺乏等变性的问题。

这一类基于直接回归的方法,仅使用单目图像完成模型训练与推理。

下面选一些实时性好的模型,进行详细讲解。


2.1 SMOKE【CVPR2020】

SMOKE是一种实时单目 3D 物体检测器,它提出了一个基于关键点预测的,一阶段单目3D检测框架,去掉了2D框预测部分,直接预测目标的3D属性信息。

image.gif

输入单张图像。

输出其中每个目标的类别、3D边界框用7个参数表示(h、w、l、x、y、z、θ)

  • (h、w、l) 表示目标的高度、宽度和长度;
  • (x、y、z) 表示目标中心点在相机坐标系下的坐标;
  • θ 表示目标的航向角。

image.gif

论文名称:SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation

论文地址:https://arxiv.org/pdf/2002.10111.pdf

开源地址:GitHub - lzccccc/SMOKE: SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation

SMOKE 整体框架,如下图所示。输入图像经过DLA-34 Backbone进行特征提取。检测头主要包含两个分支:关键点分支和3D边界框回归分支。

image.gif

SMOKE的Backbone(主干网络):

  • Deep Layer Aggregation,DLA-34网络(基础)
  • Deformable Convolutional ,可变形卷积(改进点)
  • Group Normbalization,组归一化(改进点)

检测头部分:

  • 关键点检测分支
  • 3D边界框回归分支

在关键点分支中,图像中的每一个目标用一个关键点进行表示。 这里的关键点被定义为目标3D框的中心点在图像平面上的投影点,而不是目标的2D框中心点。

image.gif

3D边界框回归分支中,

image.gif

image.gif

在Kitti 数据集Test中测试,Car类别的模型精度。

image.gif

模型效果:

image.gif

image.gif

image.gif

这里只是简单讲了一下,详细讲解看我这篇博客:

【论文解读】SMOKE 单目相机 3D目标检测(CVPR2020)_相机smoke-CSDN博客

image.gif

环境搭建和模型训练参考这篇博客:单目3D目标检测——SMOKE 环境搭建|模型训练_一颗小树x的博客-CSDN博客

模型推理和可视化参考这篇博客:单目3D目标检测——SMOKE 模型推理 | 可视化结果-CSDN博客


2.2 MonoDLE(CVPR2021)

MonoDLE作为一个延续CenterNet框架的单目3d检测器,在不依赖dcn的情况下获得了较好的性能,可以作为baseline。

MonoDLE和SMOKE有些像,都是单目实现3D目标检测,通过几何约束和回归3D框信息,得到3D框的中心点、尺寸、朝向,但是它反驳了SMOKE提出的2D检测对3D检测没有帮助的论点。

image.gif

开源地址:https://github.com/xinzhuma/monodle

论文地址:【CVPR2021】Delving into Localization Errors for Monocular 3D Object Detection

论文核心观点,主要包括为三点:

  1. 2d box中心点与投影下来的3d box中心点,存在不可忽视的差异优先使用3d box投影下来的中心点
  2. 较远目标,会带偏模型训练在训练时,可以过滤这些过远的物体标签
  3. 提出了一种面向 3D IoU 的损失,用于对象的大小估计,不受“定位误差”的影响。

MonoDLE是基于CenterNet框架,实现单目3d检测的。模型结构如下:

Backbone:DLA34

Neck:DLAUp

2D 框检测:3个分支

  • 分支一 通过输出heatmap,预测2D框中心点的粗略坐标,以及类别分数。(CenterNet用的是标签中2D框中心作为GT值来监督,MonoDLE采用了3D投影坐标作为粗坐标的监督
  • 分支二 预测的2D框中心点粗坐标与真实坐标之间的偏移。
  • 分支三 预测2D框的size。

3D Detection:4个分支

  • 分支一 预测2D框中心点粗坐标的深度值。
  • 分支二 预测2D框中心点粗坐标与真实的3D投影坐标之间的偏移。
  • 分支三 预测3D框的size。
  • 分支四 预测偏航角。

模型结构如下图所示:

image.gif

MonoDLE的损失由7部分组成,

  • 分类损失:Focal Loss
  • 2D 中心点损失:L1 Loss
  • 2D size损失:L1 Loss
  • 3D 深度估计损失:
  • 3D 中心点损失:L1 Loss
  • 3D heading angle:multi-bin Loss
  • 3D size:普通的L1 Loss & MonoDLE提出的 IoU Loss

在Kitti验证集做实验,评价指标为Car类别的AP40(BEV / 3D)

  • p 表示使用3D 投影中心作为粗中心坐标的监督
  • I 表示使用对3D size估计的IOU oriented optimization
  • s 表示忽略远距离目标

image.gif

模型预测效果:

image.gif

用蓝色、绿色和红色的方框来表示汽车、行人和骑自行车的人。激光雷达信号仅用于可视化。

image.gif


这里只是简单讲了一下,详细讲解看我这篇博客:【论文解读】单目3D目标检测 MonoDLE(CVPR2021)-CSDN博客

image.gif

MonoDLE 模型训练 | 模型推理参考这篇博客:

单目3D目标检测——MonoDLE 模型训练 | 模型推理-CSDN博客



2.3 MonoCon(AAAI2022)

MonoCon是一个延续CenterNet框架的单目3d检测器,在不依赖dcn的情况下获得了较好的性能,并且融入了辅助学习,提升模型性能。

曾经在Kitti 单目3D目标检测上,霸榜了一段时间。

image.gif

MonoCon和MonoDLE很像,在它基础上添加了一些辅助分支检测,促进网络学习特征的能力。

  • MonoCon = MonoDLE + 辅助学习
  • 辅助学习:训练阶段增加一些网络分支,对其计算loss项,而在推理阶段完全忽略掉它们,以期得到更好的特征表示。

开源地址(官方):https://github.com/Xianpeng919/MonoCon

开源地址(pytorhc):https://github.com/2gunsu/monocon-pytorch

论文地址:Learning Auxiliary Monocular Contexts Helps Monocular 3D Object Detection

论文核心观点,主要包括为两点:

  1. 带注释的3D 边界框,可以产生大量可用的良好投影的 2D 监督信号。
  2. 使用辅助学习,促进网络学习特征的能力


MonoCon是基于CenterNet框架,实现单目3d检测的。模型结构如下:

Backbone:DLA34

Neck:DLAUp

常规3D框检测头:5个分支

  • 分支一 通过输出heatmap,预测2D框中心点的粗略坐标,以及类别分数。
  • 分支二 预测2D框中心点粗坐标与真实的3D投影坐标之间的偏移。
  • 分支三 预测2D框中心点粗坐标的深度值,和其不确定性。
  • 分支四 预测3D框的尺寸。
  • 分支五 预测观测角。

辅助训练头:5个分支

  • 分支一  8个投影角点和3D框的投影中心。
  • 分支二  8个投影角点到2D框中心的offsets。
  • 分支三 2D框的尺寸。
  • 分支四 2D框中心量化误差建模。
  • 分支五 8个投影角点量化误差建模。

模型结构如下图所示:

image.gif

MonoCon的损失由10部分组成,

常规3D框检测头:5个分支

  • 分支一 heatmap 类别分数,使用FocalLoss。2D 中心点损失,使用L1 Loss。
  • 分支二 2D框中心点粗坐标与真实的3D投影坐标之间的偏移,使用L1 Loss。
  • 分支三 2D框中心点粗坐标的深度值,和其不确定性,使用Laplacian Aleatoric Uncertainty Loss。(MonoPair & MonoDLE & MonoFlex & GUPNet)
  • 分支四 预测3D框的尺寸,使用Dimension-Aware L1 Loss(MonoDLE)。
  • 分支五 预测观测角,multi-bin Loss,其中分类部分使用 CrossEntropyLoss,回归部分使用 L1 Loss。

辅助训练头:5个分支

  • 分支一  8个投影角点和3D框的投影中心,使用FocalLoss。
  • 分支二  8个投影角点到2D框中心的offsets,使用L1 Loss。
  • 分支三 2D框的尺寸,使用L1 Loss。
  • 分支四 2D框中心量化误差建模。
  • 分支五 8个投影角点量化误差建模。

论文于KITTI 官方测试集中“汽车类别”的最先进方法进行比较,使用单个2080Ti GPU显卡测试的。

下表中由BEV和3D的测试结果,MonoCon运行时间和精度都是Top 级别的。

image.gif

作者基于MonoDLE进行了对比实验,分析5个辅助训练分支,和把BN归一化换为AN归一化,对模型精度的影响。

image.gif

模型预测效果:

image.gif

下面是单目3D目标检测的效果,激光雷达点云数据仅用于可视化。

image.gif

在前视图图像中,预测结果以蓝色显示,而地面实况以橙色显示。


分别显示2D框、3D框、BEV的检测效果:

image.gif

image.gif

image.gif

这里只是简单讲了一下,详细讲解看我这篇博客:【论文解读】单目3D目标检测 MonoCon(AAAI2022)-CSDN博客

image.gif

MonoCon 模型训练和模型推理参考这篇博客:单目3D目标检测——MonoCon 模型训练 | 模型推理-CSDN博客


2.4 CUPNet(ICCV 2021)

CUPNet是基于几何约束和回归方式输出3D框信息,在不依赖dcn的情况下获得了较好的性能。

image.gif

它也是一款两阶段的单目3d检测器,先回归2D框信息,在ROI区域进一步提取特征,生成3D框信息。

开源地址:GitHub - SuperMHP/GUPNet

论文地址:Geometry Uncertainty Projection Network for Monocular 3D Object Detection

论文核心观点,主要包括为两点:

  • 1、物体高度估计误差,对深度计算有着较大的影响。
  • 2、模型训练的稳定性。在模型训练初期,物体高度的预测往往存在较大偏差,也因此导致了深度估算偏差较大。较大误差往往导致网络训练困难,从而影响整体网络性能。
  • 3、推断可靠性问题。如果物体的高度预测存在较大偏差,相应计算出的深度值也会存在较大误差。

CUPNet是一个两阶段的框架,实现单目3d检测的。模型结构如下:

Backbone:DLA34

Neck:DLAUp

第一部分 2D 检测:3个分支

  • 分支一 通过输出heatmap,预测所有类别的中心点(默认类别为3)。
  • 分支二 预测的2D框中心点的偏移。
  • 分支三 预测2D框的size。

第二部分 3D 检测:4个分支

  • 分支一 预测偏航角。
  • 分支二 预测3D框的size。
  • 分支三 预测中心点的深度值,和和其不确定性(深度学习偏差)。
  • 分支四 预测2D框中心点与真实的3D投影坐标之间的偏移。

模型结构如下图所示:(基于CenterNet的2D检测+ROI特征提取+基础3D检测头)

image.gif

整体的模型结构,可分为4步:

  1. 输入图像,经过主干网络提取特征。
  2. 基于CenterNet的2D框预测部分,用于输出热力图,信息包括:2D中心点、偏移量、2D框的尺寸。
  3. 提取出ROI的特征。
  4. 利用所提取的ROI特征,输入到不同的网络头,以获得物体3D框信息,包括:偏转角度、尺寸、深度值、物体3d框中心在图像投影点的偏移量。

在第四步时,首先估计出3D框除了“深度值”以外的所有参数,然后2D框与3D框的高度将被输入到GUP模块中,提取出最终的depth。

image.gif

CUPNet 的损失由7部分组成,

2D 框检测损失:3部分

  • 分支一 通过输出heatmap,预测所有类别的中心点;使用 Focal Loss 函数。
  • 分支二 预测的2D框中心点的偏移;使用 L1 Loss 函数。
  • 分支三 预测2D框的size;使用 L1 Loss 函数。

image.gif

3D Detection损失:4部分

  • 分支一 预测偏航角。类别使用交叉熵损失,偏航角使用L1 Loss。
  • 分支二 预测3D框的size。长和宽为L1 Loss,权重占2/3,3D 高使用laplacian_aleatoric_uncertainty_loss() 函数,权重占1/3。
  • 分支三 预测中心点的深度值,和和其不确定性;使用 laplacian_aleatoric_uncertainty_loss() 函数。
  • 分支四 预测2D框中心点与真实的3D投影坐标之间的偏移;使用 L1 Loss 函数。

image.gif

在KITTI 测试集上的 3D物体检测,用以粗体突出显示最佳结果

image.gif

在KITTI 验证集,汽车类别,进行消融实验:

image.gif

模型效果:

image.gif

image.gif

这里只是简单讲了一下,详细讲解看我这篇博客:【论文解读】单目3D目标检测 CUPNet(ICCV 2021)-CSDN博客

image.gif


2.5 MonoFlex(CVPR 2021)

MonoFlex是一种端到端单阶段的单目3D目标检测方法,它基于CenterNet框架结合几何约束,回归方式输出3D框信息。

它优化了被截断物体的3D检测,同时优化了中心点的深度估计,检测速度也比较快。

image.gif

开源地址:GitHub - zhangyp15/MonoFlex: Released code for Objects are Different: Flexible Monocular 3D Object Detection, CVPR21

论文地址:Objects are Different: Flexible Monocular 3D Object Detection

论文核心观点,主要有3点组成:

  • 1、截断的物体正常的物体分开处理,提出了截断目标预测的解耦方法。主要体现在:截断的中心点选取差异。
  • 2、深度估计中同时考虑:关键点估计的几何深度直接回归深度,然后两者做加权结合。
  • 3、边缘特征提取和融合,单独把边沿的像素拿出来做注意力特征提取,提高offset和heat map的精度。

MonoFlex是一个单阶段的框架,实现单目3d检测的模型结构如下:

Backbone:DLA34

Neck:FPN

Head:由四部分组成

第一部分,预测2D框中心点。

  • 通过输出heatmap,预测所有类别的中心点(默认类别为3)。
  • 这部分加入了Edge Fusion,增强边缘的中心点预测。

第二部分,预测中心点的偏差。

  • 对于正常物体,预测2D框中心点与3D框投影坐标之间的偏差。
  • 对于截断物体,预测2D框中心,和3D框中心投影点与图像边沿之间交点的偏差。(下面详细讲)

第三部分,预测常规的信息。

  • 2D框宽高。
  • 3D方向。
  • 3D尺寸。

第四部分,预测深度信息。

  • 深度信息1:模型直接归回的深度信息。
  • 深度信息2:通过关键点和几何约束,计算出来的深度信息。估计一共10个关键点:3D框8个顶点和上框面、下框面在图片中的投影到x_r的offset;然后通过相机模型计算深度。
  • 深度信息融合,把几何深度直接回归深度,然后两者做加权结合。

模型结构如下图所示:

image.gif

补充一下Edge Fusion模块:

为了提高截断物体的中心点检测,提出了边缘特征提取和融合,单独把边沿的像素拿出来做注意力特征提取,提高offset和heat map的精度。

  • 模块首先提取特征映射的四个边界,将其连接到边缘特征向量中。
  • 然后由两个1*1 conv处理,以学习截断对象的唯一特征。
  • 最后,将处理的向量重新映射到四个边界,并添加到输入特征图。

在热图预测中,边缘特征可以专门用于预测外部对象的边缘热图,从而使内部对象的位置不被混淆。

MonoFlex 的损失由6部分组成:

  • 2D框中心点损失,通过输出heatmap,预测所有类别的中心点;使用 Focal Loss 函数。
  • 2D框尺寸损失,使用 L1 Loss 函数。
  • 3D框中心点与2D框中心点的偏差损失,使用 L1 Loss 函数。
  • 3D朝向角损失,使用MultiBin 函数。
  • 3D尺寸损失,使用 L1 Loss 函数。
  • 深度信息损失,包括直接回归损失和关键点损失。

在KITTI 验证/测试集上的实验,选择Car类别。模型精度高,实时性好。

image.gif

模型检测效果:

image.gif

在截断物体的检测效果:

image.gif

这里只是简单讲了一下,详细讲解看我这篇博客:【论文解读】单目3D目标检测 MonoFlex(CVPR 2021)-CSDN博客

image.gif


三、基于深度信息方法

基于深度信息引导的方法。这类算法利用单目深度估计模型预先得到像素级深度图,将深度图与单目图像结合后输入检测器

这类方法依赖于预先得到的像素级深度图,受限于深度估计模型的准确性,其预测误差会进一步引入到单目3D目标检测模型中。

考虑工程落地和模型精度速度,这类方法不会细讲~

MF3D算法,通过子网络生成深度图,并将目标感兴趣区域与深度图进行融合以回归目标3D位置信息。

MonoGRNet算法,引入一种全新的实例深度估计算法,利用稀疏监督预测目标3D边框中心的深度。不同于MF3D生成整个输入图像的深度图方法,该方法只对目标区域进行深度估计,避免了额外的计算量。

D4LCN算法,一种局部卷积神经网络,通过自动学习基于深度图中的卷积核及其接受域,克服了传统二维卷积无法捕获物体多尺度信息的问题。

MonoPSR算法,用相机成像原理计算图像中像素尺寸,与3D空间之间的比例关系,估计目标的深度位置信息。

许多单目3D目标检测算法将这些深度估计算法视为其自身网络的子模块。深度估计可以弥补单目视觉的不足,更准确地检测物体的三维信息。



四、基于点云信息方法

虽然深度信息有助于3D场景的理解,但简单地将其作为RGB 图像的额外通道,并不能弥补基于单目图像的方法和基于点云的方法之间的性能差异。

基于点云信息引导的方法。这类算法借助激光的雷达点云信息作为辅助监督进行模型训练,在推理时只需输入图像和单目相机信息。

Pseudo lidar算法,采用单目深度估计算法DORN进行深度估计, 将得到的像素深度反投影为3D点云, 从而形成了伪激光点云数据。最后利用已有的基于点云的检测算法Frustum

PointNets进行3D框检测。

Pseudo-lidar++算法,在初始深度估计的指导下,将测量数据分散到整个深度图中以提高检测精度。并利用更加便宜的4线激光雷达来代替64线激光雷达以微调检测结果。

CaDDN算法,通过将深度分类来生成视锥特征,并通过相机参数进一步转化为体素特征,并完成BEV特征生成和3D检测。由于CaDDN使用多个输入转换分支完成3D检测,导致其模型推理速度缓慢,不适用于实时场景。

LPCG算法,是一种用激光点云指导-单目3D目标检测的方法,通过点云数据生成海量粗略的3D标签,生成过程中不用对点云进行标注;降低3D标签的成本。同时这些海量“粗略的3D标签”位置是准确的,只是尺寸和朝向有些偏差;所以如何通过点云数据,直接生成粗略的3D标签是LPCG论文亮点。用这些海量“粗略的3D标签”,作为伪标签指导单目3D目标检测训练。这种方法可以应用到各种单目3D目标检测模型中,模型精度提升大。


补充一下,引入Transformer的模型:

MonoDTR算法,则将Transformer引入单目3D目标检测领域,通过深度感知特征增强模块和深度感知Transformer模块,实现全局上下文和深度感知特征的综合,将使用深度位置编码向Transformer注入深度位置提示,可以更好地将Transformer应用于单目3D目标检测领域。但 MonoDTR使用的自注意力机制难以处理多尺度目标 ,表现为对远端目标的检测能力下降。

现有方法通常会考虑利用预训练的深度模型,或是激光雷达方法的检测器来辅助完成检测,并且在最近几年中许多直接回归三维参数的方法也涌现了出来。


4.1  LPCG(ECCV 2022)

LPCG是一种用激光点云指导-单目3D目标检测的方法,通过点云数据生成海量粗略的3D标签,生成过程中不用对点云进行标注;降低3D标签的成本。

同时这些海量“粗略的3D标签”位置是准确的,只是尺寸和朝向有些偏差

所以如何通过点云数据,直接生成粗略的3D标签是LPCG论文亮点。

用这些海量“粗略的3D标签”,作为伪标签指导单目3D目标检测训练。这种方法可以应用到各种单目3D目标检测模型中,模型精度提升大,太强了~

论文地址:Lidar Point Cloud Guided Monocular 3D Object Detection

开源地址:https://github.com/SPengLiang/LPCG

论文核心观点,主要有4点组成:

  • 1、在单目3D目标检测的标签中中心点位置准确性,是非常重要的;与标签的尺寸和朝向相比,3D位置是极其关键的。
  • 2、激光雷达的点云数据,具有准确的3D测量;获取点云数据,不用对点云数据进行标注,经过算法直接生成粗略的3D标签
  • 3、标注一小部分数据,监督训练点云3D目标检测模型,得到高精度的模型;模型预测的结果,作为较精准的3D标签
  • 4、用海量的粗略3D标签,和小量的较精准3D标签,一起形成伪标签,指导单目3D目标检测训练

LPCG是一种用激光点云指导-单目3D目标检测的方法,可以应用到各种单目3D目标检测模型中,比如:MonoFlex、M3D-RPN等等。

思路框架如下图所示:

第一步:生成伪标签

  • 低成本模式,获取点云数据,不用对点云数据进行标注,经过算法直接生成粗略的3D标签
  • 高精度模式,标注一小部分数据,监督训练点云3D目标检测模型,得到高精度的模型;模型预测的结果,作为较精准的3D标签
  • 整合低成本模型输出的海量的粗略3D标签,高精度模型输出的较精准的3D标签,一起作为单目3D目标检测模型的标签。

第二步:训练单目3D模型

  • 得到伪标签,进行有监督训练,得到单目3D目标检测模型。

KITTI 测试集上实现分析的。 使用红色表示最高结果,蓝色表示第二高结果,青色表示第三高结果。

‡ 表示我们使用的基线检测器,改进是相对于基线检测器而言的。相对于MonoFlex模型,在简单场景的AP3D提升了5.62,达到25.56。

DD3D 采用大型私有 DDAD15M 数据集(包含大约 15M 帧)和KITTI 深度数据集(包含大约 26K 帧)。

KITTI 深度数据集提供大约 26K 样本来训练深度估计器(对于大多数基于深度图的方法),或为单目 3D 检测器 (LPCG) 生成额外的训练样本。

LPCG训练的 M3D-RPN的结果。 绿色:真实框。 红色:预测框。 白色:来自 M3D-RPN 的原始预测。

鸟瞰图中方框的粗体一侧指的是方向,可以看到LPCG的预测更加准确,一些预测框与真实框重叠。还展示了失败案例,这些案例包含在灰色虚线圆圈中。



本文会持续更新~

相关文章
|
7月前
|
机器学习/深度学习 监控 算法
yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
|
7月前
|
机器学习/深度学习 算法 机器人
【论文速递】TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
【论文速递】TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
|
6月前
|
机器学习/深度学习 算法 数据可视化
【从零开始学习深度学习】46. 目标检测中锚框的概念、计算方法、样本锚框标注方式及如何选取预测边界框
【从零开始学习深度学习】46. 目标检测中锚框的概念、计算方法、样本锚框标注方式及如何选取预测边界框
|
机器学习/深度学习 传感器 编解码
史上最全 | BEV感知算法综述(基于图像/Lidar/多模态数据的3D检测与分割任务)
以视觉为中心的俯视图(BEV)感知最近受到了广泛的关注,因其可以自然地呈现自然场景且对融合更友好。随着深度学习的快速发展,许多新颖的方法尝试解决以视觉为中心的BEV感知,但是目前还缺乏对该领域的综述类文章。本文对以视觉为中心的BEV感知及其扩展的方法进行了全面的综述调研,并提供了深入的分析和结果比较,进一步思考未来可能的研究方向。如下图所示,目前的工作可以根据视角变换分为两大类,即基于几何变换和基于网络变换。前者利用相机的物理原理,以可解释性的方式转换视图。后者则使用神经网络将透视图(PV)投影到BEV上。
史上最全 | BEV感知算法综述(基于图像/Lidar/多模态数据的3D检测与分割任务)
|
7月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进】MPDIoU:有效和准确的边界框损失回归函数 (论文笔记+引入代码)
YOLO目标检测专栏介绍了YOLO的有效改进和实战案例,包括卷积、主干网络、注意力机制和检测头的创新。提出了一种新的边界框回归损失函数MPDIoU,它基于最小点距离,能更好地处理不同宽高比的预测框,包含重叠、中心点距离和尺寸偏差的全面考虑。MPDIoU损失函数在YOLACT和YOLOv7等模型上的实验显示了优于现有损失函数的性能。此外,还介绍了WIoU_Scale类用于计算加权IoU,以及bbox_iou函数实现不同IoU变体的计算。详细实现和配置可在相应链接中查阅。
|
7月前
|
机器学习/深度学习 编解码 算法
【论文解析】CFPNet:用于目标检测的集中特征金字塔
【论文解析】CFPNet:用于目标检测的集中特征金字塔
479 0
【论文解析】CFPNet:用于目标检测的集中特征金字塔
|
7月前
|
编解码 算法 自动驾驶
【计算机视觉】基于光流特征的目标跟踪算法LK光流法的讲解(图文解释 超详细)
【计算机视觉】基于光流特征的目标跟踪算法LK光流法的讲解(图文解释 超详细)
486 0
【Hammerstein模型的级联】快速估计构成一连串哈默斯坦模型的结构元素研究(Matlab代码实现)
【Hammerstein模型的级联】快速估计构成一连串哈默斯坦模型的结构元素研究(Matlab代码实现)
115 0
|
机器学习/深度学习 编解码 人工智能
2022最新 | 室外单目深度估计研究综述
原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA)
2022最新 | 室外单目深度估计研究综述
|
机器学习/深度学习 传感器 自动驾驶
FCOS升级 | FCOS在3D检测中应该如何使用呢?FCOS3D就是最好的验证(一)
FCOS升级 | FCOS在3D检测中应该如何使用呢?FCOS3D就是最好的验证(一)
307 0

热门文章

最新文章

下一篇
DataWorks