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

前提

需要先了解下CenterNet
【目标检测】Objects as Points

概述

本文是基于单目图像的3D目标检测方法。
【2020】【SMOKE】

研究背景:以往的3D目标检测方法中都会有一个子网络,通过2D目标检测产生2D候选框,然后通过2D候选框去学习3D信息或者得到伪点云送入基于点云的网络中。而这种基于2D目标检测的方法会存在一些问题,如

  • 冗余。因为3D信息+内参矩阵可以直接拿到2D信息。
  • 引入噪声。 添加了2D目标检测子网络之后,整个流程就分阶段了,前一阶段会引入持续的噪声,导致后一阶段学习3D特征变得困难。而为了解决这个问题,又有了很多的研究,但不管怎么说,多阶段的方法都会导致性能的降低。

研究的问题:

  • 如何在3D目标检测中去除2D目标检测的子网络
  • 如何更加有效的编码航向角
  • 3D参数回归如何更加有效

提出的方法:

  • 将CenterNet拓展到3D目标检测中,通过关键点检测+3D参数回归,一步到位实现边界框的预测。
  • 一种精细化的航向角回归方法
  • 一种分组参数回归的方法

细节

网络结构

网络结构很简单,就是特征提取网络+检测头(关键点检测+3D参数回归)
在这里插入图片描述

特征提取网络

本文用的特征提取网络和CenerNet中的基本相同,都是DLA-34,但也有一些改变,比如使用可变性卷积替换了标准卷积,使用GN替换了BN。
因为GN对batch-size不敏感,并且对于训练噪声更加鲁棒。并且实验发现,虽然准确率没有提高,但是训练的时间大大缩短了。

检测头1:关键点检测

这边和CenterNet中的定义差不多,图像下采样四倍之后得到的特征图上进行关键点预测。区别就是本文的关键点指的是3D边界框的中心点在图像坐标系上的投影。

标签制作:将3D边界框的中心投影到相机坐标系下,然后下采样得到特征图上的位置,然后使用高斯核处理分布。

检测头2:3D参数回归

回归的8个参数是 [ δ z , δ x c , δ y c , δ h , δ w , δ l , sin ⁡ α , cos ⁡ α ] [\delta_z,\delta_{x_c},\delta _{y_c},\delta_h,\delta_w,\delta_l,\sin \alpha,\cos \alpha] [δz,δxc,δyc,δh,δw,δl,sinα,cosα],其中 δ z \delta_z δz是深度偏移, δ x c , δ y c \delta_{x_c},\delta_{y_c} δxc,δyc是下采样过程中的偏移, δ h , δ w , δ l \delta_h,\delta_w,\delta_l δh,δw,δl是尺寸的偏移, sin ⁡ α , cos ⁡ α \sin \alpha,\cos \alpha sinα,cosα是偏航角的表示。

z的计算:其中 μ z 是预定义的偏移, σ z 是比例因子 \mu_z是预定义的偏移,\sigma_z是比例因子 μz是预定义的偏移,σz是比例因子在这里插入图片描述

根据z和相机内参计算相机坐标系下的3D坐标
在这里插入图片描述
根据尺寸残差计算真实尺寸,其中 h ⃗ , w ⃗ , l ⃗ , \vec{h},\vec{w},\vec{l}, h ,w ,l ,表示的是数据集上该类别目标的平均长宽高

在这里插入图片描述
航向角回归:没有直接回归航向角,而是通过 sin ⁡ α , cos ⁡ α \sin \alpha,\cos \alpha sinα,cosα计算 α x \alpha_x αx,通过 α x \alpha_x αx计算 α z \alpha_z αz,通过 α z \alpha_z αz计算航向角 Θ \Theta Θ,具体过程请看大佬博客单目3D目标检测-SMOKE中的航向角回归分析
在这里插入图片描述
有了上述参数就有了边界框,其中 R θ R_{\theta} Rθ是偏航旋转矩阵
在这里插入图片描述

注:尺寸残差和角度都是处理过的,也就是对模型的输出进行激活,分别是sigmoid函数和L2 正则化
在这里插入图片描述
在这里插入图片描述

损失函数

关键点检测的损失:和CenterNet中的一样,就是写成了一个式子(还是CenterNet中的看着舒服)
在这里插入图片描述
3D参数回归的损失:
这部分的损失参考了Disentangling monocular 3d object detection,作者将输出分为三组,按照检测头2:3D参数回归部分描述的,可以根据输出结果计算得到位置、尺寸以及偏航角,这就是三组数据。然后使用每一组数据+标注数据的参数填充得到检测框的8个角,记作 B 1 ^ , B 2 ^ , B 3 ^ \hat{B_1},\hat{B_2},\hat{B_3} B1^,B2^,B3^,分别使用L1损失计算回归损失,他们的损失和就是回归部分的总损失,这样做将每组参数对损失函数的贡献解耦了,让优化器能分别优化每一组参数。
采用的是L1损失
在这里插入图片描述

所以总的损失是
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Triangulation Learning Network (TLN) 是一个用于从单目图像到立体图像的三维物体检测的算法,其存在一些主要问题,包括: 1. 训练数据缺乏:TLN 算法需要大量的训练数据才能准确地预测三维物体的位置和姿态。但是,由于三维物体检测数据集的获取成本很高,因此当前可用的数据集相对较少,这可能会影响算法的性能。 2. 姿态估计不准确:TLN 算法依赖于对相机姿态的准确估计,但是在实际应用中,姿态估计可能会出现误差。这些误差可能会导致算法无法准确地确定物体的三维位置和姿态。 3. 光照和背景干扰:TLN 算法对光照和背景的变化敏感,这可能会对其检测性能产生负面影响。在不同光照条件和背景下进行测试时,算法可能会出现误报或漏报。 4. 计算复杂度高:TLN 算法需要进行复杂的三角测量和卷积计算,因此需要较高的计算资源。这可能会限制算法在实时应用中的使用。 总之,尽管TLN 算法在三维物体检测方面取得了一些进展,但是它仍然面临着一些挑战和限制,需要进一步研究和改进。 ### 回答2: Triangulation Learning Network (TLN) is a type of deep learning model used for monocular to stereo 3D object detection. However, there are several main problems that currently exist with this approach. 首先,monocular-based 3D object detection methods, including TLN, heavily rely on depth estimation from a single image. This poses a challenge because estimating accurate depth information from a monocular image is inherently difficult. Monocular depth estimation is an ill-posed problem, as there are multiple possible depth solutions for a single input image. Therefore, the quality of depth estimation directly affects the accuracy of 3D object detection, and the current performance of monocular-based methods is still limited due to inaccurate depth estimation. 其次,TLN relies on stereo vision to improve the accuracy of 3D object detection. However, stereo vision has its limitations as well. It requires the presence of two or more cameras with known spatial calibration, which can be expensive and cumbersome to implement in real-world scenarios. Moreover, in challenging environments with poor lighting conditions or occlusions, the accuracy of stereo vision-based methods can be significantly affected. 此外,TLN suffers from the problem of ambiguous depth inference. Even with accurate depth estimation, it is still challenging to determine the exact 3D position of an object. This is because an object can have multiple possible 3D positions that are consistent with the observed 2D image. It becomes even more complex when multiple objects overlap or occlude each other, leading to further ambiguities in 3D object detection results. 最后,TLN requires a large amount of training data to achieve satisfactory performance. Collecting and annotating such data, especially for stereo 3D object detection, can be time-consuming, costly, and error-prone. This limits the scalability and practicality of TLN, as acquiring a diverse and representative dataset for training can be challenging. In summary, the main problems currently existing with Triangulation Learning Network (TLN) for monocular to stereo 3D object detection are inaccurate depth estimation, limitations of stereo vision, ambiguous depth inference, and the requirement for a large amount of training data. Addressing these challenges is essential for improving the accuracy, robustness, and practicality of TLN-based 3D object detection methods. ### 回答3: 目前Triangulation Learning Network: from Monocular to Stereo 3D Object Detection存在以下主要问题: 1. 数据需求高:从单目到立体的3D物体检测需要更多的数据支持。单目图像中的物体深度信息是模糊的,缺乏对立体视觉中物体准确深度的直接观测。因此,为了训练Triangulation Learning Network,需要大量的立体图像数据集,这样的数据集很难获得且成本较高。 2. 精度限制:尽管Triangulation Learning Network提供了改善单目到立体3D物体检测的方法,但其精度仍然受到一些限制。由于立体视觉中的散射和遮挡问题,物体表面的纹理信息可能会受到影响并导致深度估计的误差。此外,图像中物体的姿态和形状也会对准确的深度估计产生影响。 3. 依赖立体匹配:Triangulation Learning Network的核心思想是通过使用立体图像中的匹配点将单目图像的深度信息转换为立体深度。然而,立体匹配本身是一个复杂和计算密集的任务,尤其在具有高度纹理变化或遮挡的场景中,可能存在匹配错误的情况。 4. 硬件要求高:Triangulation Learning Network需要用于获取立体图像的专门的硬件设备,如立体相机或深度相机。这些硬件设备的成本较高,因此部署这种方法可能会面临一定的技术和经济挑战。 综上所述,尽管Triangulation Learning Network提供了一种从单目到立体的3D物体检测方法,但仍然存在着数据需求高、精度限制、依赖立体匹配和硬件要求高等问题。随着技术的进步,相信这些问题将逐渐得到解决,从而更好地推动Triangulation Learning Network的发展和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值