doi:10.15889/j.issn.1002-1302.2024.20.017
摘要:為解決溫室環(huán)境草莓果實(shí)的快速準(zhǔn)確識(shí)別問(wèn)題,提出了一種基于改進(jìn)YOLO v5s的草莓成熟度檢測(cè)方法。使用基于Channel Shuffle的多路聚合網(wǎng)絡(luò)替換YOLO v5s中的C3模塊,在豐富模型特征提取能力的同時(shí),使得網(wǎng)絡(luò)模型輕量化。同時(shí)采用SE注意力機(jī)制和最大池化層重構(gòu)下采樣模塊,提高模型對(duì)有效通道的關(guān)注度。利用自制的草莓?dāng)?shù)據(jù)集對(duì)改進(jìn)模型進(jìn)行評(píng)估,結(jié)果表明,改進(jìn)模型(YOLO-SR,YOLO-Strawberry Ripeness)的mAP達(dá)98.0%,模型大小僅為5.6 MB,在GPU(RTX 3060)上的單張平均檢測(cè)速度僅8.2 ms。與原始YOLO v5s相比,YOLO-SR的mAP提升0.8百分點(diǎn),參數(shù)量和浮點(diǎn)計(jì)算量分別減少60.0%和54.9%。本研究使用TensorRT加速引擎將模型部署到Jetson Nano平臺(tái),結(jié)果表明,固定輸入分辨率為480×480且使用半精度推理時(shí)模型的檢測(cè)效率最高,mAP和檢測(cè)時(shí)延分別為97.7%和69.4 ms,相比于YOLO v5s原始網(wǎng)絡(luò),mAP仍提高了0.5百分點(diǎn),推理速度提升64%。該輕量化方法能夠快速準(zhǔn)確地對(duì)溫室環(huán)境下的草莓果實(shí)成熟度進(jìn)行檢測(cè),為智慧農(nóng)業(yè)技術(shù)在草莓種植中的應(yīng)用提供可選擇方案。
關(guān)鍵詞:草莓;目標(biāo)檢測(cè);輕量化;YOLO;SE注意力
中圖分類號(hào):TP391.41" 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1002-1302(2024)20-0138-09
收稿日期:2024-03-06
基金項(xiàng)目:福建省自然科學(xué)基金(編號(hào):2019J01403);福建農(nóng)林大學(xué)科技創(chuàng)新專項(xiàng)基金(編號(hào):KFB23165A)。
作者簡(jiǎn)介:陳仁凡(1997—),男,河南信陽(yáng)人,碩士研究生,主要從事深度學(xué)習(xí)在農(nóng)作物中的應(yīng)用研究。E-mail:3211239007@fafu.edu.cn。
通信作者:謝" 知,博士,副教授,碩士生導(dǎo)師,主要從事農(nóng)業(yè)信息感知技術(shù)研究。E-mail:xz@fafu.edu.cn。
草莓果實(shí)芳香多汁,營(yíng)養(yǎng)豐厚,被譽(yù)為“水果皇后”,有著較高的營(yíng)養(yǎng)價(jià)值,據(jù)聯(lián)合國(guó)糧食及農(nóng)業(yè)組織的統(tǒng)計(jì)數(shù)據(jù)顯示,2021年草莓在全球范圍內(nèi)的產(chǎn)量高達(dá)0.126億t,收獲面積為52萬(wàn)hm2[1-2]。然而草莓生長(zhǎng)培育過(guò)程中的智能化水平較低,生長(zhǎng)狀態(tài)檢測(cè)和果實(shí)采摘仍需要大量勞動(dòng)力。因此,草莓產(chǎn)業(yè)的智能化種植顯得尤為重要,而精準(zhǔn)識(shí)別果實(shí)是智能化種植的先決條件。
傳統(tǒng)機(jī)器學(xué)習(xí)的果實(shí)識(shí)別首先提取果實(shí)的物理特征,再使用模式識(shí)別分類器進(jìn)行分類[3-5],例如支持向量機(jī)[6]、極限學(xué)習(xí)機(jī)[7]和隨機(jī)森林[8]。Ibba等使用草莓的生物阻抗數(shù)據(jù)來(lái)訓(xùn)練機(jī)器學(xué)習(xí)分類器取得了較好的成果,但生物阻抗數(shù)據(jù)獲取復(fù)雜[9]。Shao等使用便攜式光譜成像技術(shù)對(duì)草莓3個(gè)成熟階段進(jìn)行采集,并使用偏最小二乘判別分析和最小二乘支持向量機(jī)進(jìn)行評(píng)估,該方法可用于田間草莓成熟度評(píng)估,但操作復(fù)雜[10]。傳統(tǒng)的機(jī)器學(xué)習(xí)檢測(cè)算法在復(fù)雜的自然環(huán)境下魯棒性和泛化能力較差,識(shí)別準(zhǔn)確率較低,難以滿足實(shí)際應(yīng)用中的需要。
近年來(lái),隨著深度學(xué)習(xí)的發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算機(jī)視覺(jué)技術(shù)在農(nóng)作物識(shí)別中取得了巨大成就[11-13]。相比于傳統(tǒng)的機(jī)器學(xué)習(xí)技術(shù),深度學(xué)習(xí)具有更強(qiáng)大的特征學(xué)習(xí)能力和更高的魯棒性。深度學(xué)習(xí)能夠有效提取圖像中的局部和全局的關(guān)鍵信息,從而更好地區(qū)分不同類型的農(nóng)作物。目前已有諸多研究關(guān)注于深度學(xué)習(xí)在水果成熟度檢測(cè)中的應(yīng)用。Fan等提出在深度學(xué)習(xí)中結(jié)合暗通道增強(qiáng)技術(shù)對(duì)4種不同成熟度的草莓進(jìn)行識(shí)別,解決了夜間采集光照較暗的問(wèn)題[14]。Phan等提出了YOLO v5m分別結(jié)合ResNet-50、ResNet-101和EfficientNet-B0對(duì)3種不同成熟度的番茄進(jìn)行分類,為番茄自動(dòng)收獲提供了一種精確的方法[15]。Liu等提出一種改進(jìn)的DenseNet,并運(yùn)用結(jié)構(gòu)化稀疏運(yùn)算方法提高特征傳播的精度,該方法在檢測(cè)率上優(yōu)于其他方法[16]。上述這些基于深度學(xué)習(xí)的方法一般模型較大,計(jì)算成本高昂,難以在嵌入式和移動(dòng)端設(shè)備中部署。
自然界中的機(jī)器視覺(jué)任務(wù)存在背景復(fù)雜、光照變化、噪聲等干擾,為了提高模型的準(zhǔn)確率,基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)網(wǎng)絡(luò)逐漸加深加寬,導(dǎo)致模型的計(jì)算量、參數(shù)量和內(nèi)存占用都在不斷增大,難以在實(shí)際應(yīng)用中部署到算力和存儲(chǔ)空間有限的嵌入式設(shè)備中。為了解決該問(wèn)題,研究者們?cè)谏疃葘W(xué)習(xí)網(wǎng)絡(luò)輕量化方向做了多種嘗試[17-18]。Chen等設(shè)計(jì)了SE-CSPGhostnet替換YOLO v4的主干特征提取網(wǎng)絡(luò),使得模型參數(shù)減少了82.79%,并應(yīng)用在葡萄檢測(cè)中[19]。Lan等使用模型剪枝技術(shù)對(duì)Swin Transformer的多層堆疊結(jié)構(gòu)進(jìn)行修剪,最后將修剪后的模型部署到Jetson Xavier上,實(shí)現(xiàn)果園內(nèi)無(wú)人機(jī)實(shí)時(shí)巡邏[20]。Lyu等為實(shí)現(xiàn)雌雄荔枝花的快速檢測(cè),使用多教師預(yù)激活特征蒸餾,選擇相對(duì)復(fù)雜的YOLO v4和YOLO v5I作為教師模型,選擇相對(duì)簡(jiǎn)單的YOLO v4-tiny作為學(xué)生模型,并將最終的學(xué)生模型部署到FPGA嵌入式平臺(tái)[21]。
草莓生長(zhǎng)環(huán)境復(fù)雜,果實(shí)大小各異,遮擋嚴(yán)重,一般的方法模型易造成果實(shí)的漏檢和誤檢。為了滿足草莓高度精確檢測(cè)要求,開(kāi)發(fā)一種魯棒性和泛化性好,并可部署到邊緣設(shè)備的輕量化檢測(cè)模型十分必要。因此,本研究提出了一種新的草莓成熟度檢測(cè)模型YOLO-SR,該模型在檢測(cè)精度提升的同時(shí),實(shí)現(xiàn)了模型的輕量化,綜合檢測(cè)性能優(yōu)越。
1" 材料與方法
1.1" 圖像采集
草莓成熟度數(shù)據(jù)集在2023年3月拍攝于福建省福州市閩侯縣農(nóng)心農(nóng)業(yè)科技示范園。拍攝所用設(shè)備為iPhone13,距離草莓果實(shí)10~20 cm并不斷調(diào)整拍攝角度和距離進(jìn)行拍攝。數(shù)據(jù)集圖像在白天拍攝于科技示范園內(nèi)的溫室大棚,該數(shù)據(jù)集分為3個(gè)部分:未成熟草莓圖像、半成熟草莓圖像和成熟草莓圖像,其中包括不同大小、背景和果實(shí)遮擋重疊等真實(shí)場(chǎng)景。最終經(jīng)過(guò)篩選獲得3 350張草莓圖像,未成熟、半成熟和成熟草莓樣本數(shù)量分別為 10 371、3 788、2 084個(gè)。
1.2" 數(shù)據(jù)集構(gòu)建
由于草莓成熟度相關(guān)的數(shù)據(jù)集比較匱乏,所以本研究根據(jù)上述草莓圖像建立了與草莓成熟度相關(guān)的數(shù)據(jù)集RS_0(Ripeness of strawberries v0)。該數(shù)據(jù)集包括上述的3 350張涵蓋3種成熟度的草莓果實(shí)圖片,草莓圖片的分辨率統(tǒng)一縮放為1 080×1 080,圖片格式為jpeg。使用LabelImg對(duì)該圖像中的草莓果實(shí)區(qū)域進(jìn)行標(biāo)注,并保存了2種標(biāo)注格式(txt和xml),其中txt為YOLO系列網(wǎng)絡(luò)的標(biāo)注格式,xml為PASCAL VOC2007標(biāo)注格式。
為了平衡不同類別草莓樣本之間的數(shù)量,本研究篩選出半成熟和成熟樣本并使用了一系列數(shù)據(jù)增強(qiáng)方法,例如翻轉(zhuǎn)、模糊、加噪聲和HSV變換等(圖1)。經(jīng)過(guò)數(shù)據(jù)增強(qiáng)后,半成熟樣本從3 788個(gè)擴(kuò)充到8 746個(gè),成熟樣本從2 084個(gè)擴(kuò)充到3 556個(gè)。
1.3" YOLO v5網(wǎng)絡(luò)模型
YOLO v5是一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)模型,其主要結(jié)構(gòu)由主干(backbone)、頸部(neck)和頭部(head)組成。主干采用一種基于CSP
(cross stage partial)的DarkNet網(wǎng)絡(luò)結(jié)構(gòu),用于提取不同尺度的特征圖,并通過(guò)跨尺度特征融合方式進(jìn)行整合,以充分獲取全局目標(biāo)信息;頸部使用FPN(feature pyramid network)和PAN(path aggregation network)相結(jié)合方式來(lái)加強(qiáng)特征表達(dá);頭部負(fù)責(zé)目標(biāo)檢測(cè)和類別信息的預(yù)測(cè)。
1.4" 網(wǎng)絡(luò)模型的改進(jìn)
本研究對(duì)原始YOLO v5模型進(jìn)行3個(gè)方面的改進(jìn),改進(jìn)后的YOLO-SR模型如圖2所示。首先,將YOLO v5s中的C3模塊更換為更加高效和輕量的MANCS模塊,使模型在顯著降低參數(shù)量和運(yùn)算量的同時(shí),較大程度上提升模型的信息捕捉能力和特征融合能力;其次,把下采樣模塊(后3次)替換為MP_SE模塊,使得模型進(jìn)一步輕量化,同時(shí)增加模型的特征提取能力;最后,將頸部網(wǎng)絡(luò)中的Concat模塊替換為Chuncat模塊,讓模型在不增加額外參數(shù)量的情況下,弱化特征圖之間的相關(guān)性,增強(qiáng)模型的非線性表達(dá)能力,從而提高模型的擬合能力和泛化能力。具體改進(jìn)如下:
1.4.1" 特征提取模塊的改進(jìn)
YOLO v5s主干和頸部使用的特征提取模塊為基于CSP架構(gòu)的C3模塊。其主要作用是增加網(wǎng)絡(luò)深度和感受野,使模型學(xué)習(xí)到更深層次的特征,提高特征提取能力。
由于C3結(jié)構(gòu)對(duì)不同深度特征的融合能力有限,并且在YOLO v5s中參數(shù)量高達(dá)3.9 M,浮點(diǎn)計(jì)算量(FLOPs)高達(dá)9.66 G。因此本研究通過(guò)改進(jìn)一種基于Channel Shuffle的多路聚合網(wǎng)絡(luò)(MANCS),以替換YOLO v5s中的C3結(jié)構(gòu),從而提高模型的性能和計(jì)算效率。這種多路聚合網(wǎng)絡(luò)的結(jié)構(gòu)主要包括2個(gè)重要的特點(diǎn):一是使用Channel Shuffle模塊來(lái)增加不同特征之間的交互和信息流通;二是采用多路聚合策略,將不同層級(jí)的特征圖按照通道維度拼接的方式進(jìn)行聚合,進(jìn)一步提高特征融合能力。
MANCS的結(jié)構(gòu)如圖 3所示。輸入特征圖經(jīng)過(guò)上分支和下分支之后,特征圖通道數(shù)縮小為原來(lái)的1/4。在上分支中使用了深度可分離卷積,可以大大降低模型的計(jì)算量和參數(shù)量,并且降低模型的過(guò)擬合風(fēng)險(xiǎn)。同時(shí)在上分支中使用了SE注意力機(jī)制,可有效提高模型對(duì)于特征圖中重要信息的關(guān)注度,進(jìn)一步提高模型的特征表達(dá)能力。接下來(lái)將上下分支的所有4個(gè)模塊特征圖按照通道維度拼接,恢復(fù)通道數(shù)為輸入通道數(shù)。再經(jīng)過(guò)Channel Shuffle操作將Concat拼接后的特征圖在通道維度上進(jìn)行劃分和重組,以增加特征圖的多樣性,減少特征圖之間的相關(guān)性和信息冗余,從而增強(qiáng)模型對(duì)不同特征的非線性表達(dá)能力。最后再經(jīng)過(guò)標(biāo)準(zhǔn)卷積模塊將通道數(shù)改變?yōu)檩敵鐾ǖ罃?shù)。使用MANCS結(jié)構(gòu)替換C3結(jié)構(gòu)后的參數(shù)量為0.9 M,F(xiàn)LOPs為2.73 G,相比于之前的C3結(jié)構(gòu),參數(shù)量降低了76.9%,F(xiàn)LOPs降低了71.7%。
1.4.2" 下采樣模塊的改進(jìn)
YOLO v5s共有5次下采樣操作,其中后3次下采樣操作使用核尺寸為3、步距為2的卷積核來(lái)進(jìn)行,該方法雖然取得了很好的效果,但仍存在一定局限性。比如,為了縮小特征圖的尺寸,必須壓縮丟棄一些信息,可能導(dǎo)致一些關(guān)鍵的目標(biāo)信息丟失,從而影響模型性能。
為了解決這一問(wèn)題,本文設(shè)計(jì)了一種基于Maxpool最大池化和SE注意力機(jī)制的下采樣模塊(MP_SE)。如圖 4所示,MP_SE采用一種并行結(jié)構(gòu),將輸入特征圖按照通道維度劃分為2個(gè)部分,分別輸入到上、下2個(gè)分支中。這樣做有2個(gè)好處:一是將不同通道的信息進(jìn)行處理,從而提取更加豐富的特征信息;二是特征圖被劃分成2個(gè)部分并輸入到不同的分支中進(jìn)行處理,最后再將處理后的特征圖進(jìn)行拼接,該方法減少了計(jì)算量,提高運(yùn)行效率。下分支使用了最大池化和標(biāo)準(zhǔn)卷積,最大池化層是一種無(wú)參數(shù)操作,可以有效降低模型參數(shù)量,并且能保存更多的關(guān)鍵特征信息。上分支使用了SE注意力機(jī)制和核尺寸為3、步距為2的標(biāo)準(zhǔn)卷積,可以提取到更具針對(duì)性的特征信息。最后將2個(gè)分支輸出的特征圖按照通道維度拼接起來(lái),綜合2個(gè)分支提取到的不同特征信息,從而豐富模型的特征提取能力。
1.4.3" 特征拼接模塊的改進(jìn)
YOLO v5頸部網(wǎng)絡(luò)中使用了PAN結(jié)構(gòu),利用Concat模塊將來(lái)自主干網(wǎng)絡(luò)中的特征圖和頸部網(wǎng)絡(luò)中的特征圖按照通道維度拼接起來(lái),保留高分辨率和高層語(yǔ)義信息的同時(shí),進(jìn)一步提高了模型對(duì)不同尺度目標(biāo)的識(shí)別能力。然而Concat模塊只是簡(jiǎn)單地將2個(gè)形狀相同
的特征圖拼接起來(lái),不能豐富模型的非線性表達(dá)能力。本研究采用的Chuncat模塊不同于Concat模塊,如圖5所示,Chuncat依次將要拼接的2個(gè)特征圖按照通道維度劃分為2個(gè)部分,并分別加入到2個(gè)空列表中,最后再將2個(gè)列表里的特征圖拼接起來(lái)。所以該方法在不增加參數(shù)量的前提下,弱化了特征圖之間的通道相關(guān)性,增強(qiáng)模型的非線性表達(dá)能力。
1.5" 模型部署
改進(jìn)模型部署于Jetson Nano平臺(tái),Jetson Nano是NVIDIA公司開(kāi)發(fā)的帶有GPU處理器的嵌入式開(kāi)發(fā)板,也是一款功能強(qiáng)大的小型計(jì)算機(jī),專為入門級(jí)邊緣AI應(yīng)用程序而設(shè)計(jì)。Jetson Nano支持Pytorch、TensorFlow、Caffe和Keras等主流的深度學(xué)習(xí)框架,同時(shí)內(nèi)置了能夠加速推理的TensorRT加速引擎。Jetson Nano的GPU采用Maxwell架構(gòu),支持半精度浮點(diǎn)計(jì)算,相比于傳統(tǒng)的單精度浮點(diǎn)計(jì)算,使用更少的位數(shù)來(lái)表示數(shù)值,能夠減少存儲(chǔ)需求和計(jì)算復(fù)雜度。Jetson Nano測(cè)試場(chǎng)景如圖 6所示。
TensorRT是由NVIDIA開(kāi)發(fā)的一種高性能推理引擎,專為深度學(xué)習(xí)推理任務(wù)而設(shè)計(jì)[22]。它針對(duì)NVIDIA GPU, 提供了一系列優(yōu)化技術(shù)和功能,可以
實(shí)現(xiàn)快速、低延遲的推理,適用于各種場(chǎng)景,包括嵌入式設(shè)備、數(shù)據(jù)中心服務(wù)器和云計(jì)算平臺(tái)等。TensorRT的整體工作流程如圖7所示,圖 7-a顯示了TensorRT的生成工作流,它通過(guò)Builder使用給定的優(yōu)化配置參數(shù)和網(wǎng)絡(luò)定義來(lái)創(chuàng)建一個(gè)優(yōu)化的推理引擎;與此同時(shí)還提供了一些優(yōu)化技術(shù),如層融合和動(dòng)態(tài)張量?jī)?nèi)存;此外,它可以允許用戶設(shè)置混合精度(例如float32、float16)。圖7-b顯示了生成進(jìn)行推理的執(zhí)行上下文的工作流。
從優(yōu)化模型性能和節(jié)省存儲(chǔ)空間的角度出發(fā),為了節(jié)省Jetson Nano 的GPU顯存、內(nèi)存和算力,本研究采用了模型精度轉(zhuǎn)換的方式,將模型的數(shù)據(jù)類型從32位浮點(diǎn)數(shù)轉(zhuǎn)換為16位浮點(diǎn)數(shù)。
2" 結(jié)果與分析
2.1" 試驗(yàn)環(huán)境及參數(shù)設(shè)置
本試驗(yàn)的硬件環(huán)境為Intel" coreTM" i5-12600K 3.7 GHz、NVIDIA GeForce RTX 3060和32 G內(nèi)存,軟件環(huán)境為Windows10操作系統(tǒng),使用Pytorch 1.11深度學(xué)習(xí)框架,結(jié)合CUDA 11.3進(jìn)行訓(xùn)練。
模型部署設(shè)備采用英偉達(dá)公司的Jetson Nano,GPU為128-core NVIDIA MaxwellTM,CPU為Quad-Core ARM" Cortex-A57 MPCore,內(nèi)存為4 G,顯存為8 G。相應(yīng)配置系統(tǒng)為ARM版Ubuntu 18操作系統(tǒng),模型運(yùn)行環(huán)境配置為Jetpack 4.6、Python 3.6、 Pytorch 1.8、Torchvision 0.9、Cuda 10.2、Cudnn 8.0。
本試驗(yàn)采用SGD優(yōu)化器進(jìn)行優(yōu)化,輸入圖像分辨率為640×640,學(xué)習(xí)率為0.01,動(dòng)量為0.937,權(quán)重衰減為0.000 5,批尺寸為16,交并比為0.5,并訓(xùn)練100個(gè)輪次(Epoch)。
2.2" 評(píng)價(jià)指標(biāo)
評(píng)價(jià)草莓成熟度檢測(cè)模型的性能指標(biāo)有精確度(precision,P)、召回率(recall,R)、平均精度均值(mAP)、參數(shù)量(parameters)、浮點(diǎn)計(jì)算量(FLOPs)、權(quán)重大?。╩emory size)和平均檢測(cè)時(shí)延(latency)。P、R和mAP可以用以下方程式來(lái)計(jì)算。
P=TPTP+FP×100%;
R=TPTP+FN×100%;
mAP=∑APN=∑∫10P(R)dRN。
式中:TP表示正確識(shí)別為正樣本的數(shù)量;FP表示將負(fù)樣本錯(cuò)誤地識(shí)別為正樣本的數(shù)量;FN表示將正樣本錯(cuò)誤地識(shí)別為負(fù)樣本的數(shù)量;AP為平均精度;mAP為目標(biāo)各類別AP的均值,是一種綜合考慮定位精度和分類精度的指標(biāo),它基于Precision-Recall曲線得出,能夠全面評(píng)估算法的準(zhǔn)確性和魯棒性;N為樣本量。
2.3" 模型訓(xùn)練
模型訓(xùn)練過(guò)程中的準(zhǔn)確率、召回率和mAP的變化情況如圖8-a所示。由于本次試驗(yàn)使用了在Strawberry_DB0 數(shù)據(jù)集上訓(xùn)練100 個(gè)輪次的 YOLO v5s 模型權(quán)重進(jìn)行訓(xùn)練,因此模型在第0輪的mAP就達(dá)到了70%以上。隨著訓(xùn)練過(guò)程不斷迭代,mAP不斷上升并趨于平緩的收斂狀態(tài)。模型訓(xùn)練過(guò)程中驗(yàn)證集上的損失變化如圖8-b所示。模型的邊界框損失、目標(biāo)損失、類別損失和總損失在60輪以后都趨于穩(wěn)定,結(jié)合圖8-a可知,該模型達(dá)到收斂狀態(tài)。最終準(zhǔn)確率、召回率和mAP分別達(dá)到94.6%、94.8%和98.0%。由于使用了域內(nèi)遷移學(xué)習(xí),本研究的改進(jìn)模型在較短時(shí)間內(nèi)達(dá)到收斂狀態(tài)。
2.4" 消融試驗(yàn)
本研究使用基線網(wǎng)絡(luò)YOLO v5s和改進(jìn)的 YOLO-SR在Strawberry_DB0進(jìn)行訓(xùn)練,消融試驗(yàn)結(jié)果見(jiàn)表 1。其中試驗(yàn)1為基線網(wǎng)絡(luò)YOLO v5s,試驗(yàn)1~4為逐步優(yōu)化了各個(gè)模塊的消融試驗(yàn)。如表所示,試驗(yàn)2為使用了MANCS模塊的網(wǎng)絡(luò)模型,雖然準(zhǔn)確率降低了0.4百分點(diǎn),但是召回率和mAP分別上升了0.8、0.4百分點(diǎn),浮點(diǎn)計(jì)算量(FLOPs)降低了 6.4 G,說(shuō)明MANCS模塊在降低計(jì)算量的同時(shí),引入的SE注意力機(jī)制和Channel Shuffle提高了模型的特征表達(dá)能力和融合能力,從而改善了模型對(duì)一些難以檢測(cè)目標(biāo)的識(shí)別能力。試驗(yàn)3采用MP_SE下采樣模塊進(jìn)一步降低了計(jì)算量,其中使用的SE注意力機(jī)制,增強(qiáng)了模型對(duì)目標(biāo)的關(guān)注力,從而使模型的準(zhǔn)確率和mAP均得到提升。試驗(yàn)4引入Chuncat模塊,增強(qiáng)了模型的非線性表達(dá)能力,提升了模型的目標(biāo)分類能力和檢測(cè)能力,使得準(zhǔn)確率、召回率和mAP比基線網(wǎng)絡(luò)分別提升0.8、0.7、0.8百分點(diǎn),F(xiàn)LOPs降低了9.3 G。
2.5" 不同注意力機(jī)制對(duì)比試驗(yàn)
本研究在設(shè)計(jì)MANCS模塊時(shí),為了探究不同注意力機(jī)制對(duì)草莓成熟度檢測(cè)性能的影響,在消融試驗(yàn)2的基礎(chǔ)上(僅將特征提取模塊C3替換為MANCS)將MANCS中的SE注意力機(jī)制替換為不同的注意力機(jī)制,通過(guò)對(duì)比分析以達(dá)到模型最優(yōu)化的目標(biāo)。
表2顯示了不同注意力機(jī)制在本研究提出的MANCS模塊中達(dá)到的效果。通過(guò)對(duì)比SE、 CBAM、ECA、CA和TA的試驗(yàn)結(jié)果并計(jì)算各評(píng)價(jià)指標(biāo)之間的標(biāo)準(zhǔn)差(STD),發(fā)現(xiàn)以上5種注意力機(jī)制在mAP、浮點(diǎn)運(yùn)算量、權(quán)重大小和參數(shù)量等方面的波動(dòng)不大,但檢測(cè)時(shí)延的2列指標(biāo)所分別代表的CPU和GPU上的檢測(cè)時(shí)延波動(dòng)較大。這說(shuō)明在MANCS模塊中使用不同的注意力機(jī)制對(duì)模型的平均檢測(cè)時(shí)延有較大影響。合適的注意力模塊不但可以提高模型的特征提取能力和檢測(cè)精度,還應(yīng)該節(jié)省模型推理時(shí)延,提高模型的性能。綜合以上幾個(gè)指標(biāo)的標(biāo)準(zhǔn)差,選擇波動(dòng)較大的評(píng)價(jià)指標(biāo)作為首要篩選指標(biāo)。因此本研究選擇檢測(cè)時(shí)延最低的SE注意力作為特征提取模塊MANCS的注意力機(jī)制。
2.6" 不同檢測(cè)模型對(duì)比試驗(yàn)
為詳細(xì)比較本研究提出的YOLO-SR模型對(duì)草莓成熟度的檢測(cè)能力,選取目前流行的目標(biāo)檢測(cè)網(wǎng)絡(luò)(Faster R-CNN、SSD、RetinaNet、YOLO v4-tiny和YOLO v7-tiny等)進(jìn)行對(duì)比試驗(yàn)。
表3中所有模型的輸入圖片分辨率均為640×640,其中SSD的主干網(wǎng)絡(luò)為VGG16,F(xiàn)aster R-CNN的主干網(wǎng)絡(luò)為ResNet50。試驗(yàn)結(jié)果表明,本研究所提出方法的mAP為98.0%,相比于YOLO v5s提高了0.8百分點(diǎn);相比于Faster R-CNN、SSD、RetinaNet、YOLO v4-tiny分別提高了10.9、8.9、10.9、10.4百分點(diǎn);相比于YOLO v7-tiny和YOLO v8s提升并不明顯,但浮點(diǎn)計(jì)算量分別減少50.0%和77.3%。在以上列舉的幾種模型中,本研究提出模型的mAP最高,說(shuō)明該模型對(duì)草莓果實(shí)識(shí)別能力較強(qiáng),減少了在監(jiān)測(cè)過(guò)程中的誤檢率和漏檢率。此外,本研究模型浮點(diǎn)計(jì)算量?jī)H為6.5 G,參數(shù)量?jī)H為2.8 M,相較于YOLO v5s,分別減少了54.9%和60.0%;與此同時(shí),其在Jetson Nano上每張圖片的實(shí)時(shí)檢測(cè)速度為136.6 ms/張,在GPU(RTX3060)中的檢測(cè)速度為8.2 ms/張,與原始YOLO v5s相比,平均檢測(cè)時(shí)延分別減少了56.8、2.4 ms。因此,YOLO-SR更適合完成在溫室環(huán)境下對(duì)草莓成熟度的識(shí)別任務(wù)。
為驗(yàn)證模型在不同的周圍環(huán)境下對(duì)草莓的檢測(cè)效果,分別選取密集、高曝光、 遮擋和小目標(biāo)的草
莓圖像進(jìn)行測(cè)試。選取置信度閾值為0.45、IoU閾值為0.6進(jìn)行檢測(cè)。圖 9顯示,在有遮擋和重疊的情況下,改進(jìn)模型仍然能夠很好地識(shí)別和區(qū)分不同的成熟度。當(dāng)果實(shí)顏色和背景葉片的顏色十分接近或拍攝圖片遭受強(qiáng)曝光時(shí),該模型依然能很好地成功識(shí)別出目標(biāo)。
為了進(jìn)一步測(cè)試模型的泛化能力,本研究把互聯(lián)網(wǎng)上隨機(jī)下載的草莓圖像作為輸入,圖10-a和圖10-c是改進(jìn)后模型YOLO-SR的識(shí)別結(jié)果,圖10-b和圖10-d是原始YOLO v5s的識(shí)別結(jié)果。從圖中可以發(fā)現(xiàn),在一些小目標(biāo)的檢測(cè)中,2種模型均存在一些漏檢和誤檢。圖10-a中左上角1號(hào)和2號(hào)框中草莓花被錯(cuò)誤識(shí)別為果實(shí);圖10-b中3號(hào)和4號(hào)框中被遮擋隱藏起來(lái)的草莓果實(shí)發(fā)生了漏檢;圖10-c和圖10-d中1號(hào)框中的草莓果實(shí)均發(fā)生漏檢,5號(hào)框中的草莓都出現(xiàn)了錯(cuò)誤識(shí)別的情況;圖10-c的5號(hào)框雖然識(shí)別到草莓但是未正確框出;圖10-d的5號(hào)框中草莓直接未被識(shí)別到,此外, 1~4號(hào)框中草莓均未識(shí)別到。綜合以上對(duì)比,在面對(duì)遮擋嚴(yán)重的草莓果實(shí)時(shí),原始YOLO v5s的漏檢誤檢比率更大,而改進(jìn)后的模型具有更高的檢測(cè)能力和泛化能力。
2.7" 在Jetson Nano部署的性能
本研究在嵌入式開(kāi)發(fā)板Jetson Nano部署了原始YOLO v5s和改進(jìn)后的模型。為了進(jìn)一步降低嵌入式設(shè)備的計(jì)算壓力,探索使用不同分辨率的圖像作為模型的輸入并導(dǎo)出相應(yīng)分辨率的模型,再使用TensorRT進(jìn)行加速推理。由表4可以看出,半精度的模型相比于單精度權(quán)重大小大幅減小,分辨率小的模型權(quán)重大小也在一定程度上減少。此外,從YOLO v5s和YOLO-SRl是否使用TensorRT加速可以看出,雖然使用TensorRT加速引擎成倍增加了模型的權(quán)重大小,但是檢測(cè)時(shí)延在一定程度上減?。涣硗?,觀察YOLO-SRl的前2行可以發(fā)現(xiàn),使用TensorRT加速后的mAP有稍小幅度的降低。表中還可以看出,相比于單精度推理,使用半精度推理時(shí)模型的權(quán)重大小和檢測(cè)時(shí)延均有所減少,而mAP幾乎保持不變。最后,對(duì)比3種不同分辨率下的數(shù)據(jù)發(fā)現(xiàn),隨著分辨率的降低,模型檢測(cè)的速度越來(lái)越快,當(dāng)固定分辨率為320×320并使用半精度推理時(shí),模型的檢測(cè)時(shí)延低至36.8 ms,但此時(shí)的mAP較低;當(dāng)固定分辨率為480×480并使用半精度推理時(shí),模型的檢測(cè)時(shí)延為69.4 ms,mAP為97.7%,相較于基線網(wǎng)絡(luò)YOLO v5s仍高出0.5百分點(diǎn),延遲卻顯著減少了124 ms。
3 結(jié)論
為了在嵌入式設(shè)備等低GPU運(yùn)算能力的平臺(tái)上實(shí)現(xiàn)草莓果實(shí)的實(shí)時(shí)定位和成熟度區(qū)分,本研究提出一種基于改進(jìn)YOLO v5的草莓果實(shí)實(shí)時(shí)成熟度檢測(cè)算法YOLO-SR。采用一種基于Channel Shuffle的多路聚合模塊替換YOLO v5中的C3模塊,使得模型輕量化,同時(shí)該模塊與SE注意力機(jī)制共同作用能有效提高模型對(duì)重要通道的關(guān)注度,豐富模型的特征提取能力。此外,YOLO-SR使用了更加輕量化的下采樣模塊進(jìn)一步減少模型參數(shù)量和運(yùn)算量。改進(jìn)后的模型相較于原始的YOLO v5s,mAP提高0.8百分點(diǎn),同時(shí)浮點(diǎn)計(jì)算量?jī)H為 6.5 G,參數(shù)量?jī)H為2.8 M,分別減少了54.9%和60.0%。本研究將YOLO-SR模型部署到Jetson Nano嵌入式開(kāi)發(fā)板,并使用半精度推理和TensorRT加速引擎加速模型的檢測(cè)速度。通過(guò)對(duì)比不同分辨率圖像作為輸入對(duì)模型性能的影響,發(fā)現(xiàn)使用480×480分辨率時(shí),模型的性能最佳,此時(shí)模型在Jetson Nano上的推理速度低至69.4 ms,mAP為97.7%,相比于原始YOLO v5s,mAP仍提高了0.5百分點(diǎn),推理速度提升64%。
研究結(jié)果表明,YOLO-SR模型能有效減輕嵌入式設(shè)備的算力壓力,提高檢測(cè)速度,可以廣泛應(yīng)用于GPU嵌入式平臺(tái)實(shí)現(xiàn)草莓果實(shí)成熟度的實(shí)時(shí)檢測(cè)。本研究工作推進(jìn)了目標(biāo)檢測(cè)算法的實(shí)際部署和應(yīng)用,對(duì)促進(jìn)智慧農(nóng)業(yè)的發(fā)展具有積極意義。在未來(lái)的工作中,筆者將進(jìn)一步壓縮模型,以滿足其在資源更加受限的小型邊緣設(shè)備上的使用要求。
參考文獻(xiàn):
[1]陳仁凡,謝" 知,林" 晨. 基于YOLO-ODM的溫室草莓成熟度的快速檢測(cè)[J]. 華中農(nóng)業(yè)大學(xué)學(xué)報(bào),2023,42(4):262-269.
[2]劉小剛,范" 誠(chéng),李加念,等. 基于卷積神經(jīng)網(wǎng)絡(luò)的草莓識(shí)別方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2020,51(2):237-244.
[3]邵志明,王懷彬,董志城,等. 基于近紅外相機(jī)成像和閾值分割的蘋果早期損傷檢測(cè) [J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2021,52(增刊1):134-139.
[4]田" 冉,陳梅香,董大明,等. 紅外傳感器與機(jī)器視覺(jué)融合的果樹(shù)害蟲(chóng)識(shí)別及計(jì)數(shù)方法[J]. 農(nóng)業(yè)工程學(xué)報(bào),2016,32(20):195-201.
[5]李" 季,楊淑婷,馬" 菁. 基于計(jì)算機(jī)視覺(jué)的枸杞蟲(chóng)害計(jì)數(shù)方法研究[J]. 寧夏農(nóng)林科技,2018,50(10):50-52,封2.
[6]Zhang C,Guo C T,Liu F,et al. Hyperspectral imaging analysis for ripeness evaluation of strawberry with support vector machine[J]. Journal of Food Engineering,2016,179:11-18.
[7]Bao R,Chen W N,Tang G X,et al. Classification of fresh and processed strawberry cultivars based on quality characteristics by using support vector machine and extreme learning machine[J]. Journal of Berry Research,2018,8(2):81-94.
[8]姜友誼,劉博偉,張成健,等. 利用無(wú)人機(jī)多光譜影像的多品種玉米成熟度監(jiān)測(cè)[J]. 農(nóng)業(yè)工程學(xué)報(bào),2023,39(20):84-91.
[9]Ibba P,Tronstad C,Moscetti R,et al. Supervised binary classification methods for strawberry ripeness discrimination from bioimpedance data[J]. Scientific Reports,2021,11:11202.
[10]Shao Y Y,Wang Y X,Xuan G T,et al. Assessment of strawberry ripeness using hyperspectral imaging[J]. Analytical Letters,2021,54(10):1547-1560.
[11]李天華,孫" 萌,丁小明,等. 基于YOLO v4+HSV的成熟期番茄識(shí)別方法[J]. 農(nóng)業(yè)工程學(xué)報(bào),2021,37(21):183-190.
[12]張萬(wàn)枝,張弘毅,劉樹(shù)峰,等. 基于改進(jìn)YOLO v7模型的馬鈴薯種薯芽眼檢測(cè)[J]. 農(nóng)業(yè)工程學(xué)報(bào),2023,39(20):148-158.
[13]董雁凱,王玉超,李博梾,等. 基于改進(jìn)YOLO v5的黃瓜霜霉病分級(jí)方法[J]. 江蘇農(nóng)業(yè)科學(xué),2023,51(22):213-220.
[14]Fan Y C,Zhang S Y,F(xiàn)eng K,et al. Strawberry maturity recognition algorithm combining dark channel enhancement and YOLO v5[J]. Sensors,2022,22(2):419.
[15]Phan Q H,Nguyen V T,Lien C H,et al. Classification of tomato fruit using YOLO v5 and convolutional neural network models[J]. Plants,2023,12(4):790.
[16]Liu J,Pi J,Xia L R.A novel and high precision tomato maturity recognition algorithm based on multi-level deep residual network[J]. Multimedia Tools and Applications,2020,79(13):9403-9417.
[17]羅志聰,李鵬博,宋飛宇,等. 嵌入式設(shè)備的輕量化百香果檢測(cè)模型[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2022,53(11):262-269,322.
[18]李" 云,邱述金,趙華民,等. 基于輕量化YOLO v5的谷穗實(shí)時(shí)檢測(cè)方法[J]. 江蘇農(nóng)業(yè)科學(xué),2023,51(6):168-177.
[19]Chen J Q,Ma A Q,Huang L X,et al. GA-YOLO:a lightweight YOLO model for dense and occluded grape target detection[J]. Horticulturae,2023,9(4):443.
[20]Lan Y B,Lin S M,Du H W,et al. Real-time UAV patrol technology in orchard based on the swin-T YOLOX lightweight model[J]. Remote Sensing,2022,14(22):5806.
[21]Lyu S L,Zhao Y W,Liu X Y,et al. Detection of male and female Litchi flowers using YOLO-HPFD multi-teacher feature distillation and FPGA-embedded platform[J]. Agronomy,2023,13(4):987.
[22]Shin D J,Kim J J.A deep learning framework performance evaluation to use YOLO in nvidia jetson platform[J]. Applied Sciences,2022,12(8):3734.