周顯沁,韓震宇,劉成源
(四川大學(xué)機(jī)械工程學(xué)院,成都市,610000)
蠶桑絲綢業(yè)是我國的傳統(tǒng)產(chǎn)業(yè),擁有近5 000年的發(fā)展歷史。目前,我國絲綢工業(yè)年產(chǎn)值超過1 500億元,蠶繭和生絲產(chǎn)量占全球80%以上,在諸多農(nóng)村地區(qū),桑蠶養(yǎng)殖成為當(dāng)?shù)氐闹饕?jīng)濟(jì)來源[1]。在養(yǎng)殖生產(chǎn)過程中,繭絲是通過對蠶繭進(jìn)行繅絲得到,蠶繭質(zhì)量的優(yōu)劣將直接影響繭絲品質(zhì),關(guān)系到繅絲生產(chǎn)的經(jīng)濟(jì)效益。因此,對蠶繭進(jìn)行質(zhì)量檢測實(shí)現(xiàn)蠶繭種類識別具有重要意義。
蠶繭按照其使用價值以及形成原因分為上車?yán)O與下繭,下繭包括有雙宮繭、柴印繭、黃斑繭、畸形繭、薄皮繭等。傳統(tǒng)的檢測方式為人工檢測,通過人眼觀察依據(jù)蠶繭表面顏色、形狀、紋理等特征對蠶繭進(jìn)行分選。該方法存在檢測效率低下、錯檢率高、人工勞動強(qiáng)度大的問題。近年來,得益于圖像處理技術(shù)的廣泛應(yīng)用與深度學(xué)習(xí)理論的不斷發(fā)展,人工智能技術(shù)與農(nóng)業(yè)相關(guān)領(lǐng)域深度結(jié)合,大大提高了生產(chǎn)效率,降低企業(yè)生產(chǎn)成本[2]。在蠶繭識別領(lǐng)域,甘勇[3]采用圖像處理的方式從蠶繭表面顏色、勻凈度等方面進(jìn)行判斷,該方式還需配合目測方式與含水量檢測進(jìn)行綜合判斷。梁軍圣[4]采用改進(jìn)BP神經(jīng)網(wǎng)絡(luò)對蠶繭進(jìn)行分類識別,最終實(shí)現(xiàn)黃斑繭、靠黃繭、雙宮繭的識別正確率為96.8%、96.3%、94.4%。王超[5]采用SE-GoogLeNet網(wǎng)絡(luò)模型對蠶繭數(shù)據(jù)集進(jìn)行訓(xùn)練,最終在測試集上的分類正確率達(dá)到98.3%。
本文提出一種基于改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的蠶繭分類識別方法,針對蠶繭表面特征受光照、外繭衣纏繞等因素影響以及柴印紋理不清晰的問題,采用主成分分析(Principal Components Analysis,PCA)、HSV(Hue,Saturation,Value)顏色空間轉(zhuǎn)換方法進(jìn)行特征加強(qiáng),并對模型優(yōu)化設(shè)計(jì)后進(jìn)行訓(xùn)練,以提高蠶繭識別準(zhǔn)確率與生產(chǎn)效率,為實(shí)際生產(chǎn)環(huán)境中蠶繭自動分選系統(tǒng)提供參考依據(jù)。
本文選用蠶繭樣本為經(jīng)過初步解除繭衣操作后待分選的干繭,結(jié)合行業(yè)標(biāo)準(zhǔn)與企業(yè)實(shí)際生產(chǎn)需求將蠶繭樣本分類為正常繭、柴印繭、色斑繭、畸形繭、雙宮繭5種類型,樣本圖像如圖1所示。樣本數(shù)據(jù)來自于試驗(yàn)圖像采集裝置,其中相機(jī)選用DALSA工業(yè)相機(jī)型號M1600相機(jī),鏡頭為5 mm短焦鏡頭,為還原生產(chǎn)環(huán)境采用室內(nèi)光源。共采集得到圖像樣本500幅,其中,正常繭150幅、色斑繭120幅、柴印繭100幅、雙宮繭80幅、畸形繭50幅。為提高模型計(jì)算速度,采用MATLAB腳本程序?qū)D像像素大小壓縮更改為221 pixel×151 pixel。
(a) 正常繭
(b) 柴印繭
(c) 雙宮繭
(d) 畸形繭
(e) 色斑繭
由于原始采集樣本圖像數(shù)量少,為避免模型過擬合,提高模型泛化能力,采用數(shù)據(jù)增強(qiáng)方式對樣本數(shù)量進(jìn)行擴(kuò)充[6]。本文中樣本的數(shù)據(jù)增強(qiáng)方式有圖像水平垂直翻轉(zhuǎn)、圖像灰度變換、圖像對比度處理、添加隨機(jī)噪聲,利用MATLAB腳本程序完成處理,并對增強(qiáng)圖像進(jìn)行人工篩選,剔除增強(qiáng)失真樣本,得到樣本數(shù)量正常繭600幅、色斑繭428幅、柴印繭374幅、雙宮繭310幅、畸形繭188幅,總計(jì)1 900幅。再將樣本隨機(jī)劃分為訓(xùn)練集、驗(yàn)證集、測試集,其中訓(xùn)練集樣本數(shù)占70%共1 330幅,驗(yàn)證集樣本數(shù)占約15%共300幅,測試集樣本數(shù)占約15%共270幅。
根據(jù)對蠶繭樣本圖像分析得知,其顯現(xiàn)特征主要表現(xiàn)為蠶繭表面紋理、蠶繭色斑、蠶繭外形尺寸等。其中,柴印繭表面紋理為其主要特征,但受到蠶繭外繭衣影響,其紋理通常表現(xiàn)不明顯,對于色斑繭其色斑特征易受到現(xiàn)場光照環(huán)境影響。因此,本文采用主成分分析方法與顏色空間轉(zhuǎn)換方法對樣本特征進(jìn)行增強(qiáng)。
1.3.1 主成分分析
PCA將原圖像按照計(jì)算得到的新特征進(jìn)行映射,新特征間存在不相關(guān)性,以此映射后減少了圖像信息的冗余,突出了圖像主要特征信息,更利于圖像分類,同時降低復(fù)雜度,去除無用噪聲,減少模型計(jì)算量[7-10]。首先將蠶繭樣本v組成樣本集矩陣U。
(1)
式中:m——總共樣本數(shù)量;
n——一個樣本的特征數(shù)量。
再將樣本中每一個特征減去所有樣本對應(yīng)的特征均值ui,得到歸一化處理后的樣本集矩陣U。
(2)
求出樣本集矩陣U的協(xié)方差矩陣E,以描述樣本特征間的相關(guān)性與分散程度。
(3)
對協(xié)方差矩陣進(jìn)行特征值分解,得到所有的特征值與對應(yīng)的特征向量(W1,W2,…,Wn),將特征向量標(biāo)準(zhǔn)化后,組成特征向量矩陣W。將樣本集中的每一個樣本v,通過特征矩陣映射重構(gòu)為新樣本v′。其中,在特征空間下的投影系數(shù)向量
y=WT(v-ui)
(4)
根據(jù)y重構(gòu)出的蠶繭圖像為
v′=Wy+ui
(5)
本文以對柴印繭進(jìn)行主成分分析為例,柴印繭樣本數(shù)量m共374幅,樣本特征維數(shù)n為33 371,通過PCA分析降維到200,即選取特征向量共200個,圖2為前8個蠶繭主成分特征圖。
圖2 柴印繭特征圖
得到柴印繭特征圖后,將所有樣本圖像在特征空間下重構(gòu),圖3為通過PCA重構(gòu)后的某蠶繭圖像與柴印繭平均特征圖。
(a) 彩色圖
(b) PCA圖
(c) 平均特征圖
1.3.2 HSV顏色空間轉(zhuǎn)換
HSV顏色空間是一種更符合人眼特性的模型,是由H(色調(diào))、S(飽和度)、V(亮度)組成。相對RGB顏色空間,其在色彩的表達(dá)上更具優(yōu)勢,H分量表達(dá)了顏色色調(diào)值且不易受到光照環(huán)境的影響[11-13]。因此,將蠶繭圖像轉(zhuǎn)換到HSV顏色空間下的H通道,圖4為色斑繭轉(zhuǎn)換后的H通道圖。
(a) 彩色圖
(b) H通道圖
卷積神經(jīng)網(wǎng)絡(luò)模型是對生物大腦結(jié)構(gòu)的仿照,其權(quán)重共享、局部連接的結(jié)構(gòu)特點(diǎn)使其在圖像處理領(lǐng)域表現(xiàn)十分出色[14-15]。卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)有輸入層、卷積層、激活層、池化層、全連接層、輸出層。本文基于Keras深度學(xué)習(xí)框架搭建一種改進(jìn)卷積神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)模型
2.1.1 卷積層
卷積層(Convolution layers,CL)的作用是通過卷積操作對輸入圖像特征進(jìn)行提取,卷積方式與卷積核的大小數(shù)量將直接影響到模型效果[16-17]。本文模型共使用5個卷積層(Conv1~Conv5),采用普通卷積方式,即將輸入與卷積核之間進(jìn)行點(diǎn)積運(yùn)算。其中,Conv1卷積核數(shù)量16個,Conv2卷積核數(shù)量32個,Conv3卷積核數(shù)量64個,Conv4卷積核數(shù)量128個,Conv5卷積核數(shù)量256個,所有卷積核大小均為3×3。
2.1.2 池化層
池化層(Pooling layer,PL)通過模仿人眼視覺系統(tǒng)對圖像信息進(jìn)行降維,提取出有效的圖像特征,有效地進(jìn)行了特征壓縮[18-19]。通常,池化層與卷積層交替出現(xiàn),以提高特征的魯棒性,減少冗余信息,提高運(yùn)算速度。常用池化方式有Mean-Pooling、Max-Pooling、Stochastic-Pooling。本文模型采用最大池化方法(Max-Pooling),池化大小為2×2,步長為2。最大池化方法對池化框內(nèi)元素求取最大值,這能有效減少卷積過程造成的均值誤差偏移,更利于蠶繭表面紋理特征信息的保留。
2.1.3 激活函數(shù)與輸出方式
激活函數(shù)為神經(jīng)網(wǎng)絡(luò)模型增加了非線性,常用的激活函數(shù)有Sigmoid、Tanh、ReLU函數(shù)等,其中Sigmoid、Tanh等飽和函數(shù)容易出現(xiàn)梯度消失現(xiàn)象[20]。為避免此類問題,本文模型激活函數(shù)選取非飽和函數(shù)ReLU函數(shù)加快網(wǎng)絡(luò)收斂。ReLU函數(shù)表達(dá)式如下
(6)
式中:x——輸入單元;
f(x)——激活作用后輸出。
輸出層在全連接層(Fully connected layers,FCL)對輸出單元概率輸出完成分類,本文模型中包含4個全連接層(FCL1~FCL4),神經(jīng)元個數(shù)分別為512,218,32,5。在輸出層采用Softmax函數(shù)得到最大概率,從而給出分類結(jié)果。
2.2.1 損失函數(shù)與優(yōu)化器選擇
本文模型中損失函數(shù)使用交叉熵?fù)p失函數(shù),配合Softmax輸出函數(shù),使得權(quán)值更新與誤差大小成正比,可加快收斂速度。交叉熵?fù)p失函數(shù)
(7)
式中:M——樣本數(shù)量;
N——分類類別數(shù);
pij——真實(shí)值中第i個標(biāo)簽第j個類別的概率;
qij——預(yù)測值中第i個標(biāo)簽第j個類別的概率。
本文模型中優(yōu)化器選擇Adam優(yōu)化,Adam算法可自適應(yīng)學(xué)習(xí)率,基于訓(xùn)練數(shù)據(jù)迭代地更新權(quán)重,本文將默認(rèn)學(xué)習(xí)率設(shè)置為0.000 01。
2.2.2 L2正則化與Dropout層
神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練中由于樣本數(shù)量過少、模型過于復(fù)雜、訓(xùn)練集樣本與測試集樣本噪聲分布不一致等原因會出現(xiàn)過擬合現(xiàn)象,導(dǎo)致模型的泛化能力差,實(shí)際分類正確率低[21]。因此,本文通過對損失函數(shù)加入正則項(xiàng)并在模型中添加Dropout層,以實(shí)現(xiàn)模型優(yōu)化,減少過擬合現(xiàn)象。
本文中給損失函數(shù)加入L2正則項(xiàng),損失函數(shù)C0變?yōu)镃,表達(dá)式如式(8)所示。
(8)
式中:k——樣本總數(shù);
ω——神經(jīng)網(wǎng)絡(luò)中的全部權(quán)重;
λ——正則化參數(shù)。
在對權(quán)重的更新過程中,加入正則化項(xiàng)后權(quán)重的更新變?yōu)?/p>
(9)
式中:η——學(xué)習(xí)率。
可以看出,在加入正則項(xiàng)后的權(quán)重更新時,使得一些接近于0的權(quán)重變得幾乎等于0,繼而削弱了部分神經(jīng)元的影響,起到減少過擬合的作用。
Dropout[22]是在訓(xùn)練過程中隨機(jī)丟棄部分神經(jīng)元,在原始網(wǎng)絡(luò)中采樣形成一個不同的子網(wǎng)絡(luò),最終權(quán)重由不同訓(xùn)練過程中的權(quán)重結(jié)果平均得到,從而減少噪聲影響,避免過擬合現(xiàn)象。本文中模型在全連接層FCL1后加入Dropout層,將參數(shù)值設(shè)定為0.2。
在CNN網(wǎng)絡(luò)中,超參數(shù)會影響到模型是否收斂、收斂速度、訓(xùn)練時間等,對模型性能的優(yōu)劣有著至關(guān)重要的影響[23]。本文中將對模型學(xué)習(xí)率、批量大小進(jìn)行優(yōu)化設(shè)計(jì)。
3.1.1 學(xué)習(xí)率優(yōu)化選擇
本文中模型優(yōu)化器選擇為Adam算法,該算法中默認(rèn)學(xué)習(xí)率的選擇將影響模型收斂與否,當(dāng)學(xué)習(xí)率過大時模型將不會收斂,當(dāng)學(xué)習(xí)率較大時模型訓(xùn)練過程振蕩,當(dāng)學(xué)習(xí)率過小則會增加訓(xùn)練時間。本文依次選取0.01、0.001、0.000 1、0.000 01大小學(xué)習(xí)率訓(xùn)練模型,得到訓(xùn)練集準(zhǔn)確率、驗(yàn)證集損失如圖6所示。
(a) 訓(xùn)練集準(zhǔn)確率
(b) 驗(yàn)證集損失大小
從訓(xùn)練集準(zhǔn)確率來看,學(xué)習(xí)率為0.01時模型不收斂,當(dāng)學(xué)習(xí)率為0.001、0.000 1、0.000 01時模型均收斂,但學(xué)習(xí)率越大收斂速度越慢。從驗(yàn)證集的損失大小來看,當(dāng)學(xué)習(xí)率為0.001與0.000 1時模型訓(xùn)練過程振蕩明顯,因此最終選取模型學(xué)習(xí)率為0.000 01。
3.1.2 批次大小優(yōu)化選擇
CNN網(wǎng)絡(luò)訓(xùn)練批次越小模型收斂難度越大,訓(xùn)練時間越長,對設(shè)備內(nèi)存消耗越大,適當(dāng)增大批次可減少訓(xùn)練過程中的振蕩,得到更優(yōu)的模型性能。由于訓(xùn)練樣本數(shù)量較少,模型訓(xùn)練批次依次選取4、8、14、18,結(jié)果如圖7所示。
(a) 訓(xùn)練集準(zhǔn)確率
(b) 驗(yàn)證集損失大小
如圖7(a)所示,當(dāng)批次大小越大時收斂越慢,圖中批次大小為18時,收斂速度最慢。如圖7(b)所示,當(dāng)批次大小越小時訓(xùn)練過程振蕩現(xiàn)象越明顯,圖中批次大小為4時,模型訓(xùn)練過程振蕩最嚴(yán)重。因此本文中模型訓(xùn)練批次大小選擇為14。
本文選取目前主流卷積神經(jīng)網(wǎng)絡(luò)模型AlexNet、VGG16、ResNet對蠶繭樣本進(jìn)行訓(xùn)練,并與本文神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效果進(jìn)行對比,試驗(yàn)對比數(shù)據(jù)如表1所示。從表1中得知,本文設(shè)計(jì)的網(wǎng)絡(luò)模型對蠶繭圖像具有顯著的針對性訓(xùn)練效果,訓(xùn)練集準(zhǔn)確率為100%,驗(yàn)證集準(zhǔn)確率達(dá)到95%。AlexNet由于模型簡單訓(xùn)練效果不佳,識別準(zhǔn)確率低,其驗(yàn)證集與訓(xùn)練集準(zhǔn)確率分別只有83%、82%。VGG網(wǎng)絡(luò)與ResNet網(wǎng)絡(luò)由于模型復(fù)雜,訓(xùn)練后存在明顯的過擬合現(xiàn)象,VGG16網(wǎng)絡(luò)驗(yàn)證集準(zhǔn)確率僅有88%,ResNet網(wǎng)絡(luò)驗(yàn)證集準(zhǔn)確率僅有92%。雖然本文設(shè)計(jì)網(wǎng)絡(luò)的平均訓(xùn)練時間較長,但其具有更優(yōu)的識別效果,綜合對比下,其在實(shí)際應(yīng)用環(huán)境中性能最佳。
表1 不同神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練效果對比Tab. 1 Comparison of training effects of different neural network models
蠶繭圖像由于其表面繭絲纏繞、紋理不清晰等因素導(dǎo)致特征不明顯,尤其是柴印繭等以表面紋理為主要特征類型的蠶繭,該類蠶繭在神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練中分類效果不佳。因此,本文對蠶繭圖像采用主成分分析處理與HSV顏色空間轉(zhuǎn)換,將蠶繭灰度圖、主成分分析圖、HSV顏色空間H通道圖作為模型輸入層代替RGB彩色圖,并進(jìn)行試驗(yàn)驗(yàn)證圖像處理后模型訓(xùn)練效果。
本文通過混淆矩陣[24]計(jì)算模型評價指標(biāo),多分類混淆矩陣中TP表示該類中通過模型正確預(yù)測的樣本數(shù)量,FP表示非該類樣本通過模型錯誤預(yù)測為該類的樣本數(shù)量,TN表示非該類樣本被模型正確預(yù)測為其他類的樣本數(shù)量,FN表示該類樣本被模型錯誤預(yù)測為其他類的樣本數(shù)量,主要模型評價指標(biāo)有準(zhǔn)確率Accuracy、精確率Precision、查全率Recall、F1得分(F1-Score),則各指標(biāo)計(jì)算方式如下。
(10)
(11)
(12)
(13)
式中:Ncorrect——通過模型全部預(yù)測正確的樣本數(shù)量;
Ntotal——全部樣本數(shù)量。
分別將RGB彩色圖像與圖像處理后的蠶繭圖像輸入模型輸入層,得到混淆矩陣如圖8所示,其中每一行代表蠶繭實(shí)際類別,每一列代表蠶繭通過模型預(yù)測的類別,圖中概率值表示模型的預(yù)測概率。從混淆矩陣可以看出,經(jīng)過圖像處理前后的蠶繭圖像均能通過模型較準(zhǔn)確地實(shí)現(xiàn)分類,識別概率均分布在對角線上。其中,經(jīng)過圖像處理前的柴印繭與色斑繭的識別準(zhǔn)確率分別為82.61%、96%,經(jīng)過圖像處理后的柴印繭與色斑繭的識別準(zhǔn)確率提高到了93.55%、100%,說明主成分分析與顏色空間轉(zhuǎn)換分別對柴印繭與色斑繭表面特征起到加強(qiáng)作用,更利于神經(jīng)網(wǎng)絡(luò)訓(xùn)練識別。但畸形繭在經(jīng)過圖像處理后識別準(zhǔn)確率下降到87.5%,是由于部分被錯誤識別成柴印繭,但由于實(shí)際生產(chǎn)中畸形繭數(shù)量較少,并且其與柴印繭區(qū)別要求不高,因而對實(shí)際生產(chǎn)過程影響不大。因此,本文中圖像處理過程對柴印繭與色斑繭的識別性能有顯著提升作用,且對其他類別的蠶繭識別影響不大。
(a) 圖像處理后蠶繭圖模型預(yù)測的混淆矩陣
(b) RGB彩色蠶繭圖模型預(yù)測的混淆矩陣
從混淆矩陣中可計(jì)算出模型性能評價指標(biāo),其中精確率表示了所有被預(yù)測為該類的樣本中實(shí)際為該類樣本所占的比例,查全率表示了所有被預(yù)測為該類的樣本占該類樣本總體數(shù)量的比例,在蠶繭識別分類問題中,希望能盡可能多得正確分類,即分類中的正確比例,因此,在模型評價指標(biāo)中更關(guān)心精確率的大小。從表2中得知,在經(jīng)過圖像處理后,正常繭的精確率從93%提升到96%,色斑繭的精確率從92%提升到95%,雙宮繭與畸形繭均為100%,柴印繭精確率從96%下降到93%,可見除柴印繭外,正常繭與色斑繭的識別精確率均得到提升。為了更好地評價模型性能,提出F1-Score,其綜合了精確率與查全率,從表2中得知,經(jīng)過圖像處理后正常繭F1-Score保持不變?yōu)?6%,柴印繭F1-Score從90%提升到93%,色斑繭F1-Score從94%提升到97%,雙宮繭F1-Score保持不變?yōu)?00%,畸形繭F1-Score從100%下降到93%,可見除畸形繭外,正常繭、柴印繭、色斑繭的識別F1-Score均得到提升,而畸形繭的數(shù)量占少數(shù),因此,進(jìn)行過圖像處理后的蠶繭圖像使得神經(jīng)網(wǎng)絡(luò)模型性能更優(yōu),在實(shí)際生產(chǎn)過程中具有更高的實(shí)用價值。
表2 圖像處理前后模型性能評價指標(biāo)Tab. 2 Model performance evaluation index before and after image processing
1) 本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)模型用于桑蠶蠶繭識別分類,共5層卷積層、5層池化層、4層全連接層,選擇Softmax輸出函數(shù),Adma優(yōu)化算法,并采用L2正則化與添加Dropout層優(yōu)化模型減少過擬合。試驗(yàn)表明,該模型分類平均正確率達(dá)到95%,能有效實(shí)現(xiàn)蠶繭分類。
2) 針對蠶繭受繭衣纏繞導(dǎo)致紋理不清晰、受光照不均勻?qū)е律呋叶炔痪膯栴},本文分別采用主成分分析方法與顏色空間轉(zhuǎn)換方法進(jìn)行蠶繭特征增強(qiáng)。試驗(yàn)表明,經(jīng)過圖像處理方法后的蠶繭圖像更利于模型訓(xùn)練與識別,最終柴印繭分類準(zhǔn)確率從86.21%提升到93.55%,色斑繭分類準(zhǔn)確率從96%提升到100%,且模型整體識別性能得到提升。
3) 對模型進(jìn)行性能評價,使用F1-Score多分類評價指標(biāo),圖像處理前正常繭F1-Score為96%、柴印繭F1-Score為90%、色斑繭F1-Score為94%、雙宮繭F1-Score為100%、畸形繭F1-Score為100%;經(jīng)過圖像處理后正常繭F1-Score為96%、柴印繭F1-Score為93%、色斑繭F1-Score為97%、雙宮繭F1-Score為100%、畸形繭F1-Score為93%。數(shù)據(jù)表明該模型能有效應(yīng)用在實(shí)際生產(chǎn)環(huán)境中,滿足蠶繭識別分類需求。