鐘陽弟
(廣東省國土資源測繪院,廣東 廣州 510000)
三維激光掃描儀在文物修復、變形監測和三維建模中的應用越來越廣泛,尤其是建筑探傷應用有很大的發展空間。一般建筑物的損傷包括裂化、縮化、風化和碰撞損傷。當建筑物表面受到損傷,用三維激光掃描儀掃描后就會產生相應的破壞點,即外凸點和內凹點,破壞區域在點云上的表現為坐標和反射強度的明顯變化,其紋理特征和幾何特征也會發生異常[1]。損傷部位面積和體積的解算方法目前還沒有一種方法適用所有情況,因此本文對距離梯度法和Delaunay三角化法兩種算法進行詳細探討,分析找到較為合適的方法。
對于受損情況的鑒定,一般需要一個平面或者曲面進行相對計算,這個面稱為參考面。距離梯度法和Delaunay三角化法均需采用一個未受損的參考面,用來比較受損表面的曲率信息,從而識別物體受損面和損傷程度。建立參考面可以通過選定臨近受損區域且沒有損傷的區域點云擬合出參考平面。擬合平面通常采用最小均方差之和的方法計算唯一參考平面[2],參考面的最小均方差之和定義如式(1)所示:
(1)
式中,n為點云數量;di(i=1,…,n)為第i個點到參考面的距離。
運用回歸方法對點云計算擁有最小均方差之和的參考面。參考面定義為:
b1X+b2Y+Z+b0=0
(2)
令b=[b0b1b2]′,則計算b的公式為:
b=-(A′A)-1A′Z
(3)
其中,
(4)
式中,[xiyizi]為i點的坐標。
擬合成的參考面(平面)示意圖如圖1所示。

圖1 擬合的參考平面
該算法以研究區域內的掃描點云與參考面點的Z坐標值差異與各點梯度值變化兩個指標來判定一個點是否屬于缺陷區域[3],自動識別缺陷區域并量化面積和體積。
將選擇的區域做一個基于軸的旋轉,使其平行于水平面(XY平面)。將損傷部分掃描的點定義為不規則點,通過識別研究區域內的這些不規則掃描點來確定缺陷區域位置。最普通的缺陷區域類型為撞擊或大量材料損失,該區域的掃描點云與周圍平面相比,會有明顯的不規則坐標值和光反射率。
由于研究區域已經旋轉至XY面,所以掃描點到參考面的距離D可以計算為:
D=|ZP-ZREF|
(5)
式中,ZP為選定的掃描點Z坐標值;ZREF為參考面的Z坐標值。
掃描點之間的梯度值變化也是另外一個確定一個點為不規則點的可靠指標。掃描得到的點云按照行和列的順序排列。一個列號為C、行號為R掃描點的梯度[4]可以計算為:

(6)
式中,X(C,R),Y(C,R),Z(C,R)是列號為C、行號為R的選定點的X,Y,Z坐標值;Δ為每個預設間隔中點的數目,該間隔可以人工調整以減少由噪聲點引起的潛在偏差,通常對于小區域,其值為1~4,對于大的缺陷區域探測,其值設為5~10。
對于每個點的D和G的值都能判定該點是否規則,即是否超出了下述標準:
對于距離標準:
Dis>αDis×Dis′
(7)
對于梯度標準:
Gra>αGra×Gra′
(8)
式中,Dis′為所有點到參考面的平均距離;Gra′為平均表面梯度值;系數αDis和αGra的選擇根據缺陷區域與研究區域的比例而定。
首先待研究的區域會被分成許多小格網,然后檢查格網中每個點的不規則性[5]。如果格網中不規則點的數量超過了閾值,則該格網會被認定為缺陷格網。有兩個基于距離和梯度標準的不規則率判定每一個細分的格網:
(9)
式中,θD為距離標準下的不規則率;θG為梯度標準下的不規則率;NDi和NGi為細分格網中不規則點的數量;Nall為格網中總點數。
當距離和梯度不規則率同時超出了閾值,該格網就會被認定為缺陷格網[6]。本文中距離和梯度的不規則率設定為0.5。一但被判定為缺陷格網,其周圍八個格網也會被檢測是否也為缺陷格網。如果八個格網中有一個確定為缺陷區域,則同樣的流程也會運用到該格網上,直至涉及的格網都被檢測過。根據前面定義的缺陷定義標準,檢測完所有格網之后,缺陷區域的面積即可以定量。可以將每一個缺陷格網的面積和體積累加起來計算總體缺陷部分的面積和體積。其體積計算公式為:
(10)

在探測缺陷區域之前需要人工設定閾值。對目標區域點云進行Delaunay三角化[7],如果三角形三個頂點的Z坐標平均值比閾值大,則認定該三角形為不規則三角形。
Delaunay三角化法通常將所選擇的點轉換到一個平滑平面上計算損傷面積和體積。算法可以將鄰近的點連接起來,并且不需重疊就可以分離三角形。獲得平滑面的步驟如下:
(1)將每個點i映射到XY平面。因為點云坐標已經旋轉到與XY平面平行的位置,所以映射可直接將坐標[xiyizi]轉換為[xiyi0]。可以在XY平面上獲得三角形集,再將點云的Z坐標值分配到三角形投影集中,即可得到一個三角形三維表面圖[8]。點云的三角化和三維空間表面的形成如圖2所示。

圖2 點云數據三角化和三維空間表面
(2)其量化過程同距離和梯度結合算法,包括面積和體積計算。將三角形面積累加起來就是缺陷區域面積[9]。缺陷區域體積計算步驟如下:
①計算每個三角形的平均Z坐標值Ztri。
②采用投影三角形三邊向量叉乘值一半的方法,計算XY平面上每個三角形的映射面積AK。
③采用海倫公式計算每個三角形的空間面積SK:
(11)
式中,a、b、c分別為三角形周長;p=(a+b+c)/2。
④計算破壞三角形區域的體積:
V=AK·|Ztri-Zmean|
(12)
式中,Ztri為三角形三頂點到參考平面的平均距離;Zmean為平面點云Z坐標的平均值。
⑤將破壞閾值設定為三倍平面擬合中誤差:
(13)
如果|Ztri-Zmean|的值比閾值δ大,則該三角形為缺陷部分,它的面積和體積將會計入到總的缺陷面積和體積中,重復這一過程直至所有三角形都被檢測過。
⑥輸出計算的損傷面積和體積。
為了驗證上述算法的實用性和有效性,選擇兩個混凝土框架結構作為研究對象。將混凝土框架放在振動臺上振動,模擬實際建筑物的磨損情況,使其產生裂縫或部分混凝土脫落。因為混凝土結構各個地方都有裂縫和損壞,所以為了研究方便,選取A1區域的混凝土結構進行研究。然后使用地面三維激光掃描儀對遭受損傷的框架結構進行掃描,求出損傷面積和損傷總體積。掃描參數設置為:分辨率為1/2、質量為4X 、彩色掃描,掃描密度約為3.068 mm/10 m。掃描點云分布如圖3所示。

圖3 A1框架結構點云分布圖
圖4~圖5分別為距離梯度法和Delaunay三角化法探測出的損傷形狀和損傷點云情況。從損傷的形狀上(紅色點)看,對比實物兩種方法都能較為準確地解算出損傷的外觀形狀;從點云數量上看,前者方法的點云數量會隨著設定的距離和梯度不規則率閾值發生變化,不滿足該閾值的點認為無損傷,進行了部分剔除,但是足夠構建出損傷狀態;從探傷的解算數值看,距離梯度法檢測出A1的損傷面積為4.275e-04 m2,總損傷體積為3.260 2e-06 m3。Delaunay三角化法檢測的破壞點如圖5紅色點所示,檢測出的損傷面積為3.400 105e-04 m2,總損傷體積為2.570 1e-06 m3。兩者的面積差值在e-05量級,體積差值在e-06量級。可認為兩者均有效得到了損傷面積和體積,且數值基本一致。

圖4 距離梯度法破壞點探測結果

圖5 Delaunay法破壞點探測結果
為考量具體的體積準確性,損傷部分用細沙填筑滿,最后用吸塵器吸出,用量筒量取細沙體積。共計操作三次取平均,得到體積為2.934 1e-06 m3。兩種方法與細沙法差值均在e-7量級,認為兩種方法均有效準確。
距離梯度法是根據單個點與參考面的距離和該點梯度與平均梯度值的差值與閾值進行比較從而判定破壞點的,而Delaunay三角化法是先將點云數據三角化[10],構造三角網,再判定空間三角形與參考平面的平均距離是否超過閾值,從而判定該三角形是否為破壞三角形。從實驗結果可以看出,兩種方法的結果基本一致。兩種方法之間的相關性主要取決于計算過程中采取的閾值大小和參數值:距離梯度法主要考慮自定義破壞判斷的系數、梯度計算的采樣間隔以及區域分塊間隔,而Delaunay三角形法主要考慮破壞閾值的設定。此外,前者算法計算時間總共335.489 s,后者僅僅需要17.461 s,后者在運算速度及適用性上均優于前者。
利用上述兩種算法對混凝土框架結構進行破壞區域的探測及損壞面積、體積的量化,可以得到滿意的結果,上述算法可行可靠。對于閾值大小的研究還需要大量的實驗來獲取最佳經驗值,同時考慮到探傷參考面可能是曲面,那么任意參考面的選取和建立也是日后的研究方向之一。