馬瑞峻,何浣冬,陳 瑜,賴宇豪,焦 銳,唐 昊
(華南農(nóng)業(yè)大學(xué)工程學(xué)院,廣州 510642)
近年來,我國火龍果種植面積快速增長,達到約6 萬hm2。隨著種植規(guī)模的擴大,實現(xiàn)果園的自動化和智能化管理是生產(chǎn)規(guī)?;闹匾h(huán)節(jié)[1-2]。果園智能化管理中成熟度識別可以幫助果園管理者更加準確地掌握果實的生長和成熟情況,優(yōu)化果實采摘時間,從而提高果園生產(chǎn)效率。在果園管理中坐果偏多的莖條需要進行疏果,從而提升火龍果果實的甜度,對未成熟果實進行套袋處理[3-4],避免果實在生長過程中受到傷害,有利于果實表皮著色更加均勻,成熟后需要對火龍果適時采摘,如果錯過最佳采摘時機,可能導(dǎo)致果實內(nèi)部的營養(yǎng)流失,影響果實的口感。由于火龍果每年結(jié)果最高可達14 個批次[5],目前對火龍果生長狀態(tài)的監(jiān)測以人工為主,缺乏系統(tǒng)的管理。因此,通過目標檢測算法監(jiān)測提供火龍果不同成熟度的分布信息成為合理安排勞動力適時疏果、套袋和采摘的必要方法。
國內(nèi)外的果實識別和不同成熟度分類等研究已取得了一定進展。在傳統(tǒng)目標檢測方法上,鄧子青等[6]通過Otsu算法與形態(tài)學(xué)處理的方法實現(xiàn)對成熟火龍果的識別,KURTULMUS 等[7]通過顏色特征與Gabor濾波處理對未成熟的綠色柑橘進行檢測。這些方法大多基于閾值分割[8-9]、顏色空間轉(zhuǎn)換[10-12]和形態(tài)學(xué)方法[13-14]相結(jié)合對果實進行檢測,往往過于依賴人工提取的特征,導(dǎo)致在自然的環(huán)境下的魯棒性和泛化性比較差。
近年來,深度學(xué)習(xí)技術(shù)發(fā)展迅速,基于深度學(xué)習(xí)的目標檢測算法愈發(fā)成熟,在農(nóng)業(yè)應(yīng)用中自然環(huán)境復(fù)雜多變,基于深度學(xué)習(xí)的目標檢測算法通過不斷訓(xùn)練自動從圖像中提取目標的抽象特征,與傳統(tǒng)檢測算法相比,顯著提高了目標檢測算法的泛化能力和魯棒性[15-17]。一般來說,基于深度學(xué)習(xí)的目標檢測算法中可分為兩類,一類是生成可能包含目標的區(qū)域,再進行分類和回歸[18],具有代表性的算法有:R-CNN[19]、Faster R-CNN[20]、Mask R-CNN[21];另一類是基于回歸的算法,模型是同時預(yù)測目標的坐標和類別,具有代表性的算法有:SSD[22]、YOLO[23]、CornerNet[24]等。
YOLO 是基于回歸的算法,自提出以來因網(wǎng)絡(luò)結(jié)構(gòu)簡單和檢測速度極快得到廣泛地使用,且經(jīng)過多次迭代后,YOLO 算法的檢測精度也得到了很大的改善。2020 年LI 等[25]提出一種改進YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu)檢測識別成熟火龍果,該模型基于輕量化骨干網(wǎng)絡(luò)的MobileNet 的網(wǎng)絡(luò)結(jié)構(gòu),通過堆疊深層可分離卷積塊的設(shè)計減少了計算量,該方法的F1 值為78.6%,平均耗時4.7 ms,但該方法存在對遮擋果實是否能有效識別的問題。JUNOS等[26]提出使用DenseNet 骨干網(wǎng)絡(luò)改進YOLOv3 模型,在各種自然條件下準確檢測油棕松散果實,結(jié)果表明,該模型平均精度為99.76%,平均檢測耗時為34.06 ms,比YOLOv3平均檢測時間快6 ms且平均精度沒有下降。宋懷波等[27]提出了一種利用視覺注意力機制改進YOLOv4 網(wǎng)絡(luò)的YOLOv4-SENL 模型,該模型的平均精度為98.3%,結(jié)果表明SE-NL 注意力模塊合適地融入網(wǎng)絡(luò)結(jié)構(gòu)中,能有效提升了自然環(huán)境下蘋果幼果的檢測精度。ZHENG 等[28]針對果園中的綠色柑橘提出使用加權(quán)雙向特征金字塔網(wǎng)絡(luò),通過融合多層特征的提高目標檢測的準確度,結(jié)果表明,該模型平均精度為91.55%,比使用特征金字塔網(wǎng)絡(luò)平均精度高3.39%。TIAN 等[29]使用YOLOv3 模型研究在自然環(huán)境下檢測對不同成長階段的蘋果,該模型通過添加密集連接網(wǎng)絡(luò)來增強特征傳遞能力,從而提高了模型的檢測精度。ZHANG 等[30]使用多種優(yōu)化方法對YOLOv5 模型改進,該研究通過將DenseNet、SE 注意力模塊和Bi-FPN 相結(jié)合來檢測田間未開放的棉鈴,該方法在檢測精度、計算量、模型大小和速度等方面均優(yōu)于多種檢測模型。WANG 等[31]使用改進的YOLOv5模型檢測將SAM 和Bi-FPN 相結(jié)合,并提出使用DIoU 作為模型的損失函數(shù),準確檢測小目標蘑菇的產(chǎn)量和種類,該模型的平均精度達到99.24%,檢測性能明顯優(yōu)于未改進前的YOLOv5模型。
為了能夠準確并快速地在果園中檢測火龍果的成熟度,本研究在YOLOv5檢測模型的基礎(chǔ)上進行改進,提出一種輕量化網(wǎng)絡(luò)PITAYA-YOLOv5。PITAYA-YOLOv5 采用PPLCNet[32]替換YOLOv5 的骨干網(wǎng)絡(luò)來大幅減少模型的參數(shù)量,在骨干網(wǎng)絡(luò)中融合注意力模塊加強對特征的提取,引入加權(quán)雙向特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)彌補網(wǎng)絡(luò)輕量化帶來的準確性降低,并引入αDIoU[33]進行對網(wǎng)絡(luò)損失函數(shù)優(yōu)化。本研究通過對YOLOv5 網(wǎng)絡(luò)進行改進,并在自然的環(huán)境下進行火龍果目標檢測試驗,對改進后的方法進行準確性與實時性驗證。
YOLOv5 目標檢測模型采用跨階段局部網(wǎng)絡(luò)(cross stage partial darknetwork,CSPDarkNet)和空間金字塔池池化(spatial pyramid pooling,SPP)結(jié)構(gòu)組成的骨干網(wǎng)絡(luò)進行特征提取[34],與其他輕量級網(wǎng)絡(luò)相比,CSPDarkNet的參數(shù)量較大,需要更多的存儲空間和計算資源,為了在基本不影響準確率的前提下,降低該網(wǎng)絡(luò)的參數(shù)量并且提升檢測速度,本研究以PPLCNet 為靈感,將骨干網(wǎng)絡(luò)CSPDarkNet 替換成PPLCNet,然后根據(jù)火龍果目標的特點進行優(yōu)化設(shè)計。
PPLCNet 是基于百度開源深度學(xué)習(xí)框架PaddlePaddle 開發(fā)的檢測網(wǎng)絡(luò),相較于常用的識別檢測網(wǎng)絡(luò),PPLCNet 的參數(shù)量小且更注重不同優(yōu)化策略的結(jié)合,提高準確性和檢測速度。本研究將PPLCNet 設(shè)計為YOLOv5的骨干網(wǎng)絡(luò),其設(shè)計思想包括兩部分:(1)通過堆疊模塊構(gòu)建了一個類似MobileNet的骨干網(wǎng)絡(luò),使用深度可分離卷積(Depthwise separable convolution,DepthSepConv)代替標準卷積提取特征信息,并且這些模塊沒有特征圖相加額外操作,加快了模型的推理速度。而卷積操作中對卷積核的大小比較敏感,且卷積核大小往往影響模型的最終檢測能力,所以模型對淺層信息使用3×3的卷積核進行深度可分離卷積特征提取,而對于深層信息,使用5×5的卷積核進行深度可分離卷積特征提取,使用更大的卷積核是為了模型能獲取更大的感受野的同時,保證模型的推理速度。圖1中為本研究使用的輕量級的深度可分離卷積模塊。(2)SE 注意力模塊可以使神經(jīng)網(wǎng)絡(luò)保留更多的特征信息并確保模型的表達能力,從而提高模型的性能,本研究將其引入PPLCNet骨干網(wǎng)絡(luò)中,以提高火龍果重要特征的權(quán)重。SE 注意力模塊包含兩個分支(圖2),第一個分支進行壓縮和激活輸入特征圖的每個通道。首先對輸入特征使用全局平均池化來進行壓縮,對每個特征層求平均值,用平均值表示特征層的特征。特征圖經(jīng)過壓縮后需要進行激活,各特征圖的平均值進行非線性處理,并與另一個殘差分支重新加權(quán)特征映射。SE 注意力模塊通過構(gòu)建出模型不同通道上的依賴關(guān)系從而提升網(wǎng)絡(luò)的性能。然而盲目增加SE模塊會增加推理時間[35],所以本研究將僅引入一個SE注意力模塊到骨干網(wǎng)絡(luò)中。
圖1 深度可分離單元結(jié)構(gòu)示意圖Figure 1 Schematic diagram of DepthSepConv block
圖2 SE注意力模塊示意圖Figure 2 Schematic diagram of SE block
錨框是一組預(yù)定義的邊界框,用于在圖像中生成候選框,YOLOv5 模型是采用k-means 聚類算法基于COCO數(shù)據(jù)集真實框的尺寸訓(xùn)練出9個不同尺寸的錨框。
k-means 聚類算法在初始化過程中是將數(shù)據(jù)集劃分成k個互不相交的子集,即簇,然后隨機選取了k個點作為聚類的簇中心,最后計算每個簇與簇中心之間的距離,把每個對象分配給距離它最近的蔟中心[36]。由于k-means 算法受初始點選取的影響,這種方法容易導(dǎo)致聚類結(jié)果收斂到局部最優(yōu)解,因此本研究將使用kmeans++算法。k-means++算法是基于k-means算法在初始化過程中改進的聚類算法,通過點之間的距離相似度將數(shù)據(jù)分為損失最小的k個簇,這種方法能夠更好地保證初始簇中心的分布性,避免了隨機選擇帶來的負面影響,從而使得聚類結(jié)果更加準確、穩(wěn)定和快速收斂[37]。
本研究對火龍果數(shù)據(jù)集進行k-means++算法生成錨框(圖3)。當簇中心數(shù)量為9 之后重疊率趨于平穩(wěn)(圖3a)。為平衡模型復(fù)雜度與高召回率,因此將簇中心數(shù)量設(shè)定為9,此時的錨框尺寸分別為(19,15)、(42,37)、(82,69)、(89,141)、(158,121)、(173,259)、(253,187)、(215,498)、(372,309)(圖3b)。將聚類結(jié)果按照大小順序分配到20×20,40×40,80×80共3個預(yù)測尺度,對各個尺度分配3個錨框。
圖3 平均重疊率與聚類錨框尺寸Figure 3 Average overlap rate and cluster anchor size
為了在復(fù)雜的自然環(huán)境下獲得精準的火龍果果實位置和類別信息,需要優(yōu)化損失函數(shù),平衡預(yù)測框定位、置信度、類別的訓(xùn)練誤差,預(yù)測框與標定框之間定位損失由IoU(Intersection over Union)損失函數(shù)表示。IoU 由檢測框與真實框的交集與并集之比構(gòu)成,IoU和IoU損失函數(shù)(LIoU)計算公式為:
式中:Bgt為真實框的面積;B為預(yù)測框的面積。
然而,當預(yù)測框與真實框不相交時,IoU此時等于0,IoU損失函數(shù)不能繼續(xù)優(yōu)化,為了提升損失函數(shù)的性能,IoU需要增加非重合區(qū)域占比的懲罰函數(shù)。所以YOLOv5 預(yù)測框的回歸損失函數(shù)默認采用基于IoU的DIoU,DIoU的損失函數(shù)LDIoU計算公式為:
式中:b和bgt為B和Bgt的中心點;ρ為歐幾里得距離;c為B和Bgt之間的最小外接矩形的對角線距離。
本研究采用由IoU損失函數(shù)改進的αIoU作為定位的損失函數(shù)。αIoU由DIoU的基礎(chǔ)上加入冪參數(shù)α,此處α=3。
與DIoU損失函數(shù)相比,αDIoU對小數(shù)據(jù)集和噪聲的魯棒性更強。采用αDIoU度量目標框和預(yù)測框的距離與重合程度,協(xié)調(diào)目標框與預(yù)測框之間的距離,重疊率、尺度以及懲罰項,使目標框回歸變得更加穩(wěn)定。
EfficientDet[38]中使用的Bi-FPN 是一種簡化的PANet(path aggregation network)結(jié)構(gòu)(圖4),相較于PANet 結(jié)構(gòu),由于特征提取的過程中高維特征層與低維特征層的結(jié)點沒有進行特征融合,兩個結(jié)點的提取的特征信息較少,對融合不同特征的特征網(wǎng)絡(luò)的貢獻就會更小,所以Bi-FPN 結(jié)構(gòu)在PANet 結(jié)構(gòu)的基礎(chǔ)上移除了這兩個結(jié)點,并且在中間的特征層加入殘差邊結(jié)構(gòu),在不增加太多計算成本的同時,融合了更多的特征信息。
圖4 特征融合網(wǎng)絡(luò)Figure 4 Feature fusion network
Bi-FPN結(jié)構(gòu)針對融合的各個尺度特征增加了權(quán)重,通過訓(xùn)練以調(diào)節(jié)每個特征尺度的貢獻權(quán)重。Bi-FPN通過快速歸一化融合(fast normalized fusion),它比softmax的優(yōu)化提高了更快的速度,快速歸一化融合的公式為:
式中:ω為各特征層可訓(xùn)練的權(quán)重;Resize 為上采樣或下采樣操作后得到特征層相同的維度;Conv 為特征層融合后進行卷積操作。
Bi-FPN 結(jié)構(gòu)最終將輸出80×80,40×40,20×20 這3 個尺度的特征層作為預(yù)測頭部,并通過PITAYA-YOLOv5的解碼算法生成最后的檢測框。
在當前的目標檢測領(lǐng)域,雖然最先進的目標檢測算法能夠在高性能硬件設(shè)備上實現(xiàn)對火龍果的準確檢測,但在一般嵌入式平臺上無法實現(xiàn)實時檢測。本研究中將基于YOLOv5模型對火龍果檢測任務(wù)進一步優(yōu)化,設(shè)計了一種平衡檢測精度和速度的輕量級目標檢測網(wǎng)絡(luò)。網(wǎng)絡(luò)結(jié)構(gòu)如圖5,網(wǎng)絡(luò)結(jié)構(gòu)由骨干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)和預(yù)測頭部組成,首先,骨干網(wǎng)絡(luò)中對輸入特征圖進行特征提取,其中由PPLCNet 將替換CSPDarkNet,其核心采用深度可分離卷積、批正則化和h-swish 激活函數(shù)提取特征,并在其基礎(chǔ)上使用多個5×5 卷積核替換3×3 卷積核,在卷積過程中令特征圖獲得更大的感受野,不同于標準的卷積方法,該單元在保持較高的檢測精度的同時,減少了計算量和網(wǎng)絡(luò)參數(shù),提高了模型的檢測速度,在骨干網(wǎng)絡(luò)最后一層深度可分離卷積層中引入SE注意力模塊,通過對不同通道之間分配的權(quán)重,加強骨干網(wǎng)絡(luò)對特征的提取能力和融合視覺特征的信息,增強了模型對受遮擋火龍果的關(guān)注度。其次,骨干網(wǎng)絡(luò)卷積運算后的特征映射輸入到頸部網(wǎng)絡(luò),網(wǎng)絡(luò)的核心是Bi-FPN模塊,Bi-FPN作為頸部網(wǎng)絡(luò)用于更高效的多尺度特征融合,它彌補了骨干網(wǎng)絡(luò)卷積過程中的特征損失,進一步增強了模型對火龍果輪廓、顏色和紋理信息的提取。最后在預(yù)測頭部輸出3 種不同尺度(24×80×80)、(24×40×40)和(24×20×20)的特征層進行檢測,提高了網(wǎng)絡(luò)檢測長距離、小體積的火龍果的檢測性能。
圖5 PITAYA-YOLOv5結(jié)構(gòu)示意圖Figure 5 Schematic diagram of PITAYA-YOLOv5 structure
最后,本研究改進后的骨干網(wǎng)絡(luò)細節(jié)如表1。在表1中,Convolution 表示標準卷積,DepthSepConv 表示深度可分離卷積,SE表示是否使用了注意力模塊。
表1 骨干網(wǎng)絡(luò)結(jié)構(gòu)細節(jié)Table 1 Details of backbone network structure
本研究中使用的圖像拍攝于廣州市從化區(qū)億農(nóng)火龍果采摘園,在果園中收集了800 張成熟火龍果、800 張著色期火龍果照片和800 張未成熟火龍果照片,采集的圖像均在自然環(huán)境中拍攝,拍攝場景包括:不同光照條件和不同的遮擋類型。拍攝的圖像分辨率為3 024×4 032,保存為JPEG格式,部分實驗圖像如圖6。
圖6 復(fù)雜環(huán)境下的火龍果圖像Figure 6 Pitaya image in complex environment
對火龍果圖像使用翻轉(zhuǎn)、旋轉(zhuǎn)、平移、增加噪聲、改變亮度和對比度的方法隨機組合以實現(xiàn)數(shù)據(jù)增強,防止在訓(xùn)練期間過擬合,共獲得3 599張圖片,其中2 510張作為訓(xùn)練集,689張作為驗證集,400張作為測試集(表2)。本研究利用LabelImg 圖像標注軟件將圖像中的目標果實所在區(qū)域人工標注成矩形框,采用PASCALVOC 的數(shù)據(jù)集格式進行存儲,其中包含邊框的位置和檢測目標的類別信息。
表2 訓(xùn)練集、驗證集與測試集樣本數(shù)量Table 2 The number of training set,validation set and test set samples
硬件環(huán)境為GeForceRTX3090GPU,顯存為64 GB,安裝的NVIDA 顯卡驅(qū)動為CUDA11.3。CUDA 是NVIDA推出的GPU 并行計算框架,該框架能夠在GPU 上運行,滿足復(fù)雜計算,軟件運行環(huán)境選用Windows10 操作系統(tǒng)、OpenCV開源視覺庫,PyTorch1.10框架,采用PyCharm進行編譯。
目標檢測模型的網(wǎng)絡(luò)輸入維640×640,每次迭代的訓(xùn)練的圖片樣本數(shù)為64,對模型進行500 次迭代,訓(xùn)練時使用Warm up 預(yù)熱方法對學(xué)習(xí)率進行優(yōu)化,初始學(xué)習(xí)率為0.01,權(quán)重衰減系數(shù)為0.000 5,學(xué)習(xí)動量為0.8,模型每訓(xùn)練一次保存一次權(quán)重。
目標檢測模型的評價指標為準確率P(Precision,%)和召回率R(Recall,%),為了度量準確度和召回率在實際檢測過程中的表現(xiàn)能力,本研究使用平均精度均值mAP(mean Average Precision,%)和調(diào)和平均值F1 作為評價模型效果的綜合評估指標,計算公式為:
式中:TP(true positives)為模型檢測正確目標的數(shù)量;FP(false positives)為模型檢測錯誤目標的數(shù)量;FN(false negatives)為模型漏檢目標的數(shù)量;N為檢測目標的類別數(shù)量;i為某一具體的類別;AP為每一類火龍果的平均精度值;mAP為兩類火龍果的平均精度的均值;F1 為準確率和召回率的調(diào)和平均值。
迭代訓(xùn)練過程中的損失曲線和驗證集中各項性能指標曲線如圖7。在迭代訓(xùn)練的過程中前100 輪損失下降速度最快,100 輪之后驗證總損失逐漸趨于穩(wěn)定,表明模型已經(jīng)達到擬合(圖7a)。通過訓(xùn)練過程中的驗證集的性能指標準確率P、召回率R、平均精度均值mAP和調(diào)和平均值F1 變化曲線可知,模型訓(xùn)練過程中在前100輪變化不斷地快速上升,之后的訓(xùn)練過程指標緩慢上升(圖7b)。由于mAP綜合考慮3 個類別的火龍果的準確率和召回率,所以,本模型選取mAP最優(yōu)輪數(shù)時的權(quán)重值作為模型權(quán)重,此時mAP為94.90%,P為93.34%,R為89.49%,F(xiàn)1值為91.37%。
圖7 訓(xùn)練過程損失曲線與驗證集的性能指標Figure 7 Training process loss curve and performance index of verification set
YOLOv5模型進行DIoU與αDIoU對比,從表3中可看出,隨著置信度閾值的提高,mAP不斷下降,所以模型的置信度閾值設(shè)定為0.5。在不同置信度閾值的情況下,αDIoU相比DIOU的mAP均有所提升,這表明αDIoU擁有更高的回歸精度。
表3 不同置信度閾值下的ɑDIoU和DIoU的mAPTable 3 mAP values of ɑDIoU and DIoU under different confidence thresholds
對PITAYA-YOLOv5模型進行了4組消融試驗,各性能指標如表4消融試驗結(jié)果所示。由消融試驗結(jié)果可知,YOLOv5 骨干網(wǎng)絡(luò)替換為PPLCNet 的mAP 為93.57%,F(xiàn)1 值為90.25%,第2 組試驗在對比第1 組基礎(chǔ)上引入SE 注意力模塊,改進后的模型在mAP提升0.06 個百分點,F(xiàn)1 值提升0.35 個百分點,SE 注意力模塊可對骨干網(wǎng)絡(luò)的特征圖進行通道上的信息進行融合,使模型對特征通道更加關(guān)注從而提升檢測精度。第3 組試驗在第2組的基礎(chǔ)上使用加權(quán)雙向特征金字塔改進頸部網(wǎng)絡(luò),mAP提升0.86 個百分點,F(xiàn)1 值提升了0.69 個百分點。這是由于Bi-FPN加權(quán)雙向特征金字塔提升了高維特征層與低維特征層特征融合的效率,提高了模型對不同尺度的特征提取能力。第4組試驗在第3組的基礎(chǔ)上使用aDIoU改進損失函數(shù),模型的mAP提升0.43個百分點,F(xiàn)1值提升了0.1 個百分點,αDIoU對DIoU進行冪化,有助于提高目標框的回歸精度。通過綜合引入SE 注意力模塊、Bi-FPN 加權(quán)雙向特征金字塔和aDIoU損失函數(shù)后的模型比原始使用PPLCNet骨干網(wǎng)絡(luò)的mAP提升了1.33個百分點,F(xiàn)1 值提升了1.12 個百分點。通過消融試驗發(fā)現(xiàn),三者配合使用可以對YOLOv5 目標檢測模型的性能提升,綜合使用3種方法得到的改進YOLOv5模型可以達到較好的檢測效果。
表4 消融試驗結(jié)果Table 4 Ablation experiment results
為了直觀體現(xiàn)改進的有效性,使用表4 中第1 組與第4 組的PITAYA-YOLOv5 目標檢測模型對不同光照、不同遮擋情況情況下不同成熟度的火龍果進行檢測。測試結(jié)果如圖8,其中不同光照程度下,檢測火龍果的置信度兩種算法差距不大,當檢測的著色期和未成熟火龍果有枝條遮擋時,改進后PITAYA-YOLOv5識別的置信度為0.66 和0.87,高于改進前第1 組的置信度0.2 和0.56。置信度的提高表明模型獲得了更豐富的語義信息,這是由于模型的加權(quán)雙向特征金字塔對于高維特征與低維特征的有效融合,融合后的特征圖能夠使模型的檢測效果變得更好。當檢測成熟火龍果間遮擋和未成熟火龍果間遮擋時,第1 組的檢測模型存在對兩個火龍果識別為同一個目標的問題,而PITAYA-YOLOv5 并未出現(xiàn)漏檢,這是因為SE 注意力模塊對關(guān)注的區(qū)域特征選擇性地對權(quán)重增大,所以當果實有重疊遮擋時,不同的果實因其高權(quán)重的區(qū)域特征得到保留,在一定程度上解決了重疊造成的漏檢問題。
圖8 PITAYA-YOLOv5改進前后對不同場景下的火龍果檢測效果Figure 8 PITAYA-YOLOv5 test results of Pitaya under different scenes before and after improvement
為了獲得一個實時、準確、可靠和易于部署的火龍果檢測模型,本研究使用6 種不同算法對同一火龍果數(shù)據(jù)集進行訓(xùn)練,統(tǒng)計各模型的指標性能并進行比較。本研究將使用同一火龍果數(shù)據(jù)集分別訓(xùn)練常用的目標檢測算法,如Faster R-CNN、CenterNet、YOLOv3,YOLOv5以及輕量化骨干網(wǎng)絡(luò)ShuffleNetv2。
各目標檢測模型的性能指標統(tǒng)計結(jié)果如表5,檢測結(jié)果的對比主要體現(xiàn)在檢測性能、模型規(guī)模和檢測速度3 個方面,可以發(fā)現(xiàn):本研究的PITAYA-YOLOv5 的mAP、F1 值分別為94.9%、91.4%。其中檢測精度最好的是YOLOv5s 的mAP和F1 值分別為96.0%和92.3%,其次是YOLOv3 的mAP和F1 值分別為95.3%和91.5%。盡管改進后的PITAYA-YOLOv5 檢測精度略低于YOLOv5s和YOLOv3,但它仍高于其他算法,且模型大小和浮點運算數(shù)為8.1 M 和8.2 M。在檢測速度上,改進后的PITAYA-YOLOv5 有最快的檢測速度,比檢測精度最高的YOLOv5提升了約25%的速度,檢測單張圖片的僅需要20.2ms。較快的檢測速度可以在檢測火龍果時降低時間成本,同時考慮到移動端設(shè)備存儲空間和計算能力有限,改進后的模型在保持較高的檢測精度的前提下降低了部署難度,因此PITAYA-YOLOv5更適合移動端設(shè)備的部署并且能高效率地進行火龍果檢測。
表5 不同的目標檢測模型性能結(jié)果Table 5 Performance results of different target detection models
本研究關(guān)注的是相對單一的區(qū)域,僅限于廣州市從化區(qū)億農(nóng)火龍果采摘園,且對單一火龍果品種進行了研究,缺乏普遍性,還需要針對不同地區(qū)和火龍果品種進行研究。另外,下一步可設(shè)置農(nóng)用無人車搭載高清相機和火龍果成熟度目標檢測模型,設(shè)定巡查路線定時定點巡視。
本研究以火龍果為研究對象,對YOLOv5 目標檢測網(wǎng)絡(luò)進行改進,提出了一種改進的YOLOv5 目標檢測模型(PITAYA-YOLOv5),并對不同成熟度的火龍果進行試驗分析和評價。本研究在YOLOv5目標檢測模型的基礎(chǔ)上使用PPLCNet替換CSPDarkNet并引入SE注意力模塊,使用Bi-FPN結(jié)構(gòu)對原來的PANet特征金字塔改進,加強了高維特征層與低維特征層特征融合的效率,同時,使用αDIoU損失函數(shù)替代原本的DIoU損失函數(shù),提高了目標的回歸精度。改進后的PITAYA-YOLOv5模型mAP和F1值分別提升了1.33個百分點和1.12個百分點。檢測效果表明,PITAYA-YOLOv5有利于提高火龍果的檢測精度和正確檢測相互重疊的火龍果。
本研究所提出的PITAYA-YOLOv5 在驗證集下的mAP為94.9%,F(xiàn)1 值為91.4%,模型大小為8.1 M,平均檢測時間為20.2 ms。通過不同的目標檢測算法Faster R-CNN、CenterNet、YOLOv5s-ShuffleNetv2、YOLOv3 和YOLOv5s,本研究在保持較高的檢測精度的前提下,降低了模型部署難度和檢測時間,這使得該模型更適合移動端設(shè)備中進行高效率的火龍果檢測。