摘要:為了解決蘋果采摘機(jī)器人識(shí)別算法中涉及到的復(fù)雜網(wǎng)絡(luò)架構(gòu)及大量參數(shù)占用內(nèi)存巨大、計(jì)算需求龐大所導(dǎo)致的檢測(cè)模型反應(yīng)緩慢等問(wèn)題,提出一種改進(jìn)YOLO v5模型的輕量級(jí)果園蘋果檢測(cè)算法。首先,使用帶有SE注意力機(jī)制的DepthSepConv模塊和改進(jìn)的Fast-C3模塊對(duì)YOLO v5的Backbone網(wǎng)絡(luò)部分進(jìn)行重組,保持較高的精確率的同時(shí)減小模型體積;其次,用改進(jìn)的Fast-C3模塊替換整個(gè)Neck部分的C3模塊,提高模型的準(zhǔn)確率;替換頸部網(wǎng)絡(luò)的普通卷積為Ghostconv,進(jìn)一步降低模型的參數(shù)量與體積;最后,引入SIoU損失函數(shù),使回歸精確率和收斂速度得到提高。試驗(yàn)結(jié)果表明,該模型對(duì)蘋果檢測(cè)mAP為94.0%、模型計(jì)算量為8.4G FLOPs、體積僅為7.3 M。對(duì)比YOLO v5原模型,在mAP提高0.3百分點(diǎn)的情況下,計(jì)算量降低46.84%,模型體積縮減49.31%。于嵌入式平臺(tái)上進(jìn)行應(yīng)用測(cè)試,實(shí)時(shí)檢測(cè)速率達(dá)到了18.76 幀/s,約為原模型檢測(cè)速率的1.5倍。因此,優(yōu)化后的YOLO v5輕型模型不僅提升了識(shí)別準(zhǔn)確性,并明顯減少了計(jì)算負(fù)載量與模型大小,使得它能在嵌入式設(shè)備上快速有效地捕捉并分析復(fù)雜果園場(chǎng)景下的蘋果信息。
關(guān)鍵詞:果園蘋果;YOLO v5s;輕量化;Fast-C3;SIoU;嵌入式設(shè)備
中圖分類號(hào):TP391.41 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1002-1302(2024)17-0200-09
收稿日期:2024-06-26
基金項(xiàng)目:湖北省自然科學(xué)基金(編號(hào):2019CFB813)。
作者簡(jiǎn)介:朱齊齊(1996—),男,安徽阜陽(yáng)人,碩士研究生,主要研究方向?yàn)榍度胧介_(kāi)發(fā)。E-mail:zqq13155642201@163.com。
通信作者:陳西曲,博士,教授,主要研究方向?yàn)榧t外成像技術(shù)、電子信息處理技術(shù)、嵌入式技術(shù)、圖像處理技術(shù)。E-mail:cxqdhl@whpu.edu.cn。
蘋果作為一種營(yíng)養(yǎng)豐富、投入高、產(chǎn)出高的水果,在我國(guó)具有重要的地位。然而,蘋果采摘幾乎完全依賴于人力手工方式進(jìn)行,這大約占到全過(guò)程工作量的一半[1],消耗了大量的時(shí)間和人力資源。因此,蘋果采摘機(jī)器人具有極大的研究?jī)r(jià)值。這種機(jī)器人主要是由視覺(jué)識(shí)別技術(shù)和機(jī)械手臂裝置構(gòu)成[2]??焖僮R(shí)別、準(zhǔn)確定位是現(xiàn)有采摘機(jī)器人普遍遇到的技術(shù)難題,也是采摘作業(yè)最關(guān)鍵的一環(huán)。因此,如何迅速且精確地辨識(shí)并定位果實(shí),已經(jīng)成為自動(dòng)采摘的核心研究?jī)?nèi)容[3]。
多種因素會(huì)干擾成熟蘋果的智能辨識(shí)過(guò)程,例如:光線差異導(dǎo)致的顏色分布不均,采收時(shí)的日光強(qiáng)度、氣象與風(fēng)向狀況,樹(shù)枝、葉子、果實(shí)的遮蔽作用等。這些采集過(guò)程中的現(xiàn)實(shí)干擾因素直接影響了模型的識(shí)別準(zhǔn)確率,并可能導(dǎo)致錯(cuò)誤分類或遺漏等情況發(fā)生。此外,嵌入式設(shè)備的算力有限,過(guò)于復(fù)雜的模型可能會(huì)降低其執(zhí)行效率,很難進(jìn)行實(shí)際應(yīng)用。如何既能保持高準(zhǔn)確率,又能提升處理速率,是非結(jié)構(gòu)化背景下蘋果鑒別的主要難題和研究重點(diǎn)[4]。
近些年,由于深度學(xué)習(xí)的持續(xù)發(fā)展,以高魯棒性和自我調(diào)整能力為顯著特征的卷積神經(jīng)網(wǎng)絡(luò)已成為蘋果識(shí)別算法的主要工具[5-7]。目前,用于蘋果識(shí)別的各種算法主要可劃分為兩大類別。一是以準(zhǔn)確度為主導(dǎo)的類別,比如R-CNN[8]、Faster R-CNN[9-10]等,通過(guò)生成一系列目標(biāo)候選框進(jìn)行定位,然后對(duì)樣本進(jìn)行分類。Gao等利用改進(jìn)后的 Faster R-CNN網(wǎng)絡(luò)對(duì)枝葉遮擋問(wèn)題嚴(yán)重的蘋果進(jìn)行檢測(cè),平均精確達(dá)到了87. 9%,且每幅圖像的平均檢測(cè)時(shí)間為0.241 s[11]。此類算法檢測(cè)速度慢,訓(xùn)練時(shí)間長(zhǎng),不利于算力不足的嵌入式平臺(tái)。另一種類別的策略是把目標(biāo)識(shí)別和預(yù)判分類同步執(zhí)行,使得其檢測(cè)效率更高,比如SSD[12] (single shot MultiBox detector)、YOLO[13](you only look once)等。羅志聰?shù)忍岢鲆粋€(gè)以改良版的YOLO v5為基礎(chǔ)的百香果低功耗檢測(cè)模型(MbECA-v5),提升了檢測(cè)準(zhǔn)確率,并明顯減少計(jì)算量及模型大小,使之能在嵌入式設(shè)備中實(shí)時(shí)有效地對(duì)繁雜果園場(chǎng)景下的百香果進(jìn)行檢測(cè)[14]。張恩宇等利用SSD算法與U分量閾值分割法相結(jié)合,得到一種高精度識(shí)別算法[15]。汪穎等引入完全交并比非極大抑制算法和加權(quán)雙向特征金字塔網(wǎng)絡(luò),得到一種用于復(fù)雜環(huán)境下的果蔬檢測(cè)YOLO v5算法,改進(jìn)的YOLO v5算法的平均識(shí)別精確率達(dá)到92.5%,相比于原始YOLO v5算法提高3.5%,能夠在復(fù)雜情況下快速準(zhǔn)確地識(shí)別果蔬[16]。此類算法雖然在精確率和速度方面取得了單方面的進(jìn)展,但對(duì)于嵌入式平臺(tái)上的檢測(cè)速度和精確率沒(méi)有達(dá)到很好的平衡。
雖然高性能平臺(tái)展開(kāi)的蘋果檢測(cè)算法已經(jīng)取得了不錯(cuò)的進(jìn)展,但在資源有限的嵌入式平臺(tái)上,檢測(cè)速度與檢測(cè)精確率的平衡須作更進(jìn)一步的研究。本研究在真實(shí)果園環(huán)境中,以蘋果為檢測(cè)目標(biāo),針對(duì)算力有限的嵌入式設(shè)備,提出一種改進(jìn)YOLO v5模型的輕量級(jí)果園蘋果檢測(cè)算法。該算法主要以Fast-C3模塊和深度可分離卷積相結(jié)合的方式將模型主干輕量化,減少計(jì)算量和提升檢測(cè)速度;并利用GhostConv替換neck網(wǎng)絡(luò)中的普通卷積,在不影響檢測(cè)精確率的前提下,使模型的參數(shù)量和計(jì)算量降低,檢測(cè)速度得到提升;引入新的激活函數(shù)SIoU來(lái)提高預(yù)測(cè)框的回歸精確率和收斂速度。在保證檢測(cè)準(zhǔn)確率的前提下,實(shí)現(xiàn)模型的輕量化并可以在嵌入式平臺(tái)上部署,從而減少邊緣計(jì)算設(shè)備的使用,進(jìn)一步滿足實(shí)時(shí)檢測(cè)的需求。
1 YOLO v5s算法
YOLO v5是一種單階段目標(biāo)檢測(cè)算法[17]。圖1為YOLO v5s的網(wǎng)絡(luò)結(jié)構(gòu),一般由4個(gè)部分構(gòu)成:輸入端、主干網(wǎng)絡(luò)(Backbone)、頸部(Neck)、預(yù)測(cè)端(Head)。
Mosaic數(shù)據(jù)增強(qiáng)、對(duì)果園蘋果圖片尺寸的自適應(yīng)處理以及錨框計(jì)算優(yōu)化[18],為輸入端提供了豐富的圖片信息,首先執(zhí)行隨機(jī)縮放、剪裁和排列,然后將其輸入到網(wǎng)絡(luò)中。
主干網(wǎng)絡(luò)(Backbone)主要實(shí)現(xiàn)對(duì)蘋果的特征進(jìn)行提取,其中包含了Focus模塊、標(biāo)準(zhǔn)卷積(CBS)模塊、C3模塊、SPPF模塊。Focus模塊會(huì)把給定的水果圖片切成小塊,以獲取其特性的深度描述;CBS 是基于CSP架構(gòu)進(jìn)行改良的結(jié)果,由于過(guò)度使用梯度的副作用,導(dǎo)致算法復(fù)雜度過(guò)大且耗費(fèi)大量資源,因此移除后續(xù)批次規(guī)范化的步驟與激活因子環(huán)節(jié),進(jìn)而降低運(yùn)行成本。最后的 SPPF階段則負(fù)責(zé)整合來(lái)自各種大小果實(shí)的獨(dú)特屬性作為最終結(jié)果,這不僅提升了整體模型識(shí)別準(zhǔn)確率,還增強(qiáng)了解析能力。
頸部(Neck)網(wǎng)絡(luò)的主要功能是整合蘋果的特性,其構(gòu)建方式主要是基于路徑聚合網(wǎng)絡(luò)(PANet)[19]。通過(guò)自頂向下的方法,F(xiàn)PN[20]可以提高目標(biāo)識(shí)別的效果;而PAN則采用自底向上的方式來(lái)獲取豐富且多樣的位置信息。最終,會(huì)在backbone中對(duì)各種層次的信息進(jìn)行綜合處理,從而強(qiáng)化特征抽取的能力,使PANet網(wǎng)絡(luò)能夠承載更多的語(yǔ)義信息,并進(jìn)一步加強(qiáng)定位的功能。
預(yù)測(cè)端(Head)包含3個(gè)層次,每個(gè)層次都對(duì)應(yīng)著不同的特征圖尺寸,目的是為了識(shí)別大小各異的目標(biāo)。每個(gè)Head會(huì)接收到不同的向量,從而依據(jù)這些向量來(lái)確定原始圖像中目標(biāo)的預(yù)測(cè)框位置和類別信息。
2 Fast-YOLO v5網(wǎng)絡(luò)
針對(duì)YOLOv5s算法部署在嵌入式平臺(tái)上體積
大和檢測(cè)速率低的問(wèn)題,提出的Fast-YOLO v5算法主要做了以下3個(gè)方面的改進(jìn)。(1)對(duì)特征提取網(wǎng)絡(luò)(Backbone)的改進(jìn)?;贔ast-Block、PConv改進(jìn)原模型的C3模塊,得到新的輕量化模塊Fast-C3。利用Fast-C3模塊替換原網(wǎng)絡(luò)主干中的C3模塊,再引入DepthSepConv模塊替換主干中的所有Conv。其中,第8層的Fast-C3模塊也由DepthSepConv模塊替換。同時(shí),在主干網(wǎng)絡(luò)的最后2個(gè)深度可分離卷積層引入SE通道注意力機(jī)制。更改后的主干網(wǎng)絡(luò)如表1 所示。(2)對(duì)于特征融合網(wǎng)絡(luò)(Neck)的改進(jìn)。同樣使用Fast-C3模塊替換原有的C3模塊,為了提升實(shí)時(shí)性、降低復(fù)雜度,使得模型輕量化,使用GhostConv 代替普通卷積,使檢測(cè)精確率得到保證的情況下,進(jìn)一步降低模型的參數(shù)量和計(jì)算量。(3)損失函數(shù)的改進(jìn)。為了應(yīng)對(duì)果園蘋果檢測(cè)數(shù)量大、目標(biāo)小、位置密集的特點(diǎn),在信息高度分布的區(qū)域中,CIoU往往忽略考慮預(yù)測(cè)框和地面實(shí)況框之間的定向差異,可能存在預(yù)測(cè)框具有較大自由度且與地面實(shí)況框的匹配收斂速度差的情況,這使得模型存在定位錯(cuò)誤問(wèn)題。因此,引入SIoU損失函數(shù)來(lái)代替CIoU損失函數(shù)。Fast-YOLO v5模型如圖2所示。
2.1 深度可分離卷積
MobileNet v1[21]提出了一種深度可分離卷積,它把普通的卷積操作分為2個(gè)部分:深度卷積和逐點(diǎn)卷積。深度卷積利用將卷積核轉(zhuǎn)為單通道的方式,逐點(diǎn)卷積利用對(duì)特征圖進(jìn)行維數(shù)改變的方式,如此就可以大幅降低運(yùn)算負(fù)擔(dān)。由圖3可見(jiàn),設(shè)輸入特征圖寬、高分別為DW、DH,輸入通道為M,輸出通道為N,卷積核用DK表示,可得標(biāo)準(zhǔn)卷積參數(shù)量Ps、計(jì)算量Fs:
Ps=DK×DK×M×N;(1)
Fs=DK×DK×M×N×DW×DH。(2)
同理可得深度可分離卷積參數(shù)量Pd、計(jì)算量Fd(圖4):
Pd=DK×DK×M+M×N;(3)
Fd=DK×DK×M×DW×DH+M×N×DW×DH。(4)
通過(guò)計(jì)算可得,深度可分離卷積的參數(shù)量和計(jì)算量與標(biāo)準(zhǔn)卷積的參數(shù)量和計(jì)算量的比值為1N+1D2K,當(dāng)卷積核DK取3時(shí),易知深度可分離卷積的參數(shù)量和計(jì)算量約降至原標(biāo)準(zhǔn)卷積的19~18,可大大減小模型的計(jì)算成本。
2.2 SE注意力機(jī)制
SE通道注意力機(jī)制[22]是針對(duì)卷積神經(jīng)網(wǎng)絡(luò)中信息特征的構(gòu)造問(wèn)題所提出的,SE組件可以通過(guò)通道的相互依存關(guān)系來(lái)增強(qiáng)特征響應(yīng),強(qiáng)化重要特征而弱化次要特征。它主要由壓縮、激勵(lì)2個(gè)部分組成,首先把輸入的特征圖的信息進(jìn)行壓縮,然后將輸入的特征圖與其所學(xué)到的信息進(jìn)行融合,得到最終的特征信息。SE模塊首先通過(guò)卷積操作生成特征U,然后進(jìn)行全局平均池化,將特征層維度壓縮至1×1×C,再進(jìn)行激勵(lì)操作,通過(guò)全連接層生成所需要的權(quán)重信息, 最后將原特征U進(jìn)行權(quán)重幅賦值得到最終的特征圖。
2.3 Fast-C3模塊
在CVPR2023最新發(fā)布的FasterNet論文中指出了實(shí)現(xiàn)更高FLOPs的重要性,不應(yīng)為了更快的神經(jīng)網(wǎng)絡(luò)而減少FLOPs[23]。引入了一種簡(jiǎn)單但快速且有效的卷積PConv,推出了FasterNet主干網(wǎng)絡(luò),這種網(wǎng)絡(luò)在GPU、CPU、ARM處理器等多種設(shè)備上運(yùn)行良好且普遍快速。借鑒其中的思想,設(shè)計(jì)基于Fast-Block、PConv的新的C3模塊:Fast-C3。
2.3.1 PConv
由于特征圖在不同通道之間具有高度相似性,造成大量冗余。而PConv可以同時(shí)減少計(jì)算冗余和內(nèi)存訪問(wèn),其工作原理如圖5所示。
此種方法只在輸入通道的一部分上應(yīng)用常規(guī)Conv進(jìn)行空間特征提取,并保持其余通道不變。對(duì)于連續(xù)或規(guī)則的內(nèi)存訪問(wèn),將第1個(gè)或最后1個(gè)連續(xù)的通道視為整個(gè)特征圖的代表進(jìn)行計(jì)算。在不喪失一般性的情況下認(rèn)為輸入和輸出特征圖具有相同數(shù)量的通道。因此,PConv的FLOPs為:
h×w×k2×c2p。(5)
對(duì)于典型的r=1/4,PConv的FLOPs只有常規(guī)Conv的1/16。此外,PConv的內(nèi)存訪問(wèn)量較小,即:
h×w×2cp+k2×c2p≈h×w×2cp。(6)
對(duì)于r=1/4,其內(nèi)存訪問(wèn)量?jī)H為常規(guī)Conv的1/4。
2.3.2 Fast-Block結(jié)構(gòu)
由圖6可見(jiàn),每個(gè)Fast-Block塊有1個(gè)PConv層,后跟2個(gè)Conv 1×1層。它們共同顯示為倒置殘差塊,中間層具有擴(kuò)展的通道數(shù)量,利用Shortcut以重用輸入特征。除了上述算子,標(biāo)準(zhǔn)化和激活層對(duì)于高性能神經(jīng)網(wǎng)絡(luò)也是不可或缺的。使用批次歸一化(BN)代替其他替代方法,其優(yōu)點(diǎn)是可以合并到其相鄰的Conv層中,從而更快地進(jìn)行推斷,并且與其他層一樣有效。對(duì)于激活層,選擇ReLU用于Fast-Block變體,同時(shí)考慮了運(yùn)行時(shí)間和有效性。
2.3.3 Fast-C3結(jié)構(gòu)
借鑒FasterNet的思想將原先C3結(jié)構(gòu)的BottleNeck層換為Fast-Block就得到了新的C3結(jié)構(gòu):Fast-C3(圖7)。
2.4 GhostConv
GhostConv的引入能夠替代特征融合網(wǎng)絡(luò)中的
Conv,這樣不僅能夠提高測(cè)量精確度,還能減小建模參量和運(yùn)算量,從而提升測(cè)試速率。GhostConv能減少參數(shù)量和計(jì)算復(fù)雜度,其原因是放棄了部分普通卷積,利用線性變換的方式進(jìn)行特征提取,能夠更好地利用特征之間的相關(guān)性和冗余性[24]。普通卷積Conv(圖8-a)用來(lái)獲取的特征層內(nèi),其中有一些特征信息較為相似,通過(guò)消除這些冗余的特征信息可以減少計(jì)算量。首先,GhostConv利用標(biāo)準(zhǔn)的卷積來(lái)捕捉特征數(shù)據(jù)并生成通用特征圖像。接著,對(duì)
每個(gè)通道的通用特征圖像執(zhí)行線性操作以獲得具有相同通道數(shù)的新附加特征圖像(即Ghost特征圖像)。這個(gè)Ghost特征圖像代表多余的特征圖像量,可以通過(guò)簡(jiǎn)單的線性轉(zhuǎn)換而得出,在極少干擾識(shí)別準(zhǔn)確性的同時(shí),明顯減少普通的卷積Conv的重復(fù)部分,從而實(shí)現(xiàn)減小計(jì)算難度的目標(biāo)。最后,把基本特征圖像與Ghost特征圖像疊加起來(lái)形成最終結(jié)果。圖8-b為GhostConv的結(jié)構(gòu)。
2.5 SIoU損失函數(shù)
YOLO v5 的損失函數(shù)為 CIoU,公式如下:
LCIoU=1-IoU+ρ2(b,bgt)(wc)2+(hc)2+αv;(7)
α=v(1-IoU)+v;(8)
v=4π2arctanwgthgt-arctanwh2。(9)
Y3JMx20LIfeMd0V5plkB8i+0Qc+sb3gJZ5oor0/fC20=其中:預(yù)測(cè)框和真實(shí)框的寬、高分別由w、h和wgt、hgt表示,b、bgt則用來(lái)表示預(yù)測(cè)框、真實(shí)框的中心點(diǎn),b、bgt的歐氏距離由ρ表示,wc、hc分別表示兩框的最小外接矩形的寬、高,IoU表示交并比。
在模型訓(xùn)練時(shí),已有方法匹配了兩框之間的IoU、中心點(diǎn)距離、寬高比等[16-18],但是均沒(méi)有考慮不匹配的方向問(wèn)題,從而導(dǎo)致收斂速度比較慢且效率較低;因?yàn)轭A(yù)測(cè)框可能在訓(xùn)練過(guò)程中“徘徊”,最后生成更壞的模型。為克服現(xiàn)行邊界損失函數(shù)存在的缺陷,引入了新的SIou損失函數(shù)[25],該函數(shù)是從預(yù)期和實(shí)際回歸之間的矢量視角出發(fā),對(duì)角度懲罰進(jìn)行了全新衡量,從而使得預(yù)測(cè)區(qū)域能夠迅速移動(dòng)至與之最接近的軸上,之后僅需調(diào)整1個(gè)坐標(biāo)(如x或y)即可完成回歸任務(wù),這樣就大大降低了解決問(wèn)題的自由度數(shù)量。
SIoU更加重視兩框之間的向量角度,以及對(duì)損失函數(shù)重新定義,包含了4個(gè)部分損失:角度損失(angle cost)、距離損失(distance cost)、形狀損失(shape cost)、IoU損失(IoU cost)。其中角度損失是為了解決兩框之間的隨機(jī)匹配問(wèn)題,最大程度減少與距離有關(guān)的變量的影響。訓(xùn)練時(shí),首先模型試著將預(yù)測(cè)框靠近與真實(shí)框最近的軸方向,然后以相關(guān)軸為方向不斷靠近真實(shí)邊界框,如果α≤π/4,整個(gè)收斂過(guò)程將最小化α為首要目標(biāo),相反以最小化β為首要目標(biāo),計(jì)算公式如下:
β=π2-α;(10)
chσ=sinα;(11)
σ=(bgtcx-bcx)2+(bgtcy-bcy)2;(12)
ch=max(bgtcy-bcy)-min(bgtcy-bcy)。(13)
其中:sinα是直角三角形中的對(duì)邊比斜邊;σ代表著兩框中心點(diǎn)的距離;ch則是兩框中心點(diǎn)的高度差,代碼中直接使用勾股定理求得;bgtcx、bgtcy表示真實(shí)框中心坐標(biāo),bcx、bcy表示預(yù)測(cè)框中心坐標(biāo)。
利用下列方法定義預(yù)測(cè)框與標(biāo)注的真實(shí)邊界框的向量角度損失函數(shù):
Λ=1-2×sin2arcsinchσ-π4=cos2×arcsinchσ-π4。
(14)
從angle cost考慮,重新定義其他3個(gè)部分的損失函數(shù):
Δ=∑t=x,y(1-eγρt)=2-eγρt-eγρy;(15)
ρx=bgtcx-bcxcw2,ρy=bgtcy-bcych2;(16)
γ=2-Λ。(17)
其中:cw表示兩框最小外接矩形的寬,ch表示兩框最小外接矩形的高。
形狀損失(Shape cost)函數(shù)如下:
Ω=∑t=w,h(1-ewt)θ=(1-eww)θ+(1-ewh)θ;(18)
ww=|w-wgt|max(w,wgt);(19)
wh=|h-hgt|max(h,hgt)。(20)
其中:w、h和wgt、hgt分別定義為預(yù)測(cè)框和真實(shí)框的寬、高;θ是對(duì)形狀損失的關(guān)注程度的控制,過(guò)分關(guān)注形狀損失會(huì)導(dǎo)致減少預(yù)測(cè)框的移動(dòng),使用遺傳算法計(jì)算出接近4,所以參數(shù)范圍設(shè)定為[2,6]。
最后,回歸損失函數(shù)為:
Lbox=1-IoU+Δ+Ω2。(21)
總損失函數(shù)為:
LSIoU=Wboxlbox+WclsLcls;(22)
其中:Lcls是FocalLoss,Wbox表示框的損失權(quán)重;Wcls表示類的損失權(quán)重。通過(guò)對(duì)angle懲罰成本的添加,并且后面的部分只需要1個(gè)坐標(biāo)x或y的回歸,縮減了損失的總自由度,對(duì)模型訓(xùn)練時(shí)的收斂過(guò)程有顯著提高。
3 結(jié)果與分析
3.1 試驗(yàn)平臺(tái)與數(shù)據(jù)集
圖像采集使用蘋果手機(jī)在果園實(shí)景拍攝,圖片分辨率設(shè)定為1 280像素×960像素。在不同情況下收集到的圖像包含單個(gè)或多個(gè)單獨(dú)存在的蘋果圖像、被樹(shù)葉及枝干遮擋的圖像、相互重疊或者黑暗環(huán)境下的圖像等共計(jì)2 923幅,不同環(huán)境下的蘋果部分圖像如圖9所示。將從各種不同條件下取得的數(shù)據(jù)集合整理,以JPEG形式存儲(chǔ)起來(lái)備用。同時(shí)使用人工標(biāo)注工具LableImg對(duì)采集到的蘋果圖像進(jìn)行標(biāo)注,獲取準(zhǔn)確的蘋果位置數(shù)據(jù)。從減少?gòu)?fù)雜背景像素對(duì)檢測(cè)結(jié)果的影響角度考慮,標(biāo)注時(shí)將蘋果的最小外接矩形框作為真實(shí)框(Ground truth),最終得到VOC格式的xml文件。蘋果名稱、尺寸、位置都包含在文件內(nèi)。最后,對(duì)以上標(biāo)注好的數(shù)據(jù)集進(jìn)行劃分,訓(xùn)練集 ∶驗(yàn)證集按照比例9 ∶1進(jìn)行隨機(jī)分配。訓(xùn)練集、驗(yàn)證集分別含有圖像2 631、292幅。
此次試驗(yàn)基于Windows 11系統(tǒng)+AutoDL遠(yuǎn)程服務(wù)器租賃平臺(tái)進(jìn)行pytorch深度學(xué)習(xí)框架搭建。測(cè)試條件設(shè)定為Python 3.8的版本、CUDA 11.2的多線程處理器和 Intel Xeon Platinum 8350C CPU@2.60 GHz的16個(gè)vCPU,總共擁有56 GB的內(nèi)存容量,配備了NVIDIA GeForce RTX 3090的圖形處理器,其顯存量達(dá)到了24 GB。
3.2 評(píng)價(jià)指標(biāo)
試驗(yàn)結(jié)果分析使用的評(píng)價(jià)標(biāo)準(zhǔn)是:精確率、平均精確率均值、模型計(jì)算量大小。精確率(P) 、召回率(R)的計(jì)算方法如下:
P=TPTP+FP;(23)
R=TPTP+FN。(24)
其中:TP代表了正確識(shí)別正樣本的個(gè)數(shù);FP表示負(fù)樣本誤判的的個(gè)數(shù);FN正面樣本被誤認(rèn)為是負(fù)面樣本的數(shù)量。通過(guò)選擇不同精確率與準(zhǔn)確率的組合,可繪制出 PR曲線,所覆蓋的區(qū)域則被稱為AP,對(duì)每個(gè)測(cè)試類別的平均AP值就是mAP。性能評(píng)價(jià)指數(shù)AP(PAP) 、 mAP(PmAP) 計(jì)算方法如下:
PAP=∫10P(r)dr;(25)
PmQ1UABNc09k/s0mEr+s8hLw==AP=1n∑ni=1PAP,i。(26)
3.3 消融試驗(yàn)
通過(guò)采用消融試驗(yàn)的方式來(lái)驗(yàn)證Fast-YOLO v5算法帶來(lái)的性能優(yōu)化,試驗(yàn)結(jié)果如表2所示。首先對(duì)原始算法進(jìn)行了各種性能測(cè)試。模型1為在原模型的基礎(chǔ)上優(yōu)化損失函數(shù),將其替換為SIoU。模型2 是在改進(jìn)損失函數(shù)的基礎(chǔ)上將網(wǎng)絡(luò)中所有的C3模塊換為Fast-C3模塊,試驗(yàn)表明,在模型體積縮小17.36%、計(jì)算量降低20.25%的同時(shí),mAP提高了1百分點(diǎn)。模型3是在模型2的基礎(chǔ)上,將Backbone中的普通卷積(Conv)換為深度可分離卷積(DepthSepConv),在幾乎不損失精度的情況下,進(jìn)一步降低模型的計(jì)算量(降低了41.14%)和模型體積(縮減了36.11%)。模型4是將Backbone結(jié)構(gòu)進(jìn)一步調(diào)整,利用深度可分離卷積(DepthSepConv)替換主干第8層的Fast-C3結(jié)構(gòu),同時(shí)在最后2個(gè)深度可分離卷積層引入SE通道注意力機(jī)制。對(duì)比模型3,模型4的mAP沒(méi)有改變,但模型體積和計(jì)算量進(jìn)一步降低;相較于原模型,模型4的體積縮減了43.06%,計(jì)算量降低了43.67%。最后,再利用GhostConv 替換Neck中的普通卷積(Conv)得到最終模型:Fast-YOLO v5。不僅召回率和mAP值均有部分提升外,模型體積大幅縮減了49.31%,模型計(jì)算量也降低了46.84%,充分證明所提出改進(jìn)措施的有效性。
3.4 對(duì)比試驗(yàn)
對(duì)使用優(yōu)化算法改良后的模型與Fast R-CNN、YOLO v5s、PP_LCNet-v5、EfficientNet-v5、GhostNet-v5、ShuffleNet-v5等6種不同類型的機(jī)器學(xué)習(xí)框架在Jetson TX2平臺(tái)上的表現(xiàn)進(jìn)行比較,其結(jié)果如表3所示。
對(duì)YOLO v5s模型進(jìn)行改動(dòng), 將其主干網(wǎng)絡(luò)更換為PP_LCNet、EfficientNet-Lite、GhostNet、ShuffleNet v2等4種網(wǎng)絡(luò),從而得到PP_LCNet-v5、Efficientlite-v5、GhostNet-v5、ShuffleNet-v5這4種輕量化模型。試驗(yàn)結(jié)果表明,F(xiàn)ast-YOLO v5模型的平均精度達(dá)到了94.0%,是7種模型中的最高值。此外,F(xiàn)ast-YOLO v5的模型體積僅為7.3 MB,是所有對(duì)比模型體積中最小的,分別約為Fast R-CNN、YOLO v5s的1/15、1/2;就嵌入式設(shè)備上的實(shí)時(shí)檢測(cè)效率而言,F(xiàn)ast-YOLO v5明顯優(yōu)于其他6種模型。嵌入式平臺(tái)實(shí)時(shí)檢測(cè)速率為18.76幀/s,約為Fast R-CNN、YOLO v5s的35.4、1.5倍,對(duì)比試驗(yàn)中其他輕量化模型也具有明顯優(yōu)勢(shì)。綜上所述,經(jīng)過(guò)改良的輕量級(jí)網(wǎng)絡(luò)Fast-YOLO v5在測(cè)試方面表現(xiàn)優(yōu)秀,并且在邊緣設(shè)備上的部署更加實(shí)時(shí)。
4 結(jié)論
針對(duì)復(fù)雜果園環(huán)境提出一種基于改進(jìn)YOLO v5算法的果園蘋果檢測(cè)算法,該算法使用改進(jìn)的 Fast-C3 模塊結(jié)合深度可分離卷積塊對(duì)YOLO v5s的特征提取網(wǎng)絡(luò)進(jìn)行改良,并且引入GhostConv替換原模型中的普通卷積,使用SIoU損失函數(shù)代替CIoU。使精確率提升的同時(shí)讓模型的計(jì)算量和體積大幅度縮減,通過(guò)消融試驗(yàn)分析驗(yàn)證了算法的有效性。部署到嵌入式平臺(tái)上對(duì)果園復(fù)雜環(huán)境下蘋果實(shí)時(shí)檢測(cè)表明,改進(jìn)的模型在檢測(cè)精度和檢測(cè)速度方面效果都要優(yōu)于原模型。綜上,F(xiàn)ast-YOLO v5模型在降低嵌入式設(shè)備運(yùn)行內(nèi)存的同時(shí),也兼顧了精確率和實(shí)時(shí)性,能夠滿足對(duì)果園蘋果圖像檢測(cè)的快速且精準(zhǔn)需求,這為蘋果采摘機(jī)器人的視覺(jué)識(shí)別系統(tǒng)提供了技術(shù)和理論上的支持。
參考文獻(xiàn):
[1]馮 娟,劉 剛,司永勝,等. 蘋果采摘機(jī)器人激光視覺(jué)系統(tǒng)的構(gòu)建[J]. 農(nóng)業(yè)工程學(xué)報(bào),2013,29(增刊1):32-37.
[2]Lehnert C,Sa I,McCool C,et al. Sweet pepper pose detection and grasping for automated crop harvesting[C]//2016 IEEE International Conference on Robotics and Automation. Stockholm,Sweden.IEEE,2016:2428-2434.
[3]王丹丹,宋懷波,何東健. 蘋果采摘機(jī)器人視覺(jué)系統(tǒng)研究進(jìn)展[J]. 農(nóng)業(yè)工程學(xué)報(bào),2017,33(10):59-69.
[4]王 卓,王 健,王梟雄,等. 基于改進(jìn)YOLO v4的自然環(huán)境蘋果輕量級(jí)檢測(cè)方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2022,53(8):294-302.
[5]景 亮,王 瑞,劉 慧,等. 基于雙目相機(jī)與改進(jìn)YOLO v3算法的果園行人檢測(cè)與定位[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2020,51(9):34-39,25.
[6]何進(jìn)榮,石延新,劉 斌,等. 基于DXNet模型的富士蘋果外部品質(zhì)分級(jí)方法研究[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2021,52(7):379-385.
[7]薛 勇,王立揚(yáng),張 瑜,等. 基于GoogLeNet深度遷移學(xué)習(xí)的蘋果缺陷檢測(cè)方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2020,51(7):30-35.
[8]Turan M,Almalioglu Y,Araujo H,et al. Deep EndoVO:a recurrent convolutional neural network (RCNN) based visual odometry approach for endoscopic capsule robots[J]. Neurocomputing,2018,275:1861-1870.
[9]Ren Y,Zhu C R,Xiao S P. Object detection based on fast/faster RCNN employing fully convolutional architectures[J]. Mathematical Problems in Engineering,2018,2018:3598316.
[10]Sun X D,Wu P C,Hoi S C H. Face detection using deep learning:an improved faster RCNN approach[J]. Neurocomputing,2018,299:42-50.
[11]Gao F F,F(xiàn)u L S,Zhang X,et al. Multi-class fruit-on-plant detection for apple in SNAP system using Faster R-CNN[J]. Computers and Electronics in Agriculture,2020,176:105634.
[12]Yang J,He W Y,Zhang T L,et al. Research on subway pedestrian detection algorithms based on SSD model[J]. IET Intelligent Transport Systems,2020,14(11):1491-1496.
[13]Redmon J,Divvala S,Girshick R,et al. You only look once:unified,real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas:IEEE,2016:779-788.
[14]羅志聰,李鵬博,宋飛宇,等. 嵌入式設(shè)備的輕量化百香果檢測(cè)模型[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2022,53(11):262-269,322.
[15]張恩宇,成云玲,胡廣銳,等. 基于SSD算法的自然條件下青蘋果識(shí)別[J]. 中國(guó)科技論文,2020,15(3):274-281.
[16]汪 穎,王 峰,李 瑋,等. 用于復(fù)雜環(huán)境下果蔬檢測(cè)的改進(jìn)YOLO v5算法研究[J]. 中國(guó)農(nóng)機(jī)化學(xué)報(bào),2023,44(1):185-191.
[17]熊俊濤,韓詠林,王 瀟,等. 基于YOLO v5-Lite的自然環(huán)境木瓜成熟度檢測(cè)方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2023,54(6):243-252.
[18]董麗君,曾志高,易勝秋,等. 基于YOLO v5的遙感圖像目標(biāo)檢測(cè)[J]. 湖南工業(yè)大學(xué)學(xué)報(bào),2022,36(3):44-50.
[19]Liu S,Qi L,Qin H F,et al. Path aggregation network for instance segmentation[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:8759-8768.
[20]Lin T Y,Dollár P,Girshick R,et al. Feature pyramid networks for object detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu:IEEE,2017:936-944.
[21]Yao T,Zhang Q,Wu X Y,et al. Image recognition method of defective button battery base on improved MobileNetV1[C]//Wang Y,Li X,Peng Y.Chinese Conference on Image and Graphics Technologies.Singapore:Springer,2020:313-324.
[22]Hu J,Shen L,Sun G. Squeeze-and-excitation networks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:7132-7141.
[23]Chen J R,Kao S H,He H,et al. Run,don’t walk:chasing higher FLOPS for faster neural networks[C]//2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Vancouver:IEEE,2023:12021-12031.
[24]Han K,Wang Y H,Tian Q,et al. GhostNet:more features from cheap operations[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle:IEEE,2020:1580-1589.
[25]朱瑞鑫,楊福興. 運(yùn)動(dòng)場(chǎng)景下改進(jìn)YOLO v5小目標(biāo)檢測(cè)算法[J]. 計(jì)算機(jī)工程與應(yīng)用,2023,59(10):196-203.