王春香 張 勇 梁 亮 王巖輝
(內蒙古科技大學機械學院,內蒙古 包頭 014010)
在三維點云數據獲取過程中,被測實物具有復雜型面和較深的銷孔及內腔,破損以及測量設備的限制,導致所測得的數據不完整,以及孔洞和缺口,為了得到完整的點云數據模型對實物進行重建與創新設計,需要對測量點云數據進行修補,否則會影響曲面重構后精度以及創新型研究。因此,點云孔洞修補技術是逆向設計的關鍵技術之一,為后期模型重構提供高質量的點云數據。
目前,隨著逆向工程應用領域不斷的擴大,對逆向設計關鍵技術要求越來越高,國內外學者對點云孔洞修補技術也進行了廣泛的研究,并取得了一定的成果。趙鑫[1]等利用BP神經網絡強大的非線性逼近能力,實現了點云的去燥和孔洞修補;劉俊[2]等通過建立特征平面,并在特征平面上調整填充點,實現孔洞修補;張育峰[3]等提出引入松弛變量改變,收斂過程中陷入局部最小值,實現對孔洞修補;Chen[4]等利用徑向基神經網絡構造隱式曲面,恢復了孔洞區域特征信息,孔洞修補效果較好等;朱春紅[5]等提出自適應算法,利用孔洞區域與周圍數據的連續特性,擬合曲面,通過逐步迭代方式獲得最優解,實現孔洞修補;王春香[6]等通過孔洞周圍點建立最小二乘平面完成孔洞初步填充,并用RBF神經網絡調整填充點,達到較好的修補效果,但RBF神經網絡聚類中心和初始聚類數不易確定,影響修補效果;高印寒[7]等利用GA-BP神經網絡高效而準確地評價了車內噪聲的品質;黃建國[8]等通過用GA(遺傳算法)優化BP神經網絡的權值和閾值,改善搜索能力,很好地實現了基于時間序列的預測能力。
本文在分析和研究已有算法基礎上,充分考慮到BP神經網絡具有良好的非線性映射能力、泛化能力以及容錯能力,利用遺傳算法(GA)優化BP神經網絡權值和閾值,克服了BP神經網絡易陷入局部最優和收斂速度慢等缺點,提高了全局優化能力。算法通過利用點云孔洞周圍數據作為訓練樣本,建立BP神經網絡模型,以三角網格形式不斷填充孔洞,最后用該算法對基礎面進行不斷優化,實現對點云孔洞修補。實驗結果表明,該方法提高了修補精度和效率。
BP神經網絡原理:(1)網絡初始化:初始化權值、訓練精度和最大迭代次數。(2)信號正向傳播:輸入樣本→隱含層→輸出層;考慮到樣本輸入順序對訓練結果有影響,所以本文采用隨機輸入樣本的方式來計算輸出,而不是順序輸入。(3)判斷是否轉入反向傳播階段:計算實際輸出與期望輸出的偏差。如果二者不相符,則轉入反向傳播。(4)誤差反向傳播:修正輸入層和隱含層之間的連接權值以及隱含層和輸出層之間的連接權值。(5)計算全局誤差。(6)判斷網絡誤差是否滿足要求,即網絡的實際輸出值和期望輸出值之間的均方誤差最小。
遺傳算法是模擬自然界遺傳機制和生物進化論的一種并行隨機搜索的最優化方法,主要包括選擇、交叉、變異等操作,具有良好的全局搜索能力,能夠尋找到網絡結構中的最優權值和閾值,減小搜索范圍,使BP神經網絡具有良好的優化結構,結合GA-BP能夠精確和高效地實現三維散亂點云數據孔洞修補[9]。
孔洞修補包括:孔洞邊界提出→孔洞初步填充→孔洞點云處的優化調整(實現修補)。本次研究以挖掘機斗齒(圖1)人為孔洞為例,利用GA-BP混合算法進行孔洞修補技術研究,并將修補結果與BP優化結果進行比較分析。分析斗齒結構及配合要求,斗齒外部精度要求不高,易于掃描探測,斗齒內腔精度要求較高,掃描儀不易探測,從而導致點云數據缺失,形成孔洞。故實驗以斗齒內腔(圖2)為研究對象,其中+號聚集部分為人為漏洞缺失部分,在軟件無法實現較好修補情況下,對斗齒內腔大面積點云數據缺失部分進行修補研究。
孔洞邊界提取和孔洞填充:基于Imageware13.2,經過點云分割,將斗齒內腔分離出來,并將人為孔洞提取出來。基于軟件的實效性,通過將孔洞周圍的點進行三角網格化,識別出點云孔洞邊界(圖3),利用填充孔命令,以孔洞周圍點為基礎,通過不斷向內插值完成孔的填充,然后在每個三角形面片中間插值點,形成新的網格,并且進一步細化初步填充的三角形網格,避免發生重疊和移出過長三角形網格,將三角形網格離散成點(圖4),實現孔洞初步填充。孔洞的初步填充實現了對缺失部分粗略修補,填充時未考慮孔洞周圍曲率變化以及光滑過渡,極易導致曲面表面光順度差,需進一步進行優化調整。本文通過充分發揮軟件優勢,實現自動探測孔洞邊界,基于此并實現了孔洞的初步填充,相較于編程實現孔洞邊界識別和建立特征平面實現孔洞區域填充更符合逆向設計的高效性,并利用GA-BP神經網絡來對填充點調整,實現孔洞區域的精確修補。




GA-BP算法流程圖如圖5所示。

本文GA-BP神經網絡采用3層網絡結構(輸入層、隱含層和輸出層),其中神經網絡結構為2-5-1,即輸入層2個節點,隱含層5個節點,輸出層1個節點。其中最大迭代次數為5 000次,預先設定誤差0.000 01,學習率為0.1,與傳統BP神經網絡結構基本一致,利用遺傳算法尋找最優個體優化網絡權值和閾值,最后實現仿真輸出。
本文根據孔洞周圍曲率變化,提取出471個點云數據為訓練數據訓練神經網絡,隨機抽取5組數據所占百分比為(50%,60%,70%,80%,90%)作為訓練數據,其余作為測試數據。以點云的X和Y坐標作為輸入,Z坐標作為輸出,訓練前將數據進行歸一化處理,通過每次迭代,直到預測值與真實值之間的均方誤差MSE滿足預先設定目標誤差為0.000 01,停止運行,并保存網絡。
本實驗基于MatlabR2015a做為實驗平臺,設備Win7(64)操作系統,硬件配置IntelCorei5-3210MCPU,4GB內存下進行試驗操作。
表1通過對樣本在GA-BP和BP兩種模型下,預測值與真實值之間均方誤差MSE可以看出,GA-BP神經網絡模型預測能力要優于BP神經網絡模型,預測效果明顯。基于圖6和圖7可以看出:通過BP網絡與GA-BP網絡預測誤差相比較,GA-BP神經網絡預測能力更強,偏差較小,其優化后比BP神經網絡預測值更接近真實值,從而說明預測結果更好。


表1 兩種模型預測誤差

模型各樣本數據誤差MSE50%60%70%80%90%平均誤差BP2.29853.02640.54740.35670.13051.2719GA-BP0.43792.23850.25150.24750.06970.6490
通過以孔洞填充點數據X和Y坐標作為輸入數據,Z坐標作為輸出數據,利用GA-BP和BP神經網絡進行仿真,得到預測輸出值Z′,并將X和Y坐標與Z′進行整合獲得孔洞填充點優化后的三維點云坐標XYZ′,并將其保存為.txt格式。基于Imageware13.2,將調整后的孔洞處點云數據導入完成孔洞修補。并通過比較BP神經網絡優化后坐標值與原始點云偏差和GA-BP優化后坐標值與原始點云偏差;如圖8和圖9所示,從中可以看出GA-BP優化后點云最大偏差為0.336 mm,BP優化后點云最大偏差為0.438 mm,比較分析可得,GA-BP神經網絡優化效果較BP神經網絡明顯,修補效果好,精度高。

本文充分發揮逆向軟件Imageware優勢,實現孔洞邊界檢測與孔洞填充,在點云數據缺失嚴重大面積缺失和跨面漏洞,基于軟件修補效果差的情況下,利用算法修補,針對BP神經網絡所具有的優勢(泛化能力強,非線性映射能力和容錯能力好)和缺點(容易陷入局部極小值,收斂速度慢等)等問題,提出了一種基于GA-BP神經網絡混合算法,對BP神經網絡的權值和閾值進行優化,經過預測仿真輸出,相較于BP神經網絡預測精度高,收斂速度快。通過實驗證明了該方法的可行性和時效性,對孔洞修補具有更好的修補效果。

[1]趙鑫,吳侃,敖建鋒,等.基于BP神經網絡的點云去噪與空洞修補集成算法研究[C].2011全國礦山測量新技術學術會議論文集,2011:164-168.
[2]劉俊,何建英.基于神經網絡的點云殘缺數據修補方法[J].機械工程師,2007(2):32-34.
[3]張育鋒, 陳庚, 朱杰. 基于改進BP神經網絡的孔洞修復探討[J]. 北京測繪,2014(2):21-24.
[4]Chen C Y, Cheng K Y, Liao H Y M. A sharpness dependent approach to 3D polygon mesh hole filling[DB/OL]. www.mendeley.com ,2005.
[5]朱春紅, 達飛鵬. 基于B樣條曲面的點云孔洞擬合填充[J]. 中國機械工程,2006(s2):270-274.
[6]王春香, 陳浩宏, 孔艷彬,等. RBF神經網絡在斗齒散亂點云漏洞修補中的應用[J]. 機械科學與技術, 2014, 33(10):1479-1483.
[7]高印寒, 唐榮江, 梁杰,等. 汽車聲品質的GA-BP神經網絡預測與權重分析[J]. 光學精密工程, 2013, 21(2):462-468.
[8]黃建國, 羅航, 王厚軍,等. 運用GA-BP神經網絡研究時間序列的預測[J]. 電子科技大學學報, 2009, 38(5):687-692.
[9]高玉明, 張仁津. 基于遺傳算法和BP神經網絡的房價預測分析[J]. 計算機工程, 2014, 40(4):187-191.