utf8gbsn
基於概率的點雲離群點剔除演算法. 本演算法的原始碼實現在pcl庫中,
請搜尋statistical_outlier_removal.hpp檔案.
假如我們有乙個點雲資料x
=x=\
x=. 其中x
ix_i
xi是n維度空間中的點.那麼問題是, 我們想剔除掉那些遠離資料群落的離群點.
比如, 三維重建中的點雲主要集中在物體表面.
有的離群點是遠離物體表面的我們希望剔除他們.具體怎麼辦呢?
直觀的辦法是,採用概率分布函式來擬合點雲資料.但是這有乙個缺點,
你很難定那種概率分布函式來擬合. 因為現實中的資料千奇百怪,
你無法選擇乙個通用的概率分布模型. 比如你可能想用高斯分布, 來剔除離群點,
但是高斯分布實際上在二維上是乙個橢圓, 在三維上是乙個體密度函式.
但是都是個橢球.所以總體上來看, 你沒有辦法來更好的貼近物體的表面.
你只能剔除掉大部分的離群外點.
這個方法很簡單直觀, 這個方法需要兩個超引數(就是人為靠經驗選擇的引數),
kmean 和 multi, 這兩個引數是用來進行過濾離群點的,
具體怎麼用下面來講.演算法具體步驟:
所以綜上所述的方法來看, 其實pcl的離群點剔除演算法非常的簡單, 這直觀.
但是值得注意的是, did_
di資料的分布, 可能不是乙個高斯分布.
可能是其他的類似gamma的分布. 所以multi的選擇需要自己思考.
也可以由你自己去決定到底採用那種過濾方法.
因為這個過濾的核心思想就是靠概率分布來過濾.
kmean的選擇是影響邊緣點被過濾多少的比較重要的引數.
調節kmean可以影響邊緣點被過濾的多寡.
PCL庫學習(1) 離群點濾波
本篇主講在用vs2012成功配置pcl1.7.2環境後,對table scene點雲進行離群點移除並視覺化顯示。首先參照 pcl點雲庫學習教程 使用statistical outlierremove濾波器移除離群點程式,詳見如下 include include include include int...
PCL點雲索引
點雲索引其實就是將點雲中不同點加上標籤,方便後面的分類提取。有了點雲的索引值可以方便的對點雲進行不同操作 以下舉例說明 1.儲存一點雲中某些特定的點 pcl pointcloudcloud new pcl pointcloud 輸入點雲 pcl io loadpcdfile pcd cloud pc...
pcl點雲處理
一 如何實現類似pcl pointcloud ptr和pcl pointcloud的兩個類相互轉換?include include include pcl pointcloud ptr cloudpointer new pcl pointcloud pcl pointcloudcloud cloud...