丁博 伊明



摘 要:由于三維CAD模型內在的復雜性,實現模型的自動分類是一個難題。所以提出了一種基于卷積神經網絡(Convolutional Neural Network, CNN)的三維CAD模型自動分類方法,首先采用球體將三維CAD模型完全包住,獲取模型沿固定視角的二維投影視圖集;然后采用Apriori甄選出其中的典型視圖,將典型視圖作為卷積神經網的輸入;在AlexNet模型的基礎上進行參數調整,并將其作為三維CAD模型分類器;最后選取正向傳播和反向傳播相結合的方式對卷積神經網絡進行訓練,以提高其泛化性能。實驗表明,該方法能夠提高模型分類的準確性和效率。
關鍵詞:三維CAD模型;卷積神經網絡;二維視圖;Apriori算法
DOI:10.15938/j.jhust.2020.01.010
中圖分類號: TP393-4
文獻標志碼: A
文章編號: 1007-2683(2020)01-0066-07
Abstract:Due to the intrinsic complexity of 3D CAD models, the automatic model classification methods are scarceIn this paper, an automatic 3D CAD model classification approach based on Convolutional Neural Network(CNN) is proposedAt first, in order to obtain 2D views along the fixed angle, we adopt the sphere to wrap the 3D CAD model entirely, then the typical views are selected from the 2D views based on Apriori, and then preprocessed as input vectors for category recognitionParameter adjustment based on AlexNet model, a novel CNN classifier for 3D CAD models is constructedFinally, forward propagation and back propagation are selected to train the convolutional neural network to improve its generalization performanceExperiments show that this method can improve the accuracy and efficiency of model classification-Keywords:3D CAD models; CNN; 2D views; Apriori
0 引 言
如今三維CAD模型已經廣泛的應用于我國制造加工技術和數字化建模技術。三維CAD模型的應用促進了新產品設計開發效率的提升,經研究調查表明,在新產品的研發設計里,約80%的產品直接利用已有模型或者對已有模型進行微小改動,只有約20%的產品完全使用新模型[1]。所以有效地重用已有的三維CAD模型,是縮短新產品的研發周期、節約開發成本、提高新產品質量的關鍵[2-3]。對于三維CAD模型檢索而言,模型分類可以有效地組織和管理三維CAD模型,同時三維CAD模型分類是提高模型檢索效率與建立模型數據庫索引的重要手段,因此三維CAD模型分類的研究是至關重要的[4]。
傳統的三維CAD分類方法是通過人工進行分類,分類過程耗時耗力,并且人工長時間工作會伴有錯誤的發生,所以需要開發一種更加智能與具有自動分類功能的三維CAD模型分類器[5]。近些年,機器學習技術取得了突飛猛進的發展,機器學習中的卷積神經網絡在語音識別和圖像處理方面有著獨特的優越性。如Krizhevsky等人提出基于深度學習理論的深度卷積神經網絡的圖像分類算法,在大型圖像識別比賽中利用經典的AlexNet模型取得了勝利,成功的將誤識率降低到17%,成為圖像分類的里程碑算法[6]。一些學者自然而然地想到將深度學習應用在三維CAD模型的分類與檢索上,如Francisco等人提出一種基于點云分類的LonchaNet深度神經網絡模型。得到了很高的識別率[7]。迄今為止,基于二維深度學習的方法取得了最好的效果,但它對三維的擴展仍有許多問題。例如,在ModelNet挑戰中獲得最佳性能的方法主要基于二維視圖。這些二維視圖通常是將三維數據轉化為卷積神經網絡更容易識別的特征,例如馮元力,夏夢等提出一種通過球面深度全景視圖識別三維模型的方法,首先將三維CAD模型進行球面深度投影得出全景視圖;其次將全景視圖從多個角度展開成為多幅二維視圖,最后利用卷積神經網絡實現對三維模型的分類識別[8]。以上研究表明,可以利用卷積神經網絡實現對三維CAD模型的分類。
本文提出一種基于卷積神經網絡的三維CAD模型分類新方法,該方法主要分為兩個部分,第1部分是從三維CAD模型中提取二維典型視圖,首先對三維CAD模型沿指定視角進行投影,利用Apriori算法從得到的二維視圖集中挖掘出具有代表性的視圖作為CAD模型的典型視圖。第2部分采用AlexNet實現對三維CAD模型的分類,主要通過控制卷積核和移動步長對AlexNet模型結構進行參數設置,使AlexNet模型能夠利用更多的輸入特征,從而提高三維CAD模型分類的準確率。
1 基于Apriori的典型視圖提取方法
近年來,從三維CAD模型中提取特征已經成為一個研究熱點,這些研究都致力于通過描述符來表達三維CAD模型特征[9]。常用的三維CAD模型描述符可以分為如下四種:基于拓撲的描述符、基于幾何結構分析的描述符、基于統計的描述符和基于投影降維的描述符[10-13]?;谕負涞拿枋龇萌S模型的表面、邊、定點的聯系及拓撲結構進行相似性度量?;趲缀谓Y構分析的描述符主要通過模型具體形狀,位置來描述三維模型的特性?;诮y計的描述符利用直方圖和任意三維多邊形模型的形狀描述的計算方法進行三維CAD模型的相似性評價?;谕队敖稻S的描述符是將三維CAD模型在特定的位置投影,得到一組二維視圖,利用二維視圖提取三維CAD模型相應的特征表示。這類方法更加符合人的視覺感知特性,即三維CAD模型的分類比較就轉換成二維視圖的分類比較,因此得到了廣泛的應用[14-15]。Chen等[16]提出一種光場描述符(Light Field Descriptor, LFD)的算法。此算法首先利用正十二面體包圍模型,在正12面體中取得10個非對稱頂點;然后在10個頂點中的每個頂點設置10個不同的光場;最后對得到的100幅視圖進行Zernike特征提取和傅里葉變換特征提取。然而該算法存在大量冗余,雖然可以充分地表達三維CAD模型,但是不利于計算機的計算。針對大量的冗余視圖,一些學者采用如下方法加以改進,Cyr等[17]提出一種通過比較代表性視圖中形狀結構的方法。通過多個視角渲染得到足夠多的視圖,將其中一組有明顯差異的視圖作為最終視圖。Baoguang Shi等[18]在預處理階段利用圓柱體包圍三維CAD模型,像素值即是圓柱體的點和模型主軸的連線投射到三角面片的數量;此時將圓柱體側面展開得到三維模型的二維視圖;最后利用深度學習進行模型分類的任務。Huang Su等[19]在對三維模型渲染時使用虛擬攝像機的技術,首先從12個方向拍攝得到12幅不同的視圖;然后利用卷積神經網絡對三維CAD模型的視圖特征進行提取;在三維CAD模型的分類精度上達到了較高的水平。LFD還存在另一個問題,該算法只是籠統的對所有二維視圖進行同等對待,卻忽略了不同視圖的特征對三維CAD模型的重要性并不相同。如圖1所示,電纜附件的主視圖相對于左視圖來說含有更多的代表信息,所以在三維CAD模型分類過程中針對不同的二維視圖給予不同的重視程度是十分必要的。Shi Min等人提出一種基于二維投影視圖最優權重對的方法,此方法是通過使用拉格朗日乘數子和支持向量機為視圖配置權重,用來區分不同視圖對于三維模型重要性的不同[20]。
針對以上問題,本文提出一種基于Apriori的典型視圖提取方法,該方法在投影提取出來的二維視圖中篩選出更具代表性的視圖,越具有代表性的視圖就會含有更多的三維CAD模型的特征,即將三維CAD模型的分類轉換為具有代表性的二維視圖之間的分類。該方法首先采用球體將三維CAD模型完全包住,按照每隔30°進行投影,得到一系列的二維視圖;然后利用Apriori算法從中篩選出12幅具有代表性的視圖;最后將篩選出的視圖作為卷積神經網絡的輸入。
1-1 二維視圖的獲取
在二維視圖獲取的方法上,本文首先采用球體將三維CAD模型完全包住,通過在球體上建立三維坐標,沿x,y,z軸每隔30°建立一個投影視點并進行投影,得到三維CAD模型的62個二維視圖I={i1,i2,…,i62}。
如圖2所示,該方法既能獲得數量足夠的投影視圖作為候選樣本,又不會造成視圖數量冗余,避免計算量過大的缺陷。
2 卷積神經網絡
卷積神經網絡作為一種由人工神經網絡和深度神經網絡相結合生成的新型神經網絡,它的優點就是能夠對圖像像素進行直接卷積實現特征選擇與提取,這是一種與人腦處理系統近似的處理模式。也就是說直接以原始數據作為輸入數據,在大量的訓練中自動學習。另外,卷積神經網絡引入了局部連接,權值共享和下采樣等方法,大大降低了需要訓練的參數量,降低了網絡的復雜度,提高了訓練效率。卷積神經網絡在語音識別分類與圖像處理上取得了顯著的成果,Alex等人提出的AlexNet模型就是當年ImageNet平臺上的經典之作[3]。但目前卷積神經網絡在三維CAD造型分類上的應用還很有限,本文在AlexNet模型的基礎上微調現有模型的參數,并使用該模型對三維CAD模型進行分類,本次模型的改進只限用于AlexNet模型。
2-1 卷積神經網絡改進思想
簡單地說,卷積神經網絡的主要工作原理是將輸入的圖像特征通過與卷積核卷積、池化等方法逐層提取出來,并在輸出終端進行分類。影響分類效果的因素主要是模型的層數和特征參數選擇。
本文所使用的卷積神經網絡是在AlexNet模型的基礎上加以改進,構建的8層網絡結構。傳統的AlexNet模型由于訓練集數量過大,分類過多,在第一層卷積時卷積核的大小設置為11×11×3,移動步長為4。這種方法雖然減少了訓練的時間,但是造成了數據特征的遺漏,降低了訓練的準確率。本文進行三維CAD模型分類,訓練數據和測試數據的大小適中。因此本文在卷積層適當的減少卷積核大小和滑動步長,以增加訓練的準確率,獲得更好的分類結果。
三維CAD模型分類系統如圖5所示。首先利用投影和Apriori算法從三維CAD模型中提取二維視圖。然后在訓練階段,利用生成的二維視圖對改進的AlexNet模型進行有監督訓練。最后在測試階段,將測試集中的二維視圖作為訓練完成的AlexNet模型的輸入,其輸出就是改進后的模型分類標簽。
2-2 卷積神經網絡結構設計
本文所采用的AlexNet模型是一個8層網絡結構的深層卷積神經網絡模型,其中包括5層卷積層、3層pooling層和3層全連接層,基礎的AlexNet模型在第一層卷積層中利用96個大小為11×11的卷積核對輸入圖像數據進行卷積,移動步長為4。本文對AlexNet模型進行微調,將所有的卷積層中卷積核均變為3×3大小,移動步長為1,padding為1,這一改進能夠利用更多的輸入特征,并保證在卷積層中輸入圖像大小不發生改變。由圖6可知改進后的模型第一層卷積層中卷積核個數為96,卷積核大小為3×3,移動步長為1,之后對該卷積層進行線性偏移函數的轉置和池化操作,能夠去掉大量不重要的參數,來提高模型的魯棒性,以達到更好的學習效果。
激活函數選取非線性非飽和的Relu函數,這種非飽和的函數比飽和函數訓練速度更快,Relu函數不但保留了非線性的表達能力,而且在正直部分,又具有線性的性質,不會引起非線性導致梯度彌散的現象。更有利于訓練更深層的網絡。池化的操作選擇最大池化,即在卷積層每一組2×2的鄰域點內取最大值,滑動步長為1,最后在利用局部響應歸一化的方法來提高網絡的泛化能力得到第一層的特征向量。
第二層卷積層與第一層操作相同;第三層與第四層卷積層只有卷積核最大池化的步驟且參數與前兩層均一致;第五層經過卷積、最大池化和線性偏移函數轉置后得到256個29×29的特征向量;第六層是全連接層,將第五層卷積層得到的特征向量拉伸得到4096維的向量;第七層與第六層操作相同;第八層是通過softmax輸出分類,本文中輸出為7,即7分類。對于分類類別判斷,即
2-3 卷積神經網絡的訓練
本文采用二維典型視圖訓練卷積神經網絡,在訓練前,模型所有的權值都要通過高斯分布進行初始化。卷積神經網絡的訓練分為正向傳播和反向傳播兩個過程。
1)正向傳播階段,本文中樣本均為RGB彩圖,所以輸入x就是對應RGB的3個矩陣,此時上一層的輸出就是下一層的輸入,從隱藏層前向傳播到卷積層的過程可以表示為其中:l代表層數;al代表第l層的張量;*代表卷積;W代表卷積核;b代表偏置;σ為激活函數,在卷積層為Relu函數,在全連接層為sigmoid函數,最后應得到一個7維的向量y,表示輸入x被分為指定類型的概率。
2)反向傳播階段,通過比較上一階段得到的輸出與本次實驗收集的數據集類型標簽向量的誤差δl,使用誤差代價函數調整權值參數,每一層的誤差都可以根據式(5)從反向逐層推導得到。
δl-1=δl*Wlf′(netl-1)(5)
式中:Wl是由卷積核的權重組成的數組;符號表示矩陣中每個元素對應相乘;f′(netl-1)是加權輸入的激活函數的導數。
通過正向傳播和反向傳播的訓練,得到該模型的權重參數,在利用梯度下降的方法即可得到卷積神經網絡的模型,本文經過多輪測試,學習率為0-001時,優化效率較高。訓練迭代次數為1400次,訓練達到1200次左右時,代價函數基本收斂,訓練集上的訓練誤差曲線如圖7所示。
3 系統實現
目前,三維CAD模型研究領域還不存在一種普遍認同的模型標準,因此本文從全球最大的3D零件庫tranceparsonline中組建自己的數據庫。分別收集了緊固件、撐頭、螺栓等7類模型,每類500種數據樣本,隨機選取400種作為訓練集,剩余100種作為測試集,共700種進行分類。部分三維CAD模型如圖8所示。
表2給出新AlexNet+LFD、AlexNet+投影+Apriori算法、新AlexNet+投影+Apriori算法在測試集上的分類準確率。從表2中可知傳統的AlexNet模型與篩選二維典型視圖的方法結合對三維CAD模型的識別準確率達到84-3%,而采用微調后的AlexNet模型與篩選二維典型視圖的方法結合對三維模型的識別準確率高達90-9%,實驗驗證了微調后的AlexNet模型在分類的效果上有了較大的改善;又通過LFD和生成二維典型視圖的方法比較可知,可知篩選二維典型視圖的方法在三維CAD模型分類中效果更優。
為了更加直觀地看到比較結果,我們繪制出分類準確率折線圖。如圖9所示,明顯看出LFD分辨模型的效果最差,這是由于LFD對于所有的特征信息做同等對待,不能精準的描述三維CAD模型的特征。本文在做投影操作的基礎上,采用Apriori算法篩選出12幅典型視圖,較全面的描述三維CAD模型的信息,由實驗結果上可知此方法對三維CAD模型分類的準確率有了較大的提高。
4 結 論
本文提出一種基于卷積神經網絡的三維CAD模型分類方法,首先將三維CAD模型轉變為方便進行訓練的二維視圖,然后利用Apriori算法篩選出具有更多特征的二維典型視圖,較好地彌補了傳統視圖提取方法中造成數據冗余和忽略不同數據特征對三維CAD模型影響不同等缺點。在原有AlexNet模型的基礎上本文通過適當地縮小卷積核大小和減少滑動步長使修改后的模型能夠利用更多的輸入特征,并最終達到了90-9%的分類準確率。
參 考 文 獻:
[1] 皇甫中民, 張樹生. 基于圖索引過濾機制的三維CAD模型局部檢索[J]. 計算機集成制造系統, 2015, 21(7):1679.HUANGFU Zhongmin, ZHANG Shusheng. Partial Retrieval Method of 3D CAD Models Based on Graph Indexing and Filtering Mechanism[J]. Computer Integrated Manufacturing System, 2015, 21(7):1679.
[2] ZENG Hui, LIU Yanrong, LI Siqi, et al. Convolutional Neural Network Based Multi-feature Fusion for Non-rigid 3D Model Retrieval[J]. Information Processing Systems, 2018, 14(1): 176.
[3] 李海生, 孫莉, 武玉娟, 等. 非剛性三維模型檢索特征提取技術研究[J]. 軟件學報, 2018, 29(2): 483.LI Haisheng, SUN Li, WU Yujuan, et al. Survey on Feature Extraction Techniques for Non-Rigid 3D Shape Retrieval[J]. Journal of Software, 2018, 29(2): 483.
[4] 秦飛魏. 基于語義的異構三維CAD模型檢索[D]. 浙江大學, 2014.QIN Feiwei. Semantic Based Retrieval for Heterogeneous 3D CAD Models[D]. Zhe Jiang University, 2014.
[5] SHARMA, R., J.X. GAO. A Knowledge-based Manufacturing and Cost Evaluation System for Product Design/re-design[J]. International Journal of Advanced Manufacturing Technology, 2007, 33(9/10): 856.
[6] KRIZHEVSHY A, SUTSKEVER I, HINTON G E. Image Net Classification with Deep Convolutional Neural Networks[J]. Advances in Neural Information Processing Systems, 2012:1097.
[7] FRANCISCO G-D, ALBERTO G-G, JOSE G-R, et al. A Sliced-based CNN Architecture for Real-time 3D Object Recognitlion[C]// International Joint Conference on Neural Networks. IEEE, 2017:412.
[8] 馮元力, 夏夢, 季鵬磊. 球面深度全景圖表示下的三維形狀識別[J]. 計算機輔助設計與圖形學學報, 2017, 29(9):1689.
FENG Yuanli, XIA Meng, JI Penglei, et al. Deep Spherical Panoramic Representation for 3D Shape Recognition[J]. Journal of Computer-Aided Design & Computer Graphics, 2017, 29(9):1689.
[9] BIASOTTI S,GIORGI D,SPAGNUOLO M,et al. Size Functions for Comparing 3D Models[J]. Pattern Recognition, 2008, 41(9): 2855.
[10]鄭伯川, 彭維, 張引, 等. 3D模型檢索技術綜述[J]. 計算機輔助設計與圖形學學報, 2004, 16(7):1297.ZHENG Bochuan, PENG Wei, ZHANG Yin. A Survey on 3D Model Retrieval Techniques[J]. JOURNAL OF COMPUTER-AIDED DESIGN &COMPUTER GRAPHICS, 2004, 16(7):1297.
[11]楊育彬, 林琿, 朱慶. 基于內容的三維模型檢索綜述[J]. 計算機學報, 2009, 32(6):1069.YANG Yubin, LIN Hui, ZHU Qing. Content-Based 3D Model Retrieval: A Survey[J]. CHINESE JOURNAL OF COMPUTERS, 2004, 27(10):1297.
[12]潘翔, 張三元, 葉修梓. 三維模型語義檢索研究進展[J]. 計算機學報, 2009, 32(6):1069.PAN Xiang, ZHANG Sanyuan, YE Xiuzi. A Survey of Content-Based 3D Model Retrieval with Semantic Features[J]. CHINESE JOURNAL OF COMPUTERS, 2009, 32(6):1069.
[13]石民, 張樹生, 李亮, 等. 基于二維典型視圖的三維CAD模型檢索算法[J]. 制造業自動化, 2012, 34(9):82.SHI Min, ZHANG Shusheng, LI Liang, et al. 3D CAD Model Retrieval Using 2D Characteristic Views[J]. Manufacturing Automation, 2012, 34(9):82.
[14]MA Y X, ZHENG B, GUO Y L, et al. Boosting Multi-view Convolutional Neural Networks for 3D Object Recognition Via View Saliency[C] //Proceedings of the Chinese Conference on Image and Graphics Technologies. Heidelberg: Springer, 2017:199.
[15]PU J T, AMANI K. An Integrated 2D and 3D Shape-based Search Framework and Applications[J]. Computer Aided Design and Applications. 2007, 4(6): 817.
[16]CHEN D Y, TIAN X P, SHEN Y T. On Visual Similarity Based on 3D Model Retrieval[J]. Computer Graphics Forum, 2003, 22(3):223.
[17]CYR C M, KIMIA B B. 3D Object Recognition Using Shape Similarity-based Aspect Graph[C]// ICCV, 2001:254.
[18]SHI B, BAI B, ZHOU Z, et al. 3D Deep Panoramic Representation for 3-D Shape Recognition[J]. Signal Processing Letters. IEEE, 2015:2339.
[19]SU H, SUBHRANSU M, EVANGELOS K, et al. Multi-view Convolutional Neural Networks for 3D Shape Recognition[C]// 15th IEEE International Conference on Computer Vision, 2015:945.
[20]SHI M, ZHANG S S , LI L, et al. 3D CAD Model Retrieval Using 2D Characteristic Views[J]. Engineering & Technology, 2012:1.
(編輯:溫澤宇)