袁 輝
(中鐵第四勘察設(shè)計院集團有限公司 武漢 430063)
三維激光雷達(Light Detection and Ranging,Li-DAR)測量技術(shù)是一種非接觸、快速度、高精度和高密度測量數(shù)據(jù)獲取技術(shù)[1~4],已廣泛地應(yīng)用于智慧城市、工程測量等領(lǐng)域。從點云數(shù)據(jù)中提取各種所需的空間及屬性信息是點云數(shù)據(jù)后處理的一項重要內(nèi)容[5~7],其中從點云數(shù)據(jù)中擬合圓柱體是工程測量中一個常見的問題[8~10],例如管徑的尺寸檢測、立柱的直徑測量和垂直度檢測、隧道環(huán)片幾何尺寸測量和形變檢測等。
當(dāng)前圓柱體的擬合方法主要有基于幾何分析的擬合算法[10~12]、基于坐標(biāo)轉(zhuǎn)換的擬合算法[13~15]以及基于智能算法的擬合算法[16~17]等?;趲缀畏治龅臄M合算法直接從圓柱體方程的幾何定義出發(fā),建立誤差方程進行最小二乘平差,但是由于誤差方程的非線性的特點,擬合結(jié)果受參數(shù)初值影響較大,容易陷入局部收斂[18~19]?;谧鴺?biāo)變換的擬合方法是將圓柱體的軸線旋轉(zhuǎn)到與豎直方向平行,然后投影到水平面上進行圓形擬合,文獻[13~15]建立了基于坐標(biāo)轉(zhuǎn)換的非線性最小二乘平差模型,該方法也同樣依賴于初值的選擇。文獻[16~17]利用遺傳算法擬合圓柱體模型參數(shù),但該算法參數(shù)多,容易早熟收斂,同時計算效率低。
本文針對點云數(shù)據(jù)的圓柱體的擬合問題,根據(jù)基于坐標(biāo)轉(zhuǎn)換的擬合算法思想,構(gòu)造了旋轉(zhuǎn)矩陣將三維的非線性的圓柱體擬合問題轉(zhuǎn)換為二維的線性的圓形擬合,降低了處理的復(fù)雜度,同時利用迭代逼近法求解中軸線的方向向量,另外再根據(jù)擬合中誤差進行點云噪聲點剔除處理進行迭代擬合,提高了圓柱體模型參數(shù)擬合的準(zhǔn)確度。
在三維空間中,圓柱體是到其中心軸線距離為常數(shù)r的點集合,因此,圓柱體由以下7個參數(shù)唯一確定:圓柱體中軸線上的點po(xo,yo,zo)、中軸線方向向量s(a,b,c)、圓柱體半徑r。約束方向向量s為單位向量,即a2+b2+c2=1,因此圓柱面的方程可以表示為
定義數(shù)據(jù)點集合P={p1,p2,…,pN}為三維激光掃描儀采集得到的圓柱體表面點云,其中N為點數(shù),pj=(xj,yj,zj),pj∈P,j∈[1,N]。在最小二乘算法擬合過程中,定義點的擬合誤差為點到圓柱體中軸線的距離與圓柱體半徑之差,表示為
因此,采用最小二乘擬合使誤差函數(shù)F值最小,即:
基于幾何分析的擬合算法[11~12]對式的誤差方程進行線性化處理,舍去高次項,然后按照高斯牛頓法迭代計算。由于式的誤差方程包含根式,同時參數(shù)xo,yo,zo,a,b,c之間的相關(guān)性大,在參數(shù)初值不準(zhǔn)確的情況下容易造成局部收斂,導(dǎo)致錯誤的擬合結(jié)果,因此非線性最小二乘擬合圓柱體過程中對參數(shù)初值的選擇要求很高。
根據(jù)基于坐標(biāo)變換擬合圓柱體的思想[13],將圓柱體的中軸線旋轉(zhuǎn)到與z軸方向(0,0,1)平行,此時圓柱體在xoy平面上的投影為圓形,圓形半徑與圓柱體半徑相等。因此,一旦確定了中軸線方向向量s,便可將三維的圓柱擬合問題轉(zhuǎn)換為二維的圓形擬合問題,而圓形擬合可以用線性方程直接平差處理完成,降低了計算的復(fù)雜度。
定義圓柱體的中軸線方向向量s(a,b,c)繞x軸旋轉(zhuǎn)角度θ∈[0,2π),再繞y軸旋轉(zhuǎn)角度φ∈[0,2π)后變換為z軸方向向量(0,0,1),因此旋轉(zhuǎn)變換矩陣R為
變換矩陣滿足R-1=RT,另外方向向量s(a,b,c)需滿足
求解得到中軸線方向向量s(a,b,c)為a=sinφ,b=-sinθcosφ,c=cosθcosφ。根據(jù)旋轉(zhuǎn)矩陣R將點的坐標(biāo)(x,y,z)變換為(x′,y′,z′)。
對于變換后的點坐標(biāo)(x′,y′,z′)取x′和y′擬合二維平面圓形,圓形方程定義為
令A(yù)=-2x′o,B=-2y′o,C=(x′o)2+(y′o)2-r2,因此,式(8)可以轉(zhuǎn)換為線性方程
對線性方程式(9)根據(jù)間接法最小二乘平差直接求解得到參數(shù)A、B、C的值,然后計算得到。其中擬合的圓形的半徑r也是圓柱體的半徑,然后將擬合的圓心坐標(biāo)(x′o,y′o,0)進行反向坐標(biāo)變換轉(zhuǎn)換為圓柱體軸線上的點po(xo,yo,zo)。在擬合圓形過程中,定義點是pj=(xj,yj,zj)根據(jù)式(6)轉(zhuǎn)換后的點,其擬合誤差為
相應(yīng)地,點云集合的誤差函數(shù)F′為
根據(jù)上述基于坐標(biāo)轉(zhuǎn)換的圓柱體擬合算法,在已知中軸線方向向量s的情況下便能很方便地擬合得到圓柱體的7個參數(shù),因此其中的關(guān)鍵問題是如何準(zhǔn)確得到角度θ和φ,文獻[13]通過建立整體的坐標(biāo)轉(zhuǎn)換誤差方程進行非線性最小二乘進行迭代計算,計算過程復(fù)雜也需給定合適的參數(shù)初值,本文通過迭代逼近法求解θ和φ。
迭代逼近法解角度θ和φ的思路如下:初始給定角度值的值域范圍和角度步長較大,先初步定位當(dāng)前擬合誤差最小的一組θ和φ角度值,然后在這組角度值鄰域范圍內(nèi)采用更小的步長迭代查找新的最優(yōu)角度值,直到兩次擬合誤差值差別足夠小時則停止迭代。本文先根據(jù)角度θ和φ的不同取值,計算對應(yīng)的擬合誤差值F′,在F′最小時的那一組θ和φ值為最優(yōu)取值,利用迭代逼近法求解θ和φ的具體步驟如下:
1)定義角度θ和φ在第k=1次迭代時的初始值域范圍為2π,初始角度查找步長Δk=π/10,初始最優(yōu)擬合誤差,初始最優(yōu)角度值為θbest=0和φbest=0,迭代精度ε=1×10-5。
2)根據(jù)當(dāng)前角度步長Δk,在當(dāng)前角度范圍和內(nèi)按步長遍歷取值,即,,根據(jù)當(dāng)前角度和進行坐標(biāo)變換以及圓形擬合,計算當(dāng)前擬合誤差。
在上述迭代逼近法求解角度步驟中,在每一次的迭代過程中進行的擬合計算次數(shù)較少,同時每經(jīng)過一次迭代,角度的值域范圍就顯著減小,同時當(dāng)前最優(yōu)的角度值的精度提高一個等級,可以很快地收斂到最優(yōu)角度值。盡管利用迭代逼近法增加了擬合處理的次數(shù),但在最小二乘擬合過程中,是對二維的平面圓進行線性方程的擬合處理,計算簡單方便,也不會造成計算性能的顯著下降。
根據(jù)三維激光掃描測量得到的圓柱體點云數(shù)據(jù),往往有較多的噪聲點,如果不去噪直接擬合圓柱體的模型參數(shù),會導(dǎo)致較大的誤差。因此本文通過計算擬合結(jié)果的中誤差值δ,剔除擬合誤差超過3倍中誤差的噪聲點后再次進行擬合,然后重復(fù)該過程,直到無噪聲點被剔除為止。在后續(xù)的迭代過程中,角度θ和φ的初始值域范圍可以按上一擬合過程中的結(jié)果角度取一定的鄰域范圍,可以加快迭代逼近過程的收斂速度。
為了驗證本文提出的圓柱體擬合方法的有效性,同常規(guī)圓柱體擬合的最小二乘算法[12]進行對比實驗,最小二乘算法按實際情況選取合適初值。實驗數(shù)據(jù)為某一建筑圓形立柱的三維激光掃描點云數(shù)據(jù),如圖1所示,該立柱點云包含大約5000個點,點間距2cm。
圖1 建筑立柱點云數(shù)據(jù)
在都不進行噪聲點剔除情況下用不同算法進行圓柱體擬合,擬合結(jié)果如表1所示。
從表1中可以看出,兩種算法中軸線上點(xo,yo,zo)差別較大是因為不同算法選取軸線點的方式不同,現(xiàn)將最小二乘算法的軸線點沿其軸線方向移動使zo=2.20020m,移動后最小二乘算法的xo=-2.2854m、yo=4.4846m,移動后兩種算法軸線點距離差為0.1mm,差別很小。本文算法與最小二乘算法的擬合半徑相差0.1mm,中軸線角度相差0.08°,擬合誤差相差0.0002,二種算法結(jié)果很接近,是因為定義的誤差目標(biāo)方程實質(zhì)是相同的,所以最終收斂擬合的結(jié)果基本一致。但是常規(guī)擬合算法需要在給定合適的初值情況才能正確收斂,而因此本文算法無需初值選擇就能夠準(zhǔn)確地擬合圓柱體參數(shù)。
表1 立柱點云圓柱體擬合結(jié)果
圖2為一地鐵圓形盾構(gòu)隧道環(huán)片的點云數(shù)據(jù),點數(shù)74892個,點間距3cm,隧道設(shè)計半徑2.75m,從圖中可以看出點云中包含大量的非隧道輪廓的噪聲點。
圖2 隧道環(huán)片點云數(shù)據(jù)
采用本文的圓柱體擬合算法對該環(huán)片點云數(shù)據(jù)進行直接擬合和按本文方法進行迭代去噪擬合的結(jié)果如表2所示。
從表2中可以看出,未去噪直接擬合圓柱體的半徑r=2.7005m,與設(shè)計半徑2.75m相差很大,屬于錯誤的擬合結(jié)果,擬合誤差達到4285.4418。按照3倍的中誤差δ=0.2392m剔除噪聲點后,剩余70883個點,再次擬合得到圓柱體半徑為r=2.7408m,擬合誤差顯著減小到311.3382。在重復(fù)迭代去噪擬合6次后,無新的噪聲點被剔除,剩余67427個點,最終擬合半徑r=2.7528m,與設(shè)計半徑值接近,同時擬合誤差值F′=10.1426,遠小于未去噪時的擬合誤差。因此通過計算擬合中誤差然后按照3倍中誤差限值進行去噪擬合能有效提高圓柱體的擬合精度,從而滿足實際工程項目的需求。
表2 隧道環(huán)片點云圓柱體擬合結(jié)果
本文針對圓柱體點云數(shù)據(jù)的擬合問題,根據(jù)坐標(biāo)轉(zhuǎn)換擬合的思想,利用迭代逼近法準(zhǔn)確求解圓柱體的中軸方向向量,然后根據(jù)中軸方向旋轉(zhuǎn)點云數(shù)據(jù)到與豎直方向平行,將三維的非線性圓柱體擬合問題轉(zhuǎn)化二維的線形圓形擬合問題,降低了擬合的復(fù)雜度。通過建筑立柱圓柱體點云數(shù)據(jù)的擬合實驗,證明本文方法在無需給定初值情況下的擬合精度與正確擬合收斂的非線性最小二乘法的擬合精度相當(dāng)。根據(jù)地鐵隧道點云數(shù)據(jù)的實驗,通過計算擬合中誤差然后按照3倍的限差剔除噪聲點后迭代處理能夠有效提高擬合的精度,證明了本文圓柱體點云數(shù)據(jù)能夠滿足實際工程擬合精度的要求。