[首發(fā)于智駕最前沿微信公眾號]有些時候,我們在用一些手機拍照,手機拍出來的畫面與真實世界看起來會不太一樣,直接會有些彎曲,物體看起來距離也會更遠,之所以會出現(xiàn)這個問題,是因為鏡頭有畸變、焦距和光心位置不夠準確等原因導致的。這一問題在拍照時影響并不大,但是對于自動駕駛攝像頭來說,如果出現(xiàn)這些問題,就會讓自動駕駛汽車無法看懂世界,無法判斷距離,使得小偏差變成大問題。
為什么自動駕駛攝像頭需要標定?
自動駕駛車輛靠多個攝像頭、激光雷達、毫米波雷達、慣性測量單元(IMU)等傳感器一起“看世界”和定位。攝像頭拿到的是二維圖像,機器要靠這些圖像去識別車道線、行人、障礙物,同時還要判斷它們的三維空間位置。這個過程中必須把攝像頭拍到的每一個像素點,正確地映射到真實三維空間坐標上。如果這個映射不準確,機器感知出的物體位置就可能是錯的,進而影響車輛決策與控制。為了做到準確的映射,就必須要進行攝像頭標定。
攝像頭標定,簡而言之就是找出攝像頭內部和外部的一系列參數(shù),讓攝像頭拍出來的圖像能對應真實世界的物理坐標,這樣自動駕駛系統(tǒng)才有靠譜的感知基礎。
攝像頭標定包含什么?
自動駕駛汽車上的攝像頭,其實就是一個把三維世界投影到二維圖像的機器,這個過程中有兩個參數(shù)非常關鍵,即內參數(shù)和外參數(shù)。
內參數(shù)是攝像頭“自身的性格”,包括焦距、光心(像素坐標里的中心點)、鏡頭畸變這些東西。鏡頭的焦距決定物體成像放大還是縮小,鏡頭畸變會讓直線看起來彎曲。這些屬性取決于鏡頭本身和生產制造精度。我們要通過標定找出一組具體的數(shù)值來描述它。
外參數(shù)則描述攝像頭在車輛坐標系里的位置和朝向。自動駕駛汽車裝了不只有一個攝像頭,可能前視、側視、后視等多個視角都有攝像頭,甚至還有激光雷達、毫米波雷達這樣的傳感器。每個傳感器的坐標系都不一樣,要讓攝像頭的數(shù)據(jù)跟其他傳感器的數(shù)據(jù)融合,就必須知道每個攝像頭的位置、朝向,即它們與車輛坐標系之間的三維旋轉和平移關系。
簡單理解這兩個概念,內參數(shù)像是“透鏡自己的性格描述”,而外參數(shù)像是“這個鏡頭裝在車上什么位置、朝哪個方向”,對于攝像頭的標定就是要找出這些參數(shù)。
攝像頭的標定要怎么做?
在自動駕駛開發(fā)中,一般會使用兩種方式來做攝像頭標定,一種是在受控環(huán)境下靜態(tài)完成,另一種是在車輛行駛過程中動態(tài)優(yōu)化。
靜態(tài)標定會在實驗室或標定場地里完成。標定前需準備一個有已知幾何結構的標定板,上面會有棋盤格、圓點陣列等規(guī)則的平面圖案,然后在攝像頭前多角度、不同位置拍很多張照片。通過這些照片中棋盤格角點在圖像中的位置變化,算法就能反推出攝像頭的內參數(shù)和外參數(shù),并校正鏡頭畸變等影響。經典的標定方法之一是以張正友標定法為代表的相機標定算法,它就是利用拍攝了不同角度的已知標定板圖像來求解這些參數(shù)。
靜態(tài)標定的精度比較高,尤其內參數(shù)能通過專門設計的標定軟件和場景得到較精確的估計。外參數(shù)在靜態(tài)環(huán)境下也能測出一個初始值。靜態(tài)標定適合在制造或裝配完畢后、車輛上路之前先做一次。
動態(tài)標定則是在車輛行駛狀態(tài)下進行的優(yōu)化,車輛在路上跑的時候,攝像頭不斷采集圖像,同時配合IMU、GPS等定位數(shù)據(jù),或者是檢測到路邊的特征、車道線等信息,通過連續(xù)運動模型和傳感器數(shù)據(jù)來進一步優(yōu)化攝像頭的外參數(shù)甚至某些內參數(shù)(如果車輛結構輕微改變)。動態(tài)標定的好處是能讓標定結果更貼近真實駕駛場景,能夠適應安裝誤差、振動等因素帶來的變化。
很多自動駕駛系統(tǒng)會先做一個靜態(tài)標定,然后在實際路測中通過動態(tài)標定持續(xù)優(yōu)化,這樣可以讓攝像頭始終保持較高的感知準確性。
標定過程里的關鍵步驟
不管是靜態(tài)標定還是動態(tài)標定,大體步驟都包含數(shù)據(jù)采集、特征提取、求解攝像頭模型及驗證幾個核心內容。
對于靜態(tài)標定,需要拍攝很多標定板的照片,要求棋盤格或圓點陣列遍布鏡頭視野的各個角落,角度要變化多樣,這樣算法才能充分約束內參數(shù)和畸變項。很多成熟的標定工具至少要幾十張圖片,才能覆蓋整個視場。
特征提取時,標定算法會根據(jù)這些圖像自動識別棋盤格的角點或圓點的中心點,這些特征點在真實世界中的坐標是已知的,通過圖像里這些點的像素坐標和實際三維坐標之間的對應關系,算法可以開始求解攝像頭參數(shù)。
在求解攝像頭模型時,會把提取出來的點對作為輸入,根據(jù)如透視投影模型和鏡頭畸變模型等攝像機成像物理模型,通過數(shù)學優(yōu)化去擬合出一組內參數(shù)、外參數(shù)和畸變系數(shù)。這個過程背后常用的優(yōu)化方法包括最小二乘、非線性優(yōu)化等,有時也會利用如BA算法(bundle adjustment)這樣更復雜的全局優(yōu)化來提高精度。
攝像頭標定完成后,還要用一些獨立的數(shù)據(jù)或者圖像來驗證標定結果,如通過重新投影誤差看預測點和真實圖像點之間的偏差多大。誤差越小,說明標定越準確。通過這種方式可以判斷標定是否達到自動駕駛所需的精度。驗證還還包括檢查多相機系統(tǒng)之間的一致性,如會檢查左右攝像頭的外參數(shù)是否符合實際的安裝結構等。
標定在自動駕駛中有什么具體要求?
在自動駕駛種系統(tǒng)里,標定不能只是簡單“做一次就完了”,而是要貫穿到自動駕駛汽車使用的整個周期。
攝像頭出廠本身就會有如鏡頭組裝位置不精確、鏡頭畸變不一致等一定的制造誤差,裝到車上時車體結構也會帶來偏差。這些都需要通過標定去校正,否則攝像頭的感知數(shù)據(jù)就會帶偏。
車輛行駛過程中還會受到振動、熱脹冷縮、甚至碰撞等因素的影響,這些都會改變攝像頭的外參數(shù)。如果標定結果不能跟上這些變化,感知精度會逐漸變差。尤其對于自動駕駛這種對精度要求高的系統(tǒng)來說,定期檢查和動態(tài)標定是非常必要的。
單個攝像頭雖然能做基本的檢測和跟蹤,但是要實現(xiàn)高精度的三維定位、障礙物檢測和傳感器融合,就必須讓攝像頭與激光雷達、毫米波雷達、IMU等傳感器的數(shù)據(jù)在同一坐標系下統(tǒng)一。這就對外參數(shù)精度提出了更高的要求,這其中就需要聯(lián)合標定或全局優(yōu)化的策略。
當然,自動駕駛汽車上不僅僅會安裝一個相機,因此,不僅要標定每個攝像頭自身的內參數(shù),還要標定多個攝像頭之間的外參數(shù),以及與車體坐標系的關系。這些參數(shù)一旦有小誤差,就會在傳感器融合、深度計算、障礙物定位等環(huán)節(jié)被放大,從而影響整個感知系統(tǒng)的可靠性。
最后的話
攝像頭標定是自動駕駛感知系統(tǒng)里非常基礎但又極其關鍵的一步工作。做好標定,自動駕駛系統(tǒng)才能在真實道路場景里可靠地感知路況、確定物體位置,進而提高安全性和魯棒性。雖然其中涉及的數(shù)學和算法看起來有些復雜,但理解標定的基本思想和流程,對自動駕駛工程師來說是非常重要的基礎技能。
-
攝像頭
+關注
關注
61文章
5107瀏覽量
103396 -
自動駕駛
+關注
關注
794文章
14943瀏覽量
180967
發(fā)布評論請先 登錄
攝像頭可靠性EMC設計優(yōu)化
自動駕駛攝像頭像素如何影響算力?
為什么光照對純視覺自動駕駛影響較大?
高清數(shù)字攝像頭視頻卡頓?黑屏?
自動駕駛汽車如何依靠攝像頭判斷距離?
自動駕駛既然有雙目攝像頭了,為什么還要三目攝像頭?
決定自動駕駛攝像頭質量的因素有哪些?
如何確保自動駕駛汽車感知的準確性?
激光振鏡掃描錫焊技術在車載攝像頭模組中的應用
什么是自動駕駛數(shù)據(jù)標注?如何好做數(shù)據(jù)標注?
自動駕駛汽車是如何準確定位的?
索尼FCB-EV9520L攝像頭:賦能自動駕駛新體驗
一文聊聊自動駕駛攝像頭
自動駕駛攝像頭要如何做標定?
評論