邵海瑞,劉伊華,王希闊,王永娟
(1.南京理工大學(xué) 機(jī)械工程學(xué)院, 南京 210094;2.中國(guó)兵器工業(yè)第208研究所,北京 102202; 3.中國(guó)人民解放軍63856部隊(duì),吉林 白城 137001)
特征識(shí)別是連接設(shè)計(jì)與生產(chǎn)加工之間的橋梁,CAD系統(tǒng)三維建模表達(dá)的是底層幾何和拓?fù)湫畔ⅲ掠螒?yīng)用需要的是高層次的應(yīng)用特征,例如加工特征信息。因此對(duì)加工特征識(shí)別的優(yōu)劣關(guān)乎下游的生產(chǎn)加工。目前對(duì)于特征識(shí)別主要分為基于邊界匹配的特征識(shí)別、基于立體分解的特征識(shí)別和基于神經(jīng)網(wǎng)絡(luò)的特征識(shí)別。
隨著計(jì)算機(jī)軟硬件的快速發(fā)展,也為神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展提供了良好的環(huán)境,基于神經(jīng)網(wǎng)絡(luò)的特征識(shí)別也出現(xiàn)越來(lái)越多的研究成果。將零件的三維結(jié)構(gòu)轉(zhuǎn)化為三維彩色圖片,然后輸入給神經(jīng)網(wǎng)絡(luò)模型,這一方法給零件加工特征識(shí)別注入了新的解決方案。國(guó)內(nèi)外研究學(xué)者對(duì)其有大量的研究,Google公司提出了Google Net卷積神經(jīng)網(wǎng)絡(luò)模型,引入了inception模塊;Kaiming等提出了ResNet網(wǎng)絡(luò)模型,引入Residual結(jié)構(gòu);Hu等提出了SENet網(wǎng)絡(luò)模型,能夠有效抑制卷積核的通道,以上的研究都對(duì)模型進(jìn)行了優(yōu)化,從不同方面提高了神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確率和有效性。Zhang等將深度學(xué)習(xí)應(yīng)用到特征識(shí)別中,具有較高的識(shí)別率。
于洋等通引入解決子圖同構(gòu)問(wèn)題的VF2算法對(duì)加工特征進(jìn)行識(shí)別。唐碩等通過(guò)邊界表示的方法對(duì)孔類零件進(jìn)行特征識(shí)別。王軍等提出基于圖和痕跡的相交特征識(shí)別算法對(duì)STEP-NC相交特征進(jìn)行識(shí)別。陸凱等將加工特征識(shí)別問(wèn)題轉(zhuǎn)化為圖學(xué)習(xí)問(wèn)題,提出一種基于數(shù)據(jù)驅(qū)動(dòng)的飛機(jī)結(jié)構(gòu)件加工特征識(shí)別方法。薛曉輝等運(yùn)用遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化以解決數(shù)控加工特征識(shí)別。齊峰等提出一種應(yīng)用特征構(gòu)成面及其屬性鄰接邊信息構(gòu)成特征編碼的特征表示模型并結(jié)合基于徑向基函數(shù)的神經(jīng)網(wǎng)絡(luò)進(jìn)行加工特征的識(shí)別。呂超凡等用近鄰算法構(gòu)建點(diǎn)云的旋轉(zhuǎn)不變表示,結(jié)合融入幾何實(shí)驗(yàn)知識(shí)的點(diǎn)云分類網(wǎng)絡(luò)進(jìn)行加工特征識(shí)別。高遠(yuǎn)等通過(guò)以遺傳算法為主的神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)控加工特征進(jìn)行識(shí)別。張禹等以混沌算法、遺傳算法、BP神經(jīng)網(wǎng)絡(luò)算法結(jié)合BP神經(jīng)網(wǎng)絡(luò)中以進(jìn)行STEP-NC制造特征識(shí)別。許如歡提出一種基于幾何推理和神經(jīng)網(wǎng)絡(luò)相結(jié)合的加工特征識(shí)別混合算法。部分學(xué)者將三維拓?fù)浣Y(jié)構(gòu)轉(zhuǎn)化為點(diǎn)云數(shù)據(jù),然后輸入給神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,最后對(duì)加工特征進(jìn)行分類識(shí)別。
以上學(xué)者對(duì)特征識(shí)別的研究具有顯著的成果,但是也存在相交特征和復(fù)雜特征不能完全識(shí)別、對(duì)屬性鄰接圖冗余操作等問(wèn)題。而槍械關(guān)重件外形輪廓較為復(fù)雜,多為異形面,因此提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜加工特征識(shí)別方法,為下游提供加工特征信息。首先對(duì)槍械關(guān)重件進(jìn)行復(fù)雜加工特征分類,然后將零件的三維幾何拓?fù)浣Y(jié)構(gòu)模型轉(zhuǎn)化為圖片格式,并創(chuàng)建各個(gè)復(fù)雜加工特征圖像數(shù)據(jù)集,建立其基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)模型,再次構(gòu)建復(fù)雜加工特征分類器,最后基于UG平臺(tái)進(jìn)行實(shí)例驗(yàn)證槍械關(guān)重件的復(fù)雜加工特征識(shí)別。
在零件的設(shè)計(jì)階段,設(shè)計(jì)者會(huì)有多種方法構(gòu)建零件的三維模型,其中的特征稱之為幾何形狀特征,但是幾何形狀特征卻不適用于生產(chǎn)加工階段,因此在生產(chǎn)加工階段提出加工特征概念。槍械關(guān)重件中含有深孔特征,此深孔特征具有超大的深徑比,且槍械關(guān)重件還有尺寸小,形狀較為復(fù)雜,形面加工多,加工工序多等特點(diǎn)。結(jié)合關(guān)重件的加工過(guò)程和工藝特點(diǎn)對(duì)關(guān)重件的幾何形狀特征進(jìn)行重新提取、分解、歸類、聚合。以某型號(hào)的自動(dòng)武器為例,將其加工特征分成六大類21小類,其中復(fù)雜加工特征主要包含深孔、螺紋孔、不規(guī)則槽、圓弧面、螺旋槽、螺旋面等特征,如圖1所示。
圖1 槍械關(guān)重件加工特征分類框圖Fig.1 Classification of processing characteristics of guns and heavy parts
卷積神經(jīng)網(wǎng)絡(luò)是一種包含卷積計(jì)算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),是深度學(xué)習(xí)算法之一,一般由輸入層、卷積層、池化層、全連接層和輸出層組成,如圖2所示。其中輸入層為特征圖像的輸入;卷積層通過(guò)內(nèi)部的卷積核和激勵(lì)函數(shù)對(duì)特征圖像進(jìn)行提取;池化層通過(guò)池化函數(shù)對(duì)卷積層得到的特征圖進(jìn)行特征選擇和信息過(guò)濾;全連接層對(duì)經(jīng)過(guò)卷積層和池化層提取的特征進(jìn)行非線性組合以得到輸出;輸出層使用邏輯函數(shù)輸出分類標(biāo)簽和結(jié)果。
圖2 卷積神經(jīng)網(wǎng)絡(luò)一般結(jié)構(gòu)框圖Fig.2 General structure diagram of convolutional neural network
卷積層主要對(duì)輸入層的特征圖像進(jìn)行特征提取,其主要包括卷積核、卷積層參數(shù)和激勵(lì)函數(shù)。卷積層的主要原理為卷積核沿著該層輸入的特征圖像以卷積步長(zhǎng)進(jìn)行移動(dòng),并在對(duì)應(yīng)位置進(jìn)行卷積運(yùn)算。卷積核是卷積層中最重要的組成元素,組成卷積核的每個(gè)元素都對(duì)應(yīng)一個(gè)權(quán)重系數(shù)和一個(gè)偏差量。卷積層參數(shù)主要包含卷積核大小、步長(zhǎng)和特征填充方式,卷積核越大,可提取的輸入特征越復(fù)雜。卷積步長(zhǎng)定義了卷積核兩次掃過(guò)特征圖時(shí)位置的距離。填充方式主要分為有效填充、相同填充、全填充和任意填充4種。卷積層中采用激勵(lì)函數(shù)來(lái)協(xié)助其表達(dá)復(fù)雜特征,表示形式為:
(1)
常用的激勵(lì)函數(shù)主要有sigmoid函數(shù)、Tanh函數(shù)、ReLU函數(shù),其中應(yīng)用最多的是ReLU函數(shù)(見(jiàn)圖3),ReLU函數(shù)的表示形式為:
圖3 ReLU函數(shù)及其導(dǎo)函數(shù)曲線Fig.3 ReLU function and its derivative function
(2)
ReLU激勵(lì)函數(shù)當(dāng)≥0時(shí),梯度為1,不存在梯度飽和問(wèn)題;當(dāng)<0時(shí),增加了網(wǎng)絡(luò)的稀疏性,提高了模型的泛化能力,因此采用ReLU激勵(lì)函數(shù)對(duì)卷積層的參數(shù)進(jìn)行激勵(lì)。
池化層又稱下采樣層,由卷積層輸入的特征圖數(shù)據(jù)傳遞至池化層進(jìn)行特征選擇和過(guò)濾,在保存有用信息的基礎(chǔ)上減少數(shù)據(jù)量,進(jìn)而會(huì)減少卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練量和提高訓(xùn)練效率。對(duì)池化層的操作方式主要有平均池化、最大池化、混合池化和隨機(jī)池化四種,其主要受池化窗口大小、步長(zhǎng)和填充方式控制。最大池化方式進(jìn)行特征圖的提取與處理。表示形式為:
(3)
式中:為填充層數(shù);為卷積步長(zhǎng);為卷積核大??;(,)為特征圖的像素。
全連接層位于卷積神經(jīng)網(wǎng)絡(luò)隱含層的最后部分,用于對(duì)提取到的特征進(jìn)行分類組合并輸出最后的結(jié)果。特征圖像經(jīng)過(guò)卷積層和池化層的提取、壓縮和輸出之后,經(jīng)過(guò)最后一個(gè)全連接層進(jìn)行分類識(shí)別,一般采用邏輯回歸,Softmax回歸對(duì)樣本進(jìn)行分類,并輸出最終的結(jié)果。其中Softmax回歸函數(shù)表示形式為:
(4)
由式(4)可以看出,當(dāng)輸入特征為,預(yù)測(cè)類別為的概率為,特征的所有類別概率和為1,對(duì)于特征值越大的類別,最后該類輸出的概率值也就越大。
簡(jiǎn)單加工特征的識(shí)別已經(jīng)有較多的識(shí)別方法,但是對(duì)于復(fù)雜加工特征卻沒(méi)有行之有效的方法予以識(shí)別,因此本文主要研究槍械關(guān)重件復(fù)雜加工特征的識(shí)別。
基于卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜加工特征識(shí)別主要從復(fù)雜加工特征多角度捕捉圖像法構(gòu)建復(fù)雜加工特征數(shù)據(jù)集、建立復(fù)雜加工特征卷積神經(jīng)網(wǎng)絡(luò)模型和構(gòu)建復(fù)雜加工特征圖像分類器等3個(gè)方面對(duì)槍械關(guān)重件的復(fù)雜加工特征進(jìn)行識(shí)別。采用復(fù)雜加工特征多角度捕捉圖像的方法創(chuàng)建數(shù)據(jù)集,然后將數(shù)據(jù)集輸入給卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,之后采用損失函數(shù)計(jì)算模型的誤差值和最小梯度法對(duì)模型進(jìn)行優(yōu)化,最后采用Softmax分類器對(duì)獲取的三維拓?fù)浣Y(jié)構(gòu)圖像進(jìn)行分類識(shí)別,最后輸出識(shí)別結(jié)果,其流程如圖4所示。
圖4 基于CNN的復(fù)雜加工特征識(shí)別流程框圖Fig.4 CNN-based method flow for the identification of complex processing features
復(fù)雜加工特征數(shù)據(jù)集決定復(fù)雜加工特征卷積神經(jīng)網(wǎng)絡(luò)模型的輸入,對(duì)復(fù)雜加工特征分類器有基礎(chǔ)性的意義。采用復(fù)雜加工特征多角度捕捉圖像方法構(gòu)建復(fù)雜加工特征數(shù)據(jù)集。
首先使用參數(shù)化建模的方法創(chuàng)建若干個(gè)形狀大小參數(shù)不同的三維模型,然后根據(jù)復(fù)雜加工特征分類對(duì)拓?fù)浣Y(jié)構(gòu)進(jìn)行抽取,然后對(duì)抽取的加工特征從圖像背景、視圖方向、線框模型、特征顏色、特征平移、特征旋轉(zhuǎn)、特征縮放等方面進(jìn)行控制變量法操作輸出avi格式視頻,最后將輸出的avi格式視頻轉(zhuǎn)化為統(tǒng)一格式的jpg二維彩色圖像。下面以槍械關(guān)重件中的深孔加工特征為例說(shuō)明構(gòu)建深孔加工特征數(shù)據(jù)集的具體步驟如下:
1) 采用參數(shù)化建模方法,創(chuàng)建槍械關(guān)重件中深孔的三維模型;
2) 抽取深孔幾何特征。對(duì)深孔的三維模型進(jìn)行抽取幾何體操作,選擇單個(gè)面選項(xiàng);
3) 輸出avi格式視頻。對(duì)抽取出的深孔加工特征進(jìn)行視圖背景、視圖方向、線框類型、實(shí)體顏色、實(shí)體平移、實(shí)體旋轉(zhuǎn)、實(shí)體縮放等方面進(jìn)行處理,得到加工特征在不同視圖背景、不同視圖方向、不同線框類型、不同實(shí)體顏色、不同實(shí)體位置、不同實(shí)體角度、不同實(shí)體大小的視頻;
4) 輸出jpg格式圖片。對(duì)上一步驟輸出的視頻通過(guò)外部軟件轉(zhuǎn)化為每幀輸出的jpg格式圖片。
根據(jù)上述方法,分別建立槍械關(guān)重件復(fù)雜加工特征數(shù)據(jù)集,在此列出深孔加工特征數(shù)據(jù)集和螺旋面加工特征數(shù)據(jù)集,如圖5和圖6所示。
圖5 深孔加工特征部分?jǐn)?shù)據(jù)集示意圖Fig.5 Deep hole machining feature part data set
圖6 螺旋面加工特征部分?jǐn)?shù)據(jù)集示意圖Fig.6 Partial data set of spiral surface processing features
根據(jù)槍械關(guān)重件復(fù)雜加工特征分類,并結(jié)合槍械關(guān)重件的機(jī)加工藝特點(diǎn),對(duì)槍械關(guān)重件的復(fù)雜加工特征識(shí)別效果更佳,以卷積神經(jīng)網(wǎng)絡(luò)為框架,設(shè)計(jì)一種包含四層卷積層、四層池化層和三層全連接層的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型,其每層的參數(shù)如圖7所示。
圖7 隱含層參數(shù)框圖Fig.7 Hidden layer parameters
在對(duì)數(shù)據(jù)集和模型構(gòu)建完成以后,需要對(duì)模型進(jìn)行評(píng)估和優(yōu)化,然后采用復(fù)雜加工特征分類器對(duì)其進(jìn)行加工特征分類。對(duì)模型的評(píng)估采用交叉熵函數(shù)來(lái)描述計(jì)算結(jié)果中真實(shí)概率與預(yù)測(cè)概率的差異,其計(jì)算公式為:
(5)
確定損失函數(shù)以后,需要根據(jù)損失函數(shù)計(jì)算出的函數(shù)值,采用梯度下降法來(lái)修正復(fù)雜加工特征卷積神經(jīng)網(wǎng)絡(luò)模型,從而減小誤差,以達(dá)到網(wǎng)絡(luò)預(yù)測(cè)的結(jié)果不斷接近真實(shí)結(jié)果。在優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的模型之后,采用Softmax的方式對(duì)復(fù)雜加工特征進(jìn)行分類。
構(gòu)建槍械關(guān)重件的復(fù)雜加工特征數(shù)據(jù)集和搭建卷積神經(jīng)網(wǎng)絡(luò)模型之后,用python程序在PyCharm平臺(tái)中編寫(xiě)復(fù)雜加工特征圖像分類算法,算法流程如圖8所示。
圖8 復(fù)雜加工特征圖像分類算法流程框圖Fig.8 Complex processing feature image classification algorithm flow
具體步驟為:
1) 獲取所有加工特征圖像數(shù)據(jù)集,其中包含個(gè)加工特征,每個(gè)加工特征中含有張加工特征圖,循環(huán)變量初始值為=1,=1,其中-表示第個(gè)加工特征的數(shù)據(jù)集,-表示第個(gè)加工特征數(shù)據(jù)集中的第一張加工特征圖;
2) 依次讀取第個(gè)特征的第張加工特征圖,輸入給訓(xùn)練好的復(fù)雜加工特征卷積神經(jīng)網(wǎng)絡(luò)模型,得到第-張加工特征圖的預(yù)測(cè)概率為-;
3) 然后根據(jù)得到的-計(jì)算-加工特征圖的最大期望值=max{,,,…,};
4) 根據(jù)得到的最大期望值,結(jié)束復(fù)雜加工特征圖像識(shí)別,輸出最終的復(fù)雜加工特征類型。
根據(jù)本文提出的基于卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜加工特征圖像識(shí)別方法,采用Python語(yǔ)言編寫(xiě)程序,以PyCharm平臺(tái)結(jié)合TensorFlow深度學(xué)習(xí)框架構(gòu)建復(fù)雜加工特征分類器,并通過(guò)UG的API接口建立復(fù)雜加工特征識(shí)別模塊對(duì)其進(jìn)行實(shí)例驗(yàn)證。
將槍械關(guān)重件訓(xùn)練集輸入給復(fù)雜加工特征卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練參數(shù),如表1所示。訓(xùn)練次數(shù)和數(shù)據(jù)集損失值的函數(shù)曲線,如圖9所示,訓(xùn)練次數(shù)和數(shù)據(jù)集準(zhǔn)確率的函數(shù)曲線,如圖10所示。
表1 模型訓(xùn)練參數(shù)Table 1 Model training parameters
圖9 數(shù)據(jù)集損失函數(shù)曲線Fig.9 Data set loss function
圖10 數(shù)據(jù)集識(shí)別率函數(shù)曲線Fig.10 Data set recognition rate function
在卷積神經(jīng)網(wǎng)絡(luò)完成大量的數(shù)據(jù)訓(xùn)練以后,選擇槍械關(guān)重件進(jìn)行復(fù)雜加工特征識(shí)別驗(yàn)證。其關(guān)重件特征在上述六大類加工特征之中,通過(guò)抽取幾何體、復(fù)雜加工特征多角度捕捉圖像法以及復(fù)雜加工特征圖像識(shí)別分類等操作,部分加工特征識(shí)別結(jié)果,如表2所示。
表2 復(fù)雜加工特征識(shí)別結(jié)果Table 2 Partial processing feature recognition results
槍械某關(guān)重件復(fù)雜加工特征識(shí)別結(jié)果,如圖11所示,從識(shí)別結(jié)果可以看出,該方法能夠識(shí)別出復(fù)雜加工特征類型。
圖11 槍械某關(guān)重件復(fù)雜加工特征識(shí)別結(jié)果界面Fig.11 Recognition results of complex processing features of a certain key important part of firearms
1) 神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)方法
基于邊界匹配的加工特征識(shí)別方法對(duì)特征的定義簡(jiǎn)單,能準(zhǔn)確地描述特征面鄰接屬性,算法效率高,但是無(wú)法識(shí)別相交特征;基于立體分解的加工特征識(shí)別方法能夠識(shí)別簡(jiǎn)單的相交特征,但是識(shí)別過(guò)程是基于大量的布爾運(yùn)算,會(huì)導(dǎo)致計(jì)算量大,效率低。而基于卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜加工特征識(shí)別方法有較高的效率,能夠識(shí)別相交特征,并且能夠識(shí)別尺寸大小不同、視圖方向不同的加工特征。
2) 不同神經(jīng)網(wǎng)絡(luò)方法
文獻(xiàn)[22]中基于多層感知機(jī)(multilayer perceptron,MLP)模型,采用改進(jìn)的NBA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),能識(shí)別出孔、盲孔、通槽、臺(tái)階、T形槽、盲槽和部分相交特征。文獻(xiàn)[23]中基于CNN模型可以識(shí)別不同類型的鉆孔的可加工制造性。文獻(xiàn)[7]中構(gòu)建孔、槽、臺(tái)階等24種常見(jiàn)的簡(jiǎn)單特征數(shù)據(jù)集,然后基于CNN對(duì)其進(jìn)行加工特征分類識(shí)別。本研究中提出的基于CNN的復(fù)雜加工特征識(shí)別模型,不僅能夠識(shí)別孔、槽、臺(tái)階等簡(jiǎn)單加工特征,而且能夠識(shí)別深孔、槍用螺旋槽等復(fù)雜加工特征,是對(duì)原有加工特征識(shí)別的一種擴(kuò)展。
1) 提出了復(fù)雜加工特征多角度捕捉圖像方法,創(chuàng)建了復(fù)雜加工特征數(shù)據(jù)集,建立了復(fù)雜加工特征卷積神經(jīng)網(wǎng)絡(luò)模型,構(gòu)建了復(fù)雜加工特征分類器;
2) 通過(guò)槍械關(guān)重件復(fù)雜加工特征識(shí)別實(shí)例驗(yàn)證了基于卷積神經(jīng)網(wǎng)絡(luò)的槍械關(guān)重件復(fù)雜加工特征識(shí)別方法有效、可行。