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

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

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

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

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

目录

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

1.1 简介

1.2 单目相机特征

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

1.4 3D边框表示方式

1.5 挑战

二、直接回归的方法

2.1 SMOKE【CVPR2020】

2.2 MonoDLE(CVPR2021)

2.3 MonoCon(AAAI2022)

2.4 CUPNet(ICCV 2021)

2.5 MonoFlex(CVPR 2021)

三、基于深度信息方法

四、基于点云信息方法


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

1.1 简介

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

1.2 单目相机特征

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

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

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

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

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

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

1.4 3D边框表示方式

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

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

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属性信息。

输入单张图像。

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

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

论文名称: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边界框回归分支。

SMOKE的Backbone(主干网络):

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

检测头部分:

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

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

  

3D边界框回归分支中,

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

模型效果:

  

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

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

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

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

2.2 MonoDLE(CVPR2021)

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

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

开源地址: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。
  •  分支四 预测偏航角。

模型结构如下图所示:

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 表示忽略远距离目标

模型预测效果:

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

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

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

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

2.3 MonoCon(AAAI2022)

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

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

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个投影角点量化误差建模。

模型结构如下图所示:

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 级别的。

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

模型预测效果:

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

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

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

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

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

2.4 CUPNet(ICCV 2021)

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

它也是一款两阶段的单目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检测头)

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

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

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

 

 CUPNet 的损失由7部分组成,

2D 框检测损失:3部分

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

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 函数。

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

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

模型效果:

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

2.5 MonoFlex(CVPR 2021)

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

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

开源地址: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;然后通过相机模型计算深度。
  • 深度信息融合,把几何深度直接回归深度,然后两者做加权结合。

模型结构如下图所示: 

补充一下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类别。模型精度高,实时性好。

模型检测效果:

在截断物体的检测效果:

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

三、基于深度信息方法

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

这类方法依赖于预先得到的像素级深度图,受限于深度估计模型的准确性,其预测误差会进一步引入到单目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检测,导致其模型推理速度缓慢,不适用于实时场景。

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

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

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

本文会持续更新~

单目3D目标检测专栏,大家可以参考一下

 【数据集】单目3D目标检测:

3D目标检测数据集 KITTI(标签格式解析、3D框可视化、点云转图像、BEV鸟瞰图)_kitti标签_一颗小树x的博客-CSDN博客

3D目标检测数据集 DAIR-V2X-V_一颗小树x的博客-CSDN博客

【论文解读】单目3D目标检测:

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

【论文解读】单目3D目标检测 CUPNet(ICCV 2021)-CSDN博客

【论文解读】单目3D目标检测 DD3D(ICCV 2021)-CSDN博客

【论文解读】单目3D目标检测 MonoDLE(CVPR2021)_一颗小树x的博客-CSDN博客

【论文解读】单目3D目标检测 MonoFlex(CVPR 2021)-CSDN博客

【论文解读】单目3D目标检测 MonoCon(AAAI2022)_一颗小树x的博客-CSDN博客

【实践应用】

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

单目3D目标检测——SMOKE 模型推理 | 可视化结果-CSDN博客

单目3D目标检测——MonoDLE 模型训练 | 模型推理_一颗小树x的博客-CSDN博客

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/108031.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity的碰撞检测(五)

温馨提示:本文基于前一篇“Unity的碰撞检测(四)​​​​​​​”继续探讨两个游戏对象具备刚体的BodyType均为Dynamic,但是Collision Detection属性不同的碰撞检测,阅读本文则默认已阅读前文。 (一)测试说明 在基于两…

Git窗口打开vim后如何退出编辑(IDEA/Goland等编辑器)

最近在学习git高级操作过程中,遇到了一下问题: 我在学习Git合并多个commit为一个的时候,需要输入一个命令 git rebase -i HEAD~2 这说明已经是编辑模式了。当我写好后,我还按照原来在linux上的按下ESC键,但是只是光…

【错误解决方案】ModuleNotFoundError: No module named ‘cPickle‘

1. 错误提示 在python程序中试图导入一个名为cPickle的模块,但Python提示找不到这个模块。 错误提示:ModuleNotFoundError: No module named cPickle 2. 解决方案 实际上,cPickle是Python的pickle模块的一个C语言实现,通常用于…

分类预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元数据分类预测

分类预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元数据分类预测 目录 分类预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双…

2023年中国机场建设标准、机场数量及机场系统投资完成情况分析[图]

机场,亦称飞机场、空港,较正式的名称是航空站。机场有不同的大小,除了跑道之外,机场通常还设有塔台、停机坪、航空客运站、维修厂等设施,并提供机场管制服务、空中交通管制等其他服务。 机场建设资质等级标准 资料来源…

2-多媒体数据压缩国际标准

文章目录 多媒体数据压缩编码的重要性和分类为什么要压缩?计算: 未压缩音频的数据率简答: 环绕声系统-作业题9(简述7.4.3全景声)计算: 未压缩图像的数据量-作业题10(估计尺寸及容量)计算: 未压缩视频的数据率 为什么能压缩?数据压缩编码的两大类无损压缩算法: LZ77-作业题6-(…

嵌入式中的MCU、ARM、DSP、FPGA

目录 “角色扮演” MCU ARM 特点 DSP 特点 FPGA 特点 应用 “角色扮演” MCU(Microcontroller Unit)、ARM(Advanced RISC Machine)、DSP(Digital Signal Processor)和FPGA(Field-Progr…

DevOps与CI/CD的最佳实践

在当今的软件开发领域,DevOps(开发与运维的结合)和CI/CD(持续集成/持续交付)已经成为了不可或缺的一部分。它们不仅提高了软件开发的效率,还帮助团队更快地交付高质量的软件。本文将深入探讨DevOps文化和CI…

计算机网络重点概念整理-第五章 传输层【期末复习|考研复习】

第五章 传输层 【期末复习|考研复习】 计算机网络系列文章传送门: 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称&缩写 文章目录 第五章 传输层 【期末复习|考研复习…

替换所有的问号

这篇也是凑数的 哈哈.... 稍后会整合到算法通关第三关白银挑战 . 描述 : 给你一个仅包含小写英文字母和 ? 字符的字符串 s,请你将所有的 ? 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。 注意 : 不能 修改非 ? 字符 . 题目 : …

读图数据库实战笔记02_图数据建模

1. 概念 1.1. 实体 1.1.1. 通常用名词来表示 1.1.2. 描述一个领域中的事物或者事物类型 1.1.2.1. 汽车 1.1.2.2. 用户 1.1.2.3. 地理位置 1.1.3. 在逻辑模型和技术实现过程中,实体通常会变成“顶点” 1.2. 关系 1.2.1. 用动词(或动词短语&#…

[量化投资-学习笔记003]Python+TDengine从零开始搭建量化分析平台-Grafana画K线图

在前面两个笔记: PythonTDengine从零开始搭建量化分析平台-数据存储 PythonTDengine从零开始搭建量化分析平台-MA均线的多种实现方式 中有提到使用 Grafana 画图,不过画的都是均线。除了均线,Grafana 非常人性的提供了 K线图模块 搭配 TDeng…

设置Ubuntu 20.04的静态IP地址(wifi模式下)

一、引言 自己家用的Ubuntu的,重启后ip地址经常会改变,这个时候就需要我们手动配置静态IP了。 二、优点 给Ubuntu设置一个静态IP地址有以下几个好处: 持久性:静态IP地址是固定不变的,与设备的MAC地址绑定。这意味着…

【C++】STL容器——探究不同 [ 迭代器 ] 种类&在STL中的使用方式(15)

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 引言:一.查看STL使用文档时…

网站不被谷歌收录的常见原因及解决办法

现如今的互联网中,流量获取的渠道多种多样,但对于独立站而言,Google仍然是一个重要的流量来源。这是因为Google拥有庞大的用户基础,通过Google可以让潜在用户更容易发现我们的网站。然而,现实情况是,一些网…

OSPF,RIP和BGP的路由汇总

OSPF路由汇总 OSPF的路由汇总需要注意以下两点 1.OSPF的路由汇总仅支持手动汇总 注:距离矢量路由协议支持自动路由汇总,链路状态路由协议仅支持手动路由汇总(OSPF,ISIS) 2.OSPF的路由汇总只在区域边界进行汇总 OSPF的路由汇总…

Linux系统下DHCP服务安装部署和使用实例详解(蜜罐)

目录 一、概述 二、具体配置如下: 一、概述 DHCP :动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途&…

虚幻中的网络概述一

前置:在学习完turbo强大佬的多人fps之后发觉自己在虚幻网络方面还有许多基础知识不太清楚,结合安宁Ken大佬与虚幻官方文档进行补足。 补充:官方文档中的描述挺好的,自己只算是搬运和将两者结合加强理解。 学习虚幻中的网络先从虚…

RabbitMQ如何保证消息不丢失呢?

RabbitMQ 是一个流行的消息队列系统,用于在分布式应用程序之间传递消息。要确保消息不会丢失,可以采取以下一些措施: 持久化消息: RabbitMQ 允许你将消息标记为持久化的。这意味着消息将被写入磁盘,即使 RabbitMQ 服务…

JavaScrip的DOM接口

JavaScript的DOM(Document Object Model)是一种接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM是一种将HTML或XML文档表示为对象树的标准方式。 在JavaScript中,DOM提供了一种方式来操作HTML或XML文档的元素…