陳 凱,張 達,張元生
(1.北京礦冶科技集團有限公司,北京 100160;2.北京科技大學 機械工程學院,北京 100083;3.金屬礦山智能開采技術北京市重點實驗室,北京 102628)
在地下開采礦山,通過三維激光掃描測量獲取高精度的井下三維空間信息,對于采礦作業(yè)的超爆欠爆評價、井巷工程及采場驗收、礦石資源的損失貧化分析、保有資源計算、礦山采空區(qū)調查與安全分析、采礦溜井及井巷工程治理及礦山工程數(shù)字化建設等具有十分重要的意義。北京礦冶科技集團有限公司研制了國內首套礦用三維激光掃描測量系統(tǒng),并實現(xiàn)了產業(yè)化推廣應用,打破了國外技術壟斷,填補了國內空白,可為后續(xù)礦山安全生產提供數(shù)據(jù)基礎[1-4]。
但是,礦用三維激光掃描測量系統(tǒng)測量的采場、溜井等區(qū)域形態(tài)復雜,內部存在礦石點柱、垮塌、超爆、欠爆等情況,使礦用三維激光掃描測量系統(tǒng)工作時由于遮擋導致點云數(shù)據(jù)存在很多盲區(qū),同時由于人員難于進入這些區(qū)域,肉眼通常無法直接獲知哪些區(qū)域存在遮擋,這將使準確識別盲區(qū)邊界存在很大困難,為后續(xù)數(shù)據(jù)分析帶來一系列麻煩。為解決盲區(qū)定位困難的問題,需提供一種高效的點云數(shù)據(jù)預處理方法,須在雜亂無章的點云數(shù)據(jù)基礎上,對點云數(shù)據(jù)特征進行分析研究,準確判斷盲區(qū)邊界,為后續(xù)盲區(qū)數(shù)據(jù)處理提供判斷依據(jù)。
KD-Tree廣泛應用于數(shù)據(jù)庫索引中,從概念的角度講,它是一種高緯數(shù)據(jù)的快速查詢結構。KD-Tree是一種二叉樹,它繼承二叉查找樹的優(yōu)點,平均查找長度只為1+4logn,表示對k維空間的一個劃分,構造KD-Tree相當于不斷地用垂直于坐標軸的超平面對k維空間進行切分,構成一系列的k維超矩形區(qū)域,KD-Tree的每個結點對應于一個k維超矩形區(qū)域。由于點云數(shù)據(jù)分布不規(guī)則,所以不能采用規(guī)則劃分的方式來劃分點云空間,但是KD-Tree是一種非常適合管理點云的索引方法,建立空間點云的拓撲關系,快速查找點云的鄰域[5-8]。KD-Tree構建過程如圖1所示。
圖1 構建KD-Tree數(shù)據(jù)結構流程圖Fig.1 The flow chart of building KD-Tree data structure
點云數(shù)據(jù)法向矢量的計算是判斷點云數(shù)據(jù)的K-近鄰點是否分布均勻的前提。通過KD-Tree構建的點云拓撲關系,構造點云中各點的最小二乘平面,計算該平面的法向矢量,并將該法向矢量作為數(shù)據(jù)點的法向矢量計算結果。其中K值的選取很重要,在曲率變化大的地方需要慎重考慮K值的選取,以保證單凸或單凹,這樣得到的最小二乘平面才能更好地逼近原始點云,也使得投影點在局部型面的參數(shù)化更好地反映點云的參數(shù)化。
ax+by+cz=d
輸入:點云數(shù)據(jù)集S
如果點云數(shù)據(jù)集S為空,則算法將結束;否則從點云數(shù)據(jù)集S中順序提取數(shù)據(jù)點P作為當前處理數(shù)據(jù);
計算矩陣A的特征值;
計算最小特征值對應的特征向量。
K-近鄰的創(chuàng)建可為特征邊界的提取提供好的基礎[9]。假設點云數(shù)據(jù)中點P是特征邊界點,K-近鄰點的分布將偏向某一側;如果是內部點,則其K鄰域點將均勻地分布在該點的周圍(如圖2所示)。基于該思路,本文利用了數(shù)據(jù)點及其K-近鄰點的均勻分布特性來判斷特征邊界點。
圖2 邊界特征點識別原理Fig.2 The recognition principle of character boundary point
假設輸入的點云數(shù)據(jù)集為S,輸出的邊界特征集合為F(S),基于上述思想,邊界檢測的算法流程如下:
1)如果點云數(shù)據(jù)集S為空,則算法將直接結束;否則從點云數(shù)據(jù)集S中按照先后秩序提取數(shù)據(jù)點P作為當前需處理數(shù)據(jù);
2)將數(shù)據(jù)點P的K-近鄰點投影到對應的法向矢量平面內,連接數(shù)據(jù)點P和鄰域的投影點形成一個向量集;
3)計算向量集對應的所有向量與基準向量間的夾角,計算結果按照升序進行排序,得到了夾角集S’。計算S’的夾角差然后得到向量集中相鄰向量的夾角集A;
4)若夾角集A的最大角度差Amax>u(一般情況,閾值u取值大小為π/2),則將數(shù)據(jù)點P放入集合F(S)中;如果完成點云數(shù)據(jù)集S中的所有數(shù)據(jù)處理,則算法結束,否則轉向1)。
為驗證本文提出的盲區(qū)邊界識別算法效果,選擇兩組礦山的采空區(qū)掃描點云數(shù)據(jù)進行驗證,第一組采空區(qū)點云數(shù)據(jù)數(shù)量為208 786個,使用該算法耗時5 s準確識別出盲區(qū)邊界(如圖3所示),盲區(qū)邊界點云數(shù)量為305個;第二組采空區(qū)點云數(shù)據(jù)數(shù)量為158 756個,使用該算法耗時3.5 s準確識別出盲區(qū)邊界(如圖4所示),盲區(qū)邊界點云數(shù)量為158個。通過現(xiàn)場兩組采空區(qū)點云數(shù)據(jù)驗證結果表明該算法可有效獲取點云數(shù)據(jù)盲區(qū)邊界。
圖3 第一組點云數(shù)據(jù)盲區(qū)邊界識別結果Fig.3 The blind area recognition result of the first-group point cloud data
圖4 第二組點云數(shù)據(jù)盲區(qū)邊界識別結果Fig.4 The blind area recognition result of the second-group point cloud data
本文應用的盲區(qū)識別算法利用KD-Tree構建點云的空間拓撲關系,快速、準確地獲取局部型面參考點集,然后利用KD-Tree計算出點云中各數(shù)據(jù)點的K-近鄰點,通過判斷K-近鄰域點分布的均勻性來提取出邊界特征點,最后利用估計邊界的走向來提取特征邊界點并形成邊界線,最后達到識別出內外邊界的目的,為后續(xù)點云數(shù)據(jù)修復和補洞提供了數(shù)據(jù)基礎。