百度Apollo 二 障礙物感知模組

2021-08-14 18:05:59 字數 1870 閱讀 6318

apollo感知模組具有識別障礙物和交通燈的能力。

其中,apollo解決的障礙物感知問題:

1. 高精地圖roi過濾器(hdmap roi filter)

2. 基於卷積神經網路分割(cnn segmentation)

3. minbox 障礙物邊框構建(minbox builder)

4. hm物件跟蹤(hm object tracker)

其原始碼在:apollo\modules\perception\obstacle\lidar

高精地圖 roi 過濾器處理在roi(包含路面、路口的可駕駛區域)之外的雷射雷達點,去除背景物件,如路邊建築物和樹木等,剩餘的點雲留待後續處理。

主要有以下步驟

1. 座標轉換:使世界座標系和點雲座標系處於同一相同座標系下。

2. roi lut構造:採用lut(網格顯示查詢表),將roi量化為俯檢視2d網格(8*8的網格,每個網格為70 / 8 = 8.75公尺,對應於量化後的網格每個網格為25 / 8 = 3.128厘公尺)。

3. roi lut點查詢:查詢roi內的點。

經過高精地圖 roi 過濾器後,檢測和劃分前景障礙物,例如汽車,卡車,自行車和行人。

主要有以下步驟

1. 通道特徵提取:在俯檢視2d網格中計算每個單元格的8個統計測量(這裡面用到了點雲的反射率,也就是單元格的強度),這8個統計測量則為cnn的輸入通道特徵。

2. 基於cnn的障礙物**:使用全卷積神經網路來**單元格障礙物的屬性(center offset(中心偏移)、objectness(物件性,是否有物體)、positiveness(積極性,是否為正目標)、object height(物體高度)、class probability(物體的類別))。

3. 障礙物聚類:使用cnn**得到的單元格障礙物屬性(objectness屬性閾值為0.5)生成候選物件集群。

4. 後期處理:apollo首先對所涉及的單元格的積極性和物體高度值,平均計算每個候選群體的檢測置信度分數(預設閾值為0.1)和物體高度。 然後,apollo去除相對於**物體高度太高的點(預設為0.5公尺),並收集每個候選集中的有效單元格的點。 最後,apollo刪除具有非常低的可信度分數或小點數(小於3個點)的候選聚類,以輸出最終的障礙物集/分段。

使用cnn學習的方法得到的障礙物是由乙個個網格組合而成,在這裡使用minbox的方法得到物體的最終邊界框。具體方法是任意選擇一條邊,將其他多邊形上的點投影到這條邊上,建立具有最大距離的交點對,其具有最大距離的點的集合則為邊框的邊緣,然後通過迭代所有邊,選擇最小面積的方案得到最終的邊界框。

結論:apollo通過用點雲進行學習得到物體俯檢視邊界框,結合相機影象進行學習得到的物體邊界框,則可得到物體3d的邊界框。

hm物件***跟蹤分段檢測到的障礙物。通常,它通過將當前檢測與現有跟蹤列表相關聯,來形成和更新跟蹤列表,如不再存在,則刪除舊的跟蹤列表,並在識別出新的檢測時生成新的跟蹤列表。 更新後的跟蹤列表的運動狀態將在關聯後進行估計。 在hm物件***中,匈牙利演算法(hungarian algorithm)用於檢測到跟蹤關聯,並採用魯棒卡爾曼濾波器(robust kalman filter) 進行運動估計。

特別說明:本文為本人學習所做筆記。

具體參考:

百度Apollo計畫跟蹤 文章彙總

github 1.關於apollo的資料 apollo的資料會如何開放?3.apollo迭代公升級史 4.apollo多感測器融合定位模組 多感測器融合定位 定位技術橫跨好幾個專業,包括測繪 導航 計算機視覺知識 以及點雲處理的知識。apollo2.0的多感測器融合定位模組的框架如下圖所示 git ...

ubuntu16 04安裝百度apollo 5 0

git clone官網推薦先建立docker倉庫,並從中安裝docker。更新apt包索引 sudo apt get update 安裝軟體包以允許apt通過https使用儲存庫 新增docker的官方gpg金鑰 curl fssl sudo apt key add 通過搜尋金鑰的最後8個字元,驗證...

百度Apollo學習筆記(1) 定位技術

1.無人車的定位是什麼 無人車的定位就是確定無人車相當於乙個座標系的位姿。2.定位系統指標要求 專案指標 理想值精度 誤差均值 10cm 魯棒性最大誤差 30cm 場景覆蓋場景 全天候3.無人車定位方法 4.定位常用座標系 4.1 地心慣性座標系 eci 4.2 地心地固座標系 ecef 地心地固座...