胡京徽,謝鵬志,2,楊 威,2,姚 罡
(1.中國(guó)航空制造技術(shù)研究院,北京 100024;2.數(shù)字化制造技術(shù)航空科技重點(diǎn)實(shí)驗(yàn)室,北京 100024)
擴(kuò)散連接(Diffusion Bonding,DB)是一種廣泛運(yùn)用于現(xiàn)代航空制造領(lǐng)域的先進(jìn)鈑金成形制造技術(shù)[1–2]。擴(kuò)散連接技術(shù)具有成本低、可靠性高、穩(wěn)定性好等諸多優(yōu)勢(shì),主要的應(yīng)用場(chǎng)景有飛機(jī)機(jī)身壁板、防火墻、航空發(fā)動(dòng)機(jī)艙、靜/轉(zhuǎn)子葉片等復(fù)雜空腔結(jié)構(gòu)的制造。目前,由于鈑金材料表面狀態(tài),擴(kuò)散連接溫度、壓力、保壓時(shí)間等一系列工藝參數(shù)的影響,擴(kuò)散連接成形的工件會(huì)存在一定比例的非焊合缺陷,工業(yè)上通常要求采用無(wú)損檢測(cè)方法對(duì)裝機(jī)件進(jìn)行檢測(cè),確保工件的質(zhì)量。早期,對(duì)于尚未建立可行的無(wú)損檢測(cè)方法的應(yīng)用場(chǎng)合,需要通過(guò)對(duì)工件加工余量區(qū)取樣,進(jìn)行金相顯微觀察,然后根據(jù)其
觀察結(jié)果,推測(cè)工件中是否存在擴(kuò)散缺陷。這種方法首先抽樣檢測(cè)同一批次的部分樣品,然后人工判定產(chǎn)品是否存在缺陷。然而,隨著產(chǎn)品檢測(cè)需求量的日益增加,一方面,傳統(tǒng)的人工判定方式已經(jīng)不能滿足日常工作的需求;另一方面,由于檢測(cè)人員的工作經(jīng)驗(yàn)參差不齊,在長(zhǎng)時(shí)間檢測(cè)過(guò)程中還可能疲勞誤判漏判。如何使用軟件代替人工判定使判定標(biāo)準(zhǔn)一致,減少誤判漏判已經(jīng)成為目前工業(yè)界亟待解決的問(wèn)題。因此,本文提出了一種可以自動(dòng)檢測(cè)擴(kuò)散連接缺陷的機(jī)器學(xué)習(xí)平臺(tái)的構(gòu)建方案,并將其應(yīng)用到實(shí)際工業(yè)場(chǎng)景中。
本文所構(gòu)建的機(jī)器學(xué)習(xí)平臺(tái)包括影像存儲(chǔ)、模型訓(xùn)練和檢測(cè)平臺(tái)3個(gè)模塊,具體方案流程如圖1所示。
影像存儲(chǔ)模塊功能是對(duì)原始影像數(shù)據(jù)收集、整理和存儲(chǔ)。影像收集步驟將原始金相影像數(shù)據(jù)收集到系統(tǒng)中;接著,人工標(biāo)注步驟提供人工標(biāo)注原始數(shù)據(jù)的功能;然后,影像對(duì)齊步驟對(duì)影像進(jìn)行對(duì)齊操作,使得輸入數(shù)據(jù)符合對(duì)齊的標(biāo)準(zhǔn);最后,將標(biāo)注好的影像數(shù)據(jù)分成訓(xùn)練集和測(cè)試集兩個(gè)部分,其中訓(xùn)練集用于檢測(cè)平臺(tái)模塊訓(xùn)練初始樣本數(shù)據(jù),測(cè)試集用于模型訓(xùn)練模塊來(lái)評(píng)估卷積神經(jīng)網(wǎng)絡(luò)。
檢測(cè)平臺(tái)模塊是系統(tǒng)的底層應(yīng)用,它的輸入是訓(xùn)練集,通過(guò)網(wǎng)絡(luò)提供給模型訓(xùn)練模塊基礎(chǔ)的訓(xùn)練數(shù)據(jù)。檢測(cè)平臺(tái)內(nèi)部的一個(gè)核心部件是影像采樣,它包含特征提取器、圖像增強(qiáng)器和圖像窗口生成器。通過(guò)這些采樣預(yù)處理步驟可以將訓(xùn)練集中的數(shù)據(jù)處理成識(shí)別所需要的圖片窗口。識(shí)別平臺(tái)的另一個(gè)核心部件就是TensorFlow 訓(xùn)練平臺(tái),TensorFlow 平臺(tái)讀取窗口圖片,通過(guò)定義損失函數(shù)、優(yōu)化器以及訓(xùn)練梯度和參數(shù)來(lái)提供機(jī)器學(xué)習(xí)模型的建模要素。
模型訓(xùn)練模塊是算法工程師訓(xùn)練和調(diào)優(yōu)智能化識(shí)別算法的主要模塊。由于算法訓(xùn)練需要消耗大量的計(jì)算資源,故模型訓(xùn)練模塊的底層采用了GPU 高性能計(jì)算服務(wù)器作為主要硬件資源,同時(shí)通過(guò)CPU 作為輔助計(jì)算的備選方案。兩類不同架構(gòu)的硬件資源提供一套模型基礎(chǔ)算法接口向上兼容。硬件資源之上是模型的構(gòu)建和調(diào)優(yōu)部分,該部分接收模型輸入數(shù)據(jù),使用訓(xùn)練數(shù)據(jù)來(lái)訓(xùn)練深度學(xué)習(xí)模型,使用測(cè)試數(shù)據(jù)來(lái)評(píng)估和驗(yàn)證模型的好壞。本文采用深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)作檢測(cè)識(shí)別的模型,該模型的重要工作就是對(duì)卷積神經(jīng)網(wǎng)絡(luò)的層級(jí)關(guān)系,神經(jīng)元數(shù)量、丟棄層以及池化層等相關(guān)參數(shù)反復(fù)試驗(yàn)調(diào)優(yōu)來(lái)得到識(shí)別率高的檢測(cè)模型。同時(shí),模型訓(xùn)練模塊還需要接收影像存儲(chǔ)模塊中的測(cè)試集數(shù)據(jù),通過(guò)測(cè)試集中數(shù)據(jù)來(lái)對(duì)訓(xùn)練后模型的實(shí)際識(shí)別效果進(jìn)行評(píng)估。
卷積神經(jīng)網(wǎng)絡(luò)是機(jī)器學(xué)習(xí)中一種非常常見(jiàn)的網(wǎng)絡(luò)結(jié)構(gòu)[3]。近幾年,由于高性能計(jì)算的快速發(fā)展和GPU并行計(jì)算的應(yīng)用普及,卷積神經(jīng)網(wǎng)絡(luò)在工業(yè)級(jí)開(kāi)發(fā)場(chǎng)景中發(fā)生了巨大的變化[4]。本文中建立的機(jī)器學(xué)習(xí)模型就是基于開(kāi)源工業(yè)級(jí)深度學(xué)習(xí)框架TensorFlow[5]。
圖1 平臺(tái)構(gòu)建總體方案圖Fig.1 Overall platform construction architecture
本文中的卷積神經(jīng)網(wǎng)絡(luò)主要基于AlexNet 模型并對(duì)網(wǎng)絡(luò)參數(shù)調(diào)整然后進(jìn)行試驗(yàn),下一步的工作著重結(jié)合VGG和ResNet 等網(wǎng)絡(luò)模型進(jìn)一步試驗(yàn),模型具體參數(shù)如表1所示,模型的輸入是分辨率為256×256的單通道灰度圖像,輸入圖片經(jīng)過(guò)第1個(gè)卷積層conv1 得到256×256×16的特征圖,其中conv1中的卷積運(yùn)算核維度為5×5,卷積步長(zhǎng)為1,采用same 填充方式;接著,特征圖通過(guò)第一個(gè)池化層pool1,pool1 采用最大池化方式,選取維度2×2、步長(zhǎng)為2的核來(lái)完成池化操作,得到128×128×16的特征圖;然后,使用類似的方法經(jīng)過(guò)第2個(gè)卷積層conv2和第2個(gè)池化層pool2 得到64×64×32的特征圖。在完成卷積操作后,特征圖會(huì)通過(guò)一個(gè)全連接層dense 得到131072個(gè)訓(xùn)練參數(shù);然后,通過(guò)一個(gè)丟棄層dropout 來(lái)控制參數(shù)保留比例,防止模型在訓(xùn)練集上產(chǎn)生過(guò)擬合現(xiàn)象[6];接著,通過(guò)兩個(gè)前向傳遞層fc1和fc2 將訓(xùn)練參數(shù)數(shù)量變成512和64;最后,輸出參數(shù)通過(guò)softmax 分類器得到判定結(jié)果。
本文中的模型訓(xùn)練方法流程如圖2所示,每個(gè)步驟的功能如下。(1)輸入數(shù)據(jù)增強(qiáng):該步驟將輸入的圖像數(shù)據(jù)進(jìn)行擴(kuò)充,對(duì)原始圖像進(jìn)行旋轉(zhuǎn)、縮放、平移以及對(duì)稱變換等操作,這些操作在獲取更多的訓(xùn)練數(shù)據(jù)的同時(shí)可以使得訓(xùn)練后的模型識(shí)別時(shí)不受幾何變換影響。(2)模型參數(shù)初始化:在上一個(gè)小節(jié)中定義的卷積神經(jīng)網(wǎng)絡(luò)中包含了大量的權(quán)值矩陣和偏置向量參數(shù),這些參數(shù)初始化策略有很多種,不同的初始化策略可能會(huì)對(duì)模型求解過(guò)程和參數(shù)收斂速度有一定的影響,常見(jiàn)的有標(biāo)注初始化[7]、隨機(jī)正態(tài)分布初始策略、Gram–Schmidt 正交化初始策略以及隨機(jī)正交初始策略[8],本文采用最常見(jiàn)的隨機(jī)正態(tài)分布初始策略來(lái)初始化網(wǎng)絡(luò)中的權(quán)值。(3)獲取下一批數(shù)據(jù):使用全部訓(xùn)練集數(shù)據(jù)來(lái)訓(xùn)練會(huì)使得模型計(jì)算量過(guò)大而增加訓(xùn)練時(shí)間。試驗(yàn)證明采用小批量加入隨機(jī)噪音的訓(xùn)練方式可以顯著提高訓(xùn)練效果[9]。因此,本文每次在訓(xùn)練集中隨機(jī)選取一定數(shù)量的樣本作為同一批次訓(xùn)練數(shù)據(jù)來(lái)訓(xùn)練模型,后文中將批次數(shù)量記做 batch_size值。(4)模型參數(shù)優(yōu)化:該步驟定義了模型的損失函數(shù)、優(yōu)化器、學(xué)習(xí)率等訓(xùn)練的基本要素,通過(guò)反向傳播算法[10]來(lái)尋找模型梯度下降的路徑,不斷改進(jìn)模型達(dá)到對(duì)模型參數(shù)優(yōu)化。同時(shí),為了避免過(guò)擬合現(xiàn)象,在模型中插入了丟棄層,通過(guò)調(diào)整丟棄層的保留比例來(lái)動(dòng)態(tài)控制需要保留連接邊的數(shù)量,后文中將保留比例記做 keep_prob值。(5)評(píng)估模型準(zhǔn)確率:在每個(gè)小批次訓(xùn)練過(guò)程中,需要對(duì)上一次訓(xùn)練的模型中的好壞進(jìn)行評(píng)估,本文統(tǒng)計(jì)每個(gè)小批次數(shù)據(jù)在模型識(shí)別準(zhǔn)確率,即在新的批次數(shù)據(jù)中統(tǒng)計(jì)模型中識(shí)別正確的數(shù)量占該
表1 卷積神經(jīng)網(wǎng)絡(luò)參數(shù)Table1 Parameters of convolutional neural network
圖2 模型訓(xùn)練流程圖Fig.2 Training flow chart of the model
本文試驗(yàn)數(shù)據(jù)是某單位檢測(cè)中心自2014年至2018批次總數(shù)量的百分比。(6)訓(xùn)練終止條件:模型訓(xùn)練過(guò)程需要定義算法的終止條件。通常定義終止條件有兩種:一種是預(yù)先定義算法迭代次數(shù);另一種是預(yù)先定義損失值的終止范圍,本文中采用前者作為終止條件,后文中將總迭代次數(shù)記做epochs值。年總共5年的檢測(cè)報(bào)告中的影像數(shù)據(jù)。樣本數(shù)據(jù)是航空發(fā)動(dòng)機(jī)中整流葉片檢測(cè)結(jié)果圖像,可分為正樣本和負(fù)樣本兩類,正樣本是檢測(cè)合格的產(chǎn)品,負(fù)樣本中出現(xiàn)非焊合缺陷,是檢測(cè)不合格的產(chǎn)品。試驗(yàn)數(shù)據(jù)一共包含46101 條數(shù)據(jù),其中23191 條正樣本和22910 條負(fù)樣本。圖3列舉了試驗(yàn)數(shù)據(jù)的部分正負(fù)樣本,其中,圖3(a)為正樣本,圖3(b)為負(fù)樣本。
本文中機(jī)器學(xué)習(xí)平臺(tái)訓(xùn)練的硬件環(huán)境是Nvidia Tesla V100 16GB 型號(hào)計(jì)算級(jí)別顯卡,搭載了48核心Intel(R)Xeon(R)Gold 5118 2.30GHz的CPU。平臺(tái)的軟件環(huán)境是基于CUDA 10 運(yùn)行時(shí)環(huán)境,使用cuDNN v7.4.2.24 庫(kù)加速卷積計(jì)算過(guò)程;在Python 3.6.5中編譯了TensorFlow 1.12.0 wheel 安裝包作為基礎(chǔ)開(kāi)發(fā)框架。
機(jī)器學(xué)習(xí)平臺(tái)訓(xùn)練過(guò)程詳見(jiàn)2.2節(jié),本文為評(píng)估機(jī)器學(xué)習(xí)的訓(xùn)練效果一共做了3組獨(dú)立隨機(jī)試驗(yàn)。每組試驗(yàn)選取的迭代次數(shù)epoch值為1400 次,保留比例keep_prob值為0.6,批數(shù)量batch_size值分別為200、300和400。訓(xùn)練的識(shí)別準(zhǔn)確率隨訓(xùn)練迭代次數(shù)變化如圖4所示。
(1)圖4中的3個(gè)子圖的橫軸表示迭代次數(shù);縱軸表示對(duì)應(yīng)的識(shí)別準(zhǔn)確率的百分比;藍(lán)色實(shí)線為識(shí)別準(zhǔn)確率為50%分位線;紅色虛線是準(zhǔn)確率為96%分位線??梢钥闯觯涸谀P统跏蓟瘷?quán)值的情況下,識(shí)別準(zhǔn)確率一般在50%左右;隨著訓(xùn)練迭代次數(shù)的增加,模型的識(shí)別準(zhǔn)確率不斷提高,在3 次小組試驗(yàn)中都達(dá)到了96%以上。機(jī)器學(xué)習(xí)平臺(tái)的訓(xùn)練過(guò)程是有效的。
(2)圖4中的3個(gè)子圖從上至下依次將批數(shù)量batch_size值設(shè)置成了200、300和400。通過(guò)對(duì)比3張子圖可以看出,不同batch_size值對(duì)模型的識(shí)別準(zhǔn)確率最終收斂效果影響較小,只是識(shí)別準(zhǔn)確率收斂速度不盡相同。由此可見(jiàn),在進(jìn)行小批量的訓(xùn)練時(shí),batch_size值的選取只要在合理的范圍內(nèi)就不會(huì)對(duì)模型訓(xùn)練過(guò)程產(chǎn)生較大的影響,最終都可以得到較優(yōu)的模型。
圖3 正負(fù)樣本試驗(yàn)數(shù)據(jù)示例Fig.3 Example of positive and negative sample data
圖4 準(zhǔn)確率隨訓(xùn)練迭代次數(shù)變化Fig.4 Accuracy rate as a function of training iterations
通過(guò)上述分析可以得知:機(jī)器學(xué)習(xí)平臺(tái)在訓(xùn)練集的訓(xùn)練效果是合理有效的,通??梢赃_(dá)到96%的識(shí)別準(zhǔn)確率。
本文將試驗(yàn)數(shù)據(jù)按照0.9比值劃分成了訓(xùn)練集和測(cè)試集。首先在訓(xùn)練集數(shù)據(jù)基礎(chǔ)上訓(xùn)練好模型,然后在測(cè)試集上做預(yù)測(cè)試驗(yàn),最好,計(jì)算出準(zhǔn)確率、正確率、召回率和F1值。相關(guān)參數(shù)的計(jì)算公式為:
式中,TP表示把正類預(yù)測(cè)為正類的數(shù)量;FP表示把負(fù)類預(yù)測(cè)為正類的數(shù)量;FN表示把樣本中原來(lái)正類預(yù)測(cè)為負(fù)類的數(shù)量。
本試驗(yàn)分別變化迭代次數(shù)epoch、批數(shù)量batch_size和保留比例keep_prob 這3個(gè)參數(shù)。其中,epoch值選取了1000、1200和1400 3個(gè)數(shù)值;batch_size值選取了200、300和400 3個(gè)數(shù)值;keep_prob值選取了0.6和0.9這兩個(gè)數(shù)值。本文共完成了18 組獨(dú)立隨機(jī)試驗(yàn),試驗(yàn)的結(jié)果統(tǒng)計(jì)如表2所示,根據(jù)試驗(yàn)結(jié)果統(tǒng)計(jì)可以看出:
(1)18 組獨(dú)立隨機(jī)試驗(yàn)中的epoch 數(shù)值從1000、到1400 變化,平均準(zhǔn)確率最低達(dá)到93.8%,最高達(dá)到95.9%,并且隨著訓(xùn)練次數(shù)的增加平均準(zhǔn)確率不斷提高??v觀這18 組試驗(yàn)結(jié)果,識(shí)別準(zhǔn)確率最大值出現(xiàn)在epoch為1400,batch_size為200,keep_prob為0.6的第13小組試驗(yàn),識(shí)別準(zhǔn)確率高達(dá)97.6%。所以本文中建立的機(jī)器學(xué)習(xí)平臺(tái)可以出色地完成擴(kuò)散連接缺陷自動(dòng)檢測(cè)任務(wù)。
表2 測(cè)試集各項(xiàng)試驗(yàn)結(jié)果統(tǒng)計(jì)表Table2 Statistics of experimental results in test set
(2)在18 組預(yù)測(cè)試驗(yàn)中,正確率平均值最低達(dá)到了92.7%,召回率平均值最低達(dá)到了95.3%,F(xiàn)1值平均值最低達(dá)到了94.0%;正確率最大值達(dá)到了99.3%,召回率最大值達(dá)到了98.8%,F(xiàn)1值最大值達(dá)到了97.6%。所以,本文中建立的機(jī)器學(xué)習(xí)平臺(tái)在對(duì)大規(guī)模擴(kuò)散連接檢測(cè)任務(wù)中可以高效地提取有缺陷的樣本,優(yōu)化人工檢測(cè)流程。
通過(guò)在測(cè)試集上的對(duì)照試驗(yàn)結(jié)果分析,可以得出:本文設(shè)計(jì)的自動(dòng)識(shí)別模型的識(shí)別準(zhǔn)確率已經(jīng)基本滿足減少人工重復(fù)工作的需求。本模型在實(shí)際應(yīng)用場(chǎng)景中測(cè)試能到達(dá)約1500 張/s的處理速度,能夠很好地完成非焊合缺陷自動(dòng)識(shí)別任務(wù)。
本文針對(duì)目前擴(kuò)散連接缺陷檢測(cè)人工處理效率低和檢測(cè)人員長(zhǎng)期工作容易產(chǎn)生疲勞漏判的現(xiàn)狀,提出了構(gòu)建對(duì)擴(kuò)散連接缺陷檢測(cè)的機(jī)器學(xué)習(xí)平臺(tái)總體設(shè)計(jì)方案。此外,還將機(jī)器學(xué)習(xí)平臺(tái)應(yīng)用到整流葉片缺陷檢測(cè)實(shí)際工業(yè)案例中,完成了在某單位近5年內(nèi)總計(jì)46101條的整流葉片檢測(cè)影像數(shù)據(jù)集上的評(píng)估試驗(yàn)。試驗(yàn)結(jié)果證明:本文所提出的缺陷檢測(cè)模型對(duì)整流葉片非焊合缺陷的識(shí)別準(zhǔn)確率可以達(dá)到96%以上,并且在測(cè)試集中也表現(xiàn)出很好的預(yù)測(cè)效果。