接著上一篇 如何讓自動駕駛汽車“看清”世界?坐標映射與數據融合詳解的概述,這一篇詳細講解自動駕駛多目視覺系統設計原理,并給出應用示例。
摘要
在自動駕駛系統中,準確的環境感知是實現路徑規劃與決策控制的基礎。本文系統性地解析圖像坐標系、像素坐標系、相機坐標系與世界坐標系的映射關系,深入推導雙目相機的視差-深度計算模型,并給出完整的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} ?Xv?Yv?Zv?1? ?=Tw2v? ?cosθsinθ00??sinθcosθ00?0010?ΔxΔyΔ