雷經發(fā),何玉,張淼,孫虹,李永玲
(1.安徽建筑大學 機械與電氣工程學院,安徽 合肥 230601;2.安徽省工程機械智能制造重點實驗室,安徽 合肥 230601;3.過程裝備與控制工程四川省高校重點實驗室,四川 自貢 643000)
近年來,三維激光掃描技術得到了快速發(fā)展,它對物體的三維模型重建起到了巨大的作用,提高了目標物體的三維模型重建的效率,而三維激光掃描技術得到點云數據進行建模[1]成為國內外學者關注的問題。
平面特征是機械零部件中最為常見的輪廓特征之一,利用一系列方法對相關機械零件點云數據來提取平面特征,其中在大量點云數據中得到所需要的平面特征采取的方法有最小二乘法[2]、隨機抽樣一致性法[3-4]等。點云數據平面擬合過程中,如果只考慮觀測向量的誤差,可采用最小二乘法獲取參數。但是由于儀器精度、人為因素以及遮擋物等各種因素,掃描儀得到的點云數據往往存在噪聲點甚至是離群點,噪聲點指基本符合理論平面方程或有較小誤差的點云數據,而離群點則指偏移較大的點云數據。隨后,國內外學者對加權最小二乘法進行深入研究[5-7],其方法可以減小干擾點影響,并且用于點云平面擬合[8-9]。由于部分零部件點云數據中存在大量干擾點,隨機抽樣一致性算法可以在大量點云數據中分割得到平面特征。雖然國內外對最小二乘法[10]、加權最小二乘法、隨機抽樣一致性算法[11-13]做了大量的研究,但是,這三種方法的擬合精度存在差異,缺少對于平面擬合效果的對比研究。針對這一問題,本文通過仿真數據和實測數據對比這三種方法的精度,該研究對物體重建、逆向建模等具有重要的意義。
最小二乘法平面擬合主要是通過已知點云數據的坐標值xi、yi、zi來擬合平面,利用xi、yi擬合得到的函數值? 與實際值zi之差的平方最小。根據數據點(xi,yi,zi)(i = 1,2,…,n),將平面方程記為f( x,y )= pΤ( x,y )A,AΤ=( a,b,c )是平面方程的系數,其中PΤ是該平面方程的基函數,其中本文取pΤi=( xi,yi,1 )。
由最小二乘法的定義可得:
為使J( )A 中對平面方程的系數最小的結果,可將公式(1)改為:
為了求出上式的解,定義
在平面擬合過程中,點云數據中經常會有大量的噪聲點和離群點。加權最小二乘的原理為:點云數據中每個樣本點都有不同大小的偏差,對不同的樣本點賦予不同的權重,其中偏差大的樣本點權重小,偏差小的樣本點權重大,這樣可以避免一些異常點在平面擬合過程中造成平面擬合精度較低的問題。其中權函數w( x,y )在加權最小二乘法中起著非常重要的作用。由于權函數種類繁多,例如‘fair’、‘cauchy’、‘logistic’分 別 為 w( x,y )=1./( 1 + abs( r ))、w( x,y )= 1./(1 + r.^2)、w( x,y )=tanh(r)./r,其中r = uh(x,y)- u(x,y),由于三種權函數效果基本差距不大,本文中選用‘cauchy’權函數。
定義在某一區(qū)域Ω 的函數為u(x,y),且函數u(x,y)在該區(qū)域Ω 內存在n 個點,取函數
為函數u(x,y)的逼近函數。然而pTi=(xi,yi,1)是基函數,其中m 是其基函數的個數,a(x,y)是函數u(x,y)中對應的系數。
其中系數ae(x,y)為使下面定義的函數取得極小值。
上式中w(xi,yi)是具有減小平面擬合誤差的權函數,為了求出上式的解,定義
其中矩陣A(x,y)和B(x,y)為:
A(x,y)= PTw(x,y)P
B(x,y)= PTw(x,y)
由(6)式可求得a(x,y)。
RANSAC 算法原理為:進行參數估計時,對數據進行區(qū)分處理。首先針對一個具體的問題設計判斷規(guī)則,利用其判斷規(guī)則來剔除不符合規(guī)則的數據,然后通過輸入符合規(guī)則的數據來估計參數。
隨機抽樣一致性算法的參數估計要求在一定概率下,基本子集最小抽樣數k 與至少獲得一個良性子集的概率P 滿足相應的關系為:
其中,w 是模型內點的比例;n 為計算模型參數最小數據量是3;P 的取值一般在0.95-0.99。
RANSAC 算法是一種穩(wěn)健的參數估計算法,可采用此算法進行平面擬合的過程如下:
(2)選取合理的閾值t,如果di≤t 就被認為是平面內點,得出此平面內點個數N;
(3)然后重復以上步驟m 次,比較選擇內點最多的平面。
根據點云數據平面方程z = 0.707x + 0.707y +1,利用matlab 隨機從此平面選取500 個點,利用matlab 中rand 函數隨機改變部分點的z 坐標值,使其坐標值z 在原來幅值基礎上(-5,5)范圍內隨機改變,從而引入噪聲點,隨機選擇部分點使其z 原來坐標值幅值上增加20,從而引入離群點,然后分別使用最小二乘法(LS)、加權最小二乘法(WLS)、隨機抽樣一致性算法(RANSAC)對上述點云數據進行參數估計,其中把平面內點個數N 作為平面擬合精度的評判標準,當平面內點個數較多時,說明算法效果越好。其中為了得到統一的評判標準適當地把閾值設為0.01 和隨機抽樣一致性算法中重復步驟m 設為1000。通過選取適當的噪聲點或者離群點進行實驗來驗證不同算法的效果,通過各種算法擬合平面的相應參數和平面內點個數N 如表所示。
由表1 可得,點云數據中僅存在噪聲點時,隨機抽樣一致性算法中平面內點個數最多,且個數為除噪聲點外都為內點,加權最小二乘法的個數次之,最小二乘法的個數最少,由此得最小二乘法擬合效果不好,加權最小二乘法和隨機抽樣一致性算法都可以擬合較好的參數,其中隨機抽樣一致性算法精度最高;由表2 可得,點云數據僅存在離群點時,最小二乘法中平面內點個數較少,加權最小二乘法和隨機抽樣一致性算法中內點個數依次增多,由此得最小二乘法效果較差,隨機抽樣一致性算法比加權最小二乘法精度要高;由表3 可得,點云數據中同時存在噪聲點和離群點時,利用LS 方法擬合的平面系數中出現較大偏差,是因為干擾點的影響較大,最小二乘法中內點少,加權最小二乘法比最小二乘法中平面內點個數多,隨機抽樣一致性算法中除噪聲點和離群點外都屬于內點,由此得最小二乘和加權最小二乘擬合效果較差,而隨機抽樣一致性算法比較穩(wěn)定。
表1 點云加20個噪聲點且閾值為0.01的擬和參數及個數
表2 點云加5個離群點且閾值為0.01的擬和參數及個數
表3 點云加20個噪聲點和10個離群點且閾值為0.01的擬和參數及個數
為進一步驗證隨機抽樣一致性算法的抗干擾性,采用3D 線激光傳感器ECCO95.100 獲取點云數據,掃描的對象為斜墊鐵的傾斜面。由于利用3D 線激光傳感器得到的點云數據較多,可以先利用點云降采樣,其中點云降采樣為利用MATLAB中點云函數來百分比的降低原始點云的數量,使其所測點云數據為1463 個,如圖1 所示。分別通過最小二乘法、加權最小二乘法、隨機抽樣一致性算法來擬合真實斜鐵傾斜面,其中隨機抽樣一致性算法中重復步驟為1000,然后設定統一的閾值為0.1來判斷算法的效果。
圖1 斜墊鐵點云降采樣數據
通過表4 可得,最小二乘法和加權最小二乘法中平面內點個數較少,而隨機抽樣一致性算法中內點個數較多,故隨機抽樣一致性算法擬合平面比最小二乘法和加權最小二乘法抗干擾性更好,且精度最高。
表4 三種方法擬合參數及內點個數
通過上述仿真實驗和實測實驗可以得到當點云數據中存在噪聲點、離群點和兩者都有的實驗數據中,最小二乘法由于利用所有的數據點去擬和平面,在文中添加干擾點進行算法擬合平面系數過程中干擾點影響算法效果,得到的平面擬合參數精度不高;加權最小二乘法由于存在權函數,權函數使干擾點的權重減小,考慮到降低干擾點的影響,其算法擬和平面參數精度較最小二乘法高;隨機抽樣一致性算法中找出內點最多的平面,干擾點比例小的環(huán)境下大概率可以避免干擾點的影響,所以該算法在三種算法中擬合平面參數精度最高。
本文詳細闡述了三種點云擬合平面算法,根據在不同實驗環(huán)境下來具體擬合平面參數從而求得內點個數。然后,通過編制的MATLAB 算法對模擬的點云數據和斜鐵傾斜面的點云數據進行計算,把內點個數作為擬和效果的指標,分析結果表明:本文三種算法均可以進行平面擬合得到平面系數,且在干擾點數量少和影響較小的情況下擬合的平面系數接近真實值,而在干擾點數量多和影響較大的情況下加權最小二乘法存在權函數降低干擾點權重比最小二乘法精度高,隨機抽樣一致性算法由于選取內點最多的平面,從而剔除較多的干擾點影響,所以擬合平面參數精度最高。