范天浩 ,顧寄南 ,王文波 ,左 宇 ,季 晨 ,侯征輝 ,盧寶勇 ,董鈞逸
(江蘇大學機械工程學院,鎮(zhèn)江 212013)
金銀花是一種廣泛分布于中國各省的草本植物,種植面積大,品種多,具有較高的藥用價值[1],其功效主要是清熱解毒,消炎退腫,尤其主治發(fā)炎發(fā)熱[2-3],且保存和沖泡方便,因此也有較高的經(jīng)濟價值。目前金銀花的采摘方式主要是依靠農(nóng)民手工采摘或者采用小型手持采摘器采摘,費時費力,效率低下。在現(xiàn)代農(nóng)業(yè)生產(chǎn)中,農(nóng)業(yè)采摘越來越偏向機械化和智能化,越來越多的采摘機器人投入生產(chǎn)使用,并逐步代替人類勞動力,但是目前尚未有成型的金銀花采摘機器人。為解決目前金銀花人工采摘操作不便,效率不高的問題,有必要設計一種金銀花采摘機器人,而實現(xiàn)金銀花的識別及模型輕量化是設計采摘機器人的基礎。
由于人工智能技術的發(fā)展,許多基于圖像處理和機器學習的目標檢測方法開始應用于農(nóng)業(yè)采摘領域。呂小蓮等[4]針對采摘機器人對西紅柿識別不準的情況,建立了基于色差信息改進Ostu 分割算法的識別模型,準確率可達98%以上。熊俊濤等[5]選取HSV 顏色模型進行閾值分割,并利用模糊C-均值聚類法(fuzzy c-means, FCM)對圖像中荔枝果實和果梗進行分割,提高了識別準確率。BAI 等[6]針對成熟番茄的定位不準確問題,提出了一種結合霍夫圓檢測和輪廓擬合的采摘點定位方法,能夠達到理想的識別效果。
但使用傳統(tǒng)機器學習對農(nóng)作物進行目標檢測的方法容易受到地形、天氣、相機和農(nóng)作物之間距離等因素的影響,而且需要人工輸入特征并調(diào)整特征的閾值,訓練時間較長且精度較低,因此在復雜情況下難以獲得準確的識別效果。近年來,隨著計算機硬件的升級,神經(jīng)網(wǎng)絡算法的創(chuàng)新以及智能化設備的需求擴大,深度學習方法逐漸應用于農(nóng)業(yè)生產(chǎn),特別是農(nóng)業(yè)機器人采摘領域。ZHENG 等[7]提出了一種新的骨干網(wǎng)絡R-CSPDarknet53,以提高遠距離小目標水果的檢測精度。LI 等[8]通過調(diào)整檢測層的數(shù)量并引入BiFPN(加權雙向特征金字塔網(wǎng)絡)模塊,提高了模型的檢測精度,同時引入深度可分離卷積和Ghost 模塊,降低模型的復雜性,便于之后移動端的部署。WANG 等[9]提出一種DSE(細節(jié)語義增強)模塊用于檢測小水果,該模塊利用逐點卷積和擴展卷積來提取水平和垂直維度上的各種細節(jié)和語義特征,同時構造了指數(shù)增強二叉熵(EBCE)和雙增強均方誤差(DEMSE)損失函數(shù),提高了小目標物體的識別精度。
近年來,越來越多學者在研究模型輕量化方面做出貢獻,通過減少模型的參數(shù)量、計算量和權重大小,使之更加方便部署到移動端。林森等[10]提出一種基于改進YOLOv5 的水下珍品檢測方法,通過引入注意力機制和Ghost 模塊,提升了識別準確率并且降低了網(wǎng)絡的參數(shù)。王政等[11]通過剪枝操作降低了網(wǎng)絡的參數(shù)量并提高了檢測速度。尚鈺瑩等[12]提出了一種基于 YOLOv5s 深度學習的蘋果花朵檢測方法,經(jīng)過對比發(fā)現(xiàn)YOLOv5 模型具有較高的精度及較快的速度。龔惟新等[13]在 YOLOv5s基礎上引入 C3HB 模塊和交叉注意力模塊,實現(xiàn)了模型的輕量化。
以上研究提出了很多應用于農(nóng)業(yè)采摘領域的算法,在農(nóng)作物識別方面取得了很大的突破,但是目前鮮有針對金銀花采摘提出目標識別方法。本文針對現(xiàn)有目標檢測模型在識別金銀花時存在精度較低、參數(shù)量和計算量較高、模型權重占用內(nèi)存較大、不利于移動端部署等問題,開展關于金銀花目標檢測模型的輕量化研究,通過把YOLOv5s 模型Backbone 層中的主干網(wǎng)絡替換為EfficientNet 輕量化模型中的主干網(wǎng)絡,實現(xiàn)模型輕量化,同時針對模型精度較低問題,將Neck 層中的上采樣模塊替換為CARAFE 上采樣模塊,提高模型對于金銀花的識別精度,提高采摘效率,為金銀花采摘機器人的設計提供參考。
1.1.1 圖像獲取
金銀花圖像的采集地為江蘇省鎮(zhèn)江市京口區(qū)衡山,拍攝日期為2022 年5 月中旬至6 月中旬期間,拍攝時間為09:00 至15:00,拍攝設備為手機,在自然光下拍攝,采集不同環(huán)境條件下的圖像,其中包括順光、逆光、近距離、遠距離、俯角、仰角等多種情況,盡可能提高數(shù)據(jù)的多樣性,提高模型的泛化能力,共得到金銀花圖像共2 198 張,分辨率為544×960 像素。后期對采集的圖像進行人工篩選,去除因拍攝因素或天氣原因存在的不清晰圖像,去除距離較遠的模糊圖像和不存在金銀花的圖像后,共得到金銀花圖像1 430 張,其中包括未開苞和已開苞的金銀花,部分采集的圖像如圖1 所示。為提高模型的識別精度,應該盡可能提供多種環(huán)境下的金銀花圖像,所以從網(wǎng)絡選取部分金銀花圖像加入自己所拍攝的圖像集中,得到金銀花數(shù)據(jù)集,共有1 456 張圖像。
圖1 圖1 部分采集圖像Fig.1 Partially captured images
1.1.2 數(shù)據(jù)集制作
通過LabelImg 標注軟件對數(shù)據(jù)集中的1 456 張金銀花圖像進行標注,用水平矩形框將圖像中的金銀花框出。因本研究著重為了識別金銀花,開苞與未開苞的金銀花均可進行采摘,所以將數(shù)據(jù)集中的所有金銀花標注為同一類別。同時,拍攝圖像的遠處背景中存在金銀花虛化且不易見的情況,為了減少標注難度,不對一張圖像中像素小于20×20 以及被遮擋部分超過70%的金銀花進行標注,保存標注信息為txt 格式。目前主流的小數(shù)據(jù)集劃分通常按照8∶2 或9∶1 的比例劃分訓練集和驗證集,為了盡可能減少訓練集過多帶來的過擬合現(xiàn)象且提高訓練的精度,按照85%和15%的比例將圖像集劃分為訓練集和驗證集,其中訓練集1 238 張,驗證集218 張。
目前,主流的目標檢測模型分為二階段模型(twostage)和一階段模型(one-stage)兩種。其中,二階段目標檢測模型首先生成候選目標區(qū)域(region proposal),然后利用卷積神經(jīng)網(wǎng)絡進行樣本的分類和回歸,代表性的網(wǎng)絡模型有R-CNN[14]、SPP-Net[15]、Fast R-CNN[16]、Faster R-CNN[17]和R-FCN[18]等。一階段目標檢測模型直接在網(wǎng)絡中提取特征,預測物體的類別和位置,其特點是減少了網(wǎng)絡的訓練時間和模型的復雜程度,速度較快,更適合移動端的部署,代表性的網(wǎng)絡模型有SSD[19]、RetinaNet[20]和YOLO[21-24]系列等。
YOLOv5 相比于之前的YOLO 系列目標檢測模型更加注重小目標的檢測,而且擁有較高的精度和速度。YOLOv5 一共給出了5 個版本,按照模型大小從小到大排列,分別是 YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLO5x。這些模型的寬度和深度不同,使得YOLOv5 能適用不同的數(shù)據(jù)集,方便用戶進行選擇。因為本研究只識別金銀花一個類別,且考慮到需要實時檢測和方便部署,所以采用參數(shù)量和計算量較少的YOLOv5s 模型作為基礎模型,YOLOv5s 模型結構如圖2 所示。
圖2 YOLOv5s 模型結構Fig.2 YOLOv5s model structure
YOLOv5s 目標檢測模型主要包括輸入層(Input)、主干網(wǎng)絡(Backbone)、頸部網(wǎng)絡(Neck)和預測層(Detect)4個部分。輸入層的作用是將圖像傳入模型,對其進行預處理操作;主干網(wǎng)絡的作用是對圖像進行特征提取,YOLOv5s 模型主干網(wǎng)絡采用CSPDarkNet53 結構;Neck層的作用是對主干網(wǎng)絡提取的特征進行特征融合,使用特征金字塔網(wǎng)絡[25](feature pyramid network, FPN)和路徑聚合網(wǎng)絡[26](path aggregation network, PAN)來增強特征的融合程度,提高了網(wǎng)絡對不同特征層特征的識別能力;Detect 層的作用是對3 個不同維度的特征進行預測,得到網(wǎng)絡預測的類別和位置信息。
YOLOv5s 目標檢測模型由于其較高的識別精度和較快的識別速度,目前已大量運用在農(nóng)業(yè)領域[27-28]。近幾年來目標檢測領域快速發(fā)展,YOLO 系列更新迭代較快,目前已推出YOLOv7、YOLOv8 等版本并改進[29-30],但目前目標檢測方面的文獻多數(shù)是圍繞五代開展的 ,采用YOLOv5 方便進行對比和改進,且部署和加速也是使用v5 居多,而且由于迭代較快,實質上YOLOv5 之后的系列網(wǎng)絡版本相差不大。因此,本研究使用YOLOv5s 為基礎模型來識別金銀花,并在此基礎上進行輕量化改進,使其更適合部署在移動端設備上。
EfficientNet[31]是TAN 在2019 年提出的一種輕量化卷積神經(jīng)網(wǎng)絡模型。它不僅能通過增加網(wǎng)絡的通道數(shù)、增加網(wǎng)絡的層數(shù)和提高圖像的分辨率來提高特征提取能力,提高模型的識別精度,而且能夠有效避免出現(xiàn)梯度消失,計算量增大等問題,從而取得最佳結果。與傳統(tǒng)網(wǎng)絡相比,EfficientNet 首先通過NAS(neural architecture search)技術搜索出了EfficientNetB0 的結構,如表1 所示,此外,它還提出了一個混合縮放方法(compound scaling method),以獲得最佳的網(wǎng)絡寬度、深度和輸入圖像分辨率縮放系數(shù),并且通過這個系數(shù)對網(wǎng)絡的寬度、深度和輸入圖像分辨率進行縮放。與其他輕量化卷積神經(jīng)網(wǎng)絡相比,EfficientNet 的優(yōu)點在于能夠更好地平衡訓練速度和精度,使網(wǎng)絡的訓練更加有效。
表1 EfficientNetB0 結構Table 1 EfficientNetB0 structure
在EfficientNetB0 結構中,階段1 是包含卷積核大小為3×3,步距為2 的卷積、 BN 層、Swish 激活函數(shù)的卷積層,階段2-8 是重復堆疊的MBConv 結構,如圖3 所示,目的是通過提升網(wǎng)絡的寬度和深度來提高網(wǎng)絡對于特征的提取能力;而階段9 是由一個卷積核大小為1×1的卷積層,一個Pooling(平均池化層)和一個FC(fully connected layer)全連接層組成,目的是將階段2-8 中提取的特征進行輸出;表1 中MBConv1 在特征提取時不擴充特征的通道數(shù),MBConv6 表示將特征的通道數(shù)擴充為輸入特征通道數(shù)的6 倍,目的是將特征在通道維度上進行擴充;k3×3 表示在MBConv 結構中采用卷積核大小為3×3 的卷積,k5×5 表示在MBConv 結構中采用卷積核大小為5×5 的卷積。
圖3 MBConv 結構Fig.3 MBConv structure
在MBConv 結構中,第一個卷積層包含卷積核大小為1×1,步距為1 的卷積、BN 層和Swish 激活函數(shù),作用是擴充特征的通道數(shù),當Operator 為MBConv1 時,輸出通道數(shù)和輸入通道數(shù)保持一致,不存在第一個模塊,當Operator 為MBConv6 時,輸出通道數(shù)擴充為輸入通道數(shù)的6 倍;第二個模塊是一個卷積核大小為3×3 或5×5 的Depthwise Conv(深度可分離)[32]卷積,包含BN層和Swish 激活函數(shù)的卷積層,作用是減少模型的參數(shù)量和計算量;第三個模塊是SE[33]注意力機制模塊,作用是提高模型對特征的提取能力,提高模型的精度和識別效果;第四個模塊是卷積核大小為1×1,步距為1,包含BN 層和Swish 激活函數(shù)的卷積層,作用是降低特征的通道數(shù),使用方法和第一個模塊一致;第五個模塊是Dropout 層,根據(jù)所給參數(shù)的不同,按照一定的概率將神經(jīng)網(wǎng)絡中的權重暫時丟棄,防止該處權重過大,該模塊的作用是防止網(wǎng)絡訓練時產(chǎn)生過擬合的現(xiàn)象;根據(jù)Layers 參數(shù)的不同,在一個Stage 中,當?shù)谖鍌€模塊的輸出與MBConv 結構的輸入特征大小一致時,將Dropout 模塊的輸出結果和MBConv 結構的輸入特征進行殘差連接,得到MBConv 結構的輸出結果,若第五個模塊的輸出與MBConv 結構的輸入特征大小不一致時,不進行殘差連接,直接輸出Dropout 模塊之后的結果作為MBConv 結構的輸出。
目前,在圖像分類和目標檢測的網(wǎng)絡模型中,上采樣[34]是一個非常重要的操作,尤其是在特征金字塔網(wǎng)絡(feature pyramid networks, FPN)中得到了顯著的應用。當前主流的上采樣方法分為兩種,插值上采樣和反卷積上采樣。插值上采樣主要有最臨近上采樣和雙線性上采樣,但是他們只關注到了局部的特征,忽視了特征圖全局的語義信息,且感受野較小,不能準確反映圖像的全局特征。反卷積上采樣在特征圖中進行上采樣時使用同一個卷積核,不能針對特征進行調(diào)整,從而忽視了圖像的部分語義特征,這會導致引入較大的參數(shù)量和計算量,同時會增加訓練的時長,不適用于輕量化的網(wǎng)絡模型。針對以上上采樣方法的不足之處,本研究使用CARAFE[35]上采樣替換YOLOv5s 模型中原本的插值上采樣模塊,CARAFE 上采樣模塊的具體結構如圖4 所示。
圖4 CARAFE 上采樣模塊Fig.4 CARAFE Upsampling module
CARAFE 上采樣主要分為核預測模塊(kernel prediction module)和重組模塊(content-aware reassembly module)。首先,特征圖像被傳入核預測模塊,用一個卷積核為1×1 的卷積進行降維處理,將原本的通道數(shù)C降為Cm,Cm表示降維后的特征層通道數(shù),如式(1)所示:
其中σ 為上采樣的倍數(shù),通常為2,Kup為預測的上采樣核的大小。
通過使用pixelshuffle[36]方法,將特征圖的高、寬、通道數(shù)依次reshape(重組)為σH、σW、Kup×Kup,得到預測的上采樣核,對預測結果進行Softmax 歸一化處理;然后將特征圖像傳入重組模塊,使每一層特征圖上的特征與預測的上采樣核進行乘積,得到的結果即為上采樣的結果。由于CARAFE 上采樣能夠針對不同的特征分別生成不同的上采樣核,關注到了特征在全局特征圖中的分布,提高了關注目標特征的權重大小。因此相比起插值上采樣方法,該方法能夠在略微提高參數(shù)量的基礎上,提高上采樣時對于重要特征的識別能力,提高了網(wǎng)絡對特征的提取能力。
由于EfficientNet 輕量化網(wǎng)絡能夠有效減少模型的參數(shù)量和計算量,減小生成模型權重的大小,同時還不會造成太多的精度下降,因此將YOLOv5s 的Backbone 層中的主干網(wǎng)絡替換為EfficientNet 的主干網(wǎng)絡,同時保留原本YOLOv5s 中的SPPF 模塊,目的是能夠在減少參數(shù)量和計算量的同時,對不同特征層的特征進行融合,提高模型對于特征的提取能力,從而提高模型的訓練精度;為了彌補EfficientNet 輕量化網(wǎng)絡帶來的精度不足問題,將YOLOv5s 網(wǎng)絡模型Neck 層中的插值上采樣模塊替換為CARAFE 上采樣模塊,針對不同的特征生成不同的上采樣核,提高了上采樣時對于全局特征的識別能力,目的是能夠在略微提高參數(shù)量的同時,提高模型對于特征的提取能力,從而提高模型的檢測精度,改進后的輕量化YOLOv5s 模型結構如圖5 所示。
圖5 輕量化YOLOv5s 網(wǎng)絡模型Fig.5 Lightweight YOLOv5s network structure
本研究模型均在Windows 10 操作系統(tǒng)下進行訓練,使用的CPU 為Intel i5-12600kf,GPU 為NVIDIA GTX 3 070顯卡,顯存為8 GB,主機內(nèi)存為32 GB,CUDA 版本為11.3.1,Cudnn 版本為8.4.0,Python 版本為3.9,使用Pytorch 深度學習框架,Pytorch 版本為1.12.1,torchvision版本為0.13.1,torchaudio 版本為0.12.1。
訓練過程中,設置圖片輸入尺寸為640×640 像素,批量大小設置為16,進程works 設置為4,使用隨機梯度下降(stochastic gradient descent, SGD)作為優(yōu)化器,學習率設置為0.05,動量設置為0.937,權重衰退系數(shù)設為0.1,訓練輪數(shù)設置為400 輪。
本研究主要采用精確度P(Precision),召回率R(Recall),平均精度均值(mAP)來體現(xiàn)模型的訓練精度;采用參數(shù)量(parameters),計算量(computation),模型權重大小來體現(xiàn)模型的復雜程度;采用幀率(FPS)來體現(xiàn)模型實時檢測性能。其中精確度P表示所有樣本中預測正確樣本所占的比例,如式(2)所示:
召回率R表示預測正確樣本占所有正樣本的比例,如式(3)所示:
平均精度均值mAP 即為平均精度(average precision,AP)的均值,平均精度AP 即為P-R曲線的面積,如式(4)所示:
式中TP表示被正確預測為正樣本的數(shù)量,F(xiàn)P表示被錯誤預測為正樣本的數(shù)量,F(xiàn)N表示被錯誤預測為負樣本的數(shù)量,N表示類別的數(shù)量,在本研究中只討論金銀花一個類別,故此時N=1。
比較兩組護士生的理論考核成績,由考核組教師統(tǒng)一命題、統(tǒng)一閱卷,滿分為100分;實踐操作能力和溝通能力,由考核組教師統(tǒng)一制作評估表,評估全部護士生的病情觀察、體格檢查、護理操作、溝通交流等能力,實踐操作能力和溝通能力的滿分均為100分。
3.3.1 輕量化網(wǎng)絡消融試驗分析
本節(jié)主要對2.3 小結改進的輕量化網(wǎng)絡模型進行分析和驗證。針對原始YOLOv5s 目標檢測模型參數(shù)量和計算量較多,模型權重文件占用內(nèi)存較大的問題,本研究改進了YOLOv5s 網(wǎng)絡的結構,引入EfficientNet 輕量化模型的主干結構,并且將Neck 層中的上采樣替換為CARAFE 上采樣,在減少參數(shù)量和計算量的同時提高了模型的精度,使其更適用于金銀花的識別及后期的部署?;赮OLOv5s 做了輕量化改進并進行消融試驗,具體試驗結果如表2 所示。
表2 輕量化模型消融試驗結果Table 2 Ablation test result of lightweight model
根據(jù)表2 的消融試驗可得出,使用EfficientNet 模型的主干網(wǎng)絡替換YOLOv5s 原始模型的主干網(wǎng)絡,可以在基本保持mAP 不變,略微降低召回率的情況下,大幅減少模型的參數(shù)量和計算量,同時也能夠減少模型生成的權重文件大小,分析原因在于EfficientNet 模型的主干網(wǎng)絡使用了深度可分離卷積,極大減少了模型在普通卷積時所產(chǎn)生的參數(shù)量和計算量,同時擴充了網(wǎng)絡的寬度,深度和分辨率,保證了網(wǎng)絡輕量化的同時又具有較高的識別精度;從消融試驗中還可以看出,替換CARAFE 上采樣后,相比原始YOLOv5s 網(wǎng)絡能夠有效提升模型的精確度,召回率和平均精度,分別提升1.6,1.5 和0.9個百分點,但是同樣也會帶來輕微的參數(shù)量和計算量提升,分析原因在于由于CARAFE 上采樣針對不同特征層采用不同的上采樣核,相比傳統(tǒng)插值上采樣更能關注特征的全局信息,而不是只關注局部信息,因此會帶來精度的提升,但同時由于需要預測不同的上采樣核,也會相應帶來參數(shù)量和計算量的上漲。
通過消融試驗對比也可看出,對模型進行輕量化改進之后,召回率R會出現(xiàn)輕微的下降,經(jīng)分析發(fā)現(xiàn)輕量化模型會在一定程度上降低網(wǎng)絡的復雜程度,從而降低模型對于網(wǎng)絡的提取能力,這是網(wǎng)絡輕量化所無法避免的。然而,本研究中只對金銀花一個類別進行識別,召回率對于金銀花識別的重要性弱于精確度和平均精度,且主要目標是模型的輕量化,在精確度P和平均精度mAP 均有所提高的前提下,召回率R輕微下降所帶來的影響可以忽略不計。
綜合消融試驗,在平衡模型輕量化和識別精度的前提下,本研究采用EfficientNet+CARAFE 的改進方法改進基于YOLOv5s 的輕量化金銀花目標檢測模型,并將其命名為EC-YOLOv5s 網(wǎng)絡。其相比于YOLOv5s 網(wǎng)絡模型,參數(shù)量僅為原始模型的55.5%;計算量僅為原始模型的49.4%;權重大小僅為原始模型的57.4%,并且精確度和平均精度達到了90.7%和91.8%,相比原始YOLOv5s 模型分別提高1.9 和0.6 個百分點,能夠在達到輕量化目的的同時提高模型對于金銀花的識別精度。
3.3.2 不同算法對比試驗分析
表3 不同模型對比試驗結果Table 3 Comparison test results of different models
根據(jù)表3 的試驗結果可以看出,F(xiàn)aster-RCNN 網(wǎng)絡模型的參數(shù)量和計算量較多,生成的權重較大,且mAP最低,分析為二階段目標檢測模型不適用于此數(shù)據(jù)集;SSD 網(wǎng)絡模型的參數(shù)量和計算量均低于Faster-RCNN,權重也略有減少,mAP 提高到了80.7%,說明對于此個金銀花數(shù)據(jù)集,一階段目標檢測模型的結構優(yōu)于二階段模型,但是參數(shù)量和計算量還是較大,不適合部署到移動端,且識別精度不適用于精確采摘;YOLOv4 網(wǎng)絡模型的參數(shù)量最多,計算量和模型權重也較大,且精度較差,不適用于金銀花的識別;YOLOv6s 與YOLOv7-tiny網(wǎng)絡模型為YOLO 系列最近提出的算法,其中tiny 輕量化模型在擁有較少的參數(shù)量和計算量的前提下獲得了不錯的精度,而v6s 模型在此基礎上提高參數(shù)量和計算量,同時也提高了模型的精度,但還是存在模型權重過大的問題;EC-YOLOv5s 與原始YOLOv5s 網(wǎng)絡的對比在3.2.1 節(jié)消融試驗中已經(jīng)說明。此外,一般實時檢測要求每秒檢測圖片張數(shù)大于24,根據(jù)表中可以看出,改進后的網(wǎng)絡模型EC-YOLOv5s 檢測速度優(yōu)于包括YOLOv7 在內(nèi)的所有模型,僅略低于原始的YOLOv5s 模型,分析原因在于更換了Neck 層的上采樣后略微提高了模型的推理時間,但是還是遠大于24 幀/s 的最低要求,能夠完成實時檢測的任務。
從試驗結果可以看出,改進后的網(wǎng)絡模型ECYOLOv5s 在替換了EfficientNet主干網(wǎng)絡和替換了CARAFE 上采樣之后擁有最少的參數(shù)量和計算量,生成的權重文件最小,且其mAP 最高,在輕量化的同時實現(xiàn)了最高的識別精度,且檢測速度較高,能滿足實時檢測的需求。
3.3.3 結果分析
不同目標檢測模型對金銀花的識別效果如圖6 所示。
圖6 不同模型對于金銀花的識別效果Fig.6 Recognition effects of different models on honeysuckle
由結果可以看出,對于不同光線和不同形態(tài)的金銀花,改進后的輕量化模型識別效果優(yōu)于其他目標檢測模型,能夠準確識別出金銀花的位置,置信度較高,預測框能夠完整地包裹住金銀花和識別出重疊的金銀花,且不存在漏檢的情況;YOLOv4 網(wǎng)絡模型置信度較差,且不能完全識別出圖像中所有的金銀花,存在缺檢漏檢的情況,因此不適用于金銀花的識別;SSD 網(wǎng)絡模型雖然置信度較高,但也存在缺檢漏檢的情況,對于遮擋的金銀花識別效果不佳,不能對金銀花進行精確的識別;Faster-RCNN 網(wǎng)絡模型雖然置信度較高,且能識別出遮擋的金銀花,但是對金銀花的位置識別準確度不夠,預測框不能完整并準確地包裹住金銀花,金銀花會超出預測框的范圍,這會影響金銀花的精確定位,影響下一步的采摘效果,且識別速度較低,不能滿足移動端實時檢測的任務;YOLOv6s、YOLOv7-tiny 模型對于金銀花的識別效果弱于YOLOv5s 和改進后的EC-YOLOv5s 模型,分析原因在于YOLOv6、v7 系列網(wǎng)絡為最新推出的YOLO 系列識別模型,主要提升在于檢測多目標物體,本數(shù)據(jù)集只存在金銀花一個類別,使用YOLOv5 為基礎模型的效果更優(yōu)。
根據(jù)對比試驗和模型識別結果可以看出,基于YOLOv5s 改進的輕量化金銀花目標檢測模型不但擁有最小的參數(shù)量和計算量,生成的模型權重最??;而且在識別金銀花時效果最好,擁有最高的mAP 精度,能夠準確識別被遮擋的金銀花,不存在缺檢漏檢的情況,不會出現(xiàn)檢測框未能完全包裹金銀花的情況,且檢測速度能滿足實時檢測的需求。綜上可知,改進后的模型能夠較好地滿足識別金銀花的需求,且權重較低,更適合移動端的部署和日后集成到采摘機器人上。
本文在YOLOv5s 目標檢測模型的基礎上進行改進,替換了模型Backbone 層中的主干網(wǎng)絡,并且替換了Neck層中的上采樣模塊,在減少模型參數(shù)量和計算量的同時,降低了模型的權重,提高了檢測的精度,提高了對金銀花的識別效率且使其更方便部署在移動端上。通過對改進后的模型進行消融試驗和與其他目標檢測模型進行的對比試驗,可以得出以下結論:
1)用EfficientNet 輕量化模型的主干網(wǎng)絡替換YOLOv5s 的主干網(wǎng)絡,實現(xiàn)了模型的輕量化;并將Neck 層中的上采樣模塊替換為CARAFE 上采樣模塊,改進后的輕量化模型參數(shù)量僅為原始YOLOv5s 模型的55.5%;計算量僅為原始模型的49.4%;模型權重僅為原始模型的57.4%,并且精確度和平均精度達到了90.7%和91.8%,相比原始YOLOv5s 模型分別提高1.9 和0.6個百分點,說明改進后的模型在輕量化的同時也具有較高的識別精度。
2)改進后輕量化網(wǎng)絡檢測效果優(yōu)于原始YOLOv5s網(wǎng)絡,且優(yōu)于更為先進的YOLOv6、YOLOv7 網(wǎng)絡模型。相比于目前主流的目標檢測模型,改進后的輕量化模型對于金銀花的識別效果更好,能精準識別重疊和被遮擋的金銀花,且速度較快,能滿足實時檢測的需求,驗證了本文改進的輕量化金銀花目標檢測模型的可行性,為下一步金銀花采摘機器人的設計提供了參考。