郭柏璋,牟 琦* ,冀汶莉
(1.西安科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,陜西 西安 710054;2.西安科技大學(xué) 通信與信息工程學(xué)院,陜西 西安 710054)
農(nóng)田中的雜草是農(nóng)業(yè)生產(chǎn)中最常見的生物災(zāi)害之一。田間雜草具有極強的繁殖能力,它和作物爭奪養(yǎng)分、引入作物疾病以及吸引有害昆蟲,直接或間接地影響農(nóng)作物產(chǎn)量和質(zhì)量,對農(nóng)業(yè)生產(chǎn)造成了嚴重損失[1]。在世界范圍內(nèi),每年因雜草危害造成的糧食損失約為13.2%,相當(dāng)于每年10億人的口糧[2]。據(jù)全國農(nóng)業(yè)技術(shù)推廣服務(wù)中心統(tǒng)計,我國農(nóng)田雜草中造成農(nóng)田嚴重危害的約有130種,每年因雜草造成主糧作物損失約300萬噸,直接經(jīng)濟損失高達近千億元[3]。田間清除雜草方法一般為人工除草、化學(xué)除草、生物除草和機械除草。人工除草勞動強度大且效率低,大量農(nóng)藥噴灑會造成土壤的嚴重污染;生物除草成本高;田間除草機器人是現(xiàn)代農(nóng)業(yè)發(fā)展的必然趨勢,但前提是實現(xiàn)快速精準(zhǔn)的雜草識別[4-5]。
雜草自動識別技術(shù)是智慧農(nóng)業(yè)領(lǐng)域的研究熱點之一,雜草識別的基本原理是通過RGB或高光譜相機等傳感設(shè)備獲得包含作物和雜草的圖像信息,然后利用機器視覺中的圖像處理技術(shù)獲取作物或雜草的形狀、顏色、紋理和位置等特征,最后通過訓(xùn)練分類器進行雜草和作物的識別。例如趙鵬等[6]和董亮等[7]采用改進的BP神經(jīng)網(wǎng)絡(luò)分別對玉米幼苗和大棚蔬菜中并存的多種雜草進行識別,有較高的識別率和魯棒性。周影等[8]通過主成分分析方法對雜草和作物圖像的顏色、紋理等特征進行了相關(guān)性分析,并提取了特征中3個最小相關(guān)的主成分,然后采用樸素貝葉斯分類器完成雜草識別,實驗結(jié)果表明該方法能夠較好地從玉米苗中識別雜草。但以上方法都需要人工進行圖像的特征提取,在一定程度上影響了識別的準(zhǔn)確性。
隨著人工智能技術(shù)的快速發(fā)展,以卷積神經(jīng)網(wǎng)絡(luò)為代表的深度學(xué)習(xí)方法在圖像和機器視覺領(lǐng)域有廣泛的應(yīng)用。深度學(xué)習(xí)方法具有自動提取圖像深層特征的能力,其強大的非線性擬合能力和表征能力使其成為雜草識別領(lǐng)域的新熱點[9-11]。例如, Punithavathi等[12]提出了一種基于多尺度Faster R-CNN的目標(biāo)檢測和基于最優(yōu)極限學(xué)習(xí)機(ELM)結(jié)合的雜草分類模型,使雜草的識別準(zhǔn)確率達到98.33%。孫俊等[13]提出了以AlexNet網(wǎng)絡(luò)為基礎(chǔ)改進的空洞卷積與全局池化相結(jié)合的新型卷積神經(jīng)網(wǎng)絡(luò)模型,對特征圖進行多尺度融合,使雜草識別的精度提高到了98%。彭明霞等[14]采用殘差卷積網(wǎng)絡(luò)來提取特征并將特征金字塔引入神經(jīng)網(wǎng)絡(luò)中識別棉花田中的雜草,識別率達到了95.5%。姜紅花等[9]在卷積神經(jīng)網(wǎng)絡(luò)的全連接層后加入了二進制的哈希層,提高了雜草識別率和收斂速度。孟慶寬等[15]提出了一種基于輕量卷積神經(jīng)網(wǎng)絡(luò)結(jié)合特征層信息融合機制的改進單步多框檢測器(Single Shot MultiBox detector,SSD) 模型,并將擴展網(wǎng)絡(luò)中的深層語義信息與淺層細節(jié)信息進行融合,提高了對小尺寸作物與雜草的檢測準(zhǔn)確率。
上述基于深度神經(jīng)網(wǎng)絡(luò)的雜草識別方法提高了不同背景下雜草識別的精準(zhǔn)度,但網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜且訓(xùn)練時間長。為了解決這個問題,本文提出以YOLOv5深度神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),融合CA注意力機制的輕量級識別模型,對自然環(huán)境下麥地的雜草進行有效識別。
雜草識別的圖像數(shù)據(jù)取自2022年3—5月的麥地,使用800萬像素的智能手機,拍攝高度大約距離地面30~50 cm,拍攝自然環(huán)境下的小麥和長莖尖葉雜草。拍攝時間為每日11:00—15:00任意一個時間段。為了提高識別模型的魯棒性,在采集的圖片中包含單一較為稀疏的雜草圖片、含有大量密集的雜草圖片、農(nóng)作物與雜草伴生且農(nóng)作物與雜草相似度較低的圖片、農(nóng)作物與雜草伴生且農(nóng)作物與雜草相似度較高圖片,以及農(nóng)作物與雜草交叉貼近的圖片,共拍攝了260張有效照片,部分照片如圖1所示。圖1(c)展示了農(nóng)作物與雜草伴生且農(nóng)作物與雜草相似度較高的圖片,此類圖片中農(nóng)作物與雜草主要區(qū)分特征為高度、稀疏程度。圖1(d)展示了農(nóng)作物與雜草交叉貼近的圖片,此類圖片中農(nóng)作物與雜草主要區(qū)分特征為葉片大小、形狀。
圖1 小麥和雜草圖片樣本示例Fig.1 Sample examples of wheat and weed pictures
卷積神經(jīng)網(wǎng)絡(luò)對圖片中物體的移位、視角、大小以及明暗具有不變性,通過數(shù)據(jù)增強技術(shù)可以極大地提升分類效果。圖像的數(shù)據(jù)增強技術(shù)一般為隨機進行逆時針 90°、180°和270°旋轉(zhuǎn),水平翻轉(zhuǎn),圖像的向內(nèi)或向外縮放、剪裁、移位以及對圖像進行灰度處理。為了使識別模型能夠充分學(xué)習(xí)雜草和作物的特征,減少訓(xùn)練過程的過擬合現(xiàn)象,通過對圖像數(shù)據(jù)采用隨機剪裁、旋轉(zhuǎn)、縮放和顏色變換等數(shù)據(jù)增強技術(shù),對原始數(shù)據(jù)進行擴充,擴充后的圖像為12 724張。數(shù)據(jù)增強后的雜草圖像如圖2所示。
圖2 圖像數(shù)據(jù)增強Fig.2 Image data enhancement
YOLOv5神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程是有監(jiān)督的學(xué)習(xí),在圖像數(shù)據(jù)增強后,需要先利用Labelme工具將每個圖像數(shù)據(jù)中的目標(biāo)物體進行標(biāo)簽標(biāo)注,保存為 VOC 格式的yolo可讀文件后,再將其轉(zhuǎn)換為txt文本文件。
現(xiàn)階段目標(biāo)檢測算法主要分為兩階段檢測算法和單階段檢測算法。兩階段算法包括 Faster R-CNN、Cascade RCNN 等;單階段算法包括YOLO(You Only Look Once:Unified,Real-time Object Detection)和SSD[16-17]。YOLO 是Redmon等[18]2016年在CVPR大會上提出的單階段目標(biāo)檢測算法。YOLO算法的核心思想是將圖像分為多個網(wǎng)格,并在每個網(wǎng)格上使用單獨神經(jīng)網(wǎng)絡(luò),通過反向傳遞預(yù)測目標(biāo)物體的邊界框 (Bounding Box)和類別。YOLO算法通過使用卷積神經(jīng)網(wǎng)絡(luò),可在完整的圖像上同時進行物體檢測,具備實時檢測能力。相較于R-CNN、Fast R-CNN、Faster R-CNN和Mask R-CNN等雙階段目標(biāo)檢測算法,其雖然能夠更準(zhǔn)確地定位目標(biāo)物體的位置和形狀,但需要更多的計算資源和時間。YOLO目標(biāo)檢測算法的快速和準(zhǔn)確性使其在各種實時場景中得到了廣泛應(yīng)用。
YOLOv5是在YOLOv4的基礎(chǔ)上進行改進后目標(biāo)檢測算法。這些改進包括網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化、模型的改進和訓(xùn)練策略的引入,使得YOLOv5在檢測精度和實時性能方面都有所提升。YOLOv5s(Small)、YOLOv5m(Medium)、YOLOv5l(Large)和YOLOv5x(Extra Large)是根據(jù)所需網(wǎng)絡(luò)結(jié)構(gòu)規(guī)模大小分類的4種不同網(wǎng)絡(luò)[19]。不同規(guī)模的網(wǎng)絡(luò)結(jié)構(gòu)可以根據(jù)應(yīng)用需求和硬件條件進行選擇。較小規(guī)模的網(wǎng)絡(luò)結(jié)構(gòu)適合資源有限的設(shè)備和對速度要求較高的場景,而較大規(guī)模的網(wǎng)絡(luò)結(jié)構(gòu)則適用于對精度要求較高的任務(wù)。田間雜草識別模型最終需要應(yīng)用在田間巡檢機器人上,所需目標(biāo)檢測算法應(yīng)具有實時性、輕量級以及消耗計算資源較少等特點,因此本文以YOLOv5s網(wǎng)絡(luò)為基礎(chǔ)進行改進,訓(xùn)練出滿足上述條件的雜草識別模型,YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
YOLOv5s的網(wǎng)絡(luò)結(jié)構(gòu)由輸入層(Input)、主干層(Backbone)、網(wǎng)絡(luò)層(Neck)和檢測層(Detect)四部分構(gòu)成。YOLOv5s的輸入層采用了和YOLOv4相同的將多個圖像拼接成新圖像,并將標(biāo)簽信息進行相應(yīng)調(diào)整的Mosaic數(shù)據(jù)增強方式,在進行網(wǎng)絡(luò)訓(xùn)練時自適應(yīng)地計算不同訓(xùn)練集中的最佳錨框值。主干層使用CSPDarknet53作為其基礎(chǔ)骨干網(wǎng)絡(luò),CSPDarknet53是一種輕量級的骨干網(wǎng)絡(luò),主要由C3模塊組成,其在提供較高的特征表達能力的同時減少了參數(shù)量。
圖3 YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Network structure of YOLOv5s
在YOLOv5的主干層中用C3模塊代替了YOLOv4中的CSP (Cross Stage Partial)模塊,是為了進行圖片的深層特征提取以及特征融合,其網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。C3模塊的結(jié)構(gòu)包含了一系列的殘差塊(Residual Blocks),每個殘差塊中包含了多個并行的卷積分支。這些分支在通道維度上具有不同的卷積核數(shù)量,從而增加了卷積的多樣性和表達能力。通過這種方式,C3模塊可以在保持網(wǎng)絡(luò)輕量級的同時,提升特征的表達能力,從而提高目標(biāo)檢測的性能。
圖4 YOLOv5 C3模塊的網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Network structure of the C3 module of YOLOv5
如圖4右邊圖框所示,Bottleneck模塊是一種殘差網(wǎng)絡(luò)結(jié)構(gòu),主要由3個卷積層組成,其中包含一個1×1的卷積層(通常用于降低輸入特征通道數(shù))、 一個3×3的卷積層(用于提取特征)和一個1×1的卷積層(用于恢復(fù)特征通道數(shù))。通過引入Bottleneck模塊降低特征通道數(shù)來減少計算量,并通過1×1的卷積層來引入非線性變換,使得C3網(wǎng)絡(luò)能夠在保持較少的參數(shù)和計算量的同時,獲得較強的特征表示能力。
主干層底部的SPPF(Spatial Pyramid Pooling-Fast)網(wǎng)絡(luò)通過在不同尺度下進行空間金字塔池化(Spatial Pyramid Pooling)操作來捕捉不同尺度目標(biāo)的特征信息,從而提供更豐富的上下文信息,其結(jié)構(gòu)如圖5所示,主要由3個大小分別為5×5、9×9和13×13的最大池化層組成,將3個池化層并聯(lián)獲取不同尺度的特征后,再與卷積層提取到的特征進行融合,SPPF網(wǎng)絡(luò)便能獲得更具區(qū)分度的特征表示,從而增強目標(biāo)檢測的性能。
圖5 YOLOv5 SPPF模塊架構(gòu)Fig.5 SPPF module architecture of YOLOv5
YOLOv5的網(wǎng)絡(luò)層采用了特征金字塔網(wǎng)絡(luò) (Feature Pyramid Network,FPN)與感知對抗網(wǎng)絡(luò)(Perceptual Adversarial Network,PAN)[20]相結(jié)合的方式,對輸入的特征圖像進行特征融合和定位。FPN中的底層分支從淺層特征圖中提取細節(jié)信息,而頂層分支從深層特征圖中提取語義信息。通過跨層連接和上采樣操作,FPN將這些特征圖進行融合,得到具有多尺度信息的特征金字塔;PAN是一種用于提高特征表示能力和檢測性能的網(wǎng)絡(luò)結(jié)構(gòu),通過引入對抗學(xué)習(xí)的思想,從圖像中提取更具鑒別性的特征[21]。FPN提供了多尺度的特征金字塔,使得網(wǎng)絡(luò)能夠更好地處理不同尺度的目標(biāo)。而PAN通過增強特征的判別能力,提高了目標(biāo)檢測的準(zhǔn)確性和魯棒性。網(wǎng)絡(luò)層最終分別以80 pixel×80 pixel,40 pixel×40 pixel和20 pixel×20 pixel輸出3張?zhí)卣鲌D至檢測層。
檢測層用于圖片中物體的預(yù)測和識別工作。在網(wǎng)絡(luò)層輸出的特征圖中使用錨框(Anchor Box),并以GIOU作為邊界框(Bounding Box)訓(xùn)練的損失函數(shù):
(1)
式中:IoU表示預(yù)測框和真實框的交集面積,AC表示預(yù)測和真實框的最小閉包區(qū)域面積,U表示閉包區(qū)域中不屬于2個框的區(qū)域面積。由圖3可知,在檢測層包含3個卷積層分別對應(yīng)網(wǎng)絡(luò)層80 pixel× 80 pixel、40 pixel×40 pixel和20 pixel×20 pixel的輸入特征圖,用于檢測圖像中不同尺寸的目標(biāo)物輸出。每個卷積網(wǎng)絡(luò)層輸出一個3通道的向量,表示為3×(4+1+n),其中3表示3個錨定框,4表示每個包圍框的4個位置坐標(biāo),1表示置信度,n表示邊界框中物體為每個目標(biāo)類別的預(yù)測值[21]。
自然環(huán)境下的田間雜草和作物相依相生且有些雜草和作物幼苗極為相似,為了提高雜草的識別能力,在YOLOv5網(wǎng)絡(luò)模型中引入注意力(Attention)機制。注意力機制是通過計算特征向量的不同權(quán)重,進行加權(quán)求和的一種計算方法[22]。在模型訓(xùn)練過程中,對輸入圖像的不同區(qū)域賦予不同的權(quán)重,表示特征信息的不同重要程度,根據(jù)不同的權(quán)重信息重點關(guān)注顯著性強的信息,減少冗余或噪聲數(shù)據(jù)的干擾,提高識別結(jié)果的準(zhǔn)確性。注意力機制一般分為通道注意力機制、 pixel注意力機制和多階注意力機制。已有研究表明,基于通道注意力機制對物體識別對模型訓(xùn)練的性能具有良好的提升作用[23],通道注意力機制重點根據(jù)不同通道的重要程度,訓(xùn)練模型時重點關(guān)注某些特征通道,其弊端是在進行模型訓(xùn)練時忽略了圖片中不同對象的位置信息。在雜草識別中,雜草的形狀、顏色信息雖然是重點需要關(guān)注的信息,但由于農(nóng)田中含有大量與農(nóng)作物高度相似的雜草,只關(guān)注某些相似特征從而訓(xùn)練出的雜草模型,常常會出現(xiàn)誤判現(xiàn)象,如3.3.3節(jié)實驗所示。因而在訓(xùn)練雜草模型時,需要引入一種根據(jù)圖片中不同對象的位置信息,既能保留目標(biāo)對象所在位置的特征,又能去除其他背景特征的注意力機制。為了有效解決這個問題,本文引入一種既可以捕獲遠程依賴關(guān)系,又可以保留圖像中位置信息的注意力機制,即CA(Coordinate Attention)機制[24]。
CA機制結(jié)構(gòu)如圖6所示,其原理如下:
① 將輸入的圖像文件分別在X軸方向與Y軸方向做最大池化操作,分別得到X軸和Y軸的卷積特征圖。
② 將從X軸提取到的卷積特征圖和Y軸提取到的卷積特征圖進行特征融合,然后通過卷積層來提取特征信息。
③ 經(jīng)過卷積層進行特征融合后的特征信息,進行批歸一化和非線性激活計算不同通道之間的相似性來分配注意力權(quán)重,并且使用h_swish作為激活函數(shù)。
④ 將經(jīng)過批歸一化和h_swish激活函數(shù)得到的全局信息進行分離操作,其目的是通過分離函數(shù)分開輸出2組基于X軸和Y軸的注意力值。
⑤ 將從X軸得到的注意力和從Y軸得到的注意力經(jīng)過Sigmoid歸一化后,進行加權(quán)操作并重復(fù)權(quán)值后輸出。
圖6 CA機制結(jié)構(gòu)原理Fig.6 Structural principle of CA mechanism
模型訓(xùn)練的硬件平臺為西安科技大學(xué)云平臺,主要硬件配置為Intel(R) Core(TM) i5-8300H型 8核2.30 GHz CPU ,16 GB 內(nèi)存, GeForce GTX 1050Ti GPU,操作系統(tǒng)為Windows 10。采用Python 3.6.0語言,并以PyTorch深度學(xué)習(xí)框架為基礎(chǔ),訓(xùn)練融合注意力機制的YOLOv5雜草識別模型。
在自然環(huán)境下不同地塊、不同光照強度,以小麥和常見伴生雜草為試驗對象,共拍攝了230張有效照片,采用分層抽樣法對圖片數(shù)據(jù)進行數(shù)據(jù)增強,并按照3∶1的比例劃分為訓(xùn)練集和測試集。在訓(xùn)練集上采用端到端的學(xué)習(xí)方式訓(xùn)練CA+YOLOv5的深度神經(jīng)網(wǎng)絡(luò),然后保存訓(xùn)練好的模型參數(shù)。在測試集中將包含有作物和雜草的圖片作為輸入進行作物和雜草的定位和檢測,如果目標(biāo)類別和位置預(yù)測正確,認為檢測成功,否則認為檢測失敗。為了說明CA+YOLOv5雜草識別模型的有效性,采用了YOLOv5、YOLOv4、SSD以及Faster R-CNN作為對比方法。
為了準(zhǔn)確分析不同雜草識別模型的性能,本文采用準(zhǔn)確率(Precision,P) 、召回率/查全率 (Recall,R) 、綜合判別參數(shù)F1以及平均準(zhǔn)確率(Average Precision,AP)作為目標(biāo)識別算法的評價指標(biāo),計算如下:
(2)
(3)
(4)
式中:TP表示被正確識別的正樣本的數(shù)量,FP表示負樣本被錯誤識別為正樣本的數(shù)量,FN表示正樣本被錯誤劃分為負樣本的數(shù)量。為了更好地判斷P和R二者對模型的綜合影響,引入綜合判別參數(shù)F1,其是準(zhǔn)確率和召回率的調(diào)和平均數(shù)。P、R以及F1的值越大,表明識別方法的性能越優(yōu)。
(5)
式中:AP為訓(xùn)練模型中準(zhǔn)確性和召回率折線與橫縱坐標(biāo)軸所圍成面積的大小,表示模型性能的優(yōu)劣,n為指訓(xùn)練的批次,Pn為第n次訓(xùn)練得到的準(zhǔn)確率,將n次訓(xùn)練得到的準(zhǔn)確率相加求均值即為AP。AP越大,模型性能越優(yōu)。
3.3.1 融合不同注意力機制的YOLOv5雜草識別結(jié)果分析
為了討論不同注意力機制對本文雜草識別模型的影響,在YOLOv5目標(biāo)檢測算法的基礎(chǔ)上分別融合了SENet(Squeeze-and-Excitation Net)、CBAM(Convolutional Block Attention Module)、ECA(Efficient Channel Attention)以及CA機制進行對比實驗。
將不同的注意力機制融合到Y(jié)OLOv5網(wǎng)絡(luò)的相同位置,并對同一組雜草數(shù)據(jù)集進行訓(xùn)練與測試,性能評價參數(shù)對比如表1所示。從表1可以看出,融合CA機制的YOLOv5目標(biāo)檢測模型在識別雜草的P、R、F1以及AP都有明顯的優(yōu)勢,從而證實2.2節(jié)中的結(jié)論,對于農(nóng)作物與雜草相似度較高的雜草數(shù)據(jù)集,在進行特征學(xué)習(xí)時,除了關(guān)注顏色、形狀等特征外,還需融合一種能夠根據(jù)位置信息去除背景噪聲的注意力機制,即CA。
表1 引入不同注意力機制的參數(shù)對比
為了進一步討論不同注意力機制對本文雜草數(shù)據(jù)集的影響,計算了模型在訓(xùn)練過程中不同迭代次數(shù)下的全類平均準(zhǔn)確率(Mean Arerage Precision,MAP)和分類損失Loss_cls的值,繪制成折線圖如 圖7所示。
(a)MAP折線圖對比
(b)Loss_cls折線圖對比
從圖7(a)可以看出,隨著迭代次數(shù)的增加,融合CA機制得到的MAP值最終穩(wěn)定于0.903,遠高于其他3組實驗組。從圖7(b) 可以看出,當(dāng)?shù)螖?shù)到80~100時,4組實驗曲線收斂,而融合CA機制的Loss_cls值較小于其他3組實驗組,證明CA機制相較于其他注意力機制具有更好的提高雜草識別模型分類能力的效果。
3.3.2 融合CA機制的YOLOv5雜草識別結(jié)果分析
在YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,融合CA機制,分別將CA機制加入主干層的輸入端、C3模塊的輸出端以及主干網(wǎng)絡(luò)的輸出端進行對比實驗。引入CA后的主干層架構(gòu)如圖8所示。
(a)將CA引入輸入端
(b)將CA引入C3后
(c)將CA引入輸出端
將注意力機制CA設(shè)置在YOLOv5s的不同網(wǎng)絡(luò)位置,分別對預(yù)測模型進行訓(xùn)練,然后在相同的測試集上進行雜草識別的性能評價,性能對比如表2所示。從表2可以看出,將CA引入YOLOv5s網(wǎng)絡(luò)的不同部位,對識別模型的性能有很大影響,其中將CA放置在主干層的輸出端位置時識別模型的性能是最優(yōu)的,識別精度達到了0.91,F1達到了0.88。同時也發(fā)現(xiàn),當(dāng)CA放在主干層的輸入端位置時,識別模型的F1和AP最小,說明識別性能差。這是因為將注意力機制引入輸入端位置時,注意力權(quán)重?zé)o法明確表達原始圖像中需要關(guān)注的特征,因而可能會造成網(wǎng)絡(luò)將注意力權(quán)重附加到背景等不需要關(guān)注的地方,最終造成更差的識別結(jié)果,可見將注意力機制引入不當(dāng)?shù)奈恢脮δP驮斐韶撁嬗绊憽?/p>
表2 將CA機制引入主干層不同位置的性能對比Tab.2 Performance comparison of introducing CA me- chanism into different locations of the backbone
為了進一步討論注意力機制設(shè)置在不同網(wǎng)絡(luò)位置時對模型訓(xùn)練的影響,計算了模型在訓(xùn)練過程中不同迭代次數(shù)下的MAP和Loss值,繪制成折線圖如圖9所示。從圖9(a)可以看出,隨著迭代次數(shù)的增加,將CA加入主干層的輸出端位置時得到的MAP值最終穩(wěn)定于0.903,略高于其他2組實驗。從圖9(b) 可以看出,當(dāng)?shù)螖?shù)到70~100時, 3組實驗曲線收斂,而CA加入主干層輸出端位置時,Loss值最終收斂于0.332,小于前2種引入方式,說明CA機制加入主干層的輸出端位置時提升了雜草識別模型的精度。
(b)Loss折線圖對比
3.3.3 融合CA機制的雜草識別方法的泛化性和魯棒性分析
田間一個地塊中地理位置不同的區(qū)域,生長的雜草類型可能會呈現(xiàn)多樣性,且不同位置的雜草可能會具有稀疏、密集,與作物相似或不相似等特性,為了驗證融合CA機制YOLOv5雜草識別模型的泛化性和魯棒性,在原有小麥和長莖葉照片數(shù)據(jù)的基礎(chǔ)上,另外拍攝了一組包含單株和雙株雜草的蔬菜照片共130張作為對照實驗。將原有小麥和雜草的圖像數(shù)據(jù)以及蔬菜和雜草圖像的數(shù)據(jù)集各自分為 2組,第一組是130張原始圖像數(shù)據(jù),第二組是經(jīng)過相同的圖像數(shù)據(jù)增強技術(shù)擴展后的263張圖像數(shù)據(jù),每一組數(shù)據(jù)集中訓(xùn)練集和測試集比例為3∶1, 訓(xùn)練批次為2,權(quán)重文件均為yolo5s.pt,模型訓(xùn)練的迭代次數(shù)均為100。
在包含雜草的小麥和蔬菜的2組數(shù)據(jù)集上分別進行了3次不同的實驗仿真,具體實驗內(nèi)容如下:
① 實驗組1:記作exp100_epoch100,訓(xùn)練集由100張原始照片構(gòu)成,測試集是30張原始待識別的圖片。對YOLOv5s深度神經(jīng)網(wǎng)絡(luò)進行100次迭代訓(xùn)練,保存訓(xùn)練好的模型參數(shù)。
② 實驗組2:記作exp200_epoch100,訓(xùn)練集包含經(jīng)過數(shù)據(jù)增強的200張照片,測試集包含63張待識別的圖片。對YOLOv5s深度神經(jīng)網(wǎng)絡(luò)進行 100次迭代訓(xùn)練,保存訓(xùn)練好的模型參數(shù)。
③ 實驗組3:記作exp200_CA-epoch100,訓(xùn)練集包含經(jīng)過數(shù)據(jù)增強的200張照片,測試集包含 63張待識別圖片,對融合CA注意力機制的YOLOv5s深度神經(jīng)網(wǎng)絡(luò)進行100次迭代訓(xùn)練,保存訓(xùn)練好的模型參數(shù)。
分別針對包含雜草的小麥和蔬菜的2組數(shù)據(jù)集,在3個實驗中分別訓(xùn)練不同的雜草識別模型,并在測試集中進行雜草識別的測試,結(jié)果如圖10所示。
圖10(a)~圖10(c)展示了3組實驗中對密集型雜草和小麥的雜草識別結(jié)果,原圖中右上方是小麥,左下方是一片較為密集的雜草,且小麥和雜草相似度較高。實驗組3CA+YOLOv5s的雜草識別模型完整地識別出了左下角的所有雜草,且沒有將小麥誤判為雜草,平均置信度為0.75。實驗組2在數(shù)據(jù)增強的基礎(chǔ)上訓(xùn)練了YOLOv5s雜草識別模型,識別出了圖左下角大多數(shù)的雜草,平均置信度為0.61。實驗組1的識別結(jié)果最差,只識別出了2片雜草,并將圖片右上方的小麥誤識別為了雜草,識別平均置信度為0.65。實驗表明, CA +YOLOv5雜草識別模型對與作物相似度高的雜草有較高的分類能力和識別準(zhǔn)確度。
圖10(d)~圖10(i)分別展示了對于和蔬菜不相似的雜草使用YOLOv5和CA+ YOLOv5的識別模型在2組數(shù)據(jù)集上的3次實驗結(jié)果。圖10(d)~ 圖10(f)展示了訓(xùn)練好的模型對相似度低的單株雜草的識別結(jié)果。其中實驗組1對蔬菜和單株雜草的識別置信度為0.84,實驗組2的單株雜草識別置信度為0.85,實驗組3單株雜草識別置信度為0.81。圖10(g)~圖10(i)展示了訓(xùn)練好的不同識別模型對蔬菜和雙株雜草的識別結(jié)果。實驗組1對雙株雜草的檢測置信度為0.80,實驗組2對雙株雜草的識別置信度為0.81,實驗組3對雙株雜草識別的置信度為0.80。從圖中識別結(jié)果可以看出,數(shù)據(jù)增強基礎(chǔ)上的CA+YOLOv5雜草識別模型識別性能穩(wěn)定,不同密度雜草識別置信度均達到了0.80以上,而不加入注意力機制的雜草識別模型的性能變化較大。
為了進一步說明CA+YOLOv5雜草識別模型的泛化性和魯棒性,計算了2組不同作物及雜草的識別模型的識別結(jié)果性能評價指標(biāo),如表3和表4所示。從表3的性能評價指標(biāo)可以看出,對于小麥雜草的CA+ YOLOv5識別模型性能在3組實驗中最優(yōu),P達到了0.911,R達到了0.95,F1為0.88,均高于其他2組實驗。從表4的性能評價指標(biāo)可知,蔬菜雜草的識別中CA+ YOLOv5識別模型性能在3組實驗中也是最優(yōu),P達到了0.879,R達到了0.756,F1為0.80,均高于其他2組實驗。
表3 小麥雜草數(shù)據(jù)集不同實驗組的評價指標(biāo)對比Tab.3 Comparison of evaluation indexes of different experimental groups of wheat weed dataset
表4 蔬菜雜草數(shù)據(jù)集不同實驗組評價指標(biāo)對比Tab.4 Comparison of evaluation indexes of different experimental groups of vegetable weed dataset
針對小麥和蔬菜雜草識別2組不同的數(shù)據(jù)集,分別根據(jù)3組實驗訓(xùn)練過程中每一次迭代計算的P、R、MAP和Loss_cls的值,以小麥雜草識別3組實驗的訓(xùn)練數(shù)據(jù)為例繪制了折線圖,如圖11所示??梢钥闯?實驗組3的P、R以及MAP都優(yōu)于其他 2組,其中圖11(d)表明3 組實驗損失函數(shù)均隨著迭代次數(shù)的增加而降低,在0~20次迭代時損失函數(shù)的值下降較快,原因是初始學(xué)習(xí)率CA+YOLOv5雜草識別模型的識別精度較高,具有魯棒性和泛化性。
(a)3組實驗P對比值
(b)3組實驗R對比值
(c)3組實驗MAP對比值
(d)3組實驗Loss_cls對比值
3.3.4 不同雜草識別模型的性能對比分析
為了進一步驗證本文所優(yōu)化的CA+YOLOv5s雜草識別模型相比于傳統(tǒng)目標(biāo)檢測模型的有效性,在相同PyTorch仿真試驗條件下采用相同的圖像預(yù)處理方法,選擇目前物體識別的標(biāo)準(zhǔn)模型YOLOv4、SSD以及Faster R-CNN作為對比方法,并將其均融合CA機制進行對比試驗,訓(xùn)練方式均采用隨機梯度下降的方法,使用一致的學(xué)習(xí)率設(shè)置規(guī)則,Dropout值為0.6,最大迭代次數(shù)為100。在相同的數(shù)據(jù)集上對小麥和雜草進行識別模型的訓(xùn)練,在測試集上對對比模型和本文的CA+ YOLOv5的模型進行性能測試和分析。
在訓(xùn)練過程中,不同迭代次數(shù)下的損失函數(shù)Loss值和MAP值變化如圖12所示。圖12(a)展示了在訓(xùn)練過程中100次迭代時,每次迭代所得到的識別模型的損失函數(shù)Loss值(即真實雜草與識別雜草的偏差)。當(dāng)?shù)螖?shù)為20~40時,CA+ YOLOv5的損失函數(shù)值接近0.031,YOLOv4+CA的損失函數(shù)值接近收斂值0.086,而SSD+CA和Faster R-CNN+CA模型的訓(xùn)練損失函數(shù)值仍在下降中,當(dāng)?shù)螖?shù)達到80~100時這2類模型才逐漸接近收斂值3.851和0.817,且收斂值遠大于CA+YOLOv5和YOLOv4+CA的識別模型。圖12(b)顯示了在100次迭代訓(xùn)練過程中,不同識別模型MAP值的變化情況,設(shè)定每迭代10次進行一次MAP值輸出。從圖12(b)可以看出,在模型訓(xùn)練的過程中Faster R-CNN+CA識別模型的MAP值較高于YOLOv4+CA和SSD+CA模型,最終穩(wěn)定在0.832。而YOLOv4+CA和SSD+CA識別模型的MAP值分別穩(wěn)定于0.232和0.739, Faster R-CNN+CA相比較于YOLOv4+CA與SSD+CA目標(biāo)檢測算法具有更好的識別效果,但復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)導(dǎo)致訓(xùn)練時間長。CA+YOLOv5模型在訓(xùn)練過程中的MAP值為 0.904,優(yōu)于其他3種對比方法。
不同識別模型的性能評價指標(biāo)值對比結(jié)果如 表5所示。從表5可以看出,本文建立的CA+YOLOv5的雜草識別模型對小麥和周圍相似雜草的P比Faster R-CNN+CA高出0.065,遠遠高于YOLOv4+CA。CA+YOLOv5的R遠高于YOLOv4+CA和SSD+CA,略高于Faster R-CNN+CA。CA+YOLOv5的AP為0.904,比Faster R-CNN+CA模型增加了 0.072,遠高于SDD+CA和YOLOv4+CA。CA+YOLOv5的F1均高于其他3種模型。同時Faster R-CNN+CA模型訓(xùn)練時長為2 h 39 min 46 s,是CA+YOLOv5模型訓(xùn)練時長的4.18倍。綜合分析所有的性能指標(biāo)值,CA+YOLOv5雜草識別模型的識別效果最優(yōu)。
(a)4種目標(biāo)檢測模型得到的損失值對比
(b)4種目標(biāo)檢測模型得到的MAP對比
表5 不同雜草識別模型的性能指標(biāo)比較Tab.5 Comparison of performance indicators of different weed identification models
田間自然環(huán)境下的雜草和生長中的綠色麥苗相比有較高的相似性,但從圖像特征的角度雜草比麥苗的紋理方向更加復(fù)雜。為了提高麥田中雜草的識別精度,在 YOLOv5深度神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,引入一種既可以捕獲遠程依賴關(guān)系,又可以保留圖像中精確位置信息的CA注意力機制,建立了CA+YOLOv5的麥田雜草識別模型。將CA注意力機制設(shè)置在YOLOv5網(wǎng)絡(luò)的主干層輸出端時,有效提高了模型對密集型雜草的識別能力,其P、R、F1、AP評價指標(biāo)的值分別達到了0.911、0.950、0.88、0.904。下一步將展開雜草識別模型輕量化的研究,為田間自動化機械除草提供技術(shù)支持。