吳雪梅,于廣濱,趙永強,胡長勝,李瑰賢
(1.哈爾濱工業大學機電工程學院,150001哈爾濱;2.哈爾濱工業大學材料科學與工程學院博士后流動站,150001哈爾濱;3.哈爾濱理工大學機械動力學院,150080哈爾濱))
傳統曲面重構方法存在局限性大及自適應能力差等缺點,例如:密集點云無法直接用NURBS擬合曲面;三角曲面片法對測量數據插值計算負荷大;擬合法中新控制網格構建困難等[1~3].如果曲面局部數據缺失,建立模型更加困難[4~7].
Kohonen神經網絡的重要特點是保持臨近關系的拓撲性質不變[8],對解決自由曲面重構問題很有優勢.提高網絡的學習效率是本文研究的關鍵,提出了一種基于模糊聚類的自組織神經網絡新算法.該方法具有較強的可操作性和實用性,計算量小,局部曲面的精確重構能力強,重構速度快,效率高.
Kohonen神經網絡學習有幾個至關重要的參數:增益項(學習率)η(t)、鄰域半徑Ng(t)以及輸出層神經元數等.參數具體形式的選取將直接影響到網絡的學習效率和效果.
在神經網絡訓練過程中,選取Kohonen神經網絡輸入層節點數為3,分別對應為隨機輸入樣本(即散亂數據點)的三維位置坐標分量x、y和z.網絡權值wij初始化為輸出層神經元節點在空間的位置矢量,其維數等于網絡輸入樣本的維數(本文中為3).
定義網絡的輸入為Xi=[,…]T,i=1,2,…,k;對應的競爭層神經元的輸出響應為Oj,j=1,2,…,m;競爭層中的神經元j與輸入層神經元之間的權矢量Wj=[,,…]T,j=1,2,…,m.
計算輸入矢量Xi與連接權矢量Wj的歐式距離,取歐式距離最小者對應的神經元為競爭層中的獲勝神經元g.
增益項和鄰域半徑函數選取高斯函數

其中t為訓練算法重復次數,s為預先指定的固定值,其含義與鄰域函數中的s含義相同.隨著s取值的增大,增益項曲線的陡度變得平緩[9].
對鄰域函數,s可以控制鄰域函數的陡度狀況,如果散亂數據點比較簡單,通過s值來控制鄰域函數使它降低得快一些;如果散亂數據點比較復雜,可以利用s使它降低得緩慢一些.這樣可以對散亂數據點集更精確地逼近.
增益項主要控制網絡拓撲結構中節點移動距離的大小.最佳情況是在訓練初始階段網絡拓撲結構上節點移動的距離大一點;而在訓練的最后階段,網絡拓撲結構上的節點移動距離要小一點.
為加快網絡收斂速度,在自組織神經網絡訓練過程中加入模糊聚類算法,在初次網絡訓練收斂后,由模糊聚類算法中的隸屬度計算來確定輸入樣本是否可用,避免了每輸入一個點都要重復很多步驟的循環,大大加快了三角網格曲面重構的速度.算法流程如圖1所示.

圖1 改進的Kohonen神經網絡算法流程
改進的Kohonen神經網絡具體算法如下:
1)取輸入節點數為3,時間t=1,給定網絡的拓撲結構和競爭層的輸出節點數m.
2)選擇散亂數據點集的中心點的坐標值加上一個小隨機數來初始化網絡的權值wij(i=1,2,3;j=1,2,…,m).
3)從散亂數據點集中隨機地選擇一個點Xi(xi1,xi2,xi3)(i=1,2,…,n)作為網絡輸入.
4)計算所有輸出節點與輸入節點之間的歐式距離dg,

5)根據式(1)鄰域半徑函數計算獲勝節點dg的鄰域Ng(t),然后通過等式(2)來更新獲勝節點權值以及在dg鄰域內的節點權值[9],

式中:η(t)為增益項,0<η(t)<1,i=1,2,…,n.
6)t=t+1,從原散亂數據點集中隨機選擇下一個點,重復步驟4)~6)直到網絡訓練完畢.
7)以網絡收斂時的權值作為初始聚類中心C0,聚類中心定義為Ck,k=0,1,2,…,s.
8)根據聚類中心值按式(3)計算模糊隸屬度矩陣U[10],

其中:uij為模糊隸屬度矩陣U中的元素,表示輸入樣本中任意樣本對某類聚類中心的隸屬度;dik(xi,ci)、djk(xi,cj)為輸入的任意樣本xi與第i及j類聚類中心ci、cj的距離;q為加權指數,q∈(1,∞).
9)調整聚類中心值ck,

10)如果‖ck+1-ck‖≤ε,則停止;否則k=k+1并返回8)繼續.這里,ε為一初始設定的控制參數,視測量點集中點與點之間距離來確定.
對圖2(a)所示某曲面點云,利用增益項的調節來實現網格由稀疏到密集的不同密度三角網格曲面重構,如圖2中(b)、(c),(d)為光照后重構曲面,由圖可見重構結果理想、曲面光滑.

圖2 三角網格曲面重構
應用改進的自組織特征映射神經網絡算法對圖3所示花瓶實體進行重構,重構曲面及網格都很理想.

圖3 花瓶三角網格曲面重構圖例
圖4為改進前后自組織特征映射神經網絡訓練特征曲線的對比情況.應用未改進算法的自組織特征映射神經網絡訓練特性曲線如圖4(b),精度為10-4mm,迭代500次仍沒有收斂趨勢.而圖4(a)所示本文算法精度為10-5mm,迭代320次收斂.可見本文算法網絡收斂速度很快.

圖4 自組織特征映射神經網絡訓練特性曲線對比
1)基于模糊聚類的自組織神經網絡可實現三維密集散亂數據點自組織壓縮,生成期望疏密程度和逼近精度的三角形拓撲網格,并可有效保持原始數據點集的拓撲特征,從而實現了大規模散亂數據點的精確曲面重構.
2)算法減小計算量、縮短網絡訓練時間,加快了曲面重構的速度.
[1]CHUI H L,ANAND R.A new point matching algorithm for non-rigid registration[J].Computer Vision and Image Understanding,2003,89(2/3):114-141.
[2]LIEPA P.Filling holes in meshes[C]//Proceedings of the Eurographics Symposium on Geometry Processing.Aachen,Germany:ACM,2003:200-205.
[3]JU T.Robust repair of polygonal models[C]//Computer Graphics Proceedings,Annual Conference Series.New York:ACM SIGGRAPH,2004:888-895.
[4]REUTER P,TOBOR I,SCHLICK C,et al.Point-based modeling and rendering using radial basis functions[C]//Proceedings of the 1stInternational Conference on Computer Graphics and Interactive Techniques in Australasia and South East Asia.Melbourne,Australia:[s.n.],2003:111-117.
[5]NOORUDDIN F S,TURK G.Simplification and repair of polygonal models using volumetric techniques[J].IEEE Trans on Visualization and Computer Graphics,2003,9(2):191-205.
[6]MEDEROS B,VELHO L,FIGUEIREDO L H.Moving least squares multi-resolution surface approximation[C]//Brazilian Symposium on Computer Graphics and Image Processing.Havana,Brazil:ACM,2003:12-15,19-24.
[7]LIU G H,WONG Y S,ZHANG Y F,et al.Error-based segmentation of cloud data for direct rapid prototyping[J].Computer-Aided Design,2002,35:633-645.
[8]HOFFMANN M,VARADY L.Free-form curve design by neural networks[J].Acta Acad Paed Agriensis,1997,24:99-104.
[9]吳微.神經網絡計算[M].北京:高等教育出版社,2003:59-60.
[10]HOFFMANN M.Modified Kohonen neural network for surface reconstruction[J].Publ Math,1999,54:857-864.