石葉楠,鄭國(guó)磊
北京航空航天大學(xué) 機(jī)械工程及自動(dòng)化學(xué)院,北京 100083
加工特征自動(dòng)識(shí)別是智能化設(shè)計(jì)與制造領(lǐng)域中的一項(xiàng)核心技術(shù)和關(guān)鍵支撐,在所有借助特征進(jìn)行分析與決策的計(jì)算機(jī)輔助設(shè)計(jì)與制造系統(tǒng)中,特征識(shí)別均是必不可少的基礎(chǔ)組成單元。在當(dāng)下的數(shù)字化設(shè)計(jì)與制造中,設(shè)計(jì)完成的計(jì)算機(jī)輔助設(shè)計(jì)(Computer Aided Design, CAD)模型用于計(jì)算機(jī)輔助制造(Computer Aided Manufacturing, CAM)時(shí),常常存在數(shù)據(jù)與物理環(huán)境間脫節(jié)的問題,即物理制造階段僅傳遞面、邊等低級(jí)信息,而丟失CAD模型設(shè)計(jì)中的其他相關(guān)信息。計(jì)算機(jī)輔助工藝規(guī)劃(Computer Aided Process Planning, CAPP)從制造需求的角度對(duì)CAD模型進(jìn)行解釋,并重新用“加工特征”來定義,從而解決了CAD和CAM之間的連接問題。
加工特征與加工過程密切相關(guān),涉及加工方式、刀具類型、加工刀軌、夾具等信息。根據(jù)加工特征的幾何性質(zhì)和在CAD模型中的空間關(guān)系,通常將其分為獨(dú)立特征與相交/復(fù)合特征。相交特征由多個(gè)獨(dú)立的特征組合形成,并在幾何或拓?fù)浣Y(jié)構(gòu)上發(fā)生了改變,其識(shí)別是加工特征識(shí)別中的難點(diǎn)和重點(diǎn)?,F(xiàn)有的加工特征識(shí)別方法已得到了廣泛的應(yīng)用,但是特征識(shí)別方法仍然面臨三方面的挑戰(zhàn):一是特征本身具有多樣性,而不同的應(yīng)用系統(tǒng)僅根據(jù)需要尋求預(yù)定特征的識(shí)別算法,使得算法不具通用性,無法適應(yīng)特征多樣性的發(fā)展要求;二是特征識(shí)別的時(shí)間成本較高,特別是在處理復(fù)雜特征、相交特征或大型結(jié)構(gòu)件中的多類型特征時(shí),識(shí)別時(shí)間可能會(huì)大幅增加;三是準(zhǔn)確率還需進(jìn)一步提高。
目前針對(duì)加工特征識(shí)別的方法有很多,其中比較經(jīng)典的方法可歸納為基于圖的方法[1]、基于體分解的方法[2]、基于規(guī)則的方法[3]和基于痕跡的方法[4]。這些方法各有優(yōu)缺點(diǎn),但是它們間的共性問題包括:① 不具備學(xué)習(xí)和抽象能力;② 對(duì)CAD輸入模型的抗噪性較差;③ 專注于特定類型的CAD表示,不能推廣到其他不同表示方法的特征表示;④ 處理可變特征、相交特征的能力較差。
恰恰相反,神經(jīng)網(wǎng)絡(luò)方法具有彌補(bǔ)這些共性不足的技術(shù)優(yōu)勢(shì)。首先,神經(jīng)網(wǎng)絡(luò)具有學(xué)習(xí)的能力;其次,神經(jīng)網(wǎng)絡(luò)方法是基于數(shù)據(jù)驅(qū)動(dòng)的方法,只要建立了一種通用的數(shù)學(xué)表達(dá)方法,就可以統(tǒng)一用神經(jīng)網(wǎng)絡(luò)識(shí)別不同類型的特征;再次,神經(jīng)網(wǎng)絡(luò)具有識(shí)別相似特征的能力,不需要預(yù)定義所有可能的特征實(shí)例。因此,自20世紀(jì)90年代末開始,國(guó)內(nèi)外學(xué)者開始關(guān)注和研究利用神經(jīng)網(wǎng)絡(luò)識(shí)別加工特征,并取得了一系列顯著的成果[5-6]。神經(jīng)網(wǎng)絡(luò)方法的基本思想是借助神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力,通過向網(wǎng)絡(luò)輸入樣本特征并依據(jù)期望輸出結(jié)果來反復(fù)訓(xùn)練網(wǎng)絡(luò),以實(shí)現(xiàn)特征識(shí)別任務(wù)。同時(shí),神經(jīng)網(wǎng)絡(luò)的抗噪性能也有助于提高特征識(shí)別的準(zhǔn)確率。目前,這方面的研究重點(diǎn)在于:① 如何將CAD模型和加工特征轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)的輸入信息,即特征的預(yù)處理和編碼;② 選擇何種神經(jīng)網(wǎng)絡(luò),即神經(jīng)網(wǎng)絡(luò)構(gòu)架。
神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺與模式識(shí)別中的巨大成功已驗(yàn)證了其強(qiáng)大的識(shí)別與分類能力,類比可見神經(jīng)網(wǎng)絡(luò)方法在加工特征識(shí)別領(lǐng)域也很有發(fā)展?jié)摿?。本文針?duì)目前神經(jīng)網(wǎng)絡(luò)在識(shí)別加工特征方面的能力和所取得的成果,綜述多層感知機(jī)(Multilayer Perceptron, MLP)、自組織神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)三種典型神經(jīng)網(wǎng)絡(luò)的發(fā)展現(xiàn)狀,介紹神經(jīng)網(wǎng)絡(luò)識(shí)別加工特征的具體方法,包括特征預(yù)處理和編碼,以及神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)過程,對(duì)比分析神經(jīng)網(wǎng)絡(luò)方法與其他特征識(shí)別方法及三種神經(jīng)網(wǎng)絡(luò)技術(shù)特點(diǎn),并在此基礎(chǔ)上展望神經(jīng)網(wǎng)絡(luò)識(shí)別加工特征技術(shù)的發(fā)展趨勢(shì)。
感知機(jī)是由Rosenblatt[7]最早提出的單層神經(jīng)網(wǎng)絡(luò),是第一個(gè)具有學(xué)習(xí)能力的數(shù)學(xué)模型。但是單層的神經(jīng)網(wǎng)絡(luò)無法解決線性不可分問題,而隨后出現(xiàn)的MLP卻解決了這一問題。與單層感知機(jī)相比,MLP具有3個(gè)典型特點(diǎn):① 輸入層和輸出層之間添加了隱藏層,且可以為多層;② 輸出層的神經(jīng)元個(gè)數(shù)可大于1個(gè),一般情況下,用于預(yù)測(cè)和函數(shù)逼近的MLP的輸出神經(jīng)元為1個(gè),用于分類的輸出神經(jīng)元為一個(gè)或多個(gè),每一個(gè)表示一種類型;③ 隱藏層和輸出層均含有非線性激活函數(shù)。
(1)
MLP的訓(xùn)練或?qū)W習(xí)方式屬于監(jiān)督型,其主要特點(diǎn)為:對(duì)于給定的輸入信息,根據(jù)輸出神經(jīng)元的實(shí)際值和期望值之間的誤差來調(diào)整隱藏層和輸出層神經(jīng)元間連接權(quán)值,使其最終滿足總體計(jì)算誤差要求。常用的訓(xùn)練方法有多種,例如反向傳播(Backpropagation, BP)法、delta-bar-delta方法、最快下降法、高斯-牛頓法和LM方法等。實(shí)驗(yàn)結(jié)果表明,LM方法、高斯-牛頓法和最快下降法等訓(xùn)練速度優(yōu)于BP和delta-bar-delta方法,其中LM方法最為有效[8]。
圖1 MLP結(jié)構(gòu)Fig.1 MLP structure
當(dāng)MLP采用BP方法訓(xùn)練時(shí),即為BP神經(jīng)網(wǎng)絡(luò)。BP方法是目前最常用的神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法,其實(shí)質(zhì)是計(jì)算誤差函數(shù)的最小值問題,按照誤差函數(shù)的負(fù)梯度方向修改權(quán)值。
BP算法包括信號(hào)正向計(jì)算和誤差反向計(jì)算等兩個(gè)計(jì)算過程。前面所介紹的計(jì)算過程即為信號(hào)正向計(jì)算,而誤差E反向計(jì)算式為
(2)
與MLP類似,自組織神經(jīng)網(wǎng)絡(luò)也是一種前饋神經(jīng)網(wǎng)絡(luò)。但是,自組織神經(jīng)網(wǎng)絡(luò)采用無監(jiān)督學(xué)習(xí)方式,具有自組織學(xué)習(xí)能力,即自動(dòng)學(xué)習(xí)輸入數(shù)據(jù)中的重要特征或找出其內(nèi)部規(guī)律,如分布和聚類等特征,根據(jù)這些特征和規(guī)律自動(dòng)調(diào)整自身的學(xué)習(xí)過程,使得之后的輸出與之相適應(yīng)。對(duì)自組織神經(jīng)網(wǎng)絡(luò)來說,學(xué)習(xí)過程不僅包括網(wǎng)絡(luò)參數(shù)的調(diào)整,也包括網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的調(diào)整。
在加工特征識(shí)別領(lǐng)域,已采用的自組織神經(jīng)網(wǎng)絡(luò)有自組織特征映射(Self-Organizing Feature Map, SOFM)和自適應(yīng)共振理論(Adaptive Resonance Theory, ART)網(wǎng)絡(luò)等。
SOFM是Kohonen于1981年提出的一個(gè)兩層網(wǎng)絡(luò)模型,其中第一層為輸入層,神經(jīng)元個(gè)數(shù)與樣本維數(shù)相等;第二層為輸出層,也稱為Kohonen層。神經(jīng)元排布有一維線性、二維平面和三維柵格三種形式,其中最常用的為二維平面形式。SOFM的神經(jīng)元有兩種連接關(guān)系:每個(gè)Kohonen層神經(jīng)元與所有輸入層神經(jīng)元相連;Kohonen層的神經(jīng)元之間互相連接,即側(cè)向連接,這也是SOFM模仿大腦皮層神經(jīng)側(cè)抑制特性的一個(gè)體現(xiàn)。圖2給出了SOFM的3種拓?fù)浣Y(jié)構(gòu),其中圓/橢圓表示神經(jīng)元,實(shí)線表示層間連接和輸入/出,虛線表示Kohonen層內(nèi)神經(jīng)元間的連接。
圖2 SOFM拓?fù)浣Y(jié)構(gòu)Fig.2 Topological structure of SOFM
對(duì)于一個(gè)給定的輸入,SOFM通過競(jìng)爭(zhēng)學(xué)習(xí)得到獲勝神經(jīng)元,之后獲勝神經(jīng)元與其附近的神經(jīng)元(稱為鄰域)一起調(diào)整權(quán)值,該鄰域特征有助于保持該輸入的拓?fù)涮匦浴?/p>
神經(jīng)網(wǎng)絡(luò)一般具有兩種能力,可塑性是指網(wǎng)絡(luò)學(xué)習(xí)新知識(shí)的能力,而穩(wěn)定性則指神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)新知識(shí)時(shí)要保持對(duì)舊知識(shí)的記憶。通常,當(dāng)一個(gè)神經(jīng)網(wǎng)絡(luò)對(duì)于輸入樣本的訓(xùn)練學(xué)習(xí)達(dá)到穩(wěn)定后,如果再加入新的樣本繼續(xù)訓(xùn)練,前面的訓(xùn)練結(jié)果就會(huì)受到影響,表現(xiàn)為對(duì)舊數(shù)據(jù)、舊知識(shí)的遺忘。ART網(wǎng)絡(luò)的建立即是為了解決神經(jīng)網(wǎng)絡(luò)這種可塑性與穩(wěn)定性的矛盾。
ART理論由Grossberg于1976年提出,隨后Carpenter和Grossberg[9]建立了ART網(wǎng)絡(luò),即ART1。ART1的輸入被限定為二進(jìn)制信號(hào),使得其應(yīng)用存在一定的局限性。ART2[10]作為ART1的擴(kuò)展型,在網(wǎng)絡(luò)結(jié)構(gòu)上也進(jìn)行了一定程度的改進(jìn),能夠處理連續(xù)型模擬信號(hào)。ART1和ART2均為無監(jiān)督學(xué)習(xí)類型,具有自組織能力,是ART網(wǎng)絡(luò)中的最基本網(wǎng)絡(luò),在此基礎(chǔ)上發(fā)展起來了兼容ART1與ART2的ART3、監(jiān)督型學(xué)習(xí)的ARTM-AP、基于模糊理論的Fuzzy ART等。用于加工特征識(shí)別的ART網(wǎng)絡(luò)有ART2和Fuzzy ART。
圖3為ART2的基本構(gòu)架,由監(jiān)視子系統(tǒng)和決策子系統(tǒng)兩部分組成。監(jiān)視子系統(tǒng)包括比較層和識(shí)別層(Y層)及兩層間的連接通路。其中比較層包含六個(gè)子層,分別為W層、X層、V層、U層、P層和Q層。決策子系統(tǒng)則由R層組成。ART2將相似的特征聚集在一起,特征的相似性則由警戒參數(shù)控制。當(dāng)輸入到網(wǎng)絡(luò)的新特征與已存在的特征簇中的成員相似時(shí),新特征就與該簇關(guān)聯(lián);否則,ART2為新特征創(chuàng)建一個(gè)新的簇。相關(guān)變量說明參見文獻(xiàn)[11]。
圖3 ART1構(gòu)架[11]Fig.3 ART1 architecture[11]
CNN作為目前最著名的深度學(xué)習(xí)方法之一,已經(jīng)在圖像識(shí)別[12]、場(chǎng)景標(biāo)記[13]、語音識(shí)別[14]、目標(biāo)檢測(cè)[15]、自然語言理解[16]等領(lǐng)域取得了突出的應(yīng)用效果。CNN在處理和分析大型復(fù)雜數(shù)據(jù)方面具有很強(qiáng)的計(jì)算能力,并且由于具有良好的魯棒性,CNN特別適用于視覺相關(guān)領(lǐng)域的特征提取和學(xué)習(xí)任務(wù)。
CNN的構(gòu)架靈感來源于貓視覺皮層簡(jiǎn)單細(xì)胞和復(fù)雜細(xì)胞[17]的結(jié)構(gòu)和功能。Fukushima和Miyake[18]建立的Neocognitron可被視為CNN的雛形,其框架由S-layer和C-layer交替組成。早期CNN的代表是LeCun[19-20]的LeNets系列,由卷積層(Convolution Layer, CL)和子采樣層組成(見圖4)。隨著Hinton等[21]在2006年提出layer-wise-layer-greedy-learning方法,深度學(xué)習(xí)技術(shù)才得以真正意義上的建立和發(fā)展。2012年,Krizhevsky等[22]使用深度CNN模型AlexNet在ILSVRC ImageNet圖像分類比賽中奪得冠軍后,深度CNN的研究熱潮席卷了整個(gè)計(jì)算機(jī)視覺領(lǐng)域,得到了廣泛的應(yīng)用[23-26]。
CNN一般由CL、池化層(Pooling Layer, PL)和完全連接層(Fully-connected Layer, FL)組成,CL與PL交替連接,F(xiàn)L多位于網(wǎng)絡(luò)最后面。CL由多個(gè)特征圖組成,每個(gè)特征圖中的神經(jīng)元都與前一層的神經(jīng)元鄰域相連,構(gòu)成CL神經(jīng)元的感受野,通過權(quán)值和激活函數(shù)提取感受野的特征。PL的目的是降低CL特征圖的空間分辨率,從而實(shí)現(xiàn)對(duì)輸入失真和平移的空間不變性,常用方法有平均值池化法和最大值池化法。FL可對(duì)網(wǎng)絡(luò)中的抽象特征進(jìn)行解釋,并執(zhí)行高級(jí)推理功能,實(shí)現(xiàn)分類和識(shí)別目的,常用的算子是softmax算子。CNN的結(jié)構(gòu)決定了CNN有稀疏連接、參數(shù)共享和等價(jià)表示等三大關(guān)鍵要素。
Lin等[27]設(shè)計(jì)了一種Network in Network模型對(duì)CL進(jìn)行改進(jìn),將一個(gè)傳統(tǒng)的CL改為多層CL,從而將線性抽象轉(zhuǎn)變?yōu)榉蔷€性抽象,提高了CNN的抽象表達(dá)能力。Zhai等[28]利用一個(gè)雙CL替代單一的CL,用于平衡識(shí)別精度與內(nèi)存占用量(即參數(shù)量)之間的關(guān)系。雙CL的特點(diǎn)是其元濾波器的尺寸大于有效濾波器的尺寸。計(jì)算時(shí),從每個(gè)對(duì)應(yīng)的元濾波器中提取有效濾波器,之后將所有提取到的濾波器與輸入連接進(jìn)行卷積。
對(duì)于PL的改進(jìn),Krizhevsky等[22]提出了重疊池化方法,即相鄰池化窗口之間存在重疊區(qū)域。由于同一個(gè)神經(jīng)元可以參與不同的池化操作,因此可以在一定程度上提高識(shí)別結(jié)果。為了解決最大池化法容易陷入局部最優(yōu)的問題,Sermanet等[29]建立了Lp池化方法,該方法可以通過隨機(jī)表示將一般球分布擴(kuò)展到范數(shù)表示,并估計(jì)最優(yōu)非線性和子空間的大小。混合池化[30]是一種將平均池化法和最大池化法綜合起來的池化方法,該方法既可以解決最大池化法因參數(shù)不均勻造成的失真問題,又可以避免平均池化造成的特征對(duì)比度下降的問題,但是該方法的訓(xùn)練誤差較大。
圖4 LeNet-5構(gòu)架[20]Fig.4 LeNet-5 architecture[20]
傳統(tǒng)的CNN采用的激活函數(shù)多為飽和函數(shù),如sigmoid和tanh函數(shù)等。目前,不飽和激活函數(shù)成為主流,出現(xiàn)了ReLU[31]及其擴(kuò)展函數(shù)。ReLU是一個(gè)分段函數(shù),當(dāng)x>0時(shí),ReLU(x)=x;當(dāng)x≤0時(shí),ReLU(x)=0。ReLU的優(yōu)點(diǎn)是可以幫助神經(jīng)網(wǎng)絡(luò)輕松獲得稀疏表示。LReLU[32]的提出是為了改進(jìn)ReLU在無監(jiān)督預(yù)處理網(wǎng)絡(luò)中的性能,采用的方法是當(dāng)x≤0時(shí),令LReLU(x)=αx,式中:α為比例因子,是一個(gè)給定值。LReLU的變體還包括PReLU[33],其與LReLU的唯一區(qū)別是PReLU的α可以通過BP學(xué)習(xí)獲得,且沒有額外的過度擬合的風(fēng)險(xiǎn)。
加工特征存在于CAD實(shí)體模型中,包含幾何和拓?fù)湫畔ⅲ窠?jīng)網(wǎng)絡(luò)的輸入形式是一組數(shù)值信息,也可稱為表示向量(Representation Vector, RV)。因此,如何將CAD模型或加工特征轉(zhuǎn)化為適用于神經(jīng)網(wǎng)絡(luò)的輸入格式成為了神經(jīng)網(wǎng)絡(luò)識(shí)別加工特征的首要問題。本文將該問題表述為特征的預(yù)處理與編碼問題。據(jù)文獻(xiàn),神經(jīng)網(wǎng)絡(luò)識(shí)別加工特征時(shí),常用的特征預(yù)處理與編碼方法主要有:基于屬性鄰接圖(Attributed Adjacency Graph, AAG)編碼、基于面鄰接矩陣(Face Adjacency Matrix, FAM)編碼、基于面值向量(Face Score Vector, FSV)編碼、體素化方法和橫截面分層法等。
2.1.1 基于AAG編碼
加工特征的AAG通常定義為G=N,C,A,式中:N為頂點(diǎn)集,表示特征的組成面集;C為頂點(diǎn)間的連接邊集;A為連接邊的凹凸性集合。AAG只定義了模型的拓?fù)湫畔ⅲ缓心P偷膸缀涡畔?。在基于AAG的編碼中,為了獲得作為神經(jīng)網(wǎng)絡(luò)的輸入RV,需將AAG分解為AAG子圖,再轉(zhuǎn)化為鄰接矩陣(Adjacency Matrix, AM),然后根據(jù)AM得到RV。
通常,AM是一個(gè)二進(jìn)制的對(duì)稱矩陣,以對(duì)角線分為凸和凹兩個(gè)區(qū)域,元素表示行列號(hào)所示的兩個(gè)面的鄰接邊的凹凸性。取AM的上三角或下三角并按行列號(hào)依次排序,所得元素序列即為神經(jīng)網(wǎng)絡(luò)的輸入[34]。
若各AAG子圖的AM規(guī)格不一致,可對(duì)AM中的元素進(jìn)一步提煉。首先建立一個(gè)有關(guān)拓?fù)渑c幾何關(guān)系的問題表,然后根據(jù)AM確定各問題的二進(jìn)制答案,最后將答案作為RV的各元素值。Nezis和Vosniakos[35]及Guan等[36]均采用該思路創(chuàng)建RV。
2.1.2 基于FAM編碼
基于FAM編碼是基于AAG編碼的改進(jìn)型,與AM相比,F(xiàn)AM增加了面的編碼信息,因此能夠更加準(zhǔn)確地定義面間的鄰接關(guān)系。FAM是一個(gè)對(duì)稱矩陣A=(aij)m×m,其中aii表示第i個(gè)特征面的屬性,aij(i≠j)表示第i個(gè)特征面與第j個(gè)特征面間的鄰接關(guān)系,每種關(guān)系對(duì)應(yīng)不同的整數(shù)值。FAM生成RV的方式與AM生成RV的方式相同。
Prabhakar和Henderson[37]建立了一個(gè)8×8的FAM,每一行/列定義為一個(gè)含有八個(gè)元素的整數(shù)向量,分別表示某個(gè)面與其鄰接面間的屬性,包括邊類型、面類型、面角度類型、環(huán)個(gè)數(shù)等。該方法的缺點(diǎn)是不能分離拓?fù)湎嗤螤畈煌奶卣?。胡小平等[38]在添加虛構(gòu)面的基礎(chǔ)上設(shè)計(jì)了一個(gè)6×6的擴(kuò)展型面鄰接矩陣,以虛構(gòu)的盒形體統(tǒng)一定義特征的表達(dá)式,并利用特征面的屬性來區(qū)分特征的真實(shí)存在面和虛構(gòu)面,避免特征的描述混淆。
考慮到AAG僅能識(shí)別平面和簡(jiǎn)單曲面特征,不能處理有共同底面的相交特征,Ding和Yue[39]建立了F-鄰接矩陣和V-鄰接矩陣。該方法通過一個(gè)空間虛擬實(shí)體(Spatial Virtual Entity, SVE)來表示初始模型生成最終特征時(shí)所需移除的實(shí)體。兩種矩陣的實(shí)例如圖5[40]和圖6[40]所示。其中,F(xiàn)-鄰接矩陣定義特征的組成面類型和面間的夾角,V-鄰接矩陣定義SVE中虛擬面間的關(guān)系,即行列號(hào)對(duì)應(yīng)的兩個(gè)虛擬面是否相連。
圖5 F-鄰接矩陣實(shí)例[40]Fig.5 Example of F-adjacency matrix[40]
圖6 V-鄰接矩陣實(shí)例[40]Fig.6 Example of V-adjacency matrix[40]
2.1.3 基于FSV編碼
面值計(jì)算公式是一個(gè)與面、邊、頂點(diǎn)特征及其鄰接關(guān)系有關(guān)的函數(shù)[41],用FSV對(duì)特征進(jìn)行編碼的常用思路為:① 定義FSV的計(jì)算式及各分量的分值表;② 定義RV的元素個(gè)數(shù)和相應(yīng)的面順序;③ 根據(jù)公式計(jì)算各特征面的值;④ 將各面值作為元素值生成RV。
FSV的計(jì)算公式可概括為F=G′+L+E′+V,F(xiàn)為面分值;G′為面幾何分值,表示面的凹凸性;L為環(huán)值;E′為邊值;V為頂點(diǎn)值。通過對(duì)相關(guān)文獻(xiàn)的研究,該公式有以下幾種表現(xiàn)形式:
1)F=G′+L+V型
該類型的FSV包含面幾何分值、環(huán)值和頂點(diǎn)值等三個(gè)參數(shù),其中面幾何分值與環(huán)值由分值表查詢獲得,頂點(diǎn)值則與過該點(diǎn)的邊值有關(guān)。相關(guān)實(shí)例包括文獻(xiàn)[42-44]等。
2)F=G′+V型
該類型的FSV包含僅包含面幾何分值與頂點(diǎn)值兩個(gè)參數(shù)。Marquez等[45]采用該公式定義FSV,并用數(shù)值的正負(fù)表示面、邊等元素的凹凸性。Sunil和Pande[46]采用該方法計(jì)算面分值,并將特征的7個(gè)組成面的面分值作為輸入RV的前7個(gè)元素值。
3)F=G′+E′+V型
?ztürk和?ztürk[47-48]采用該公式將特征定義為一個(gè)關(guān)于點(diǎn)、邊和面的輸入矢量,這種方法的局限性是僅能表示有限的復(fù)合特征,并且特征樣本和特征之間不含一一對(duì)應(yīng)的關(guān)系。
4)F=G′+L+E′+V型
Jian等[49]建立的面值計(jì)算公式為
(3)
式中:Ai為特征面的分值;Fi為面的權(quán)值,定義面的凹凸性;Eij為環(huán)的權(quán)值;Lik為邊的權(quán)值;Vix為鄰接關(guān)系權(quán)值,定義特征面與鄰接面的夾角關(guān)系,其目的是幫助識(shí)別V型槽等具有特殊夾角的特征;m′、n′和q分別為相應(yīng)的對(duì)象個(gè)數(shù)。
2.1.4 體素化方法
體素化方法是三維CNN特有的特征預(yù)處理與編碼方法,通過將CAD模型劃分為體素網(wǎng)格,對(duì)體素進(jìn)行二進(jìn)制賦值,進(jìn)而獲得CNN的輸入數(shù)據(jù)。以圖7為例[50],若體素位于模型內(nèi)部則賦值1,即綠色點(diǎn)集,若體素位于模型外部則賦值0,即紅色點(diǎn)集。通過這種方法,整個(gè)模型可以表示為一長(zhǎng)串二進(jìn)制數(shù)字,便于CNN進(jìn)行卷積計(jì)算。
圖7 CAD體素模型的可視化[50]Fig.7 Visualization of voxelized CAD models[50]
體素化的方式包括渲染法[51]和奇偶計(jì)數(shù)法與射線穿透法相結(jié)合的方法[52]。為了加速體素化過程,Balu等[50]利用圖形處理單元?jiǎng)澐煮w素網(wǎng)格,比CPU方法快10倍以上,而且能夠創(chuàng)建超過10億個(gè)體素的CAD體素模型。為了減少特征邊界信息的丟失,Ghadai等[51]利用面法線嵌入網(wǎng)格的方式來增強(qiáng)體素化過程。
2.1.5 橫截面分層法
橫截面分層法[53-54]是指對(duì)于具有相同厚度和公共底面的相交特征,采用分層方法得到實(shí)體模型的二維合成區(qū)域,從而將三維特征屬性轉(zhuǎn)為二維特征屬性,合成區(qū)域的各頂點(diǎn)信息即為神經(jīng)網(wǎng)絡(luò)(如SOFM)的輸入。
圖8給出了一個(gè)由實(shí)體模型(見圖8(a))生成合成區(qū)域的具體過程,在模型的頂點(diǎn)處逐層切片,獲得一系列相互平行的橫截面圖(見圖8(b))后,利用橫截面間的減法處理得到合成區(qū)域(見圖8(c))。相關(guān)變量說明參見文獻(xiàn)[53]。
圖8 相交特征的分層方法[53]Fig.8 Layering technique used to find interacting features[53]
神經(jīng)網(wǎng)絡(luò)創(chuàng)建包括三方面的設(shè)計(jì):網(wǎng)絡(luò)參數(shù)設(shè)計(jì)、數(shù)據(jù)集構(gòu)建和訓(xùn)練方法選擇。面向加工特征識(shí)別任務(wù)時(shí),神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集為CAD實(shí)體模型,網(wǎng)絡(luò)參數(shù)和訓(xùn)練方法則根據(jù)識(shí)別對(duì)象的復(fù)雜程度和特點(diǎn)進(jìn)行配置與設(shè)計(jì)。
2.2.1 網(wǎng)絡(luò)參數(shù)設(shè)計(jì)
MLP參數(shù)設(shè)計(jì)主要包括層數(shù)選擇以及層的結(jié)構(gòu)設(shè)計(jì)。雖然目前并沒有明確的設(shè)計(jì)準(zhǔn)則來輔助結(jié)構(gòu)參數(shù)的設(shè)計(jì)與選擇,但是有學(xué)者研究發(fā)現(xiàn)對(duì)于MLP,三層結(jié)構(gòu)足以解決一般性的非線性映射問題,并且能夠滿足要求的準(zhǔn)確度[55]。
隱藏層是MLP的設(shè)計(jì)難點(diǎn),隱藏層神經(jīng)元的數(shù)量過多會(huì)使數(shù)據(jù)過擬合,造成網(wǎng)絡(luò)泛化能力的松散;隱藏層神經(jīng)元個(gè)數(shù)較少則會(huì)影響網(wǎng)絡(luò)的學(xué)習(xí)能力。比較保守的方法是將隱藏層神經(jīng)元個(gè)數(shù)介于輸出神經(jīng)元數(shù)量和輸入神經(jīng)元數(shù)量之間。
表1和表2分別列舉了加工特征識(shí)別常用的兩種MLP網(wǎng)絡(luò)結(jié)構(gòu),即三層MLP和四層MLP。其中三層MLP各層的神經(jīng)元個(gè)數(shù)分別為n1-p1-q1,四層MLP各層的神經(jīng)元個(gè)數(shù)為n1-p1-p2-q1,表中的參數(shù)個(gè)數(shù)是指對(duì)一個(gè)樣本執(zhí)行前饋計(jì)算時(shí)的計(jì)算參數(shù)量。通過兩表可得以下規(guī)律:① 對(duì)于三層MLP,p1與n1無絕對(duì)的大小關(guān)系,通常p1∈[n1,2n1];② 四層MLP中,一般選擇p1=p2,其目的是簡(jiǎn)化神經(jīng)網(wǎng)絡(luò)計(jì)算;③ 對(duì)比文獻(xiàn)[56]和文獻(xiàn)[47]可知,在n1與q1基本保持不變的情況下,將一個(gè)隱藏層分解為兩個(gè)隱藏層可以顯著減少參數(shù)個(gè)數(shù);④ 三層MLP的時(shí)間復(fù)雜性可表示為O(n1p1+p1q1+p1+q1),分別改變n1和p1時(shí),時(shí)間復(fù)雜度的變化分別為O(Δn1p1)和O(Δp1(n1+q1+1)),顯然隱藏層神經(jīng)元個(gè)數(shù)的變化對(duì)時(shí)間復(fù)雜度的影響較大。
表1 三層神經(jīng)網(wǎng)絡(luò)構(gòu)造Table 1 Three-layer neural network configuration
表2 四層神經(jīng)網(wǎng)絡(luò)構(gòu)造Table 2 Four-layer neural network configuration
SOFM網(wǎng)絡(luò)設(shè)計(jì)主要包括神經(jīng)元的個(gè)數(shù)設(shè)置和鄰域的尺寸設(shè)計(jì)。為了識(shí)別九種加工特征,Onwubolu[43]建立了一個(gè)輸入層有10個(gè)節(jié)點(diǎn),Kohonen層有100×100個(gè)節(jié)點(diǎn)的SOFM,鄰域大小為5。結(jié)果顯示,SOFM迭代后可以識(shí)別不同類別的特征,且槽和臺(tái)階兩種特征被聚為一類。文獻(xiàn)[53-54]將多級(jí)SOFM用于相交特征中相交區(qū)域的分解,每一級(jí)的輸入都是當(dāng)前合成區(qū)域的各頂點(diǎn),輸出均為2×2數(shù)組。
CNN的結(jié)構(gòu)設(shè)計(jì)包括各類型層的選擇以及過濾器的尺寸設(shè)置。其中,常見的類型層包括CL、PL、FL和輸出層(Output Layer, OL)等。為了確定鉆孔特征的可加工性,Balu等[50]建立了一個(gè)7層的三維CNN,如圖9所示,依次包括輸入層→CL(8×8)→PL→CL(4×4)→PL→FL(10)→OL(2)。OL的2個(gè)神經(jīng)元分別表示可加工和不可加工。Ghadai等[51]對(duì)上述模型進(jìn)一步修正,在CL和PL后添加了一個(gè)批量標(biāo)準(zhǔn)化層,目的是改善網(wǎng)絡(luò)的飽和現(xiàn)象進(jìn)而提高實(shí)驗(yàn)精度。
FeatureNet[52]是第一個(gè)將深度學(xué)習(xí)應(yīng)用于加工特征識(shí)別的三維CNN。FeatureNet的結(jié)構(gòu)如圖10所示,包括4個(gè)CL、1個(gè)PL、1個(gè)FL和1個(gè)OL。多個(gè)CL的連接有助于對(duì)復(fù)雜的結(jié)構(gòu)特征分層編碼和識(shí)別。OL含有24個(gè)神經(jīng)元,每個(gè)神經(jīng)元代表一種特征。整個(gè)網(wǎng)絡(luò)擁有3 400萬個(gè)參數(shù),遠(yuǎn)遠(yuǎn)超過MLP的參數(shù)量。相關(guān)變量說明參見文獻(xiàn)[52]。
圖9 三維CNN[50]Fig.9 3D CNN[50]
圖10 FeatureNet結(jié)構(gòu)[52]Fig.10 FeatureNet structure[52]
2.2.2 數(shù)據(jù)集構(gòu)建
前文提到的三種神經(jīng)網(wǎng)絡(luò)中,MLP和CNN屬于監(jiān)督型網(wǎng)絡(luò),自組織神經(jīng)網(wǎng)絡(luò)為無監(jiān)督網(wǎng)絡(luò)。監(jiān)督型神經(jīng)網(wǎng)絡(luò)需要依賴有標(biāo)簽的數(shù)據(jù)進(jìn)行訓(xùn)練,借助標(biāo)簽數(shù)據(jù)的期望輸出來修正權(quán)值,調(diào)整特征。這種微調(diào)建立在大量標(biāo)簽數(shù)據(jù)的基礎(chǔ)上,而未標(biāo)注數(shù)據(jù)對(duì)監(jiān)督型訓(xùn)練的作用不大。但是,神經(jīng)網(wǎng)絡(luò)很難獲得足夠多的標(biāo)簽數(shù)據(jù)來擬合一個(gè)復(fù)雜模型,因此標(biāo)簽數(shù)據(jù)的獲取是神經(jīng)網(wǎng)絡(luò)訓(xùn)練的一個(gè)難點(diǎn)。創(chuàng)建數(shù)據(jù)集和遷移學(xué)習(xí)是數(shù)據(jù)獲取和擴(kuò)容的常用方法。
根據(jù)文獻(xiàn),加工特征數(shù)據(jù)集由一系列CAD 3D模型組成,每個(gè)模型一般僅包含一個(gè)加工特征,同一類型的加工特征在形狀、位置和尺寸(如半徑、高度、長(zhǎng)度等)等方面有所區(qū)別,數(shù)據(jù)集實(shí)體模型的類型與神經(jīng)網(wǎng)絡(luò)待識(shí)別的特征類型相對(duì)應(yīng)。圖11為文獻(xiàn)[36]創(chuàng)建的訓(xùn)練樣本,每一類樣本都有各自的輸入矢量與期望輸出矢量,元素均用二進(jìn)制數(shù)字表示。相關(guān)變量說明參見文獻(xiàn)[36]。
一個(gè)完整的數(shù)據(jù)集應(yīng)包括訓(xùn)練集、測(cè)試集和驗(yàn)證集三部分。其中,驗(yàn)證集用于調(diào)整網(wǎng)絡(luò)超參數(shù),不參與最終測(cè)試。Ding和Yue[39]建立了一個(gè)分層的神經(jīng)網(wǎng)絡(luò)系統(tǒng),將137個(gè)訓(xùn)練實(shí)例和15個(gè)測(cè)試實(shí)例用于第一級(jí)網(wǎng)絡(luò)后,又將62個(gè)訓(xùn)練實(shí)例用于專門識(shí)別槽/臺(tái)階面的神經(jīng)網(wǎng)絡(luò),并用12個(gè)模型樣本進(jìn)行測(cè)試。Sunil和Pande[46]選擇了95個(gè)實(shí)例模型用于訓(xùn)練,20個(gè)實(shí)例模型用于測(cè)試。
與MLP相比,CNN的參數(shù)量成數(shù)量級(jí)倍增加,因此需要規(guī)模更大的數(shù)據(jù)集。Balu等[50]為CNN建立了6 669個(gè)正方體模型,每個(gè)模型僅包含一個(gè)鉆孔特征,且孔的直徑、深度、位置等在規(guī)定范圍內(nèi)變化。模型尺寸均為5英寸。50%的模型作為訓(xùn)練實(shí)例,25%的模型作為驗(yàn)證實(shí)例,其余的作為測(cè)試實(shí)例。Zhang等[52]為CNN建立了一個(gè)更大規(guī)模的數(shù)據(jù)庫,存儲(chǔ)了24種特征(見圖12),每種特征含有6 000個(gè)不同的樣本模型。這些模型均為統(tǒng)一規(guī)格(10 cm)的正方體結(jié)構(gòu)。
圖11 訓(xùn)練樣本的輸入與輸出[36]Fig.11 Input and output of training samples[36]
隨著深度CNN的迅速發(fā)展,大型數(shù)據(jù)集對(duì)CNN的影響和作用越來越明顯,更加凸顯了數(shù)據(jù)集創(chuàng)建的必要性。對(duì)于一些很難獲得的標(biāo)簽樣本,遷移學(xué)習(xí)是數(shù)據(jù)集擴(kuò)充的一種有效方法。遷移學(xué)習(xí)是一種運(yùn)用已有知識(shí)對(duì)不同但相關(guān)領(lǐng)域問題進(jìn)行求解的機(jī)器學(xué)習(xí)能力,常用的一種方法是對(duì)預(yù)訓(xùn)練模型進(jìn)行微調(diào)。例如,Shin等[58]對(duì)AlexNet和GoogLeNet微調(diào)時(shí),將CNN所有層(不含最后一層)的學(xué)習(xí)速率由默認(rèn)值減小了10倍。Han等[59]仔細(xì)研究了預(yù)訓(xùn)練網(wǎng)絡(luò)的超參數(shù)調(diào)整,利用貝葉斯優(yōu)化來處理學(xué)習(xí)率的搜索問題。
圖12 24種加工特征[52]Fig.12 24 manufacturing features[52]
2.2.3 訓(xùn)練方法選擇
神經(jīng)網(wǎng)絡(luò)最常用的訓(xùn)練方法為BP算法,文獻(xiàn)[10,19,46]等均采用此方法。然而,該方法存在一定的局限性,收斂速度慢和容易陷入局部極小是其中的兩大問題。目前針對(duì)BP算法的改進(jìn)措施中,動(dòng)量法是較常用的一種方法。通過在原來的權(quán)值調(diào)整公式中增加一個(gè)含動(dòng)量比的乘積項(xiàng),能夠減小學(xué)習(xí)過程中的振蕩趨勢(shì),降低網(wǎng)絡(luò)對(duì)誤差曲面局部細(xì)節(jié)的敏感性,從而改善收斂性,抑制網(wǎng)絡(luò)陷入局部極小。
Ding和Yue[39]采用了共軛梯度算法訓(xùn)練神經(jīng)網(wǎng)絡(luò),該方法在一組相互共軛的方向調(diào)整權(quán)值,與最快梯度方向相比能獲得更快地收斂。Shao等[60]選擇粒子群算法訓(xùn)練MLP,初始化一群“粒子”后通過迭代尋找最優(yōu)解,迭代過程中不斷更新粒子本身的最優(yōu)解和全局最優(yōu)解。該方法的優(yōu)點(diǎn)是收斂快,精度高。Jian等[49]設(shè)計(jì)了一種新型蝙蝠算法(Novel Bat Algorithm, NBA)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),與粒子群算法相比,該方法能夠控制局部搜索與全局搜索之間的轉(zhuǎn)換,避免網(wǎng)絡(luò)陷入局部最優(yōu)缺陷,有助于提高特征識(shí)別的準(zhǔn)確性。
警戒參數(shù)ρ是ART2計(jì)算過程中的一個(gè)重要參數(shù)。ART2將相似的特征聚集在一起,特征的相似性則由警戒參數(shù)控制。當(dāng)網(wǎng)絡(luò)新輸入的特征與特征簇中的已有成員相似時(shí),新特征就與該簇關(guān)聯(lián);否則,ART2為新特征創(chuàng)建一個(gè)新的簇。一般情況下,隨著警戒參數(shù)的提高,ART2的聚類由粗糙轉(zhuǎn)向精細(xì)化,這種現(xiàn)象在Fuzzy ART[61]中也得到了驗(yàn)證。隨著警戒參數(shù)ρ依次選擇為0.85、0.95、0.98和0.99,五種特征由共享一個(gè)簇發(fā)展為擁有各自的簇(見圖13)。
圖13 Fuzzy ART分類Fig.13 Fuzzy ART classification
近30年來,有關(guān)加工特征識(shí)別的研究已經(jīng)相當(dāng)成熟,并形成了多種不同類型的識(shí)別方法,每種方法都有各自的優(yōu)勢(shì)和不足。
基于圖的方法具有特征定義簡(jiǎn)單,算法效率高,能準(zhǔn)確描述特征面鄰接屬性等優(yōu)點(diǎn),但是該方法識(shí)別相交特征時(shí)易丟失鄰接關(guān)系?;隗w分解的方法不受特征拓?fù)浣Y(jié)構(gòu)的限制,能夠較好地處理相交特征的識(shí)別,然而識(shí)別過程依賴大量的布爾運(yùn)算,導(dǎo)致計(jì)算量大、算法效率低下?;谝?guī)則的方法在特征表示方面具有很好的性能,但是對(duì)每種特征都進(jìn)行規(guī)則預(yù)定義是不現(xiàn)實(shí)的,故該方法靈活性較低。此外,拓?fù)浠驇缀巫冃慰赡軙?huì)使簡(jiǎn)單特征的規(guī)則描述過于繁瑣,造成計(jì)算成本較高[62]?;诤圹E的方法多以幾何與拓?fù)湫畔⒆鳛楹圹E進(jìn)行識(shí)別,當(dāng)痕跡指向多種特征時(shí),需要進(jìn)一步的幾何推理來獲得所需特征。該方法雖然可以有效地識(shí)別相交特征,但是當(dāng)痕跡的數(shù)量明顯多于特征時(shí),可能會(huì)導(dǎo)致無效的特征或特征被其他特征所覆蓋[63]。
與這些主流的識(shí)別方法相比,神經(jīng)網(wǎng)絡(luò)識(shí)別方法具有以下幾點(diǎn)優(yōu)勢(shì):① 具有學(xué)習(xí)能力[64],能夠隱式推導(dǎo)特征的構(gòu)造關(guān)系,識(shí)別和分類具有不同尺寸和拓?fù)涞南嗨铺卣鳎虎?具有泛化能力,通過訓(xùn)練可以識(shí)別預(yù)定義的一組特征,進(jìn)而可擴(kuò)展到識(shí)別新的特征;③ 訓(xùn)練完成后可保持很高的處理速度;④ 抗噪性能好,有利于識(shí)別相交特征。
然而,神經(jīng)網(wǎng)絡(luò)方法識(shí)別加工特征仍然存在著一些不足:① 神經(jīng)網(wǎng)絡(luò)輸出層的神經(jīng)元個(gè)數(shù)一般為待識(shí)別的特征類型數(shù),但是中間各層的結(jié)構(gòu)配置方法還需進(jìn)一步研究;② 加工特征數(shù)據(jù)集的樣本模型結(jié)構(gòu)簡(jiǎn)單,只包含一個(gè)特征,且多為標(biāo)準(zhǔn)特征,不含有相交特征;③ 加工特征識(shí)別前需要將其轉(zhuǎn)換為數(shù)值表示,轉(zhuǎn)換過程中容易造成特征某些信息的丟失,影響識(shí)別精度。
表3對(duì)比了不同特征識(shí)別方法的識(shí)別范圍。
表3 特征識(shí)別方法與識(shí)別范圍
Table 3 Feature recognition methods and their recognition range
識(shí)別方法識(shí)別范圍基于圖獨(dú)立特征基于體分解獨(dú)立特征,有限個(gè)相交特征:僅含柱面和平面基于規(guī)則獨(dú)立特征,預(yù)定義的相交特征基于痕跡尺寸適中的獨(dú)立特征,相交特征神經(jīng)網(wǎng)絡(luò)獨(dú)立特征,相交特征
本節(jié)針對(duì)三種神經(jīng)網(wǎng)絡(luò)方法,分別從輸入特性、輸出特性、識(shí)別范圍和相交特征處理等幾個(gè)方面分析各自的特點(diǎn)。
3.2.1 輸入特性
一種合理且有效的特征預(yù)處理與編碼方法必須具備三點(diǎn)特性:① 能夠準(zhǔn)確且完整地表達(dá)加工特征的幾何與拓?fù)湫畔?;?能夠被輸入層識(shí)別,符合RV的要求;③ 每一類特征都有唯一的表示,各類特征間的表示不重疊。
根據(jù)組成元素類型,RV可分為三種:① 整數(shù)型,即元素均為整數(shù);② 實(shí)數(shù)型,即元素均為實(shí)數(shù);③ 二進(jìn)制型,即元素僅有0和1兩種值。通常,基于AAG和FAM編碼的RV多為整數(shù)型或二進(jìn)制型,基于FSV的RV元素多為小數(shù),體素化方法得到的體素網(wǎng)絡(luò)均用二進(jìn)制表示。
表4總結(jié)了三種神經(jīng)網(wǎng)絡(luò)常用的特征預(yù)處理與編碼方法。由于特征具有復(fù)雜的拓?fù)渑c幾何特性,因此綜合了面、環(huán)、邊和點(diǎn)信息的面編碼方式比AAG編碼方式更準(zhǔn)確,也更有效。自組織神經(jīng)網(wǎng)絡(luò)的輸入同樣依賴CAD模型的B-rep信息提取和特征表達(dá)方法,因此,能夠更好反映拓?fù)湫畔⒌奶卣鞅磉_(dá)方法對(duì)提高自組織神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性和魯棒性具有重要意義。
關(guān)于CNN的輸入類型,一方面,CNN的體素化表達(dá)是一種與幾何信息無關(guān)的數(shù)值轉(zhuǎn)換,而其他兩種神經(jīng)網(wǎng)絡(luò)從B-rep模型提取幾何信息,并借助預(yù)定義的公式生成RV;另一方面,CNN直接選擇體素(三維形式)作為輸入,與將三維對(duì)象簡(jiǎn)單投影到二維表示(如深度圖像或多視圖等)相比,既可減少幾何特征的丟失,又可避免局部或內(nèi)部特征不易投影的問題。
表4 三種神經(jīng)網(wǎng)絡(luò)的常用編碼方法
3.2.2 輸出特性
神經(jīng)網(wǎng)絡(luò)的輸出是神經(jīng)網(wǎng)絡(luò)的輸入與權(quán)值反復(fù)計(jì)算和相互作用的結(jié)果,從形式來看,神經(jīng)網(wǎng)絡(luò)的輸出有以下幾種形式:① 單個(gè)神經(jīng)元的輸出;② 向量形式的輸出;③ 矩陣形式的輸出。
文獻(xiàn)[45-46]屬于單個(gè)神經(jīng)元的輸出形式。其中文獻(xiàn)[45]為每一種特征建立了一個(gè)三層MLP,其輸出為一個(gè)二進(jìn)制數(shù)值,用于表示該類型特征的識(shí)別結(jié)果。文獻(xiàn)[46]的輸出值是一個(gè)實(shí)數(shù)值,且不同的數(shù)值代表不同的識(shí)別類型,如 0.10 代表三角形型腔,0.12代表長(zhǎng)方形型腔等,所有特征類型的輸出值位于區(qū)間[0.1,0.8]。
向量是最常見的神經(jīng)網(wǎng)絡(luò)輸出形式,可分為二進(jìn)制形式的向量和實(shí)數(shù)值形式的向量。在二進(jìn)制型向量中,若每個(gè)神經(jīng)元對(duì)應(yīng)一種類型的加工特征,且每次僅激活一個(gè)輸出神經(jīng)元,則該向量為one-hot向量。文獻(xiàn)[34,36,39]等均采用該輸出方式。文獻(xiàn)[49]雖然也是二進(jìn)制向量輸出,但是存在兩個(gè)神經(jīng)元同時(shí)激活一種特征的情況,如[0,1,1]表示通槽,因此不屬于one-hot向量。實(shí)數(shù)型向量的代表有文獻(xiàn)[52]等。此外,Hwang和Henderson[41]應(yīng)用了含六個(gè)元素的輸出向量,每個(gè)元素分別代表類、名稱、置信因子、主面名稱、關(guān)聯(lián)面列表以及總執(zhí)行時(shí)間。
矩陣也是神經(jīng)網(wǎng)絡(luò)輸出的一種形式,文獻(xiàn)[53]建立的SOFM的輸出即為一個(gè)二進(jìn)制矩陣O=[bij](i=1,2;j=1,2,3,4,5),其中b1j代表識(shí)別的特征代碼,b2j表示該特征在五個(gè)坐標(biāo)軸方向上的可加工性。
總之,二進(jìn)制向量形式是最常用的神經(jīng)網(wǎng)絡(luò)輸出形式,若采用one-hot編碼,每次計(jì)算僅有一個(gè)輸出神經(jīng)元被激活,因此特征類型數(shù)即為輸出向量的元素個(gè)數(shù)。以3種特征為例,one-hot編碼需要3個(gè)輸出神經(jīng)元,而非one-hot編碼僅需2個(gè)神經(jīng)元,可表示為[0,1]、[1,0]和[1,1],由此可見one-hot編碼在一定程度上增加了神經(jīng)網(wǎng)絡(luò)的參數(shù)量,表1中文獻(xiàn)[49]和文獻(xiàn)[56]的對(duì)比也反映了這個(gè)問題。
3.2.3 識(shí)別范圍
由于神經(jīng)網(wǎng)絡(luò)類型的不同,特征預(yù)處理方式的不同,以及訓(xùn)練方法等的不同,加工特征識(shí)別的范圍也不盡相同。本文對(duì)相關(guān)文獻(xiàn)進(jìn)行了詳細(xì)的分析,并列舉了部分文獻(xiàn)識(shí)別加工特征的范圍和優(yōu)缺點(diǎn),相關(guān)內(nèi)容見表5,其中I級(jí)特征與II級(jí)特征的說明見3.2.4節(jié)。
由表5可知,槽、臺(tái)階、型腔、孔等簡(jiǎn)單特征最易識(shí)別,相交特征特別是II級(jí)相交特征是各種神經(jīng)網(wǎng)絡(luò)識(shí)別的難點(diǎn)。近年來隨著研究的深入,相關(guān)算法也在進(jìn)一步發(fā)展。遺傳算法、NBA算法等其他技術(shù)被應(yīng)用到MLP中,提高了識(shí)別性能,然而識(shí)別范圍并沒有明顯的擴(kuò)展。深度學(xué)習(xí)技術(shù)雖然是加工特征識(shí)別的新方法,但在識(shí)別范圍和精度方面均有明顯優(yōu)勢(shì),由此也體現(xiàn)了以CNN為代表的深度學(xué)習(xí)方法在加工特征識(shí)別領(lǐng)域的潛在能力。
表5 基于神經(jīng)網(wǎng)絡(luò)的特征識(shí)別方法Table 5 Feature recognition methods based on neural networks
3.2.4 相交特征處理
相交特征識(shí)別一直是特征識(shí)別的難點(diǎn),復(fù)合/相交特征存在兩種形式的特征交叉。在第一種形式中,簡(jiǎn)單特征的內(nèi)部面同時(shí)是其他簡(jiǎn)單特征的外部面,這種復(fù)合特征能夠分解出多個(gè)完整的簡(jiǎn)單特征,可稱為I類相交特征。另一種特征交叉中,兩個(gè)或多個(gè)簡(jiǎn)單特征具有共同的面,且這些面均位于特征的內(nèi)部,該類型的特征不能分解出相互獨(dú)立的子特征,可稱為II類相交特征。神經(jīng)網(wǎng)絡(luò)識(shí)別相交特征具有一定的優(yōu)勢(shì),其主要原因是神經(jīng)網(wǎng)絡(luò)具有良好的抗噪性,當(dāng)輸入特征為相交特征時(shí),神經(jīng)網(wǎng)絡(luò)通過訓(xùn)練可在一定程度上學(xué)習(xí)相交特征的主要特點(diǎn),忽略次要信息,進(jìn)而識(shí)別得到正確結(jié)果。常見的相交特征處理方法可歸結(jié)為分解子圖法、啟發(fā)式算法、橫截面分層法和基于軟件包的方法等,其中:
1) 分解子圖法
基于AAG和FAM編碼的神經(jīng)網(wǎng)絡(luò)識(shí)別復(fù)合特征時(shí),通常先生成模型的AAG,然后再用啟發(fā)式算法或其他方法生成子圖,每個(gè)子圖只包含一個(gè)簡(jiǎn)單特征,最后將子圖轉(zhuǎn)為神經(jīng)網(wǎng)絡(luò)的輸入。文獻(xiàn)[36]即用這種方式處理相交特征。
對(duì)于一些復(fù)合特征,如多級(jí)孔等,子圖分解方法可能會(huì)將其分為多個(gè)子特征。然而,考慮到特征間的相互作用,這些子特征應(yīng)被識(shí)別為一個(gè)統(tǒng)一的整體。為了解決此問題,文獻(xiàn)[49]對(duì)子圖分解后得到的任意兩個(gè)AM(特征因子)進(jìn)行比較,若存在公共面和公共基面,則將這兩個(gè)特征因子組合為一個(gè)特征。
2) 啟發(fā)式算法
啟發(fā)式算法識(shí)別相交特征的基礎(chǔ)是利用相交特征對(duì)構(gòu)建不同類型的相交實(shí)體(Interacting Entity, IE)。首先遍歷模型中的所有特征,然后對(duì)每個(gè)特征對(duì)執(zhí)行布爾交叉運(yùn)算,最后分析IE,從而確定每對(duì)特征的關(guān)系。具體算法可參見文獻(xiàn)[39]。文獻(xiàn)[35]利用啟發(fā)式算法將復(fù)合特征分解為簡(jiǎn)單特征,之后輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行識(shí)別,但是該方法不能處理II類相交特征。
3) 橫截面分層法
文獻(xiàn)[53-54]識(shí)別相交特征時(shí),利用橫截面分層的方法獲取相交區(qū)域的頂點(diǎn),然后用SOFM進(jìn)行聚類,結(jié)合布爾運(yùn)算分解相交區(qū)域和提取體積數(shù)據(jù),實(shí)現(xiàn)整個(gè)相交特征合成區(qū)域的分離。根據(jù)相交區(qū)域的復(fù)雜程度,該過程可能需要執(zhí)行多次SOFM操作。
4) 基于軟件包的方法
FeatureNet[52]使用Python的scikit-image包中提供的連通分量標(biāo)記算法,先將不相鄰的特征或特征子集彼此分離,再利用分水嶺分割算法將每個(gè)分離的特征子集分割為單個(gè)特征,最后輸入到CNN進(jìn)行識(shí)別。
神經(jīng)網(wǎng)絡(luò)識(shí)別加工特征是同時(shí)利用和融合了神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)特性和CAD/CAM/CAPP專業(yè)屬性,是一種完全有別于傳統(tǒng)識(shí)別方法的跨學(xué)科技術(shù)。其可能的發(fā)展趨勢(shì)如下:
1) 深度學(xué)習(xí)算法應(yīng)用。目前,CNN已經(jīng)被初步應(yīng)用到加工特征的識(shí)別中,但是采用的結(jié)構(gòu)簡(jiǎn)單,數(shù)據(jù)集的規(guī)模也較小。未來可以考慮模仿AlexNet、VGGNet等深層網(wǎng)絡(luò)結(jié)構(gòu)建立更加復(fù)雜的CNN模型識(shí)別加工特征。同時(shí),鑒于ImageNet對(duì)分類和識(shí)別任務(wù)的重要性,有必要建立一個(gè)種類多樣、模型復(fù)雜、尺寸變化大、形狀不規(guī)則的CAD模型數(shù)據(jù)集,為神經(jīng)網(wǎng)絡(luò)訓(xùn)練和測(cè)試提供數(shù)據(jù)。此外,體素化方法在邊界特征表示、計(jì)算效率等方面還不太完善,也需進(jìn)一步優(yōu)化和思考。
2) 全信息特征識(shí)別。從CAD/CAM/CAPP角度考慮,為了保證下游CAPP模塊或檢查和裝配過程規(guī)劃中能夠獲得有效的特征,特征識(shí)別系統(tǒng)除了能夠識(shí)別形狀特征外,還應(yīng)找到零件的特征和相應(yīng)的尺寸及公差之間的匹配關(guān)系,具體涉及尺寸、幾何公差、形位公差及其他特征屬性等。因此需要研究神經(jīng)網(wǎng)絡(luò)對(duì)多種不同類型屬性的識(shí)別問題,以及建立配套的特征表示方法。
3) 類人腦認(rèn)知結(jié)構(gòu)。神經(jīng)網(wǎng)絡(luò)的本質(zhì)是基于數(shù)據(jù)驅(qū)動(dòng)的數(shù)值計(jì)算方法,因此任何類型的神經(jīng)網(wǎng)絡(luò)識(shí)別加工特征都須將CAD模型轉(zhuǎn)換為數(shù)值輸入。神經(jīng)網(wǎng)絡(luò)是對(duì)大腦系統(tǒng)的模仿和再現(xiàn),同樣地,利用類人腦技術(shù)模仿大腦的某些機(jī)理,也可以建立新型的神經(jīng)網(wǎng)絡(luò)。其中的一種構(gòu)思是將網(wǎng)絡(luò)設(shè)計(jì)為與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)類似的結(jié)構(gòu)形式;在輸入類型上直接以面作為輸入,不必轉(zhuǎn)換為數(shù)值信息;神經(jīng)元處理函數(shù)不再是數(shù)值型的激活函數(shù),而是自定義的認(rèn)知表達(dá)式形式。此時(shí)的神經(jīng)網(wǎng)絡(luò)可轉(zhuǎn)變成一種基于邏輯運(yùn)算的神經(jīng)網(wǎng)絡(luò)。這也是神經(jīng)網(wǎng)絡(luò)在3D模型的面特征識(shí)別領(lǐng)域的一個(gè)發(fā)展方向。
本文針對(duì)智能化設(shè)計(jì)與制造領(lǐng)域中的加工特征識(shí)別這一關(guān)鍵技術(shù)問題,介紹了近年來興起的新型識(shí)別方法,即神經(jīng)網(wǎng)絡(luò)識(shí)別方法。根據(jù)目前的研究現(xiàn)狀和主要采用的神經(jīng)網(wǎng)絡(luò)類型,將特征識(shí)別分為三種不同方法,并進(jìn)行了較為全面的論述和分析。
1) 系統(tǒng)性地論述了MLP、自組織神經(jīng)網(wǎng)絡(luò)和CNN等三種不同神經(jīng)網(wǎng)絡(luò)的原理,詳細(xì)研究了神經(jīng)網(wǎng)絡(luò)在加工特征識(shí)別領(lǐng)域的計(jì)算方法。
2) 進(jìn)一步歸納了神經(jīng)網(wǎng)絡(luò)方法采用的特征預(yù)處理方式和網(wǎng)絡(luò)結(jié)構(gòu),深入分析了每種神經(jīng)網(wǎng)絡(luò)的特性和優(yōu)缺點(diǎn)。
3) 總結(jié)了目前神經(jīng)網(wǎng)絡(luò)識(shí)別加工特征的優(yōu)勢(shì),指出了其中存在的一些問題和面臨的挑戰(zhàn),并展望了該領(lǐng)域未來的發(fā)展方向。