接着上一篇 如何让自动驾驶汽车“看清”世界?坐标映射与数据融合详解的概述,这一篇详细讲解自动驾驶多目视觉系统设计原理,并给出应用示例。
摘要
在自动驾驶系统中,准确的环境感知是实现路径规划与决策控制的基础。本文系统性地解析图像坐标系、像素坐标系、相机坐标系与世界坐标系的映射关系,深入推导双目相机的视差-深度计算模型,并给出完整的Python代码实现。通过融合理论推导与工程实践,揭示自动驾驶汽车如何通过视觉感知"看清"三维世界。
关键词:自动驾驶、坐标系转换、双目视觉、三维重建、立体匹配
一、自动驾驶中的核心坐标系系统
1.1 五层坐标系定义
-
世界坐标系(World Coordinate)
描述物体在真实三维空间中的绝对位置 ( X w , Y w , Z w ) (X_w, Y_w, Z_w) (Xw,Yw,Zw),是自动驾驶系统的全局参考系。 -
相机坐标系(Camera Coordinate)
以相机光心为原点, Z c Z_c Zc 轴指向成像方向的右手系 ( X c , Y c , Z c ) (X_c, Y_c, Z_c) (Xc,Yc,Zc),表征物体相对于相机的空间位置。 -
图像坐标系(Image Coordinate)
成像平面上的连续物理坐标 ( x , y ) (x, y) (x,y),原点位于光轴与成像平面交点,单位为毫米。 -
像素坐标系(Pixel Coordinate)
图像离散化后的像素位置 ( u , v ) (u, v) (u,v),原点位于图像左上角,单位为像素。 -
车辆坐标系(Vehicle Coordinate)
是自动驾驶系统中一个至关重要的参考系,为车辆自身以及周围物体的位置和运动状态提供了一个统一的描述框架。车辆坐标系通常被定义为一个右手坐标系,其原点位于车辆的某个特定点,如车辆的中心点或某个传感器的位置。具体的定义如下:- X轴:通常指向车辆的前进方向,即车辆的长度方向。在大多数情况下,X轴的正方向是从车辆的后部指向车辆的前部。
- Y轴:通常指向车辆的左侧,即车辆的宽度方向。Y轴的正方向是从车辆的右侧指向车辆的左侧。
- Z轴:垂直于车辆的平面,即车辆的高度方向。Z轴的正方向通常是指向天空的方向,即车辆的上方。
车辆坐标系作为车身本体坐标系,其与世界坐标系的动态转换通过组合导航系统(GNSS+IMU)实现,转换精度直接影响传感器融合效果。
坐标系类型 | 原点定义 | 坐标轴方向 | 物理意义 |
---|---|---|---|
世界坐标系 | 预设大地基准点 | X-东向,Y-北向,Z-垂直 | 全局定位与地图融合基础 |
相机坐标系 | 相机光学中心 | Z-光轴方向,X/Y-成像平面 | 物体相对相机的空间关系 |
图像坐标系 | 光轴与成像平面交点 | x-水平方向,y-垂直方向 | 连续物理成像位置 |
像素坐标系 | 图像左上角 | u-列方向,v-行方向 | 数字图像离散采样位置 |
车辆坐标系 | 车辆质心或后轴中心 | X-前进方向,Y-左侧,Z-垂直向上 | 多传感器数据统一基准 |
1.2 坐标系转换的意义
通过多坐标系映射,可将二维图像像素还原为三维世界坐标,建立环境物体的空间拓扑关系。这是实现障碍物测距、车道线定位等功能的数学基础。以车道线检测为例,首先在像素坐标系定位车道特征点,经逆透视变换得到车辆坐标系下的局部坐标,最终通过坐标转换矩阵映射到全局地图坐标系。
1.3 动态转换实践
车辆坐标系作为动态中介坐标系,其转换关系可表示为:
[ X v Y v Z v 1 ] = [ cos θ − sin θ 0 Δ x sin θ cos θ 0 Δ y 0 0 1 Δ z 0 0 0 1 ] ⏟ T w 2 v ⋅ [ X w Y w Z w 1 ] \begin{bmatrix} X_v \\ Y_v \\ Z_v \\ 1 \end{bmatrix} = \underbrace{ \begin{bmatrix} \cos\theta & -\sin\theta & 0 & \Delta x \\ \sin\theta & \cos\theta & 0 & \Delta y \\ 0 & 0 & 1 & \Delta z \\ 0 & 0 & 0 & 1 \end{bmatrix} }_{T_{w2v}} \cdot \begin{bmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{bmatrix} XvYvZv1 =Tw2v cosθsinθ00−sinθcosθ000010ΔxΔyΔ