黎建洲,韓賢權(quán),萬 鵬
(1.長江科學(xué)院 工程安全與災(zāi)害防治研究所,武漢 430010;2.水利部水工程安全與病害防治工程技術(shù)研究中心,武漢 430010;3.國家大壩安全工程技術(shù)研究中心,武漢 430010)
傳統(tǒng)的建筑物現(xiàn)狀測量主要利用全站儀和實(shí)時(shí)動態(tài)載波相位差分技術(shù)(Global Navigation Satellite SysteM-Real-time kinematic,GNSS-RTK)測量特征點(diǎn),配合測距儀和鋼卷尺等,該方法工作強(qiáng)度大、效率低、對測量環(huán)境要求嚴(yán)格,而且得到的測量信息比較單一[1]。工程項(xiàng)目施工過程可能造成周圍地質(zhì)條件變化,引起地表不均勻沉降變形,導(dǎo)致建筑物發(fā)生傾斜、開裂等破壞,需要及時(shí)掌握施工過程中建筑物的變形情況,客觀記錄建筑物狀態(tài)。目前,建筑物變形測量主要采用上述傳統(tǒng)測量方法,在實(shí)際測量中因其效率低會影響工程進(jìn)度,無法及時(shí)掌握建筑物的變形情況,存在安全隱患。三維激光掃描技術(shù)通過逐點(diǎn)掃描的方式獲取高密度激光點(diǎn)云數(shù)據(jù),通過有效處理可提取研究對象精確的三維幾何信息[2]。相比傳統(tǒng)的單點(diǎn)式測量方法,三維激光掃描技術(shù)數(shù)據(jù)采集效率高,能夠獲取目標(biāo)的面狀變形信息,可以對建筑物進(jìn)行整體監(jiān)測,能有效避免以往基于單點(diǎn)數(shù)據(jù)的變形分析結(jié)果中所帶有的局部性和片面性,因此是進(jìn)行地表建筑變形監(jiān)測的一種新的技術(shù)手段[3]。
胡玉祥等[4]成功將三維激光掃描技術(shù)應(yīng)用于建筑物的竣工測量;鐘棉卿[5]、倪佳琦[6]、彭勁松等[7]、梁智勇等[8]分別利用三維激光掃描技術(shù)完成了建筑物立面測量工作,結(jié)果證明該技術(shù)能夠大大地提高工作效率,具有廣泛的應(yīng)用前景。李玉兵[9]提出了一種根據(jù)建筑物立面特征規(guī)則的建筑物立面分割方法,實(shí)驗(yàn)表明該方法具有較強(qiáng)的適用性和魯棒性。在具體實(shí)施過程中,馮鳴等[10]使用改進(jìn)的最近點(diǎn)迭代(Iterative Closest Point,ICP)算法對巖體結(jié)構(gòu)點(diǎn)云與影像進(jìn)行了配準(zhǔn),從而獲得了整個(gè)研究對象的結(jié)構(gòu)面點(diǎn)云;韓賢權(quán)等[11]提出了新的適應(yīng)度函數(shù)以改進(jìn)粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法,該適用度函數(shù)使得點(diǎn)云數(shù)據(jù)法向量叉積代數(shù)和最小,在選取最佳配準(zhǔn)點(diǎn)的基礎(chǔ)上實(shí)現(xiàn)了散亂點(diǎn)云的精確配準(zhǔn)。隨機(jī)抽樣一致性(Random Sample Consensus,RANSAC)算法是點(diǎn)云平面識別的常用算法,針對RANSAC算法在處理含有無效數(shù)據(jù)時(shí)的有效性,眾多學(xué)者將其應(yīng)用于平整結(jié)構(gòu)面識別研究。Han等[12]在其研究中對RANSAC算法進(jìn)行了改進(jìn)和優(yōu)化,證明了其在巖體結(jié)構(gòu)面識別方面的可行性,但在研究中發(fā)現(xiàn),當(dāng)點(diǎn)云數(shù)據(jù)量較大時(shí),其處理效率還有待提高;肖嬌琳等[13]基于RANSAC算法,提出建筑物平面和曲面優(yōu)化擬合算法,實(shí)驗(yàn)表明該算法能夠較好地識別噪點(diǎn)數(shù)據(jù),抗干擾性較強(qiáng)。
本文在前人研究基礎(chǔ)上,針對傳統(tǒng)RANSAC算法在建筑物平面擬合過程中存在的問題,提出了改進(jìn)隨機(jī)抽樣一致性(Modified RANSAC,M-RANSAC)算法進(jìn)行平面和邊緣探測,并將該方法成功應(yīng)用于珠江三角洲水資源配置工程的建筑物現(xiàn)狀測量。
RANSAC算法是一種以迭代方式從一組包含離群點(diǎn)的數(shù)據(jù)中估算出數(shù)學(xué)或幾何模型的算法。常規(guī)RANSAC算法的主要步驟為:
(1)從點(diǎn)云數(shù)據(jù)中隨機(jī)選取3個(gè)非共線點(diǎn),計(jì)算通過這3點(diǎn)構(gòu)成的平面方程。
(2)利用得到的平面方程,計(jì)算所有點(diǎn)到平面距離,找出位于閾值內(nèi)的內(nèi)點(diǎn)。
(3)如果內(nèi)點(diǎn)個(gè)數(shù)大于設(shè)定閾值(通常為總點(diǎn)數(shù)的50%~70%),則認(rèn)為找到了主要的平面成分,算法結(jié)束。否則,返回步驟(1)繼續(xù)迭代。
(4)根據(jù)內(nèi)點(diǎn)重新計(jì)算平面方程,獲得優(yōu)化后的平面模型。
(5)對優(yōu)化后的平面模型,再進(jìn)行驗(yàn)證,計(jì)算所有點(diǎn)到新平面距離,找出新的內(nèi)點(diǎn)集。如果內(nèi)點(diǎn)集與上一步內(nèi)點(diǎn)集差異很大,則表明上一步選擇的種子點(diǎn)不夠理想,需要重新選擇種子點(diǎn)并重復(fù)步驟3。
(6)最終獲得的平面模型及對應(yīng)的內(nèi)點(diǎn)集為主要的平面成分及對應(yīng)的特征點(diǎn)集。
(7)從原點(diǎn)云數(shù)據(jù)中剔除得到的平面內(nèi)點(diǎn),得到剩余未處理的點(diǎn),重復(fù)步驟1—步驟6,繼續(xù)搜索其他的平面成分。
(8)反復(fù)進(jìn)行搜索迭代,直到剩余的點(diǎn)數(shù)量低于閾值或無法找到更好的平面模型為止。
RANSAC算法的思路是通過反復(fù)隨機(jī)采樣,快速求解一個(gè)初始的數(shù)學(xué)模型(如特定平面),并估算該模型的誤差范圍,用以判斷哪些點(diǎn)支持該模型。根據(jù)支持模型的點(diǎn),重新計(jì)算模型,進(jìn)一步提高模型的精度和支持度。通過迭代找到最優(yōu)的模型及特征點(diǎn)集。這種方法的優(yōu)點(diǎn)是不需要輸入點(diǎn)云的噪聲參數(shù),可以有效處理包含較大噪聲和離群點(diǎn)的數(shù)據(jù)集[14]。
對于基于RANSAC的平面擬合算法而言,首先在初始點(diǎn)云中隨機(jī)選擇3個(gè)點(diǎn),計(jì)算對應(yīng)的平面方程為ax+by+cz+d=0(a、b、c、d均為方程的參數(shù));隨后計(jì)算所有點(diǎn)至該平面的距離di;選取閾值dthreshold,若di≤dthreshold,則該點(diǎn)被認(rèn)為是模型內(nèi)樣本點(diǎn),否則為模型外樣本點(diǎn);重復(fù)以上步驟,選取最佳擬合參數(shù),即內(nèi)點(diǎn)數(shù)量最多的平面模型參數(shù)。
本文提出的改進(jìn)策略是將一種順序法向量檢測機(jī)制應(yīng)用到RANSAC算法中,通過判斷點(diǎn)云數(shù)據(jù)和擬合得到的平面模型之間的法向向量(Normal Vector,NV)是否符合一定的檢核條件,從而使改進(jìn)的RANSAC算法(M-RANSAC算法)能夠自動判斷該數(shù)據(jù)點(diǎn)能否加入平面模型進(jìn)行迭代計(jì)算,進(jìn)而保證不會使錯(cuò)誤的平面模型擁有最多的點(diǎn)云數(shù)據(jù),提高所得到平面模型的正確率。
改進(jìn)的RANSAC算法流程圖如圖1所示。
圖1 改進(jìn)的RANSAC算法流程
M-RANSAC算法的具體改進(jìn)策略如下:設(shè)定檢核條件的角度閾值θth,在進(jìn)行迭代計(jì)算中,比較每一個(gè)點(diǎn)的法向量NV和第一次擬合平面模型時(shí)隨機(jī)選取的3個(gè)點(diǎn)的法向量NV3pl之間的夾角θ與閾值θth的大小關(guān)系,從而自動判斷該點(diǎn)是否可以加入平面模型進(jìn)行迭代計(jì)算,避免了錯(cuò)誤的平面模型擁有最多的點(diǎn)云數(shù)據(jù)情況出現(xiàn),提高了RANSAC算法得到平面模型的正確率。用M-RANSAC算法比較兩個(gè)法向量之間的夾角θ與閾值θth之間的關(guān)系時(shí),法向量方向必須相同。具體描述如下:
(1)輸入每個(gè)點(diǎn)參數(shù)和第一次擬合平面模型時(shí)隨機(jī)選取的3個(gè)點(diǎn)的法向量:Pi=(x,y,z,nx,ny,nz,di)和NV3pl= (nx3pl,ny3pl,nz3pl)。nx、ny、nz分別為法向量的x向、y向、z向分量。
(2)比較每個(gè)點(diǎn)與平面之間的距離di與設(shè)定的距離閾值dthreshold之間的大小:如
(3)如果cosθ>0,則繼續(xù)比較θ與角度閾值θth的關(guān)系,即當(dāng)cosθ>cosθth時(shí),則θ<θth,可以接受Pi點(diǎn),并加入整體已接受的模型;當(dāng)cosθ
(4)判斷Pi+1點(diǎn)是否存在,如存在則轉(zhuǎn)至步驟(1)讀取Pi+1點(diǎn),進(jìn)行判斷;如不存在,則得到整體可接受的平面模型。
為了驗(yàn)證本文改進(jìn)的RANSAC算法的可行性和有效性,選取珠江三角洲水資源配置工程輸水線路安全監(jiān)測01—02標(biāo)段沿線地表房屋建筑的現(xiàn)狀測量,計(jì)算各處房屋立面傾斜率,掌握其安全狀態(tài)。本次共掃描測量房屋70座,提取房屋立面301個(gè)。
針對長距離引調(diào)水工程沿線建筑物跨度大、聚集性強(qiáng)等特點(diǎn),本文基于三維激光掃描技術(shù)的建筑物現(xiàn)狀測量主要包括三維激光掃描點(diǎn)云數(shù)據(jù)準(zhǔn)備、單體建筑物提取、建筑物線面擬合、建筑物變形分析4個(gè)步驟,技術(shù)路線如圖2所示。
圖2 技術(shù)路線
2.2.1 單體建筑物提取
采用基于布料模擬的地面點(diǎn)濾波算法[15],對獲取點(diǎn)云進(jìn)行地面點(diǎn)云濾除;濾除地面點(diǎn)可打斷各個(gè)地物在地面上的連通性,有利于隨后的單體建筑物提取,同時(shí)也可大大降低后續(xù)數(shù)據(jù)處理的數(shù)據(jù)量;完成地面點(diǎn)濾波后,對非地面點(diǎn)云進(jìn)行連通成分分割,得到各個(gè)相互分離的點(diǎn)云子集C1、C2、…、Cn,該點(diǎn)云子集中既包含了單體建筑物點(diǎn)云,也包含了植被、行人、車輛等其他地物;因此需要從點(diǎn)云子集中自動濾除非目標(biāo)地物,提取出建筑物點(diǎn)云子集B1、B2、....、Bn,獲得多個(gè)單體建筑物點(diǎn)云;單體建筑物自動提取算法如下:
設(shè)點(diǎn)云P進(jìn)行連通成分分割后的點(diǎn)云子集為Ci(i=1,2,…,n),對各個(gè)點(diǎn)云子集進(jìn)行平均曲率提取,即
(1)
式中:MCi為點(diǎn)云子集Ci的平均曲率;LCj為點(diǎn)云子集Ci中某一點(diǎn)Qj在一定鄰域范圍內(nèi)的局部曲率;m為點(diǎn)云子集Ci中的點(diǎn)數(shù)。
局部曲率LCj為
(2)
式中λjk(k=0,1,2)為點(diǎn)Qj及其一定鄰域范圍內(nèi)的所有點(diǎn){Q}組成的協(xié)方差矩陣COV的三個(gè)特征值,且由大到小排列,即λj0≥λj1≥λj2。
COV3×3為
(3)
在獲取各個(gè)點(diǎn)云子集的平均曲率MC之后,則根據(jù)MC的值設(shè)定閾值,若某一點(diǎn)云子集的MC小于某一閾值,則該點(diǎn)云子集被判定為建筑物點(diǎn)云Bi(i=1,2,…,n)。圖3為單體建筑物分割效果圖。
圖3 單體建筑物點(diǎn)云分割提取效果
2.2.2 建筑物線面擬合
針對獲得的單體建筑物點(diǎn)云數(shù)據(jù),利用本文提出的改進(jìn)隨機(jī)抽樣一致性算法(M-RANSAC)進(jìn)行平面和邊緣探測,將建筑物點(diǎn)云擬合為幾何體。采用本文提出的M-RANSAC算法進(jìn)行平面擬合,可以成功提取每個(gè)子集內(nèi)的所有平面。在現(xiàn)有的角度和距離閾值條件下,當(dāng)被拒絕在平面外的點(diǎn)集中,無法再擬合提取出一個(gè)新的平面,整個(gè)迭代過程將會終止。該算法可使提取的平面更加符合建筑物的主要結(jié)構(gòu)特征,大大減少后續(xù)的人工處理工作量。最后,可利用提取的建筑物主平面,計(jì)算出建筑物的主要邊緣線,如圖4所示。
圖4 建筑物線面擬合結(jié)果示意圖
2.2.3 建筑變形分析
在上一步驟模型擬合的基礎(chǔ)上,取得各個(gè)幾何模型的定量參數(shù),如垂直傾角、水平傾角、傾斜方向、表面平整度、撓度等。將取得的幾何參數(shù)與設(shè)計(jì)參數(shù)或多期擬合參數(shù)進(jìn)行對比,分析建筑物幾何參數(shù)的變形量。
本次珠江三角洲水資源配置工程安全監(jiān)測01—02標(biāo)段利用三維激光掃描儀共掃描房屋70棟,提取了301個(gè)房屋立面的傾斜率。經(jīng)統(tǒng)計(jì)分析,累積38.87%的房屋立面傾斜率<1‰,累積73.75%的房屋立面傾斜率未超報(bào)警值3.5‰,累積83.38%的房屋立面傾斜率未超控制值5‰。其中,29個(gè)房屋立面傾斜率在3.5‰~5‰之間,50個(gè)房屋立面超出控制值5‰,詳細(xì)數(shù)據(jù)見表1。
表1 房屋立面傾斜率數(shù)據(jù)統(tǒng)計(jì)結(jié)果
數(shù)據(jù)表明,有5處房屋(共計(jì)79個(gè)立面)的立面平均傾斜率超出報(bào)警值3.5‰,其平均傾斜率分別為9.58‰、7.83‰、5.61‰、3.73‰、4.15‰。傾斜率超限的立面大多屬于磚混結(jié)構(gòu)一層平房或臨時(shí)搭建的鐵皮房,超限原因主要是由于該類房屋建造標(biāo)準(zhǔn)不高。例如,超限立面最多,超出控制值最大的兩處房屋如圖5所示,圖5中紅色立面為傾斜率>5‰的超限立面,綠色立面為未超限立面。其超限立面主要為臨建墻體,圍墻墻體、鐵皮房或一層平房。
圖5 立面傾斜超限情況示意圖
為了驗(yàn)證本文采用方法測量結(jié)果的準(zhǔn)確性,在本次獲取的301個(gè)房屋立面中,隨機(jī)選取其中60個(gè)立面,利用徠卡TM50全站儀(測角精度0.5″,測距精度0.6 mm+1 ppm,1 ppm表示距離1 km的隨機(jī)誤差為1 mm)進(jìn)行立面測量。將兩種方法計(jì)算得到的立面傾斜率進(jìn)行差值ΔI對比,以此評定本文采用方法的準(zhǔn)確性,對比結(jié)果見表2。
表2 2種方法計(jì)算傾斜率的差值統(tǒng)計(jì)結(jié)果
從2種方法對比結(jié)果來看,本文采用的方法與全站儀測量的立面傾斜率差值都在1.5‰以內(nèi),其中95%的差值都在1‰以內(nèi),差值最大為1.34‰。說明采用本文的方法進(jìn)行建筑物立面測量精度與常規(guī)全站儀的測量精度相當(dāng),同時(shí)在野外數(shù)據(jù)采集時(shí)不會受測量視角限制需要反復(fù)調(diào)整架站點(diǎn),提高了數(shù)據(jù)采集效率,得到的建筑物幾何信息更加豐富,可以更加直觀地進(jìn)行三維展示。
同時(shí)為了驗(yàn)證本文改進(jìn)的RANSAC算法的有效性,隨機(jī)選取經(jīng)過單體建筑物點(diǎn)云分割的15棟房屋點(diǎn)云數(shù)據(jù),利用常規(guī)RANSAC算法進(jìn)行線面擬合。選取的15棟房屋結(jié)合掃描點(diǎn)云數(shù)據(jù)進(jìn)行實(shí)際現(xiàn)場調(diào)查有78個(gè)房屋立面,分別利用改進(jìn)的RANSAC算法和常規(guī)RANSAC算法進(jìn)行平面擬合,得到的房屋立面錯(cuò)檢率和漏檢率如表3。
表3 2種算法平面擬合結(jié)果對比
從2種算法平面擬合結(jié)果來看,改進(jìn)的RANSAC算法較常規(guī)的RANSAC算法在平面擬合的正確率上有較大的提高,說明增加擬合模型的約束條件,可以使提取的平面更加符合建筑物的主要結(jié)構(gòu)特征,降低錯(cuò)檢率。
傳統(tǒng)的建筑物測量方法存在效率低、測量信息單一等局限性,無法滿足大范圍、高效率的建筑物現(xiàn)狀測量的需求。
本文針對傳統(tǒng)RANSAC算法在建筑物平面擬合過程中存在的問題,通過引入順序法向量檢測機(jī)制,同時(shí)增加擬合模型的約束條件,提出了改進(jìn)隨機(jī)抽樣一致性算法(M-RANSAC)進(jìn)行平面和邊緣探測,提高了建筑物變形信息提取的效率和精度,并在珠江三角洲水資源配置工程中得到了較好的應(yīng)用。
本次主要進(jìn)行珠江三角洲水資源配置工程隧洞盾構(gòu)開挖施工前沿線建筑物初始狀態(tài)的測量,后續(xù)的工作是在施工過程中進(jìn)行多期數(shù)據(jù)變形對比分析,及時(shí)掌握沿線建筑物的安全狀態(tài)。