項新建, 王科宇, 丁 祎, 鄭永平, 胡萬里
(1.浙江科技學院自動化與電氣工程學院,杭州 310023;2.正陽科技股份有限公司,浙江 永康 321300)
草莓是多年生草本植物,原產于南美,不僅鮮美多汁、營養豐富,具有很高的經濟價值[1],已成為我國廣泛栽培的重要經濟作物之一。至2021年,我國已擁有草莓播種面積139 970 ha,產量368.25 萬t,占全球的比重達37.23%,是全球最大的草莓生產與消費國。
在長期實踐中發現,由于草莓生長過程中,環境溫暖濕潤,植株矮小,莖、葉、果實接近地面等特點,極易受到各種病蟲害。常見的病蟲害有草莓角斑病、草莓炭疽病、花枯病、葉斑病、草莓果實白粉病、草莓葉片白粉病和灰霉病等?;颐共∈窃跍厥液吐兜卦耘嘀芯毡楦腥镜牟『?,使草莓減產率達到20% ~30%,嚴重情況下可達50%以上。除此之外,還會引起采后草莓果實腐爛,造成草莓種植戶的巨大經濟損失[2]。草莓病蟲害種類繁多,造成的經濟損失大。對草莓生長過程中可能發生的病蟲害進行精準的識別與預防,對草莓生產具有十分重要的意義。
目前圖像識別與機器學習方法在病蟲害識別領域中廣泛應用,能在一定程度上代替傳統的肉眼識別,可提高病蟲害檢測的效率[3]。牛沖等[4]基于圖像灰度直方圖特征,選用支持向量機(Support Vector Machin,SVM)分類器對草莓病蟲害圖像進行分類,分類正確率可達90%以上。Habib等[5]提出基于視覺技術的木瓜病害疾病檢測與分類,利用K-means 聚類算法和SVM建立模型分類,準確率達95.2%。Prajapati 等[6]基于HSV顏色空間,通過用K-means聚類方法對水稻病害進行分類,準確率可達到96.71%。胡永強等[7]結合分類器學習以及稀疏思想,運用AdaBoost 算法對顏色、形狀和紋理特征進行特征融合,識別準確率最高可達92.4%。以上均為基于圖像識別與機器學習方法的病蟲害識別方法,由于檢測目標形狀、光照條件以及檢測背景的多樣性和復雜性,特征提取的魯棒性不夠理想。
隨著深度學習的快速發展,成為圖像識別領域又一新的技術手段,具有識別速度快、準確率高等優勢[8]。深度學習的植物病蟲害目標識別方式,不僅能快速識別病蟲害的類別,還能準確定位病斑、害蟲在圖像中的位置,進一步促進了智慧農業的發展。深度學習的植物病蟲害目標檢測算法主要以“你只看一次”[9](You only look once,YOLO)算法系列為核心的單階段算法[10]以及以區域卷積神經網絡算法(Region-CNN,RCNN)[11]為核心的雙階段算法為主。
李頎等[12]提出基于改進SSD 的果面缺陷冬棗實時檢測方法,對4 類冬棗的整體檢測精準性達到91.89%。晁曉菲等[13]以YOLOv4 網絡為基礎,經過對主干網絡、頸部、邊界框損失函數等改造、創新,在對蘋果葉片病害的檢測中,檢測精確度達到88.2%。駱潤玫等[14]提出基于YOLOv5-C 目標檢測網絡的復雜背景廣佛手病蟲害識別方法,檢測準確率為93%,召回率為88.99%。宋中山等[15]在自然場景下柑橘葉片病害檢測和識別技術,提出基于二值化的Faster RCNN 區域檢測神經網絡模型,總平均準確率為87.5%。殷獻博等[16]根據不同卷積層提取特征的特點與不同注意力機制的作用,提出基于多注意力機制改進的YOLOX-Nano的柑橘梢期長勢智能識別模型,平均準確率為88.07%。以上方法說明利用深度學習識別植物病蟲害具有可行性,并且可靠性高。
YOLO系列網絡是單階段算法中最為常見的一種目標檢測模型,YOLOX-s 是其優秀代表,具有檢測精度高、推理速度快等特點。自然環境下拍攝的草莓病蟲害圖像背景復雜,病蟲害種類多,且相互之間差異性較小,易造成病蟲害目標的誤檢與漏檢。為提高草莓病蟲害的識別準確率,本文提出了一種基于AMYOLOX(Attention Mechanism-YOLOX)的草莓病蟲害檢測算法,以YOLOX-s 算法作為基礎的網絡模型,進行相關研究改進。
(1)使網絡模型能更高效地學習和融合圖像的特征。通過多注意力機制引入來提升網絡的性能。結合不同的注意力機制模塊的不同的特點,對網絡的不同地方進行改進,使其到達模型性能的最大化。
(2)針對部分病蟲害較小,易導致病蟲害定位不準確,引入CIoU損失函數作為邊界框回歸損失,不僅能提高目標框回歸的穩定性,還能使損失函數收斂速度更快。
(3)草莓病蟲害所處環境背景相對復雜,在訓練階段,使用Mosaic 和Mixup 算法進行數據增強,豐富了檢測物體的背景,使得網絡面對復雜環境有更好的魯棒性。
YOLOX是一種高性能檢測器,YOLOX 創新在于使用Decoupled Head、SIMOTA 等方式,使其檢測性能達到了新的高度。該網絡共分為主干特征提取網絡(Backbone)、特征金字塔網絡(Neck)和目標檢測頭(Head)。其中Backbone 網絡用于圖像特征的提取、Neck網絡用于多尺度特征的融合,Head 網絡進行圖片的識別和定位。
Backbone 即主干特征提取網絡,采用的是CSPDarknet網絡,結構如圖1 所示。

圖1 Backbone結構
其中包含了神經網絡組件(Conv BN SiLU,CBS)、Focus結構、神經網絡架構(Cross Stage Partial,CSP)和空間金字塔池化(Spatial Pyramid Pooling,SPP)結構。CBS結構由Conv +BN +SiLU 組成;CSP 結構借鑒了CSPNet的網絡結構,由卷積層和X個殘差組件拼接組成;Focus結構如圖2 所示。

圖2 Focus結構
具體操作是在一張圖片中每隔一個像素拿到一個值,獲得4 個獨立的特征層,將4 個獨立的特征層進行堆疊,此時W、H信息就集中到了通道信息,輸入通道擴充了4 倍;SPP 結構如圖3 所示,其通過pooling 將不同尺度的特征融合到一起,實現數據的多尺度輸入。

圖3 SPP結構
Neck 采用路徑聚合特征金字塔網絡(Path Aggregation Feature Pyramid Network,PAFPN)結構進行融合。通過上采樣方式進行傳遞融合,通過下采樣融合方式得到預測的特征圖,輸出3 個特征層組成的元組結果。
Head采用分類和回歸分開處理,并在預測時再整合的策略。這種策略不僅能夠提高檢測性能,還可提升收斂速度。此外還采用了anchor free、Multi positives等方式,這些方式都能提升模型的速度、性能以及識別精度。
神經網絡中,注意力機制的作用是能在眾多的輸入信息中,聚焦對當前任務更為關鍵的信息。這與人類視覺注意力機制非常相似,通過掃描全局圖像,獲得重點信息,并對獲得的重點信息進行重點關注,得到更多與檢測目標相關的細節,使任務處理的效率和準確性提高,實現網絡性能的提升。面對自然環境中草莓病蟲害圖像背景復雜,病蟲害種類多,且相互之間差異較小,易造成病蟲害目標的誤檢與漏檢,通過多注意力機制的引入能提升網絡的性能。不同的注意力機制有著不同的特點,結合注意力機制的特點,對網絡不同地方進行改進,使其到達模型性能的最大化。本文將選用3 種注意力機制對網絡改進,分別使用坐標注意力機制[17](Coordinate Attention,CA)對Focus 模塊進行改進;通道注意力機制[18](Squeeze-and-excitation attention,SE)對SPP 模塊進行改進;卷積塊注意機制[19](Convoluional Block Attention Module,CBAM)對PAFPN結構進行改進。
(1)CA對Focus模塊進行改進。CA注意力機制是Hou 等[17]提出的一種新注意力機制。其結構如圖4 所示。

圖4 CA結構圖
CA注意力機制為避免2D全局池化引入,使得位置信息丟失,將通道注意力分解為2 個并行的一維特征編碼過程,分別沿2 個空間方向聚合特征,將生成的特征圖分別編碼,形成一對方向感知和位置敏感的特征圖,來提升對感興趣目標的表示能力。
CA注意力機制的特點在于能獲取通道信息和方向相關的位置信息,能很好地定位和識別圖中的信息。Focus模塊是對輸入圖片進行切片,不會有任何信息的丟失,只是將H、W(高、寬)信息集中到通道空間,使其輸入通道擴充為原圖的4 倍,對圖中位置信息和特征信息就顯得十分重要。在Focus 模塊后添加CA 注意力機制,結構如圖5 所示,能夠使其更好地對圖片信息進行保存。

圖5 CA添加位置
(2)SE對SPP模塊進行改進。SE 注意力機制是由Hu等[18]提出的一種注意力機制,結構如圖6 所示。

圖6 SE結構圖
其包括1 個全局平均池化層,2 個全連接層和1個激活函數。輸入一張C×H×W(通道×高×寬)的特征圖,經過一次的全局平均池化層,得到C×1 ×1的特征圖,再經過用2 個全連接層和1 個激活函數進行非線性處理得到C×1 ×1 的特征圖,將原始C×H×W的特征圖和C×1 ×1 的特征圖進行全乘操作,得到不同通道重要性不一樣的特征圖。
SE注意力機制能將全局信息壓縮為通道權重,可很好地確定不同通道間的重要性,SPP 通過不同池化核大小的最大池化進行特征提取,提高網絡的感受野,結合SE注意力機制的特點和SPP 模塊的作用,決定在SPP模塊后添加SE注意力機制,如圖7 所示。

圖7 SE添加位置
拼接后的通道將重新分配通道權重,確定通道重要性,能帶來更多有利于識別任務的特征通道的權重得以增加,其他特征通道的權重得以抑制,使得網絡模型更加關注目標的特征信息,提高網絡模型的識別性能。
(3)CBAM 對PAFPN 結構進行改進。CBAM 注意力機制是Woo等[19]提出的一種輕量而有效的注意力機制,如圖8 所示。

圖8 CBAM整體結構
不同于傳統單模塊的注意力機制,僅使用通道注意力機制或者是僅使用空間注意力機制,它可在通道和空間維度上進行作用。其包含2 種類型的注意力機制,分別是通道注意力模塊(Channel Attention Module,CAM)和空間注意力模塊(Spartial Attention Module,SAM)結構分別如圖9 和圖10 所示。

圖9 通道注意力模塊

圖10 空間注意力模塊
CBAM注意力機制由輸入、通道注意力模塊、空間注意力模塊和輸出組成。先進行通道注意力模塊的處理和空間注意力模塊的處理。具體步驟:當一張大小為C×H×W中間特征圖F輸入CBAM 注意力模塊,通過通道注意力模塊生成一維通道注意力MC,將一維通道注意力MC與輸入的原始特征圖像F相乘,獲得通道注意力調整后的特征圖F',F'作為空間注意力模塊的輸入,通過空間注意力模塊生成二維空間注意力Ms,將二維空間注意力Ms與特征圖F'相乘得到CBAM注意力機制的最后輸出結果F″。
CBAM注意力機制沿著2 個獨立的維度完成通道信息和空間信息的融合,完成自適應的特征優化,PAFPN可將深層特征層具有的更強的語義信息傳遞到淺層特征層,還可將淺層特征層具有的更強的定位信息傳遞到深層特征層,有效加強網絡的特征融合能力,結合CBAM的特點和PAFPN的作用,將CBAM 加入PAFPN網絡之中,如圖11 所示,提升目標特征的權重,讓網絡更加關注待檢測目標,以提高檢測效果,解決復雜環境背景下容易錯漏檢。

圖11 CBAM添加位置
損失函數(Loss function)是編譯一個神經網絡模型的要素之一,用來評價模型的預測值與其真實值差異的程度。YOLOX 中損失函數由Reg、Obj 和Cls 組成。其中Reg是特征點的回歸參數判斷、Obj 是特征點是否包含物體判斷、Cls 是特征點包含的物體的種類。損失函數
式中,Reg中的IoU損失函數[20]是包括預測框與真實框之間交集和并集的比值,即:
式中:A為檢測框;B為真實框。當IoU 值越小,預測框和真實框的重疊程度越高。反之,則重疊程度越低。在草莓病蟲害預測中,因為部分病蟲害較小,可能會遇到預測框與真實框完全不重疊的狀態,導致部分病蟲害的定位不準確。針對IoU無法對預測框和真實框不重合的狀態以及IoU值無法反映預測框與真實框之間的距離問題。采用CIoU損失函數[21]作為邊界框回歸損失,CIoU是IoU的改進版(見圖12),它考慮了目標框回歸三要素(重疊面積、中心點距離和長寬比),不僅能提高目標框回歸的穩定性,還能使損失函數收斂速度更快,在優化網絡誤差方面也顯得更加合理靈活,其中α作為協調比例參數:

圖12 CIoU相關圖示
ν用于衡量框的長寬比一致性參數:
式中:w、h分別為預測框的寬和高;wgt、hgt分別為目標框的寬和高,CIoU計算方式:
式中:b、bgt分別為預測框和真實框的中心點;ρ 為兩點歐式距離(即為圖12 中d);c為能夠同時包含兩框最小矩形封閉區域對角線距離。
草莓病蟲害數據集使用的是由某計算機科學與工程系AI實驗室的成員收集[22],該數據集包含了2 500張草莓疾病的圖像,7 種不同類型的病蟲害。病蟲害類別包括草莓角斑病、草莓炭疽病、花枯病、葉斑病、草莓果實白粉病、草莓葉片白粉病和灰霉病。數據從不同自然光照條件下的溫室中采集,以確保環境的多樣性。本文從中篩選部分圖像,并對部分不清晰的標注進行重新調整。由于數據集中各類病蟲害數量不均衡,為保證各種病蟲害的數量均衡,通過水平翻轉、等比例縮放、隨機裁剪與填充、隨機亮度和垂直翻轉等進行數據擴充。進行預處理后的數據集共3 806 張,具體分類見表1,符合網絡訓練需求。為保證數據集的獨立性,對數據集按照8∶1∶1的比例切分為訓練集、驗證集和測試集。

表1 數據集分類
試驗是在Linux操作系統下,基于GPU、Pytorch和CUDA框架完成的,參數具體見表2。

表2 實驗訓練環境配置
(1)數據增強。Mosaic數據增強是一種對圖像進行增強的方式,在后續深度學習算法中被廣泛使用的一種數據增強方法,能彌補訓練數據集的不足。Mosaic數據增強是將4 張圖片進行隨機裁剪,再拼接到一張圖上作為訓練數據,其效果如圖13 所示,其極大豐富了檢測物體的背景。該算法能夠較大程度提升模型的魯棒性。

圖13 Mosaic數據增強
Mixup數據增強是一種混類增強的算法,效果如圖14 所示,可將不同類之間的圖像進行混合,擴充訓練數據集。假設batchx1是一個batch樣本,batchy1是該batch樣本對應的標簽;batchx2是一個batch 樣本,batchy2是該batch樣本對應的標簽,λ是由參數為α和β的貝塔分布計算出來的混合系數,由此可得:

圖14 Mixup數據增強
(2)訓練參數。本文在進行模型訓練時,使用COCO進行預訓練數據集進行遷移學習訓練,以此來解決草莓病蟲害數據量不夠。在模型時輸入的圖片大小為640 ×640,采用sgd優化器,學習率調整方式為余弦退火衰減,迭代次數共100,訓練批次大小為32,學習率為0.001,采取凍結訓練方法,以提高訓練效率,加速收斂,前50 輪為凍結訓練,后50 輪為解凍訓練,其中訓練的前50%用Mosaic和Mixup數據增強算法。在這樣訓練策略下,不僅數據增強合成的圖像能增強模型對局部特征的學習能力,提高整個模型的泛化能力,數據集也能更專注原始圖片,使得模型能很好地學習到目標的總體特征。
訓練過程的loss曲線如圖15 所示,橫、縱坐標分別為epoch和loss值。算法在起始階段損失函數下降較快;在20 個epoch 后,損失函數趨于平緩;在第50個epoch,損失函數呈斷崖式下跌,是因為后50 輪為解凍訓練,模型的主干不被凍結,特征提取網絡也得到訓練;是因為關閉了Mosaic 數據增強和Mixup 數據增強引入真實的樣本,防止數據過度增強,使網絡得到良好的訓練。

圖15 Loss曲線
針對模型目標檢測與分類任務,本研究使用召回率(Recall)、準確率(Precision)、平均準確率(Average precision,AP)、平均精度均值(Mean of average precision,mAP)和F1分數作為網絡模型的評價指標。其公式如下:
式中:TP為正確檢測出的樣本數量;FP為誤檢的樣本數量;FN為漏檢的樣本數量;AP(i)為第i類病蟲害的AP值;NC為類別數量。
(1)消融實驗。為更好地理解AM-YOLOX 算法中各改進對檢測效果的影響,本研究進行了一系列消融試驗。在訓練參數相同條件下,采用YOLOX-s作為基礎對比網絡,消融實驗結果見表3。

表3 消融試驗結果
表3 中實驗A為基礎的YOLOX-s網絡結構,實驗E為在YOLOX-s基礎上融合3 種注意力機制,實驗B、C、D相比較實驗E 分別減少一種注意力機制。實驗結果表明,實驗B、C、D 均不如實驗E,當所有注意力全都加入時,效果最好。相比于原始YOLOX-s 算法,mAP 提升1.97%,Precision 提升2.3%,Recall 提升0.7%。說明不同注意力機制,在網絡的不同位置,加入多種不同的注意力機制,能使網絡模型更高效地學習特征圖的特征。AM-YOLOX 在實驗E 的基礎上采用CloU損失函數作為邊界回歸損失,相比于實驗E中使用IOU 作為邊界框回歸損失,mAP 提升了0.57%,Precision 提升0.7%,Recall 提升0.8%,說明,采用CIoU損失函數作為邊界框回歸損失,能提高目標框回歸的穩定性。
通過消融實驗,再次證明了每個改進策略均能提高網絡模型的性能。本文所提出的AM-YOLOX 網絡模型相比于原始的YOLOX-s網絡模型,具有更好的識別性能,mAP提高了2.54%,Precision提升3%,Recall提升1.5%,F1分數提高了2.2。改進前后各類具體AP值提升具體值如圖16 所示。(2)對比實驗。為進一步證明本文所提的AMYOLOX的有效性以及優越性,在實驗環境和模型參數設置不變的條件下,選擇目前目標檢測領域主流方法SSD、Faster-RCNN、YOLOv3、YOLOv5-s 與本文方法進行比較,以Precision、Recall、mAP、F1作為評價指標,結果見表4。

表4 對比試驗結果

圖16 改進后各類AP值
由表4 中數據可知,AM-YOLOX 的Precision、Recall、mAP、F1分數為表中其他測試算法中最高。在檢測精度方面,AM-YOLOX 與同為單階段算法的SSD、YOLOV3、YOLOV5-s 算法相比,Precision 分別提升了4.8%、17%和14.9%,mAP 分別提升了4.36%、16.73%和14.74%,F1分數分別提升了8.1、18.3 和11.8,而且與經典兩階段目標檢測算法Faster R-CNN相比較,Precision 提升了5.1%,mAP 提升了4.41%,F1分數提升了6.8,算法性能展現出了較大的優勢。自然環境下的草莓病蟲害,圖像背景復雜,病斑的面積較小,易產生漏檢。而AM-YOLOX 在召回率上,相比較于SSD、Faster-RCNN、YOLOv3、YOLOv5-s,分別提升了10%、7.8%、18.7%和9.3%,本文所提網絡模型綜合性能更優,更適合完成在自然環境下對草莓病蟲害的識別任務。
本文針對草莓病蟲害檢測任務提出了一種基于AM-YOLOX的算法架構。為實現草莓病蟲害的精準定位和識別,在網絡的不同位置加入不同注意力機制,并引入了CIoU邊框回歸損失函數,在訓練階段,使用Mosaic和Mixup算法進行數據增強,來應對復雜環境背景,以獲得較好的魯棒性。實驗結果表明,AMYOLOX模型相較于原模型以及其他主流算法,有著更高的分類置信度,更高的準確率、召回率。該模型的檢測精度及定位精度更加優異,能最大程度地避免病蟲害的誤檢和漏檢,滿足草莓病蟲害檢測的需求。
未來將考慮如何在保證較高準確率前提下,進一步提高推理速度,并將其部署在移動端,構建成為草莓蟲害識別系統,促進智慧農業的發展。