張典范, 楊鎮(zhèn)豪, 程淑紅
(1. 燕山大學(xué)河北省特種運(yùn)載裝備重點(diǎn)實(shí)驗(yàn)室, 河北秦皇島066004;2. 燕山大學(xué)電氣工程學(xué)院, 河北秦皇島066004)
輪轂生產(chǎn)的自動化對輪轂企業(yè)發(fā)展至關(guān)重要,實(shí)現(xiàn)對輪轂的高精確的自動識別不僅可以大幅降低分揀錯誤率,而且可以對輪轂生產(chǎn)流程實(shí)時(shí)監(jiān)管,記錄每個(gè)輪轂的生產(chǎn)信息。
目前已有的輪轂識別方法可分為兩類:第1類方法采用圖像處理提取輪轂特征,再進(jìn)行特征匹配的方法。一般是人為定義的輪轂的一些幾何、紋理特征,如趙玉梁等[1]通過圖像處理技術(shù)識別待測輪轂圖像的直徑、孔洞數(shù)量、區(qū)域面積等信息實(shí)現(xiàn)輪轂識別;文獻(xiàn)[2]結(jié)合了模板匹配算法[3]和基于有向網(wǎng)絡(luò)擴(kuò)散的紋理分類方法[4],用輪輻模板與待測輪轂輪輻進(jìn)行旋轉(zhuǎn)匹配,同時(shí)利用像素點(diǎn)隨機(jī)游走算法來待測輪轂的紋理信息,達(dá)到輪轂識別的目的。但是這類方法很容易受到采集的圖像質(zhì)量和拍攝角度的影響,存在特征抗干擾性差,魯棒性差的問題。第2類方法是用深度學(xué)習(xí)提取輪轂特征并識別。通過深度學(xué)習(xí)訓(xùn)練大量輪轂數(shù)據(jù)集,利用卷積神經(jīng)網(wǎng)絡(luò)對圖像數(shù)據(jù)良好的特征提取能力來識別輪轂[5~7]。但是數(shù)據(jù)的采集和標(biāo)注會耗費(fèi)大量的人力財(cái)力,并且隨著輪轂產(chǎn)品的變化,識別任務(wù)改變,需要重新訓(xùn)練模型。
遷移學(xué)習(xí)[8]是一種利用先前獲得的知識(具有大量標(biāo)記數(shù)據(jù)的源域)來促進(jìn)解決當(dāng)前任務(wù)的方法。在圖像分類或識別問題上常使用在大數(shù)據(jù)集上的預(yù)訓(xùn)練模型,如Liu W等[9]和張菁等[10]實(shí)現(xiàn)的醫(yī)學(xué)圖像分類任務(wù),二者都是將ImageNet部分權(quán)重參數(shù)遷移到目標(biāo)網(wǎng)絡(luò)中;Kim T H等[11]則是用VGG-face dataset大型面部數(shù)據(jù)集上訓(xùn)練的VGG面部識別模型作為CNN模型參數(shù)的初始值,來學(xué)習(xí)面部表情特征。遷移學(xué)習(xí)還可以利用數(shù)據(jù)之間的相似性來完成新的預(yù)測或識別任務(wù),例如為了實(shí)現(xiàn)對交通流量的準(zhǔn)確預(yù)測,Zhang C等[12]收集了3種跨域數(shù)據(jù)集,研究了數(shù)據(jù)集之間的相關(guān)性,提出了一種連續(xù)的簇間遷移學(xué)習(xí)策略來提高預(yù)測性能;或者是在更新任務(wù)時(shí),利用舊數(shù)據(jù)與新數(shù)據(jù)之間的相似性來完成新的任務(wù),如Sun C等[13]提出的了一種深度遷移網(wǎng)絡(luò),通過3種遷移策略,實(shí)現(xiàn)了機(jī)械故障的歷史數(shù)據(jù)在沒有監(jiān)督信息的情況下對訓(xùn)練目標(biāo)的預(yù)測。
目前有關(guān)采用遷移學(xué)習(xí)識別輪轂的研究報(bào)道較少,而遷移學(xué)習(xí)利用已有知識訓(xùn)練目標(biāo)數(shù)據(jù)的特點(diǎn)能減少訓(xùn)練任務(wù)量,節(jié)省大量時(shí)間成本。因此,本文采用一種基于遷移學(xué)習(xí)和殘差網(wǎng)絡(luò)的卷積神經(jīng)網(wǎng)絡(luò)模型來識別輪轂,通過從ImageNet遷移權(quán)重參數(shù)和修改網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建ResNet50微調(diào)模型,利用ImageNet模型在圖像識別任務(wù)中的知識,采用參數(shù)凍結(jié)法探究不同參數(shù)遷移量對輪轂識別任務(wù)的模型訓(xùn)練效率、準(zhǔn)確率的影響。
遷移學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)重要分支,是利用數(shù)據(jù)、任務(wù)、模型之間的相似性,將在舊領(lǐng)域?qū)W習(xí)過的知識,應(yīng)用在新領(lǐng)域的學(xué)習(xí)過程。
本文使用在ImageNet訓(xùn)練的預(yù)訓(xùn)練模型,確立目標(biāo)任務(wù)為輪轂識別,使源領(lǐng)域的知識通過輪轂數(shù)據(jù)集和ResNet50網(wǎng)絡(luò)得到重用,完成對輪轂的識別。
將ImageNet的預(yù)訓(xùn)練模型的源域[14](source somain)是由特征空間Xs和在該空間中樣本的邊緣概率分布Ps構(gòu)成的,xi是ImageNet的實(shí)際訓(xùn)練樣本,并服從Ps,xsi∈{Xs||1,2,…,m}其中i是一個(gè)訓(xùn)練樣本,m是特征空間Xs維數(shù)。預(yù)訓(xùn)練模型的任務(wù)(Task)是由標(biāo)簽空間γs和預(yù)測函數(shù)ft(*)構(gòu)成,ysi是每個(gè)樣本的標(biāo)簽,于是我們可以將一個(gè)在ImageNet上的預(yù)訓(xùn)練模型的源域定義
(1)
基于輪轂數(shù)據(jù)集的目標(biāo)域(target domain)為
(2)
輪轂識別的遷移學(xué)習(xí)任務(wù)就是利用已在ImageNet訓(xùn)練學(xué)習(xí)的知識來優(yōu)化目標(biāo)域Dt的輪轂預(yù)測函數(shù)ft(*),使其能正確的預(yù)測輪轂標(biāo)簽yti。
圖1 遷移學(xué)習(xí)實(shí)現(xiàn)輪轂識別Fig.1 Transfer learning implements hub recognition
神經(jīng)網(wǎng)絡(luò)微調(diào)是一種深度遷移學(xué)習(xí)[15,16],是將具有通用的特征提取能力的預(yù)訓(xùn)練模型遷入到目標(biāo)網(wǎng)絡(luò),根據(jù)不同的訓(xùn)練任務(wù)對預(yù)訓(xùn)練模型網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)整,在目標(biāo)數(shù)據(jù)集上訓(xùn)練微調(diào)模型參數(shù),將其轉(zhuǎn)化為目標(biāo)領(lǐng)域神經(jīng)網(wǎng)絡(luò)的一部分。
文獻(xiàn)[17]中殘差網(wǎng)絡(luò)有效地解決了深度卷積神經(jīng)網(wǎng)絡(luò)出現(xiàn)的退化問題。圖2為一個(gè)bottleneck殘差單元輸入與輸出關(guān)系。
圖2 殘差網(wǎng)絡(luò)單元Fig.2 Residual network unit
圖2中:x表示該殘差單元的輸入;F(x)表示輸入在經(jīng)過卷積層后的殘差值;H(x)表示當(dāng)前殘差單元的輸出,其的表達(dá)式如下:
H(x)=F(x)+x
(3)
設(shè)卷積神經(jīng)網(wǎng)絡(luò)的期望輸出為H′(x),在網(wǎng)絡(luò)訓(xùn)練達(dá)到較飽和準(zhǔn)確率的情況下,接下來的學(xué)習(xí)相當(dāng)于一個(gè)恒等映射學(xué)習(xí),也就是H(x)=x,之后的訓(xùn)練目標(biāo)就變成使殘差F(x)趨近于0,隨著網(wǎng)絡(luò)加深,準(zhǔn)確率不再下降。
Bottleneck是構(gòu)成ResNet50的基本單元,每個(gè)Bottleneck殘差塊由3個(gè)卷積層構(gòu)成,圖2中采用1×1卷積降低輸入通道,最后再用1×1卷積恢復(fù),從而減少計(jì)算量。輸入數(shù)據(jù)在經(jīng)過3次卷積后得出的輸出數(shù)據(jù)再與輸入相加得到該殘差塊最終輸出。
圖3為ResNet50預(yù)訓(xùn)練模型參數(shù)遷移,從ImageNet中遷移預(yù)訓(xùn)練模型,根據(jù)輪轂分類數(shù)修改全鏈接(fc)層結(jié)構(gòu)、凍結(jié)不同卷積層參數(shù),通過訓(xùn)練,進(jìn)一步調(diào)整模型參數(shù)以適應(yīng)輪轂數(shù)據(jù)集。
因?yàn)榫矸e神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時(shí)參與訓(xùn)練的參數(shù)量對訓(xùn)練效率,最終準(zhǔn)確率有很大影響。在不遷移參數(shù)的情況下,模型的性能是隨著凍結(jié)參數(shù)的增多而下降的,但是訓(xùn)練效率會提升。因此本文將ResNet50網(wǎng)絡(luò)的部分卷積層參數(shù)替換為預(yù)訓(xùn)練模型參數(shù)并鎖定,其余卷積層參與對輪轂數(shù)據(jù)集的訓(xùn)練。因此在實(shí)驗(yàn)部分重點(diǎn)探究ResNet50網(wǎng)絡(luò)不同參數(shù)遷移量對識別準(zhǔn)確率,訓(xùn)練耗時(shí)的影響。
圖3 ResNet50預(yù)訓(xùn)練模型參數(shù)遷移Fig.3 ResNet50 pre-trained model parameter migration
本次實(shí)驗(yàn)驗(yàn)證基于ResNet50和遷移學(xué)習(xí)對輪轂識別的影響,為驗(yàn)證ResNet50的優(yōu)越性,引入AlexNet、VGG11、VGG16卷積神經(jīng)網(wǎng)絡(luò)做對比,分別比較幾種卷積神經(jīng)網(wǎng)絡(luò)在使用微調(diào)和不使用微調(diào)對模型訓(xùn)練的影響;比較凍結(jié)不同數(shù)量卷積層參數(shù)對VGG16和ResNet50識別準(zhǔn)確率、訓(xùn)練效率、測試準(zhǔn)確率的影響。
實(shí)驗(yàn)訓(xùn)練所有卷積神經(jīng)網(wǎng)絡(luò)采用的初始學(xué)習(xí)率為0.003,損失函數(shù)為交叉熵?fù)p失函數(shù)。
實(shí)驗(yàn)采用電腦設(shè)備處理器為Intel(R) Core(TM) i5-9400F CPU,顯卡GeForce GTX 1660,操作系統(tǒng)Ubuntu18.04、并行計(jì)算架構(gòu)CUDA10.0,PyTorch深度學(xué)習(xí)框架。
圖4 8種型號輪轂Fig.4 8 models of wheels
本次實(shí)驗(yàn)采集8種型號輪轂(G1~G8)圖片,如圖4所示。將輪轂圖片進(jìn)行數(shù)據(jù)增強(qiáng),來增強(qiáng)訓(xùn)練模型的泛化能力和魯棒性。采用隨機(jī)旋轉(zhuǎn)、高斯噪聲和灰度變換來對輪轂圖片進(jìn)行圖像處理,將每種輪轂圖像擴(kuò)增到1 200張,訓(xùn)練集、驗(yàn)證集和測試集按照4:1:1劃分,同時(shí)隨機(jī)排序,如圖5所示型號為G1輪轂的3種數(shù)據(jù)增強(qiáng)方式。
圖6為4種卷積神經(jīng)網(wǎng)絡(luò)(CNN)的普通模型與微調(diào)模型在50個(gè)訓(xùn)練周期內(nèi)準(zhǔn)確率的變化。
微調(diào)模型是指全部使用ImageNet參數(shù)且不凍結(jié)。由圖6可知ImageNet遷移來的模型參數(shù)對輪轂有良好的特征提取能力,能在較少的訓(xùn)練周期內(nèi)達(dá)到較高的訓(xùn)練精度,隨著訓(xùn)練輪數(shù)增加再根據(jù)輪轂數(shù)據(jù)集進(jìn)一步提高模型對輪轂識別的準(zhǔn)確率。而普通模型則需要足夠的訓(xùn)練周期才能達(dá)到對輪轂的高識別準(zhǔn)確率。
圖5 數(shù)據(jù)增強(qiáng)Fig.5 Data to enhance
圖6 4種CNN的普通模型與微調(diào)模型對比Fig.6 Comparison of four CNN general models and fine-tuning models
本次實(shí)驗(yàn)對準(zhǔn)確率Acc的定義如下:
式中:Tp表示輪轂被正確預(yù)測的次數(shù),Tn表示被預(yù)測錯誤的次數(shù)。
從實(shí)驗(yàn)數(shù)據(jù)中可知4種網(wǎng)絡(luò)的普通模型在訓(xùn)練周期等于32、21、21、16時(shí)才達(dá)到90%以上,VGG11、VGG16和ResNet50在訓(xùn)練周期等于42、37和26時(shí)穩(wěn)定在95%以上,AlexNet在訓(xùn)練過程中沒有達(dá)到95%的準(zhǔn)確率。4種微調(diào)模型準(zhǔn)確率在分別在訓(xùn)練周期等于5、3、4、2時(shí)穩(wěn)定在95%以上,在訓(xùn)練周期等于21、17、20、9時(shí)穩(wěn)定在99%以上。
以上實(shí)驗(yàn)可以得出ResNet50在訓(xùn)練輪轂數(shù)據(jù)集時(shí)對特征的提取效果最好,無論是普通模型還是微調(diào)模型,相比于其他3種網(wǎng)絡(luò)訓(xùn)練所需的訓(xùn)練輪次最少。
如圖7所示ResNet50的普通模型和微調(diào)模型預(yù)測8種輪轂得出的混淆矩陣。在訓(xùn)練周期等于25時(shí),普通模型出現(xiàn)對輪轂的錯誤預(yù)測,而微調(diào)模型能正確預(yù)測輪轂,準(zhǔn)確率在基本在90%以上;在50個(gè)訓(xùn)練周期內(nèi)普通模型和微調(diào)模型都能實(shí)現(xiàn)輪轂的正確預(yù)測,但普通模型對輪轂G1和G5的準(zhǔn)確率只有80%左右,而微調(diào)模型對8種輪轂預(yù)測準(zhǔn)確率能穩(wěn)定在95%以上。分析以上結(jié)論說明ResNet50微調(diào)模型在訓(xùn)練時(shí)收斂速度更快。
凍結(jié)卷積層參數(shù)對訓(xùn)練效率的影響,選用VGG16和ResNet50兩種卷積神經(jīng)網(wǎng)絡(luò)的ImageNet微調(diào)模型。根據(jù)其網(wǎng)絡(luò)結(jié)構(gòu)凍結(jié)不同卷積層、bottleneck殘差單元,在輪轂數(shù)據(jù)集上訓(xùn)練并比較不同凍結(jié)策略下的準(zhǔn)確率變化、訓(xùn)練耗時(shí)、測試準(zhǔn)確率和推理速度。VGG16網(wǎng)絡(luò)含有13個(gè)卷積層和3個(gè)全連接層,分別凍結(jié)前2層、前4層、前10層和全部卷積層參數(shù)。ResNet50網(wǎng)絡(luò)的主要結(jié)構(gòu)由1個(gè)卷積層和4個(gè)殘差塊組成,每個(gè)殘差塊包含若干個(gè)bottleneck的殘差單元,分別凍結(jié)不同數(shù)量的殘差單元參數(shù)。
圖7 ResNet50普通模型與微調(diào)模型預(yù)測輪轂混淆矩陣Fig.7 ResNet50 normal model and fine-tuning model for hub model prediction confusion matrix
探究不同凍結(jié)策略下訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)準(zhǔn)確率、訓(xùn)練周期和訓(xùn)練耗時(shí)之間的關(guān)系,設(shè)置3個(gè)時(shí)間指標(biāo):t、t1和t2,分別指訓(xùn)練神經(jīng)網(wǎng)絡(luò)平均訓(xùn)練周期耗時(shí)和準(zhǔn)確率穩(wěn)定在95%和99%所消耗時(shí)間。兩個(gè)訓(xùn)練指標(biāo)E1和E2分別指訓(xùn)練神經(jīng)網(wǎng)絡(luò)準(zhǔn)確率穩(wěn)定在95%和99%所需訓(xùn)練周期數(shù)。表1和表2分別為VGG16和ResNet50網(wǎng)絡(luò)在實(shí)驗(yàn)環(huán)境下的時(shí)間指標(biāo)和訓(xùn)練指標(biāo)。同時(shí)比較不同凍結(jié)策略下各模型在測試集上的準(zhǔn)確率。
表1VGG16不同凍結(jié)策略下各指標(biāo)值Tab.1 VGG16 each index value under different freezing
表2ResNet50不同凍結(jié)策略下各指標(biāo)值Tab.2 ResNet50 each index value under different freezing strategy
分析表1和表2中數(shù)據(jù),總結(jié)出VGG16和ResNet50不同凍結(jié)策略在輪轂數(shù)據(jù)集上訓(xùn)練效果的一般規(guī)律:凍結(jié)卷積層數(shù)越多,訓(xùn)練耗時(shí)越短,但凍結(jié)全部參數(shù)無法繼續(xù)在輪轂數(shù)據(jù)集優(yōu)化模型,進(jìn)而限制模型對輪轂的識別準(zhǔn)確率。凍結(jié)部分卷積層時(shí),余下的卷積層可以參與訓(xùn)練更新參數(shù),因而可以繼續(xù)優(yōu)化模型。根據(jù)表1和表2中VGG16和ResNet50經(jīng)網(wǎng)絡(luò)的不同凍結(jié)策略對5個(gè)指標(biāo)的影響來看,凍結(jié)層數(shù)較少時(shí),平均訓(xùn)練耗時(shí)變長,達(dá)到99%準(zhǔn)確率所需周期較少;凍結(jié)層數(shù)較多時(shí),平均訓(xùn)練耗時(shí)減少,達(dá)到99%準(zhǔn)確率所需訓(xùn)練周期較多。綜合準(zhǔn)確率變化與訓(xùn)練耗時(shí)兩個(gè)因素,VGG16和ResNet50分別凍結(jié)4個(gè)卷積層和7個(gè)殘差塊時(shí)訓(xùn)練能在最短時(shí)間內(nèi)達(dá)到99%準(zhǔn)確率。
進(jìn)一步比較VGG16和ResNet50在不同凍結(jié)策略下各指標(biāo)值,分析數(shù)據(jù)可知,ResNet50微調(diào)模型在不同凍結(jié)策略下達(dá)到t1和t2指標(biāo)所需時(shí)間均小于VGG16微調(diào)模型,且只有在凍結(jié)全部參數(shù)時(shí)未達(dá)到指標(biāo)t2,而VGG16微調(diào)模型在凍結(jié)全部參數(shù)是均未達(dá)到t1和t2指標(biāo);兩種網(wǎng)絡(luò)不同凍結(jié)策略下訓(xùn)練模型在測試集上均達(dá)到98%以上的準(zhǔn)確率,隨著凍結(jié)層數(shù)增加準(zhǔn)確率下降。測試集每種輪轂包含200張圖片,對比兩類網(wǎng)絡(luò)的測試準(zhǔn)確率可知:ResNet50測試準(zhǔn)確率更高;VGG16和ResNet50對同一張輪轂圖像的平均推理耗時(shí)分別為0.012 6 s和0.010 4 s。綜上所述,ResNet50微調(diào)模型訓(xùn)練輪轂數(shù)據(jù)集無論是識別準(zhǔn)確率、訓(xùn)練效率和推理速度均更優(yōu)。
從表2可知ResNet50微調(diào)模型在凍結(jié)7個(gè)bottleneck殘差單元時(shí)訓(xùn)練效率最高,在該凍結(jié)策略下訓(xùn)練16個(gè)訓(xùn)練周期,生成用于輪轂識別的遷移學(xué)習(xí)模型,將該模型命名為TL-ResNet50,采用該模型對8種型號輪轂實(shí)時(shí)識別結(jié)果和對應(yīng)的置信度如圖8所示。
在測試集上分別用TL-ResNet50對8種輪轂進(jìn)行測試,測試平均準(zhǔn)確率如表3所示。
表3TF-ResNet50預(yù)測8種型號輪轂平均準(zhǔn)確率Tab.3 TF-ResNet50 forecast average accuracy of 8 hubs (%)
分析圖8和表3中數(shù)據(jù),采用TL-RseNet50能實(shí)現(xiàn)對輪轂的準(zhǔn)確預(yù)測,且平均準(zhǔn)確率在99%以上,進(jìn)一步說明TL-RseNet50在輪轂識別問題上的優(yōu)越性能。
針對輪轂識別問題,本文將ImageNet預(yù)訓(xùn)練模型參數(shù)遷移到ResNet50,構(gòu)建基于殘差網(wǎng)絡(luò)的輪轂識別微調(diào)模型,并比較VGG16和ResNet50兩種網(wǎng)絡(luò)的微調(diào)模型在不同凍結(jié)策略下訓(xùn)練輪轂數(shù)據(jù)集時(shí)的訓(xùn)練效率、準(zhǔn)確率變化和測試準(zhǔn)確率,得出ResNet50微調(diào)模型在凍結(jié)7個(gè)bottleneck殘差單元時(shí)達(dá)到99%識別率,所需訓(xùn)練時(shí)間最短,推理速度快,生成的TL-ResNet50遷移學(xué)習(xí)模型對8種輪轂的識別率均達(dá)到99%,這表明該模型對識別輪轂具有良好的訓(xùn)練效率、準(zhǔn)確率和推理速度。