(湖南工業大學 機械工程學院,湖南 株洲 412007)
目前,激光測量憑借其可靠性高、測量環境適應性好等特點而被廣泛用于高精度加工領域。激光測量會產生大量數據,測量點分布密集,能有效勾勒出測量物的輪廓形狀并反映細節特征,但處理過多的數據點會占用計算機大量內存,導致計算機的運行速度緩慢。實際上,不是所有數據點都是有用信息,而且數據存儲或顯示都將消耗大量的時間和計算機存儲空間,所以在保證精度的前提下,對測量數據進行精簡顯得尤為重要。
在精簡數據方面,許多國內外的專家學者對激光測量數據精簡問題進行了一系列研究,并取得了較多的研究成果。目前常用的數據精簡方法主要有包圍盒法[1]、非均勻網格法[2]、最大(小)距離法[3]、角度偏差法[4]、三角網格法[5]、弦高偏差法[6]等。同時,有專家學者開始對數據精簡算法加以改良,如付瑋等[4]提出了一種基于局部和全局點云特征相融合的簡化算法,通過基于點云的網格分割非均勻網格法來提取局部點云特征;吳鳳和等[7]在考慮曲線曲率變化的基礎上構建了弦高函數,并通過迭代得到各測點變化的弦高值,再根據弦高法的數據精簡原則確定需要保留的測量點。
其中,角度偏差法被廣泛應用并加以改良。角度偏差法以連續點之間夾角為準則精簡數據,能夠保留輪廓特征和一些細節特征,但其存在一定的缺陷。針對角度偏差法的缺陷,方源敏等[8]對其采取設立平均偏角閾值去除偏角較小的數據點的方法進行改進,解決其易出現斷點問題。為優化其精簡效果,洪軍等[9]提出角度弦高法,利用包圍盒法構造分割面,并利用分割面將數據點云處理成按掃描線存儲的“結構化”測量數據,再利用角度-弦高聯合準則法逐線精簡。但以上研究均是從某一方面改進角度偏差法,未能有效地保留一些細節特征,且未考慮到角度偏差法不能保留一些大曲率點這一缺陷,而曲率較大的點會包含較多的特征信息[10],這些點對模型的構建具有十分重要的意義。
基于以上這些原因,本文針對角度偏差法存在的缺陷進行改良,在此基礎上提出角度距離法,該方法將隨著數據點的曲率大小而變化的角度閾值作為數據精簡準則,同時考慮到點與點之間的最小距離,從而保留一些大曲率的數據點,防止斷點的出現,以保留好原物的細節特征。通過聯立兩種測量數據精簡準則,使數據點精簡后的疏密隨曲率變化而變化,從而具有一定的自適應性。
數據精簡的目的在于去除無用數據點,進而利用最少的離散點就能達到全面而準確地表示空間復雜實體原有信息,并在此基礎上追求更快的建模速度。點云數據(激光測量數據點集,以下簡稱點云數據)精簡效果的評判主要從精簡率、精度和精簡時間3個方面來衡量[11]。
1)精簡率。即被去除數據點數與原始數據點數的百分比,精簡率反映了精簡算法對無用數據點的去除程度。需要指出的是,精簡率不是越高越好,有時數據點數過少會給后續建模(例如三角網格化)帶來困難,因此應根據實際需要選擇合適的精簡率。
2)精度。即精簡后的點云數據構建的三維模型與原始三維模型之間的誤差,精度要求精簡后的點盡可能地保留原始點云細節特征,它為衡量精簡效果最重要的準則。常用的具體指標有長度、表面積、截面面積、體積、飽滿度和擬合曲線誤差等。
3)精簡時間。即精簡數據所需的時間,其精簡數據耗費時間要盡可能短。
然而,在實際實驗中很難三者兼顧,故精簡的最佳效果是精簡后的點云能用較少的數據點構建模型、保留細節特征且精簡時間不太長。達到文獻[9]中所述的效果,即數據點在精簡后的疏密應該隨著曲面曲率的變化而變化,曲率變化越大,數據點越多;曲率變化越小,數據點越少。此外,可根據各自算法特點建立相應的精簡效果評判準則。
角度偏差法的原理在于引入一個角度偏差值Δa來判讀數據點是否保留,即設立一角度閾值Δa,再取一條曲線,令第二個點為基準點,命名為P2,將其前后相鄰的點命名為P1與P3;比較向量之間的夾角a2與Δa的大小,當a2<Δa時,去除該點。然后連接后續點繼續進行角度比較,直到a2≥Δa時,保留該點;令P3為新的基準點,重復上述步驟直到測量點均已處理完畢,其原理示意圖如圖1所示。

圖1 角度偏差法示意圖Fig.1 Schematic diagram of the angle deviation method
角度偏差法利用了反映曲面變化的特征參數曲線角度作為數據精簡的準則,能夠保留數據的一些特征,且一般對已經結構化的點云數據適用性較佳,如曲線的整體輪廓。但當曲線較為平坦時,存在曲率較小而角度可能較大的情況;同樣,當相鄰點相距較近時,也會存在使曲率較大而角度可能很大的情況。因此,曲率與角度作為衡量數據點所含信息多少的準則,在角度偏差法中無法和諧統一。同時,角度偏差法容易出現局部區域有空白斷點的情況,且存在對數據曲率變化的點精簡適應性不強的缺點。
為彌補上文所述的角度偏差法的缺陷,依據點云數據的特點設計出角度距離法,此算法逐點針對角度偏差法的缺陷,提出改良方法,改良的具體過程如下文所述。
傳統角度偏差法無法將點的曲率與角度相統一作為精簡數據的準則,因為傳統的角度偏差法在設立角度閾值Δa時未考慮到點曲率因素導致問題的出現。為解決這一問題,現將角度閾值Δa與點的曲率大小相結合,建立新的角度閾值Δai,計算方程如下:

式中:ki為點Pi的曲率值,i=2,3,…,n;
Δa為開始設定的角度閾值。
由式(1)可以得知,當某點的曲率值較大時,其對應的角度閾值Δai會相對變小,使得此點能容易被保留下來;反之,當某點的曲率值較小時,此點會被去除。通過這種方法可以對數據點進行篩選,保留曲率值較大的點。
同時,針對傳統角度偏差法會出現局部空白斷點的弊端,采取設置最小的距離閾值d來解決,將相鄰兩點間距離大于閾值d的點保留。通過設立一個較小的最小距離閾值來保留測量數據點之間距離較大的點,防止局部斷點的出現,d的取值大小為

σ為方差;
λ為比例系數,可通過改變λ的大小來調整閾值的大小,進而達到理想的精簡效果。
最后,針對傳統角度偏差法對測量數據點曲率變化的自適應力較差的問題,角度距離法采取將帶有自適應屬性的角度閾值Δai和最小距離d聯立作為精簡數據的衡量準則,其原理示意圖如圖2所示。

圖2 角度距離法原理示意圖Fig.2 Schematic diagram of the angle distance method
具體算法精簡過程如下:
1)設定角度閾值Δa和距離閾值d;
2)選取一條曲線,并計算曲線上每個點的曲率;
3)選取曲線上第二點為P2,其左右兩點為P1和P3;
4)判斷曲線上的點是否處理完畢,若處理完畢,轉步驟8;若未處理完畢,接步驟5;

6)判斷是否滿足條件a2≥Δa或d2≥d,若滿足條件,則P2為保留點,后令P3=P2,其左右的點為P1和P3,后接步驟7;若不滿足條件,則說明P2為去除點,后令P3=P2,其左右的點為P1和P3,轉步驟4;
7)判斷曲線上的點是否處理完畢,若處理完畢,接步驟8;若未處理完畢,轉步驟5;
8)精簡完畢。
以委托英國真尚有限公司設計生產所得的激光測量儀對某管道進行輪廓測量,其測量精度不超過±0.02 mm。現對管道某一截面進行測量,獲得原始測量數據后,選取部分數據(選取部分數據點為705個)濾波去噪處理后分析其特點,如圖3所示。


圖3 原始數據點、局部放大及曲率變化圖Fig.3 Diagram of original data points,local magnification and curvature change
由圖3可以看出,原始數據是管道輪廓截面的一片段,測量點分布較密集,點密度約為每毫米15.6個且曲率較大段的點分布更密集。從局部放大圖中可以看到輪廓表面凹凸不平的細節特征,細節特征能反映表面的粗糙程度等信息。同時,從曲率變化圖3c來看,原始數據曲率值的整體趨勢從左到右依次由小變大,除去部分曲率變化異常的點外,曲率變化基本在0.025~0.5 范圍之內。這些信息能有效勾勒出管道的部分輪廓形狀。
借助上文的原始數據,在Matlab 軟件平臺上,利用角度偏差法與角度距離法兩種算法對原數據進行精簡處理,其精簡結果如圖4~5和表1~2所示(其中,角度偏差法的角度閾值Δa=2.90,角度距離法的閾值Δa2=2.90,d=0.062 mm)。
為驗證曲率角度法的精簡效果,將精簡率、精度和精簡時間3方面指標作為精簡效果的評價準則,首先,對原始數據的曲率進行計算,將曲率值大的點作為標記點并記錄其數量;之后統計精簡后被標記點的數量,對比前后標記點的數量,兩者數量越靠近,說明算法對數據大的曲率點的保留效果越好,以此為參考反映出算法對數據精簡曲率與角度的統一。

圖4 角度偏差法精簡效果與局部放大圖Fig.4 Reduction effect of the angle deviation method with a local magnification
由圖4可知,角度偏差法能夠較完整地反映管道部分輪廓形狀。雖能夠做到數據點在精簡后的疏密應該隨著曲面曲率的變化而變化,但其對曲率較小的線段數據點去除較多導致局部斷點的出現,從而影響輪廓形狀的完整性。
對比圖3b和圖4b所示的局部放大圖。可知在局部細節保留上角度偏差法丟失嚴重,未能保留好輪廓的一些細節特征。圖5為角度距離法的精簡效果和局部放大圖。


圖5 角度距離法精簡效果與局部放大圖Fig.5 Reduction effect of the angle distance method with a local magnification
由表1和圖5可以得知,從精簡效果來看,角度距離法能夠完整地反映管道的部分輪廓形狀,并且改正了角度偏差法出現局部斷點的缺陷。對比圖3b和圖5b所示的局部放大圖,可知角度距離法在細節特征保留上遠優于角度偏差法保留的細節特征。在保留曲率較大的標記點方面,角度偏差法未能完整保留這些標記點,而角度距離法能完整保留28個被標記的點,彌補了角度偏差法不能保留一些大曲率點的這一缺陷。精簡后的數據點分布隨著曲面曲率的變化而變化,這說明其對存在一定曲率變化的數據有一定的自適應能力。角度距離法能夠有效改進角度偏差法的一些缺點,以下從精簡率、精度和精簡時間3方面來對比分析兩種算法的優劣。

表1 精簡結果對比表Table1 Results comparison table
1)精簡率。對比兩種方法的精簡率,可知在角度閾值相同時,角度距離法的精簡率高于角度偏差法的,且可通過修改閾值參數來改變其精簡率,達到實際需要的精簡效果。
2)精簡時間。在精簡時間方面,角度偏差法優于角度距離法,本文算法在精簡時間上約慢0.1 s,其精簡時間能夠滿足實際要求。
3)精度。兩者的精度對比如表2所示,在精度對比中,角度距離法在曲線長度以及擬合曲線標準差中均優于角度偏差法。

表2 精度對比表Table2 Precision comparison table
本文針對傳統角度偏差法存在的缺陷,提出了一種角度距離點云數據簡化方法,對測量數據進行精細精簡處理。即將點曲率大小融入角度偏差法,同時設置最小距離閾值以防止精簡時出現局部斷點,將角度與距離作為精簡數據的準則,保留數據測量點。
通過實驗結果與分析可以得知,所提出的改進的角度偏差法算法能夠完整地保留被標記的大曲率點,并且能避免出現局部斷點,能夠保留輪廓的細節特征,達到數據點在精簡后的疏密應該隨著曲面曲率的變化而變化的要求。
與傳統的角度偏差法對比精簡效果,可知所提出的角度距離法不僅在精簡率與精度方面均優于角度偏差法的,而且可以通過修改閾值選取合適的精簡率,但是其在精簡時間上耗時稍長,這將是此算法下一步改進的方向。