李偉豪,詹 煒,周 婉,韓 濤,王佩文,劉 虎,熊夢園,孫 泳,2
(1.長江大學(xué) 計算機科學(xué)學(xué)院,湖北 荊州 434023;2.荊州市鷹拓科技有限公司,湖北 荊州 434023)
茶葉是我國重要的經(jīng)濟農(nóng)作物之一。然而,隨著茶葉種植面積不斷擴大,茶葉病害問題日益突出,導(dǎo)致茶葉產(chǎn)量和質(zhì)量下降。如何準(zhǔn)確快速地檢測和識別各種茶葉病害,并針對性地進(jìn)行防治,是茶農(nóng)最為關(guān)注的問題。因此,茶葉病害的檢測、識別和防治尤為重要。目前,茶農(nóng)依據(jù)個人種植經(jīng)驗實地觀察茶樹,采用人工方法進(jìn)行病害檢測和診斷[1‐2],這種方法耗時費力。此外,由于不同個體種植經(jīng)驗不同,易發(fā)生誤判,進(jìn)而采取錯誤的防治措施,影響茶葉的產(chǎn)量和品質(zhì),造成嚴(yán)重的經(jīng)濟損失。
隨著圖像處理與機器學(xué)習(xí)技術(shù)的不斷發(fā)展,基于傳統(tǒng)圖像特征的病害識別方法已被嘗試運用在病害識別領(lǐng)域[3‐4]。例如,林彬彬等[5]提出一種基于圖像特征的分割方法,該方法使用最大類間方差法提取病害區(qū)域,HSV 色彩空間法提取和篩選病害顏色特征,并使用K 近鄰算法對3 種茶葉病害分類。這種傳統(tǒng)圖像處理的方法難以適應(yīng)更多茶葉病害種類的情況,同時,需要人工干預(yù)的方式篩選病害特征。此外,對復(fù)雜環(huán)境的魯棒性較差,難以投入實際的應(yīng)用中。
近年來,深度學(xué)習(xí)和計算機視覺技術(shù)飛速發(fā)展,開始進(jìn)入智慧農(nóng)業(yè)時代?;谏疃葘W(xué)習(xí)技術(shù)的方法被廣泛用于農(nóng)作物病害識別研究中[6‐8]。熊夢園等[9]提出一種基于ResNet的玉米葉片病害識別方法,通過添加CBAM 注意力機制[10],對3 種玉米病害類別的識別準(zhǔn)確率達(dá)到了97.5%。李子茂等[11]提出一種基于DenseNet 的茶葉病害識別方法,通過在DenseNet 中添加SE 注意力機制[12],對5 種茶葉病害類別的識別準(zhǔn)確率達(dá)到92.66%。這些方法甚至包括其他現(xiàn)有的方法[13‐14],僅對農(nóng)作物病害進(jìn)行分類,缺乏對病害檢測的功能。在實際應(yīng)用中,這不利于相關(guān)農(nóng)業(yè)人員精準(zhǔn)地定位病害發(fā)生的區(qū)域。此外,DenseNet 網(wǎng)絡(luò)[15]的參數(shù)量和顯存占用大、運行速度較慢,不適合于邊緣設(shè)備上的部署,難以投入實際的應(yīng)用。并且,其茶葉病害的種類以及識別準(zhǔn)確率仍有可提升的空間。
鑒于此,使用Yolov7 目標(biāo)檢測網(wǎng)絡(luò),同時實現(xiàn)對茶葉病害的檢測和分類功能。為了保證檢測識別的準(zhǔn)確性與實時性,提出一種改進(jìn)的輕量型Yolov7-TSA 網(wǎng)絡(luò)架構(gòu),具體是在Yolov7-T 網(wǎng)絡(luò)[16]的基礎(chǔ)上,重新設(shè)計新的激活函數(shù),以提高網(wǎng)絡(luò)的檢測精度,防止過擬合問題;在Yolov7 網(wǎng)絡(luò)中融合新的輕量型坐標(biāo)注意力機制(Coordinate attention,CA),提升對茶葉病害的局部特征感知能力,以提高網(wǎng)絡(luò)的識別準(zhǔn)確率。
試驗數(shù)據(jù)為1 578 張茶葉圖片,經(jīng)過專業(yè)研究人員識別辨認(rèn),將其分為赤葉斑病、藻斑病、鳥眼斑病、灰疫病、白斑病、炭疽病、葉枯病以及健康8個類別,每個類別的圖像平均數(shù)量為197張,圖像分辨率為3 120×4 160,數(shù)據(jù)集示例見圖1。
圖1 數(shù)據(jù)集示例Fig.1 Example of dataset
由于數(shù)據(jù)集樣本僅有1 578 張,為了使網(wǎng)絡(luò)模型具有較高的準(zhǔn)確性和魯棒性,采用以下數(shù)據(jù)增強方法:1)隨機旋轉(zhuǎn):以50%的概率對茶葉圖像進(jìn)行90°、180°和270°隨機旋轉(zhuǎn),模擬相機不同角度的拍攝位置,擴充樣本;2)高斯噪聲:對圖像添加高斯噪聲,得到不同清晰度的圖像,模擬不同場景下的拍攝質(zhì)量;3)高斯模糊:對圖像添加高斯模糊,得到模糊的圖像,模擬拍攝抖動的情形。通過這3 種數(shù)據(jù)增強方法擴充數(shù)據(jù)集的大小,使得數(shù)據(jù)集擴充到3 156張圖像。數(shù)據(jù)增強后的圖像示例見圖2。
圖2 圖像數(shù)據(jù)增強示例Fig.2 Example of image data enhance ment
1.3.1 網(wǎng)絡(luò)模型 基于Yolo 系列[17‐21]目標(biāo)檢測網(wǎng)絡(luò)中的Yolov7網(wǎng)絡(luò)架構(gòu),提出一種全新的Yolov7-TSA網(wǎng)絡(luò)架構(gòu)。為了保證網(wǎng)絡(luò)的準(zhǔn)確率與實時性,通過在Yolov7 網(wǎng)絡(luò)架構(gòu)上優(yōu)化網(wǎng)絡(luò)設(shè)計,減少卷積模塊的數(shù)量及其輸入輸出參數(shù)大小得到Y(jié)olov7-T 網(wǎng)絡(luò)。在輕量型的Yolov7-T 網(wǎng)絡(luò)的基礎(chǔ)上做了如下改進(jìn):1)將Yolov7-T 網(wǎng)絡(luò)中的激活函數(shù)替換為SiLU 激活函數(shù)[22],可避免網(wǎng)絡(luò)過擬合,同時SiLU 函數(shù)曲線平滑,易于網(wǎng)絡(luò)訓(xùn)練;2)在Yolov7-T 網(wǎng)絡(luò)中融合CA 注意力機制[23],能夠提升網(wǎng)絡(luò)對茶葉病害局部特征的感知能力,從而提高網(wǎng)絡(luò)檢測識別的準(zhǔn)確率。
在Yolov7-T 網(wǎng) 絡(luò) 的ELAN(Efficient layer aggregation network)模塊以及特征融合模塊中添加CA 注意力機制。ELAN 模塊由多個CBS(Conv batchnorm silu)模塊構(gòu)成,其輸入輸出特征大小保持不變。具體融合如下:1)將Backbone 中的ELAN 模塊替換為CELAN(Coordinate efficient layer aggregation network)模塊,CELAN 模塊即在ELAN 模塊側(cè)路分支的CBS 模塊中添加CA 注意力機制;2)在Backbone 與Head 部分特征融合前添加CA 注意力機制,以增強對不同尺度特征信息的表征能力。具體的改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)見圖3。
圖3 Yolov7-TSA網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Yolov7?TSA network structure
1.3.2 SiLU 激活函數(shù) Yolov7-T 網(wǎng)絡(luò)中的激活函數(shù)為LeakReLU[24],該激活函數(shù)是ReLU 激活函數(shù)[25]的變體,其緩解了ReLU 導(dǎo)致無效神經(jīng)元的問題。然而,該函數(shù)存在負(fù)數(shù)值,導(dǎo)致其非線性程度較差,網(wǎng)絡(luò)的分類效果不穩(wěn)定。
為了保證網(wǎng)絡(luò)檢測和分類的效果,將LeakReLU 激活函數(shù)替換為SiLU 激活函數(shù),其具有無上界、有下界和平滑的優(yōu)點,正則化效果更強,可以在一定程度上避免網(wǎng)絡(luò)過擬合,同時其函數(shù)曲線平滑,易于網(wǎng)絡(luò)訓(xùn)練。SiLU 激活函數(shù)見公式(1)和圖4。
圖4 SiLU激活函數(shù)Fig.4 SiLU activation function
1.3.3 坐標(biāo)注意力 坐標(biāo)注意力簡稱CA,是一種將圖像的位置信息嵌入到通道注意力機制中的全新的移動網(wǎng)絡(luò)注意力機制。CA 注意力機制將通道注意力分解為2 個一維特征編碼過程,分別沿2 個空間方向聚合特征,可以沿一個空間方向捕獲遠(yuǎn)程依賴關(guān)系,同時沿另一空間方向保留精確的位置信息。將生成的聚合特征圖分別編碼為方向感知和位置敏感的注意力特征圖(Attention map),可以將其互補地應(yīng)用于輸入特征圖,以增強對目標(biāo)的表征能力。CA 注意力機制可以被視作一種計算單元,旨在增強網(wǎng)絡(luò)的特征表達(dá)能力。它可以將任何中間特征張量作為輸入,并輸出具有增強表征能力的注意力特征圖。CA 注意力機制的詳細(xì)架構(gòu)見圖5。CA 注意力機制是一種高效輕量的模塊,將其融合到Y(jié)olov7-T 網(wǎng)絡(luò)中,在增加少量參數(shù)的同時,可以更加關(guān)注茶葉病害的局部特征信息,穩(wěn)定提升網(wǎng)絡(luò)模型的識別準(zhǔn)確率。
圖5 CA注意力機制Fig.5 CA mechanism
1.4.1 試驗環(huán)境與參數(shù)設(shè)置 硬件試驗環(huán)境:CPU Intel Core i9-12900k;內(nèi)存32 GB;顯卡RTX 4090,顯存24 GB。軟件試驗環(huán)境:Ubuntu 22.04;Python 3.8;Pycharm 2022.3;Pytorch 1.13.0,CUDA 11.7。
在進(jìn)行模型訓(xùn)練時,為了保證訓(xùn)練集、驗證集和測試集中的類別均衡,使網(wǎng)絡(luò)的訓(xùn)練效果和泛化性能更好,從每種茶葉病害種類中隨機抽出平均10%作為測試集,20%作為驗證集,剩下的即為訓(xùn)練集,最終得到訓(xùn)練集2 208 張圖像,驗證集632 張圖像,測試集316 張圖像。將訓(xùn)練集輸入到網(wǎng)絡(luò)中訓(xùn)練,圖片輸入尺寸為640×640,優(yōu)化器采用SGD[26],初始學(xué)習(xí)率為0.01,動量因子(Moment)為0.937,批樣本大?。˙atch size)為32,總的迭代次數(shù)(Epoch)為500 次,每迭代1 次在驗證集上驗證模型的準(zhǔn)確率,每迭代25次保存并更新最優(yōu)模型。
1.4.2 評價指標(biāo) 利用參數(shù)量(Parameters)、浮點運算數(shù)(FLOPs)、模型大?。∕odel size)、平均精度均值(mAP)和推理時間(Inference time)5 個指標(biāo)來評價網(wǎng)絡(luò)模型的效果。參數(shù)量體現(xiàn)了模型的空間復(fù)雜度;浮點運算體現(xiàn)了模型的計算量,可以衡量網(wǎng)絡(luò)模型的復(fù)雜度;模型大小反映了模型所占用的磁盤空間大??;平均精度均值是平均精度(Average precision,AP)的平均值,其描述了網(wǎng)絡(luò)模型的平均檢 測 精 度,見 公 式(2);AP 是 對P-R(Precision‐recall)曲線上的精度值求均值,見公式(3),P-R 曲線中的精度和召回率計算公式見(4)、(5);推理時間體現(xiàn)了模型推理1 張圖片所需的平均時間,反映了模型的實時性能。
其中,c為數(shù)據(jù)集類別數(shù)量。
其中,Psmooth(r)代表平滑后的P-R曲線。
其中,TP是實際正類預(yù)測為正類的數(shù)量;FP是實際負(fù)類預(yù)測為正類的數(shù)量;FN是實際正類預(yù)測為負(fù)類的數(shù)量。
為了驗證不同網(wǎng)絡(luò)架構(gòu)的效果,設(shè)置了對比試驗,在控制訓(xùn)練參數(shù)恒定的情況下,分別對比Yolov7、Yolov7-T、Yolov7-TS 以及Yolov7-TSA 網(wǎng)絡(luò)架構(gòu)的效果。
Yolov7-T、Yolov7-TS 和Yolov7-TSA 網(wǎng)絡(luò)訓(xùn)練過程中的mAP 和總損失值變化見圖6、圖7。隨著迭代次數(shù)的增加,3 條總損失值和mAP 曲線分別不斷下降和上升,最后趨于平緩,當(dāng)?shù)螖?shù)達(dá)到500時收斂,訓(xùn)練結(jié)束;Yolov7-TSA 網(wǎng)絡(luò)的損失值比Yolov7-T、Yolov7-TS 網(wǎng)絡(luò)更低且下降更穩(wěn)定,其mAP 值也比Yolov7-T、Yolov7-TS 網(wǎng)絡(luò)更高,模型效果最好。
圖6 mAP變化曲線Fig.6 The curve of mAP
圖7 總損失值變化曲線Fig.7 The curve of total loss
不同網(wǎng)絡(luò)試驗結(jié)果對比如表1 所示,Yolov7-T、Yolov7-TS 和Yolov7-TSA 網(wǎng)絡(luò) 的mAP 在不斷提升,其中,Yolov7-TSA 網(wǎng)絡(luò)的mAP(94.2%)較Yolov7-T網(wǎng)絡(luò)、Yolov7-TS 網(wǎng)絡(luò)、Yolov7 網(wǎng)絡(luò)分別提升了3.2、1.5、1.2 個百分點,在保證輕量型的同時,網(wǎng)絡(luò)檢測識別的準(zhǔn)確率提升。此外,Yolov7-TSA 網(wǎng)絡(luò)在參數(shù)量、浮點運算數(shù)、模型大小和推理時間方面表現(xiàn)出顯著的效果,與Yolov7 網(wǎng)絡(luò)相比,其分別降低83%、87%、83%和34%;與Yolov7-T 網(wǎng)絡(luò)相比,僅有微小的增加。Yolov7-TSA 網(wǎng)絡(luò)以微小的時間空間代價,獲得更高的識別準(zhǔn)確率,并兼顧了準(zhǔn)確性和實時性??蓪⒃撃P筒渴鹪诖钶d高清相機的植保無人機上實時監(jiān)測茶園,以便捷高效地監(jiān)測識別茶園遭受的病害信息。
表1 不同網(wǎng)絡(luò)對比試驗結(jié)果Tab.1 Results of comparison experiments with different networks
如圖8所示,Yolov7-T網(wǎng)絡(luò)對于炭疽病、鳥眼斑病和灰疫病3 種類別的識別準(zhǔn)確率較低。改進(jìn)的Yolov7-T 網(wǎng)絡(luò),即Yolov7-TSA 網(wǎng)絡(luò),在保持其他類別識別準(zhǔn)確率的基礎(chǔ)上,提高了對這3 種類別的識別準(zhǔn)確率,炭疽病、鳥眼斑病、灰疫病的mAP分別由74.4%、76.1%、82.1%提升到85.7%、86.8%、85.0%,提高了11.3、10.7、2.9個百分點。
圖8 Yolov7-T(a)與Yolov7-TSA(b)網(wǎng)絡(luò)的P-R曲線和每個類別的mAPFig.8 The P?R curves of Yolov7?T(a)and Yolov7?TSA(b)networks and mAP of each class
如圖9 所示,Yolov7-TSA 網(wǎng)絡(luò)對這3 種病害有著顯著的檢測識別效果,但其識別精度仍沒有達(dá)到較高的水平。通過對數(shù)據(jù)集檢查分析,炭疽病、鳥眼斑病和灰疫病的病害特征比較相似,不易區(qū)分。此外,數(shù)據(jù)集中存在同時具有多種病害甚至多種病害重疊的茶葉圖像。這可能是導(dǎo)致網(wǎng)絡(luò)對炭疽病、鳥眼斑病和灰疫病識別準(zhǔn)確率不高的原因。
圖9 Yolov7-TSA網(wǎng)絡(luò)對茶葉病害的識別精度示例Fig.9 The examples of identification precision of Yolov7?TSA network for tea diseases
針對現(xiàn)有茶葉病害識別方法準(zhǔn)確率低、運行速度慢以及缺乏檢測功能等問題,本研究提出一種精準(zhǔn)的輕量型Yolov7-TSA網(wǎng)絡(luò)來檢測識別茶葉病害,對8種(含健康茶葉)常見且難以檢測識別的茶葉病害進(jìn)行研究,比較了改進(jìn)前后4 種網(wǎng)絡(luò)對茶葉病害的識別準(zhǔn)確率,得出以下結(jié)論。通過在Yolov7-T 網(wǎng)絡(luò)上改進(jìn)激活函數(shù)和融合注意力機制,進(jìn)一步平衡了網(wǎng)絡(luò)的平均精度均值和推理時間。與Yolov7-T和Yolov7 網(wǎng)絡(luò)相比,Yolov7-TSA 網(wǎng)絡(luò)的mAP 分 別提升了3.2、1.2 個百分點,達(dá)到了94.2%;與Yolov7網(wǎng)絡(luò)相比,其在參數(shù)量、浮點運算數(shù)和模型大小方面分別降低了83%、87%和83%,同時單張圖片推理時間降低了34%。這表明本研究取得了較好的效果,證明了改進(jìn)的有效性。該Yolov7-TSA網(wǎng)絡(luò)不僅可以對茶葉病害識別分類,而且可以對發(fā)生病害的茶葉進(jìn)行檢測定位。在實際應(yīng)用中,這可以協(xié)助茶農(nóng)等農(nóng)業(yè)工作人員精準(zhǔn)定位茶葉病害的發(fā)生位置,從而采取針對性的防治措施。本研究針對現(xiàn)有的茶葉病害問題取得了良好的效果,但尚未探索同時存在多種病害的情形。因此,未來的研究將重點關(guān)注茶葉的多病害問題,嘗試對同時具有多種病害特征的茶葉圖像進(jìn)行更加細(xì)致的多標(biāo)簽標(biāo)注,并探索完善有效的診斷和識別方法,以提供更加全面的茶葉病害信息。
此外,本研究將持續(xù)優(yōu)化模型,通過增加茶葉圖像數(shù)量以及涵蓋更多茶葉病害種類,提高模型的泛化性和魯棒性。輕量型的Yolov7-TSA 網(wǎng)絡(luò)模型可部署在植保無人機上,以實現(xiàn)茶園病害的實時監(jiān)測,為茶農(nóng)等農(nóng)業(yè)工作人員提供精準(zhǔn)的病害信息,促進(jìn)智慧農(nóng)業(yè)現(xiàn)代化發(fā)展。