Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

3D Object Detection

3D 目标检测会为每个物体标出一个 3D 框,给出物体以米为单位的位置、尺寸和朝向。本文介绍传感器、方法、基准测试和框示例。

3D 目标检测会在场景中查找目标,并为每个目标确定一个 3D 边界框,也称长方体,以表示其真实世界单位下的位置、尺寸和朝向。标准 2D 目标检测以图像像素为单位报告边界框。3D 检测器会报告汽车的距离(米)、长宽,以及车头朝向;这些信息是自动驾驶汽车、配送机器人和仓库机械臂规划运动、避免碰撞所必需的。

3D 边界框的表示方式#

大多数 3D 检测器会为每个目标输出七个数值,以及一个类别和置信度分数:边界框中心坐标 (x, y, z)、长宽高,以及绕垂直轴的朝向或偏航角。由于汽车、行人和大多数室内物体都直立放置,滚转角和俯仰角通常设为零;nuScenes 等自动驾驶基准还会要求提供每个目标的速度。将这七个数值转换为八个角点,是在图像上绘制边界框或计算其与另一个边界框重叠程度的第一步。

import numpy as np

# 一个 3D 边界框:中心位置(米)、尺寸(米),以及绕垂直 z 轴的朝向(弧度)
center = np.array([12.0, -3.0, 0.9])
length, width, height = 4.5, 1.9, 1.6
yaw = np.pi / 6

# 旋转前相对于中心的边界框八个角点
signs = np.array([[sx, sy, sz] for sx in (1, -1) for sy in (1, -1) for sz in (1, -1)])
corners = signs * [length / 2, width / 2, height / 2]

# 按朝向旋转,然后将边界框平移至中心位置
c, s = np.cos(yaw), np.sin(yaw)
rotation = np.array([[c, -s, 0], [s, c, 0], [0, 0, 1]])
corners = corners @ rotation.T + center
print(corners.round(2))

输出的八行是一个汽车大小边界框的角点:该边界框沿 x 轴居中于 12 米处,并旋转了 30 度;其中四个角点的 z = 1.7 m,表示车顶,另外四个角点的 z = 0.1 m,表示地面。

传感器与方法#

3D 检测需要深度,系统可从三种输入中获取深度。激光雷达扫描仪使用激光脉冲直接测量距离,并生成场景的点云。激光雷达检测器会将空间划分为 3D 体素,将点分组成垂直柱体(如 PointPillars所做的那样),然后将其作为鸟瞰图像使用快速的 2D 卷积进行处理,也可以直接处理原始点。

基于摄像头的方法会从图像推断深度。单个摄像头无法明确判断深度,因为近处的小物体和远处的大物体看起来可能相同,因此单目检测器会根据物体大小和场景上下文学习深度。像 BEVFormer 这样的多摄像头系统会将多个周边视角中的特征投射到一个共享的鸟瞰网格中。摄像头流程还可以结合 YOLO26 的 2D 边界框和 YOLO26 深度模型,后者会根据一张 RGB 图像预测以米为单位的逐像素深度图,从而估算每个检测目标的距离。

传感器融合会结合激光雷达的精准几何信息与摄像头图像的颜色和纹理。BEVFusion 会在共享的鸟瞰空间中融合两种传感器的特征。

  • 深度估计:为每个像素预测距离,但不会将场景划分为不同目标或类别。
  • 有向边界框:位于图像平面内的旋转 2D 边界框,常用于航拍图像,其形状类似于 3D 边界框的俯视轮廓。
  • 3D 重建:重建场景的完整几何结构,例如网格或点云,但不会标注单个目标。

应用与挑战#

自动驾驶汽车使用 3D 检测来定位周围的汽车、行人和骑行者并预测其行进路线;仓储和物流机器人则用它在抓取箱子前确定箱子的位置和朝向。难点包括距离较远的小目标(这类目标获得的激光雷达点较少)、部分被遮挡的目标、会随距离增加而扩大的单目深度误差,以及标注成本,因为每个训练用长方体都必须由标注人员在 3D 空间中拟合。

3D 检测器的评估#

评估会将交并比 (IoU)和平均精度均值 (mAP)扩展到三维空间。KITTI 的 3D 基准要求汽车的 3D 边界框 IoU 达到 0.7,行人和骑行者达到 0.5;自 2019 年起,它会在 40 个召回率位置计算平均精度,而不是 11 个。nuScenes 基准会根据预测结果与标签在地平面上的中心距离进行匹配,并计算 0.5、1、2 和 4 米阈值下的 AP 平均值。其 nuScenes 检测分数 (NDS) 将 mAP(权重为 5)与另外五项分数组合,这五项分数分别根据平移、尺度、朝向、速度和属性误差计算,权重均为 1。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来