You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ROS+CARLA环境下3D车辆位置转2D图像Bounding Box实现求助

CARLA相机3D转2D Bounding Box的正确方法

获取相机内参(焦距、主点)

CARLA的RGB相机传感器会直接提供内参参数,不需要手动猜测,两种获取方式:

  • ROS话题方式:订阅相机的/carla/<camera_name>/camera_info话题,消息类型为sensor_msgs/CameraInfo,其中的K矩阵包含核心参数:
    • 焦距:fx = K[0],fy = K[4]
    • 主点:cx = K[2],cy = K[5]
  • Python API方式:直接从相机蓝图读取属性:
    camera_bp = blueprint_library.find('sensor.camera.rgb')
    # 读取焦距
    fx = camera_bp.get_attribute('focal_length').as_float()
    # 主点默认是图像中心,也可通过属性计算
    img_w = camera_bp.get_attribute('image_size_x').as_int()
    img_h = camera_bp.get_attribute('image_size_y').as_int()
    cx = img_w / 2.0
    cy = img_h / 2.0
    

3D坐标转2D像素流程

1. 计算目标相对自车的局部坐标

CARLA世界坐标系是x向东、y向北、z向上,需要先转换为自车局部坐标系(x向前、y向左、z向上):

  • 已知自车世界位置ego_pos=(x_ego,y_ego,z_ego)、目标世界位置target_pos=(x_t,y_t,z_t),先算世界空间相对差:
    rel_x = x_t - x_ego
    rel_y = y_t - y_ego
    rel_z = z_t - z_ego
    
  • 结合自车yaw角(弧度,逆时针为正)做旋转变换,得到自车局部坐标:
    rel_x_local = rel_x * cos(yaw) + rel_y * sin(yaw)
    rel_y_local = -rel_x * sin(yaw) + rel_y * cos(yaw)
    rel_z_local = rel_z
    

2. 转换为相机坐标系坐标

相机通常有相对于自车的安装偏移(位置cam_offset=(x_off,y_off,z_off)、姿态cam_yaw,cam_pitch,cam_roll):

  • 先算目标相对相机的位置:
    cam_x = rel_x_local - x_off
    cam_y = rel_y_local - y_off
    cam_z = rel_z_local - z_off
    
  • 通过相机姿态的旋转矩阵,将坐标转换为相机坐标系(CARLA相机坐标系为x向右、y向下、z向前)。

3. 透视投影得到2D像素

若相机坐标系下点为(X,Y,Z)(Z必须>0,否则目标在相机后方),用内参做投影:

u = fx * (X / Z) + cx
v = fy * (Y / Z) + cy

其中u是图像x轴像素坐标,v是y轴像素坐标。

生成目标Bounding Box

目标尺寸(length,width,height)对应自车坐标系的前后、左右、上下方向,先生成自身局部坐标系下的8个包围盒角点:

corners_local = [
    (length/2, width/2, height/2),
    (length/2, width/2, -height/2),
    (length/2, -width/2, height/2),
    (length/2, -width/2, -height/2),
    (-length/2, width/2, height/2),
    (-length/2, width/2, -height/2),
    (-length/2, -width/2, height/2),
    (-length/2, -width/2, -height/2)
]

将每个角点转换为世界坐标后,重复上述3D转2D流程,过滤掉Z≤0的不可见点,最后取所有可见点的最小/最大u、v值,得到Bounding Box的(x_min,y_min,x_max,y_max)。

内容的提问来源于stack exchange,提问作者wiswasi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 11:37:20