楊軍建 吳良才
(東華理工大學(xué) 測繪工程學(xué)院,江西 南昌330013)
與傳統(tǒng)測量方法相比,三維激光掃描技術(shù)獲取點(diǎn)云具有快速性、高效性和高精度特性,在測繪領(lǐng)域中扮演著越來越重要的角色。三維激光掃描能快速獲取反映目標(biāo)物實(shí)時(shí)、動(dòng)態(tài)變化、真實(shí)形態(tài)特性的信息,是獲取空間數(shù)據(jù)的有效技術(shù)手段。
對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行擬合就是根據(jù)掃描點(diǎn)集中的點(diǎn)云匹配出特定的曲面模型,求取出最佳模型參數(shù),使點(diǎn)云子集合與模型參數(shù)之間達(dá)到高度吻合的目的。三維點(diǎn)云數(shù)據(jù)集合中包含大量的平面特征,這些平面特征可以被用于匹配計(jì)算中配準(zhǔn)點(diǎn)云、目標(biāo)建模中簡化數(shù)據(jù)等,因此,三維點(diǎn)云精確的平面擬合具有非常重要的意義[1-2]。由于儀器本身或外部因素等原因,三維激光掃描得到的點(diǎn)云數(shù)據(jù)存在各種誤差。文獻(xiàn)[3-7]主要介紹了提取點(diǎn)云平面特征的方法,如最小二乘法、特征值法,可根據(jù)某種給定的目標(biāo)方程,求出最佳模型參數(shù)。但這些方法都不能剔除異常值,特別是存在較大較多的異常值時(shí)擬合平面不穩(wěn)定,算法不具有穩(wěn)健性。針對(duì)含有較大誤差或異常值的點(diǎn)云數(shù)據(jù),一般采用結(jié)合特征值法的隨機(jī)抽樣一致性(random sample consensus,RANSAC)算法擬合點(diǎn)云平面,在異常值存在的情況下可以得到比較理想的擬合效果,但是該方法對(duì)閾值t的選取比較敏感,本文對(duì)此算法進(jìn)行了改進(jìn),通過自動(dòng)選取閾值t來檢測并剔除異常值,得到最佳參數(shù)估值。
隨機(jī)抽樣一致性算法(RANSAC)根據(jù)尋找模型去擬合數(shù)據(jù)的思想,用滿足可行條件的盡量少的已知數(shù)據(jù)去得到一個(gè)初始解然后剔除異常數(shù)據(jù),并使用一致性數(shù)據(jù)集去擴(kuò)大已知數(shù)據(jù)集,在計(jì)算機(jī)視覺領(lǐng)域有較廣泛的應(yīng)用[8-9]。隨機(jī)抽樣一致性算法要求在一定的置信概率下,基本子集最少迭代次數(shù)M與至少取得一個(gè)良性取樣子集的概率P( P<ε) 滿足如下關(guān)系:
式中,ε為數(shù)據(jù)錯(cuò)誤率,m為計(jì)算模型參數(shù)需要的最小數(shù)據(jù)量,通常情況下ε和P是根據(jù)具體條件給定的[10],本文取ε=0.2,P=0.99。
利用改進(jìn)的結(jié)合特征值法的RANSAC算法進(jìn)行點(diǎn)云平面擬合,其過程為:
1)在原始點(diǎn)云中選取任意3個(gè)點(diǎn),判斷其是否共線,若不共線則解算出其對(duì)應(yīng)的初始平面ax+by+cz=d;
2)計(jì)算點(diǎn)云到該初始平面的距離,di=axi+byi+czi-d;
3)選取閾值t=2σ0,σ0為點(diǎn)云到初始平面模型距離的標(biāo)準(zhǔn)偏差。當(dāng)di>t時(shí)該點(diǎn)被當(dāng)做異常點(diǎn)剔除,反之被當(dāng)做有效數(shù)據(jù)保留,統(tǒng)計(jì)有效數(shù)據(jù)的數(shù)量PNum;
4)重復(fù)1),2),3)步驟,迭代 M 次,比較并選取含有效數(shù)據(jù)點(diǎn)數(shù)量PNum最大的平面;
5)采用特征值法對(duì)有效數(shù)據(jù)點(diǎn)數(shù)量PNum最大的平面best Plane重新進(jìn)行估計(jì),即可得到所需的平面模型參數(shù)。
步驟3)中閾值t的選取很重要,若選取的t較小則會(huì)剔除應(yīng)該選擇的有效點(diǎn),而選取的t較大時(shí)則會(huì)將無效點(diǎn)或誤差點(diǎn)誤判為有效點(diǎn)。標(biāo)準(zhǔn)偏差σ是一種數(shù)據(jù)值偏離算術(shù)平均值程度的度量,此處利用點(diǎn)到初始平面模型距離的標(biāo)準(zhǔn)偏差來自動(dòng)選取閾值t。該方法能有效地剔除異常數(shù)據(jù),保留有效數(shù)據(jù),且能自動(dòng)選擇閾值,不需要人為設(shè)定其參數(shù),方便易行。
用Riegl VZ400三維激光掃描儀獲取某建筑物立面的點(diǎn)云數(shù)據(jù),主要為平面模型。采用人機(jī)交互的方式,手動(dòng)選取部分處于同一平面的點(diǎn)云數(shù)據(jù)進(jìn)行處理,如圖1。
分別采用特征值法、結(jié)合特征值法的RANSAC算法及改進(jìn)的結(jié)合特征值法的RANSAC算法對(duì)圖1中的所選取的點(diǎn)云數(shù)據(jù)進(jìn)
行平面擬合,得到平面模型的參數(shù),所得結(jié)果見表1。將三種方法得到的模型參數(shù)進(jìn)行平均,得到各個(gè)模型參數(shù)的均值,此均值可作為此平面模型參數(shù)的參考值。
表1 點(diǎn)云平面模型各參數(shù)的估值以及其平均值(不含異常值)
如圖2所示,在點(diǎn)云數(shù)據(jù)中加入1000個(gè)異常點(diǎn)(紅色點(diǎn)為異常點(diǎn))。
為驗(yàn)證結(jié)合特征值法的RANSAC算法中閾值t對(duì)點(diǎn)云平面擬合效果的影響,取t值為0.01、0.02、0.04、0.06、0.08時(shí)對(duì)加入異常值的點(diǎn)云數(shù)據(jù)進(jìn)行處理。所得結(jié)果見表2,t=0.02時(shí),剔除點(diǎn)個(gè)數(shù)為980,基本剔除了所有異常點(diǎn),擬合參數(shù)與參考值比較接近,擬合效果較好;t=0.01時(shí),雖然擬合參數(shù)與參考值接近,但剔除點(diǎn)個(gè)數(shù)為2382,遠(yuǎn)大于異常點(diǎn)個(gè)數(shù)1000,剔除了過多的有效點(diǎn);t=0.08時(shí),剔除點(diǎn)個(gè)數(shù)128遠(yuǎn)小于異常點(diǎn)個(gè)數(shù)1000,擬合值與參考值差別較大,擬合效果不理想。
用特征值法和改進(jìn)結(jié)合特征值法的RANSAC算法對(duì)加入異常點(diǎn)的點(diǎn)云數(shù)據(jù)進(jìn)行平面擬合,得到結(jié)果見表3,將所得結(jié)果與各模型參數(shù)的參考值進(jìn)行比較,改進(jìn)的算法得到的結(jié)果比特征法更為接近參考值,點(diǎn)云到最終擬合平面距離的標(biāo)準(zhǔn)偏差σ也比采用特征值法時(shí)的標(biāo)準(zhǔn)偏差 小,擬合效果更為理想。
表2 結(jié)合特征值法的RANSAC算法取不同閾值t時(shí),點(diǎn)云平面模型各參數(shù)的估值(含異常值)
表3 點(diǎn)云平面模型各參數(shù)的估值以及其參考值(含異常值)
綜上所述,采用結(jié)合特征值法的RANSAC算法對(duì)含有異常值的點(diǎn)云數(shù)據(jù)進(jìn)行平面擬合時(shí),閾值t的選取直接影響最終擬合效果的精度,而不同的點(diǎn)云數(shù)據(jù)所含的誤差及異常值也不同,所需要的最佳閾值t也不同。本文算法對(duì)此進(jìn)行了改進(jìn),根據(jù)點(diǎn)云到初始平面距離的標(biāo)準(zhǔn)偏差自動(dòng)選取閾值t,對(duì)含有異常值的點(diǎn)云數(shù)據(jù)進(jìn)行平面擬合,擬合效果比較理想,該算法不需要人為設(shè)定閾值t,方便易行。
結(jié)合特征值法的RANSAC算法在點(diǎn)云數(shù)據(jù)存在誤差和較多異常值的情況下,能穩(wěn)定的擬合出平面參數(shù)值,比傳統(tǒng)的特征值平面擬合方法有更好的魯棒性和準(zhǔn)確性。但是,此算法需要人為設(shè)定閾值t,閾值t過大或過小都會(huì)影響最終的擬合結(jié)果。
本文針對(duì)閾值t選取的問題,即閾值選擇過大會(huì)增大平面的腐蝕作用,相反閾值選擇過小又會(huì)造成平面范圍的縮小,采用了根據(jù)點(diǎn)到平面模型距離的標(biāo)準(zhǔn)偏差來選取t這一方法,考慮了實(shí)際點(diǎn)云數(shù)據(jù)允許的誤差范圍,能有效地剔除異常點(diǎn)和誤差點(diǎn),能自動(dòng)選擇閾值,不需要人為設(shè)定其參數(shù),提高了算法的自適應(yīng)性。