一 先導與重點
文章主要介紹自動駕駛技術中幾種常用的坐標系統,以及他們之間如何完成關聯和轉換,最終構建出統一的環境模型。這里重點理解自車到相機剛體轉換(外參),相機到圖像轉換(內參),圖像到像素有單位轉換。3d向2d轉換會有相應的畸變,平移等。
重點:自車坐標系<->相機機體坐標系<->像平面坐標系<->像素坐標系?難點:要考慮圖像畸變,去畸變和加畸變都是在像平面上去補償
二 簡介
視覺系統一共有四個坐標系:像素平面坐標系(u,v)、圖像坐標系(x,y)、相機坐標系()和世界坐標系()。每種坐標系之間均存在聯系,那么如何通過圖像像素坐標定位到世界坐標系的坐標,需要通過相機標定來解決,其中關鍵的算法部分在于坐標系轉換,而變換則需要通過齊次坐標的表示方式來完成。 ?
三 各個傳感器坐標系
3.1 相機坐標系統
攝像頭的作用是把三維世界中的形狀、顏色信息,壓縮到一張二維圖像上?;跀z像頭的感知算法則是從二維圖像中提取并還原三維世界中的元素和信息,如車道線,車輛、行人等,并計算他們與自己的相對位置。?感知算法和相機相關的坐標系有圖像坐標系(像素坐標系)、攝像機坐標系、像平面坐標系
3.1.1 圖像坐標系(or 像素坐標系)
電腦上存儲的照片或圖像,一般以左上角為原點,向右為x正方向,向下為y正方向,單位以“像素”最為常用。圖像坐標系為二維坐標系,標記為(Xv, Yv)。
3.1.2 攝像機坐標系
由于圖像坐標系向右為x,向下為y,所以攝像機坐標系以鏡頭主光軸中心為原點,一般向右為x正方向,向下為y正方向,向前為z正方向。這樣,x,y方向與圖像坐標系的方向吻合,z方向即為景深,攝像機坐標系記為(Xc, Yc)
3.1.3 像平面坐標系(or 成像坐標系)
為了能夠定量描述三維空間到二維圖像的映射關系,圖形學里引入了像平面坐標系。它是攝像機坐標系的一個平移,中心仍在攝像機主光軸上,距離光軸中心的距離等于攝像機的焦距?我們知道攝像機會在光軸中心后方的底片上成一個縮小的倒像,是真正的像平面(Xf, Yf)。但是為了分析和計算方便,我們會在光軸中心前方設立一個虛擬像平面。虛擬像平面上的成像為正像,大小與真實倒像相同 ?
像平面坐標系 ?
3.5 世界坐標系
根據情況而定,可以表示任何物體,此時是由于相機而引入的。單位m。 ?
世界坐標系?,相機坐標系?,成像坐標系?及像素坐標系 ?
四 Lidar 坐標系
Lidar (Light Detection and Ranging) 是一種遠程感測技術,使用激光光束測量與物體的距離。360度旋轉發射射線,根據不同目標反射率不同反射而形成電云。在自動駕駛和機器人領域,Lidar常被用作一個主要的傳感器來獲取周圍環境的3D信息。在多數情況下,Lidar坐標系為右手坐標系,但具體定義可能會因Lidar制造商而異。 ?
4.1 定義
X軸:?通常指向Lidar前方。當激光束直接向前發射時,與該方向的距離測量會在X軸上產生一個正值。Y軸:?通常指向Lidar的左側。當激光束直接向左側發射時,與該方向的距離測量會在Y軸上產生一個正值。Z軸:?通常指向Lidar的上方,與X和Y軸垂直。高度測量通常沿Z軸進行,正值代表物體高于Lidar設備,而負值代表低于Lidar設備。 ?
4.2 重要性
車載Lidar系統的坐標系與車輛坐標系可能不完全對齊,需要一個轉換矩陣來在兩者之間進行坐標變換。
數據標注、地圖生成、物體檢測等任務需要明確Lidar坐標系的定義。
對于與其他傳感器的數據融合,例如攝像頭,知道各自的坐標系是非常關鍵的,以便進行正確的數據對齊和融合。
當與攝像頭、雷達或其他傳感器進行數據融合時,通常需要知道Lidar與這些傳感器之間的外部標定參數(例如,旋轉和平移矩陣),以便在它們之間進行坐標變換。
五 自車坐標系
一般環境中選擇一個參考坐標系來描述傳感器和物體的位置,該坐標系稱為世界坐標系;自車坐標系一般指的是以車體后軸中心為原點(因為后軸中心不會隨著車擺動而發生相對變化),左前上或右前上的空間坐標系,左(右)一般為橫向,前一般為縱向,上指地面以上空間,坐標系隨著車運動而運動。所有的下游需要感知輸出的目標都要在自車坐標系下面,BEV視角目標也是指的在這個坐標系下 ?
一般三維空間坐標系用三個正交軸X,Y,Z表示物體的位置,用繞這三個正交軸的旋轉角度(roll 滾動角, pitch 俯仰角, yaw 偏航角)表示物體的姿態。時間坐標系只有一個維度。為了表述方便,我們一般將空間坐標和時間坐標分開討論。
六 攝像機的內參和外參
6.1 相機內參
內參用來確定攝像機從三維空間到二維圖像的投影關系。主要包含三個參數,相機主點,相機焦距,畸變系數。內參一般由商家給定,也可以進行攝像機標定。在自動駕駛應用中,攝像機的內參為常數,使用中不會發生變化,但需要在使用前做好標定工作。攝像機的拍攝過程,可以抽象成是從三維攝像機坐標系映射到二維像平面坐標系,再映射到圖像坐標系的過程。 ?
6.1 焦距 (f)
它描述了圖像傳感器與攝像機的透鏡之間的距離。通常用兩個參數 () 和 () 來表示,分別對應于圖像的x軸和y軸。
在很多情況下,我們假定 (),這意味著像素在兩個方向上都是正方形的。
6.2 主點
它是圖像中的一個點,通常接近圖像的中心。它是3D空間中的點投影到圖像平面時所對應的2D點。
通常用兩個參數 () 和 () 表示,它們對應于圖像的x軸和y軸上的坐標。
6.3 畸變系數
真實攝像機的透鏡可能會引入畸變,導致圖像失真。常見的畸變有徑向畸變和切向畸變。
常用的徑向畸變系數為 ($k_1, k_2, k_3$)。
切向畸變系數為 ($p_1, p_2$)。
攝像機的內參通??梢员硎緸橐粋€矩陣: ?
這個矩陣通常被稱為內參矩陣或相機矩陣。
6.2 相機外參
通過二維圖像推斷物體在三維攝像機坐標系中的位置,例如獲得距離深度信息。從二維圖像中獲取三維距離信息,如果需要獲得物體在世界坐標系中的位置,則還需要知道攝像機在世界坐標系中的位姿。這一位姿表示被稱為攝像機的外部參數,簡稱外參,用來決定攝像機坐標與世界坐標系之間相對位置關系。自動駕駛應用中,得到這一位置關系還需要一系列的標定和定位工作。相機相對其它坐標系,旋轉+平移矩陣,其中旋轉外參與上述歐拉角【yaw,patch,roll】,旋轉順序一般為(z-y-x), 單位度;平移外參,相機到目標坐標系中的平移距離,單位米
七 自車坐標系與世界坐標系
7.1 自車坐標系 (Vehicle Coordinate System)
這是固定在車輛上的坐標系。
通常,X軸指向車輛的前方、Y軸指向車輛的右側(或左側,這取決于約定)、Z軸指向車輛的上方。
這個坐標系的原點通常位于車輛的某個固定點,例如車輛的中心、車輛的后軸等,這取決于特定的應用和約定。
7.2 世界坐標系 (World Coordinate System)
這是一個固定的、全局的坐標系,用于描述環境中的物體和車輛。
世界坐標系的原點和方向通常根據特定的應用或場景來選擇。例如,它可以定位在一個地圖的某個固定點,或者是某個場景的中心。
世界坐標系為多個實體提供了一個共同的參考框架,允許它們之間進行相對定位和導航。
關系與轉換:- 由于車輛在世界中是移動的,所以自車坐標系和世界坐標系之間的關系是時間變化的。- 為了在這兩個坐標系之間進行轉換,通常需要一個轉換矩陣或變換(通常由旋轉和平移組成)。這個轉換可以通過各種傳感器(例如GPS、IMU、激光雷達)和算法(例如SLAM)獲得。- 轉換可以表示為一個4x4的齊次坐標矩陣,允許我們從一個坐標系轉換到另一個坐標系。 ? 大多數情況下自車坐標系等同于世界坐標系,本文章也是這么理解的。
八 坐標系之間轉換關系
8.1 從世界坐標系到相機坐標系
物體之間的坐標系變換都可以表示坐標系的旋轉變換加上平移變換,則世界坐標系到相機坐標系的轉換關系也是如此。繞著不同的軸旋轉不同的角度得到不同的旋轉矩陣。?繞Z軸旋轉θ示意圖: ?
8.2 相機坐標系到圖像坐標系
從相機坐標系到圖像坐標系,屬于透視投影關系,從3D轉換到2D。也可以看成是針孔模型的改變模型。滿足三角形相似定理。 ?
8.3 圖像坐標系到像素坐標系
此時與前面的坐標系變換不同,此時沒有旋轉變換,但是坐標原點位置不一致,大小不一致,則設計伸縮變換及平移變換。 ?
8.4 四個坐標系之間的關系
通過最終的轉換關系來看,一個三維中的坐標點,的確可以在圖像中找到一個對應的像素點,但是反過來,通過圖像中的一個點找到它在三維中對應的點就很成了一個問題,因為我們并不知道等式左邊的的值。 ?
紅框內即為外參,R和T分別為旋轉和平移量。內參為是相機固有的屬性,實際上就是焦距f,像元尺寸dx,dy。很明顯,表示的是點離光軸的距離。
九 總結
梳理了自動駕駛的各種坐標系,展現自動駕駛各坐標系間的關系,最終得到像素坐標系與世界坐標系的轉換關系。 ?
編輯:黃飛
評論
查看更多