閆 龍
(山東工商學院信息與電子工程學院,山東煙臺 264005)
逆向工程中,獲取三維數據的方法有很多,大部分通過三坐標測量儀(CMM)獲得[1]。隨著科技的進步,越來越多的三維數據通過攝影測量的方法獲得。攝影測量方法速度快,一次可測量幾十萬個點。與此同時,因為獲得的三維點十分密集,數據量也比較大,動輒數兆或數十兆字節。在實用中一般不會直接使用這些數據進行曲線或曲面的重構,大量的數據不僅使計算效率大大降低,占用大量內存,而且會增加重構出的曲線、曲面的誤差。因此攝影測量得到的數據必須進行精簡。
數據精簡操作只是對原始點云中的點進行刪減,不產生新點,以盡量保持原有數據形態為原則[2]。在數據精簡的研究中,國外的研究者提出了各種不同的處理方法[3-5],大致可分為弦高法、包圍盒法、網格法等幾種[3]。Martin提出的非均勻網格法,克服了均值和樣條曲線簡化的阻滯,但對捕捉產品的外形不敏感。Chen Y.H.提出一種通過比較臨近三角片法向量而減少三角形的方法。Veron和Leon提出一種用誤差帶減少多面體數據點的方法。還有給定誤差下的最小二乘非均勻B樣條擬合法,可以結合后續的曲線曲面重構進行,但在控制點和曲線階次選取方面很難確定。實際中經常采用的有最小距離法和角度偏差法等,而它們只能對掃描線進行處理[3]。
在攝影測量過程中,點云數據由左右圖像對應點的視差計算得來[6],見式(1)。式中:x、y、z為點的三維坐標;f為攝像機焦距;b為基線的長度;d為對應點的視差;xL、yL為左圖像點的坐標。

將z坐標按(xL,yL)的坐標順序存儲的圖像,稱之為深度圖像。該圖像既保留了原有圖像的特征,又具備了三維深度的數據。針對深度圖像的特點,本文提出一種方法對攝影測量點云數據進行精簡,使計算過程更加方便快捷。
本文將點云數據看作圖像,通過模板掩模直接計算點云數據離散曲面各點的法矢和曲率。利用統計點云數據中各點的曲率并利用最大類間方差法對曲率圖像進行閾值分割;根據所得曲率閾值確定點云數據的精簡比;結合點云數據的曲率分布進行非均勻性網格濾波。點云數據精簡的步驟如下。
深度圖像可以看作一個離散的曲面。高斯曲率κ及平均曲率H是曲面的兩個重要幾何特征,通過二者的組合,可以得到局部表面的幾何特征[7],二者和曲面類型的關系如表1所示。

表1 高斯曲率及平均曲率與曲面類型的關系
高斯曲率κ和平均曲率H可分別由式(2)和式(3)求得。

橫向和縱向掃描線上分別計算一階微分fx、fy,二階微分 fxy、fxx、fyy。由 fx=Conv( Dx,f( x,y))、fy=Conv(Dy,f(x,y))可求出一階微分fx、fy。同理可求出二階微分 fxy、fxx、fyy。縱向和橫向掩模算子見圖1。

在圖像處理中,經常采用最大類間方差法計算閾值,對圖像進行二值分割。最大類間方差法是由日本學者大津于1979年提出的,是一種自適應的閾值確定的方法,又稱為大津法或Otsu法。它是按圖像的灰度特性,將圖像分成背景和目標兩部分。背景和目標之間的類間方差越大,說明構成圖像的兩部分的差別越大,當部分目標錯分為背景或部分背景錯分為目標都會導致兩部分差別變小。因此,使類間方差最大的分割意味著錯分概率最小[8]。

A和B兩類的灰度均值分別為

圖像總的灰度均值為:

由此可以得到A、B兩區域的類間方差

顯然,pA、pB、ωA、ωB、ω0、σ2都是關于灰度級t的函數。
為了得到最優分割閾值,Otsu把兩類的類間方差作為判別準則,認為使得σ2值最大的即為所求的最佳閾值。

記精簡比為Ratio,則

在平坦區域可只保留少量點,在峰、脊、谷、鞍等區域應保留原有特征。在確定精簡比后,根據曲率的分布重新劃分網格。在網格內進行濾波,得到最后的精簡結果。
將原始點個數記為No,精簡后點個數記為Nn,則Nn=(1-Ratio)No。劃分網格時,網格的數目應等于精簡后點的數目。首先統計曲率圖像中所有點的灰度值ki,計算每個點所占的比重ρi。


從橫軸和縱軸方向分別計算ρ的累加值,記為ρx和 ρy。
ρx= ∑ρi,i沿橫軸方向計數;ρy= ∑ρi,i沿縱軸方向計數。
當 ρx=1 且 ρy=1 時形成一個網格,采用該方法使得高曲率點的區域網格較密;低曲率點的區域網格稀疏。在峰、脊、鞍脊、凹底、谷和鞍谷等處均保留大量的特征點。在網格內對數據進行統計濾波。每個網格內只選取曲率中值作為代表。非均勻網格濾波流程如圖2。
以鞋楦底部點云數據和陳柱正面點云數據為例,使用本算法進行數據的精簡,如圖3所示。本文中所有程序和示例在Matlab中完成和實現。
圖3中a圖中鞋楦原始數據點6 590個,b圖中精簡后數據點2 331個,精簡比為35.37%;c圖中陳柱原始數據點59 425個,d圖中精簡后數據點8 265個,精簡比為13.91%。從圖中可以看出精簡后的數據依然保留了原始數據的曲面特征。

攝影測量所得點云數據,該類數據本身是通過圖像獲得,保留了許多圖像特征。本文利用這些特征提供了一種用于攝影測量點云數據的精簡算法。實驗證明該方法可以和攝影測量的過程融合到一起,適合計算機編程,精簡效果較好,結果可用于后期曲線和曲面的重構。
[1]解則曉,徐尚,李緒勇.逆向工程中三維點云數據精確拼接方法[J]. 中國機械工程,2009,20(13):1577-1581.
[2]金濤,童永光.逆向工程技術[M].北京:機械工業出版社,2003.
[3]周波,陳銀剛,顧澤元.基于八叉樹網格的點云數據精簡方法研究[J]. 現代制造工程,2008(3):64-67.
[4]Polat K,Gunes S.A novel data reduction method:distance based datad reduction and its application to classification of epileptiform EEG signals.Applied mathmatics and computation,2008,200:10-27.
[5]Song H,Feng H-Y.A Global clustering approach to point cloud simplication with a specified data reduction ratio.Computer-Aaided Design,2008,40:281-292.
[6]閆龍.基于CCD的立體視覺測量系統精度分析與結構設計研究[J]. 儀器儀表學報,2008,29(2):410-413.
[7]李松濤,張長水,榮剛,等.一種基于最小二乘估計的深度圖像曲面擬合方法[J]. 自動化學報,2002,28(2):310-313.
[8]Gonzalez RC,Woods RE.Digital Image Processing[M].Beijing:Publishing House of Electronics Industry,2003:55-75.