高雨亮, 徐向英, 章永龍, 顧逸楓, 張力峰, 李 斌
(揚(yáng)州大學(xué)信息工程學(xué)院, 江蘇 揚(yáng)州 225127)
隨著智慧農(nóng)業(yè)的發(fā)展, 圖像處理技術(shù)在傳統(tǒng)農(nóng)業(yè)中的應(yīng)用頗有成效[1].疫情當(dāng)下, 許多國(guó)家停止出口化肥和糧食, 全球糧食危機(jī)風(fēng)險(xiǎn)增大, 對(duì)水稻種植的保障要求也越來(lái)越高.隨著人工智能的熱潮興起,利用深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行水稻病蟲(chóng)害的圖像分類識(shí)別成為研究熱點(diǎn)[2].黃雙萍等[3]使用GoogLeNet模型檢測(cè)水稻穗瘟病, 準(zhǔn)確率達(dá)92%; 范春全等[4]利用基于ResNet50的遷移學(xué)習(xí)模型在樣本較少的情況下完成識(shí)別; 王敬賢[5]通過(guò)遷移學(xué)習(xí)和多個(gè)神經(jīng)網(wǎng)絡(luò)模型融合的方法識(shí)別玉米和雜草種類, 準(zhǔn)確率達(dá)89.5%; Jiang等[6]使用深度卷積網(wǎng)絡(luò)和支持向量機(jī)進(jìn)行水稻葉病害識(shí)別,準(zhǔn)確率達(dá)96.8%; Knoll等[7]使用卷積神經(jīng)網(wǎng)絡(luò)識(shí)別不同生長(zhǎng)階段的雜草和作物,準(zhǔn)確率達(dá)98.0%; Rahman等[8]使用兩階段小型卷積神經(jīng)網(wǎng)絡(luò)識(shí)別水稻病蟲(chóng)害,準(zhǔn)確率達(dá)93.3%; Ayan等[9]通過(guò)結(jié)合多種卷積神經(jīng)網(wǎng)絡(luò)來(lái)識(shí)別蟲(chóng)害,準(zhǔn)確率達(dá)98.8%.上述深度學(xué)習(xí)網(wǎng)絡(luò)的泛化能力較強(qiáng)且精度較高, 但由于使用的傳統(tǒng)深度學(xué)習(xí)模型缺乏注意力權(quán)重機(jī)制,導(dǎo)致準(zhǔn)確度偏低.本文擬針對(duì)水稻病蟲(chóng)害圖像分類問(wèn)題, 將Inception-ResNetV1模塊[10]與分組注意力機(jī)制(shuffle attention, SA)[11]相結(jié)合, 提出一種新的分組殘差(SA-Inception-ResNetV1, SIR)識(shí)別算法, 以期使得模型更好地關(guān)注病蟲(chóng)害的圖像特征, 提高識(shí)別能力.
本文設(shè)計(jì)的模型由Inception-ResNetV1模塊和分組注意力模塊組成.Inception-ResNetV1模塊主要通過(guò)疊加不同大小的卷積核來(lái)提升網(wǎng)絡(luò)的寬度, 從而提高分類的準(zhǔn)確度.分組注意力機(jī)制則賦予圖像特征注意力權(quán)重, 以提高識(shí)別準(zhǔn)確度.
Inception卷積神經(jīng)網(wǎng)絡(luò)模型首先增加神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)寬度, 然后分多條支路以不同卷積核對(duì)輸入的特征進(jìn)行特征提取得到多個(gè)尺度的信息, 最后進(jìn)行特征疊加得到輸出特征.殘差網(wǎng)絡(luò)ResNet則將輸入略過(guò)中間的參數(shù)層,直接輸給輸出層, 即若輸入為X, Inception層為F(X), 則輸出Y=F(X)+X.Inception-ResNetV1是將傳統(tǒng)的Inception模塊與ResNet模塊相結(jié)合, Inception-ResNetV1模塊共有如圖1所示的5種結(jié)構(gòu).Inception-ResNetV1-A/B/C通過(guò)不同卷積核的疊加來(lái)提取不同維度的特征, Reduction-A/B是通過(guò)卷積網(wǎng)絡(luò)改變特征維度從而輸入下一層.
圖1 Inception-ResNetV1 模塊Fig.1 Models of Inception-ResNetV1
分組注意力機(jī)制的算法流程如圖2所示.先將輸入特征在通道維度上按照分組數(shù)G進(jìn)行分組,將每組特征平均分為Xk1和Xk2, 再分別賦予通道注意力和空間注意力權(quán)重.
圖2 分組注意力模塊Fig.2 Shuffle attention block
特征Xk1經(jīng)過(guò)通道注意力處理.首先根據(jù)Avgpool函數(shù)得到通道統(tǒng)計(jì)數(shù)據(jù), 再利用Fuse線性函數(shù)增強(qiáng)特征表示, 最后經(jīng)Sigmod函數(shù)激活后與原特征值相乘嵌入全局信息.通過(guò)上述3個(gè)函數(shù)共同組成通道注意力機(jī)制, 得到含有通道注意力權(quán)重的X′k1以強(qiáng)化特征的類別表現(xiàn),
X′k1=σ(Fc1(FA(Xk1)))·Xk1=σ(W1S1+b1)·Xk1,
(1)
其中Fc1為線性函數(shù),σ為Sigmod激活函數(shù),FA為Avgpool平均池化函數(shù),S1為經(jīng)過(guò)平均池化后的特征,b1和W1為線性函數(shù)參數(shù).
特征Xk2經(jīng)過(guò)空間注意力處理.首先根據(jù)GroupNorm歸一化函數(shù)獲取空間統(tǒng)計(jì)數(shù)據(jù), 再利用Fuse線性函數(shù)增強(qiáng)特征表示, 最后經(jīng)Sigmod函數(shù)激活后與原特征值相乘嵌入全局信息.通過(guò)上述3個(gè)函數(shù)共同組成空間注意力機(jī)制, 得到含有空間注意力權(quán)重的X′k2以強(qiáng)化特征對(duì)于特定區(qū)域的重視程度,
X′k2=σ(Fc2(FGN(Xk2)))·Xk2=σ(W2S2+b2)·Xk2,
(2)
其中FGN為GroupNorm歸一化函數(shù),S2為經(jīng)過(guò)歸一化后的特征,b2,W2為線性函數(shù)參數(shù).
合并經(jīng)通道注意力機(jī)制和空間注意力機(jī)制賦予權(quán)值的特征X′k1,X′k2, 回到分組后的維度CG-1×H×W, 其中C為通道維度,H,W為特征的長(zhǎng)和寬.隨后, 再次合并分組后的各區(qū)塊, 回到最初的維度C×H×W.
采用3種Inception-ResNetV1模塊對(duì)圖像特征進(jìn)行多維度提取,通過(guò)分組注意力機(jī)制對(duì)疊加特征進(jìn)行注意力權(quán)重賦值, Reduction用于改變特征維度輸出至下一層,設(shè)計(jì)的SIR模型如圖3所示.由圖3可見(jiàn),整個(gè)模型的輸入病蟲(chóng)害圖片樣本,輸入的樣本圖像先經(jīng)過(guò)2個(gè)分別由3個(gè)卷積核組成的卷積塊,2個(gè)卷積塊之間由池化層相連接;上一層的輸出特征即為下一層的輸入特征,依此類推, 隨后在經(jīng)過(guò)1個(gè)分組注意力模塊后再經(jīng)過(guò)3種Inception-ResNetV1模塊, 每種Inception-ResNetV1模塊之后經(jīng)過(guò)了1個(gè)分組注意力層, 最后通過(guò)一個(gè)全連接層和激活函數(shù)完成輸出.
圖3 SIR圖像識(shí)別模型Fig.3 SIR image identification model
由于國(guó)內(nèi)外缺乏完善的公開(kāi)水稻病蟲(chóng)害數(shù)據(jù)庫(kù)[12], 故筆者通過(guò)互聯(lián)網(wǎng)收集了白葉枯病、稻瘟病、稻曲病、褐斑病和紋枯病等5種常見(jiàn)水稻病蟲(chóng)害圖像作為數(shù)據(jù)集, 并采用鏡像、放大和旋轉(zhuǎn)等方法對(duì)圖像進(jìn)行數(shù)據(jù)擴(kuò)充,最終所得數(shù)據(jù)集共含圖像6 305幅, 其中每種病蟲(chóng)害圖像約1 200幅.訓(xùn)練集和測(cè)試集按9∶1劃分.訓(xùn)練集用于模型訓(xùn)練, 在訓(xùn)練過(guò)程中采用隨機(jī)剪裁的方式進(jìn)行數(shù)據(jù)擴(kuò)充.測(cè)試集用于檢測(cè)模型的準(zhǔn)確率.此外, 為了驗(yàn)證本文算法的通用性,筆者選擇CIFAR-10數(shù)據(jù)集進(jìn)行驗(yàn)證.水稻病蟲(chóng)害樣本圖像如圖4所示.
圖4 水稻病蟲(chóng)害圖像示例Fig.4 Examples of incidence rice disease and insect pest images
本文使用Pytorch作為深度學(xué)習(xí)框架,硬件設(shè)置: GTX1080顯卡, AMD Ryzen5 3500 CPU, 內(nèi)存為16 GB.采用隨機(jī)梯度下降優(yōu)化算法(stochastic gradient descent, SGD)為優(yōu)化算法, 學(xué)習(xí)率為0.01, 每50輪調(diào)整一次學(xué)習(xí)率, 共訓(xùn)練150輪次.在此環(huán)境參數(shù)下, 以水稻病蟲(chóng)害圖像識(shí)別的準(zhǔn)確率(測(cè)試集中正確識(shí)別數(shù)/總圖像數(shù))為評(píng)價(jià)指標(biāo), 測(cè)試Inception-ResNetV1、ResNet50及SIR算法的識(shí)別效果, 結(jié)果如圖5所示, 訓(xùn)練后的最高準(zhǔn)確度如表1所示.
表1 各模型參數(shù)量與不同數(shù)據(jù)集下的識(shí)別準(zhǔn)確率
圖5 訓(xùn)練過(guò)程中ResNet50、 Inception-ResNetV1及SIR準(zhǔn)確率Fig.5 The accuracy of ResNet50, Inception-ResNetV1 and SIR during training
由圖5及表1可知: 各模型在訓(xùn)練50輪次后漸近收斂, 在訓(xùn)練過(guò)程中本文所提SIR模型的準(zhǔn)確率明顯高于傳統(tǒng)模型的, 且其最高準(zhǔn)確度與ResNet50和Incption-ResNetV1相比分別提高了1.8%、1.21%, 參數(shù)量分別下降了62.7%、32.5%, 表明分組注意力機(jī)制能提升神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確性.
不同模型對(duì)病蟲(chóng)害圖像的注意力權(quán)重如圖6所示, 相較于原圖,顏色越深的區(qū)域說(shuō)明模型對(duì)此區(qū)域的注意力權(quán)重越大, 對(duì)最終分類結(jié)果的影響也越大.由圖6可見(jiàn), Inception-ResNetV1模型更加關(guān)注背景環(huán)境, 而SIR模型可以更好地關(guān)注圖像中的病蟲(chóng)害部分.這表明分組注意力機(jī)制降低了模型對(duì)背景信息的依賴,減少了過(guò)擬合,在提高傳統(tǒng)網(wǎng)絡(luò)準(zhǔn)確度的同時(shí)增強(qiáng)了神經(jīng)網(wǎng)絡(luò)模型的可解釋性.
圖6 SIR模型與Inception-ResNetV1注意力熱力圖Fig.6 SIR model and Inception-ResNetV1 attention heatmap
本文針對(duì)傳統(tǒng)水稻病蟲(chóng)害識(shí)別算法缺乏注意力機(jī)制和識(shí)別率偏低的問(wèn)題, 提出SIR模型.通過(guò)在自制的5類水稻病蟲(chóng)害數(shù)據(jù)集上進(jìn)行測(cè)試, 結(jié)果表明SIR模型能在小參數(shù)量的情況下對(duì)水稻病蟲(chóng)害圖像識(shí)別實(shí)現(xiàn)較高的準(zhǔn)確率,并且分組注意力機(jī)制可優(yōu)化Inception模塊.此外, 在CIFAR-10數(shù)據(jù)集上的測(cè)試結(jié)果驗(yàn)證了本文算法的通用性.
揚(yáng)州大學(xué)學(xué)報(bào)(自然科學(xué)版)2021年6期