圖像層面:2D圖像分割反投影到3D點云濾除
基于分割
- 原理:通過2D語義分割(如DeepLab、Mask R-CNN)識別動態物體(車輛、行人),將分割結果反投影至3D點云中濾除。
- 優化方向:
- 結合時序一致性(如連續幀分割結果融合)減少單幀誤分割。
- 多模態融合:聯合RGB與深度信息提升分割精度(如RGB-D分割網絡)。
- 挑戰:靜態物體誤標(如停靠車輛)、分割模型泛化性不足。
基于光流跟蹤
- 原理:通過相鄰幀光流場(如RAFT、FlowNet)檢測運動物體,反投影動態點云。
- 優化方向:
- 動態-靜態光流分離:利用運動一致性約束區分背景光流與動態物體光流。
- 挑戰:
- 物體靜止時失效(光流接近零)。
- 相機運動與物體運動耦合時誤判(需Ego-motion補償)。
點云層面
1. 幾何分析方法
- 代表方法:
- RANSAC平面擬合:移除非地面點(適用于地面移動機器人)。
- 曲率聚類:高曲率區域常為動態物體邊緣(如LeGO-LOAM)。
- 局限:依賴場景幾何規則性,復雜非結構化場景魯棒性差。
2. 基于單幀-全局對比的方法
”這類方法的基本假設是:如果一個激光點的光路穿過了另一個激光點,那么另一個激光點就是動態點。這個假設邏輯上完全說得通,但實現起來有兩個問題:其一,入射角接近90度時的誤殺問題,如下圖所示,紅色箭頭指向的舊點因為與新點(五角星)光路很接近,會被誤殺掉,考慮到一幀激光點云本身的角度誤差、測距誤差、光斑影響等,這種誤殺會更嚴重。其二,遮擋問題,比如對于一些大型動態物體,它們完全擋住了激光雷達的視線,激光雷達沒有機會看到這些動態物體后方的靜態物體,意味著這些動態點永遠不會被新的激光點穿過,此時就絕無可能把這些動態點濾除掉了”
“誤殺問題”和“靜態點不可見”的問題。其一,誤殺問題包括但不限于點云自干擾、平行點差異導致的假陽性、遮擋點誤判、接觸點假陽性等一系列由于雷達點云的物理特性引發的誤殺問題。其二,靜態點不可見的問題相較于誤殺問題會少見一些,但更加難以解決,例如當存在動態障礙物一直遮擋了部分或者全部的激光雷達的視線,則雷達沒有機會看到這些動態障礙物后方的靜態物體信息以至于動態障礙物點云永遠不會被識別和濾除掉。
基于可見性(Ray-Casting)
- 問題深化:
- 誤殺問題:入射角接近90°時,點云噪聲導致光線路徑誤差(解決方案:加入角度閾值約束,如剔除入射角>80°的射線)。
- 靜態點不可見:動態物體長期遮擋導致漏檢(解決方案:引入概率觀測模型,長期未更新的柵格標記為"可能動態")。
- 優化方法:
- 多幀射線聚合(如SUMA++):統計多幀光線穿透情況,降低單幀噪聲影響。
- 自適應閾值:根據點云密度動態調整射線判定容差。
基于柵格濾除(Voxel-based)
結合柵格地圖(例如概率占據柵格、八叉樹柵格,etc),識別與區分靜態和動態點的基本原理:激光點云所落在的柵格處hits計數+1或者占據概率上升,激光光束穿過的所有柵格misses計數+1或者空閑概率上升,通過統計同一柵格中hits和misses數量差值或者占據概率,以判斷柵格中包含的點云是否需要濾除。
- 代表作:
- DUFOMap:使用概率占據柵格,通過貝葉斯更新
Hit/Miss
概率。 - OctoMap:八叉樹結構高效管理大規模場景。
- DUFOMap:使用概率占據柵格,通過貝葉斯更新
- 優化方向:
- 運動概率傳播:將動態點概率傳遞至相鄰柵格(如DynSLAM)。
- 多分辨率柵格:近處高精度、遠處低精度,平衡效率與效果。
基于扇形柵格高度比對
代表作 ERASORS
-
算法流程:首先,通過常規的激光SLAM手段獲得了原始點云地圖后,回放數據以query scan的位姿為中心從地圖中截取對應的submap,再將兩者按照圓柱坐標系的方式劃分成一個個 bin;隨后,為兩者的每一個 bin 計算占據狀態描述子(點云高度差);接下來,找出 submap 中那些描述子之比<0.2 的 bin,作為潛在的動態 bin,也就是 query scan 中bin 的高度差遠小于submap中 bin 的高度差;最后,在每一個潛在動態 bin 中用主成分分析法擬合地平面,將地平面以上的點作為動態點濾除;
-
流程優化:
- 高度描述子改進:引入高度分布直方圖替代單一高度差,避免地形起伏誤判。
- 動態點判定:聯合高度差與點云密度(如ΔH<0.2Hmap\Delta H < 0.2H_{\text{map}}ΔH<0.2Hmap?且密度比<0.5<0.5<0.5)。
-
局限:高架橋、斜坡地形易誤殺靜態點。
基于深度圖比對
代表作 Revert
- 算法流程:單幀點云和原始點云地圖都根據傳感器位姿投影為深度圖,通過比對對應深度圖像素的差異來濾除動態點
- 優化策略:
- 畸變補償:在深度圖生成前進行點云運動畸變校正(如IMU輔助去畸變)。
- 邊緣保護:使用雙邊濾波平滑深度圖,保留物體邊緣。
弊端
- 對SLAM位姿精度敏感,一點偏差都會造成投影誤差,進而造成誤殺和漏殺,這一點尤其容易發生在物體的邊緣處和細長物體(如路燈桿)上。
- 對點云畸變敏感。同樣的道理,運動畸變造成一個點落在了它本不屬于的位置上,引入誤差
- 容易誤殺地面點 當入射光線貼近地面時,部分地面點(紅色箭頭所指的點云)因為靠近五角星點的光路,會被認為遮擋了query scan中的點,從而被誤殺!這種現象在大入射角時尤其明顯。
3. 基于點云分割的方法
基于分割的方法中當前比較主流的是基于深度學習的語義分割方法,通過前期的點云特征訓練,在使用過程中直接標注出點云中的動態障礙物信息部分,在定位和建圖算法中根據點云中的標注直接過濾即可,雖然濾除的內容僅限于前期訓練得到的模型且容易有假陽性和假陰性的問題,但其方法勝在簡單高效。另一類傳統的點云分割的方法則基于聚類的模式,如快速點特征直方圖 ( fast point feature histograms, FPFH )、基于確定視角下的特征分布直方圖VFH(viewpoint feature histogram),用以在靜態聚類中區分出動態聚類,此類方法能夠改善計算成本提高實時性從而得到廣泛研究,再者就是基于區域(逆)生長以分割混雜著動態和靜態點云的目標,識別出動態點云目標以便于后期濾除等。
深度學習語義分割
- 代表網絡:
- RangeNet++(Range圖像分割):實時性強,適合車載平臺。
- Cylinder3D(圓柱體分割):解決點云稀疏性問題。
- 動態物體擴展:
- 時序分割:如4D-SPNet融合多幀點云時序特征。
- 弱監督學習:減少標注依賴(如Self-supervised動態點檢測)。
傳統聚類分割
- 特征優化:
- FPFH+VFH融合:結合局部與視角不變特征,提升聚類魯棒性。
- 圖神經網絡分割:構建點云圖結構,利用鄰域關系優化聚類(如Point-GNN)。
- 動態目標提取:
- 區域生長+運動一致性:從靜態背景中分離運動聚類(如DetectDyn)。
核心挑戰與解決趨勢
挑戰 | 原因 | 解決思路 |
---|---|---|
SLAM位姿敏感 | 一點偏差都會造成投影誤差,進而造成誤殺和漏殺,這一點尤其容易發生在物體的邊緣處和細長物體(如路燈桿)上。 | 緊耦合優化:動態濾除與位姿估計聯合迭代(如LIO-SAM的動態點濾波模塊) |
運動畸變影響 | 同樣的道理,運動畸變造成一個點落在了它本不屬于的位置上,引入誤差 | 在線畸變校正:IMU/輪速計輔助運動補償 |
地面點誤殺 | 當入射光線貼近地面時,部分地面點因為靠近光路,會被認為遮擋了query scan中的點,從而被誤殺!這種現象在大入射角時尤其明顯。 | 地面優先分割:先提取地面再處理非地面點(如Patchwork++地面分割) |
靜態點不可見 | 長期地圖管理:設置柵格"遺忘機制",超時未觀測區域重置為未知 | |
復雜動態場景 | 多方法融合:語義分割+幾何分析+時序跟蹤(如Panoptic-SLAM) |
未來研究方向
- 端到端動態濾除:訓練網絡直接從點云/圖像輸出動態概率(如MotionNet)。
- 事件相機輔助:利用事件相機高動態特性檢測運動物體。
- 仿真-現實遷移:在CARLA等仿真平臺生成標注數據,解決真實場景標注匱乏問題。