閱讀 | 訂閱
閱讀 | 訂閱
今日要聞

視覺激光雷達信息融合與聯合標定技術解析

fun88网页下载 來源:智駕最前沿2023-04-06 我要評論(0 )   

最近在為(wei) 車輛添加障礙物檢測模塊,障礙物檢測可以使用激光雷達進行物體(ti) 聚類,但是我們(men) 使用的是16線的velodyne,線數還是有些稀疏,對於(yu) 較遠的物體(ti) 過於(yu) 稀疏的線數聚類效...

最近在為(wei) 車輛添加障礙物檢測模塊,障礙物檢測可以使用激光雷達進行物體(ti) 聚類,但是我們(men) 使用的是16線的velodyne,線數還是有些稀疏,對於(yu) 較遠的物體(ti) 過於(yu) 稀疏的線數聚類效果並不好,因此考慮使用視覺進行目標檢測,然後投影到3D點雲(yun) 裏麵,獲取障礙物位置,同時視覺還可以給出障礙物類別信息。

使用視覺進行目標檢測,將檢測結果2D bounding box坐標信息投影到點雲(yun) 裏麵獲得3D bounding boxx坐標,這裏麵需要將攝像頭和激光雷達進行聯合標定,即獲取二者坐標係的空間轉換關(guan) 係。

相關(guan) 代碼已經同步到我的github-smartcar:https://github.com/sunmiaozju/smartcar

標定部分在detection/calibration文件夾, 信息融合部分在detection/camera_point_fusion

聯合標定轉換關(guan) 係

聯合標定的作用就是建立點雲(yun) 的point和圖像pixel之間的對應關(guan) 係,

需要獲取相機與(yu) 激光雷達外參,將點雲(yun) 3維坐標係下的點投影到相機3維坐標係下。

還需要通過相機標定獲得相機內(nei) 參,這個(ge) 是把相機3維坐標係下的點投影到成像平麵。具體(ti) 如下所示:

上圖顯示的就是聯合標定得到的4×4轉換矩陣的作用,將我們(men) 的3D點雲(yun) 轉換到相機坐標係下麵

這幅圖顯示了相機坐標係和成像坐標係的關(guan) 係,相機標定會(hui) 得到相機內(nei) 參矩陣和畸變係數,畸變係數可以消除相機凸透鏡的畸變效應,相機內(nei) 參的信息就可以想相機坐標下的3維點投影到2維的像素平麵。相機標定的具體(ti) 原理可以參考:https://zhuanlan.zhihu.com/p/24651968

相機標定

需要一個(ge) 標定板,要硬質板或者泡沫的標定板,因為(wei) 標定板的平麵要保證是平的。標定板的文件可以到opencv官網下載。

首先做相機標定,相機標定模塊在detection/calibration/camera_calibration

編譯

這裏我們(men) 先不編譯ndt_mapping;static_map;ndt_localization這三個(ge) 軟件包

如果出錯,可以先編譯消息文件,再編譯全部文件:

然後要修改detection/calibration/camera_calibration/nodes文件夾下麵python文件的可執行權限:

啟動攝像頭驅動節點

這裏注意你自己的攝像頭video_id,使用如下命令查看

然後根據需要修改your_path/driver/cv_camera/launch/cv_camera_driver.launch裏麵的

新開一個(ge) 終端,執行

然後就可以進行標定了,彈出的界麵如下所示:

需要做的就是移動標定版,讓右上角的四個(ge) 條都變綠(我這裏綠的是已經調好了,未調整是偏黃色)

x代表左右移動,y代表上下移動,size代表遠近移動,skew代表傾(qing) 斜側(ce) 角,可以上下傾(qing) ,也可以左右傾(qing) 。

隻有四個(ge) 尺度的信息都滿足要求之後,右側(ce) 的calibration圖標才會(hui) 顯示出來,這時候代表可以計算標定結果了,點擊calibration,然後save,標定結果會(hui) 保存在home文件夾下麵。

聯合標定

聯合標定使用的是autoware的CalibrationTookit模塊,代碼在detection/calibration/calibration_camera_lidar文件夾下麵

編譯好代碼之後,首先要啟動攝像頭和激光雷達的驅動節點

新終端

然後驅動聯合標定節點

啟動之後可以看到UI界麵,具體(ti) 操作指南,可以參考文檔:detection/calibration/calibration_camera_lidar/CalibrationToolkit_Manual.pdf 的2.3節

也可以參考鏈接:https://blog.csdn.net/AdamShan/article/details/81670732#commentBox

如何使用這個(ge) 模塊上麵的鏈接已經說的很明白,這裏簡單說一下:

·首先左上角load之前標定的相機內(nei) 參文件,導入相機內(nei) 參

·在捕獲單幀的點雲(yun) 上麵,選取圖片中對應標定板的位置,選取的是圓圈內(nei) 的所有點,所包含的信息不僅(jin) 僅(jin) 隻有點,還有平麵法相量,標定的時候一定要確保法相量與(yu) 平麵是垂直的,因為(wei) 開始我沒有注意這個(ge) ,結果後麵驗證的時候投影點在圖片上顯示不出,根本沒有投影在圖像範圍內(nei) 。

標定好之後,在右上角有一個(ge) project,可以查看標定的效果,一般來將,可以看到如下效果:

左下角圖片上的紅線就是右下角點雲(yun) 紅線投影到圖片上的位置,下麵這幅圖片換一個(ge) 角度,點同樣投影上去,而且相對位置在點雲(yun) 和圖片裏麵基本一致:

這樣的效果基本就是可以了,點擊save,會(hui) 將輸出的外參文件保存在home文件夾下麵。

視覺與(yu) 點雲(yun) 信息融合

有了聯合標定的外參文件,我們(men) 就可以進行信息融合了。

信息融合主要有兩(liang) 個(ge) 模塊:點雲(yun) 到圖像 、 圖像到點雲(yun)

5.1 image2points

這部分代碼在your_path/deteection/camera_point_fusion/packages/joint_pixel_pointcloud這個(ge) pkg下麵

這部分代碼實現的功能是建立將velodyne-16的點雲(yun) 投影到640×480的圖像上麵,如果點雲(yun) 投影的二維點在圖像640×480範圍內(nei) ,那麽(me) 就把這個(ge) 三維激光雷達點的位置記下來,同時匹配圖像上對應像素的顏色,變成pcl::XYZRGB點返回,並顯示出來。

除此之外,這個(ge) 模塊還可以訂閱目標檢測信息,攝像頭獲取圖像,經過目標檢測模塊之後,得到2維bounding box坐標,利用點雲(yun) 和圖像像素的對應關(guan) 係,得到3維bounding box信息,並在RVIZ中顯示出來。

編譯好代碼之後,運行:

同樣,需要先運行攝像頭驅動節點和velodyne驅動節點,還有目標檢測節點,不過目標檢測模塊因為(wei) 某些原因不能公開到github,你可以使用自己的目標檢測模塊,作為(wei) ROS節點添加到工作空間即可。

代碼運行效果如下所示:

這個(ge) 就是圖像像素所對應的點雲(yun) ,可以看到點雲(yun) 已經被加上了黑白的顏色,點雲(yun) 周邊有一些比較淡的顏色,下麵這幅圖加深了顏色,同時顯示出圖像對應的點雲(yun) 在整個(ge) 點雲(yun) 幀的位置:

下麵是目標檢測的效果:

可以看到,圖像上檢測出來的物體(ti) ,基本都在3D場景下對應出來了,其中,不同的顏色代表不同的物體(ti) 類別。

不過,因為(wei) 這個(ge) 目標檢測模型是針對於(yu) 自動駕駛場景的,分類對象都是car,pedestrian,info signs等,而因為(wei) 實驗條件的原因我還沒有來得及拿出去測試代碼效果,就先在房間測試了一下,所以可以看到目標檢測的框是有些沒意義(yi) 的東(dong) 西,不過不影響驗證信息融合效果。

這個(ge) 節點可以便於(yu) 我們(men) 進行障礙物檢測,因為(wei) 視覺信息進行障礙物檢測是要優(you) 於(yu) 低線數激光雷達聚類的,但是視覺信息識別物體(ti) 雖然準,卻沒有距離信息,激光雷達可以提供距離信息,因此,視覺和激光雷達二者結合,就可以獲得障礙物的距離、類別以及位置了

5.2 points2image

這個(ge) 是把點雲(yun) 投影到圖像上,具體(ti) 運行基本同理我就不說了。

代碼的具體(ti) 效果如下所示:

可以看到,點雲(yun) 基本是和圖像是匹配的。

這個(ge) 節點的作用是可以幫助我們(men) 進行紅綠燈識別或者其他info_sign識別。因為(wei) 進行紅綠燈檢測最好是可以獲取紅綠燈在圖像上的位置,即ROI,然後再進行識別會(hui) 容易很多。我們(men) 可以在事先建立好的場景語義(yi) 地圖中,加入紅綠燈的位置,這樣車輛到達該位置的時候就可以立刻找到紅綠燈在圖像上的ROI,這樣會(hui) 優(you) 化info sign的檢測。具體(ti) 如下所示:

總結

本文主要介紹了關(guan) 於(yu) 視覺和激光雷達進行信息融合相關(guan) 內(nei) 容,包括相機標定,攝像頭與(yu) 激光雷達聯合標定,信息融合節點等等

利用激光雷達和視覺信息融合,我們(men) 可以結合二者的優(you) 點優(you) 化障礙物檢測或交通標誌的識別,以及優(you) 化其他相關(guan) 任務等等。


轉載請注明出處。

免責聲明

① 凡本網未注明其他出處的作品,版權均屬於(yu) fun88网页下载,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權範圍內(nei) 使 用,並注明"來源:fun88网页下载”。違反上述聲明者,本網將追究其相關(guan) 責任。
② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體(ti) ,轉載目的在於(yu) 傳(chuan) 遞更多信息,並不代表本媒讚同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯係我們(men) 刪除。
③ 任何單位或個(ge) 人認為(wei) 本網內(nei) 容可能涉嫌侵犯其合法權益,請及時向本網提出書(shu) 麵權利通知,並提供身份證明、權屬證明、具體(ti) 鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件後,將會(hui) 依法盡快移除相關(guan) 涉嫌侵權的內(nei) 容。

網友點評
0相關評論
精彩導讀