余水晶
(海南省技師學院,海南 海口 571100)
利用RBF神經網絡實現三角網格模型的孔洞修補
余水晶
(海南省技師學院,海南 海口 571100)
本文提出一種利用徑向基函數(RBF)神經網絡實現三角網格曲面孔洞的修補算法,首先用孔洞邊界周圍的三角片頂點作為學習樣本訓練RBF網絡,然后對孔洞進行平面填充,獲得新增三角片的頂點,最后用已訓練好的RBF網絡將其優化,實現三角網格孔洞的修補。
神經網絡;逆向工程;孔洞修補
逆向工程(Reverse Engineering)是利用實物模型測得的數據構造CAD模型,繼而進行分析制造。在逆向工程中,三角網格模型是一種非常通用的數據模型。利用測量設備可獲得實體的點云數據,然后對點云數據進行三角網格化處理就可得到三角網格模型。由于測量設備及模型特征等的限制,生成的點云數據常因信息量不足而產生孔洞,從而造成三角網格重建后的模型出現孔洞。孔洞的出現,使建模的質量受到嚴重影響,不利于對模型進行有限元分析、快速原型制造等后續處理。因此,孔洞修補在逆向工程建模中是一個重要的數據處理步驟。
一些學者利用BP神經網絡實現了孔洞的修補,但BP神經網絡的構建復雜,參數確定工作量大,且網絡訓練結果不穩定。徑向基函數(RBF)神經網絡是近幾年來應用較多的一種神經網絡模型。RBF網絡構建簡單,訓練時間短,網絡結構和參數調整方便,具有較好的局部逼近能力,且網絡訓練結果穩定。本文將RBF神經網絡應用于三角網格模型孔洞修補工作,取得了較好的效果。
RBF神經網絡在分類、學習速度、函數逼近能力等方面均優于BP神經網絡。Hornik[1]證明了單隱層的RBF網絡可以逼近任意的非線性函數。
1.1 神經網絡結構
RBF網絡是由輸入層、隱層和輸出層組成的三層前向神經網絡。隱層節點由高斯核函數構成,輸入層到隱層的變化是非線性的,而隱層到輸出層則是簡單的線性關系。假設N、M、L分別是網絡的輸入節點數、隱層節點數以及輸出節點數。隱層常用的函數形式是高斯核函數。

其中X=(x1,x2,…,xM)T
X——輸入矢量
Ri——第i個隱層節點的輸出
Ci——隱層第i個高斯單元的中心矢量
σi——第i個中心矢量的半徑
RBF神經網絡的輸出可表示為:

其中Wj——隱層到輸出層的權值
1.2 神經網絡的學習
RBF神經網絡的學習算法主要分兩步:首先,根據輸入樣本確定高斯核函數的中心Ci和半徑σi,可采用K一均值聚類算法;其次,求出隱層和輸出層之間的權值Wj,可采用遞推最小二乘法(RLS)計算。
本文采用的孔洞修補算法主要分為三步:首先,檢測出三角網格模型的孔洞,并采集孔洞周圍的三角片頂點,用采集到的三角片頂點作為學習樣本訓練RBF神經網絡;接著,對孔洞多邊形進行平面填充,獲得新增三角片的頂點;最后,用已訓練好的RBF神經網絡使其優化,將平面填充后三角片頂點向三維空間映射,實現三角網格孔洞的修補。
2.1 三角網格孔洞檢測
對于封閉結構的三角網格模型,可利用拓撲關系搜索到孔洞的邊界[2]:先找到一條僅屬于一個三角片的邊,則該邊即為構成孔洞多邊形界邊,稱之為邊界邊。以這條邊界邊作為種子邊來尋找其相鄰的邊界邊,搜索完整的三角網格模型,最終找到由邊界邊首尾相連組成的封閉空間多邊形,則該多邊形為模型的一個孔洞。
2.2 特征面的填充
特征面的填充實際上是一個投影多邊形平面三角化的過程。本文采用如下算法[3]:①用孔洞邊界頂點構造一最小二乘平面,并以孔洞多邊形的重心為原點,在最小二乘平面上任取兩個相互垂直的單位向量與該平面的法矢量建立一局部坐標系。②構造新的三角片。每次尋找投影多邊形夾角最小的一對鄰邊,構造新的三角片;更新孔洞多邊形,直至新增三角片覆蓋整個孔洞。③將新增三角片的頂點由局部坐標系下的坐標變換到全局坐標系下。
2.3 訓練樣本的采集
采集需要修補的孔洞多邊形的頂點,以及其相鄰幾層(一般為三層)的三角片的頂點作為學習樣本訓練RBF神經網絡,使其能表示孔洞周圍曲面的函數形式。本文采用的方法如下:step1.定義K為孔洞多邊形頂點組成的集合,在K中任取一三角片的頂點,尋找與其相鄰的三角片頂點;step2.將不在集合K中的頂點放入另一集合中,當搜索完K中頂點后,N便為孔洞多邊形向外擴展的第一層三角片的頂點;step3.重復step1和step2,直至向外采集達到所設定的層數為止。
2.4 利用RBF神經網絡實現孔洞的修補
在三維空間中,曲面可用函數關系式z=f(x,y)表示,訓練好的RBF網絡能精確映射樣本函數z=f(x,y)。用采集到的孔洞多邊形頂點及相鄰三角片頂點的x、y分量作為網絡輸入,z分量作為目標輸出,訓練網絡,使其能映射孔洞曲面函數z=f(x,y)。特征面的填充實現了對孔洞多邊形的平面三角網格化過程,而孔洞修補的主要原理是通過建立空間孔洞多邊形的特征面來完成孔洞多邊形的填充。在允許的誤差范圍內,將新增三角片頂點坐標的x、y分量輸入到已訓練好的RBF網絡,則可認為RBF網絡的輸出就是新增三角片頂點的z分量。這樣,就可獲得孔洞區域內全局坐標系下新增三角片頂點的坐標,實現將平面填充后三角片頂點向三維映射的目的,從而完成了三角網格孔洞的修補。
為了驗證算法的有效性,用本文的算法對一具有真實孔洞的鴨子模型三角網格曲面,如圖1所示,進行了修補,修補后其效果圖如圖2所示。

圖1

圖2
本文提出一種利用RBF神經網絡實現三角網格孔洞的修補算法。利用孔洞邊界周圍的三角片頂點作為訓練樣本訓練RBF神經網絡,然后用已訓練好的網絡將平面填充獲得的新增三角片頂點映射到三維空間,最終實現孔洞的修補。
[1]Horni K.Approximation capabilities of multiplayer feed一forward network[J].Networks,1991,4(2):251一257.
[2]王宏濤,張麗艷,李忠文,等.基于RBF神經網絡的三角網格曲面孔洞修補[J].中國機械工程,2005,16(12): 2072一2075.
[3]劉德平,余水晶,王瑩瑩.基于最小二乘支持向量機的三角網格修補算法[J].計算機集成制造系統,2009,15(9): 1867一1871.
Using RBF Neural Network to RealiZe the Hole RePair of Triangular Mesh Model
Yu Shuijing
(Hainan Technician College,Haikou Hainan 571100)
This paper presents a algorithm for the reconstruction of triangular mesh surfaces using the radial basis function(RBF)neural network.Firstly,the RBF network is trained by using the triangle mesh vertices around the hole boundary as studying samples.Then the holes are filled in the hole,and the added vertices are obtained.Finally, thetrained RBF network is used to optimize the mesh,and realize the repair of triangular mesh.
neural network;reverse engineering;holerepair
TP391
A
1003一5168(2015)07一0030一2
2015一6一10
余水晶(1983―),男,碩士研究生,研究方向:逆向工程,先進制造技術。