趙 桐,雷保珍,,王訓(xùn)偉,齊廣浩
(1.北京聯(lián)合大學(xué) 北京市信息服務(wù)工程重點實驗室,北京 100101;2.北京聯(lián)合大學(xué) 北京市智能機械創(chuàng)新設(shè)計服務(wù)工程技術(shù)研究中心,北京 100101)
金屬注射成型(metal injection molding,MIM)是一種將金屬粉末與其粘結(jié)劑的增塑混合料經(jīng)過注射、燒結(jié)等工藝得到成品的一種新型近凈成形技術(shù),具有常規(guī)粉末冶金、機加工和精密鑄造方法無法比擬的優(yōu)勢。同時在運輸和生產(chǎn)中也會有一些特有的工藝缺陷,如劃痕、變形等,不僅對工件的性能造成影響,還會降低零件的使用壽命。MIM工業(yè)生產(chǎn)零件批量大、尺寸小的工藝特點也讓其缺陷檢測變得極其困難。因此,快速、準(zhǔn)確檢測MIM零件缺陷的方法在工業(yè)中顯得尤為重要。
近年來,隨著人工智能的飛速發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)被應(yīng)用到各個領(lǐng)域當(dāng)中。吳濤等人[1]利用K-means++算法確定先驗框,基于YOLOV3[2]檢測架構(gòu)構(gòu)建一種改進的輕量級網(wǎng)絡(luò),對絕緣子的檢測準(zhǔn)確率達到近90 %。谷靜等人[3]利用密集連接網(wǎng)絡(luò)(DenseNet)對焊縫缺陷進行檢測識別,并在相同的數(shù)據(jù)集和訓(xùn)練步數(shù)下,與最小二乘支持向量機(least square support vector machine,LS-SVM)[4]與卷積神經(jīng)網(wǎng)絡(luò)LeNet算法對比,DenseNet網(wǎng)絡(luò)提高了模型泛化能力與識別準(zhǔn)確率,對焊縫缺陷的識別準(zhǔn)確率可達98.969 %。宋念龍等人[5]在涂布的缺陷檢測的應(yīng)用上設(shè)計了一種卷積神經(jīng)網(wǎng)絡(luò),模型的識別率可達92 %。卷積神經(jīng)網(wǎng)絡(luò)也被廣泛應(yīng)用到林業(yè)[6]、鐵路[7]等方向。
本文通過研究DenseNet算法,對特征重用層進行改進,輕量化網(wǎng)絡(luò)結(jié)構(gòu),提高網(wǎng)絡(luò)運行效率,并針對訓(xùn)練集數(shù)據(jù)量小、檢測率低問題,用大數(shù)據(jù)集進行遷移學(xué)習(xí)完成特征提取層構(gòu)造,再用小數(shù)據(jù)集進行分類器的再訓(xùn)練,為MIM零件缺陷檢測提供了更高效準(zhǔn)確的方法。
DenseNet是一種密集連接網(wǎng)絡(luò),通過對特征圖的密集連接達到特征重用的效果,打破了改進神經(jīng)網(wǎng)絡(luò)要么深度增加,要么寬度增加的傳統(tǒng)思想觀念。通過特征重用的方式,加強了特征圖的傳遞的同時,也減輕了神經(jīng)網(wǎng)絡(luò)層數(shù)過深時出現(xiàn)的梯度消失現(xiàn)象,并且在一定程度上減少了參數(shù)的數(shù)量。圖1為密集連接層的網(wǎng)絡(luò)結(jié)構(gòu)。
圖1 密集連接結(jié)構(gòu)
對于n層網(wǎng)絡(luò),DenseNet網(wǎng)絡(luò)具有n(n+1)/2層連接,即每一層都會接受前面所有層的特征圖,第n層的特征圖可表示為
Xn=Hn-1([X0,X1,…,Xn-1])
(1)
式中 [X0,X1,…,Xn-1]為X0,X1,…,Xn-1層特征圖在channel維度上的拼接,Hn(?)為非線性化轉(zhuǎn)換函數(shù),可包含批處理歸一化(batch normalization,BN),ReLu[8]激活函數(shù)及卷積(convolution)等操作。
將特征圖在Channel維度上進行拼接,需要每個特征圖的尺寸都要一致。設(shè)置大小為3×3的卷積核,并且步數(shù)(stride)為1,邊緣填充(padding)為1,如此每層輸出的特征圖即可在channel維度上進行拼接,并且設(shè)置每層卷積核的數(shù)量為k。隨著網(wǎng)絡(luò)深度的增加,前面特征圖的拼接channel維度會成線性增加,k在這里也被稱為增長率(growth rate)。為了在一定程度上抑制不斷增長的數(shù)據(jù)輸入量,DenseNet中設(shè)置了密集塊(DenseBlock)和過渡(transition)層來抑制參數(shù)輸入量過度增長的問題。由3個密集塊和2個過渡層構(gòu)成的DenseNet如圖2所示。
圖2 DenseBlock和Transition
通過控制每個DenseBlock中的層數(shù)來控制輸入特征圖的維度上限,并且在Transition層中,用1×1卷積核以及池化(pooling)層對輸出特征進行壓縮,最終將特征圖交給分類器進行處理,從而得到預(yù)測結(jié)果。
通過DenseBlock以及Transition可以有效地抑制特征輸入的數(shù)量,但是如果將增長率設(shè)置的較大,或DenseBlock中的層數(shù)較深,則后面層數(shù)的數(shù)據(jù)輸入量依舊無法得到控制。所以,本文在此基礎(chǔ)上提出一種改進的特征重用方法,結(jié)構(gòu)如圖3所示。
圖3 改進的特征重用
在n層輸出特征圖與其他特征圖拼接之前,首先對1,2,…,n-1層輸出特征圖進行1×1卷積操作,設(shè)置卷積核的數(shù)量為k個,在將結(jié)果與本層輸出進行拼接,即可將每層特征圖的輸入在Channel維度都控制在2k,可表示為
Xn=Hn-1([Xn-1,hn-1([X0,X1,…,Xn-1])])
綜上所述,在素質(zhì)教學(xué)理念不斷發(fā)展的當(dāng)今時代,運用信息技術(shù)開展小學(xué)語文教學(xué)能夠有效地幫助教師提升整體的教學(xué)質(zhì)量,完成教學(xué)任務(wù),促進學(xué)生綜合素養(yǎng)的提升。在小學(xué)語文教學(xué)的過程中,開展翻轉(zhuǎn)課堂教學(xué)能夠有效地激發(fā)學(xué)生的主體意識,使其形成一定的自主學(xué)習(xí)能力以及自主學(xué)習(xí)欲望,在降低自身學(xué)習(xí)難度的同時,提升自身的學(xué)習(xí)質(zhì)量,促進自身的全面發(fā)展。
(2)
式中hn(?)為k個1×1卷積卷積核進行卷積操作。
加入了1×1卷積操作,不僅會減少每層輸入特征圖的Channel達到輕量化網(wǎng)絡(luò)的目的,還會令每層的輸出都是k張本層輸出特征圖以及k張重用特征圖,改變了網(wǎng)絡(luò)對每層特征的重視程度,在有效加快網(wǎng)絡(luò)訓(xùn)練的同時,對減輕梯度消失依然有很好的效果。
沒有過多的公開數(shù)據(jù)集是卷積神經(jīng)網(wǎng)絡(luò)在工業(yè)檢測方面發(fā)展緩慢遇到的最大問題之一。深層卷積神經(jīng)網(wǎng)絡(luò)具有良好的檢測效果,需要大量的數(shù)據(jù)作為支撐,然而在工業(yè)中,每種生產(chǎn)工藝會伴隨著特定的缺陷,不同零件的缺陷特征也截然不同,甚至同種工藝的不同零件都需要不同的模型來檢測,否則無法達到預(yù)期效果。因此,如何運用較小的數(shù)據(jù)集來訓(xùn)練深層的網(wǎng)絡(luò)結(jié)構(gòu)以達到高效、準(zhǔn)確的識別效果成了重中之重。
遷移學(xué)習(xí)[9]是一種機器學(xué)習(xí)的方法,指的是一個預(yù)訓(xùn)練的模型被重新用在另一個任務(wù)中,將預(yù)訓(xùn)練模型網(wǎng)絡(luò)參數(shù)進行遷移,并且對已有數(shù)據(jù)集進行再訓(xùn)練的一個過程,可以高效地提升針對小數(shù)據(jù)集的識別準(zhǔn)確率。ImageNet數(shù)據(jù)集是一個最初擁有100萬張圖片的數(shù)據(jù)集,發(fā)展到如今約有1 400萬張圖片,每一張圖片都被手工標(biāo)定好類別,共1 000個大類,是一個大型的公開數(shù)據(jù)集。
本文利用ImageNet數(shù)據(jù)集在模型上進行預(yù)訓(xùn)練,將訓(xùn)練好的參數(shù)遷移到缺陷檢測的模型上,再利用已有的少量數(shù)據(jù)對模型進行再訓(xùn)練,從而提升模型的準(zhǔn)確性。
齒輪零件來源于金屬注射成型機,并為本次實驗專門搭建了數(shù)據(jù)采集平臺,硬件包括CCD相機、遠(yuǎn)心鏡頭、方形白色光源、環(huán)形紅光光源。具體如圖4所示。
圖4 硬件設(shè)備
在該平臺下對齒輪表面進行拍攝,得到齒輪表面圖像,并且根據(jù)表面特征將圖片分為3類,分別是變形、劃痕以及無缺陷,如圖5所示。并且對圖像進行平移,旋轉(zhuǎn),裁剪等操作對數(shù)據(jù)集進行擴充,按照4︰1的比例對數(shù)據(jù)集進行訓(xùn)練集和測試集的隨機劃分,最終的數(shù)據(jù)集如表1所示。
圖5 特征種類
表1 數(shù)據(jù)集分布
本文基于DenseNet121網(wǎng)絡(luò)進行優(yōu)化以及訓(xùn)練,網(wǎng)絡(luò)中共有4個密集塊,內(nèi)部網(wǎng)絡(luò)層數(shù)依次為6,12,24,16。整體網(wǎng)絡(luò)結(jié)構(gòu)如表2所示。
表2 DenseNet121網(wǎng)絡(luò)結(jié)構(gòu)
在pytorch框架下完成對網(wǎng)絡(luò)的訓(xùn)練任務(wù),首先在ImageNet數(shù)據(jù)集上進行模型的預(yù)訓(xùn)練,將得到的預(yù)訓(xùn)練模型在本文獲取的數(shù)據(jù)集上進行遷移學(xué)習(xí)。由于數(shù)據(jù)量的限制,僅對分類器進行再訓(xùn)練,每次迭代用的圖片數(shù)(batch_size)為64張,訓(xùn)練輪數(shù)設(shè)置為100,并使用隨機梯度下降(stochastic gradient descent,SGD)[10]作為基礎(chǔ)迭代器,交叉熵函數(shù)作為分類器的損失函數(shù)。
本文網(wǎng)絡(luò)模型與resNet50,vgg16網(wǎng)絡(luò)模型經(jīng)過訓(xùn)練,得到三種模型下的損失函數(shù)值變化曲線,如圖6所示。
圖6 損失函數(shù)變化
三種模型在相同的迭代步數(shù)下,Vgg19由于層數(shù)較低的原因,損失函數(shù)的收斂速度是最快的。ResNet50的收斂速度最慢體現(xiàn)了特征重用層對加速網(wǎng)絡(luò)訓(xùn)練有著很好的效果。最終三種模型的損失函數(shù)都在0.06左右發(fā)生了收斂。表3為三種模型在測試集上的準(zhǔn)確率。
表3 模型準(zhǔn)確率評估 %
Vgg19在無缺陷這一特征的識別率與本文模型相同,在130張圖片的測試集上僅有一張圖片判斷錯誤,而變形和劃痕的準(zhǔn)確率僅有75 %左右。ResNet50在劃痕和變形的識別準(zhǔn)確率到達了97 %以上,但在無缺陷的特征集上效果相對較差。本文模型在三個特征的識別上都有較好的結(jié)果,模型識別效果相較于ResNet50和Vgg19有更高的準(zhǔn)確率和穩(wěn)定性,在總測試集上的識別準(zhǔn)確率可達98.14 %。
針對MIM齒輪的缺陷檢測,提出了一種基于遷移學(xué)習(xí)和特征重用的網(wǎng)絡(luò)模型,自動提取零件缺陷特征完成高效率的缺陷檢測任務(wù)。并與ResNet50,Vgg19兩個經(jīng)典模型進行對比,識別準(zhǔn)確率有較大幅度的提升。由于零件數(shù)據(jù)集獲取較為困難,只對已有數(shù)據(jù)集上驗證了算法的性能,未來將獲取包含更多種類缺陷數(shù)據(jù)集,以便進一步研究。