齊玥程,王 燕*,李 麗,熊攀攀
(1.云南省煙草煙葉公司,云南昆明 650000;2.上海創(chuàng)和億電子科技發(fā)展有限公司,上海 200082)
烤煙收購和生產(chǎn)過程中最重要的一環(huán)就是對煙葉等級進(jìn)行判定,煙葉等級判定的準(zhǔn)確性直接影響煙葉后續(xù)的加工和卷煙產(chǎn)品的質(zhì)量[1]。國內(nèi)的煙草公司多是人工進(jìn)行煙葉分級,耗時又耗力。分級人員對于分級知識掌握的多少以及分級人員自身主觀性等原因都會影響煙葉成品的質(zhì)量,進(jìn)而影響經(jīng)濟(jì)效益[2],這使得煙葉準(zhǔn)確分級尤為重要。
隨著計算機(jī)視覺科技的發(fā)達(dá)與完善,這門技術(shù)越來越多地應(yīng)用于現(xiàn)實生活的各個領(lǐng)域,也越來越多地運用到煙葉分級當(dāng)中[3]。張惠民等[4]通過煙葉顏色、紋理、形狀和葉脈等特征,構(gòu)建了煙葉模型庫,進(jìn)行了煙葉分級模型的數(shù)學(xué)說明;趙世民等[5]提出一種基于煙葉顏色、形狀、紋理特征和煙葉外觀品質(zhì)因素結(jié)合的煙葉分級方法;劉劍君等[6]發(fā)現(xiàn)煙葉的紅外光譜信息可以作為煙葉分級的特征,開拓了一條新的煙葉分級研究思路;韓力群等[7]應(yīng)用人工智能方法開發(fā)了一種擬腦智能系統(tǒng),煙葉分級能力與人工分級相當(dāng)。以上研究都是基于人工提取煙葉特征,再用機(jī)器學(xué)習(xí)算法進(jìn)行煙葉識別,這類方法特征提取困難、模型優(yōu)化復(fù)雜,難以適用于不同應(yīng)用場景。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的圖像識別受到了極大的關(guān)注,CNN能夠自動提取特征進(jìn)行學(xué)習(xí),并與標(biāo)簽進(jìn)行擬合,具備分類精度高、魯棒性好等優(yōu)點。王士鑫等[8]選取Inception-V3網(wǎng)絡(luò),并使用遷移學(xué)習(xí)訓(xùn)練了煙葉分級模型;魯夢瑤等[9]改進(jìn)了LeNet-5網(wǎng)絡(luò),使用煙葉近紅外光譜特征來訓(xùn)練煙葉分級模型。
基于使用CNN提取煙葉特征并進(jìn)行煙葉等級判定,筆者提出一種基于深度學(xué)習(xí)的在線煙葉等級判定方法,采用ResNeXt作為基礎(chǔ)網(wǎng)絡(luò),引入了注意力機(jī)制和特征融合模塊[10],通過融合多尺度煙葉特征,提高煙葉等級分類性能。
1.1 煙葉樣本研究對象采用云南省文山市地區(qū)2021年初烤后的云煙87煙葉,煙葉由多名經(jīng)驗豐富的高級分選工嚴(yán)格挑選,最后由分級專家進(jìn)行驗證,保證煙葉部位等級的準(zhǔn)確性。最終挑選上部橘黃一級煙(B1F)、上部橘黃二級煙(B2F)、上部橘黃三級煙(B3F)、中部橘黃一級煙(C1F)、中部橘黃二級煙(C2F)和中部橘黃三級煙(C3F)共6個等級煙葉,采集圖像共4 574張,其中3 433張用作訓(xùn)練集,687張用作驗證集,454張用做測試集。訓(xùn)練集中每個等級煙葉圖像數(shù)量分別為675、576、586、452、463、681張,圖像分辨率為2 852*2 700,文件格式為BMP。
1.2 圖像采集系統(tǒng)設(shè)計并定制了一套圖像采集系統(tǒng),用于獲取高質(zhì)量煙葉圖像。通過防光罩將拍攝區(qū)域與外界隔離,同時將光源搭建在防光罩內(nèi),確保拍攝區(qū)域光照穩(wěn)定。相機(jī)采用大恒ME2P-2621-4GM-P型號相機(jī),像素2 600萬;鏡頭為JD1216A;光源為BNS-GSB700-50-HW。采集的圖像通過高速以太網(wǎng)傳輸?shù)接嬎銠C(jī)。
1.3 圖像預(yù)處理為了避免傳送帶反光以及部分殘缺小面積煙葉對煙葉等級判定造成影響,需要對圖像進(jìn)行去背景和去除小面積煙葉處理。首先,將原始圖像進(jìn)行去背景處理,在RGB顏色空間,將像素位置的像素值置為0,得到去除皮帶背景的圖像。然后,將圖像轉(zhuǎn)換為灰度圖后再轉(zhuǎn)化為二值圖,獲取所有物體的輪廓邊界,去除面積小于圖像像素面積20%的部分,這樣可以減少不完整的煙葉或者小物體對于煙葉等級判定的影響。最后,將圖像resize到尺寸,用于訓(xùn)練模型。預(yù)處理過程的圖像如圖1所示。
圖1 預(yù)處理過程的圖像Fig.1 Images of the pre-processing process
圖2 通過數(shù)據(jù)增廣生成的圖像Fig.2 Images processed by data augmentation
1.4 數(shù)據(jù)增廣為了防止訓(xùn)練時由于圖像數(shù)據(jù)量不足導(dǎo)致模型過擬合,采用數(shù)據(jù)增廣的方式擴(kuò)增煙葉圖像數(shù)據(jù)量,以提高模型的泛化能力[11]??紤]到相鄰部位等級的煙葉顏色差異小,若強(qiáng)行改變煙葉顏色、亮度、飽和度等參數(shù)可能影響煙葉等級判定的準(zhǔn)確性,該研究采用隨機(jī)旋轉(zhuǎn)、平移、鏡像的組合方式生成圖像,生成的煙葉圖像如圖2所示。
2.1 ResNeXt網(wǎng)絡(luò)ResNeXt[12]是借鑒了Inception[13]網(wǎng)絡(luò)的思想來對ResNet網(wǎng)絡(luò)的改進(jìn),它使用了分組卷積,先對feature map進(jìn)行切片操作分成多組特征,然后分別對每組特征再進(jìn)行卷積操作,相對于普通卷積來說,這樣能夠減少卷積的參數(shù)量。ResNeXt舍棄了人工設(shè)計復(fù)雜神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的方式,而是在網(wǎng)絡(luò)的每個分支中使用同樣的拓?fù)浣Y(jié)構(gòu),最后再與殘差網(wǎng)絡(luò)結(jié)合,表達(dá)式為:
(1)
式中,C為分組的個數(shù),Ti是一系列卷積操作。如圖3所示。
圖3 ResNeXt模塊組結(jié)構(gòu)Fig.3 ResNeXt module group structure
2.2 SE(Squeeze-and-Excitation)模塊SE[14-15]模塊主要包含了2個部分,Squeeze部分和Excitation部分。如圖4所示。
Squeeze和Excitation是一個計算單元,適用任何映射Ftr∶X→U,X∈RH′×W′×C′,U∈RH×W×C,以Ftr作為卷積運算符,V=[v1,v2,…,vc]表示卷積核,其中表示第c個卷積核。那么輸出U=[u1,u2,…,uc]:
(2)
Squeeze部分實際是使用全局平均池化來實現(xiàn)的,將feature map每個通道上的所有特征全都編碼成一個特征,表達(dá)式如下:
(3)
Excitation部分實際使用了2個全連接層,一個全連接層的主要作用是為了降維,而后對降維后的特征使用ReLU函數(shù)激活,之后再通過一個全連接層將維度進(jìn)行恢復(fù),表達(dá)式如下:
s=Fex(z,W)=σ(g,(z,W))=σ(W2ReLU(W1z))
(4)
圖4 SE模塊結(jié)構(gòu)Fig.4 SE modular structure
最后將得到的激活值乘以原始特征,表達(dá)式如下:
(5)
在ResNeXt網(wǎng)絡(luò)的殘差結(jié)構(gòu)中嵌入SE模塊,如圖5所示。
圖5 嵌入SE模塊的殘差結(jié)構(gòu)Fig.5 Residual structure of embedded SE module
2.3 FPN+PAN模塊在傳統(tǒng)CNN中,圖像經(jīng)過多層特征提取后,得到豐富的高級語義特征,但是圖像的分辨率變得越來越小,底層細(xì)節(jié)信息缺失嚴(yán)重,導(dǎo)致對細(xì)節(jié)的感知能力較差,而低層特征分辨率高,包含更多的細(xì)節(jié)特征,但噪聲多、語義性低。若直接使用這些特征則不利于煙葉圖像分類,為了解決這個問題,引入FPN+PAN結(jié)構(gòu)。FPN(Feature Pyramid Networks)[16]呈現(xiàn)金字塔形式,對于不同的CNN特征提取層,將多個尺度的特征進(jìn)行了合并,并將高層次的語義特征與低層次的高分辨率細(xì)節(jié)特征進(jìn)行了融合。而PAN(Path Aggregation Network)[17]更多的是將細(xì)節(jié)特征進(jìn)行融合并傳遞。采用FPN+PAN的雙塔結(jié)構(gòu),使得提取到的煙葉特征更加的充分。
FPN+PAN的雙塔結(jié)構(gòu)如圖6所示。該結(jié)構(gòu)分為自下而上、橫向連接、自上而下、橫向連接和自下而上5個路徑。左側(cè)自下而上的路徑是CNN特征提取的過程,通過卷積和池化逐級提取圖像特征。左側(cè)橫向連接采用的卷積核改變對應(yīng)階段特征的通道數(shù)。中間自上而下的路徑對高級語義特征采用2倍上采樣,然后與對應(yīng)的橫向連接輸出逐像素點相加,進(jìn)行多尺度特征融合。右側(cè)橫向連接采用的卷積核對融合后的特征圖進(jìn)行卷積,消除FPN上采樣過程中的混疊效應(yīng)。右側(cè)自下而上路徑進(jìn)一步將細(xì)節(jié)特征進(jìn)行了融合,使得特征表達(dá)得更加充分。
圖6 FPN+PAN結(jié)構(gòu)Fig.6 FPN+PAN structure
2.4 基于FPN-PAN-SE-ResNeXt的煙葉等級判定算法選用ResNeXt50作為基礎(chǔ)網(wǎng)絡(luò),引入注意力機(jī)制SE模塊,將各通道特征信息進(jìn)行融合,增強(qiáng)重要通道的特征信息,采用FPN+PAN對網(wǎng)絡(luò)提取到的不同層級的特征進(jìn)行融合,豐富了特征信息,設(shè)計了一種基于多尺度特征融合的注意力機(jī)制的煙葉等級判定方法,該方法的整體網(wǎng)絡(luò)結(jié)構(gòu)框架如圖7所示。主要分為特征提取模塊和分類模塊。
圖7 煙葉分級算法整體框架Fig.7 Overall framework of tobacco leaf grading algorithm
如圖7所示,將煙葉圖像縮放到尺寸大小,送入特征提取模塊。在特征提取模塊中,首先使用嵌入SE模塊的ResNeXt50網(wǎng)絡(luò)逐級提取特征,對應(yīng)的特征圖用L0、L1、L2、L3和L4表示,特征圖大小分別為(224×224,64)、(112×112,256)、(56×56,512)、(28×28,1 024)、(14×14,2 048)。隨著網(wǎng)絡(luò)層數(shù)的加深,感受野變得越來越大,特征圖逐漸變小,淺層細(xì)節(jié)特征逐漸減少,抽象特征逐漸增強(qiáng)。在一般的CNN分類任務(wù)中,由于L4已經(jīng)具有較高的語義特征,往往會直接作為最后的特征圖,進(jìn)入分類模塊,然而L4特征圖大小只有14×14,失去了大量的細(xì)節(jié)特征,用于煙葉圖像分類效果不好,故而引入了FPN+PAN結(jié)構(gòu)。FPN通過橫向連接和自上而下的鏈路,將SE-ResNeXt50網(wǎng)絡(luò)提取到的不同分辨率、不同語義信息的特征進(jìn)行了融合,得到不同尺度融合后的特征圖F1、F2、F3和F4,分別為112×112 256、56×56 256、28×28 256、14×14 256。PAN通過橫向連接和自下而上的鏈路,進(jìn)一步將FPN得到的多尺度特征進(jìn)行融合,豐富了特征的表達(dá)能力,得到特征圖P1、P2、P3和P4,分別為112×112 256、56×56 256、28×28 256、14×14 256。然后,對得到的4個特征圖分別進(jìn)行全局平均池化(Avg pool)后進(jìn)行Concat得到的特征圖,接著經(jīng)過2個全連接Fc1(1×1×2 048)和Fc2(1×1×6),完成煙葉圖像的特征提取。
在分類模塊中,對最終得到的特征使用Softmax分類器進(jìn)行類別概率映射,得到煙葉分類等級。Softmax分類器公式如下:
(6)
式中,zi為第i個節(jié)點的輸出值,C為類別總數(shù)。
3.1 試驗環(huán)境試驗?zāi)P陀?xùn)練和測試均在Window 10專業(yè)版系統(tǒng)下進(jìn)行,使用GPU版本的Tensorflow 2.4深度學(xué)習(xí)框架。計算機(jī)硬件配置見表1。
表1 計算機(jī)硬件配置Table 1 Computer hardware configuration
3.2 模型訓(xùn)練將數(shù)據(jù)集按照75∶15∶10的比例劃分為訓(xùn)練集、驗證集和測試集,然后對訓(xùn)練集使用數(shù)據(jù)增廣擴(kuò)充數(shù)據(jù),用以擬合模型。在模型訓(xùn)練的過程中,用驗證集監(jiān)控模型性能,輔助模型參數(shù)調(diào)整。模型訓(xùn)練結(jié)束后,選擇準(zhǔn)確率最高的模型,在測試集上進(jìn)行測試,評估模型的泛化能力。
使用遷移學(xué)習(xí),加載ImageNet預(yù)訓(xùn)練權(quán)重進(jìn)行訓(xùn)練,訓(xùn)練輪數(shù)為300,批處理大小為16,全連接層Dropout系數(shù)為0.5,學(xué)習(xí)率最小為1×10-6,最大為1×10-3,隨訓(xùn)練輪數(shù)呈周期性變化,如圖8所示。訓(xùn)練采用交叉熵計算分類損失,使用Adam算法對損失函數(shù)進(jìn)行優(yōu)化,交叉熵?fù)p失函數(shù)公式:
(7)
式中,F(xiàn)(p,q)表示交叉熵,p表示真實類別標(biāo)簽的概率分布,q表示網(wǎng)絡(luò)實際輸出的概率分布。
圖8 學(xué)習(xí)率隨訓(xùn)練輪數(shù)變化Fig.8 Changes of learning rate with training rounds
3.3 評價標(biāo)準(zhǔn)對于訓(xùn)練好的模型,需要采用一種方法去評判模型性能的優(yōu)劣,從而來選擇性能良好的模型。該研究使用分類任務(wù)中常用的幾種評價指標(biāo):準(zhǔn)確率、精確率和召回率。
3.3.1準(zhǔn)確率(Accuracy)。準(zhǔn)確率指的是所有樣本中正確分類樣本所占的比例,公式如下:
(8)
式中,TP表示真正例,是指分類為正的正樣本;FP表示假正例,是指分類為正的負(fù)樣本;FN表示假負(fù)例,是指分類為負(fù)的正樣本;TN表示正負(fù)例,是指分類為負(fù)的負(fù)樣本。
3.3.2精確率(Precision)。精確率是關(guān)于估計結(jié)果方面的,是指在各種被分類為正的樣本中實際類別也為正的樣本的概率,公式如下:
(9)
3.3.3召回率(Recall)。召回率是關(guān)于原始樣本方面的,是指在實際類別為正的樣本中被分類為正樣本的概率,公式如下:
(10)
3.4 模型結(jié)果與分析使用454張煙葉樣本圖像對模型進(jìn)行測試,并訓(xùn)練了ResNet50、ResNeXt50和SE-ResNeXt50共3個模型與本文提出的FPN+PAN-SE-ResNeXt50模型進(jìn)行對比,評價各個模型的性能差異,測試結(jié)果如表2所示。
從表2可以看出,ResNeXt50模型在測試集上的表現(xiàn)優(yōu)于ResNet50模型,準(zhǔn)確率高出6.0%,表明ResNeXt50模型具有更強(qiáng)的表達(dá)能力,這也是選擇ResNeXt50作為基礎(chǔ)網(wǎng)絡(luò)的原因。加入注意力機(jī)制SE模塊后,模型的分類效果得到顯著的提升,準(zhǔn)確率相較于無SE模塊提升了5.0%。對于煙葉分級這種細(xì)粒度分類的任務(wù),SE模塊能夠加強(qiáng)特征圖各個通道之間信息的學(xué)習(xí),增強(qiáng)對重要通道信息的感知能力,抑制不重要通道的冗余信息,以此來提高模型的分類能力。
由于傳統(tǒng)CNN的特性,特征層級越高表現(xiàn)得越抽象,特征圖分辨率降低,丟掉很多細(xì)節(jié)特征,進(jìn)而影響分類性能。引入FPN+PAN雙塔結(jié)構(gòu),將高層抽象的語義特征向下傳遞與低層細(xì)節(jié)特征進(jìn)行多尺度融合,再經(jīng)過PAN將多尺度特征進(jìn)一步融合,豐富特征的表達(dá)能力。從表2可以看出,加入FPN+PAN結(jié)構(gòu)的SE-ResNeXt50模型分類準(zhǔn)確度達(dá)到了92.8%,相比SE-ResNeXt50模型提高了4.0%,相較于僅采用經(jīng)典CNN網(wǎng)絡(luò)ResNet50模型,準(zhǔn)確率提高了15.0%,充分證明了FPN+PAN結(jié)構(gòu)特征融合的能力。
表2 模型測試結(jié)果Table 2 Model test results
煙葉等級細(xì)分類別多、級間差異小、自動分級效果不理想,人工分級又耗時耗力且受限于工人分級水平,針對這些問題,提出一種基于深度學(xué)習(xí)的在線煙葉等級判定方法,能夠準(zhǔn)確快速、客觀地對煙葉進(jìn)行分類。
(1)注意力機(jī)制SE模塊能夠融合不同通道之間的信息,關(guān)注重點通道,提高分類性能。
(2)FPN+PAN模塊對高層語義特征和低層細(xì)節(jié)特征進(jìn)行多尺度特征融合,可以豐富模型表征能力。
(3)該研究提出的煙葉分級方法分類正確率達(dá)到92.8%,比經(jīng)典CNN網(wǎng)絡(luò)ResNet50模型高出15.0%,具有較好的精度。