The data preprocessing technique of the reverse engineering
李衛民1,韓國輝1,王月婷2
LI Wei-min1, HAN Guo-hui1, WANG Yue-ting2
(1.遼寧工業大學 機械工程與自動化學院,錦州 121001;2.大連海洋大學 應用技術學院 機械工程系,大連 116300)
?
逆向工程中數據預處理技術
The data preprocessing technique of the reverse engineering
李衛民1,韓國輝1,王月婷2
LI Wei-min1, HAN Guo-hui1, WANG Yue-ting2
(1.遼寧工業大學 機械工程與自動化學院,錦州 121001;2.大連海洋大學 應用技術學院 機械工程系,大連 116300)
摘 要:在逆向工程中,產品的誤差是從獲取數據開始不斷累積并依次傳遞。針對逆向工程中數據預處理環節,基于Geomagic Studio軟件,綜合運用不同的數據預處理方法,通過對各方法中的誤差比較,從中選擇每一方法的最優項,從而獲得誤差較小,數據量適中的數據模型,為后續的曲面擬合和模型重構等做好鋪墊。
關鍵詞:逆向工程;數據處理;數據濾波;數據精簡
目前,在逆向工程中常采用非接觸式激光掃描法來獲取數據,由該方法獲得的數據量龐大,并常常帶有許多的雜點和噪音點,同時因產品外形特征和掃描方法的制約,在數據獲取時會存有部分盲區和缺口,這些都會影響后續的曲面擬合和模型重構過程。因此,需在曲面重構前,對獲取的數據進行一些必要的處理,以獲得滿意的數據,為曲面重構過程做好準備。數據預處理的方法主要包括冗余數據的刪除、數據過濾、數據精簡和建立坐標系等等。本文將以鈑金件為例給予說明。
在掃描數據時,受掃描設備的精度、掃描操作時周圍環境等因素影響易出現大量數據,這些數據中的很大一部分并不參與后面的曲面重構,所以必須將這些數據刪除。圖1(a)是掃描后的鈑金件,其三角網格面數為1127720;圖1(b)是將多余數據刪除后保留的有效數據,其三角網格面數為387310。通過前后對比,兩者的三角網格面相差740410個,因此,冗余數據的刪除是進行數據預處理的第一步。

圖1 冗余數據的刪除
數據濾波是數據預處理中非常重要的一步,由于在數據獲取過程中,數據存在隨機性誤差,不可避免地引入錯誤數據或者噪音點,這些數據會使誤差不斷累積,更會影響后面模型重構的精度,因此,在刪除冗余數據后必須進行數據濾波,進一步過濾掉無效數據。在數據預處理中通常采用高斯濾波、中值濾波和均值濾波等三種方式進行數據濾波。
2.1 高斯濾波
高斯濾波是一種線性平滑濾波,其實質是一種信號的濾波器,用于消除高斯噪音而進行信號的平滑處理,對抑制服從正態分布的噪音十分有效。由于圖像應用到后期時其噪音是最大的影響因素,而且數據誤差會不斷地累積傳遞,因此采用高斯濾波會有效地反映真實信號。高斯濾波的工作原理是對整幅圖像進行加權平均,即每一像素點的值是由其本身及其鄰域內的其他像素值加權平均而得。
1)旋轉對稱性,保證在圖像處理中濾波器在各個方向上的平滑程度是相同的。
2)其為單值函數,在進行平滑運算時圖像不會失真。
3)其傅里葉變換頻譜為單瓣,平滑圖像不會被不需要的高頻信號所污染的同時保留絕大部分所需要的信號。
4)σ是決定平滑程度的因素,σ越大,高斯濾波器的頻帶就越寬,圖像的平滑程度就越高。
5)可分離性,根據該性質可以有效地實現大高斯濾波器。
該鈑金件經過高斯濾波處理后如圖2(a)所示。
2.2 中值濾波
中值濾波是一種非線性濾波方法,在一定條件下,可以克服線性濾波器所帶來的圖像細節模糊,但是對一些點、線、尖頂等細節多的圖像會引起圖像信息的丟失。
1)普通中值濾波方法

2)自適應中值濾波方法
該方法是在普通中值濾波的基礎上采用變換窗口大小的方法,在中值算法中添加一個判斷窗口內的像素中值和濾波處的像點灰度是否為脈沖噪音。其特點是可以去除脈沖噪音,平滑其他非脈沖噪音,相比于普通中值濾波方法減小失真,保護細節等。其計算方法如下:
(1)計算:z1=fmed-fmin;z2=fmed-fmax;
(2)如果z1>0且z2<0,則進行(4)的計算;否則,進行(3)的判斷計算;
(3)如果fij=fmed便可以輸出favg;否則,增大窗口Aij的尺寸,若Aij≤Amax則重復(1)和(2),否則輸出fij;
(4)計算:g1=fij-fmin;g2=fij-fmax;
(5)如果g1>0且g2<0,則輸出fij;否則輸出fmed。
其中,Aij為工作窗口,fij為像點(i,j)的灰度,fmin和fmax分別為Aij中的灰度最小值和最大值,fmed為Aij中的灰度中值,favg為Aij中的灰度均值。
該鈑金件經過中值濾波處理后如圖2(b)所示。
該方法既能鞏固“測量基礎”課程中地形圖測繪的理論知識、減少了一些繁瑣的計算又能和后續的數字測圖更好的銜接,同時又能激發學生的興趣,調動學生實訓的積極性,取得了良好的教學效果。
3)均值濾波
均值濾波是采用鄰域平均法進行數據濾波,其原理是在圖像上對目標像素給一個包括其周圍臨近像素點和其本身像素點的模板,再用模板中全體像素的平均值代替原來像素值。圖像鄰域平均法雖然算法簡單,計算速度快,但是圖像的處理效果與所用鄰域半徑有關,半徑越大,圖像的模糊也越大。
其數學表達式為:

其中,S為以(x,y)為中心的鄰域的集合,M為S內坐標點的個數。
該鈑金件經過中值濾波處理后如圖2(c)所示。

圖2 數據濾波圖
4)三種數據濾波方法的誤差比較
該鈑金件經過數據濾波處理后會產生一定的誤差,通過誤差檢測可以選擇出最優的濾波方法。圖3是三種濾波方法誤差檢測的彩色分布圖,其中彩色分布條中的紅色為正向誤差最大值,綠色為零誤差,黑色為負向誤差最大值。通過彩色分布圖可觀察到,經過高斯濾波和中值濾波處理后的彩色圖絕大部分由綠色組成,少部分由黃色組成,但是經高斯濾波處理后的黃色面積略少于經中值濾波處理后的黃色面積,而經過均值濾波處理后的彩色圖由綠色、黃色、藍色組成,這說明三種濾波方法中高斯濾波產生的誤差最小,均值濾波產生的誤差最大,中值濾波產生的誤差略高于高斯濾波產生的誤差。三種濾波方法的誤差數據如表1所示。

表1 數據濾波誤差(單位:mm)
對于該鈑金件選擇高斯濾波方法進行數據濾波。如果是工藝品或者玩具等對精度要求不是很高的產品可以選擇均值濾波方法,這樣可以節省數據預處理的時間以及后續的模型重構時間,可以縮短設計周期提高工作效率。

圖3 數據濾波誤差檢測圖

圖4 按距離精簡數據圖
1)按平均距離精簡

2)按最小距離精簡
按最小距離精簡與按平均距離精簡類似,也是沿著掃描線比較兩個相鄰數據間的距離,只是這里首先要設定一個最小距離dmin,然后用相鄰兩個數據間的距離d同dmin進行比較,如果d 本文設定的距離參數為最小距離,分別為0.1mm、0.3mm和0.5mm,按距離精簡數據后的圖形如圖4所示,精簡數據對比如表2所示。 表2 按距離精簡數據表 3.2 按曲率精簡 設二次曲面參數方程為: r為曲面上的一條曲線,s為其弧長,該曲線的表達式為r=r(x(t),y(t)),則曲面第一基本公式為: 則曲面第二基本公式為: 其中,L=rxx.n,M=rxy.n,N=ryy.n。 按照上述方法,求出所有選取點的高斯曲率和單個鄰域內的局部平均曲率,最后再計算出所有點的曲率平均值。如果局部平均曲率小于點云的曲率平均值,說明這個區域中的點分布較為平坦,則保留這些點中距離形心最近的點;如果局部平均曲率大于點云的曲率平均值,說明這個區域中的點分布較陡峭,則保留所有曲率大于局部平均曲率的點。為了能讓該方法更加容易操作,往往設定一個百分數,即精簡后的三角網格數占原始三角網格數的百分比。 本文按照曲率精簡數據時設定的百分比分別為90%、75%和50%,按曲率精簡后的圖形如圖5所示,精簡數據如表3所示。 圖5 按曲率精簡數據圖 表3 按曲率精簡數據表 通過對兩種方法的比較可知,該鈑金件如果按照距離精簡可以保證其精度,但是剩余的數據依然龐大,會影響后面的計算時間;如果按照曲率精簡,在減少到75%時,圖像既沒有出現失真現象,數據也減少近100000個,所以該項是最優選擇。 4.1 填充孔 在數據獲取時不僅存在大量的冗余數據,也會出現部分數據缺失的現象,這主要是受獲取數據的方法及產品幾何特征的影響。為了能更好的提高重構模型的精度,有時需要進行數據的填補即填充孔。 根據填充孔的位置可將填充孔分為內部孔、邊界孔和搭橋孔;按照零件表面情況,填充孔的方式有按曲率填充、按切線填充、按平面填充。 通過對該鈑金件的分析判斷,該件包括內部孔和需要搭橋的細長孔。在圖6(a)中由于圈出的不良數據的存在會大大影響填充孔的精度,所以,必須對其及其周圍數據進行刪除整理,然后再進行填充,如圖6(b)所示。 圖6 填充內部孔圖 對于細長孔若采用直接填充,其效果如圖7(a)所示,填充后的部位出現較多的帶有尖點形狀的數據,從而影響數據處理的精度,如果采用搭橋技術,將該細長孔分割成幾個內部孔,然后再對各個內部孔進行填充可以有效地減少尖點數據的出現,填充部位更加光順,精度更高,為后續操作做好準備,如圖7(b)和(c)所示。 圖7 填充搭橋孔圖 4.2 去除特征 去除特征是填充孔的特殊形式,它是將所選區域的數據刪除然后依據其周圍數據的曲率特性進行再填充。圖8(a)所示的紅色區域即為帶有特征的區域,圖8(b)為去除特征后的零件表面,由此可觀察到該區域表面更加光滑。去除特征可提高零件表面的光順度,提高零件表面擬合精度,為建立坐標系和模型重構打下良好的基礎。 圖8 數據去除特征圖 變換坐標系是使產品零件的特征與世界坐標系的平面、軸、特征或者原點對齊。其變換矩陣為:T=Tp×Tx×Tz,其中Tp、Tx、Ty、Tz分別為平移矩陣、繞X軸旋轉矩陣、繞Y軸旋轉矩陣和繞Z軸旋轉矩陣。 在該鈑金件上分別有Ⅰ和Ⅱ兩處可進行平面擬合的區域,如圖9所示,從表4中可以知道由Ⅱ區域擬合的平面精度更高,所以將Ⅱ區域擬合的平面作為XY面。 圖9 擬合平面和軸線區域圖 表4 擬合平面誤差數據表(單位:mm) 將鈑金件的四個圓柱孔從左向右一次標記為1、2、3、4,如圖9所示,以四個圓柱孔內表面為依據分別擬合出四條軸線,分別記為直線1、直線2、直線3和直線4,通過表5的誤差分析可知直線2的誤差最小,所以選擇直線2作為Z軸。 表5 直線擬合誤差數據表 最終完成數據處理的圖形如圖10所示。 圖10 經數據處理完成圖 【下轉第127頁】 作者簡介:李衛民(1965 -),男,遼寧朝陽人,教授,博士,研究方向為機械CAD/CAE/CAM。 基金項目:遼寧省科技攻關項目計劃(2014106008) 收稿日期:2015-09-21 中圖分類號:TH128 文獻標識碼:B 文章編號:1009-0134(2016)01-0112-05







4 填充孔與去除特征



5 變換坐標系



