謝小娟,楊寧祥
(廣東省特種設(shè)備檢測(cè)研究院 珠海檢測(cè)院,廣東 珠海 519002)
碳鋼由于可加工性良好且性價(jià)比較高而廣泛應(yīng)用在壓力鍋爐、蒸汽管道及高溫高壓機(jī)組的有關(guān)部件中。在長(zhǎng)期服役過程中,碳鋼在一定的溫度和壓力作用下會(huì)產(chǎn)生石墨化現(xiàn)象,降低材質(zhì)的強(qiáng)度與韌性,最終導(dǎo)致脆性爆管等嚴(yán)重事故。目前,關(guān)于碳鋼石墨化的檢測(cè)方法主要依賴金相分析法,即采用人工目測(cè)的方法,通過金相顯微鏡觀察試樣的金相組織圖像,然后與標(biāo)準(zhǔn)圖譜相對(duì)照進(jìn)行石墨化評(píng)級(jí)[1-2]。這種評(píng)級(jí)結(jié)果帶有很強(qiáng)的主觀性,誤差較大,且重復(fù)性不好。
隨著計(jì)算機(jī)視覺技術(shù)與神經(jīng)網(wǎng)絡(luò)算法的發(fā)展,研究人員開始應(yīng)用圖像處理技術(shù)與機(jī)器學(xué)習(xí)方法進(jìn)行金相組織分析。例如,樊丁等人[3]采用canny圖像邊緣檢測(cè)算法及8-鏈碼目標(biāo)輪廓跟蹤的方法對(duì)鈷基合金金相組織進(jìn)行了定量分析。吳偉等人[4]以ImageJ軟件為工具,采用圖像增強(qiáng)、分割等技術(shù)提取TC4鈦合金金相組織的特征參數(shù)。姜博等人[5]基于圖像處理技術(shù)結(jié)合數(shù)學(xué)形態(tài)學(xué)的方法,對(duì)鑄造鎂合金 AM50進(jìn)行金相分析,得到了晶粒尺寸在整個(gè)試樣上的分布規(guī)律。此外,還有針對(duì)AL-Ti-B中間合金[6]、GCr15軸承鋼[7]等材料進(jìn)行金相圖像識(shí)別的研究。總結(jié)起來,這類方法大都首先基于圖像處理技術(shù)獲取試樣的顏色、紋理、形狀等特征,再根據(jù)特征向量利用神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等方法進(jìn)行圖像分類。雖然圖像識(shí)別準(zhǔn)確率有了一定的提高,但是由于本質(zhì)上依然依賴人工設(shè)計(jì)與選擇特征,難以獲得最接近試樣屬性特征的自然表達(dá),導(dǎo)致訓(xùn)練時(shí)間長(zhǎng)且誤差率較高。
卷積神經(jīng)網(wǎng)絡(luò)(CNN, convolutional neural network)通過引入局部連接、權(quán)值共享、最大池化、非線性激活等方法,允許神經(jīng)網(wǎng)絡(luò)從圖像中自動(dòng)學(xué)習(xí)特征,避免對(duì)圖像進(jìn)行復(fù)雜的邊緣檢測(cè)、閾值分割等前期預(yù)處理,比傳統(tǒng)機(jī)器學(xué)習(xí)方法具有更強(qiáng)大的特征學(xué)習(xí)和表達(dá)能力,因而在圖像分類、目標(biāo)檢測(cè)等方面得到了越來越廣泛應(yīng)用[8-11]。對(duì)于神經(jīng)網(wǎng)絡(luò)模型而言,為獲得更好的精度,需要具有更寬、更深或更高的圖像分辨率,導(dǎo)致模型參數(shù)增多,訓(xùn)練時(shí)間增長(zhǎng),在此背景下各種緊湊型CNN被提出,以尋求在模型精度與計(jì)算成本之間的最佳平衡點(diǎn)。Tan和Le[12]提出的EfficientNet網(wǎng)絡(luò)采用復(fù)合縮放方法,通過平衡網(wǎng)絡(luò)的深度、寬度和圖像分辨率,已被證實(shí)在大幅減少模型參數(shù)量的前提下,可以獲得更好的計(jì)算性能和模型精度。因此,本研究基于EfficientNet網(wǎng)絡(luò)構(gòu)建碳鋼石墨化金相圖像的自動(dòng)評(píng)級(jí)模型,以期實(shí)現(xiàn)通過直接輸入原始圖像,便能快速獲得評(píng)級(jí)結(jié)果。同時(shí),為避免碳鋼石墨化金相圖像樣本過少帶來的模型過擬合問題,采用遷移學(xué)習(xí)及數(shù)據(jù)增強(qiáng)的方法來提高模型的準(zhǔn)確率,以更好地滿足實(shí)際檢驗(yàn)的需要。
根據(jù)《碳鋼石墨化檢驗(yàn)及評(píng)級(jí)標(biāo)準(zhǔn)》(DL/T786-2001)[13]中的規(guī)定,在對(duì)試樣進(jìn)行機(jī)械或化學(xué)拋光后,利用CCD攝像機(jī)通過光學(xué)顯微鏡對(duì)待檢驗(yàn)部位進(jìn)行成像,獲得金相組織圖像,如圖1所示。
圖1 金相圖像采集系統(tǒng)
根據(jù)金相組織中石墨面積百分比、石墨鏈長(zhǎng)度以及石墨形態(tài)將碳鋼材料石墨化程度分為1~4級(jí),分別對(duì)應(yīng)“輕度石墨化”、“明顯石墨化”、“顯著石墨化”和“嚴(yán)重石墨化”,如圖2所示。
圖2 碳鋼材料不同石墨化程度圖
圖像樣本的數(shù)量和質(zhì)量直接影響深度神經(jīng)網(wǎng)絡(luò)的檢測(cè)精度,為獲得具有更好泛化能力的模型,提高分類的準(zhǔn)確率,卷積神經(jīng)網(wǎng)絡(luò)需要大量的訓(xùn)練樣本,而目前碳鋼石墨化圖像并沒有諸如ImageNet等龐大的公共圖像數(shù)據(jù)庫,因此對(duì)試驗(yàn)數(shù)據(jù)集進(jìn)行圖像增強(qiáng),以擴(kuò)充數(shù)據(jù)樣本。
本研究采用現(xiàn)場(chǎng)檢驗(yàn)所收集與積累的450張?zhí)间摻鹣鄨D像作為用于模型的訓(xùn)練和測(cè)試的原始數(shù)據(jù)集,包括正常與不同石墨化程度的圖片。圖像增強(qiáng)的方法為幾何變換(包括旋轉(zhuǎn)、翻轉(zhuǎn)和平移等)、像素調(diào)整(亮度調(diào)節(jié)、對(duì)比度調(diào)節(jié)和添加噪聲等),通過增加數(shù)據(jù)樣本來提高模型的魯棒性與泛化能力,最終樣本圖像被擴(kuò)充為3 210張。再將這些圖像的尺寸歸一化為224×224×3,完成訓(xùn)練樣本集的構(gòu)建。最后按照通用數(shù)據(jù)集劃分策略,將數(shù)據(jù)集隨機(jī)分配成訓(xùn)練集(70%)、測(cè)試集(25%)和驗(yàn)證集(5%) 。
根據(jù)金相組織圖像的特點(diǎn)以及現(xiàn)場(chǎng)檢驗(yàn)所需的快速高精度要求,本研究采用EfficientNet網(wǎng)絡(luò)用于特征提取,構(gòu)建碳鋼石墨化圖像評(píng)級(jí)系統(tǒng)結(jié)構(gòu)如圖3所示。該網(wǎng)絡(luò)在ImageNet數(shù)據(jù)集上獲得了84.4%的Top-1精度和97.1% 的Top-5精度,并且參數(shù)量減少了8.4倍,速度快了6.1倍[12]。
圖3 系統(tǒng)結(jié)構(gòu)圖
首先對(duì)輸入的金相組織圖像進(jìn)行降噪、矯正等預(yù)處理;然后將圖像映射到EfficientNet主干網(wǎng)絡(luò)進(jìn)行特征提??;最后經(jīng)Softmax層輸出石墨化等級(jí)的標(biāo)簽。同時(shí),為了優(yōu)化模型訓(xùn)練效率,將ImageNet數(shù)據(jù)集訓(xùn)練得到的模型參數(shù)作為網(wǎng)絡(luò)的初始化參數(shù),遷移到金相數(shù)據(jù)集上進(jìn)行訓(xùn)練。
在卷積神網(wǎng)絡(luò)中,通過提高網(wǎng)絡(luò)深度(depth)、網(wǎng)絡(luò)寬度(width)和輸入圖像分辨率 (resolution)大小都可以獲得更好的精度。但是三者的組合空間太大,人力難以窮舉。EfficientNet提出基于復(fù)合模型縮放的方法實(shí)現(xiàn)三個(gè)維度上的平衡,使用復(fù)合系數(shù)來從深度、寬度和分辨率三個(gè)維度統(tǒng)一擴(kuò)展網(wǎng)絡(luò),在實(shí)現(xiàn)較高準(zhǔn)確率的同時(shí)又充分節(jié)省計(jì)算資源,如式(1)所示:
(1)
式中,d、w和r分別代表網(wǎng)絡(luò)的深度、寬度和分辨率。α、β和γ分別代表網(wǎng)絡(luò)深度、寬度和分辨率的分配系數(shù),也是需要求解的參數(shù)。φ的大小根據(jù)型可用資源進(jìn)行調(diào)節(jié),對(duì)應(yīng)著消耗資源的大小。β和γ在約束上有平方,是因?yàn)槿绻麑挾然蚍直媛试黾?倍,其計(jì)算量FLOPs增加4倍,而深度增加1倍,其計(jì)算量FLOPs只會(huì)增加2倍。
α、β和γ可以通過網(wǎng)絡(luò)搜索得到最優(yōu)解。EfficientNet以MobileNetV2[14]中的反向殘差結(jié)構(gòu)和壓縮-激勵(lì)優(yōu)化[15]為基礎(chǔ)構(gòu)建 MBConv(mobile inverted bottleneck convolution) 作為網(wǎng)絡(luò)的基本模塊,在3×3或者5×5卷積網(wǎng)絡(luò)前利用1x1卷積升維,之后增加了一個(gè)關(guān)于SE通道的注意力機(jī)制,最后利用1x1卷積降維后增加一個(gè)殘差邊,如圖4所示。在限制目標(biāo)FLOPs和存儲(chǔ)空間的情況下,不同的φ參數(shù)可搜索得到一系列網(wǎng)絡(luò)EfficientNet B0-B7。
圖4 MBConv 結(jié)構(gòu)圖
本文采用 EfficientNet-B0 作為模型的主干網(wǎng)絡(luò),如圖5所示。該網(wǎng)絡(luò)包括16個(gè)MBConv層,2個(gè)Conv層,1個(gè)全局平均池化層(Global average pooling)和1個(gè)FC全連接層,各參數(shù)如表1所示??紤]到模型對(duì)底層特征的依賴,在開始階段只采用步長(zhǎng)為2的卷積操作,未使用最大池化,以減少細(xì)節(jié)特征的丟失。另外,網(wǎng)絡(luò)中的多個(gè)卷積階段采用了5×5的卷積核,是因?yàn)镸BConv5×5的浮點(diǎn)運(yùn)算次數(shù)比MBConv3×3要少,計(jì)算效率較高。
表1 EfficientNet-B0網(wǎng)絡(luò)參數(shù)
在全連接層之后,使用Softmax函數(shù)將網(wǎng)絡(luò)輸出結(jié)果映射為分類概率,如式(2)所示。最后選擇概率最大值作為圖像的分類結(jié)果。
(2)
zj=wj·x+bj
(3)
式中,yi表示softmax輸出的該圖像屬于第i類的概率,x為全連接層的輸入,bj為偏置項(xiàng),wj可視為該圖像屬于第j類的特征權(quán)重,體現(xiàn)的是每維特征的重要程度,通過加權(quán)求和得出計(jì)算結(jié)果,再經(jīng)Softmax函數(shù)轉(zhuǎn)換為概率值。
同時(shí),由于在實(shí)際檢驗(yàn)中,獲取大規(guī)模金相圖像用于模型訓(xùn)練并不現(xiàn)實(shí),因此在模型中,為避免圖像樣本數(shù)量不足而導(dǎo)致網(wǎng)絡(luò)訓(xùn)練過擬合和不穩(wěn)定的問題,采用批標(biāo)準(zhǔn)化(BN,batch normalization)和dropout[16]優(yōu)化方法來減小卷積層之間的依賴,降低部分神經(jīng)元在訓(xùn)練過程中的活性,抑制過擬合的發(fā)生,進(jìn)而提高網(wǎng)絡(luò)的泛化能力,增強(qiáng)模型分類的魯棒性。
卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)訓(xùn)練需要大量的標(biāo)記樣本數(shù)據(jù),而對(duì)于碳鋼石墨化評(píng)估來說,缺少大規(guī)模的金相組織圖像樣本,本文引入遷移學(xué)習(xí)[8]的方法,借助已經(jīng)訓(xùn)練好的模型權(quán)重進(jìn)一步學(xué)習(xí)。ImageNet數(shù)據(jù)集十分龐大,包括120余萬張圖片和1 000個(gè)分類,因此本文將在ImageNet數(shù)據(jù)集上進(jìn)行訓(xùn)練得到預(yù)訓(xùn)練(Pre-trained)權(quán)重,將其作為EfficientNet網(wǎng)絡(luò)的初始參數(shù),然后在此基礎(chǔ)上進(jìn)行參數(shù)微調(diào)(Finetune),使得模型一方面繼承了從ImageNet數(shù)據(jù)集上學(xué)習(xí)到的特征提取能力,另一方面節(jié)省模型訓(xùn)練時(shí)間,提高模型的泛化能力。
碳鋼石墨化評(píng)級(jí)模型使用Python編程語言及PyTorch深度學(xué)習(xí)框架實(shí)現(xiàn),模型訓(xùn)練的硬件環(huán)境為Intel i7 CPU,64G RAM,NVIDIA 2080Ti GPU。
模型訓(xùn)練采用兩種方式進(jìn)行,一種從零開始直接訓(xùn)練,另一種采用預(yù)訓(xùn)練權(quán)重和微調(diào)的方法進(jìn)行遷移訓(xùn)練。遷移訓(xùn)練主要分為兩個(gè)階段:首先加載預(yù)訓(xùn)練權(quán)重,凍結(jié)主干網(wǎng)絡(luò)訓(xùn)練;然后凍結(jié)歸一化層,訓(xùn)練其他的網(wǎng)絡(luò)層。設(shè)置模型訓(xùn)練的超參數(shù)學(xué)習(xí)率為0.001,批尺寸為16,最大迭代數(shù)(epochs)為10。不同訓(xùn)練方法的損失值及準(zhǔn)確率曲線如圖6、7所示。
圖6 訓(xùn)練損失值曲線
圖7 不同訓(xùn)練方法的準(zhǔn)確率曲線
從圖中可以看出,相較于直接訓(xùn)練,利用遷移訓(xùn)練的損失值在迭代482次之后就已收斂并且毛刺波動(dòng)較小,經(jīng)過三輪訓(xùn)練后準(zhǔn)確率也達(dá)到了95.7%。這也進(jìn)一步證明了遷移學(xué)習(xí)能有效提高模型的訓(xùn)練效率。
為準(zhǔn)確分析評(píng)級(jí)模型的性能,除使用準(zhǔn)確率A(Accuracy)作為評(píng)價(jià)指標(biāo)外,針對(duì)每一類采用精確率P(Precision)、召回率R(Recall)以及F1值對(duì)評(píng)價(jià)結(jié)果進(jìn)行全面評(píng)估,具體計(jì)算標(biāo)準(zhǔn)如式(4)~(6)所示,其中F1值是精確率和召回率的調(diào)和均值。上述指標(biāo)的取值范圍均在0~100%之間,并且越大越好。
(4)
(5)
(6)
式中,TPi為樣本實(shí)際屬于i類且模型評(píng)級(jí)為i類;FPi為樣本實(shí)際不屬于i類但模型評(píng)級(jí)為i類;FNi為樣本實(shí)際屬于i類但模型評(píng)級(jí)不為i類。
將測(cè)試集樣本輸入評(píng)級(jí)模型,根據(jù)分類結(jié)果得到混淆矩陣如圖8所示,進(jìn)而計(jì)算出模型處理金相圖像的性能指標(biāo)如表2所示。
圖8 金相圖像評(píng)級(jí)的混淆矩陣
表2 碳鋼石墨化評(píng)級(jí)模型的精度性能指標(biāo)
通過表2可以發(fā)現(xiàn),各類石墨化程度的預(yù)測(cè)精確率在93%以上,召回率在92%之上,整體準(zhǔn)確率達(dá)到了97.01%,滿足碳鋼石墨化現(xiàn)場(chǎng)檢測(cè)的精度要求。
為了進(jìn)一步評(píng)價(jià)模型的實(shí)用性,對(duì)EfficientNet算法處理金相圖像的平均檢測(cè)時(shí)間T、算法的浮點(diǎn)運(yùn)算數(shù)FLOPs和算法的參數(shù)量P及占用內(nèi)存M進(jìn)行統(tǒng)計(jì)分析,以衡量模型的復(fù)雜程度,如表3所示。
表3 碳鋼石墨化評(píng)級(jí)模型的計(jì)算復(fù)雜度指標(biāo)
根據(jù)表3中的數(shù)據(jù),模型在僅需12 MB內(nèi)存的情況下,單幅金相圖像的檢測(cè)延遲時(shí)間為10.27 ms,金相圖像檢測(cè)速度滿足現(xiàn)場(chǎng)檢測(cè)的實(shí)時(shí)性需要。
針對(duì)碳鋼石墨化的智能評(píng)級(jí)問題,基于EfficientNet卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)了應(yīng)用于碳鋼金相圖像的自動(dòng)分類模型。通過數(shù)據(jù)增強(qiáng)的方法,建立了碳鋼石墨化等級(jí)的金相圖像數(shù)據(jù)集。在模型訓(xùn)練階段,引入遷移學(xué)習(xí)方法,縮短了訓(xùn)練時(shí)間。采用測(cè)試數(shù)據(jù)集對(duì)模型的精度與復(fù)雜度進(jìn)行評(píng)價(jià),實(shí)驗(yàn)結(jié)果顯示,在僅需12 MB內(nèi)存的情況下,該模型能夠?qū)崿F(xiàn)碳鋼石墨化分類的準(zhǔn)確率達(dá)到97%以上,單幅金相圖像的檢測(cè)時(shí)間僅為10.27 ms。這說明該模型不僅能夠準(zhǔn)確地對(duì)碳鋼石墨化金相圖像進(jìn)行準(zhǔn)確評(píng)級(jí),還能滿足現(xiàn)場(chǎng)檢驗(yàn)對(duì)實(shí)時(shí)性的要求。在下一步的工作中,將繼續(xù)擴(kuò)充金相圖像數(shù)據(jù)集,提高模型識(shí)別準(zhǔn)確率,同時(shí)將探究如何研制基于移動(dòng)終端的碳鋼石墨化智能評(píng)級(jí)系統(tǒng),提升模型的實(shí)用價(jià)值。