點雲填充演算法
㈠ 標題 點雲數據三種採集方法的優缺點
格點采樣、均勻采樣、幾何采樣。
1.格點采樣:優點:效率非常高。采樣點分布比較均勻,但是均勻性沒有均價采樣高,可以通過格點的尺寸控制點間距。缺點:不能精確控制采樣點個數。
2.均勻采樣:優點:采樣點分布均勻。缺點:演算法時間復雜度有些高,因為每次采樣一個點,都要計算集合到集合之間的距離。
3.幾何采樣:優點:計算效率高,采樣點局部分布是均勻的,穩定性高:通過幾何特徵區域的劃分,使得采樣結果抗噪性更強。
點雲數據(point cloud data)是指在一個三維坐標系統中的一組向量的集合。掃描資料以點的形式記錄,每一個點包含有三維坐標,有些可能含有顏色信息(RGB)或反射強度信息。
㈡ 點雲濾波相關
復制於:https://zhuanlan.hu.com/p/102748557
介紹
主要方法
直通濾波(PassThrough 濾波)
VoxelGrid濾波器對點雲進行下采樣
均勻采樣
增采樣
statisticalOutlierRemoval濾波器移除離群點
使用參數化模型投影點雲
ConditionalRemoval
RadiusOutlinerRemoval 移除離群點
從一個點雲中提取索引 根據點雲索引提取對應的點雲
介紹
點雲濾波,顧名思義,就是濾掉雜訊。原始採集的點雲數據往往包含大量散列點、孤立點,在獲取點雲數據時 ,由於設備精度,操作者經驗環境因素帶來的影響,以及電磁波的衍射性,被測物體表面性質變化和數據拼接配准操作過程的影響,點雲數據中講不可避免的出現一些雜訊。在點雲處理流程中濾波處理作為預處理的第一步,對後續的影響比較大,只有在濾波預處理中將雜訊點 ,離群點,孔洞,數據壓縮等按照後續處理定製,才能夠更好的進行配准,特徵提取,曲面重建,可視化等後續應用處理。其類似於信號處理中的濾波,
點雲濾波方法主要有:
1. 直通濾波器pcl::PassThrough<pcl::PointXYZ> pass
2. 體素格濾波器pcl::VoxelGrid<pcl::PCLPointCloud2> sor;
3. 統計濾波器 pcl::StatisticalOutlierRemoval<pcl::PointXYZ> sor;
4. 半徑濾波器 pcl::RadiusOutlierRemoval<pcl::PointXYZ> outrem;
5. 雙邊濾波 pcl::BilateralFilter<pcl::PointXYZ> bf;
該類的實現利用的並非XYZ欄位的數據進行,而是利用強度數據進行雙邊濾波演算法的實現,所以在使用該類時點雲的類型必須有強度欄位,否則無法進行雙邊濾波處理,雙邊濾波演算法是通過取臨近采樣點和加權平均來修正當前采樣點的位置,從而達到濾波效果,同時也會有選擇剔除與當前采樣點「差異」太大的相鄰采樣點,從而保持原特徵的目的 。
6. 高斯濾波 pcl::filters::GaussianKernel< PointInT, PointOutT >
是基於高斯核的卷積濾波實現 高斯濾波相當於一個具有平滑性能的低通濾波器
7. 立方體濾波 pcl::CropBox< PointT>
過濾掉在用戶給定立方體內的點雲數據
8. 封閉曲面濾波 pcl::CropHull< PointT>
過濾在給定三維封閉曲面或二維封閉多邊形內部或外部的點雲數據
9. 空間剪裁:
pcl::Clipper3D<pcl::PointXYZ>
pcl::BoxClipper3D<pcl::PointXYZ>
pcl::CropBox<pcl::PointXYZ>
pcl::CropHull<pcl::PointXYZ> 剪裁並形成封閉曲面
10. 卷積濾波:實現將兩個函數通過數學運算產生第三個函數,可以設定不同的卷積核
pcl::filters::Convolution<PointIn, PointOut>
pcl::filters::ConvolvingKernel<PointInT, PointOutT>
11. 隨機采樣一致濾波
等,
通常組合使用完成任務。
PCL中點雲濾波的方案
點雲數據密度不規則需要平滑
因為遮擋等問題造成離群點需要去除
大量數據需要下采樣
雜訊數據需要去除
對應的方案如下
按照給定的規則限制過濾去除點
通過常用濾波演算法修改點的部分屬性
對數據進行下采樣
去除噪音
直通濾波(PassThrough 濾波)
最簡單的一種濾波器,它的作用是過濾掉在指定維度方向上取值不在給定值域內的點。直通濾波器的實現原理如下:首先,指定一個維度以及該維度下的值域,其次,遍歷點雲中的每個點,判斷該點在指定維度上的取值是否在值域內,刪除取值不在值域內的點,最後,遍歷結束,留下的點即構成濾波後的點雲。直通濾波器簡單高效,適用於消除背景等操作。
#include <pcl/filters/passthrough.h>
如果使用線結構光掃描的方式採集點雲,必然物體沿z向分布較廣,
但x,y向的分布處於有限范圍內。
此時可使用直通濾波器,確定點雲在x或y方向上的范圍,
可較快剪除離群點,達到第一步粗處理的目的。
結果:
VoxelGrid濾波器對點雲進行下采樣
使用體素化網格方法實現下采樣,即減少點的數量 減少點雲數據,並同時保存點雲的形狀特徵,在提高配准,曲面重建,形狀識別等演算法速度中非常實用,PCL是實現的VoxelGrid類通過輸入的點雲數據創建一個三維體素柵格,容納後每個體素內用體素中所有點的重心來近似顯示體素中其他點,這樣該體素內所有點都用一個重心點最終表示,對於所有體素處理後得到的過濾後的點雲,這種方法比用體素中心(注意中心和重心)逼近的方法更慢,但是對於采樣點對應曲面的表示更為准確。
在網格內減少點數量保證重心位置不變
下采樣 同時去除 NAN點
如果使用高解析度相機等設備對點雲進行採集,往往點雲會較為密集。
過多的點雲數量會對後續分割工作帶來困難。
體素格濾波器可以達到向下采樣同時不破壞點雲本身幾何結構的功能。
點雲幾何結構 不僅是宏觀的幾何外形,也包括其微觀的排列方式,
比如橫向相似的尺寸,縱向相同的距離。
隨機下采樣雖然效率比體素濾波器高,但會破壞點雲微觀結構.
使用體素化網格方法實現下采樣,即減少點的數量 減少點雲數據,
並同時保存點雲的形狀特徵,在提高配准,曲面重建,形狀識別等演算法速度中非常實用,
PCL是實現的VoxelGrid類通過輸入的點雲數據創建一個三維體素柵格,
容納後每個體素內用體素中所有點的重心來近似顯示體素中其他點,
這樣該體素內所有點都用一個重心點最終表示,對於所有體素處理後得到的過濾後的點雲,
這種方法比用體素中心(注意中心和重心)逼近的方法更慢,但是對於采樣點對應曲面的表示更為准確。
結果:
結果不太明顯,換一個:
均勻采樣 pcl::UniformSampling
這個類基本上是相同的,但它輸出的點雲索引是選擇的關鍵點,是在計算描述子的常見方式。
原理同體素格 (正方體立體空間內 保留一個點(重心點))
而 均勻采樣:半徑求體內 保留一個點(重心點)
#include <pcl/filters/uniform_sampling.h>//均勻采樣
增采樣 setUpsamplingMethod
增采樣是一種表面重建方法,當你有比你想像的要少的點雲數據時,
增采樣可以幫你恢復原有的表面(S),通過內插你目前擁有的點雲數據,
這是一個復雜的猜想假設的過程。所以構建的結果不會百分之一百准確,
但有時它是一種可選擇的方案。
所以,在你的點雲雲進行下采樣時,一定要保存一份原始數據!
statisticalOutlierRemoval濾波器移除離群點
作用是去除稀疏離群噪點。在採集點雲的過程中,由於測量雜訊的影響,會引入部分離群噪點,它們在點雲空間中分布稀疏。在估算點雲局部特徵(例如計算采樣點處的法向量和曲率變化率)時,這些噪點可能導致錯誤的計算結果,從而使點雲配准等後期處理失敗。統計濾波器的主要思想是假設點雲中所有的點與其最近的k個鄰居點的平均距離滿足高斯分布,那麼,根據均值和方差可確定一個距離閾值,當某個點與其最近k個點的平均距離大於這個閾值時,判定該點為離群點並去除。統計濾波器的實現原理如下:首先,遍歷點雲,計算每個點與其最近的k個鄰居點之間的平均距離;其次,計算所有平均距離的均值μ與標准差σ,則距離閾值dmax可表示為dmax=μ+α×σ,α是一個常數,可稱為比例系數,它取決於鄰居點的數目;最後,再次遍歷點雲,剔除與k個鄰居點的平均距離大於dmax的點。
#include <pcl/filters/statistical_outlier_removal.h>
統計濾波器用於去除明顯離群點(離群點往往由測量雜訊引入)。
其特徵是在空間中分布稀疏,可以理解為:每個點都表達一定信息量,
某個區域點越密集則可能信息量越大。雜訊信息屬於無用信息,信息量較小。
所以離群點表達的信息可以忽略不計。考慮到離群點的特徵,
則可以定義某處點雲小於某個密度,既點雲無效。計算每個點到其最近的k(設定)個點平均距離
。則點雲中所有點的距離應構成高斯分布。給定均值與方差,可剔除n個∑之外的點
激光掃描通常會產生密度不均勻的點雲數據集,另外測量中的誤差也會產生稀疏的離群點,
此時,估計局部點雲特徵(例如采樣點處法向量或曲率變化率)時運算復雜,
這會導致錯誤的數值,反過來就會導致點雲配准等後期的處理失敗。
解決辦法:對每個點的鄰域進行一個統計分析,並修剪掉一些不符合標準的點。
具體方法為在輸入數據中對點到臨近點的距離分布的計算,對每一個點,
計算它到所有臨近點的平均距離(假設得到的結果是一個高斯分布,
其形狀是由均值和標准差決定),那麼平均距離在標准范圍之外的點,
可以被定義為離群點並從數據中去除。
使用參數化模型投影點雲
使用參數化模型投影點雲
如何將點投影到一個參數化模型上(平面或者球體等),
參數化模型通過一組參數來設定,對於平面來說使用其等式形式。
在PCL中有特定存儲常見模型系數的數據結構。
投影前的Z軸都不為0 ,投影之後,列印的結果表明,xy的值都沒有改變,z都變為0。所以該投影濾波類就是輸入點雲和投影模型,輸出為投影到模型上之後的點雲。
ConditionalRemoval 或 RadiusOutlinerRemoval 移除離群點
ConditionalRemoval 濾波器的理解
可以一次刪除滿足對輸入的點雲設定的一個或多個條件指標的所有的數據點
刪除點雲中不符合用戶指定的一個或者多個條件的數據點
RadiusOutlierRemoval移除離群點
一個比較簡單常用的方法就是根據空間點半徑范圍臨近點數量來濾波,對應的類名是 RadiusOutlinerRemoval,這個很容易理解,它的濾波思想非常直接,就是在點雲數據中,設定每個點一定半徑范圍內周圍至少有足夠多的近鄰,不滿足就會被刪除。比如你指定了一個半徑d,然後指定該半徑內至少有1個鄰居,那麼下圖中只有黃色的點將從點雲中刪除。如果指定了半徑內至少有2個鄰居,那麼黃色和綠色的點都將從點雲中刪除。
球半徑濾波器與統計濾波器相比更加簡單粗暴。
以某點為中心畫一個球計算落在該球內的點的數量,當數量大於給定值時,
則保留該點,數量小於給定值則剔除該點。
此演算法運行速度快,依序迭代留下的點一定是最密集的,
但是球的半徑和球內點的數目都需要人工指定。
㈢ 點雲數據處理
三維計算視覺研究內容包括:
(1)三維匹配:兩幀或者多幀點雲數據之間的匹配,因為激光掃描光束受物體遮擋的原因,不可能通過一次掃描完成對整個物體的三維點雲的獲取。因此需要從不同的位置和角度對物體進行掃描。三維匹配的目的就是把相鄰掃描的點雲數據拼接在一起。三維匹配重點關注匹配演算法,常用的演算法有 最近點迭代演算法 ICP 和各種全局匹配演算法。
(2)多視圖三維重建:計算機視覺中多視圖一般利用圖像信息,考慮多視幾何的一些約束,相關研究目前很火,射影幾何和多視圖幾何是視覺方法的基礎。在攝影測量中類似的存在共線方程,光束平差法等研究。這里也將點雲的多視匹配放在這里,比如人體的三維重建,點雲的多視重建不僅強調逐幀的匹配,還需要考慮不同角度觀測產生誤差累積,因此也存在一個優化或者平差的過程在裡面。通常是通過觀測形成閉環進行整體平差實現,多視圖重建強調整體優化。可以只使用圖像,或者點雲,也可以兩者結合(深度圖像)實現。重建的結果通常是Mesh網格。
(3)3D SLAM:點雲匹配(最近點迭代演算法 ICP、正態分布變換方法 NDT)+位姿圖優化( g2o 、LUM、ELCH、Toro、SPA);實時3D SLAM演算法 (LOAM);Kalman濾波方法。3D SLAM通常產生3D點雲,或者Octree Map。基於視覺(單目、雙目、魚眼相機、深度相機)方法的SLAM,比如orbSLAM,lsdSLAM...
(4)目標識別:無人駕駛汽車中基於激光數據檢測場景中的行人、汽車、自行車、以及道路和道路附屬設施(行道樹、路燈、斑馬線等)。
(5)形狀檢測與分類:點雲技術在逆向工程中有很普遍的應用。構建大量的幾何模型之後,如何有效的管理,檢索是一個很困難的問題。需要對點雲(Mesh)模型進行特徵描述,分類。根據模型的特徵信息進行模型的檢索。同時包括如何從場景中檢索某類特定的物體,這類方法關注的重點是模型。
(6)語義分類:獲取場景點雲之後,如何有效的利用點雲信息,如何理解點雲場景的內容,進行點雲的分類很有必要,需要為每個點雲進行Labeling。可以分為基於點的方法,基於分割的分類方法。從方法上可以分為基於監督分類的技術或者非監督分類技術,深度學習也是一個很有希望應用的技術。
(7)立體視覺與立體匹配 ZNCC
(8)SFM(運動恢復結構)
1、點雲濾波方法(數據預處理):
雙邊濾波、高斯濾波、條件濾波、直通濾波、隨機采樣一致性濾波。
VoxelGrid
2、關鍵點
ISS3D、Harris3D、NARF
SIFT3D、
3、特徵和特徵描述
法線和曲率計算 NormalEstimation 、特徵值分析Eigen-Analysis、 EGI
PFH、FPFH、3D Shape Context、Spin Image
4、 點雲匹配
ICP 、穩健ICP、point to plane ICP、Point to line ICP、MBICP、GICP
NDT 3D 、Multil-Layer NDT
FPCS、KFPCS、SAC-IA
Line Segment Matching 、ICL
5、點雲分割與分類
分割:區域生長、Ransac線面提取、NDT-RANSAC、
K-Means、Normalize Cut(Context based)
3D Hough Transform(線、面提取)、連通分析、
分類:基於點的分類,基於分割的分類;監督分類與非監督分類
6、SLAM圖優化
g2o 、LUM、ELCH、Toro、SPA
SLAM方法:ICP、MBICP、IDC、likehood Field、 Cross Correlation 、NDT
7、目標識別、檢索
Hausdorff 距離計算(人臉識別)
8、變化檢測
基於八叉樹的變化檢測
9. 三維重建
泊松重建、Delaunay triangulations
表面重建,人體重建,建築物重建,樹木重建。
實時重建:重建植被或者農作物的4D(3D+時間)生長態勢;人體姿勢識別;表情識別;
10.點雲數據管理
點雲壓縮,點雲索引(KD、Octree),點雲LOD(金字塔),海量點雲的渲染
點雲驅動的計算機圖形學主要研究應用
http://vcc.szu.e.cn/research/2015/Points/
㈣ 提取平面點雲的輪廓
一. 基於凸包的凹點挖掘演算法:
1. 提取點雲的凸包
2. 計算凸包每條邊的頂點的點密度(即該點 K 個臨近點到該點的距離平均值)
3. 如果頂點點密度大於所在邊的長度的 X 倍,則刪除該邊,並從內部點中選擇出一個滿足夾角最大的點,插入邊界邊,形成兩條新的邊界邊
4. 迭代 2 和 3,一直到全部邊界邊的 X 倍小於其端點的點密度,演算法結束
二. 基於 Delaunay 三角網的輪廓提取演算法:
A. 不使用輔助點:
1. 首先對點雲進行 Delaunay 三角構網
2. 同上,判斷每條網格邊長度的X倍和其端點的點密度之間的大小關系,並刪除長的網格邊
3. 提取只屬於一個三角形的邊界,作為邊界邊
4. 分類排序,得到有順序關系的內外輪廓
B. 使用輔助點:
1. 手動在點雲的邊界附近選點
2. Delaunay構網
3. 判斷每個三角形,如果其中一個點是輔助點,而另外兩個點是點雲中的點,則連接這兩個點做為邊界邊
4. 分類排序,得到有順序關系的內外輪廓
總體來說,由於構網演算法的時間復雜度較高,因此可以有選擇的使用上面兩種演算法,比如只有在確定要提取內輪廓的情況下,可以選擇第二種輪廓提取演算法
㈤ 點雲數據UDP數據包解析演算法舉例
# fill pcl msg
fields = [PointField('x', 0, PointField.FLOAT32, 1),
PointField('y', 4, PointField.FLOAT32, 1),
PointField('z', 8, PointField.FLOAT32, 1),
PointField('intensity', 12, PointField.FLOAT32, 1)]
包括激光點的三維坐標、多次回波信息、強度信息、掃描角度、分類信息、飛行航帶信息、飛行姿態信息、項目信息、GPS信息、數據點顏色信息等
C–class(所屬類)
F一flight(航線號)
T一time(GPS時間)
I一intensity(回波強度)
R一return(第幾次回波)
N一number of return(回波次數)
A一scan angle(掃描角)
RGB一red green blue(RGB顏色值)
點雲數據UDP數據包解析演算法舉例
以某一個UDP數據包中Block 3中的Channel 5為例,具體的線束分布請參考附錄I:
1)由附錄I可知,Channel 5對應的水平角度偏移量為-1.042°,垂直角度為3.04°。
2)水平角度為轉子此時的角度加上水平角度偏移量=(Azimuth Angle 3+(-1.042))度
(注意 我們定義從上往下看時,順時針為水平角度正方向)。
3)解析UDP包Channel 5 Unit 3的值,其高位2個bytes構成的距離值乘以4mm即可得到以毫米為單位的真實世界的測距值。
至此,這一個測距點表示的測距方向和測距距離都得到了解析,可以在極坐標系或者直角坐標系中畫出此次測距對應的障礙物點位置。對每個UDP包中所有的測距數據都做這樣的解析,即可畫出實時的激光雷達測距點雲。
3.2 GPS數據UDP包
每一個GPS數據包都含有42 bytes乙太網包頭及512 bytes UDP數據。所有的多位元組值均為小端位元組序Little Endian。GPS數據包每秒被觸發一次,端
口10110。
在接收到GPS數據前,激光雷達內部的1Hz的信號上升沿會觸發一個GPS數據包。GPS數據包中的初始時間為000101000000(yymmddhhmmss,年,
月,日,時,分,秒)。如果GPRMC信息在開始時沒有被提供,此非真實的GPS時間會隨著內部1Hz信號更新。如果雷達接收到PPS信號和GPRMC數
據,本地的1Hz信號會被鎖定到PPS信號。GPS數據包還是通過內部1Hz信號上升沿觸發。同時,GPS數據包中的時間會被更新為GPRMC信息中的真實
時間。
GPS模塊首先會發送PPS信號,再發送GPRMC信息。雷達可以從中提取出UTC信息,並把6 bytes的UTC時間(年:月:日:時:分:秒)輸入到點雲
數據包中。用戶可以通過相加點雲數據包中4 bytes的時間戳和6 bytes的UTC時間來獲得此數據包的絕對時間。
一旦雷達獲取到GPS信號,數據包中的GPS時間就會根據接收到的GPRMC信息進行更新。如果GPS模塊停止發送數據,雷達依然會根據內部1Hz信號上
升沿觸發GPS數據包,並且數據包中GPS時間會根據之前得到的真實GPS時間計時。
㈥ 激光點雲預處理研究概述
3D點雲數據的預處理是利用有效點雲信息進行三維重建及障礙物感知的基礎,是3D點雲配准、3D點雲拼接環節的前提。一般的 3D 點雲預處理工作包括地面點雲去除、點雲濾波和點雲分割。在三維點雲數據處理過程中,點雲數據離群點、雜訊點的剔除以及點雲數據的配准不僅是點雲數據處理中的重要環節,也是後期對點雲數據進行特徵提取完成檢測環節的基礎。
在進行目標物體分割時,將離散的三維數據點聚類的判斷依據為點與點之間距離是否接近,而在激光雷達點雲數據中,有很大一部分數據屬於地面點數據,並且地面點雲呈現為紋理狀,這對後續障礙物點雲的分類,識別帶來干擾,如果不將這些地面點數據去除,在進行目標物體分割時會導致分割演算法失效,因此需要先進行過濾。所以,地面點雲數據去除是減少數據量以及提高分割演算法准確度的有效手段。
因此為了提高去除地面點雲演算法的准確性和魯棒性,許多學者提出了大量研究方法,這些方法主要有以下兩類:基於柵格圖方法的地面去除研究、基於三維激光雷達原始掃描線數據的地面去除研究。
通過激光雷達掃描得到的點雲包含大部分地面點,常用的柵格圖方法地面濾除點雲方法有柵格高度差法、法向量方法和高度法。柵格高度法首先根據柵格大小生成網格,計算每個網格最低點與最高點的高度差,比較h與預設高度差閾值大小,對網格進行分類,最後根據網格對網格內的點進行分類。法向量法是基於計算出地面法向量為豎直向下或向上的假設,即地面點法向量值為(0,0,1)或(0,0,-1)。方法過程是計算點法向量並設定點分類的法向量閾值。高度法去除地面點雲,是最常用且耗時最小的方法。根據激光雷達安裝位置與姿態,可以根據設定閾值直接將點雲分為地面點和障礙物點。
基於柵格圖的點雲處理方式是通過將三維點雲數據投影到地面,建立多個柵格單元,採用連通區域標記演算法或者鄰域膨脹策略對目標進行聚類,這類方法被廣泛應用在激光雷達三維建模中。一是因為三維點雲向二維平面投影過程極大地壓縮了數據量,能夠提高演算法處理的實時性;二是因為點雲向柵格圖的映射,將復雜的三維點雲處理問題轉化為圖像處理問題,可以使用成熟的圖像處理相關演算法,提高了演算法處理的時間效率。柵格法簡單可靠、計算效率高,但是柵格單元參數固定且往往憑經驗確定,遠距離目標點雲較為稀疏往往會出現過分割,而近距離目標點雲較為稠密又會出現欠分割,演算法嚴重依賴於閾值參數的選擇,且往往需要逐幀進行分析,必然損失部分實時性。
由於三維激光雷達的原始三維數據包含了詳細的空間信息,所以也可以用來進行相關點雲數據處理。激光掃描線在地面和障礙物形成的角度值存在顯著的不同,可作為分離地面點的重要依據。激光雷達中的多個激光器水平掃描周圍環境中的物體,在兩個相鄰物體之間形成的角度很小,而同一物體的角度值很大。這啟示了我們可以充分利用這一特性,大於角度閾值可認為這兩點是同一物體,較好地處理了相鄰目標欠分割的問題。通過將非地面點雲分割為不同物體,然後進行目標物體的識別,可以為無人車提供更加詳細的車輛、行人等障礙物信息,在運動中避免與不同類型的障礙物發生碰撞並進行及時避讓。地面點雲欠分割會導致目標漏檢,過分割又會對後續的識別等操作帶來影響。利用激光雷達產生點雲的幾何特性,研究人員提出了多種特徵構建的方法,基於三維激光雷達原始掃描線數據的地面去除研究屬於其中較為常用的方法。
激光雷達在採集三維點雲數據的過程中,會受到各類因素的影響,所以在獲取數據時,就會出現一些雜訊。其實在實際工作中除了自身測量的誤差外,還會受到外界環境的影響如被測目標被遮擋,障礙物與被測目標表面材質等影響因素;另外,一些局部大尺度雜訊由於距離目標點雲較遠,無法使用同一種方法對其進行濾波。
雜訊就是與目標信息描述沒有任何關聯的點,對於後續整個三維場景的重建起不到任何用處的點。但是在實際的點雲數據處理演算法中,把雜訊點和帶有特徵信息的目標點區別開來是很不容易的,去噪過程中由於許多外在因素總是不可避免的伴隨著一些特徵信息的丟失。一個好的點雲濾波演算法不僅實時性要求高,而且在去噪的同時也要很好的保留模型的特徵信息[88]。就需要把點雲數據的雜訊點特徵研究透徹,才能夠提出效果更好的去噪演算法。
點雲數據是一種非結構化的數據格式,激光雷達掃描得到的點雲數據受物體與雷達距離的影響,分布具有不均勻性,距離雷達近的物體點雲數據分布密集,距離雷達遠的物體點雲數據分布稀疏。此外,點雲數據具有無序和非對稱的特徵,這就導致點雲數據在數據表徵時缺乏明確統一的數據結構,加劇了後續點雲的分割識別等處理的難度。神經網路作為一種端到端的網路結構,往往處理的數據是常規的輸入數據,如序列、圖像、視頻和3D數據等,無法對點集這樣的無序性數據直接進行處理,在用卷積操作處理點雲數據時,卷積直接將點雲的形狀信息舍棄掉,只對點雲的序列信息進行保留。
點雲濾波是當前三維重建技術領域的研究熱點,同時也是許多無人駕駛應用數據處理過程中至關重要的一步。3D點雲濾波方法主要可以分為以下三類,主要包括基於統計濾波、基於鄰域濾波以及基於投影濾波。
由於統計學概念特別符合點雲的特性,因此,許多國內外學者都將統計學方法引用到點雲濾波技術中,Kalogerakis 等人將一種穩健統計模型框架運用到點雲濾波中,取得了非常好的濾波效果。在這個統計模型框架中,通過使用最小二乘迭代方法來估計曲率張量,並在每次迭代的時候根據每個點周圍的領域來為樣本分配權重,從而細化每個點周圍的每一個鄰域。然後利用計算獲得的曲率以及統計權重來重新校正正態分布。通過全局能量的最小化並通過計算出的曲率和法線來把離群點去掉,並且能較好的保持點雲的紋理特徵。
基於鄰域的點雲濾波技術,就是通過使用一種相似性度量的方法來度量點和其他周圍鄰域對濾波效率與結果影響比較大點的相似性,從而來確定濾波點的位置。一般來說,可以通過點雲的位置、法線和區域位置來度量其相似性。1998年,Tomasi等人將雙邊濾波器擴展到 3D 模型去噪,由於雙邊濾波器具有維持邊緣平滑的特點,所以在除去點雲數據雜訊的同時也能較好的保持細節。但是,由於該方法是通過一個網格生成的過程來去噪的,而在生成網格的過程就會引入額外的雜訊。相比較於規則格網、不規則三角網等數據結構,體元是真3D的結構並且隱含有鄰域關系,能夠有效的防止生成網格的過程中引入雜訊,但該方法的需要設置的參數比較多,不能滿足實際工業運用。
基於投影濾波技術通過不同的投影測量來調整點雲中每個點的位置,從而實現雜訊點雲的去除。但是,如果輸入的點雲特別不均勻,經過局部最優投影處理後的點雲將變得更散亂。孫渡等人提出了一種基於多回波及 Fisher 判別的濾波演算法。首先結合格網劃分思想劃分點雲網格,在每個網格內,通過點雲數據的回波次數和強度進行劃分,分出待定的樣本;其次,利用Fisher判別的分析法將點雲投影到一維空間內,通過判定臨界值將植被點雲與地面點雲分離,實現陡坡點雲的濾波,但是,該方法只針對點雲中含有回波強度的屬性才有效,對於不包含回波強度信息的點雲,該方法失去作用。
為彌補點雲本身的無序性、不對稱性、非結構化和信息量不充分等缺陷,在對點雲進行特徵識別及語義分割等操作之前,需先對點雲進行數據形式的變換操作。常用的點雲形式變換方法有網格化點雲、體素化點雲、將點雲進行球面映射等。
體素化是為了保持點雲表面的特徵點的同時濾除不具備特徵的冗餘的點雲數據。由於常用的法向量計算取決於相鄰點的數量,並且兩個雲點的解析度也不同。所以具有相同體素大小的體素化就是為了在兩個不同解析度的點雲中生成等效的局部區域。在實際進行點雲配准演算法的過程中,由於用於配準的源點雲數據與目標點雲數據的數量比較龐大、點雲密集,並且這些原始點雲數據中含有許多點雲對於描述物體形狀特徵沒有任何作用的點,如果使用演算法直接對源點雲與目標點雲進行配置的話,整個過程將耗費大量時間,所以必須對點雲進行下采樣的同時仍保留住可以體現形狀輪廓特徵的那部分點雲。
由於點雲本身的稀疏性、無序性和非均勻分布的特點,在利用深度全卷積神經網路結構對激光雷達點雲數據進行語義分割時,端到端的卷積神經網路無法直接對無序排布點雲進行操作。為使端到端的神經網路在無序性分布的點雲數據上具有通用性,需先對點雲數據進行映射,常見的投影方式有基於平面的投影、基於圓柱面的投影以及基於球面的點雲投影方式。
參考:
周天添等(基於深度神經網路的激光雷達點雲語義分割演算法研究)
李宏宇(激光雷達的點雲數據處理研究)
范小輝(基於激光雷達的行人目標檢測與識別)