傳感器標定是自動駕駛的基本需求,一個車上裝了多個/多種傳感器,而它們之間的坐標關系是需要確定的。灣區自動駕駛創業公司ZooX的co-founder和CTO是Sebastia Thrun的學生Jesse Levinson,他的博士論文就是傳感器標定。
這個工作可分成兩部分:內參標定和外參標定,內參是決定傳感器內部的映射關系,比如攝像頭的焦距,偏心和像素橫縱比(+畸變系數),而外參是決定傳感器和外部某個坐標系的轉換關系,比如姿態參數(旋轉和平移6自由度)。
攝像頭的標定曾經是計算機視覺中3-D重建的前提,張正友老師著名的的Zhang氏標定法,利用Absolute Conic不變性得到的平面標定算法簡化了控制場。
這里重點是,討論不同傳感器之間的外參標定,特別是激光雷達和攝像頭之間的標定。
另外在自動駕駛研發中,GPS/IMU和攝像頭或者激光雷達的標定,雷達和攝像頭之間的標定也是常見的。不同傳感器之間標定最大的問題是如何衡量最佳,因為獲取的數據類型不一樣:
攝像頭是RGB圖像的像素陣列;
激光雷達是3-D點云距離信息(有可能帶反射值的灰度值);
GPS-IMU給的是車身位置姿態信息;
雷達是2-D反射圖。
這樣的話,實現標定誤差最小化的目標函數會因為不同傳感器配對而不同。
另外,標定方法分targetless和target兩種,前者在自然環境中進行,約束條件少,不需要用專門的target;后者則需要專門的控制場,有ground truth的target,比如典型的棋盤格平面板。
這里僅限于targetless方法的討論,依次給出標定的若干算法。
這是一個被標定方法普遍研究的,一定約束條件下的問題:可以廣義的理解,一個“手”(比如GPS/IMU)和一個“眼”(激光雷達/攝像頭)都固定在一個機器上,那么當機器運動之后,“手”和“眼”發生的姿態變化一定滿足一定的約束關系,這樣求解一個方程就可以得到“手”-“眼”之間的坐標轉換關系,一般是AX=XB形式的方程。手眼系統分兩種:eye in hand和eye to hand,我們這里顯然是前者,即手-眼都在動的情況。手眼標定分兩步法和單步法,后者最有名的論文是“hand eye calibration using dual quaternion'。一般認為,單步法精度高于兩步法,前者估計旋轉之后再估計平移。這里通過東京大學的論文“LiDAR and Camera Calibration using Motion Estimated by Sensor Fusion Odometry”來看看激光雷達和攝像頭的標定算法。顯然它是求解一個手-眼標定的擴展問題-,即2D-3D標定,如圖所示:手眼系統分兩種:eye in hand和eye to hand,我們這里顯然是前者,即手-眼都在動的情況。手眼標定分兩步法和單步法,后者最有名的論文是“hand eye calibration using dual quaternion'。一般認為,單步法精度高于兩步法,前者估計旋轉之后再估計平移。這里通過東京大學的論文“LiDAR and Camera Calibration using Motion Estimated by Sensor Fusion Odometry”來看看激光雷達和攝像頭的標定算法。顯然它是求解一個手-眼標定的擴展問題-,即2D-3D標定,如圖所示:手眼標定的典型解法是兩步法:先求解旋轉矩陣,然后再估計平移向量,公式在下面給出:現在因為scale問題,上述解法不穩定,所以要利用激光雷達的數據做文章,見下圖:3-D點云的點在圖像中被跟蹤,其2D-3D對應關系可以描述為如下公式:得到攝像頭的運動參數之后可以在兩步手眼標定法中得到旋轉和平移6參數,其中平移估計如下:注:這里估計攝像頭運動和估計手眼標定是交替進行的,以改進估計精度。除此之外,作者也發現一些攝像頭運動影響標定精度的策略,看下圖分析:可以總結出:1)攝像頭實際運動a 越小,投影誤差越小;2) ( )越小,投影誤差越小。第一點說明標定時候攝像頭運動要小,第二點說明,標定的周圍環境深度要變化小,比如墻壁。另外還發現,增加攝像頭運動的旋轉角,攝像頭運動估計到手眼標定的誤差傳播會小。這個方法無法在室外自然環境中使用,因為點云投影的圖像點很難確定。有三篇關于如何優化激光雷達-攝像頭標定的論文,不是通過3-D點云和圖像點的匹配誤差來估計標定參數,而是直接計算點云在圖像平面形成的深度圖,其和攝像頭獲取的圖像存在全局匹配的測度。不過這些方法,需要大量迭代,最好的做法是根據手眼標定產生初始值為好。另外,密西根大學是采用了激光雷達反射值,悉尼大學在此基礎上改進,兩個都不如斯坦福大學方法方便,直接用點云和圖像匹配實現標定。斯坦福論文“Automatic Online Calibration of Cameras and Lasers”。斯坦福的方法是在線修正標定的“漂移”,如下圖所示:精確的標定應該使圖中綠色點(深度不連續)和紅色邊緣(通過逆距離變換 IDT,即inverse distance transform)匹配。其中w 是視頻窗大小,f 是幀#,(i, j) 是圖像中的像素位置,而p是點云的3-D點。X表示激光雷達點云數據,D是圖像做過IDT的結果。密西根大學的論文“Automatic Targetless Extrinsic Calibration of a 3D Lidar and Camera by Maximizing Mutual Information”。這里定義了標定的任務就是求解兩個傳感器之間的轉換關系,如圖:求解R,T。定義的Mutual Information (MI) 目標函數是一個熵值:澳大利亞悉尼大學的論文“Automatic Calibration of Lidar and Camera Images using Normalized Mutual Information”。其中定義了一個新測度Gradient Orientation Measure (GOM)如下:點云數據和圖像數據匹配時候需要將點云投影到柱面圖像上,如圖所示:而點云的梯度計算之前需要將點云投影到球面上,公式如下:標定的任務就是求解GOM最大,而文中采用了蒙特卡洛方法,類似particle filter。德國Fraunhofer論文“INS-Camera Calibration without Ground Control Points“。這是IMU定義的East, North, Up (ENU) 坐標系:而實際上IMU-攝像頭標定和激光雷達-攝像頭標定都是類似的,先解決一個手眼標定,然后優化結果。只是IMU沒有反饋信息可用,只有姿態數據,所以就做pose graph optimization。下圖是流程圖:其中攝像頭還是用SFM估計姿態。牛津大學論文“Automatic self-calibration of a full field-of-view 3D n-laser scanner'.本文定義點云的“crispness” 作為質量測度,通過一個熵函數Re?nyi Quadratic Entropy (RQE)最小化作為在線標定激光雷達的優化目標。(注:其中作者還討論了激光雷達的時鐘偏差問題解決方案)“crisp“其實是描述點云分布作為一個GMM(Gaussian Mixture Model)形式下的致密度。根據信息熵的定義,RQE被選擇為測度:西安交大論文“Integrating Millimeter Wave Radar with a Monocular Vision Sensor for On-Road Obstacle Detection Applications”。在講傳感器融合的時候提過這部分工作,這里重點介紹標定部分。標定其實是計算圖像平面和雷達反射面之間的homography矩陣參數,如下圖: