從像素到世界:自動駕駛視覺感知的坐標變換體系

接著上一篇 如何讓自動駕駛汽車“看清”世界?坐標映射與數據融合詳解的概述,這一篇詳細講解自動駕駛多目視覺系統設計原理,并給出應用示例。

摘要

在自動駕駛系統中,準確的環境感知是實現路徑規劃與決策控制的基礎。本文系統性地解析圖像坐標系、像素坐標系、相機坐標系與世界坐標系的映射關系,深入推導雙目相機的視差-深度計算模型,并給出完整的Python代碼實現。通過融合理論推導與工程實踐,揭示自動駕駛汽車如何通過視覺感知"看清"三維世界。

關鍵詞:自動駕駛、坐標系轉換、雙目視覺、三維重建、立體匹配


一、自動駕駛中的核心坐標系系統

1.1 五層坐標系定義

  1. 世界坐標系(World Coordinate)
    描述物體在真實三維空間中的絕對位置 ( X w , Y w , Z w ) (X_w, Y_w, Z_w) (Xw?,Yw?,Zw?),是自動駕駛系統的全局參考系。

  2. 相機坐標系(Camera Coordinate)
    以相機光心為原點, Z c Z_c Zc? 軸指向成像方向的右手系 ( X c , Y c , Z c ) (X_c, Y_c, Z_c) (Xc?,Yc?,Zc?),表征物體相對于相機的空間位置。

  3. 圖像坐標系(Image Coordinate)
    成像平面上的連續物理坐標 ( x , y ) (x, y) (x,y),原點位于光軸與成像平面交點,單位為毫米。

  4. 像素坐標系(Pixel Coordinate)
    圖像離散化后的像素位置 ( u , v ) (u, v) (u,v),原點位于圖像左上角,單位為像素。

  5. 車輛坐標系(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Δ

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74337.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74337.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74337.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

附錄B ISO15118-20測試命令

本章節給出ISO15118-20協議集的V2G命令,包含json、xml,并且根據exiCodec.jar編碼得到exi內容, 讀者可以參考使用,測試編解碼庫是否能正確編解碼。 B.1 supportedAppProtocolReq json: {"supportedAppProtocolReq": {…

VLAN章節學習

為什么會有vlan這個技術? 1.通過劃分廣播域來降低廣播風暴導致的設備性能下降; 2.提高網絡管理的靈活性和通過隔離網絡帶來的安全性; 3.在成本不變的情況下增加更多的功能性; VLAN又稱虛擬局域網(再此擴展&#xf…

FPGA時鐘約束

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 目錄 前言 一、Create_clock 前言 時鐘周期約束&#xff0c;就是對時鐘進行約束。 一、Create_clock create_clock -name <name> -period <period> -waveform …

機房布局和布線的最佳實踐:如何打造高效、安全的機房環境

機房布局和布線的最佳實踐:如何打造高效、安全的機房環境 大家好,我是Echo_Wish。今天我們來聊聊機房布局和布線的問題,這可是數據中心和IT運維中的一個非常重要的環節。不管是剛剛接觸運維的新人,還是已經摸爬滾打多年的老兵,都應該對機房的布局和布線有一個清晰的認識。…

spring-security原理與應用系列:建造者

目錄 1.構建過程 AbstractSecurityBuilder AbstractConfiguredSecurityBuilder WebSecurity 2.建造者類圖 SecurityBuilder ???????AbstractSecurityBuilder ???????AbstractConfiguredSecurityBuilder ???????WebSecurity 3.小結 緊接上一篇文…

OpenHarmony子系統開發 - 電池管理(二)

OpenHarmony子系統開發 - 電池管理&#xff08;二&#xff09; 五、充電限流限壓定制開發指導 概述 簡介 OpenHarmony默認提供了充電限流限壓的特性。在對終端設備進行充電時&#xff0c;由于環境影響&#xff0c;可能會導致電池溫度過高&#xff0c;因此需要對充電電流或電…

xy軸不等比縮放問題——AUTOCAD c#二次開發

在 AutoCAD .net api里&#xff0c;部分實體&#xff0c;像文字、屬性、插入塊等&#xff0c;是不支持非等比縮放的。 如需對AutoCAD中圖形進行xyz方向不等比縮放&#xff0c;則需進行額外的函數封裝。 選擇圖元&#xff0c;指定縮放基準點&#xff0c;scaleX 0.5, scaleY …

如何在 HTML 中創建一個有序列表和無序列表,它們的語義有何不同?

大白話如何在 HTML 中創建一個有序列表和無序列表&#xff0c;它們的語義有何不同&#xff1f; 1. HTML 中有序列表和無序列表的基本概念 在 HTML 里&#xff0c;列表是一種用來組織信息的方式。有序列表就是帶有編號的列表&#xff0c;它可以讓內容按照一定的順序呈現&#…

kafka的文章

1.面試的問題 要點 至多一次、恰好一次數據一致性超時重試、冪等消息順序消息擠壓延時消息 1.1 kafaka 生產消息的過程。 在消息發送的過程中&#xff0c;涉及到了兩個線程&#xff0c;一個是main 線程&#xff0c;一個是sender 線程。在main 線程中創建了一個雙端隊列 Reco…

以mysql 為例,增刪改查語法及其他高級特性

以下是 MySQL 的 增刪改查語法及 高級特性的詳細整理&#xff0c;結合示例說明&#xff1a; 1. 基礎操作&#xff08;CRUD&#xff09; (1) 創建數據&#xff08;INSERT&#xff09; -- 單條插入 INSERT INTO users (id, name, email) VALUES (1, Alice, aliceexample.com);…

Postman最新詳細安裝及使用教程【附安裝包】

一、Postman介紹 ?Postman是一個功能強大的API測試工具&#xff0c;主要用于模擬和測試各種HTTP請求&#xff0c;支持GET、POST、PUT、DELETE等多種請求方法。?通過Postman&#xff0c;用戶可以發送請求并查看返回的響應&#xff0c;檢查響應的內容和狀態&#xff0c;從而驗…

第十三章 : Names in Templates_《C++ Templates》notes

Names in Templates 重難點多選題設計題 重難點 1. 名稱分類與基本概念 知識點&#xff1a; 限定名&#xff08;Qualified Name&#xff09;&#xff1a;使用::或.顯式指定作用域的名稱&#xff08;如std::vector&#xff09;非限定名&#xff08;Unqualified Name&#xff0…

整合vue+Element UI 開發管理系統

1、 安裝 Node.js 和 npm 確保安裝了 Node.js 和 npm。可以通過 Node.js 官網 下載。 2、 創建 Vue 項目 安裝cli npm install -g vue/cli 使用 Vue CLI 創建一個新的 Vue 項目。 vue create admin-system cd admin-system npm run serve 出現這個頁面表示vue創建成功 安…

3. 軸指令(omron 機器自動化控制器)——>MC_Stop

機器自動化控制器——第三章 軸指令 9 MC_Stop變量?輸入變量?輸出變量?輸入輸出變量 功能說明?指令詳情?時序圖?重啟運動指令?多重啟動運動指令?異常 MC_Stop 使軸減速停止。 指令名稱FB/FUN圖形表現ST表現MC_Stop強制停止FBMC_Stop_instance (Axis :《參數》 ,Execu…

C#中修飾符——abstract、virtual

一、多態簡介 在面向對象編程的過程中&#xff0c;多態體現出來的是【一個接口&#xff0c;多個功能】&#xff1b;多態性體現在2個方面&#xff1a; 1、程序運行時&#xff0c;在方法參數、集合或數組等位置&#xff0c;派生類對象可以作為基類的對象處理&#xff1b;這樣該對…

Spring Boot + Spring Integration整合MQTT打造雙向通信客戶端

1. 概述 本文分兩個章節講解MQTT相關的知識&#xff0c;第一部份主要講解MQTT的原理和相關配置&#xff0c;第二個章節主要講和Spring boot的integration相結合代碼的具體實現&#xff0c;如果想快速實現功能&#xff0c;可直接跳過第一章節查看第二章講。 1.1 MQTT搭建 為了…

2025前端面試題記錄

vue項目目錄的執行順序是怎么樣的&#xff1f; 1、package.json   在執行npm run dev時&#xff0c;會在當前目錄尋找package.json文件&#xff0c;此文件包含了項目的名稱版本、項目依賴等相關信息。 2、webpack.config.js(會被vue-cli腳手架隱藏) 3、vue.config.js   對…

專題|Python貝葉斯網絡BN動態推理因果建模:MLE/Bayes、有向無環圖DAG可視化分析呼吸疾病、汽車效能數據2實例合集

原文鏈接&#xff1a;https://tecdat.cn/?p41199 作為數據科學家&#xff0c;我們始終在探索能夠有效處理復雜系統不確定性的建模工具。本專題合集系統性地解構了貝葉斯網絡&#xff08;BN&#xff09;這一概率圖模型在當代數據分析中的創新應用&#xff0c;通過開源工具bnlea…

WX小程序

下載 package com.sky.utils;import com.alibaba.fastjson.JSONObject; import org.apache.http.NameValuePair; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.Cl…

Vulnhub-wordpress通關攻略

姿勢一、后臺修改模板拿WebShell 第一步&#xff1a;進?Vulhub靶場并執?以下命令開啟靶場&#xff1b;在瀏覽器中訪問并安裝好.... 第二步&#xff1a;找到外觀--編輯--404.php&#xff0c;將原內容刪除并修改為一句話木馬&#xff0c;點擊更新--File edited successfully. &…