肖克輝 楊宏 蘇章順 楊小丹
摘要:為精確預(yù)測(cè)蝴蝶蘭產(chǎn)量和對(duì)蝴蝶蘭的生產(chǎn)進(jìn)行科學(xué)管理,對(duì)大苗時(shí)期的蝴蝶蘭植株花朵和花苞進(jìn)行識(shí)別與檢測(cè),統(tǒng)計(jì)其花量。由于蝴蝶蘭花苞目標(biāo)體積較小,提出一種基于改進(jìn)YOLOv5的蝴蝶蘭花朵與花苞識(shí)別方法。首先,修改頸部網(wǎng)絡(luò)的結(jié)構(gòu),在特征金字塔FPN(Feature Pyramid Network)和路徑聚合網(wǎng)絡(luò)PANet(Path Aggregation Network)中引入有利于小目標(biāo)檢測(cè)的160×160尺度特征層,以提升對(duì)小目標(biāo)的檢測(cè)效果;其次,使用K-means++聚類算法針對(duì)訓(xùn)練集生成更合適的先驗(yàn)框,并采用載入預(yù)訓(xùn)練權(quán)重和凍結(jié)主干網(wǎng)絡(luò)的訓(xùn)練方式,以使模型更加容易學(xué)習(xí),提高網(wǎng)絡(luò)模型收斂速度和泛化能力;最后,在頸部網(wǎng)絡(luò)加入輕量級(jí)注意力機(jī)制,加強(qiáng)對(duì)目標(biāo)的關(guān)注,減少背景干擾,以提升模型的特征提取能力。試驗(yàn)結(jié)果顯示,該算法對(duì)花苞的檢測(cè)精確率達(dá)到89.54%,比改進(jìn)前提升9.83%;對(duì)花苞和花朵的平均精確率達(dá)到91.81%,比改進(jìn)前提升5.56%。該算法有優(yōu)異的檢測(cè)精度并有效提高對(duì)小目標(biāo)的檢測(cè)能力。
關(guān)鍵詞:蝴蝶蘭花朵;深度學(xué)習(xí);目標(biāo)檢測(cè);YOLOv5;聚類算法;注意力機(jī)制
中圖分類號(hào): TP391.41: S6文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):20955553 (2023) 11015508
Identification and counting of phalaenopsis flowers based on improved YOLOv5
Xiao Kehui Yang Hong Su Zhangshun Yang Xiaodan
(1. College of Mathematics and Informatics, South China Agricultural University, Guangzhou, 510640, China;
2. Key Laboratory of Smart Agricultural Technology in Tropical South China, Ministry of Agriculture and
Rural Affairs, Guangzhou, 510640, China)
Abstract:In order to accurately predict the yield of phalaenopsis and scientifically manage the production of phalaenopsis, this study identified and detected the flowers and buds of phalaenopsis plants in the big seedling stage and counted the number of flowers and buds. Due to the small target volume of phalaenopsis bud,, a phalaenopsis flower and bud recognition method based on improved YOLOv5 was proposed. Firstly, the structure of the neck network was modified in feature pyramid network and Path Aggregation Network. A 160×160 feature map was introduced to improve the detection effect of small targets. Secondly, the K-means++ clustering algorithm was used to generate a more appropriate anchor box for the training set, and the training method of loading pretraining weights and freezing the backbone network was adopted to make the model easier to learn and improve the convergence speed and generalization ability of the network model. Finally, a lightweight attention mechanism was added to the neck network to strengthen the attention to the target and reduce the background interference, to improve the feature extraction ability of the model. The experimental results showed that the AP of the algorithm for buds was 89.54%, which was 9.83% higher than that before the improvement, and the mAP of buds and flowers was 91.81%, which was 5.56% higher than that before the improvement. So, the algorithm has excellent detection accuracy and effectively improves the detection ability of small targets.
Keywords:phalaenopsis flower; deep learning; target detection; YOLOv5; clustering algorithm; attention mechanism
0引言
蝴蝶蘭是我國(guó)花卉市場(chǎng)中占據(jù)份額較大的蘭花品種之一[1]。對(duì)大苗時(shí)期已開放的花朵與未開放的花苞數(shù)量進(jìn)行精確統(tǒng)計(jì)有助于預(yù)測(cè)蝴蝶蘭產(chǎn)量,并且對(duì)實(shí)際生產(chǎn)的規(guī)劃管理有重要意義。同時(shí),對(duì)單株蝴蝶蘭的花量統(tǒng)計(jì)有助于蝴蝶蘭按等級(jí)分類,使用自動(dòng)化的檢測(cè)和識(shí)別手段,可以減少人工投入,提高生產(chǎn)效率。
基于卷積神經(jīng)網(wǎng)絡(luò)[2](Convolutional Neural Networks, CNN)的目標(biāo)檢測(cè)算法替代傳統(tǒng)目標(biāo)檢測(cè)算法被廣泛應(yīng)用于計(jì)算機(jī)視覺(jué)中。相比傳統(tǒng)目標(biāo)檢測(cè)算法需要依賴人為設(shè)計(jì)特征,卷積神經(jīng)網(wǎng)絡(luò)在提取特征時(shí)不用關(guān)心具體的特征,并且應(yīng)用局部相關(guān)性和權(quán)值共享的思想,降低網(wǎng)絡(luò)的參數(shù)量,使它在精度和效率上都有大幅提升。目前,CNN算法主要分為兩類:一是兩階段目標(biāo)檢測(cè)算法,如RCNN[34](Regions with CNN features)系列、SPPNet[5](Spatial Pyramid Pooling-Net)等,其核心是先獲得建議區(qū)域,然后在當(dāng)前區(qū)域內(nèi)進(jìn)行精確的分類與位置預(yù)測(cè)。二是一階段目標(biāo)檢測(cè)算法,如SSD[67](Single Shot MultiBox Detector)系列、YOLO[89](You Only Look Once)系列等,其核心是通過(guò)單個(gè)卷積神經(jīng)網(wǎng)絡(luò)處理圖像,直接計(jì)算出目標(biāo)的分類結(jié)果和位置坐標(biāo)。
YOLO系列的算法具有高準(zhǔn)確率和高檢測(cè)速度的優(yōu)點(diǎn),特征提取也更著眼于整體,所以越來(lái)越多的YOLO系列的方法被應(yīng)用在農(nóng)業(yè)領(lǐng)域。Wu等[10]使用一種基于通道修剪的YOLOv4算法來(lái)檢測(cè)自然環(huán)境下的蘋果花,發(fā)現(xiàn)該算法對(duì)變化的果樹品種和光照方向具有較好的魯棒性。胡根生等[11]提出一種基于YOLOv5改進(jìn)模型的茶尺蠖檢測(cè)方法,該方法引入卷積核組來(lái)提高網(wǎng)絡(luò)的特征提取能力,并更換邊界框回歸損失函數(shù)來(lái)減少前景和背景的類不平衡對(duì)檢測(cè)結(jié)果的影響,發(fā)現(xiàn)該方法可以實(shí)現(xiàn)對(duì)茶尺蠖的準(zhǔn)確檢測(cè)。
由于上述基于YOLO系列的改進(jìn)算法檢測(cè)單一類型目標(biāo)時(shí),準(zhǔn)確率較高,但針對(duì)多種類型目標(biāo)時(shí),平均準(zhǔn)確率較低。且大苗時(shí)期的蝴蝶蘭圖像中,蝴蝶蘭花苞具有尺寸小、分辨率低、遮擋較多等特點(diǎn),容易造成漏檢和誤檢。所以本文關(guān)注的主要問(wèn)題是如何提高對(duì)蝴蝶蘭花苞這種小目標(biāo)檢測(cè)的精確率,同時(shí)不會(huì)降低對(duì)蝴蝶蘭花朵的檢測(cè)效果。
本文在原YOLOv5x模型的基礎(chǔ)上進(jìn)行改進(jìn),對(duì)大苗時(shí)期的蝴蝶蘭圖像進(jìn)行花朵識(shí)別和檢測(cè),解決小尺度花苞目標(biāo)識(shí)別難的問(wèn)題,通過(guò)獲取照片中蝴蝶蘭花朵和蝴蝶蘭花苞2個(gè)類型的目標(biāo)總數(shù),提升單株或多株蝴蝶蘭植株圖像花量統(tǒng)計(jì)的精確程度,為蝴蝶蘭植株大苗時(shí)期的花量科學(xué)管控以及花量預(yù)測(cè)提供參考。
1試驗(yàn)數(shù)據(jù)
1.1圖像獲取
本文試驗(yàn)數(shù)據(jù)采集自廣東省廣州市白云區(qū)鐘落潭鎮(zhèn)的廣東省農(nóng)業(yè)科學(xué)院白云實(shí)驗(yàn)基地。本文的試驗(yàn)數(shù)據(jù)由人工手持Nikon 1 J4數(shù)碼相機(jī)拍攝獲得,拍攝內(nèi)容主要為單株和多株的大苗時(shí)期的蝴蝶蘭植株,共計(jì)1 928張,均使用jpg格式保存。圖1為收集的兩幅圖像。
1.2數(shù)據(jù)預(yù)處理
本文采用PASCAL VOC的數(shù)據(jù)集格式,使用LabelImg軟件手工標(biāo)注圖像中蝴蝶蘭的花朵和花苞,生成xml格式的標(biāo)注文件。標(biāo)注完成后,隨機(jī)選擇數(shù)據(jù)集中1552張作為訓(xùn)練集,183張作為驗(yàn)證集,193張作為測(cè)試集。
為了提高模型的泛化能力和魯棒性,需要對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),增加數(shù)據(jù)集的樣本數(shù)量與噪聲數(shù)據(jù)。本文使用Mosaic數(shù)據(jù)增強(qiáng)方法[12],具體操作為每次隨機(jī)讀取4張圖像,對(duì)這4張圖像分別進(jìn)行隨機(jī)縮放、翻轉(zhuǎn)、色域變換等數(shù)據(jù)增強(qiáng)方法,然后將4張圖像從左上角逆時(shí)針拼接到一起并與調(diào)整后的標(biāo)簽一同傳入網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,如圖2所示。Mosaic數(shù)據(jù)增強(qiáng)方法的優(yōu)點(diǎn)在于檢測(cè)目標(biāo)的背景更豐富,且經(jīng)過(guò)標(biāo)準(zhǔn)化BN(Batch Normalization)層時(shí)會(huì)同時(shí)處理4張圖片,使得BN層求出的均值與方差更接近于整體數(shù)據(jù)集的均值與方差,增強(qiáng)了模型的魯棒性。
2基于YOLOv5蝴蝶蘭檢測(cè)模型改進(jìn)
YOLOv5架構(gòu)根據(jù)復(fù)雜程度的遞增分為4種模型,分別為s、m、l、x,本文選擇復(fù)雜程度最高但同時(shí)精度最高的YOLOv5x進(jìn)行改進(jìn)。由于大苗時(shí)期大部分蝴蝶蘭花苞目標(biāo)面積占整副圖像比例較小,極易造成漏檢和誤檢。
針對(duì)這個(gè)問(wèn)題,本文提出了一種改進(jìn)的YOLOv5x模型,以增強(qiáng)對(duì)小目標(biāo)的檢測(cè)能力。首先,增加更大尺度的檢測(cè)層,以提升對(duì)小目標(biāo)的檢測(cè)效果;其次,使用K-means++算法針對(duì)訓(xùn)練集聚類出更合適的先驗(yàn)框,以使模型更加容易學(xué)習(xí);最后,在頸部網(wǎng)絡(luò)加入CBAM注意力模塊,以增加模型的特征提取能力。
2.1大尺度檢測(cè)層
YOLOv5x模型可以分成3部分,分別是主干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)和YOLO Head。YOLOv5x的主干網(wǎng)絡(luò)采用的是CSPDarkNet,作用為提取輸入圖片的特征,并通過(guò)8倍下采樣、16倍下采樣、32倍下采樣獲得3個(gè)不同尺度的特征層,將其傳入頸部網(wǎng)絡(luò)。頸部網(wǎng)絡(luò)使用特征金字塔FPN[13]將主干網(wǎng)絡(luò)傳來(lái)的3個(gè)不同尺度的特征進(jìn)行上采樣實(shí)現(xiàn)特征融合,并且使用PANet結(jié)構(gòu),對(duì)特征進(jìn)行下采樣以再次實(shí)現(xiàn)特征融合。
頸部網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。YOLO Head的作用為預(yù)測(cè)目標(biāo)的類別與位置,通過(guò)一次卷積操作完成。
FPN是通過(guò)融合經(jīng)淺層卷積后得到具有準(zhǔn)確目標(biāo)位置信息的特征和經(jīng)多次卷積后得到具有豐富語(yǔ)義信息的特征來(lái)解決目標(biāo)檢測(cè)中的多尺度問(wèn)題。所以針對(duì)蝴蝶蘭花苞目標(biāo)小的問(wèn)題,將主干網(wǎng)絡(luò)中4倍下采樣得到的特征層與原有特征層一并傳入FPN。4倍下采樣得到的特征層擁有更豐富的位置信息。FPN和PANet將在4個(gè)不同尺度的特征上進(jìn)行特征融合,可以提升對(duì)小目標(biāo)的檢測(cè)效果,結(jié)構(gòu)如圖4所示。
2.2K-means++聚類算法
先驗(yàn)框是提前在圖像上預(yù)設(shè)好的不同大小、不同長(zhǎng)寬比的框,它的長(zhǎng)與寬和常見(jiàn)目標(biāo)的長(zhǎng)與寬類似,使得目標(biāo)檢測(cè)模型更加容易學(xué)習(xí)。由于YOLOv5中先驗(yàn)框的大小是使用COCO數(shù)據(jù)集與PASCAL VOC數(shù)據(jù)集中的圖像大小經(jīng)過(guò)K-means算法[14]聚類得到的,而本文的檢測(cè)目標(biāo)是蝴蝶蘭花朵和蝴蝶蘭花苞,并且采用了4個(gè)尺度的檢測(cè)結(jié)構(gòu),每張圖像需要的先驗(yàn)框的數(shù)量由原來(lái)的9個(gè)增至12個(gè),所以需要針對(duì)本文的數(shù)據(jù)集重新聚類出合適的先驗(yàn)框大小。
由于K-means算法開始時(shí)是隨機(jī)選取數(shù)據(jù)集中K個(gè)樣本作為聚類中心,不同的初始聚類中心可能導(dǎo)致不同的聚類結(jié)果,該聚類結(jié)果可能是局部最優(yōu)而非全局最優(yōu)。
因此采用K-means++算法[15]對(duì)本文數(shù)據(jù)集進(jìn)行聚類以獲得合適的先驗(yàn)框尺寸,該算法使初始的K個(gè)聚類中心之間的距離盡可能的遠(yuǎn),然后計(jì)算其他樣本與各聚類中心的距離,并分配給最近的聚類中心成為K個(gè)群,通過(guò)迭代調(diào)整聚類中心使群中各個(gè)樣本之間的距離變小,群間距離變大。
利用K-means++算法對(duì)訓(xùn)練集進(jìn)行聚類分析后,得到12個(gè)先驗(yàn)框大小,將這12個(gè)先驗(yàn)框從小到大分為4組,分配給相應(yīng)尺度的特征圖。因?yàn)樾〕叨忍卣鲌D的感受野大,被用來(lái)檢測(cè)大尺度目標(biāo);反之,大尺度的特征圖被用來(lái)檢測(cè)小尺度目標(biāo)。所以4個(gè)尺度的特征圖大小與K-means++算法聚類出來(lái)的先驗(yàn)框大小的對(duì)應(yīng)關(guān)系如表1所示。
2.3CBAM
卷積注意力機(jī)制模塊CBAM[16](Convolutional Block Attension Module)是一種結(jié)合了空間維度和通道維度的注意力機(jī)制模塊。注意力機(jī)制模仿人類視覺(jué)系統(tǒng)看到圖像時(shí)注意力有選擇性地聚集于圖像的顯著部分的特點(diǎn)。通過(guò)注意力機(jī)制,圖像的重要特征得到關(guān)注,不必要的特征被抑制。CBAM關(guān)注通道和空間這兩個(gè)維度上的有意義特征,可以被集成到大部分網(wǎng)絡(luò)模型中,在不顯著增加計(jì)算量和參數(shù)量的前提下提升網(wǎng)絡(luò)模型的特征提取能力。為進(jìn)一步融合主干網(wǎng)絡(luò)提取到的4個(gè)尺度特征圖,分離出顯著的特征,在頸部網(wǎng)絡(luò)引入CBAM。
CBAM將通道注意力模塊與空間注意力模塊串聯(lián)在一起,學(xué)習(xí)輸入特征中不同通道和不同位置的重要性權(quán)值,然后將學(xué)習(xí)到的重要性權(quán)值與輸入特征相乘,輸出新的特征。通道注意力模塊保持通道維度不變,壓縮空間維度,因此該模塊對(duì)蝴蝶蘭花朵和花苞目標(biāo)類別信息敏感;空間注意力模塊保持空間維度不變,壓縮通道維度,因此該模塊對(duì)蝴蝶蘭花朵和花苞目標(biāo)位置信息敏感。CBAM結(jié)構(gòu)如圖5所示。
改進(jìn)后的YOLOv5x模型結(jié)構(gòu)如圖6所示,基于改進(jìn)YOLOv5的蝴蝶蘭花朵識(shí)別與計(jì)數(shù)過(guò)程如下:(1)將任意輸入的蝴蝶蘭植株圖像,經(jīng)過(guò)Mosaic數(shù)據(jù)增強(qiáng)等預(yù)處理操作,將其轉(zhuǎn)換為640像素×640像素×3通道的圖像輸入到改進(jìn)的YOLOv5模型中。(2)在主干網(wǎng)絡(luò)部分進(jìn)行特征提取,將獲取到的4個(gè)特征層輸入到頸部網(wǎng)絡(luò)。(3)在改進(jìn)后的頸部網(wǎng)絡(luò)進(jìn)行特征融合,進(jìn)一步提取特征。(4)將4個(gè)經(jīng)過(guò)加強(qiáng)提取的特征層輸入到Y(jié)OLO Head,獲得預(yù)測(cè)結(jié)果。
3模型訓(xùn)練
3.1試驗(yàn)環(huán)境
本文的實(shí)驗(yàn)環(huán)境配置如下:CPU為Intel Xeon(R) CPU E5-2620 v4;運(yùn)行內(nèi)存為64 GB;GPU為2塊12 GB的Tesla K40c;操作系統(tǒng)為Ubuntu 16.04;NVIDIA驅(qū)動(dòng)為418.87.00;編程語(yǔ)言Python與深度學(xué)習(xí)框架Pytorch的版本分別為3.7和1.2.0。
3.2訓(xùn)練過(guò)程
本試驗(yàn)輸入圖像大小為640像素×640像素,總訓(xùn)練代數(shù)設(shè)為150世代,批處理大小設(shè)為16,優(yōu)化器選擇SGD。初始學(xué)習(xí)率設(shè)為0.01,動(dòng)量因子設(shè)為0.937,為防止過(guò)擬合,權(quán)值衰減設(shè)為0.000 5,門限值設(shè)為0.5,每個(gè)世代保存一次權(quán)值,采用余弦退火學(xué)習(xí)算法對(duì)學(xué)習(xí)率進(jìn)行更新。
為縮短訓(xùn)練時(shí)間加快迭代收斂,并提升模型魯棒性,本試驗(yàn)采取遷移學(xué)習(xí)[17]的方法進(jìn)行訓(xùn)練。使用經(jīng)過(guò)大型數(shù)據(jù)集訓(xùn)練的預(yù)訓(xùn)練權(quán)重,凍結(jié)主干網(wǎng)絡(luò)訓(xùn)練前50世代,以調(diào)整非主干網(wǎng)絡(luò)的權(quán)重。后100世代解凍主干網(wǎng)絡(luò),對(duì)整體網(wǎng)絡(luò)進(jìn)行訓(xùn)練。改進(jìn)后的YOLOv5x模型訓(xùn)練損失如圖7所示,其中藍(lán)色折線代表訓(xùn)練集損失,黃色折線代表驗(yàn)證集損失。從圖7中可以看出,訓(xùn)練集損失和驗(yàn)證集損失能較快地下降并在110世代開始收斂,顯示出模型的有效性和可學(xué)習(xí)性。
3.3評(píng)價(jià)指標(biāo)
4試驗(yàn)結(jié)果與分析
由于蝴蝶蘭花朵目標(biāo)體積較大,以下參與試驗(yàn)的各網(wǎng)絡(luò)模型對(duì)其均有良好的檢測(cè)效果,因此各試驗(yàn)將主要關(guān)注各網(wǎng)絡(luò)模型對(duì)體積較小的蝴蝶蘭花苞的檢測(cè)效果,并分析造成該結(jié)果的原因。
4.1采用不同注意力機(jī)制的模型檢測(cè)效果
為探究不同注意力機(jī)制對(duì)蝴蝶蘭花苞的檢測(cè)效果的影響,在已增加更大尺度檢測(cè)層和經(jīng)過(guò)K-means++算法重新聚類出合適尺寸先驗(yàn)框的YOLOv5x模型的頸部網(wǎng)絡(luò)中分別加入SE[18](Squeeze and Excitation)模塊、CA[19](Coordinate Attention)模塊、CBAM模塊,進(jìn)行對(duì)比試驗(yàn),試驗(yàn)結(jié)果如表2所示,其中None表示不加入任何注意力機(jī)制。P1、R1、F1_1、AP1為各網(wǎng)絡(luò)模型檢測(cè)蝴蝶蘭花苞的準(zhǔn)確率、召回率、F1得分、AP值,AP2為各網(wǎng)絡(luò)模型檢測(cè)蝴蝶蘭花朵的AP值。檢測(cè)效果如圖8所示,其中紅色框?yàn)闄z測(cè)到的蝴蝶蘭花朵區(qū)域,藍(lán)色框?yàn)闄z測(cè)到的蝴蝶蘭花苞區(qū)域,方框上的數(shù)字表示被檢測(cè)成相應(yīng)目標(biāo)的概率。
由表2可知,在已增加更大尺度檢測(cè)層和經(jīng)過(guò)K-means++算法重新聚類出合適尺寸先驗(yàn)框的YOLOv5x模型的頸部網(wǎng)絡(luò)中加入CBAM模塊相比加入SE模塊、CA模塊準(zhǔn)確率分別高出1.27%、2.52%,召回率分別高出2.21%、8.45%。結(jié)合圖8可知:加入SE模塊相比加入CBAM模塊,漏檢的蝴蝶蘭花苞較多,表明它只考慮重新衡量各通道的重要性而忽略了位置信息。加入CA模塊相比加入CBAM模塊,漏檢的花苞較多,表明它雖然關(guān)注位置信息但在本文數(shù)據(jù)集上的效果并沒(méi)有CBAM模塊好。綜上可知,將CBAM模塊融合入頸部網(wǎng)絡(luò)的改進(jìn)方案表現(xiàn)出了更好的適應(yīng)性和有效性。
4.2采用不同模型的檢測(cè)效果
在相同的試驗(yàn)條件下采用不同網(wǎng)絡(luò)模型進(jìn)行對(duì)比試驗(yàn),并計(jì)算各網(wǎng)絡(luò)模型對(duì)蝴蝶蘭花苞的準(zhǔn)確率、召回率、F1得分、AP值,和對(duì)蝴蝶蘭花朵的AP值,以及各模型的參數(shù)量,試驗(yàn)結(jié)果如表3所示。
由表3可知,改進(jìn)后的YOLOv5x模型檢測(cè)蝴蝶蘭花苞的準(zhǔn)確率比Faster RCNN、SSD、CenterNet[20]、YOLOv3、原YOLOv5x分別高出67.96%、55.29%、6.32%、22.75%、3.95%,在召回率上分別高出52.28%、57.58%、42.44%、23.70%、12.18%。參數(shù)量相比Faster RCNN少180.44MB,相比SSD、CenterNet、Yolov3、原YOLOv5x分別多242.71MB、217.86MB、106.15MB、162.96MB。并使用FPS(Frame Per Second)衡量檢測(cè)速度,它表示算法在每秒鐘內(nèi)檢測(cè)圖片的數(shù)量。由表3可知,改進(jìn)后的YOLOv5x模型的FPS比Faster RCNN高1.4,相比SSD、CenterNet、Yolov3、原YOLOv5x分別低5.24、4.02、2.44、1.68。檢測(cè)效果如圖9所示。
結(jié)合圖9可知,使用Faster RCNN模型時(shí),檢測(cè)到的花苞數(shù)量很少,表明Faster RCNN只是將主干網(wǎng)絡(luò)提取的最后一層特征信息作為區(qū)域生成網(wǎng)絡(luò)和特征預(yù)測(cè)頭的輸入,不利于檢測(cè)小目標(biāo)。使用SSD模型時(shí),檢測(cè)到的花苞數(shù)量較少,且錨框尺寸偏大,表明SSD模型使用的錨框尺寸不合適。使用CenterNet模型時(shí),檢測(cè)到的花苞數(shù)量很少,且置信度較低,表明CenterNet模型只提取特征提取網(wǎng)絡(luò)的最后一層特征信息,丟失了大量的花苞信息,不利于花苞的檢測(cè)。使用YOLOv3模型時(shí),檢測(cè)到的花苞數(shù)量較少,且部分花苞邊緣定位不準(zhǔn)確,表明YOLOv3模型使用的錨框尺寸與圖像中花苞的尺寸不匹配。使用原YOLOv5x模型時(shí),其很少檢測(cè)到靠近花梗頂部的體積較小的花苞,表明它對(duì)小目標(biāo)的特征信息提取能力較弱。使用改進(jìn)的YOLOv5x模型時(shí),克服了原YOLOv5x模型的缺點(diǎn),能檢測(cè)到大部分體積較小的花苞,但是模型的參數(shù)量比原YOLOv5x多了近一倍,檢測(cè)速度下降了37.58%。改進(jìn)的YOLOv5x模型相比于其他各目標(biāo)檢測(cè)模型對(duì)小目標(biāo)有最好的檢測(cè)效果,表現(xiàn)出了極強(qiáng)的優(yōu)越性,但代價(jià)是模型的參數(shù)量增多,檢測(cè)速度降低。
4.3消融試驗(yàn)
本文對(duì)YOLOv5x的改進(jìn)包括增加更大尺度檢測(cè)層、使用K-means++算法重新聚類先驗(yàn)框尺寸和在頸部網(wǎng)絡(luò)中加入CBAM模塊。為研究各項(xiàng)改進(jìn)及各項(xiàng)改進(jìn)之間的組合對(duì)算法性能優(yōu)化的程度,設(shè)計(jì)了消融實(shí)驗(yàn),消融試驗(yàn)數(shù)據(jù)如表4所示,其中“√”表示向YOLOv5x模型中加入該項(xiàng)改進(jìn)。
由表4可知,各項(xiàng)改進(jìn)方法單獨(dú)加入或組合加入YOLOv5x模型中均能有效提升模型對(duì)體積較小的蝴蝶蘭花苞的檢測(cè)效果。其中加入更大尺度檢測(cè)層提升效果最明顯,相比未加入時(shí)對(duì)花苞的AP值提升了8.63%,mAP提升了5.06%,但是參數(shù)量也增加了160.40MB。在YOLOv5x模型的頸部網(wǎng)絡(luò)中加入CBAM模塊并配合K-means++算法重新聚類先驗(yàn)框尺寸,相比未加入這兩項(xiàng)改進(jìn),可以在參數(shù)量時(shí)僅增加1.56MB的情況下,對(duì)花苞的AP值提升5.98%,mAP提升3.88%。表明了本文各項(xiàng)模型改進(jìn)方案的有效性和可行性。
4.4花量計(jì)數(shù)結(jié)果
采用訓(xùn)練后改進(jìn)的YOLOv5x模型對(duì)測(cè)試集193幅圖像進(jìn)行測(cè)試,通過(guò)多個(gè)評(píng)價(jià)指標(biāo)對(duì)模型的性能進(jìn)行評(píng)價(jià)。測(cè)試集193幅圖像共有蝴蝶蘭花苞2084個(gè),蝴蝶蘭花朵817朵。對(duì)花量計(jì)數(shù)結(jié)果如表5所示,由表中數(shù)據(jù)可知,改進(jìn)的YOLOv5x模型對(duì)于體積較小的蝴蝶蘭花苞和體積較大的蝴蝶蘭花朵均有良好的計(jì)數(shù)效果。
5結(jié)論
本文提出一種改進(jìn)的YOLOv5x模型對(duì)大苗時(shí)期的蝴蝶蘭的花朵和花苞進(jìn)行檢測(cè),有效地提高對(duì)花苞小目標(biāo)的檢測(cè)效果,使對(duì)蝴蝶蘭花量的統(tǒng)計(jì)更加精確。
1)? 針對(duì)本文的蝴蝶蘭數(shù)據(jù)集,利用K-means++算法重新聚類出新的先驗(yàn)框尺寸,相對(duì)于沒(méi)有使用聚類時(shí)對(duì)花苞的檢測(cè)精確率提升了3.24%。
2)? 使用更大尺度檢測(cè)層,相對(duì)于原YOLOv5x模型對(duì)花苞的檢測(cè)精確率提升了8.63%,提升了對(duì)小目標(biāo)的特征提取能力。
3)? 在頸部網(wǎng)絡(luò)中加入CBAM模塊,相對(duì)于原YOLOv5x模型對(duì)花苞的檢測(cè)精確率提升了3.23%,可以有效提高對(duì)目標(biāo)特征的利用率。
4) ?改進(jìn)的YOLOv5x模型對(duì)花苞的檢測(cè)精確率達(dá)到89.54%,比改進(jìn)前提升了9.83%,平均精確率達(dá)到91.81%,比改進(jìn)前提升了5.56%,高于其他5種經(jīng)典的目標(biāo)檢測(cè)模型,且對(duì)蝴蝶蘭花朵的檢測(cè)精確率相比改進(jìn)前提高了1.28%。
5) 為了探究在頸部網(wǎng)絡(luò)加入CBAM注意力模塊對(duì)最后檢測(cè)效果的影響,本文設(shè)計(jì)了注意力模塊對(duì)比試驗(yàn),試驗(yàn)結(jié)果表明:CBAM模塊相比于SE模塊、CA模塊在本文數(shù)據(jù)集上取得了最好的檢測(cè)效果。并且為了探究各項(xiàng)改進(jìn)對(duì)提升檢測(cè)效果的貢獻(xiàn)程度,本文設(shè)計(jì)了消融試驗(yàn),試驗(yàn)結(jié)果表明:增加更大尺度的檢測(cè)層能有效提升對(duì)小目標(biāo)的檢測(cè)效果,但是參數(shù)量增加近一倍。
由于本文提出的模型對(duì)蝴蝶蘭花苞仍存在漏檢和誤檢,且模型參數(shù)量較大,后續(xù)可以進(jìn)一步改進(jìn)網(wǎng)絡(luò),以減少模型參數(shù),提升運(yùn)算速度并爭(zhēng)取更好的檢測(cè)效果。
參考文獻(xiàn)
[1]王瑞華, 王俊. 中國(guó)蝴蝶蘭產(chǎn)業(yè)現(xiàn)狀及發(fā)展建議[J]. 湖北農(nóng)業(yè)科學(xué), 2018, 57(3): 45-47, 50.
[2]Lu Jinzhu, Tan Lijuan, Jiang Huanyu. Review on convolutional neural network (CNN) applied to plant leaf disease classification [J]. Agriculture, 2021, 11(8): 707.
[3]Girshick R. Fast R-CNN [C]. Proceedings of the IEEE International Conference on Computer Vision, 2015: 1440-1448.
[4]Jiang H, Learned-Miller E. Face detection with the faster R-CNN [C]. 2017 12th IEEE International Conference on Automatic Face & Gesture Recognition (FG 2017). IEEE, 2017: 650-657.
[5]He Kaiming, Zhang Xiangyu, Ren Shaoqing, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.
[6]Zheng W, Tang W, Jiang L, et al. SE-SSD: Self-assembling single-stage object detector from point cloud [C]. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2021: 14494-14503.
[6]Belfodil A, Belfodil A, Bendimerad A, et al. FSSD-a fast and efficient algorithm for subgroup set discovery [C]. 2019 IEEE International Conference on Data Science and Advanced Analytics (DSAA). IEEE, 2019: 91-99.
[7]付中正, 何瀟, 方逵, 等. 基于改進(jìn)SSD網(wǎng)絡(luò)的西蘭花葉片檢測(cè)研究[J]. 中國(guó)農(nóng)機(jī)化學(xué)報(bào), 2020, 41(4): 92-97.Fu Zhongzheng, He Xiao, Fang Kui, et al. Study on the detection of broccoli leaves based on the improved SSD network [J]. Journal of Chinese Agricultural Mechanization, 2020, 41(4): 92-97.
[9]Shen Z, Liu Z, Li J, et al. DSOD: Learning deeply supervised object detectors from scratch [C]. Proceedings of the IEEE International Conference on Computer Vision, 2017: 1919-1927.
[10]Malty M, Banerjee S, Chaudhuri S. Faster R-CNN and YOLO based vehicle detection: A survey [C]. 2021 5th International Conference on Computing Methodologies and Communication (ICCMC). IEEE, 2021: 1442-1447.
[8]Cheng L, Li J, Duan P, et al. A small attentional YOLO model for landslide detection from satellite remote sensing images [J]. Landslides, 2021, 18(8): 2751-2765.
[9]Jimin Y, Wei Z. Face mask wearing detection algorithm based on improved YOLO-v4 [J]. Sensors, 2021, 21(9): 3263.
[10]Wu D, Lü S, Jiang M, et al. Using channel pruning-based YOLO v4 deep learning algorithm for the real-time and accurate detection of apple flowers in natural environments [J]. Computers and Electronics in Agriculture, 2020, 178: 105742.
[11]胡根生, 吳繼甜, 鮑文霞, 等. 基于改進(jìn)YOLOv5網(wǎng)絡(luò)的復(fù)雜背景圖像中茶尺蠖檢測(cè)[J]. 農(nóng)業(yè)工程學(xué)報(bào), 2021, 37(21): 191-198.Hu Gensheng, Wu Jitian, Bao Wenxia, et al. Detection of Ectropis oblique in complex background images using improved YOLOv5 [J]. Transactions of the Chinese Society of Agricultural Engineering, 2021, 37(21):191-198.
[12]Dadboud F, Patel V, Mehta V, et al. Single-stage UAV detection and classification with YOLOV5: mosaic data augmentation and PANET [C]. 2021 17th IEEE International Conference on Advanced Video and Signal-based Surveillance (AVSS). IEEE, 2021: 1-8.
[13]Wang Y, Zell A. YOLO+FPN: 2D and 3D fused object detection with an RGB-D camera [C]. 2020 25th International Conference on Pattern Recognition (ICPR). IEEE, 2021: 4657-4664.
[14]Krishna K, Murty M N. Genetic K-means algorithm [J]. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 1999, 29(3): 433-439.
[15]Kapoor A, Singhal A. A comparative study of K-means, K-means++ and fuzzy C-Means clustering algorithms [C]. 2017 3rd International Conference on Computational Intelligence & Communication Technology (CICT). IEEE, 2017: 1-6.
[16]Woo S, Park J, Lee J Y, et al. CBAM: Convolutional block attention module [C]. Proceedings of the European Conference on Computer Vision (ECCV), 2018: 3-19.
[17]Zhuang F, Qi Z, Duan K, et al. A comprehensive survey on transfer learning [J]. Proceedings of the IEEE, 2020, 109(1): 43-76.
[18]Howard A, Sandler M, Chu G, et al. Searching for MobileNetV3 [C]. Proceedings of the IEEE/CVF International Conference on Computer Vision, 2019: 1314-1324.
[19]Hou Q, Zhou D, Feng J. Coordinate attention for efficient mobile network design [C]. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2021: 13713-13722.
[20]Duan K, Bai S, Xie L, et al. CenterNet: Keypoint triplets for object detection [C]. Proceedings of the IEEE/CVF International Conference on Computer Vision, 2019: 6569-6578.