探索三维物体检测:激光雷达、点云和深度学习如何为自动驾驶汽车、机器人和 AR 构建精确的三维边界框。
3D 物体检测是一项复杂的 计算机视觉 (CV)技术,可识别、分类和定位三维空间中的物体、 分类和定位三维空间中的物体。与传统的二维 物体检测不同,传统的二维物体检测是在图像平面上围绕物体绘制一个平面矩形 与传统的二维物体检测不同,三维物体检测是在图像平面上围绕物体绘制一个平面矩形边界框。 物体检测则是估算一个定向的三维边界框--由其中心坐标(x、y、z)定义的长方体、 尺寸(长、宽、高)和方向(航向角)定义的立方体。这种功能允许 人工智能(AI)系统 感知真实世界中物体的大小、距离和姿势估计 ,这对物理交互和导航至关重要。 导航。
为了感知深度和体积,三维物体检测模型依赖于捕捉空间几何形状的数据源。二维 方法仅依赖于像素强度,而三维方法则处理来自先进传感器的数据:
专门的架构可以处理这些数据。例如 点网直接处理原始点云,而 VoxelNet则将三维空间划分为体积网格(体素 (体素)来进行卷积运算。这些模型可输出物体的精确三维坐标和方向、 这些模型输出物体的精确三维坐标和方位,使机器不仅能了解物体是什么,还能准确了解物体在物理世界中的位置。 在物理世界中的确切位置。
主要区别在于所提供的空间维度和信息:
适用于需要部分空间感知而又不需要全 3D 开销的应用、 旋转框检测Oriented Bounding Box)检测作为 旋转框检测是一种中间方法,可预测二维旋转边界框,以便更好地适应航拍视图中的船舶或车辆等物体。
三维物体检测是与物理世界进行交互的行业的感知引擎:
虽然 YOLO11主要是一个 2D 检测器,但它 在许多三维检测管道中发挥着重要作用。一种常见的方法被称为 "基于挫面的检测"。 它使用高速 2D 模型来识别图像中的感兴趣区域。然后将此 2D 框挤出到 3D 空间中 以裁剪点云,从而大大减少三维模型的搜索空间。
下面的示例演示了如何使用Ultralytics YOLO11 执行初始 2D 检测步骤,该步骤将作为 作为 3D 提升模块的建议:
from ultralytics import YOLO
# Load the YOLO11 model (optimized for 2D detection)
model = YOLO("yolo11n.pt")
# Run inference on an image (e.g., from a vehicle camera)
results = model("path/to/driving_scene.jpg")
# In a 3D pipeline, these 2D boxes (x, y, w, h) are used to
# isolate the corresponding region in the LiDAR point cloud.
for result in results:
for box in result.boxes:
print(f"Class: {int(box.cls)}, 2D Box: {box.xywh.numpy()}")