黨應聰 陳勁杰



摘 ?要:本文針對五類簡單幾何體三維模型,設計了完整的卷積神經網絡模型以實現自動分類識別。首先本文運用CATIA二次開發技術完成了模型的生產并收集了原始數據,其次運用圖像處理的理論對原始數據進行了預處理,然后運用卷積神經網絡理論完成了本文的卷積神經網絡模型設計,最后進行了實驗分析并驗證了本文模型的可行性。
關鍵詞:卷積神經網絡;識別與分類;簡單幾何體;三維模型
中圖分類號:TP391.41 ? ? 文獻標識碼:A
Abstract:In this paper,a complete convolution neural network model is designed for automatic classification and recognition of five kinds of simple geometric three-dimensional models.Firstly,the CATIA secondary development technology is used to complete the production of the model and collect the original data.Secondly,the theory of image processing is used to preprocess the original data.Thirdly,the convolutional neural network model is designed by using the convolutional neural network theory.Finally,the feasibility of the model is analyzed and verified through experiments.
Keywords:convolutional neural network;classification and recognition;simple geometric;3D models
1 ? 引言(Introduction)
卷積神經網絡(Convolutional Neural Network) 是有監督的學習模型,模型中的參數可以使用帶標簽的數據通過優化算法進行訓練,經過訓練的卷積神經網絡模型能夠有效地學習到圖像中的特征,并且完成對圖像特征的提取和分類[1]。卷積神經網絡具有三個巨大的優勢,即分層局部視野感知,參數共享和多卷積核處理,這三大優勢使得其成為研究圖像識別的強大算法[2]。
本文從數據處理入手,完整地實現了卷積神經網絡模型的搭建和訓練,主要目的在于研究卷積神經網絡對由CATIA建模軟件生產的三維實體模型的自主識別,為以后機器理解更多種類的3D模型提供識別分類基礎。
2 ? 總體設計路線(Overall design route)
本文研究目是完成卷積神經網絡對三維實體模型的自動分類識別,考慮到模型種類的復雜多樣,本文以五類簡單幾何體三維模型作為研究對象,其中包括:長方體、正方體、圓柱體、圓錐和球體。
總體設計路線如圖1所示,主要包括五大部分:收集原始數據,對數據進行預處理,搭建卷積神經網絡模型,訓練并驗證模型以得到最優參數,最后用訓練好的模型用于實際預測。本文關鍵點在于原始數據的收集處理和網絡模型的搭建下文將著重研究這兩點內容。
3 數據的收集與預處理(Data collection andpreprocessing)
3.1 ? 數據集的產生
本文所用的數據是通過CATIA軟件創建的三維實體模型,根據CATIA二次開發技術產生三維實體模型,對模型進行截圖作為初始數據集,然后再對數據集進行預處理,以使卷積神經網絡輸入數據標準化,整個二次開發配置如表1所示。
Catia零件建模二次開發流程如圖2所示,利用二次開發接口去獲取Part零件對象,在對象上獲取實體集合,然后添加并繪制草圖,最后使用造型工廠完成三維建模[3]。
最終生產的初始數據集截圖如圖3所示,五種類別三維模型幾何體的圖像分別有400張,至此完成了初始數據集的收集。
3.2 ? 數據集的標準化處理
由于卷積神經網絡的訓練數據量十分龐大,當前的初始數據不能滿足訓練數據量的要求,同時由于初始圖像的像素大小參差不齊,無法直接作為卷積神經網絡輸入數據,因此對原始圖像的預處理變得尤為重要[4]。
圖像預處理過程如圖4所示,對原始圖像進行目標位置檢測,框選出整幅圖像里三維模型實體的位置;其次是通過圖像的剪裁與填充算法,將每個圖像都剪裁并填充為正方形以方便對圖像做壓縮處理,填充為正方形的目的是為了使圖像在等比壓縮或擴大的同時其本身結構不發生變化,以減少識別出錯的可能;最后將所有的處理好的數據進行旋轉,鏡像等操作以增強數據量和提高數據的魯棒性。
圖像中的目標檢測過程如圖5所示,本文采取的策略是對原始圖像進行灰度化處理、Sobel算子梯度處理、均值濾波處理、二值化處理[5,6]。最后找到圖像中的最大輪廓,用矩形框框選出來圖像中關鍵信息,框選后對圖像進行剪裁并填充為正方形圖像。
經過剪裁填充后的數據在總量上沒有變化,仍然存在數據量較小的問題,需要使用數據增強算法,即對所有原始圖像進行水平翻轉,垂直翻轉和水平垂直翻轉操作。這樣使得數據量變為原來的四倍,再將翻轉后的圖像旋轉90度、180度、270度,這樣便使數據量變為初始的十二倍,那么每一類別的數據量變為4800張圖像。
3.3 ? 數據集的存儲
卷積神經網絡的圖像矩陣的輸入,上文處理好的數據的像素大小仍然不盡相同,所以預處理好的圖像需要進行歸一化處理(即壓縮為50×50像素大小的圖像),并為每一張圖像貼上對應的標簽,最后將其以矩陣的形式保存起來。卷積神經網絡需要的數據除了訓練集之外還有測試集,訓練集主要用于優化網絡的權重和偏置,而測試集數據主要用于驗證優化后網絡的魯棒性和準確率[7]。因此,本文將上文處理后的24000張圖像中的80%作為訓練數據集,剩下的20%作為測試數據集,最后保持結果如圖8所示。
4 ?卷積神經網絡模型設計(Design of convolutionalneural network model)
4.1 ? 卷積神經網絡的搭建
一個簡單的神經網絡模型主要由輸入層、卷積層、池化層、全連接層和輸出層組成,其中卷積層和全連接層的層數是根據具體情況而設定[8]。本文通過經驗和由低層級向高層級逐漸驗證的方法最終確定了整個卷積網絡的層數于其中的神經元個數。每層的矩陣維度如表2所示,總共包含兩個卷積層,兩個池化層,一個全連接層,一個輸入層和一個輸出層。
4.2 ? 卷積神經網絡的訓練算法
在完成網絡的模型的搭建之后,就需要用準備好的數據去訓練整個網絡,本文采用的訓練算法流程如圖9所示。該流程算法主要包含兩個訓練,一個大循環是用所有數據訓練網絡,在大循環里有一個小循環是將所有訓練數據在整個大循環里分批次訓練,這樣可以減少計算量,整個訓練流算法如下所示:
(1)初始化所有權重W和偏置b;
(2)將所有訓練集數據分批次沿卷積神經網絡進行前向傳播得到預測值;
(3)將預測值與對應輸入的標簽值進行比較得出誤差值即損失函數的值;
(4)根據損失函數,利用隨機梯度下降法(SGD)去跟新每層權重與偏置的值以優化參數,這也就是卷積神經網絡的后續傳播;
(5)計算訓練集結果準確率,如果準確率滿足要求則停止訓練;
(6)重復過程(2)—過程(5),直到訓練次數到達設定值。
4.3 ? 卷積神經網絡的測試與預測
卷積神經網絡模型的測試過程如圖10(a)所示,主要將全部的測試數據輸入訓練后的模型,進行前向傳播最后得到預測值,將預測值與圖像的實際標簽值對比,可以得到測試訓練集的總體準確率,一般情況下沒完成一次網絡的訓練都會進行一次測試,以驗證此次訓練的效果;而預測過程如圖10(b)所示,與測試過程基本一致,只是預測過程輸入的數據是單個數據。
5 ? 實驗結果與分析(Experimental results and analysis)
在完成了針對簡單幾何體的三維模型的卷積網絡整體設計之后,本文在高性能計算機上進行了訓練和測試實驗,用于實驗的計算機配置如表3所示。
如圖11和圖12所示,通過不斷地訓練使得卷積神經網絡的參數得到優化,使得訓練數據的準確率隨迭代次數的增加而不斷提升最終達到一個較為穩定的值,經過55次的訓練準確率已經到達了99.98%,同時訓練集的損失函數的值也隨著訓練次數的下降,表示隨著訓練次數的增加預測誤差在減小。
在完成一次訓練并更新優化卷積神經網絡參數之后,都會進行一次測試數據的實驗,用于驗證該網絡的通用性和魯棒性。如圖13所示,測試數據集的準確率也隨著訓練次數的增加而增加,測試準確率低于訓練準確率并且與之相差不多,可以說明該訓練好的模型并沒有過擬合,卷積神經網絡模型設計合理,識別精度高。在第55次訓練后,測試數據集的準確率到達98.09%,如果繼續進行訓練準確還可以再提升。
6 ? 結論(Conclusion)
本文系統將卷積神經網絡用于簡單幾何體三維模型的識別和分類,為了機器理解三維模型實體提供一種方法,為以后機器自主設計三維模型實體提供一個鋪墊。同時本文針對五類簡單幾何體的三維模型,進行了總體系統設計,完成了數據集的收集,數據的預處理,卷積神經網絡的搭建和訓練算法的設計,最后通過實驗驗證了整套系統的可行性,驗證了網絡模型的可用性。
參考文獻(References)
[1] 周飛燕,金林鵬,董軍.卷積神經網絡研究綜述[J].計算機學報,2017,40(06):1229-1251.
[2] 李彥冬,郝宗波,雷航.卷積神經網絡研究綜述[J].計算機應用,2016,36(09):2508-2515;2565.
[3] 胡挺,吳立君.CATIA二次開發基礎[M].浙江:浙大旭日科技圖書,2006.
[4] 許可.卷積神經網絡在圖像識別上的應用的研究[D].浙江大學,2012:12-24.
[5] Robust Real-Time Face Detection[J].Paul Viola,Michael J.Jones. International Journal of Computer Vision,2004(2):137-154.
[6] Richard Szeliski.Computer Vision:Algorithms and Applications [M].Springer,2010:101-118.
[7] 常亮,鄧小明,周明全,等.圖像理解中的卷積神經網絡[J].自動化學報,2016,42(09):1300-1312.
[8] Yu Chen,Hongbing Meng,Xinling Wen,et al.Classification methods of a small sample target object in the sky based on the higher layer visualizing feature and transfer learning deep networks[J].EURASIP Journal on Wireless Communications and Networking,2018(1):127-138.
作者簡介:
黨應聰(1993-),男,碩士生.研究領域:智能機器人,機器學習.
陳勁杰(1969-),男,碩士,副教授.研究領域:智能機器人,機器學習.