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