景寧波,馬憲民,郭 衛(wèi),秦學斌
(1.西安科技大學 電氣與控制工程學院,陜西 西安 710054;2.西安科技大學 機械工程學院,陜西 西安 710054)
隨著煤礦智能化的發(fā)展,激光雷達在煤礦井下機器人建圖[1-6]和無軌膠輪車無人駕駛[7-9]等方面被廣泛應用。由于煤礦井下環(huán)境存在大量的粉塵和水霧[10-12],大多數(shù)激光雷達傳感器的波長在900納米左右,使得煤礦井下激光雷達獲取的點云數(shù)據(jù)嚴重降質,存在大量噪點[13]。
國內外學者針對點云濾波問題開展大量的研究,提出越來越多的方法。孫華飛等提出一種基于統(tǒng)計流形的聚類算法,但是差異函數(shù)的選擇比較復雜,需要根據(jù)噪聲特征進行分析[14]。DINESH等設計特征圖拉普拉斯正則化器,雖然濾波效果很好,但是噪聲需要符合高斯或者拉普拉斯特性[15]。王曉輝等提出一種基于法向量距離分類的去噪方法,采用加權局部最優(yōu)投影算法和雙邊濾波算法分別對平滑區(qū)域和尖銳區(qū)域進行濾波去噪,但是對于局部密度較大的近場噪點剔除效果不好[16]。PISTILLI等訓練一種圖卷積神經網絡,根據(jù)點的高維特征表示之間的相似性,動態(tài)構建鄰域圖來組成復雜的特征層次,但是濾波效果嚴重依賴樣本數(shù)量和訓練的噪聲特征[17]。趙凱等針對點云數(shù)據(jù)密度不均勻,離群噪點多的問題,提出一種基于密度的點云聚類算法,對三維點云先進行體素柵格劃分,再采用隨機抽樣一致性算法,實現(xiàn)點云數(shù)據(jù)的實時處理,但是遠場離群噪點的濾除效果并不好[18]。伍錫如等通過統(tǒng)計濾波與隨機抽樣一致算法剔除激光雷達數(shù)據(jù)冗余點及離群點,但是對于遠場的離群點沒有實現(xiàn)有效濾除[19]。HEINZLER等針對濃霧對激光雷達的影響,提出基于卷積神經網絡的方法來區(qū)分來自濃霧的散射點和來自被測對象的有效點,過濾點云數(shù)據(jù)中的噪聲[20]。ZHANG等提出由編碼器和解碼器組成的深度學習方法,通過去除噪聲并保留其高頻特征實現(xiàn)穩(wěn)健的點云濾波[21]。任彬等采用閾值自適應和基于曲率的去噪算法,分別處理2種噪聲,去噪精確度得到提升,但是提高計算復雜度,增加計算時間[22]。趙夫群等通過構造張量投票矩陣和計算點云曲率特征,實現(xiàn)由粗到精的層次化點云去噪,但是在保持點云尖銳幾何特征的同時,也保留高頻的近場噪聲點[23]。RORIZ等結合動態(tài)半徑異常值和低強度異常值去除算法提出動態(tài)光強去噪方法,采用現(xiàn)場可編程門陣列實現(xiàn)硬件加速,雖然實時性能得到保證,但是遠場噪點沒有得到有效抑制[24]。張建民等對點云進行預處理后映射到圖像上,通過圖像處理去除噪聲,但是點云遠場濾波效果并不好,有遠場數(shù)據(jù)丟失的現(xiàn)象[25]。
缺少塵霧對激光雷達的影響模型。煤礦井下環(huán)境復雜,不同塵霧環(huán)境實測的激光雷達點云數(shù)據(jù)量偏少,缺少模型無法合成測試數(shù)據(jù)集,算法的驗證和深度神經網絡的訓練都需要大量的數(shù)據(jù);點云遠場和近場的噪聲不能兼顧。點云中距離中心點較近的區(qū)域稱為近場。濾波算法在設定參數(shù)時過多考慮近場的噪聲就會造成遠場的噪聲處理不好,反之亦然。
針對上述問題,文中首先對礦井塵霧環(huán)境進行分析,建立塵霧對激光雷達的影響模型;然后利用改進動態(tài)半徑法剔除煤礦井下激光雷達的點云噪聲;最后對不同算法的性能進行試驗比較,驗證該算法的可行性和有效性。
激光雷達傳感器向環(huán)境中發(fā)射激光脈沖,這些脈沖從周圍物體反射并返回傳感器,根據(jù)時間來計算距離,實時生成數(shù)百萬個數(shù)據(jù)點。激光雷達根據(jù)激光脈沖飛行時間測量距離。多線激光雷達通過360°水平旋轉多組垂直分布的激光,實現(xiàn)對環(huán)境的三維測量。
式中 di為第i束激光的實測距離,m;i為多線激光雷達的激光線束編號;c為光速,m/s;t為激光到達被探測物體并返回探測器的行駛總時間,s。
激光雷達的測量數(shù)據(jù)稱為點云,采用笛卡爾坐標或者球面坐標來表示,兩者可以相互轉換,如下式
式中 θ為激光的垂直角度,rad;φ為激光的水平旋轉角度,rad;x,y,z為點云坐標,m,是球面坐標到笛卡爾坐標軸上的投影。
煤礦井下環(huán)境中對激光雷達性能影響較大的因素是塵霧。當一定功率的激光脈沖信號在塵霧環(huán)境中傳播時,會存在信號的吸收和散射,造成激光脈沖信號的衰減。吸收和散射對信號的衰減值與傳播距離成正比。
式中 P為激光脈沖信號的功率,W;λ為激光的波長,m;k為吸收系數(shù);γ為散射系數(shù);β為衰減系數(shù)。
接收到的激光脈沖信號主要由2部分組成,分別是塵霧反射信號和被測物反射信號。
式中 IR為接收到的激光脈沖信號光強,cd;ID為塵霧反射信號光強,cd;IT為被測物反射信號光強,cd。
式中 CA為激光雷達的內部參數(shù);Is為發(fā)射激光強度;H為塵霧環(huán)境傳遞函數(shù)。
塵霧環(huán)境會造成激光雷達接收到多次反射信號,造成干擾。激光雷達主要采用最強反射原則,選擇信號強度大的作為測量值,其他信號作為噪聲處理。當被測物反射信號強度大于或者等于塵霧反射信號強度時,不會影響測量距離。當塵霧反射信號強度大于被測物反射信號強度時,就會掩蓋被測信號,造成測量結果中存在異常點,需要進行識別和剔除。
基于扇環(huán)鄰域的改進動態(tài)半徑點云濾波算法,首先將多線激光雷達點云數(shù)據(jù)通過主成分分析進行降維處理,得到多組二維數(shù)據(jù),其次對每組數(shù)據(jù)采用拉普拉斯算子剔除高頻噪點,然后采用基于扇環(huán)鄰域的統(tǒng)計分析,識別數(shù)據(jù)中的異常點。最后,將經過濾波后的多組二維數(shù)據(jù)恢復成三維點云數(shù)據(jù)。
根據(jù)多線激光雷達的測量原理,將點云數(shù)據(jù)通過激光線束分為多組三維數(shù)據(jù),每組數(shù)據(jù)代表一束激光對環(huán)境掃描的測量結果。通過主成分分析法(principal component analysis,PCA)將每組數(shù)據(jù)從三維空間映射到二維子空間,利用映射后的變量特征來表示原有的總體特征。煤礦井下三維激光點云具有稀疏性,降維處理提高子空樣本密度,降低計算復雜度。點云數(shù)據(jù)中如果存在缺失值,使用交替最小二乘法(alternating least squares,ALS)計算主成分。
PCA是一種正交線性變換,通過創(chuàng)建新的不相關變量來使方差最大化。這些新變量稱為主成分,搜索符合約束條件的新變量的過程,就是對數(shù)據(jù)的特征值和特征向量的求解過程。PCA把數(shù)據(jù)變換到一個新坐標系統(tǒng)的同時最小化信息損失,使得數(shù)據(jù)投影的第一大方差在第一主成分上,第二大方差在第二主成分上。通過對數(shù)據(jù)的協(xié)方差矩陣進行特征分解,得出特征向量與特征值。
式中 X為原始數(shù)據(jù);Y為協(xié)方差矩陣;W 為協(xié)方差矩陣的特征向量矩陣;U為協(xié)方差矩陣轉置的特征向量矩陣;∑為對角矩陣,對角線上的非零值是協(xié)方差矩陣的非零特征值的平方根,也是協(xié)方差矩陣轉置的非零特征值的平方根。
為了得到一種降低數(shù)據(jù)維度的有效辦法,用二維截斷特征向量矩陣把原始數(shù)據(jù)映射到二維空間中,實現(xiàn)數(shù)據(jù)的降維。
式中 Z為降維后的數(shù)據(jù);WL為二維截斷特征向量矩陣。
通過降維處理后得到多組二維數(shù)據(jù),對每組數(shù)據(jù)經過拉普拉斯濾波,剔除高頻噪點。拉普拉斯算子是一種二階微分算子,表示梯度的散度,通過尋找數(shù)據(jù)中的二階微分中的過零點來檢測因塵霧反射造成的異常點。
拉普拉斯算子具有各向同性、線性和位移不變性。相對于常用的Roberts算子、Prewitt算子、Sobel算子等一階算子,拉普拉斯算子對數(shù)據(jù)中的高頻噪聲敏感,對細線和孤立點的檢測效果好。相對于常用的LoG算子和DoG算子等二階算子,拉普拉斯算子的計算復雜度小,所需要的計算能耗低,能夠滿足煤礦井下設備的實時性要求。
拉普拉斯算子直角坐標見式(8)
式中 Δf為拉普拉斯算子;x為橫軸坐標值,m;y為縱軸坐標值,m。
拉普拉斯算子的極坐標見式(9)
式中 r為極坐標半徑,m;θp為極坐標角度,rad。
在點云處理中使用差分方程近似二階偏導運算。采用卷積核的實現(xiàn)形式,利用芯片中的卷積計算加速器,可以有效提高計算效率,降低計算功耗。
經過降維和拉普拉斯濾波后的點稱為查詢點。通過對查詢點的扇環(huán)鄰域進行統(tǒng)計分析,計算該點到所有鄰域點的平均距離,從而對離群點進行剔除。
首先將查詢點的位置轉換成極坐標形式,設置扇環(huán)鄰域的搜索范圍,其次計算查詢點到鄰域中每個點的距離;然后計算距離的標準差和均值生成統(tǒng)計模型;最后根據(jù)閾值篩選離群點。
將查詢點轉換成極坐標形式,如下式
式中 r為極坐標下的半徑,m;θp為極坐標下的角度,rad。
選擇查詢點附近的半徑范圍和角度范圍組成扇環(huán)鄰域,扇環(huán)面積的選擇很重要,減小扇環(huán)面積會使濾波器對噪聲更敏感,增加面積會增加計算次數(shù)。
式中 rf為扇環(huán)半徑,m;w為扇環(huán)系數(shù);θf為扇環(huán)角度,rad。
假設查詢點到扇環(huán)鄰域內所有點的距離是一個高斯分布,其形狀是由均值和標準差決定。
式中 L為查詢點到扇環(huán)鄰域內每一點的歐式距離,m;μ為均值,m;σ為標準差,m。
根據(jù)統(tǒng)計特性,在閾值范圍之外的點后驗概率較小,被定義為離群點。
式中 T為閾值區(qū)間,m。
試驗基于Ubuntu 18.04操作系統(tǒng),ROS環(huán)境為ROS-melodic。計算機硬件為Intel Core i7-11800H處理器,4 GHz主頻,16 GB內存,GTX3060顯卡。選用速騰聚創(chuàng)16線激光雷達,型號為RSLidar-16,水平視角360°,水平分辨率0.1°,垂直視角30°,垂直分辨率2.0°,點云幀率10 Hz,測距范圍0.4~150 m,測量精度±2 cm。試驗數(shù)據(jù)來源為激光雷達采集的井下模擬巷道。對采集的原始數(shù)據(jù)疊加塵霧噪聲合成測試數(shù)據(jù),驗證算法的降噪性能。通過對比文中濾波算法與統(tǒng)計濾波、半徑濾波和動態(tài)半徑濾波算法的結果,驗證文中算法的濾波性能。該濾波算法通過在不同塵霧環(huán)境下的試驗,確定參數(shù)w的取值。
統(tǒng)計濾波遍歷每個點,計算最近鄰點到該點的平均距離,基于高斯分布統(tǒng)計距離的平均值和標準差,剔除閾值區(qū)間之外的所有點。試驗參數(shù)設置:近鄰個數(shù)N=5,閾值系數(shù)m=0.1。
半徑濾波通過迭代每個點,并計算球體內以該點為中心的點的數(shù)量。如果點數(shù)小于近鄰個數(shù),則將其作為異常值刪除,否則將其保留。試驗參數(shù)設置:球體半徑R=0.05 m,近鄰個數(shù)N=5。
動態(tài)半徑濾波利用激光雷達的稀疏性,根據(jù)查詢點的極坐標距離調整濾波的球體半徑。距原點近的位置,點云空間密度大,采用較小的球體半徑,反之采用較大的球體半徑。試驗參數(shù)設置:半徑系數(shù)k=0.02,近鄰個數(shù)N=5。
為更客觀地分析不同算法的濾波效果,分別采用準確率、召回率和F1分值作為評價算法的有效依據(jù)。準確率是濾波正確的結果占總樣本的百分比,準確率越高,誤去除的非噪點個數(shù)就越少,說明過濾器能有效去除塵霧噪聲。召回率表示正確識別的噪點數(shù)量占總噪點數(shù)量的百分比,分數(shù)越高,說明誤保留的非噪點個數(shù)越少,能夠有效保存點云結構信息。精確率是濾波正確的點數(shù)占總噪聲點的數(shù)量,F(xiàn)1分值綜合考慮精確率和召回率。
式中 TP為正確去除的噪點個數(shù);TN為正確保存的非噪點個數(shù);N為點云內的點總數(shù);FN為誤保留的噪點個數(shù);FP為誤去除的非噪點個數(shù)。
圖1為塵霧衰減系數(shù)為0.1時,采用文中濾波算法不同參數(shù)的濾波結果。圖2為塵霧衰減系數(shù)為0.3時,不同參數(shù)的濾波結果,圖3為塵霧衰減系數(shù)為0.5時,不同參數(shù)的濾波結果。文中濾波算法的參數(shù)w=0.01和w=0.1時,過多的有效數(shù)據(jù)被識別為噪點;參數(shù)w=0.5時,有過多噪點未被濾除。通過對比不同參數(shù)在不同塵霧環(huán)境下的濾波效果,w=0.3濾波效果最佳。表1為試驗中各濾波算法的參數(shù)設置。
圖1 塵霧系數(shù)w=0.1的濾波結果Fig.1 Filtering results when w=0.1
圖2 塵霧系數(shù)w=0.3時的濾波結果Fig.2 Filtering results when w=0.3
圖3 塵霧系數(shù)w=0.5時的濾波結果Fig.3 Filtering results when w=0.5
表1 濾波器參數(shù)設定Table 1 Parameters setting for filters
圖4為文中濾波算法的降維處理結果,將三維點云數(shù)據(jù)降為16組二維數(shù)據(jù),在二維空間上進行計算。圖中顯示了第1,5,9,13組原始數(shù)據(jù)和濾波結果。圖5為3種場景下的算法濾波結果對比。統(tǒng)計濾波的近場噪聲保留較多,半徑濾波遠場有效數(shù)據(jù)丟失嚴重,動態(tài)半徑濾波遠場濾波效果較好,但是近場存在大量噪聲。提出的改進濾波算法兼顧近場和遠場數(shù)據(jù),保留點云的細節(jié)信息。
圖4 降維濾波結果Fig.4 Filtering results in dimensionality reduction
圖5 3種場景下算法對比Fig.5 Comparison of algorithms in three scenarios
表2為統(tǒng)計濾波、半徑濾波、動態(tài)半徑濾波和文中算法的質量評價對比。通過連續(xù)采集的3 000幀點云數(shù)據(jù),計算評價指標的的平均值。由表2可知,統(tǒng)計濾波算法需要的時間最長,動態(tài)半徑濾波算法比半徑濾波算法性能有所提升,計算時間也增加了一倍。文中算法在準確度、召回率和F1分值方面都優(yōu)于其他3種算法,同時計算時間小于統(tǒng)計濾波和動態(tài)半徑濾波方法。
表2 算法質量評價對比Table 2 Comparison of algorithm quality evaluation
1)基于塵霧對激光雷達的影響模型,通過仿真生成數(shù)據(jù),可以為算法的評估提供測試基準。通過分析激光脈沖在煤礦井下塵霧環(huán)境中的傳播特點,結合激光雷達的測量原理,建立煤礦井下塵霧對激光雷達的影響模型?;谠撃P秃蛯崪y數(shù)據(jù)可以建立數(shù)據(jù)集,為深度學習的訓練和驗證提供大樣本。
2)對煤礦井下激光雷達點云進行降維處理,降低計算復雜度。采用拉普拉斯算子的一次濾波,初步剔除數(shù)據(jù)中的高頻噪點,減少二次精細濾波的樣本數(shù)量,縮短處理時間?;谏拳h(huán)鄰域的二次濾波,實現(xiàn)統(tǒng)計鄰域面積和計算復雜度之間的平衡,在保證濾波精度的前提下,提高系統(tǒng)效率,且具有較好的穩(wěn)定性。
3)所提算法在消除煤礦井下激光雷達點云噪聲和保留點云細節(jié)方面都優(yōu)于其他算法。后續(xù)可以對降維方法做進一步深入研究,集成在井下巡檢機器人上,為激光雷達在煤礦井下應用提供一定的參考。