孔德明,黃紫雙,王書濤,史慧超
(1.燕山大學 電氣工程學院,河北 秦皇島 066004;2.北京化工大學 信息科學與技術學院,北京 100029)
當前現(xiàn)代化工業(yè)不斷發(fā)展,機械加工市場規(guī)模不斷擴大,各種形狀的零件被加工和生產出來,自由曲面模型重建在逆向工程與加工業(yè)中充當著重要角色,在產品的設計周期中,這種技術越來越重要[1]。隨著工藝技術的提高,由自由曲面構建而成的物體廣泛存在于人們的日常生活中,由于絕大多數(shù)自由曲面模型的外部形狀無法用準確的解析函數(shù)表達式來描述,在對這類物體進行生產加工時,需要將這些曲面以幾何參數(shù)模型的形式進行精確表示[2]。因此,在智能化現(xiàn)代加工工業(yè)中,設計人員會對這類物體的原始模型進行三維測量,得到其點云數(shù)據(jù),然后對點云數(shù)據(jù)進行處理,對被測模型表面曲面上具有特征信息幾何參數(shù)進行提取,并對被測模型曲面結構進行重建,也就是利用逆向工程技術實現(xiàn)對其進行設計并大批量高精度加工制造的目的[3]。
一般情況下,在逆向工程中曲面重構多采用傳統(tǒng)的非均勻有理B樣條(non-uniform rational B-splines,NURBS)曲面擬合方法[4],通過對數(shù)據(jù)點插值生成擬合曲面,再利用最小二乘法修改輸入數(shù)據(jù)項來逼近曲面的形狀達到改善曲面精度的目的。該方法適用于任何曲面的擬合,但最小二乘法得到的擬合結果往往在間斷和尖點處誤差較大,曲面精度改善效果不佳。
為了解決此問題,張翠翠等[5]提出了一種對點云數(shù)據(jù)進行Delaunay三角剖分的曲面方法,通過三角域向矩形域的轉換來完成各矩形區(qū)域的Coons曲面重構,進而插值Coons曲面得到光滑拼接的NURBS曲面,該方法將三角面重構與四邊域曲面重構將結合,可用改善擬合曲面的光順性,但在進行Delaunay三角剖分時,易產生局部大曲率部分劃分效果差的問題,導致重構曲面擬合誤差大,進而影響曲面重建結果;張娟等[6]提出一種基于中心減少的兩層隱式函數(shù)插值算法,通過對插值得到的粗層曲面和表面點擬合得到的細層曲面求和得到整個重建表面,該方法實現(xiàn)曲面快速重建的同時保持曲面的真實性,但當點云數(shù)據(jù)較多時,無數(shù)次的插值和逼近導致較大的計算量,降低曲面重建效率。
近年來,有關學者嘗試將借助小波變換時頻分析對點云數(shù)據(jù)進行壓縮和提取的方法應用到曲面重構中,取得了較好的效果[7,8]。本文提出一種基于分數(shù)階傅里葉變換的NURBS曲面擬合方法,相比于傳統(tǒng)的NURBS曲面擬合和小波分析方法,將傳統(tǒng)的多分辨率時頻域分析理論推廣至時域中,其對波形信號中包含的復雜特征分量具有更好的解析效果,借助分數(shù)階傅里葉變換對自由曲面結構點云數(shù)據(jù)的快速、高精度濾波、特征提取,進而對自由曲面進行NURBS擬合和形狀優(yōu)化,以得到自由曲面模型更高精度的重構曲面,減少曲面調整次數(shù),簡化曲面擬合過程。
2.1.1 自由曲面結構表面特征提取
利用高精度三維掃描儀對復雜曲面模型進行掃描,獲取自由曲面模型表面各點在XYZ三維空間內的位置信息形成點云數(shù)據(jù)。為了便于應用離散分數(shù)階傅里葉變換[9]對其處理分析,通常將這些無序分布點云數(shù)據(jù)進行格網化處理。運用數(shù)據(jù)插值方法對高程數(shù)據(jù)進行插值處理,得到網格的高程值。將等間距網格作為一幅圖像中的像素點,再將網格的高程值作為像素點所處位置的像素值,即獲得自由曲面模型沿x軸方向的第i條高程序列Nyi和沿y軸方向的高程序列Nxi,高程序列上像素點的像素值即為各點在XYZ空間內的z軸坐標值。
分數(shù)階傅里葉變換作為傅里葉變換的廣義形式,隨著變換階數(shù)p從0連續(xù)增長到1,展示出信號從時域逐步變化到頻域的所有特征[10]。
如圖1所示,p階分數(shù)階傅里葉變換就是時頻域旋轉角度p(π/2)構成的新的(u,υ)域。利用離散分數(shù)階傅里葉變換對自由曲面特征信息進行提取,可以將自由曲面沿x軸方向上的高程序列Nyi和沿y軸方向上的高程序列看作Nxi是由m組正弦波疊加組成的信號[11],圖1中高程序列上的橫坐標方向編號為時域的時間軸,縱坐標的幅值即為高程序列上像素點的像素值。其分數(shù)階傅里葉變換[12]為:
圖1 時域和頻域圖像Fig.1 Image of time-domain and frequency-domain
(1)
(2)
式中:x(h,t)=[h1,h2,…,ht]是作為原始信號的高程序列;Kp1,p2(h,t,u,v)是分數(shù)階傅里葉變換的核函數(shù);α=p1·(π/2),β=p2·(π/2)表示二維分數(shù)階傅里葉變換的旋轉角度。
由于分數(shù)階傅里葉變換是線性變換[13],根據(jù)其性質可知高程序列的特征信息包含于分數(shù)階傅里葉變換序列中。為了更加準確地獲取邊緣和曲率的特征信息,按照式(3)求解高程序列的特征信息曲線,其中i代表第i條高程序列。
Hi=Hi(u,v)-Hi-1(u,v)
(3)
2.1.2 曲面擬合的數(shù)據(jù)點提取
由于擬合曲線的形狀未知,僅通過得到的特征數(shù)據(jù)點的坐標數(shù)據(jù)信息不能確定兩相鄰特征數(shù)據(jù)點之間的單調曲線的形狀,因此采用外切圓取點法在兩相鄰特征數(shù)據(jù)點之間的曲線上均勻選點,將直線看作曲線中的特例。外切圓取點法根據(jù)3個共面的點確定一個圓的特性,按照x軸從左到右的順序選取3個相鄰的數(shù)據(jù)點作外切圓。設定外切圓的一般方程式見式(4),則圓心坐標為(D/2,E/2)。
(4)
然后,求得特征數(shù)據(jù)點Qi(xdi,zdi)到圓心的角度θi:
Δzdi=zdi-E/2,Δxdi=xdi-D/2
(5)
(6)
設定在每段曲線上選取n個點,則均勻選取數(shù)據(jù)點的圓心角度為
(7)
由式(5)得到的均分圓心角度求解均分直線的斜率:
kdi=tan(θi-nφi)
(8)
式中:kdi是第i個圓心角的角平分線斜率。
由于兩相鄰特征數(shù)據(jù)點之間的曲線方程未知,求解擬合曲線上的點到圓心的斜率:
(9)
將自由曲面模型和擬合曲面之間的差值序列作為被觀測信號x(t),利用離散分數(shù)階傅里葉變換對信號進行旋轉分離后信號表示[14]為
Xp(u)=Sp(u)+Np(u)
(10)
式中:Sp(u)為信號的分數(shù)階傅里葉變換;Np(u)為噪聲的分數(shù)階傅里葉變換。
在u域上進行尖峰遮隔處理:
=Sp(u)Mp(u)+Np(u)Mp(u)
(11)
式中:Mp(u)是中心頻率為u0的帶通濾波器。
(12)
(13)
(14)
(15)
3.1.1 曲面表面特征提取
為驗證本文方法的可行性,實驗利用進口高精度3D打印機制作出一個旋轉自由曲面結構的真實模型,模型加工精度為全曲面范圍內±0.15 mm。使用德國生產的ATOS(V7.5)SR2掃描儀對加工獲得的自由曲面模型進行掃描,得到真實旋轉自由曲面的點云數(shù)據(jù),如圖2所示。
圖2 旋轉自由曲面點云數(shù)據(jù)Fig.2 Point cloud data of rotating free-form surface
對自由曲面的點云數(shù)據(jù)進行格網化處理獲得其高程圖像,計算各條沿x軸方向和沿y軸方向上被測模型表面結構的高程序列的高程值(即像素點的像素值)之和,計算得出沿x軸方向上被測模型表面結構的高程序列的序列值之和最大的序列為Ny109,沿y軸方向上高程序列的序列值之和最大的序列為Nx52,則被測模型表面最高點對應的像素點在xOy平面內的坐標為(52,109),其示意圖如圖3所示,紅色像素點對應的是Nx52高程序列,藍色像素點對應的是Ny109高程序列。
圖3 旋轉自由曲面的高程圖像Fig.3 Elevation image of rotating free-form surface
根據(jù)旋轉自由曲面最高點垂直對應旋轉軸的特性,對得到的高程圖像進行二維離散分數(shù)階傅里葉變換,根據(jù)式(3)求解得到Nx52和Ny109高程序列對應的特征信息曲線來提取用于重構該旋轉自由曲面的旋轉軸和擬合曲線上的特征點,如圖4所示。當特征曲線出現(xiàn)尖峰時,說明坐標編號對應的高程值發(fā)生突變,即該坐標編號對應的像素點位于旋轉軸和擬合曲線的邊緣位置或擬合曲線曲率較大的位置。圖4(a)中,Ny109高程序列的特征曲線上有3個尖峰,對應的坐標編號為11、66和153,故該序列不關于旋轉軸對稱。圖4(b)中,Nx52特征曲線尖峰對應的坐標編號分別為12和207,求解兩坐標編號中間值為109,對應于高程圖像最高點坐標。計算沿y軸方向上Nxi(i=1,2,3,…,153)高程序列的序列值之和,得到沿y軸方向上自由曲面的高程序列的序列值之和最小的序列為Nx109,則自由曲面的擬合曲線最低點對應的坐標編號為(109,109)。
圖4 高程序列對應的特征信息曲線Fig.4 Characteristic information curve of elevation sequence
綜合上述求解出特征點對應的高程序列坐標編號,高程圖像中這些坐標編號對應的像素點的高程值即為高,也是擬合曲線坐標數(shù)據(jù)中的z值。將擬合曲線左端邊界點歸于零點,由圖4(b)解析可知自由曲面的旋轉軸為y=98,選取Ny109高程序列作為用于擬合自由曲面模型NURBS曲面的擬合曲線,則選取的特征點Q1~Q5坐標數(shù)據(jù)如表1所示。
表1 特征點坐標數(shù)據(jù)Tab.1 Coordinate data of characteristic points mm
3.1.2 曲面表面數(shù)據(jù)點選取
結合表1中提取的5個特征數(shù)據(jù)點,利用外切圓取點法在兩相鄰特征點之間選取用于曲面擬合的數(shù)據(jù)點,其示意圖如圖5所示。
圖5 自由曲面的數(shù)據(jù)點選取示意圖Fig.5 Diagram of data points selection of free-form surface
按照x軸從左到右的順序將特征點分為兩組,相鄰的3個特征點為一組。將兩組特征點的坐標數(shù)據(jù)分別代入式(4)可求得兩個外切圓的一般方程式系數(shù)為
(15)
從而求得兩外切圓的圓心分別為O1(23.625,68.75)和O2(95.88,79.41)。將上述數(shù)據(jù)代入式(5)和式(6)中求得特征點到圓心的角度θi,
(16)
設定在每段曲線上選取n=1個點,則均勻選取數(shù)據(jù)點的圓心角度為
(17)
結合式(16)~式(17)中的角度值計算得到角均分線的斜率kdi
(18)
繼續(xù)求解擬合曲線對應的高程序列上各像素點到圓心的斜率,選取與式(18)得到的斜率相近的像素點作為用于擬合的數(shù)據(jù)點,數(shù)據(jù)點位置見圖5中三角形標記處,坐標數(shù)據(jù)見表2所示。
利用表1、表2中的數(shù)據(jù)點對自由曲面進行重建,得到的初始擬合曲面如圖6所示,對其進行誤差分析[18,19],求解得到擬合曲面與點云模型之間的差值絕對值的平均值為1.386 8 mm,均方根誤差為0.710 5 mm。
表2 數(shù)據(jù)點坐標數(shù)據(jù)Tab.2 Coordinate data of data points mm
圖6 旋轉自由曲面的擬合曲面Fig.6 Fitting surface of rotating free-form surface
為了獲得更高精度的NURBS擬合曲面,利用第2.2節(jié)中的方法對上節(jié)中得到的擬合曲面形狀進行優(yōu)化,計算擬合曲面與實際模型曲面的高程值得到兩曲面之間的差值序列,對差值序列進行濾波反變換,得到的擬合曲面的誤差分布曲線如圖7所示。
圖7 擬合曲面的誤差分布Fig.7 Error distribution of fitting surface
表3 數(shù)據(jù)點與節(jié)點 mm
為了更加直觀的了解擬合效果,采用均方根誤差對本文方法與文獻[4]的傳統(tǒng)NURBS擬合方法的擬合結果進行比較。由于本文方法每次曲面形狀優(yōu)化后會加入新的數(shù)據(jù)點,為保證實驗條件一定,使利用傳統(tǒng)NURBS方法選取的數(shù)據(jù)點數(shù)量與本文方法每次反插節(jié)點后的數(shù)據(jù)點數(shù)量保持一致。利用調整后的擬合曲線對整個旋轉自由曲面進行擬合,分析求解獲得的擬合曲面與標準曲面之間的誤差結果,得到表4中的數(shù)據(jù)。
表4 兩種方法擬合誤差的對比結果Tab.4 Compare results of fitting error of two methods
通過對比表4中兩種方法對自由曲面模型在不同調整次數(shù)下進行優(yōu)化的擬合結果可以看出,在相同的調節(jié)次數(shù)下,本文方法得到的擬合曲面的均方根誤差降低了約28%,說明基于分數(shù)階傅里葉變換的NURBS擬合方法能夠實現(xiàn)對自由曲面的高精度擬合。且本文方法1次調整后的誤差低于傳統(tǒng)NURBS擬合方法3次調整后的誤差,即對于同一曲面,利用本文方法進行曲面形狀優(yōu)化可以減少調整次數(shù),簡化擬合過程。
圖8給出了利用兩種方法對擬合曲線進行優(yōu)化后的擬合結果??梢钥闯鰣D8(b)中調整1次的擬合曲線擬合效果優(yōu)于圖8(a)中初始擬合曲線。本文方法的擬合曲線更貼近于實際點云數(shù)據(jù)曲線。
圖8 兩種方法的擬合結果Fig.8 Fitting results of two methods
本文提出了一種基于分數(shù)階傅里葉變換的NURBS曲面擬合方法。利用分數(shù)階傅里葉變換對自由曲面模型的點云數(shù)據(jù)進行處理,能夠快速、高精度地從點云數(shù)據(jù)中提取出自由曲面模型的表面結構特征。根據(jù)提取的特征信息選取合適的擬合參數(shù)對自由曲面模型的擬合曲面進行曲面優(yōu)化,與傳統(tǒng)NURBS擬合方法相比,擬合曲面的均方根誤差降低了約28%,具有更優(yōu)的擬合效果,且能減少曲面優(yōu)化的調整次數(shù),簡化NURBS曲面擬合過程。