吳 鈺,馬 哈 代,郭 俊,葉 海 波,楊 興 國(guó),姚 強(qiáng)
(1.四川大學(xué) 水利水電學(xué)院,四川 成都 610065; 2.中國(guó)水利水電第七工程局有限公司,四川 成都 610213)
在碾壓堆石壩填筑料的壓實(shí)質(zhì)量檢測(cè)中,檢測(cè)坑體積的測(cè)量是關(guān)鍵,而傳統(tǒng)的灌水法檢測(cè)精度偏低,且作業(yè)過程耗時(shí)耗力[1-3]。隨著三維激光掃描技術(shù)的快速發(fā)展,其采用非接觸式高速激光測(cè)量方式,快速、大量地采集空間點(diǎn)位信息,高精度地重建掃描物體,為精確測(cè)量各種數(shù)據(jù)信息提供了新的技術(shù)支撐[4-6]。目前不規(guī)則物體的常規(guī)體積計(jì)算方法為:將目標(biāo)點(diǎn)云分層后,以分層體積之和作為目標(biāo)總體積[7-8],但此方法的前提是建立目標(biāo)點(diǎn)云模型[9-10]。然而,在點(diǎn)云數(shù)據(jù)采集的過程中,不可避免地會(huì)掃描到目標(biāo)物體以外的區(qū)域,多余的點(diǎn)云數(shù)據(jù)會(huì)增加體積計(jì)算偏差。因此如何準(zhǔn)確剔除多余的點(diǎn)云得到目標(biāo)點(diǎn)云模型,是利用三維激光掃描技術(shù)精確計(jì)算不規(guī)則物體體積的關(guān)鍵。
點(diǎn)云模型提取的本質(zhì)是點(diǎn)云分割,即將點(diǎn)云數(shù)據(jù)分割為目標(biāo)點(diǎn)云和非目標(biāo)點(diǎn)云兩部分。目前點(diǎn)云分割方法主要包括:① 基于邊緣特征的分割算法,該方法適用于邊緣特性比較明顯的、形狀單一的點(diǎn)云數(shù)據(jù)[11-12];② 基于聚類特征的分割算法,該方法依賴于特征向量的選取[13-14];③ 基于區(qū)域生長(zhǎng)的分割算法,該方法對(duì)初始種子點(diǎn)的選取要求較高[15-16]。目前學(xué)術(shù)界對(duì)點(diǎn)云分割方法應(yīng)用于檢測(cè)坑表面點(diǎn)云提取尚無針對(duì)性相關(guān)研究,且對(duì)于大小不一、表面形狀凹凸不平的檢測(cè)坑,現(xiàn)有方法尚不能直接應(yīng)用,無法有效得到檢測(cè)坑表面點(diǎn)云。
針對(duì)以上問題,本文基于聚類分割的思想,首先通過局部密度法得到最大孔洞邊界點(diǎn)云,將其擬合平面法向量作為碾壓面特征法向量,并以最大孔洞邊界點(diǎn)云作為種子點(diǎn)集合,通過法向量區(qū)域聚類的方法提取出檢測(cè)坑表面點(diǎn)云數(shù)據(jù)。
選擇位于反濾料、心墻料、過濾料3個(gè)位置的檢測(cè)坑,其點(diǎn)云數(shù)據(jù)由手持式三維激光掃描儀采集獲取,如圖1所示。檢測(cè)坑掃描點(diǎn)云數(shù)據(jù)包含碾壓面點(diǎn)云A和檢測(cè)坑表面點(diǎn)云B兩部分,其特征為:碾壓面點(diǎn)云較為平整,而檢測(cè)坑表面點(diǎn)云形狀高度不規(guī)則;檢測(cè)坑表面點(diǎn)云和碾壓面點(diǎn)云交界處點(diǎn)云法向量方向發(fā)生急劇變化。圖1(c)標(biāo)注了部分點(diǎn)云法向量,并規(guī)定了其方向,設(shè)n為碾壓面特征法向量,對(duì)于碾壓面點(diǎn)云,n1與n夾角較小;對(duì)于檢測(cè)坑表面點(diǎn)云,n3、n4與n夾角較小,而n2與n夾角較大。
圖1 檢測(cè)坑掃描點(diǎn)云數(shù)據(jù)
基于以上分析,本文提出了一種基于法向量區(qū)域聚類分割的方法以提取檢測(cè)坑表面點(diǎn)云,具體步驟如下:
(1) 以局部密度法檢測(cè)不均勻檢測(cè)坑掃描點(diǎn)云孔洞邊界;
(2) 以最大孔洞邊界點(diǎn)云作為外部點(diǎn)P,其余點(diǎn)云作為內(nèi)部點(diǎn)Q,并以外部點(diǎn)P的擬合平面法向量作為特征法向量n;
(3) 計(jì)算內(nèi)部點(diǎn)Q的法向量并修正方向,得到各點(diǎn)法向量與特征法向量n的夾角θ;
(4) 以外部點(diǎn)P中任意一點(diǎn)為種子點(diǎn)Pi,在內(nèi)部點(diǎn)Q中搜索與Pi的歐式距離小于r的點(diǎn)云集合Nq;
(5) 若Nq中不存在θ大于閾值θ′的點(diǎn),則把Nq聚類為碾壓面點(diǎn)云,并不斷增大r,直至Nq中存在θ大于閾值θ′的點(diǎn);
(6)遍歷P中全部的種子點(diǎn),即可分割得到碾壓面點(diǎn)云和檢測(cè)坑表面點(diǎn)云。
根據(jù)點(diǎn)云是否位于邊界位置,可把掃描點(diǎn)云分為邊界點(diǎn)和內(nèi)部點(diǎn)兩類。對(duì)于分布均勻的點(diǎn)云數(shù)據(jù),邊界點(diǎn)云容易通過點(diǎn)云密度法檢測(cè)得到,即邊界點(diǎn)的鄰點(diǎn)數(shù)較少,而內(nèi)部點(diǎn)的鄰點(diǎn)數(shù)較多[17]。然而,手持式三維激光掃描儀采集的點(diǎn)云數(shù)據(jù)往往分布不均勻,單一使用點(diǎn)云密度法不容易正確得到完整的點(diǎn)云邊界,需要更加細(xì)致的語義分割。本文以局部點(diǎn)云密度代替整體點(diǎn)云密度,從而有效檢測(cè)到不均勻點(diǎn)云數(shù)據(jù)邊界。具體方法是:對(duì)于任意一點(diǎn),其鄰點(diǎn)數(shù)為N,N個(gè)鄰點(diǎn)的鄰點(diǎn)數(shù)總和為M,則局部點(diǎn)云密度為M/N。若該點(diǎn)為邊界點(diǎn),則滿足:
M/N>s×N
(1)
式中:s為邊界檢測(cè)閾值系數(shù)。圖2(a)顯示了局部密度法檢測(cè)不均勻掃描點(diǎn)云數(shù)據(jù)孔洞邊界的效果,s取值為0.85?;谌靠锥催吔琰c(diǎn)云數(shù)據(jù),可通過聚類分割算法得到各個(gè)點(diǎn)云孔洞[18-19],對(duì)于整個(gè)掃描點(diǎn)云數(shù)據(jù),最大孔洞邊界點(diǎn)云即為碾壓面外部點(diǎn)P,其余點(diǎn)云則為內(nèi)部點(diǎn)Q,如圖2(b)所示。
圖2 碾壓面外部點(diǎn)的提取
由局部密度法獲取的外部點(diǎn)P為碾壓面點(diǎn)云中的一部分,因此可以將其擬合平面法向量作為碾壓面的特征法向量n?;谕獠奎c(diǎn)P,通過最小二乘法得到下列矩陣,求得擬合平面法向量n(a0,a1,-1),擬合平面如圖3所示。
(2)
式中:xi,yi,zi分別為外部點(diǎn)P中各點(diǎn)的位置坐標(biāo);k為P的總點(diǎn)數(shù)。
內(nèi)部點(diǎn)Q中的點(diǎn)云法向量通過MATLAB中的pcnormals函數(shù)計(jì)算得到[20]。由于pcnormals函數(shù)得到的法向量方向并不一致,如圖4(a)所示,因此還需要對(duì)其進(jìn)行修正。
圖4 點(diǎn)云法向量計(jì)算
設(shè)點(diǎn)A的坐標(biāo)為
(3)
式中:xi,yi,zi分別為掃描點(diǎn)云中各點(diǎn)的位置坐標(biāo);k為總點(diǎn)數(shù)。
基于特征法向量n和內(nèi)部點(diǎn)Q中各點(diǎn)云法向量,得到法向量夾角θ。
基于外部點(diǎn)P、內(nèi)部點(diǎn)Q和法向量夾角θ,通過區(qū)域聚類的方法得到檢測(cè)坑表面點(diǎn)云,圖5為整個(gè)檢測(cè)坑表面點(diǎn)云提取方法的流程圖,具體步驟如下:
圖5 檢測(cè)坑表面點(diǎn)云提取流程
(1) 以外部點(diǎn)P作為種子點(diǎn)云集,任選P中一點(diǎn)Pi作為種子點(diǎn);
(2) 在內(nèi)部點(diǎn)Q中搜索與Pi的歐式距離小于r的點(diǎn)云集合Nq,統(tǒng)計(jì)Nq的法向量夾角θ;
(3) 若Nq中不存在夾角θ大于閾值θ′的點(diǎn),則表示未在Q中搜索到檢測(cè)坑表面點(diǎn)云,在Q中刪除Nq,同時(shí)增加r(r=r+r),重復(fù)步驟(2);
(4) 若Nq中存在夾角θ大于閾值θ′的點(diǎn),則此時(shí)在Q中搜索到檢測(cè)坑表面點(diǎn)云,同時(shí)在P中搜索與Pi的歐式距離小于r的點(diǎn)云集合Np,在P中刪除Np;
(5) 重新選擇P中另一點(diǎn)Pi,重復(fù)步驟(2)~(4),直至P為空,則可得到碾壓面點(diǎn)云和檢測(cè)坑表面點(diǎn)云。
在圖6中,展示了步驟(3)和步驟(4)的具體實(shí)現(xiàn)過程。其中,Pi為種子點(diǎn),距離Pi為0-r、r-2r及2r-3r范圍內(nèi)的區(qū)域點(diǎn)云均不存在夾角θ大于閾值θ′的點(diǎn),直至距離Pi為(3~4)r范圍內(nèi)才出現(xiàn)夾角θ大于閾值θ′的點(diǎn)。因此,與種子點(diǎn)Pi距離小于3r的區(qū)域點(diǎn)云為碾壓面點(diǎn)云,其余點(diǎn)云則為檢測(cè)坑表面點(diǎn)云。檢測(cè)坑表面點(diǎn)云提取精度與r取值相關(guān)。
圖6 檢測(cè)坑表面點(diǎn)云和碾壓面點(diǎn)云判定示意
為了驗(yàn)證本文所述方法的可行性,采集了3類具有不同特征的檢測(cè)坑掃描點(diǎn)云數(shù)據(jù)進(jìn)行驗(yàn)證(見圖1)。其中,心墻料較反濾料其碾壓面平整度稍低;而過渡料較反濾料其檢測(cè)坑尺寸較大。通過MATLAB 2021a編程實(shí)現(xiàn)檢測(cè)坑表面點(diǎn)云提取。
在檢測(cè)坑表面點(diǎn)云提取中,其提取精度與種子點(diǎn)搜索距離r相關(guān),理論上r越小則提取精度越高。為了驗(yàn)證r對(duì)檢測(cè)坑表面點(diǎn)云提取效果的影響,分別設(shè)定r為0.002,0.005,0.01,0.02 m,其檢測(cè)坑表面點(diǎn)云提取效果如圖7所示。結(jié)果顯示:對(duì)于不同搜索距離r,本文方法均能有效提取檢測(cè)坑表面點(diǎn)云。如表1所列,隨著r的增大,提取的檢測(cè)坑表面點(diǎn)云數(shù)量也隨之增大,檢測(cè)坑表面點(diǎn)云提取精度逐漸降低,試驗(yàn)結(jié)果符合理論分析;隨著r的減小,檢測(cè)坑表面點(diǎn)云提取精度逐漸提升,但程序運(yùn)行耗費(fèi)的時(shí)間也隨之大幅度增加,因此還需要考慮提取精度和時(shí)間成本的關(guān)系。
表1 搜索距離r對(duì)提取效果的影響(θ′=45°)
圖7 不同搜索距離時(shí)檢測(cè)坑表面點(diǎn)云提取效果(θ′=45°)
在檢測(cè)坑表面點(diǎn)云提取中,通過法向量夾角θ和閾值θ′判定檢測(cè)坑表面點(diǎn)云和碾壓面點(diǎn)云的交界。理論上θ′越小,交界位置更靠近碾壓面區(qū)域。為了驗(yàn)證θ′對(duì)檢測(cè)坑表面點(diǎn)云提取效果的影響,分別設(shè)定θ′為30°,40°,50°,60°,其檢測(cè)坑表面點(diǎn)云提取效果如圖8所示。結(jié)果顯示,對(duì)于不同的閾值θ′,本文方法均能有效提取檢測(cè)坑表面點(diǎn)云。如表2所列,隨著θ′的減小,檢測(cè)坑表面點(diǎn)云數(shù)量隨之增大,表明提取的檢測(cè)坑表面區(qū)域面積逐漸擴(kuò)大,檢測(cè)坑邊界位置更靠近碾壓面區(qū)域,試驗(yàn)結(jié)果與理論分析一致。
表2 閾值θ′對(duì)提取效果的影響(r=0.002 m)
圖8 不同閾值θ′時(shí)檢測(cè)坑表面點(diǎn)云提取效果(r=0.002 m)
為從掃描數(shù)據(jù)中提取出檢測(cè)坑表面點(diǎn)云,本文提出了一種基于法向量區(qū)域聚類的分割方法。該方法以局部密度法檢測(cè)的碾壓面外部點(diǎn)構(gòu)建特征法向量,以區(qū)域聚類的方式確定了分割交界,防止了檢測(cè)坑表面點(diǎn)云漏選。試驗(yàn)結(jié)果表明:該方法能夠有效提取各類壩料的檢測(cè)坑表面點(diǎn)云;搜索距離r越小,檢測(cè)坑表面點(diǎn)云提取精度越高,但要考慮r和時(shí)間成本的關(guān)系;閾值θ′越小,檢測(cè)坑表面點(diǎn)云邊界越靠近碾壓面區(qū)域。
通過本文方法實(shí)現(xiàn)了檢測(cè)坑三維點(diǎn)云數(shù)據(jù)的快速提取,可為未來檢測(cè)坑體積計(jì)算和壓實(shí)度快速檢測(cè)評(píng)價(jià)奠定理論基礎(chǔ),進(jìn)而代替?zhèn)鹘y(tǒng)的灌水法,大幅度提高檢測(cè)效率,節(jié)省人工成本。