本發明專利技術公開了一種基于法向量分割與區域生長的平面特征提取方法,通過引入法向量分割對平面部分區域進行提取,并利用區域生長算法實現平面完整提??;在法向量分割階段,提前計算出每個點的局部法向量,對點云的法向量方向進行重定向,通過鄰近點與當前點法向量之間的差分平均值與事先設定好的閾值相比較,進行平面的粗提??;對初步提取的平面進行歐式聚類分割成不同的平面集,然后對每一個平面集進行區域生長進行擴展,并對同一區域的平面集合進行合并操作,得到最終平面特征的提取。本發明專利技術有效獲取復雜環境下的平面提取,通過對局部平面簇進行區域擴展,使平面特征的提取更加準確。使平面特征的提取更加準確。使平面特征的提取更加準確。
【技術實現步驟摘要】
一種基于法向量分割與區域生長的平面特征提取方法
[0001]本專利技術涉及計算機視覺和三維點云數據處理的交叉領域中基于室內環境點云數據特征面提取方法,尤其涉及一種基于法向量分割與區域生長的平面特征提取方法。
技術介紹
[0002]近年來,應用地面激光掃描技術獲取海量點云為現實場景三維建模提供了一種有效的方法。點云作為三維模型數據中的一種重要表現形式,將三維模型的描述更為直觀化,具體化,準確化。在現實環境下密集且精確的三維點云數據包含足夠多的幾何信息,用于自動檢測和擬合目標,如平面、球體、圓柱體。平面作為室內場景中廣泛存在的一種幾何特征,通過對場景中平面特征的分割提取,對室內場景進行建模。
[0003]在常規的平面特征提取算法中,三維霍夫變換、隨機采樣一致性(RANSAC)和區域生長是三種主要的研究方法。霍夫變換具有較高的魯棒性,但該方法需要構建累加器進行投票,面對大規模點云數據處理速度較慢,很難高效對點云進行處理。隨機采樣一致性算法具有較高的執行效率,但是難以對室內復雜環境的平面進行識別,尤其是在不平整且具有較大尺度物理平面的情況下,使用該方法無法完整的提取出物理平面。區域生長算法作為廣泛應用的平面提取方法,在初始種子點的選取方式有較大的不確定因素,而選取的種子點不同則會生長出大小不同的平面,而且平面提取的效果會受到設定閾值的影響。因而這些方法直接應用于室內環境下點云數據的平面特征提取往往不能獲得很好的效果。
技術實現思路
[0004]專利技術目的:為了克服上述現有技術的不足,本專利技術提供一種基于法向量分割與區域生長的平面特征提取方法,通過結合法向量計算對室內點云數據進行粗分割,進而對種子區域進行選取,降低了區域生長算法平面誤判的機率;通過聚類將粗分割后的結果分成大小不同的種子區域,并對每個種子區域進行擴展,來獲得室內點云數據精確的平面特征。
[0005]技術方案:本專利技術基于法向量分割與區域生長的平面特征提取方法,包括以下步驟:
[0006]步驟(1):基于法向量分割的平面粗提取,得到室內環境平面特征粗分割結果,過程為:
[0007]步驟(1.1):通過激光雷達采集的點云數據進行表面法向量估計,對當前點p0以及附近k個點構成的點集構造協方差矩陣進行計算,具體為:構造協方差矩陣進行計算,具體為:取協方差矩陣M最小特征值λ0對應的特征向量v0作為當前點的法向量;其中,k代表點的個數,p
i
代表當前點附近的第i個點,p0代表當前點,T代表向量轉置符號;
[0008]步驟(1.2):法向量重定向,目的是為了保證相鄰兩點的法向量保持一致性;
[0009]步驟(1.3):取完成法向量計算的點云數據進行法向量分割提取平面簇;得到當前點云數據中每個點的法向量;
[0010]步驟(2):通過歐式聚類對不同的局部平面檢測并標記,將點云數據分成大小不等
的平面簇,方便后續對平面進行區域生長計算,具體過程為:
[0011]步驟(2.1):對分割出的點云數據構建kd
?
tree結構,然后查找每個點云在指定范圍內的最近點;
[0012]步驟(2.2):創建一個標記數組用來記錄每個點云數據類別;
[0013]步驟(2.3):構建一個空的堆結構用于存儲最終類別,將滿足指定歐式距離的點儲存在空的堆結構中并進行標記,遍歷每個點云直到循環結束。
[0014]步驟3:為了得到完整的室內平面特征,將聚類后的平面簇通過區域生長算法進行擴展,具體過程為:
[0015]步驟(3.1):將上一節聚類分析出來的平面簇分別進行區域生長;
[0016]步驟3.2:通過添加新的鄰近點,計算當前點云數據的分布特征,引入協方差矩陣M1計算特征值參數λ1、λ2、λ3,其大小排序依次為λ1≥λ2≥λ3;當點云分布接近平面時,λ3/λ1≤σ1,λ3/λ2≤σ2,其中σ1和σ2分別表示判斷特征閾值;如果不滿足該平面分布特性,則跳過該點,引入下一個鄰近點進行計算;
[0017]步驟3.3:采用公式(1)進一步計算滿足平面分布特征的點云p0(x0,y0,z0)到擬合平面P的垂直距離d
P
:
[0018][0019]其中a,b,c為擬合平面的法向量參數,d為到該擬合平面的距離;
[0020]步驟3.4:判斷是否滿足所設的點到平面距離閾值d
t
,滿足則加入到該平面區域,同時從點云數據中移除該點;
[0021]步驟3.5:對種子區域附近的點進行遍歷計算,直到沒有鄰近點再加入到當前種子區域;
[0022]步驟4:平面集合并,由步驟3求得的平面集,由于閾值選取的影響造成同一平面點云過度分割為多個區域,需要進行合并操作,具體過程為:
[0023]步驟(4.1):進一步對具有相同特征的平面進行合并,需要對兩個平面間距離閾值和法向量角度閾值進行設定,分別記為maxDist和angle;
[0024]步驟(4.2):對兩個平面集中的點進行隨機提取分別記為p和tp,計算p和tp兩點到各自平面集之間的歐式距離d1和d2,點到平面距離公式(2)計算如下:
[0025]D=|ax0+by0+cz0+d|
?????????
(2)
[0026]步驟(4.3):通過公式(2)計算得到d1和d2的結果,并返回所得距離的最大值dist,通過與設定的距離閾值maxDist相比較,如果小于maxDist,則滿足條件;
[0027]步驟(4.4):由兩模型平面的法向量按公式(3)計算兩平面的夾角。記為θ;
[0028][0029]步驟4.5:通過與預先設定的距離閾值maxDist和角度閾值angle進行比較,若同時滿足閾值條件,將兩個平面集進行合并,標記為同一個平面。
[0030]步驟(1.2)的過程為:找到點云中z軸方向最小的一個點作為起始點p,通過所述點的法向量朝向與z軸方向向量的乘積的正負,判斷法向量是否反轉;然后查找點p的鄰近點集,將鄰近點集中的點與該點法向量判斷,同時將鄰近點集作為新的初始點,直到遍歷
點云中的所有點,得到法向量重定向結果。
[0031]步驟(1.3)的過程為:得到當前點云數據中每個點的法向量,構建關于點云數據的kd
?
tree結構,然后查詢在當前節點附近k個點的坐標,計算當前節點與k個鄰近點之間的法向量差分之和,再求取平均值;與設定的閾值比較是否為同一平面上的點。
[0032]步驟(3.1)中,所述平面簇作為初始種子區域擴展,計算所選種子區域的大小,查找種子區域附近點的索引坐標,生長時逐點檢測。
[0033]步驟(3.1)中,逐點檢測時,在引入新的鄰近點后判斷是否滿足共面條件。
[0034]步驟(3.5)中,將最后一次迭代得到的平面參數以及當前平面域的點分別保存到對應數組中。
[0035]步驟(1)中,通過激光雷達采集點云數據過程為:
[0036]步驟(1.1)本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種基于法向量分割與區域生長的平面特征提取方法,其特征在于:包括以下步驟:步驟(1):基于法向量分割的平面粗提取,得到室內環境平面特征粗分割結果;過程為:步驟(1.1):通過激光雷達采集的點云數據進行表面法向量估計,對當前點p0以及附近k個點構成的點集構造協方差矩陣進行計算,具體為:構造協方差矩陣進行計算,具體為:取協方差矩陣M最小特征值λ0對應的特征向量v0作為當前點的法向量;其中,k代表點的個數,p
i
代表當前點附近的第i個點,p0代表當前點,T代表向量轉置符號;步驟(1.2):法向量重定向;步驟(1.3):取完成法向量計算的點云數據進行法向量分割提取平面簇,得到當前點云數據中每個點的法向量;步驟(2):通過歐式聚類對不同的局部平面檢測并標記,將點云數據分成大小不等的平面簇;過程為:步驟(2.1):對分割出的點云數據構建kd
?
tree結構,查找每個點云在指定范圍內的最近點;步驟(2.2):創建一個標記數組用來記錄每個點云數據類別;步驟(2.3):構建一個空的堆結構,將滿足指定歐式距離的點儲存在空的堆結構中,遍歷每個點云直到循環結束;步驟(3):將聚類后的平面簇通過區域生長算法進行擴展;過程為:步驟(3.1):將聚類后的平面簇進行區域生長;步驟(3.2):通過添加新的鄰近點,計算當前點云數據的分布特征,引入協方差矩陣M1計算特征值參數λ1、λ2、λ3,大小排序為λ1≥λ2≥λ3;當點云分布接近平面時,λ3/λ1≤σ1,λ3/λ2≤σ2,其中σ1和σ2表示判斷特征閾值;如果不滿足所述平面分布特性,則跳過所述點,引入下一個鄰近點計算;步驟(3.3):采用公式(1)計算滿足平面分布特征的點云p0(x0,y0,z0)到擬合平面P的垂直距離d
P
:其中a,b,c為擬合平面的法向量參數,d為到所述擬合平面的距離;步驟(3.4):判斷是否滿足所設的點到平面距離閾值d
t
,滿足則加入到所述平面區域,同時從點云數據中移除所述點;步驟(3.5):對種子區域附近的點進行遍歷計算,直到沒有鄰近點再加入到當前種子區域;步驟(4):將具有相同平面特征的平面集進行合并,過程為:步驟(4.1):設定兩個平面間距離閾值為maxDist,法向量角度閾值為angle;步驟(4.2):對兩個平面集中的點隨機提取分別記為p和tp,采用公式(2)計算p和tp兩點到各自平面集之間的歐式距離d1和d2:D=|ax0+by0+cz0+d|
?????????...
【專利技術屬性】
技術研發人員:陳瑞強,靳宇彤,石明霞,
申請(專利權)人:淮陰工學院,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。