余水晶
(海南省技師學(xué)院,海南 海口 571100)
利用RBF神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)三角網(wǎng)格模型的孔洞修補(bǔ)
余水晶
(海南省技師學(xué)院,海南 ???571100)
本文提出一種利用徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)三角網(wǎng)格曲面孔洞的修補(bǔ)算法,首先用孔洞邊界周圍的三角片頂點(diǎn)作為學(xué)習(xí)樣本訓(xùn)練RBF網(wǎng)絡(luò),然后對(duì)孔洞進(jìn)行平面填充,獲得新增三角片的頂點(diǎn),最后用已訓(xùn)練好的RBF網(wǎng)絡(luò)將其優(yōu)化,實(shí)現(xiàn)三角網(wǎng)格孔洞的修補(bǔ)。
神經(jīng)網(wǎng)絡(luò);逆向工程;孔洞修補(bǔ)
逆向工程(Reverse Engineering)是利用實(shí)物模型測(cè)得的數(shù)據(jù)構(gòu)造CAD模型,繼而進(jìn)行分析制造。在逆向工程中,三角網(wǎng)格模型是一種非常通用的數(shù)據(jù)模型。利用測(cè)量設(shè)備可獲得實(shí)體的點(diǎn)云數(shù)據(jù),然后對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行三角網(wǎng)格化處理就可得到三角網(wǎng)格模型。由于測(cè)量設(shè)備及模型特征等的限制,生成的點(diǎn)云數(shù)據(jù)常因信息量不足而產(chǎn)生孔洞,從而造成三角網(wǎng)格重建后的模型出現(xiàn)孔洞。孔洞的出現(xiàn),使建模的質(zhì)量受到嚴(yán)重影響,不利于對(duì)模型進(jìn)行有限元分析、快速原型制造等后續(xù)處理。因此,孔洞修補(bǔ)在逆向工程建模中是一個(gè)重要的數(shù)據(jù)處理步驟。
一些學(xué)者利用BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了孔洞的修補(bǔ),但BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建復(fù)雜,參數(shù)確定工作量大,且網(wǎng)絡(luò)訓(xùn)練結(jié)果不穩(wěn)定。徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)是近幾年來(lái)應(yīng)用較多的一種神經(jīng)網(wǎng)絡(luò)模型。RBF網(wǎng)絡(luò)構(gòu)建簡(jiǎn)單,訓(xùn)練時(shí)間短,網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)調(diào)整方便,具有較好的局部逼近能力,且網(wǎng)絡(luò)訓(xùn)練結(jié)果穩(wěn)定。本文將RBF神經(jīng)網(wǎng)絡(luò)應(yīng)用于三角網(wǎng)格模型孔洞修補(bǔ)工作,取得了較好的效果。
RBF神經(jīng)網(wǎng)絡(luò)在分類、學(xué)習(xí)速度、函數(shù)逼近能力等方面均優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。Hornik[1]證明了單隱層的RBF網(wǎng)絡(luò)可以逼近任意的非線性函數(shù)。
1.1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
RBF網(wǎng)絡(luò)是由輸入層、隱層和輸出層組成的三層前向神經(jīng)網(wǎng)絡(luò)。隱層節(jié)點(diǎn)由高斯核函數(shù)構(gòu)成,輸入層到隱層的變化是非線性的,而隱層到輸出層則是簡(jiǎn)單的線性關(guān)系。假設(shè)N、M、L分別是網(wǎng)絡(luò)的輸入節(jié)點(diǎn)數(shù)、隱層節(jié)點(diǎn)數(shù)以及輸出節(jié)點(diǎn)數(shù)。隱層常用的函數(shù)形式是高斯核函數(shù)。
其中X=(x1,x2,…,xM)T
X——輸入矢量
Ri——第i個(gè)隱層節(jié)點(diǎn)的輸出
Ci——隱層第i個(gè)高斯單元的中心矢量
σi——第i個(gè)中心矢量的半徑
RBF神經(jīng)網(wǎng)絡(luò)的輸出可表示為:
其中Wj——隱層到輸出層的權(quán)值
1.2 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)
RBF神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法主要分兩步:首先,根據(jù)輸入樣本確定高斯核函數(shù)的中心Ci和半徑σi,可采用K一均值聚類算法;其次,求出隱層和輸出層之間的權(quán)值Wj,可采用遞推最小二乘法(RLS)計(jì)算。
本文采用的孔洞修補(bǔ)算法主要分為三步:首先,檢測(cè)出三角網(wǎng)格模型的孔洞,并采集孔洞周圍的三角片頂點(diǎn),用采集到的三角片頂點(diǎn)作為學(xué)習(xí)樣本訓(xùn)練RBF神經(jīng)網(wǎng)絡(luò);接著,對(duì)孔洞多邊形進(jìn)行平面填充,獲得新增三角片的頂點(diǎn);最后,用已訓(xùn)練好的RBF神經(jīng)網(wǎng)絡(luò)使其優(yōu)化,將平面填充后三角片頂點(diǎn)向三維空間映射,實(shí)現(xiàn)三角網(wǎng)格孔洞的修補(bǔ)。
2.1 三角網(wǎng)格孔洞檢測(cè)
對(duì)于封閉結(jié)構(gòu)的三角網(wǎng)格模型,可利用拓?fù)潢P(guān)系搜索到孔洞的邊界[2]:先找到一條僅屬于一個(gè)三角片的邊,則該邊即為構(gòu)成孔洞多邊形界邊,稱之為邊界邊。以這條邊界邊作為種子邊來(lái)尋找其相鄰的邊界邊,搜索完整的三角網(wǎng)格模型,最終找到由邊界邊首尾相連組成的封閉空間多邊形,則該多邊形為模型的一個(gè)孔洞。
2.2 特征面的填充
特征面的填充實(shí)際上是一個(gè)投影多邊形平面三角化的過(guò)程。本文采用如下算法[3]:①用孔洞邊界頂點(diǎn)構(gòu)造一最小二乘平面,并以孔洞多邊形的重心為原點(diǎn),在最小二乘平面上任取兩個(gè)相互垂直的單位向量與該平面的法矢量建立一局部坐標(biāo)系。②構(gòu)造新的三角片。每次尋找投影多邊形夾角最小的一對(duì)鄰邊,構(gòu)造新的三角片;更新孔洞多邊形,直至新增三角片覆蓋整個(gè)孔洞。③將新增三角片的頂點(diǎn)由局部坐標(biāo)系下的坐標(biāo)變換到全局坐標(biāo)系下。
2.3 訓(xùn)練樣本的采集
采集需要修補(bǔ)的孔洞多邊形的頂點(diǎn),以及其相鄰幾層(一般為三層)的三角片的頂點(diǎn)作為學(xué)習(xí)樣本訓(xùn)練RBF神經(jīng)網(wǎng)絡(luò),使其能表示孔洞周圍曲面的函數(shù)形式。本文采用的方法如下:step1.定義K為孔洞多邊形頂點(diǎn)組成的集合,在K中任取一三角片的頂點(diǎn),尋找與其相鄰的三角片頂點(diǎn);step2.將不在集合K中的頂點(diǎn)放入另一集合中,當(dāng)搜索完K中頂點(diǎn)后,N便為孔洞多邊形向外擴(kuò)展的第一層三角片的頂點(diǎn);step3.重復(fù)step1和step2,直至向外采集達(dá)到所設(shè)定的層數(shù)為止。
2.4 利用RBF神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)孔洞的修補(bǔ)
在三維空間中,曲面可用函數(shù)關(guān)系式z=f(x,y)表示,訓(xùn)練好的RBF網(wǎng)絡(luò)能精確映射樣本函數(shù)z=f(x,y)。用采集到的孔洞多邊形頂點(diǎn)及相鄰三角片頂點(diǎn)的x、y分量作為網(wǎng)絡(luò)輸入,z分量作為目標(biāo)輸出,訓(xùn)練網(wǎng)絡(luò),使其能映射孔洞曲面函數(shù)z=f(x,y)。特征面的填充實(shí)現(xiàn)了對(duì)孔洞多邊形的平面三角網(wǎng)格化過(guò)程,而孔洞修補(bǔ)的主要原理是通過(guò)建立空間孔洞多邊形的特征面來(lái)完成孔洞多邊形的填充。在允許的誤差范圍內(nèi),將新增三角片頂點(diǎn)坐標(biāo)的x、y分量輸入到已訓(xùn)練好的RBF網(wǎng)絡(luò),則可認(rèn)為RBF網(wǎng)絡(luò)的輸出就是新增三角片頂點(diǎn)的z分量。這樣,就可獲得孔洞區(qū)域內(nèi)全局坐標(biāo)系下新增三角片頂點(diǎn)的坐標(biāo),實(shí)現(xiàn)將平面填充后三角片頂點(diǎn)向三維映射的目的,從而完成了三角網(wǎng)格孔洞的修補(bǔ)。
為了驗(yàn)證算法的有效性,用本文的算法對(duì)一具有真實(shí)孔洞的鴨子模型三角網(wǎng)格曲面,如圖1所示,進(jìn)行了修補(bǔ),修補(bǔ)后其效果圖如圖2所示。
圖1
圖2
本文提出一種利用RBF神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)三角網(wǎng)格孔洞的修補(bǔ)算法。利用孔洞邊界周圍的三角片頂點(diǎn)作為訓(xùn)練樣本訓(xùn)練RBF神經(jīng)網(wǎng)絡(luò),然后用已訓(xùn)練好的網(wǎng)絡(luò)將平面填充獲得的新增三角片頂點(diǎn)映射到三維空間,最終實(shí)現(xiàn)孔洞的修補(bǔ)。
[1]Horni K.Approximation capabilities of multiplayer feed一forward network[J].Networks,1991,4(2):251一257.
[2]王宏濤,張麗艷,李忠文,等.基于RBF神經(jīng)網(wǎng)絡(luò)的三角網(wǎng)格曲面孔洞修補(bǔ)[J].中國(guó)機(jī)械工程,2005,16(12): 2072一2075.
[3]劉德平,余水晶,王瑩瑩.基于最小二乘支持向量機(jī)的三角網(wǎng)格修補(bǔ)算法[J].計(jì)算機(jī)集成制造系統(tǒng),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―),男,碩士研究生,研究方向:逆向工程,先進(jìn)制造技術(shù)。