【单目3D】在自动驾驶中将 2D 物体检测提升到 3D

这篇具有很好参考价值的文章主要介绍了【单目3D】在自动驾驶中将 2D 物体检测提升到 3D。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Lifting 2D object detection to 3D in autonomous driving

单目 3D 目标检测使用 RGB 图像来预测目标 3D 边界框。由于 RGB 图像中缺少关键的深度信息,因此该任务从根本上说是不适定的。然而在自动驾驶中,汽车是具有(大部分)已知形状和大小的刚体。那么一个关键的问题是如何有效地利用汽车的强大先验,在传统 2D 对象检测之上来推断其对应的 3D 边界框。
2d与3d约束,自动驾驶,3d,自动驾驶,计算机视觉

传统的 2D 对象检测具有中心(x,y)和大小(w,h)的 4 个自由度(DoF),自动驾驶环境下目标通常具备 7 个自由度:3D 物理尺寸(w、h、l)、3D 中心位置(x、y、z)和偏航。请注意,滚动和俯仰通常假定为零。现在的问题是,我们如何从 4 自由度对象中恢复 7 自由度对象?
2d与3d约束,自动驾驶,3d,自动驾驶,计算机视觉

Deep3DBox 作为开创性工作(使用深度学习和几何的 3D 边界框估计,CVPR 2017)提出了回归观察角度(或局部偏航)和 2D 边界框所包含的图像块中的 3D 对象大小(w、h、l)。局部偏航和 3D 对象大小都与对象外观密切相关,因此可以从裁剪图像块中推断出来。为了完全恢复 7 DoF,我们只需要用三个未知数 (x, y, z) 推断 3D 位置。百度阿波罗所采用的单目 3D 方案也是基于此工作进行相关改进。
2d与3d约束,自动驾驶,3d,自动驾驶,计算机视觉

将 2D 物体提升到 3D 表示需要利用 3D 边界框的透视投影与其 2D 检测窗口紧密贴合的事实。此约束强制至少一个长方体顶点应投影到 2D 框的四个边中的每一边。

跟随 Deep3DBox 的脚步,以下论文也明确遵循相同的准则。他们的贡献是添加不同形式的第二阶段以微调生成的 3D 长方体,本文稍后将详细讨论。

  • FQNet: Deep Fitting Degree Scoring Network for Monocular 3D Object Detection (CVPR 2019)
  • Shift R-CNN: Shift R-CNN: Deep Monocular 3D Object Detection with Closed-Form Geometric Constraints (TCIP 2019)
  • Cascade Geometric Constraint: 3D Bounding Box Estimation for Autonomous Vehicles by Cascaded Geometric Constraints and Depurated 2D Detections Using 3D Results (ArXiv, Sept 2019)

The 2D/3D tight constraint

由紧约束构成的四个方程可以写成如下。 对于每个由左上角和右下角的坐标参数化的 2D 边界框,(x_min, y_min, x_max, y_max),我们可以得到:
2d与3d约束,自动驾驶,3d,自动驾驶,计算机视觉
在上面的等式中,我已经注释了每个矩阵变量的大小。X(1) 到 X(4) 代表投影在 2D 边界框边界上的 4 个选定顶点。()_x 函数采用齐次坐标的 x 分量,因此它是第一个和第三个分量之间的比率。同样的逻辑适用于 ()_y 函数。有3个未知数和4个方程,所以是一个超定问题。

顶点的选择和最佳解决方案

接下来我们来讨论的一件事是如何从落在 2D bbox 四个边上的 8 个长方体顶点中选择 4 个。Deep3DBox 的原始论文中有一段很长的论述,在合理的假设下,合理配置的数量可以从 8⁴ 减少到 64。Shift R-CNN有类似的结论,但得出这个数字的推理略有不同。
2d与3d约束,自动驾驶,3d,自动驾驶,计算机视觉
就个人而言,我发现级联几何约束的解释最容易理解。

  1. 选择汽车长方体的四个侧面之一作为面向观察者的一侧(例如,5-4-0-1 汽车的前侧作为上图中面向观察者的一侧)。请注意,这仅取决于局部偏航或观察角度。
  2. 如上所示选择四个视点之一(例如左侧示例与四个视点中的左上角匹配)。
  3. 对于上面的两种情况,接触 2D bbox 的顶部和底部的顶点是固定的,但是我们仍然有四种选择,关于长方体的两个垂直边缘上的两个顶点选择哪个来符合 bbox 的左侧和右侧2D bbox。对于底部的两种情况,情况正好相反——接触 2D bbox 左右两侧的顶点是固定的,但我们有四种关于顶部和底部的选择。

因此,我们总共有 4x4x4=64 个可能的配置。一旦 64 个配置通过上述 4 个方程,64 个解决方案将根据拟合误差(如 Deep3DBox、FQNet)来进行排序,或者根据Iou分数进行排序(如 Shift R-CNN),其IOU是根据拟合长方体的 8 个投影顶点的最紧密 bbox 与 2D bbox计算。

几何约束的实现代码可参考:

https://github.com/skhadem/3D-BoundingBox/blob/master/library/Math.py

缺点和优化

上述紧约束方法通过将 3D proposal紧凑地放置在 2D 检测框中来推断 3D 姿态和位置。这种方法在理论上听起来很完美,但它有两个缺点:

  1. 它依赖于对 2D bbox 的准确检测——如果 2D bbox 检测存在中等误差,则估计的 3D 边界框可能存在较大误差。
  2. 其优化纯粹基于边界框的大小和位置,未使用图像特征。因此它无法从训练集中的大量标记数据中获益。

为了解决这个问题,有几篇论文跟进了 Deep3DBox 提出的上述工作流程,并用第二个细化阶段对其进行了扩展。
2d与3d约束,自动驾驶,3d,自动驾驶,计算机视觉

  • FQ-Net 提出使用求解的最佳拟合作为 3D 中的种子位置来密集采样 3D proposals。然后训练神经网络通过查看具有 3D proposal(绿色线框)的 2D 投影的图像块来区分 3D proposal和真实情况之间的 3D IoU。这个想法听起来很疯狂,但确实有效。
    2d与3d约束,自动驾驶,3d,自动驾驶,计算机视觉

  • Shift R-CNN 通过“主动”回归proposal的偏移量来避免密集的proposal采样。他们将所有已知的 2D 和 3D bbox 信息输入到一个名为 ShiftNet 的快速简单的全连接网络中,并优化 3D 位置。

The Quick-and-Dirty Alternative

除了上述严格约束之外,实际上还有一种更快的方法来估计车辆的 3D 位置,只需基于 2D 检测框或相关关键点的大小即可。
2d与3d约束,自动驾驶,3d,自动驾驶,计算机视觉
利用2D/3D投影中的几何相似性,如果我们可以在图像平面上找出三个关键点在 3D 长方体上的投影位置,我们就可以通过简单的几何相似原理来估计距离。假设我们有顶面、底面和3D长方体中心的投影(如上图所示),我们可以得到通过主点的光线与通过3D长方体中心的光线之间的光线夹角。这个射线角也叫方位角,是连接局部偏航和全局偏航的关键。确切地说,应该有两个光线角度分量,一个在u-或x-方向,一个在v-或y-方向。

然后根据几何相似性,我们有 f/z = H_p/H,其中 H_p 是图像平面上下表面中心投影之间的 v 差异(以像素为单位),H 是 3D 物体的高度(以米为单位) , f 是焦距(以像素为单位),z 是纵向距离(以米为单位)。有了光线角度和 z,我们可以进行坐标变换并恢复物体的 3D 位置。

这正是Cascade Geometric Constraint 在推断初始 3D 位置时所做的(在将其提供给高斯-牛顿算法以求解约束方程之前),也最实用和可靠的解决方案。

此外,其他几篇论文也使用了关于汽车尺寸和关键点的强大先验知识来估计深度。

  • MonoPSR: Monocular 3D Object Detection Leveraging Accurate Proposals and Shape Reconstruction, CVPR 2019
  • GS3D: An Efficient 3D Object Detection Framework for Autonomous Driving, CVPR 2019
  • MonoGR2 Monocular 3D Object Detection via Geometric Reasoning on Keypoints

总结

  • 在单目图像中深度很难预测,但它对于用单目图像估计准确的 7-DoF 3D 长方体至关重要。我们可以使用强烈的视觉线索和先验信息(例如汽车的平均尺寸)来进行有根据的猜测。
  • 我们可以求解四个 2D/3D 紧约束方程,假设 2D 边界框是准确的。
  • 我们可以通过利用 2D 边界框的大小或已知关键点之间的距离来获得快速而粗略的估计。
  • 我们也可以直接回归距离或视差。

[1] A Mousavian et al, Deep3DBox: 3D Bounding Box Estimation Using Deep Learning and Geometry (2017), CVPR 2017

[2] L Liu et al, FQNet: Deep Fitting Degree Scoring Network for Monocular 3D Object Detection (2019), CVPR 2019

[3] A Naiden et al, Shift R-CNN: Shift R-CNN: Deep Monocular 3D Object Detection with Closed-Form Geometric Constraints (2019), TCIP 2019

[4] J Fang et al, Cascade Geometric Constraint: 3D Bounding Box Estimation for Autonomous Vehicles by Cascaded Geometric Constraints and Depurated 2D Detections Using 3D Results (2019), ArXiv, Sept 2019

[5] J Ku et al, MonoPSR: Monocular 3D Object Detection Leveraging Accurate Proposals and Shape Reconstruction (2019), CVPR 2019

[6] B Li et al, GS3D: An Efficient 3D Object Detection Framework for Autonomous Driving (2019), CVPR 2019

[7] I Barabanau, MonoGR2: Monocular 3D Object Detection via Geometric Reasoning on Keypoints (2019), May 2019

请关注博主,一起玩转人工智能及深度学习。文章来源地址https://www.toymoban.com/news/detail-826125.html

到了这里,关于【单目3D】在自动驾驶中将 2D 物体检测提升到 3D的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自动驾驶感知——物体检测与跟踪算法|4D毫米波雷达

    DBSCAN: Density Based Spatial Clustering of Applications with Noise; DBSCAN是基于密度的聚类方法,对样本分布的适应能力比K-Means更好。 红色的点是核心对象 黑色的点是非核心对象 注意 :距离的度量不限于点的空间距离,还可以是其它点特征,比如速度、反射强度等 基本思路 假定类别可以

    2024年02月11日
    浏览(45)
  • 基于ROS的自动驾驶 激光雷达点云物体检测 项目实战

    前言: 基于Apollo的preception与Autoware的lidar_apollo_cnn_seg_detect模块,并详细记录ROS系统上进行实时检测全部流程和踩坑,文章最后附上rosbag和rosbag的制作方法。参考文章:https://adamshan.blog.csdn.net/article/details/106157761?spm=1001.2014.3001.5502感谢大佬的杰作。 检测效果视频 环境 RTX 2060(

    2024年02月08日
    浏览(43)
  • 基于单目相机的2D测量(工件尺寸和物体尺寸)

    目录 1.简介 2.基于单目相机的2D测量 2.1 想法: 2.2 代码思路 2.2 主函数部分 基于单目相机的2D测量技术在许多领域中具有重要的背景和意义。 工业制造:在工业制造过程中,精确测量是确保产品质量和一致性的关键。基于单目相机的2D测量技术可以用于检测和测量零件尺寸、

    2024年02月06日
    浏览(50)
  • 综述:自动驾驶中的多模态 3D 目标检测

    在驾驶场景中,自动驾驶车辆需要精准高效的感知运算,时刻预测其所处的驾驶环境。 其中,感知系统将各种传感器数据转化为语义信息,是自动驾驶系统的核心和不可缺少的组成部分。 图像具有丰富的语义信息,点云包含深度信息。 两者具有互补特性,可以提高三维物体

    2024年02月03日
    浏览(47)
  • Mediapipe实时3D目标检测和跟踪(自动驾驶实现)

    3D目标检测是根据物体的形状、位置和方向来识别和定位物体的任务。在2D目标检测中,被检测到的物体仅表示为矩形边界框。3D目标检测任务通过预测物体周围的包围框,可以获取物体的三维位置信息。 3D目标检测在各行各业都有广泛的应用。一些常见的用途包括: 🎯 机器

    2024年02月09日
    浏览(40)
  • 5.【自动驾驶与机器人中的SLAM技术】2D点云的scan matching算法 和 检测退化场景的思路

    这里实现了基于g2o优化器的优化方法。 图优化中涉及两个概念-顶点和边。我们的优化变量认为是顶点,误差项就是边。我们通过g2o声明一个图模型,然后往图模型中添加顶点和与顶点相关联的边,再选定优化算法(比如LM)就可以进行优化了。想熟悉g2o的小伙伴们感兴趣的话

    2024年02月03日
    浏览(48)
  • OpenCV实现单目相机检测物体尺寸

    目录 步骤: Canny边缘检测算法介绍: 多边形逼近 代码实现: 效果展示: 导入必要的库: cv2 用于图像处理, numpy 用于数组操作。 定义了一个函数 preprocess ,用于对图像进行预处理。首先将图像转换为灰度图,然后进行高斯模糊来平滑图像。接着使用腐蚀操作进一步去除噪

    2024年02月07日
    浏览(43)
  • 基于 Transformation-Equivariant 的自动驾驶 3D 目标检测

    论文地址:https://arxiv.org/abs/2211.11962 论文代码:https://github.com/hailanyi/TED 三维场景中的物体分布有不同的方向。普通探测器不明确地模拟旋转和反射变换的变化。需要大的网络和广泛的数据增强来进行鲁棒检测。 equivariant networks 通过在多个变换点云上应用共享网络显式地模拟

    2024年02月09日
    浏览(43)
  • 用于自动驾驶的基于深度学习的图像 3D 目标检测:综述

    论文地址:https://ieeexplore.ieee.org/abstract/document/10017184/ 准确、鲁棒的感知系统是理解自动驾驶和机器人驾驶环境的关键。自动驾驶需要目标的 3D 信息,包括目标的位置和姿态,以清楚地了解驾驶环境。 摄像头传感器因其颜色和纹理丰富且价格低廉而广泛应用于自动驾驶中。摄

    2024年02月03日
    浏览(55)
  • PSEUDO-LIDAR++:自动驾驶中 3D 目标检测的精确深度

    论文地址:PSEUDO-LIDAR++: ACCURATE DEPTH FOR 3D OBJECT DETECTION IN AUTONOMOUS DRIVING 论文代码:https://github.com/mileyan/Pseudo_Lidar_V2 3D 检测汽车和行人等物体在自动驾驶中发挥着不可或缺的作用。现有方法很大程度上依赖昂贵的激光雷达传感器来获取准确的深度信息。虽然最近推出了伪激光雷

    2024年01月23日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包