姓名:張志文 學(xué)號(hào):19021210649
【嵌牛觀察】
目前點(diǎn)云處理的算法十分的多霍衫,不同的濾波算法有著不同的應(yīng)用方向
【嵌牛鼻子】
點(diǎn)云霍狰;濾波
【嵌牛提問】
常見的點(diǎn)云濾波算法有哪些锯厢?
【嵌牛正文】
常見點(diǎn)云濾波
點(diǎn)云濾波作為常見的點(diǎn)云處理算法娇未,一般是點(diǎn)云處理的第一步,對后續(xù)處理有很重要作用蚓胸。濾波有很多方面也有很多種功能厕九,比如去除噪聲點(diǎn)蓖捶、離群點(diǎn)、點(diǎn)云平滑以及空洞扁远、數(shù)據(jù)壓縮等俊鱼。下面我們來列舉一下,我們在開源項(xiàng)目中可以找到的濾波算法:
- 直通濾波器
- 體素濾波器
- 統(tǒng)計(jì)濾波器
- 條件濾波
- 半徑濾波器
- 雙邊濾波
- 高斯濾波
- 均勻采樣濾波
- 移動(dòng)最小二乘法光滑濾波
- 基于權(quán)重局部優(yōu)化投影 (WLOP) 簡化算法
- DoN算法
- 以及各種通過規(guī)則進(jìn)行點(diǎn)調(diào)整或者刪除的都可以成為濾波算法
下面對上面列舉出來的一部分進(jìn)行解釋畅买。
濾波算法原理
-
直通濾波器
直通濾波器就是根據(jù)點(diǎn)云的屬性(屬性比如x并闲,y,z谷羞,顏色值等)帝火,在點(diǎn)的屬性上設(shè)置范圍,對點(diǎn)進(jìn)行濾波湃缎,保留范圍內(nèi)的或保留范圍外的犀填。
舉例:在一個(gè)rgbd數(shù)據(jù)中,只想保留深度值小于5米的數(shù)據(jù)嗓违,就可以通過直通濾波器來保留z屬性小于5米的點(diǎn)云九巡。
開源代碼庫:PCL
-
體素濾波器
體素的概念類似于像素,使用AABB包圍盒將點(diǎn)云數(shù)據(jù)體素化靠瞎,根據(jù)體素中的點(diǎn),計(jì)算出代表這個(gè)體素的點(diǎn)求妹,達(dá)到下采樣的目的乏盐。體素濾波器可以達(dá)到向下采樣同時(shí)不破壞點(diǎn)云本身幾何結(jié)構(gòu)的功能,但是會(huì)移動(dòng)點(diǎn)的位置制恍。此外體素濾波器可以去除一定程度的噪音點(diǎn)及離群點(diǎn)父能。主要功能是用來進(jìn)行降采樣。
特點(diǎn):可以將點(diǎn)云降采樣至同一間距净神,初始密度影響不大何吝,主要根據(jù)設(shè)置體素的大小溉委。
開源代碼庫:PCL
-
均勻采樣濾波
均勻采樣濾波基本上等同于體素濾波器,但是其不改變點(diǎn)的位置爱榕。下采樣后瓣喊,其點(diǎn)云分布基本均勻,但是其點(diǎn)云的準(zhǔn)確度要好于體素濾波黔酥,因?yàn)闆]有移動(dòng)點(diǎn)的位置藻三。
開源代碼庫:PCL
-
統(tǒng)計(jì)濾波器
統(tǒng)計(jì)濾波器用于去除明顯離群點(diǎn)。離群點(diǎn)特征是在空間中分布稀疏跪者】妹保考慮到離群點(diǎn)的特征,則可以定義某處點(diǎn)云小于某個(gè)密度渣玲,既點(diǎn)云無效逗概。計(jì)算每個(gè)點(diǎn)到其最近的k個(gè)點(diǎn)平均距離。則點(diǎn)云中所有點(diǎn)的距離應(yīng)構(gòu)成高斯分布忘衍。根據(jù)給定均值與方差逾苫,可剔除方差之外的點(diǎn)。即使方差之外的點(diǎn)是正確點(diǎn)淑履,但是其太稀疏隶垮,帶來的信息也是很少的。
特點(diǎn):主要是根據(jù)密度去除離群點(diǎn)秘噪,對密度差異較大的離群點(diǎn)去除效果較好狸吞。
開源代碼庫:PCL
-
條件濾波
條件濾波器通過設(shè)定濾波條件進(jìn)行濾波,有點(diǎn)分段函數(shù)的味道指煎,當(dāng)點(diǎn)云在一定范圍則留下蹋偏,不在則舍棄。直通濾波器是一種較簡單的條件濾波器至壤。條件濾波器更像是一個(gè)不帶有濾波核的工具威始。
開源代碼庫:PCL
-
半徑濾波器
半徑濾波器與統(tǒng)計(jì)濾波器相比更加簡單粗暴。以某點(diǎn)為中心畫一個(gè)圓計(jì)算落在該圓中點(diǎn)的數(shù)量像街,當(dāng)數(shù)量大于給定值時(shí)黎棠,則保留該點(diǎn)肥橙,數(shù)量小于給定值則剔除該點(diǎn)灭红。此算法運(yùn)行速度快,依序迭代留下的點(diǎn)一定是最密集的义桂,但是圓的半徑和圓內(nèi)點(diǎn)的數(shù)目都需要人工指定畴栖。
主要還是用于去除離群點(diǎn)随静,在一定程度上可以用來篩選邊緣點(diǎn)。
開源代碼庫:PCL
-
高斯濾波
高斯濾波是一種非線性濾波器,采用加權(quán)平均的方式燎猛。在指定域內(nèi)的權(quán)重是根據(jù)歐式距離的高斯分布恋捆,通過權(quán)重加權(quán)平均的方式得到當(dāng)前點(diǎn)的濾波后的點(diǎn)。
特點(diǎn):高斯濾波平滑效果較好但是邊緣角點(diǎn)也會(huì)被較大的平滑重绷。
開源代碼庫:PCL
pcl::PointCloud<pcl::PointXYZRGB>::Ptr inputCloud,cloud;
pcl::filters::Convolution<pcl::PointXYZRGB, pcl::PointXYZRGB> convolution;
Eigen::ArrayXf gaussian_kernel(5);
gaussian_kernel << 1.f/16, 1.f/4, 3.f/8, 1.f/4, 1.f/16;
convolution.setBordersPolicy(
pcl::filters::Convolution<pcl::PointXYZRGB, pcl::PointXYZRGB>::BORDERS_POLICY_IGNORE);
convolution.setDistanceThreshold (static_cast<float> (0.1));
convolution.setInputCloud (inputCloud);
convolution.setKernel (gaussian_kernel);
convolution.convolve(*cloud);
-
雙邊濾波
雙邊濾波是一種非線性濾波器沸停,它可以達(dá)到保持邊緣、降噪平滑的效果论寨。一定程度上擬補(bǔ)了高斯濾波的缺點(diǎn)星立。雙邊濾波對高斯噪聲效果比較好。
雙邊濾波從單純的考慮空間域點(diǎn)的位置的高斯濾波上葬凳,又加上一個(gè)維度上的權(quán)重绰垂。在點(diǎn)云處理上,可以叫做為特征域火焰,即當(dāng)前點(diǎn)的法向量與臨近點(diǎn)的法向量劲装。通過改變兩個(gè)域上的高斯濾波的方差來平衡平滑效果以及保持邊緣的效果。具體的公式也需要一篇文章來解釋昌简。
開源代碼庫:CGAL占业,PCL(兩個(gè)實(shí)現(xiàn)的方式不同,CGAL的效果更好)
-
移動(dòng)最小二乘法光滑濾波
移動(dòng)最小二乘法光滑濾波思路很簡單纯赎,就是根據(jù)點(diǎn)云谦疾,找到一個(gè)函數(shù),這個(gè)函數(shù)有一系列的局部的函數(shù)組成(這個(gè)工作是通過移動(dòng)最小二乘法完成的犬金,可能需要一篇文章來解釋移動(dòng)最小二乘法)念恍,這個(gè)函數(shù)的特性是光滑的,然后將點(diǎn)投影到函數(shù)上晚顷,就完成了平滑的目的峰伙。
開源代碼庫:PCL、VCGLIB该默、CGAL
-
基于權(quán)重局部優(yōu)化投影 (WLOP) 簡化算法
wlop是一種點(diǎn)云增強(qiáng)方法瞳氓,可以消除噪聲、刪除外點(diǎn)并得到均勻的采樣密度栓袖。這個(gè)原理比較復(fù)雜匣摘,暫時(shí)還沒看懂其實(shí)現(xiàn)流程。先看一張效果圖:
開源代碼庫:CGAL
-
DoN算法
DoN(Difference of Normal)裹刮,利用了多尺度空間的思想音榜,算法的目的是在去除點(diǎn)云低頻濾波(或者保留高頻信息),低頻信息(例如建筑物墻面必指,地面)往往會(huì)對分割產(chǎn)生干擾囊咏,高頻信息(例如建筑物窗框恕洲,路面障礙錐)往往尺度上很小塔橡,直接采用基于臨近信息的濾波器會(huì)將此類信息合并至墻面或路面中梅割。算法如下:
- 在小尺度上計(jì)算點(diǎn)云法線1
- 在大尺度上計(jì)算點(diǎn)云法線2
- 法線1-法線2
- 濾去3中值較小的點(diǎn)(低頻信息,較平坦的部分葛家,如墻面地面等)
- 歐式分割(將高頻信息分開)
此算法的目的可以較好的分開高頻信息和低頻信息户辞。
開源代碼庫:PCL(沒有直接實(shí)現(xiàn),很容易實(shí)現(xiàn))
總結(jié)
所謂濾波器癞谒,其實(shí)主要通過局部計(jì)算的方式底燎,獲得一個(gè)響應(yīng)值,然后根據(jù)響應(yīng)值調(diào)整點(diǎn)云弹砚,比如位置調(diào)整双仍,保留或刪除某點(diǎn)。跟圖像上的濾波器思想還是一樣的桌吃,只不過在點(diǎn)云里面朱沃,存在無序點(diǎn)云罷了。
當(dāng)沒有一個(gè)濾波器能完整達(dá)到要求時(shí)茅诱,我們通過組裝多個(gè)濾波器達(dá)到更復(fù)雜的功能逗物。偏向應(yīng)用的算法工程師可能完成一個(gè)需求要疊加很多個(gè)濾波器,其實(shí)CNN不也是一堆濾波器的組裝嘛瑟俭。
本文內(nèi)容為轉(zhuǎn)載翎卓,版權(quán)歸作者所有