朱學巖 ,陳鋒軍 ,3※,鄭一力 ,4,李志強 ,張新偉
(1.北京林業(yè)大學工學院,北京 100083;2.林木資源高效生產全國重點實驗室,北京 100083;3.城鄉(xiāng)生態(tài)環(huán)境北京實驗室,北京 100083;4.林業(yè)裝備與自動化國家林業(yè)局重點實驗室,北京 100083;5.智慧林業(yè)研究中心,北京 100083)
油橄欖是四大木本油料作物之一,在中國的甘肅隴南、四川達州、云南麗江和四川閬中等地廣泛種植。油橄欖果實可以用來榨取富含不飽和脂肪酸的橄欖油,具有極高的經濟價值[1-2]。油橄欖品種多且不同品種油橄欖在表型上差異很小,而在含油率和脂肪酸組成等品質上的差異卻較大,這也導致在市場上以次充好的現(xiàn)象時有發(fā)生[3-4]。隨著油橄欖選育品種的增多,依靠人工目視的油橄欖品種識別方法已無法滿足實際需求。為此,有必要對自然條件下的油橄欖品種識別展開研究,為油橄欖種植和生產解決關鍵的品種識別問題。
為實現(xiàn)品種識別,國內外研究者主要采用傳統(tǒng)圖像處理和深度學習技術展開研究。其中,傳統(tǒng)圖像處理技術是依靠人工提取顏色[5]、紋理和幾何特征[6]后輸入決策樹、支持向量機[7]、人工神經網絡[8]和BP神經網絡[9]等進行品種識別[10-11]。在油橄欖[12]、小麥[13]、玉米[14-15]和辣椒[16]的品種識別研究中,廣泛使用了基于傳統(tǒng)圖像處理的品種識別方法。MARTíNEZ等[17]嘗試在提取油橄欖果實的果形指數(shù)和最大橫徑等特征后,采用偏最小二乘判別分析法識別油橄欖品種。經測試,該方法對5個主栽油橄欖品種的識別準確率為89%。但是,由于人工手動提取的特征表達能力有限,導致基于傳統(tǒng)圖像處理的品種識別方法大多只能應用于實驗室環(huán)境。在解決自然條件下的品種識別問題時,基于傳統(tǒng)圖像識別的品種識別方法會面臨復雜光照、復雜背景以及環(huán)境噪聲等挑戰(zhàn),難以取得滿意效果。
為應對自然條件下品種識別的挑戰(zhàn),有研究者嘗試采用基于數(shù)據(jù)驅動的深度學習技術對自然條件下的作物品種識別展開研究[18]。因為,深度學習技術可以提取作物圖像中不受復雜光照、復雜背景和環(huán)境噪聲干擾的更穩(wěn)定的圖像特征。目前,基于深度學習的品種識別方法已被廣泛應用在水稻[19]、榛子[20]、菜豆[21]、油菜[22]和菊花[23]的品種識別中。為識別油橄欖品種,MIHO等[24]融合DenseNet和專家經驗設計了OliVaR模型。經測試,該模型的油橄欖品種識別準確率超過86%。OSAKO等[25]利用VGG16模型對4個荔枝品種進行識別,準確率達到98.33%。孟志超等[26]提出一種Enhanced VGG16模型用于識別油茶品種,準確率為98.44%。LIU等[27]采用VGG16和ResNet50模型識別菊花品種,準確率分別為89.43%和95.39%。先前的研究已經表明,基于深度學習的圖像識別技術在作物品種識別中展現(xiàn)出了強大的潛力。
與油茶和荔枝的品種識別相比,自然條件下的油橄欖品種識別存在的挑戰(zhàn)更多且更復雜。這是因為油橄欖果實更小且不同品種的油橄欖在表型上差異很小[28]。因此,這就要求油橄欖品種識別模型不僅能充分提取到油橄欖圖像的特征信息,而且能聚焦對品種識別起關鍵作用的圖像特征。充分提取輸入圖像中的特征,雙線性網絡的優(yōu)勢非常顯著[29]。雙線性網絡采用兩個并列的卷積神經網絡作為特征提取器以充分提取輸入圖像的深度卷積特征。在此基礎上,雙線性網絡中的雙線性池化還能將兩個卷積神經網絡提取的深度卷積特征相互關聯(lián),增強圖像特征的表達能力,進而獲得更準確的識別結果[30]。聚焦對圖像識別起關鍵作用的圖像特征,CBAM(convolutional block attention module,CBAM)注意力機制的作用顯著[31]。在油茶[32]和玉米[33]等的品種識別和農作物病蟲害[34]識別研究中,CBAM注意力機制均被使用。
為準確識別自然條件下的油橄欖品種,本研究將雙線性網絡和注意力機制融合。以在圖像分類中表現(xiàn)良好的EfficientNet-B0為特征提取網絡[35],結合CBAM注意力的關鍵特征聚焦能力和雙線性網絡的特征提取能力,搭建了用于自然條件下油橄欖品種識別的雙線性注意力EfficientNet模型。采用Grad-CAM(gradient-weighted class activation mapping,Grad-CAM)熱力圖可視化技術解釋雙線性注意力EfficientNet模型的油橄欖品種識別結果。本研究的主要貢獻是提出了一種用于自然條件下油橄欖品種識別的雙線性注意力EfficientNet模型,并通過試驗驗證了該模型的有效性和先進性。本研究可為自然條件下的作物品種識別提供參考。
甘肅省隴南市的油橄欖種植基地(100°15'34''E,27°18'24''N,海拔 1 725 m)為本研究的試驗區(qū)域,基地占地690.2 hm2。以高產油橄欖品種佛奧、萊星、皮削利和鄂植8號為研究對象,于2020年8月至12月份使用小米5手機每隔五天采集一次自然條件下的油橄欖圖像。為保證圖像中油橄欖清晰且完整,手機與油橄欖間的距離范圍在10~30 cm??紤]到光照對油橄欖成像的影響,分別于每天的8:00—9:00、11:00—12:00和15:00—16:00采集自然條件下的油橄欖圖像。最終,共采集4個主栽油橄欖品種的2 400幅圖像(每個品種600幅,3 456×4 608像素),以JPEG格式保存。不同品種油橄欖的示例圖像如圖1所示。
圖1 不同品種油橄欖示例圖像Fig.1 Examples of images of different olive cultivars
由圖1可知,不同品種油橄欖在果實和葉片上存在細微的差異。為充分描述不同品種油橄欖間的細微差異,本研究對佛奧、萊星、皮削利和鄂植8號的果實和葉片特征進行總結,如表1所示。
表1 不同品種油橄欖性狀特征Table 1 Characteristics of olive in different cultivars
以采集的2 400幅自然條件下的油橄欖圖像為試驗數(shù)據(jù),搭建油橄欖品種識別數(shù)據(jù)集。在此基礎上,按照7:3的比例將2 400幅油橄欖圖像劃分為訓練集(1 680幅,每個品種420幅)和測試集(720幅,每個品種180幅)。本研究采用了亮度調整、圖像翻轉、圖像旋轉以及添加椒鹽噪聲4種方式對采集的1 680幅油橄欖果實圖像進行擴充,以提高油橄欖品種識別模型對光照、拍攝角度以及環(huán)境噪聲的魯棒性。經擴充后,訓練集的1 680幅油橄欖果實圖像被擴充至6 000幅( 每個品種1 500幅)。
自然條件下不同品種的油橄欖僅在果實的顏色和形狀以及葉子形狀等方面存在細微的差異,因此,油橄欖的品種識別屬于典型的細粒度圖像分類問題[36]。對于油橄欖品種識別這種細粒度圖像分類問題,采用傳統(tǒng)的圖像識別網絡往往難以取得滿意的結果[32]。為解決自然條件下的油橄欖品種識別問題,本文將雙線性網絡與注意力機制融合,設計了用于油橄欖品種識別的雙線性注意力EfficientNet模型。雙線性注意力EfficientNet模型主要包括2個EfficientNet-B0網絡、2個CBAM注意力模塊和1個雙線性池化,其基本網絡結構如圖2所示。
圖2 雙線性注意力EfficientNet模型網絡結構Fig.2 Network structure of bilinear attention EfficientNet
2.1.1 特征提取網絡
充分提取油橄欖圖像中的特征信息是實現(xiàn)油橄欖品種準確識別的關鍵。本研究采用2個EfficientNet-B0模型作為油橄欖品種識別模型的特征提取網絡,充分提取圖像中油橄欖的特征信息。因為,先前的研究已經表明,與VGG16、ResNet和GoogLeNet等模型相比,EfficientNet-B0模型具有參數(shù)量小、識別精度高的特點[37]。這主要得益于EfficientNet-B0模型采用的模型復合縮放策略,即通過復合系數(shù)φ同時調整模型的網絡深度、寬度以及圖像大小。EfficientNet-B0模型的復合縮放計算如式(1)。
式中d、w和r分別表示模型在深度、寬度和圖像大小上的放縮系數(shù),α、β和γ為通過模型搜索確定的常數(shù)。
EfficientNet-B0模型主要包括卷積層、移動翻轉瓶頸卷積(mobile inverted bottleneck convolution, MBConv)[38]、池化層和全連接層,基本網絡結構如表2所示。
表2 EfficientNet-B0模型網絡結構Table 2 Network structure of EfficientNet-B0 model
由表2可知,EfficientNet-B0模型的核心是移動翻轉瓶頸卷積模塊,其結構示意圖如圖3所示。對于輸入的特征圖,移動翻轉瓶頸卷積首先通過逐點卷積改變特征圖的維度。其次,將降維后的特征圖輸入深度卷積以減少參數(shù)量。然后,再通過壓縮和激勵(squeeza-and-excitation, SE)模塊執(zhí)行通道維度上的注意力操作,以更好的捕獲對油橄欖品種識別起關鍵作用的圖像特征[39]。接著,通過逐點卷積將輸入特征圖恢復到初始維度。最后,執(zhí)行失活連接和跳躍連接操作。
圖3 MBConv結構示意圖Fig.3 Structure diagram of MBConv
2.1.2 CBAM注意力機制
自然條件下采集的油橄欖圖像中包含雜草、天空和地面等復雜背景,這些復雜背景會對品種識別產生負向影響。為使雙線性注意力EfficientNet模型識別油橄欖品種時將更多的注意力聚焦到對品種識別起關鍵作用的特征上,本研究在EfficientNet-B0后引入了CBAM注意力模塊[40]。CBAM注意力模塊結構示意圖如圖4所示。
圖4 CBAM注意力模塊結構示意圖Fig.4 Structure diagram of CBAM attention module
如圖4所示,對于輸入的油橄欖圖像特征F,CBAM注意力模塊會先后進行通道注意力和空間注意力的提取。其中,通道注意力首先通過平均池化和最大池化對輸入特征圖F進行處理,生成兩個不同的通道信息描述和。接著,將和輸入共享多層感知機處理,獲得兩個特征描述圖。在此基礎上,通過逐元素求和以及Sigmoid函數(shù)處理兩個特征描述圖,獲得通道注意力權重Mc。最后,將通道注意力權重Mc和輸入特征圖F相乘,獲得精煉特征F'。通道注意力權重Mc和精煉特征F'的計算過程如式(1)~(3)。
式中Sm為Sigmoid激活函數(shù),Mlp為多層感知機,Pmax為最大池化,Pavg為平均池化。
在完成通道注意力的提取后,CBAM注意力模塊將對通道注意力模塊輸出的精煉特征F'執(zhí)行空間注意力操作。首先,對通道注意力模塊輸出的精煉特征執(zhí)行平均池化和最大池化操作,生成兩個不同的空間信息描述和后按通道拼接。和分別表示 空間中的平均池化特征和最大池化特征。然后,通過大小為7×7的卷積處理拼接后的特征。在此基礎上,通過Sigmoid函數(shù)處理得到空間注意力權重Ms。最后,將精煉特征F'與空間注意力權重Ms相乘,獲得最終融合通道和空間注意力的精煉特征F''??臻g注意力的權重系數(shù)Ms和精煉特征F''的計算過程如下:
式中f7×7為大小為7×7的卷積。
2.1.3 特征融合和品種識別
為充分融合EfficientNet-B0-A和EfficientNet-B0-B提取的油橄欖圖像特征fA和fB,采用雙線性池化對其進行處理,如式(6)。
式中fA(L)表示EfficientNet-B0-A提取的油橄欖圖像中位置L處的特征,fB(L)表示EfficientNet-B0-B提取的油橄欖圖像中位置L處的特征,B(L,fA,fB)表示位置L處的雙線性特征,x表示雙線性特征,y為一維雙線性融合特征,z表示歸一化后的雙線性融合特征。
最后,將歸一化后的融合雙線性特征向量z輸入Softmax分類器,即可完成油橄欖圖像的品種識別,如式(7)。
式中j表示輸出節(jié)點的編號,M表示油橄欖品種的總數(shù),m表示第m個油橄欖品種。
對于自然條件下的油橄欖品種識別問題,模型精度和速度是需要重點關注的指標。為此,本研究以精確率(precison,P)、召回率(recall,R)、F1分數(shù)(F1 score,F1)、推理時間(inference time,It)和總體準確率(overall accuracy,Oa)為評價指標,對油橄欖品種識別模型進行定量評價[41]。精確率、召回率、F1分數(shù)和總體準確率的具體計算過程如下:
式中TP表示測試圖像中油橄欖品種被正確識別為對應品種的圖像數(shù)量;FP表示測試圖像中其他油橄欖品種被錯誤識別為該品種的圖像數(shù)量,F(xiàn)N表示測試圖像中該油橄欖品種被錯誤識別為其他品種的圖像數(shù)量。N為測試集中不同品種油橄欖的圖像總數(shù),xm表示第m個品種的油橄欖測試圖像中被正確識別的圖像數(shù)量。
油橄欖品種識別試驗在深度學習服務器上進行,該服務器搭載Windows操作系統(tǒng),硬件環(huán)境為Intel Core i7-8700K @ 3.7 GHz CPU,GeForce RTX 2 070 SUPER 8G GPU,16G運行內存,500G固態(tài)硬盤和1T機械硬盤。該服務器的軟件環(huán)境為Python 3.6,TensorFlow 1.12,Keras 2.2.4。油橄欖品種識別算法的模型訓練過程使用Adam優(yōu)化器更新參數(shù),設置初始學習率為0.001,權值衰減設置為0.000 5,批處理量為16,丟棄比為0.5?;谟烷蠙炱贩N識別算法試驗的硬件條件,在綜合考慮油橄欖品種識別的精度和速度后,設置雙線性注意力EfficientNet模型的輸入圖像大小為224×224。
以測試集中4個油橄欖品種的720幅圖像為試驗數(shù)據(jù),對提出的油橄欖品種識別模型進行測試。油橄欖品種識別結果以混淆矩陣的形式呈現(xiàn),如圖5所示。
由圖5可知,所提模型對測試集中的大部分油橄欖圖像實現(xiàn)了準確的品種識別。從整體看,對于測試集包含的4個油橄欖品種的720幅圖像,所提模型準確識別了其中的650幅。從單個油橄欖品種的識別來看,以測試集中的180幅品種為皮削利的油橄欖圖像為例,該模型準確識別了其中167幅,僅有13幅品種為皮削利的油橄欖圖像被錯誤識別。對于測試集中180幅品種為萊星的油橄欖果實圖像,該模型準確識別了其中的159幅。結果表明,所提模型對單個油橄欖品種的識別,也取得了較好的效果。
以精確率、召回率、F1 分數(shù)、推理時間和總體準確率對雙線性注意力EfficientNet模型的油橄欖品種識別進行定量評價,結果如表3所示。
表3 油橄欖品種識別定量評價結果Table 3 Quantitative evaluation results of olive cultivar identification
由表3可知,所提模型識別4個油橄欖品種的總體準確率達到了90.28%,推理時間僅為9.15 ms。在測試試驗的4個油橄欖品種中,所提模型對皮削利的識別效果最好,其精確率、召回率和F1分數(shù)分別達到了90.27%、92.78%和91.51%。經測試,所提模型對測試集中萊星識別的精確率、召回率和F1分數(shù)分別為92.98%、88.33%和90.60%;鄂植8號的識別精確率、召回率和F1分數(shù)分別為89.13%、91.11%和90.11%。與皮削利、萊星和鄂植8號相比,所提模型對佛奧的品種識別雖然效果略差,但其精確率、召回率和F1分數(shù)均達到了88.89%。
設計消融試驗驗證雙線性網絡和CBAM注意力對油橄欖品種識別的有效性,結果如表4所示。可以發(fā)現(xiàn),在EfficientNet模型中引入CBAM注意力和搭建雙線性網絡提高了油橄欖品種識別效果。
表4 雙線性注意力EfficientNet模型的消融試驗結果Table 4 Ablation experiment results of bilinear attention EfficientNet model
從整體看,在EfficientNet模型中引入CBAM注意力搭建EfficientNet-CBAM模型后,油橄欖品種識別的總體準確率提高5個百分點,推理時間增加了0.13 ms。以EfficientNet模型為基礎搭建雙線性EfficientNet模型后,總體準確率提高10.97個百分點,推理時間增加了0.21 ms。當向EfficientNet模型中引入CBAM注意力并以此為基礎搭建雙線性網絡后,總體準確率提升14.86個百分點,推理時間增加了0.22 ms。從單個品種看,不論是向EfficientNet模型中引入CBAM注意力還是搭建雙線性網絡均起到了提高單個油橄欖品種識別效果的作用。并且,當向EfficientNet模型中同時引入CBAM注意力和搭建雙線性網絡后,油橄欖的品種識別效果提升最顯著。
對于油橄欖品種識別這種細粒度圖像分類問題,主流的方法是搭建雙線性網絡或者結合注意力機制。不同方法的品種識別結果以混淆矩陣的形式呈現(xiàn),如圖6所示。
圖6 不同方法識別油橄欖品種的混淆矩陣Fig.6 Confusion matrix of different methods to identify olive cultivars
雙線性ResNet34模型、EfficientNet-SE注意力模型、雙線性ResNet18模型和雙線性VGG16模型的識別效果較差(圖6a,6b、6c和6 d)。從4個油橄欖品種識別的整體結果分析,對于測試集的720幅油橄欖圖像,雙線性ResNet34模型、EfficientNet-SE注意力模型、雙線性ResNet18模型和雙線性VGG16模型僅分別準確識別了其中的558、567、570和573幅。以佛奧為例從單個油橄欖品種識別角度分析,對于測試集中佛奧的180幅油橄欖圖像,雙線性ResNet34模型、EfficientNet-SE注意力模型、雙線性ResNet18模型和雙線性VGG16模型僅準確識別了其中的129、133、144和123幅??梢园l(fā)現(xiàn),不論是對于單個油橄欖品種的識別還是4個油橄欖品種的識別,雙線性ResNet34模型、EfficientNet-SE注意力模型、雙線性ResNet18模型和雙線性VGG16模型均出現(xiàn)了較多的識別錯誤。
與雙線性ResNet34模型、EfficientNet-SE注意力模型、雙線性ResNet18模型和雙線性VGG16模型相比,雙線性GoogLeNet模型的油橄欖品種識別效果更好(圖6e)。測試集中4個油橄欖品種的720幅圖像,雙線性GoogLeNet模型準確識別了其中的614幅。測試集中品種為皮削利的180幅圖像,雙線性GoogLeNet模型準確識別了其中的154幅。
所提模型的油橄欖品種識別效果最好(圖6f)。對于測試集4個油橄欖品種的720幅圖像,所提模型準確識別了其中的650幅,優(yōu)于對比試驗中的其他方法。并且,對于單個油橄欖品種的識別,所提模型也取得了不錯的效果。測試集中佛奧、萊星、皮削利和鄂植8號各180幅,所提模型分別準確識別了其中的160、159、167和164幅。
由表5可知,所提模型對測試集中4個油橄欖品種識別的總體準確率達到90.28%,分別比雙線性ResNet34、EfficientNet-SE注意力、雙線性ResNet18、雙線性VGG16、雙線性GoogLeNet高12.78、11.53、11.11、10.70和5.00個百分點。從推理時間的角度分析,所提模型的推理時間為9.15 ms,與EfficientNet-SE注意力和雙線性ResNet18接近且優(yōu)于雙線性ResNet34、雙線性VGG16和雙線性GoogLeNet。
表5 不同品種識別方法的定量評價結果Table 5 Quantitative evaluation results of different cultivar identification methods
以皮削利為例,所提模型精確率、召回率和F1分數(shù)分別達到90.27%、92.78%和91.51%。與雙線性ResNet34、EfficientNet-SE注意力、雙線性ResNet18、雙線性VGG16、雙線性GoogLeNet相比,所提模型的精確率、召回率和F1分數(shù)均更優(yōu)。
不同品種油橄欖往往在果實顏色、形狀以及葉子形狀等表型信息上存在差異。為驗證所提模型在識別油橄欖品種時是否也關注了果實和葉子區(qū)域,本研究采用Grad-CAM技術對雙線性注意力EfficientNet模型的油橄欖品種識別進行可視化解釋,以從視覺上評價所提出的油橄欖品種識別方法[42]。雙線性注意力EfficientNet模型識別4個油橄欖品種的熱力圖如圖7所示。
圖7 油橄欖品種識別的可視化解釋Fig.7 Visual explanation of olive cultivar identification
由圖7可知,所提模型在識別油橄欖品種時將注意力主要聚焦到了圖像中油橄欖的果實區(qū)域以及部分葉子區(qū)域。油橄欖品種識別的熱力圖可視化試驗證明了所提模型在識別油橄欖品種時所依據(jù)的圖像信息是可信的。
本研究所提出的雙線性注意力EfficientNet模型在對測試集中油橄欖進行品種識別時,也出現(xiàn)了少數(shù)錯誤識別的情況。為解釋所提模型錯誤識別的原因,本研究對發(fā)生錯誤識別的油橄欖圖像進行可視化解釋,如圖8所示。
圖8 發(fā)生品種誤識別的油橄欖圖像的可視化解釋Fig.8 Visual explanation of olive images with cultivar misidentification
在對圖8中的油橄欖圖像進行品種識別時,所提模型并未將注意力聚焦到果實和葉子區(qū)域,而是聚焦到了對品種識別有干擾的背景區(qū)域。由此可以推斷,不能有效聚焦到油橄欖圖像中對品種識別起關鍵作用的果實和葉子區(qū)域是發(fā)生錯誤識別的主要原因。
為實現(xiàn)自然條件下油橄欖品種的識別,本研究以甘肅主栽油橄欖品種佛奧、萊星、皮削利和鄂植8號為研究對象,融合深度學習中的雙線性網絡與注意力機制,提出基于雙線性注意力EfficientNet模型的油橄欖品種識別方法。試驗評價雙線性注意力EfficientNet模型的油橄欖品種識別結果,得到如下結論:
1)雙線性注意力EfficientNet模型可以快速準確識別油橄欖品種,總體準確率達到90.28%,推理時間為9.15 ms。并且,雙線性注意力EfficientNet模型的熱力圖可視化結果顯示,該模型在識別油橄欖品種時將注意力聚焦到了油橄欖圖像的果實和葉子區(qū)域。油橄欖品種識別試驗和消融試驗結果充分驗證了雙線性注意力EfficientNet模型識別油橄欖品種的有效性。
2)與主流品種識別方法相比,本文提出的雙線性注意力EfficientNet模型在油橄欖品種識別精度上具有明顯優(yōu)勢。雙線性注意力EfficientNet模型對測試集油橄欖品種識別的總體準確率達到90.28%,分別比雙線性Res-Net34、EfficientNet-SE注意力、雙線性ResNet18、雙線性VGG16、雙線性GoogLeNet高12.78、11.53、11.11、10.70、5.00個百分點。并且,對于單個油橄欖品種的識別,雙線性注意力EfficientNet模型也優(yōu)于對比試驗的其他方法。