關(guān)鍵詞:果實(shí)檢測(cè);農(nóng)業(yè)機(jī)器人;智慧云監(jiān)控;YOLOv7;RepVGG;ECA
0 引言
隨著農(nóng)業(yè)智慧化和現(xiàn)代化發(fā)展,農(nóng)業(yè)機(jī)器人果實(shí)智能采摘技術(shù)日益成熟,為提高果實(shí)采摘效率、節(jié)約果實(shí)采摘成本奠定了基礎(chǔ)。然而,由于果實(shí)成長(zhǎng)環(huán)境復(fù)雜且姿態(tài)各異,導(dǎo)致果實(shí)精確檢測(cè)非常困難,進(jìn)而使果實(shí)準(zhǔn)確采摘面臨巨大的挑戰(zhàn)。因此,亟待提高農(nóng)業(yè)機(jī)器人果實(shí)智慧檢測(cè)的精確性。
現(xiàn)階段的農(nóng)業(yè)機(jī)器人果實(shí)智慧檢測(cè)方法主要包括FasterR-CNN兩階段檢測(cè)算法和YOLO系列單階段算法。張皓婷等[1]采用FasterR-CNN生成番茄圖像區(qū)域后候選框,并利用R-CNN進(jìn)行圖像類別和位置預(yù)測(cè),實(shí)現(xiàn)了番茄果實(shí)的目標(biāo)檢測(cè),具有較高的檢測(cè)精度,檢測(cè)準(zhǔn)確率達(dá)到90.89%。熊俊濤等[2]基于YOLO系列中的YOLOv5模型,對(duì)自然環(huán)境下的木瓜成熟度進(jìn)行了檢測(cè),實(shí)現(xiàn)了木瓜的快速與準(zhǔn)確檢測(cè)定位和成熟度區(qū)分,平均檢測(cè)準(zhǔn)確率達(dá)到92%以上。章倩麗等[3]結(jié)合特征金字塔網(wǎng)絡(luò)與YOLO模型,提出一種深度學(xué)習(xí)模型,實(shí)現(xiàn)了贛南臍橙果實(shí)的準(zhǔn)確檢測(cè),平均準(zhǔn)確率達(dá)到91%以上。由此可見(jiàn),在農(nóng)業(yè)機(jī)器人果實(shí)智慧檢測(cè)應(yīng)用中,基于兩階段和單階段的目標(biāo)檢測(cè)算法模型均取得了良好的效果。但代云等[4]認(rèn)為,單階段算法檢測(cè)速度更快,卻存在檢測(cè)精度不高問(wèn)題。
為實(shí)現(xiàn)快速果實(shí)檢測(cè),本研究選用YOLO系列作為果實(shí)檢測(cè)算法,并選用其中精度更高的YOLOv7模型作為果實(shí)檢測(cè)的基礎(chǔ)模型,通過(guò)改進(jìn)其骨干網(wǎng)絡(luò)結(jié)構(gòu)并引入注意力機(jī)制對(duì)重要特征進(jìn)行強(qiáng)化,提出一種基于改進(jìn)YOLOv7模型的農(nóng)業(yè)機(jī)器人果實(shí)智慧檢測(cè)方法。
1 YOLOv7模型基本結(jié)構(gòu)
YOLOv7模型是一種以深度卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的單階段目標(biāo)檢測(cè)網(wǎng)絡(luò),通過(guò)將圖像輸入網(wǎng)絡(luò),可直接進(jìn)行預(yù)測(cè),具有檢測(cè)速度快的特點(diǎn)[5-6]。
YOLOv7模型的基本結(jié)構(gòu)如圖1所示,分為輸入端、骨干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)和預(yù)測(cè)端4個(gè)部分。YOLOv7模型具有較強(qiáng)的泛化性能,廣泛應(yīng)用于圖像分類與識(shí)別應(yīng)用中,并且取得了優(yōu)異的成果[7-8]。但由于YOLOv7模型是一種深度卷積神經(jīng)網(wǎng)絡(luò),擁有更深的網(wǎng)絡(luò)結(jié)構(gòu)和更多的通道數(shù),存在因訓(xùn)練時(shí)間長(zhǎng)和對(duì)重要特征關(guān)注不足引起的精度有待提高的問(wèn)題。為解決上述問(wèn)題,實(shí)現(xiàn)更快速、準(zhǔn)確的果實(shí)檢測(cè),本研究從網(wǎng)絡(luò)結(jié)構(gòu)和通道兩個(gè)方面,對(duì)YOLOv7的骨干網(wǎng)絡(luò)進(jìn)行了改進(jìn),并引入注意力機(jī)制增強(qiáng)放大通道中的重要特征改進(jìn)了YOLOv7模型。
2 基于改進(jìn)YOLOv7模型的果實(shí)檢測(cè)
2.1 YOLOv7模型改進(jìn)
2.1.1 骨干網(wǎng)絡(luò)改進(jìn)
YOLOv7模型采用CSPDarknet作為骨干網(wǎng)絡(luò),存在較深的網(wǎng)絡(luò)層數(shù),影響了網(wǎng)絡(luò)的訓(xùn)練速度。近年來(lái),VGG、RepVGG等輕量級(jí)網(wǎng)絡(luò)模型的相繼提出,為減少YOLOv7模型網(wǎng)絡(luò)層數(shù)提供了參考。本研究采用RepVGG代替CSPDarknet作為YOLOv7模型的骨干網(wǎng)絡(luò),以降低網(wǎng)絡(luò)層數(shù),提高訓(xùn)練速度。
RepVGG基本結(jié)構(gòu)如圖2所示。RepVGG訓(xùn)練時(shí),采用ResNet結(jié)構(gòu)提高模型的性能。RepVGG推理時(shí),使用結(jié)構(gòu)重參數(shù)化對(duì)訓(xùn)練和推理時(shí)間進(jìn)行解耦,以等價(jià)轉(zhuǎn)換訓(xùn)練結(jié)構(gòu)和推理結(jié)構(gòu),使多分支轉(zhuǎn)化為單路分支,有效降低了模型的并行度,進(jìn)而提高了模型的訓(xùn)練速度[9-10]。因此,本研究采用RepVGG提高YOLOv7模型訓(xùn)練速度。
2.1.2 引入ECA機(jī)制
ECA(efficientchannelattention)機(jī)制是一種高效通道注意力機(jī)制,可提高深度卷積神經(jīng)網(wǎng)絡(luò)精度[11-12]。其工作原理可分為環(huán)境探測(cè)、認(rèn)知解釋和行為執(zhí)行3個(gè)步驟。其中,環(huán)境探測(cè)的目的是獲取環(huán)境信息,并根據(jù)環(huán)境信息對(duì)環(huán)境進(jìn)行描述;認(rèn)知解釋即根據(jù)環(huán)境描述,對(duì)環(huán)境進(jìn)行解釋,以建立信息之間的相關(guān)性;行為執(zhí)行即根據(jù)環(huán)境信息的相關(guān)性,做出決策和反應(yīng)。
ECA機(jī)制流程示意如圖3所示,通過(guò)全局平均池化、一維卷積計(jì)算、sigmoid函數(shù)等操作,YOLOv7模型通道中的重要特征得到有效增強(qiáng),進(jìn)而提高了模型的精度。本研究通過(guò)引入ECA機(jī)制對(duì)YOLOv7模型精度進(jìn)行提升。
2.2 果實(shí)檢測(cè)
基于上述改進(jìn)的YOLOv7模型,為實(shí)現(xiàn)果實(shí)檢測(cè),首先,需獲取用于果實(shí)檢測(cè)的數(shù)據(jù)集并根據(jù)數(shù)據(jù)集中的數(shù)據(jù)特點(diǎn),對(duì)數(shù)據(jù)進(jìn)行預(yù)處理和數(shù)據(jù)集劃分。然后,初始化改進(jìn)的YOLOv7模型,并利用數(shù)據(jù)集進(jìn)行模型訓(xùn)練。最后,將測(cè)試集輸入?yún)?shù)微調(diào)后的改進(jìn)YOLOv7模型,即可實(shí)現(xiàn)果實(shí)檢測(cè)。流程如圖4所示。
(1)數(shù)據(jù)集獲取與預(yù)處理。利用深度相機(jī)采集不同自然條件下和不同拍攝角度的果實(shí)圖像,并對(duì)圖像進(jìn)行預(yù)處理。
(2)數(shù)據(jù)集劃分。根據(jù)改進(jìn)YOLOv7模型學(xué)習(xí)訓(xùn)練需求,將預(yù)處理后的果實(shí)圖像按照相應(yīng)比例,劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集3部分。標(biāo)記用于改進(jìn)YOLOv7模型訓(xùn)練的數(shù)據(jù)為訓(xùn)練集,標(biāo)記用于改進(jìn)YOLOv7模型參數(shù)微調(diào)的數(shù)據(jù)為驗(yàn)證集,標(biāo)記用于檢驗(yàn)改進(jìn)YOLOv7模型果實(shí)檢測(cè)性能的數(shù)據(jù)為測(cè)試集。
(3)改進(jìn)YOLOv7模型構(gòu)建與訓(xùn)練。搭建改進(jìn)YOLOv7模型,并利用數(shù)據(jù)集進(jìn)行訓(xùn)練,獲取最佳改進(jìn)YOLOv7模型。
(4)果實(shí)檢測(cè)。將待檢測(cè)的果實(shí)數(shù)據(jù),即測(cè)試集輸入上一步驟獲取的最佳改進(jìn)YOLOv7模型,通過(guò)學(xué)習(xí)和訓(xùn)練,其輸出結(jié)果即為果實(shí)檢測(cè)結(jié)果。
3 仿真試驗(yàn)
3.1 試驗(yàn)環(huán)境搭建
試驗(yàn)基于PyTorch深度學(xué)習(xí)框架和Python語(yǔ)言搭建改進(jìn)YOLOv7模型,并在Windows10操作系統(tǒng)上運(yùn)行。系統(tǒng)配置Inteli7-11700K@3.6GHzCPU,NVIDIAGeForceRTX3090GPU。
3.2 數(shù)據(jù)來(lái)源及預(yù)處理
以紅富士蘋果為研究對(duì)象,使用KinectDK深度相機(jī)在不同自然條件下自主拍攝不同角度且成熟度不同的5000張紅富士蘋果圖像作為試驗(yàn)數(shù)據(jù)。拍攝過(guò)程中,相機(jī)距離蘋果20~50cm。
由于蘋果的成熟度不同,根據(jù)紅富士蘋果特點(diǎn),將拍攝的蘋果分為紅色即成熟和綠色即未成熟兩類,并將紅色蘋果標(biāo)注為0,綠色蘋果標(biāo)注為1,對(duì)所有圖像進(jìn)行標(biāo)注。
考慮到改進(jìn)YOLOv7模型訓(xùn)練需要大量的圖像,為增強(qiáng)數(shù)據(jù)量和數(shù)據(jù)的多樣性,對(duì)所有數(shù)據(jù)進(jìn)行了裁剪、縮放、旋轉(zhuǎn)和亮度調(diào)節(jié)等操作,得到20000張?jiān)囼?yàn)圖像[13-14]。
隨機(jī)抽取12000張圖像作為訓(xùn)練數(shù)據(jù)集,剩余圖像均分為兩部分,分別用于改進(jìn)YOLOv7模型的驗(yàn)證和測(cè)試數(shù)據(jù)集。
3.3 評(píng)價(jià)指標(biāo)
本次試驗(yàn)選用準(zhǔn)確度(accuracy)、召回率(recall)、精確率(precision)、平均準(zhǔn)確率(mAP)和檢測(cè)速度作為評(píng)估所提改進(jìn)YOLOv7模型對(duì)果實(shí)檢測(cè)的性能指標(biāo)。其中,準(zhǔn)確度、召回率、精確率和平均準(zhǔn)確率的計(jì)算方法如式(1)~式(4)。
3.4 參數(shù)設(shè)置
試驗(yàn)設(shè)置改進(jìn)YOLOv7模型的超參數(shù):迭代輪次和動(dòng)量因子分別為50、0.9,初始學(xué)習(xí)率和衰減系數(shù)分別為0.0005、0.0010,并采用余弦退火衰減法對(duì)學(xué)習(xí)率進(jìn)行實(shí)時(shí)調(diào)整。
3.5 結(jié)果與分析
3.5.1 改進(jìn)YOLOv7模型訓(xùn)練過(guò)程
由圖5可知,改進(jìn)YOLOv7模型的損失函數(shù)值隨\迭代次數(shù)增加快速下降并穩(wěn)定在0.1附近,而準(zhǔn)確率快速提升并穩(wěn)定在95%左右。由此說(shuō)明,所提的改進(jìn)YOLOv7模型可快速收斂,并表現(xiàn)出優(yōu)異的性能,具有正確性和有效性。
3.5.2 YOLOv7模型改進(jìn)效果驗(yàn)證
(1)骨干網(wǎng)絡(luò)改進(jìn)驗(yàn)證。為驗(yàn)證骨干網(wǎng)絡(luò)改進(jìn)的有效性,試驗(yàn)分別以RepVGG、CSPDarknet、GhostNet作為骨干網(wǎng)絡(luò)的YOLOv7模型在試驗(yàn)數(shù)據(jù)集上的各項(xiàng)性能指標(biāo)進(jìn)行比較,結(jié)果如圖6所示。采用不同骨干網(wǎng)絡(luò)的YOLOv7模型各項(xiàng)性能指標(biāo)不同,相較于采用CSPDarknet作為骨干網(wǎng)絡(luò)的標(biāo)準(zhǔn)YOLOv7模型和使用GhostNet作為骨干網(wǎng)絡(luò)的改進(jìn)YOLOv7模型,采用RepVGG作為骨干網(wǎng)絡(luò)的YOLOv7模型各項(xiàng)性能指標(biāo)最高。
為定量分析采用不同骨干網(wǎng)絡(luò)的YOLOv7模型的各項(xiàng)性能,試驗(yàn)統(tǒng)計(jì)了3種YOLOv7模型的各項(xiàng)性能具體數(shù)值,結(jié)果如表1所示。相較于采用CSPDarknet和GhostNet作為骨干網(wǎng)絡(luò)的YOLOv7模型,采用RepVGG作為骨干網(wǎng)絡(luò)的YOLOv7模型的各項(xiàng)性能指標(biāo)更高,準(zhǔn)確度、召回率、精確率和平均準(zhǔn)確率分別達(dá)到94.12%、93.04%、94.26%和90.04%,具有更快的檢測(cè)速度,每張圖像的檢測(cè)速度15.18ms。由此說(shuō)明,所提的改進(jìn)YOLOv7模型通過(guò)使用RepVGG作為骨干網(wǎng)絡(luò),可提高模型的檢測(cè)性能,證明了本研究骨干網(wǎng)絡(luò)改進(jìn)的有效性。
(2)注意力機(jī)制改進(jìn)驗(yàn)證。為驗(yàn)證注意力機(jī)制的有效性,基于試驗(yàn)數(shù)據(jù)集分析了引入注意力機(jī)制前后模型的各項(xiàng)性能指標(biāo),結(jié)果如圖7所示。引入注意力機(jī)制后的YOLOv7模型的各項(xiàng)性能指標(biāo)相較于引入前,均得到了有效提升。由此說(shuō)明,引入注意力機(jī)制可提高YOLOv7模型對(duì)蘋果檢測(cè)的準(zhǔn)確度和檢測(cè)速度,改進(jìn)有效。
為定量分析引入注意力機(jī)制的有效性,試驗(yàn)統(tǒng)計(jì)了引入注意力機(jī)制前后YOLOv7模型的各項(xiàng)性能指標(biāo)。由表2可知,引入注意力機(jī)制后提高了模型的各項(xiàng)性能指標(biāo),檢測(cè)的準(zhǔn)確度、召回率、精確率和平均準(zhǔn)確率分別達(dá)到96.08%、93.84%、96.11%和94.27%,檢測(cè)速度也更快,為16.23ms。由此說(shuō)明,所提引入注意力機(jī)制改進(jìn)的YOLOv7模型可提高模型的各項(xiàng)檢測(cè)性能,改進(jìn)有效。
為驗(yàn)證所提改進(jìn)YOLOv7模型的總體改進(jìn)有效性,基于試驗(yàn)測(cè)試數(shù)據(jù)集,研究分析了標(biāo)準(zhǔn)YOLOv7模型和骨干網(wǎng)絡(luò)與注意力機(jī)制共同改進(jìn)的各項(xiàng)性能指標(biāo)。由表3可知,改進(jìn)后的各項(xiàng)性能指標(biāo)得到了提升,準(zhǔn)確度、召回率、精確率和平均準(zhǔn)確率分別達(dá)到97.67%、95.38%、95.11%和93.17%,并且具有更快的檢測(cè)速度,每張圖像的檢測(cè)速度11.21ms。由此說(shuō)明,改進(jìn)YOLOv7模型的骨干網(wǎng)絡(luò)并引入注意力機(jī)制,提高了模型的檢測(cè)性能,改進(jìn)有效。
3.5.3 改進(jìn)YOLOv7模型性能對(duì)比
為驗(yàn)證所提改進(jìn)YOLOv7模型對(duì)蘋果的檢測(cè)性能,基于試驗(yàn)測(cè)試數(shù)據(jù)集,研究分析了所提改進(jìn)YOLOv7模型對(duì)紅色蘋果和綠色蘋果檢測(cè)的各項(xiàng)性能指標(biāo)。由表4可知,所提改進(jìn)YOLOv7模型對(duì)紅色蘋果和綠色蘋果均具有良好的檢測(cè)性能,檢測(cè)準(zhǔn)確度、召回率、精確率和平均準(zhǔn)確率均達(dá)到90%以上,并且檢測(cè)速度較快,檢測(cè)一張圖像僅需約11ms。由此說(shuō)明,所提的改進(jìn)YOLOv7模型對(duì)蘋果具有良好的檢測(cè)效果。
為進(jìn)一步驗(yàn)證所提改進(jìn)YOLOv7模型對(duì)蘋果檢測(cè)的有效性和優(yōu)越性,試驗(yàn)對(duì)比了所提改進(jìn)YOLOv7模型與FPN、SSD、FasterR-CNN網(wǎng)絡(luò)對(duì)紅色和綠色蘋果檢測(cè)的各項(xiàng)性能指標(biāo)。由表5可知,不同目標(biāo)檢測(cè)模型對(duì)蘋果檢測(cè)的性能不同,相較于對(duì)比網(wǎng)絡(luò),所提改進(jìn)YOLOv7模型對(duì)蘋果檢測(cè)的各項(xiàng)性能指標(biāo)均得到了不同程度的提升,平均準(zhǔn)確度、平均召回率、平均精確率和平均準(zhǔn)確率分別達(dá)到97.67%、95.38%、95.11%和93.17%,平均檢測(cè)速度達(dá)到每張圖像11.21ms。由此說(shuō)明,相較于對(duì)比模型,所提模型對(duì)蘋果具有更優(yōu)異的檢測(cè)性能,即所提改進(jìn)YOLOv7模型在蘋果檢測(cè)中具有一定的優(yōu)越性。
3.5.4 應(yīng)用效果對(duì)比
為驗(yàn)證所提改進(jìn)YOLOv7模型在實(shí)際果實(shí)識(shí)別中的應(yīng)用效果,基于劉兵凱[15]采用智慧云技術(shù)搭建的草莓采摘點(diǎn)實(shí)時(shí)檢測(cè)系統(tǒng),對(duì)所提改進(jìn)YOLOv7模型進(jìn)行了檢驗(yàn),并與其提出的改進(jìn)YOLOv5x模型的檢測(cè)結(jié)果進(jìn)行了對(duì)比。由表6可知,相較于劉兵凱[15]提出的改進(jìn)YOLOv5x模型,本研究改進(jìn)YOLOv7模型在草莓果實(shí)各項(xiàng)檢測(cè)性能指標(biāo)上的表現(xiàn)更優(yōu)異,準(zhǔn)確度、召回率、精確率、平均準(zhǔn)確度和檢測(cè)速度均得到了不同程度的提升。由此說(shuō)明,所提的改進(jìn)YOLOv7模型可用于實(shí)際智慧云技術(shù)搭建的實(shí)時(shí)檢測(cè)系統(tǒng)中,而且可有效檢測(cè)草莓果實(shí),具有較高的實(shí)際應(yīng)用價(jià)值。
4 結(jié)論
本研究所提的改進(jìn)YOLOv7模型的農(nóng)業(yè)機(jī)器人果實(shí)智慧檢測(cè)方法,通過(guò)將YOLOv7模型的骨干網(wǎng)絡(luò)改進(jìn)為采用RepVGG,并引入ECA機(jī)制,提高了YOLOv7模型的檢測(cè)速度和檢測(cè)精度。相較于標(biāo)準(zhǔn)YOLOv7模型和FPN、SSD、FasterR-CNN網(wǎng)絡(luò),所提改進(jìn)YOLOv7模型在農(nóng)業(yè)機(jī)器人果實(shí)智慧檢測(cè)中,具有更快的檢測(cè)速度和更高的檢測(cè)精度,檢測(cè)準(zhǔn)確度、召回率、精確率和平均準(zhǔn)確率分別達(dá)到97.67%、95.38%、95.11%和93.17%,檢測(cè)速度達(dá)到每張圖像檢測(cè)時(shí)長(zhǎng)11.21ms,可用于農(nóng)業(yè)智慧云監(jiān)控實(shí)際應(yīng)用中,為提高果實(shí)檢測(cè)的速度和精度提供了參考。