尚鈺瑩,張倩如,宋懷波
(1.西北農(nóng)林科技大學(xué)機(jī)械與電子工程學(xué)院, 楊凌 712100;2.農(nóng)業(yè)農(nóng)村部農(nóng)業(yè)物聯(lián)網(wǎng)重點(diǎn)實(shí)驗(yàn)室,楊凌 712100; 3.陜西省農(nóng)業(yè)信息感知與智能服務(wù)重點(diǎn)實(shí)驗(yàn)室,楊凌 712100)
疏花是蘋果栽培中的重要管理措施,疏除多余花朵有利于果樹克服隔年結(jié)果現(xiàn)象,提高蘋果產(chǎn)量和質(zhì)量,促進(jìn)花芽分化,提高花芽質(zhì)量,實(shí)現(xiàn)高產(chǎn)穩(wěn)產(chǎn)。蘋果花朵分布密集緊湊,同一花簇不同花朵之間往往存在相互遮擋以及葉片遮擋,且蘋果花朵形狀、顏色多樣,花朵檢測難度較大。花朵目標(biāo)的檢測是疏花機(jī)器人的關(guān)鍵技術(shù)之一,開展自然場景下蘋果花朵目標(biāo)的檢測方法研究,對于疏花機(jī)器人的發(fā)展具有重要的研究意義。
目前常用的蘋果疏花方法包括人工疏除、化學(xué)疏除和機(jī)械疏除3種。人工疏花效率過低,所需勞動力數(shù)量較多,勞動成本高且勞動強(qiáng)度大?;瘜W(xué)疏花通過將化學(xué)藥劑噴施于樹體表面實(shí)現(xiàn)花朵疏除,化學(xué)疏花成本較低且效率高,然而需要嚴(yán)格控制疏花試劑的噴灑時期。機(jī)械疏花可以大幅降低勞動強(qiáng)度,具有巨大的發(fā)展?jié)摿?。目前對機(jī)械疏花的研究較少,尚未有可以輔助人工進(jìn)行疏花的便攜式疏花器械。結(jié)合圖像處理與機(jī)器視覺技術(shù),實(shí)現(xiàn)蘋果花朵準(zhǔn)確實(shí)時檢測,可為疏花機(jī)械視覺系統(tǒng)提供必要的支持,是未來機(jī)械疏花技術(shù)的核心之一。
傳統(tǒng)圖像處理技術(shù)需要手動提取目標(biāo)特征,其過程復(fù)雜且識別精度較低,難以在復(fù)雜的實(shí)際生產(chǎn)中應(yīng)用?;诰矸e神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)的深度學(xué)習(xí)技術(shù)通過學(xué)習(xí)不同領(lǐng)域、場景、尺度的特征,可以實(shí)現(xiàn)端對端的檢測,具有良好的特征提取能力和泛化能力。劉浩洲等提出了一種基于K-means聚類算法的獼猴桃花朵識別方法,利用K-means聚類分割得到包含花蕊在內(nèi)的4個類別圖像,并利用CNN網(wǎng)絡(luò)實(shí)現(xiàn)了獼猴桃花朵的檢測,檢測成功率為92.5%。Gogul等設(shè)計(jì)了一種基于CNN與遷移學(xué)習(xí)的花卉識別系統(tǒng),利用OverFeat CNN網(wǎng)絡(luò)提取圖像特征,并利用機(jī)器學(xué)習(xí)實(shí)現(xiàn)了花卉識別,在FLOWERS28數(shù)據(jù)集上的Rank-1和Rank-5的準(zhǔn)確度分別為82.32%和97.50%。Shi等設(shè)計(jì)了一種基于深度學(xué)習(xí)的花卉自動識別系統(tǒng),將花卉圖像發(fā)送到FLOWERS32數(shù)據(jù)集上預(yù)先訓(xùn)練好的CNN系統(tǒng)進(jìn)行識別,在測試集上的準(zhǔn)確率為95.00%。Dias等提出了一種基于CNN的蘋果花朵檢測方法,利用線性迭代聚類超像素算法進(jìn)行區(qū)域生成,再進(jìn)行特征提取,利用支持向量機(jī)(Support Vector Machine, SVM)模型進(jìn)行蘋果花朵檢測,該方法的最佳召回率和準(zhǔn)確率均接近80.00%。
為了進(jìn)一步提高目標(biāo)檢測的效果,CNN網(wǎng)絡(luò)通過不斷增加網(wǎng)絡(luò)的層數(shù)來提取更為豐富的特征,更能體現(xiàn)圖像的語義信息。但網(wǎng)絡(luò)深度的不斷增加可能會造成梯度爆炸、消失,導(dǎo)致系統(tǒng)不能收斂等問題。針對這一問題,He等提出了ResNet網(wǎng)絡(luò),將輸入中的部分?jǐn)?shù)據(jù)不經(jīng)過卷積網(wǎng)絡(luò),直接送入輸出層以保留部分原始信息,通過將ResNet結(jié)構(gòu)應(yīng)用于深度卷積網(wǎng)絡(luò),解決了深度網(wǎng)絡(luò)中梯度消失的問題。ResNet可以在網(wǎng)絡(luò)深度增加的同時保證網(wǎng)絡(luò)性能的進(jìn)一步提升。Sun等提出了一種基于DeepLab-ResNet語義分割網(wǎng)絡(luò)和形狀約束水平集的水果花朵檢測方法,通過對該網(wǎng)絡(luò)模型的微調(diào)過程訓(xùn)練獲得對花朵高度敏感的CNN模型,再通過由原始圖像和識別結(jié)果中定義的能量最小化驅(qū)動的水平集進(jìn)化來描繪識別對象,該方法在桃花、梨花和蘋果花朵數(shù)據(jù)集上的平均分?jǐn)?shù)為80.90%。鄭玉龍等提出了一種基于深度學(xué)習(xí)的自然環(huán)境花朵識別方法,并設(shè)計(jì)了一種由3個殘差塊組成的20層深度學(xué)習(xí)模型Resnet20,該模型在Flower26數(shù)據(jù)集上的識別率為96.29%。Wu等提出了一種基于通道剪枝YOLOv4深度學(xué)習(xí)算法的實(shí)時蘋果花朵檢測方法,該方法構(gòu)建了CSPDarknet53框架下的YOLOv4模型,采用通道剪枝算法對模型進(jìn)行剪枝,實(shí)現(xiàn)了蘋果花朵的快速準(zhǔn)確檢測,其mAP為97.31%。
基于深度學(xué)習(xí)的蘋果花朵檢測雖然取得了較好的效果,但仍存在以下問題:1)花朵檢測速度較慢,尚難以實(shí)時檢測;2)花朵檢測模型的參數(shù)數(shù)量和模型結(jié)構(gòu)普遍較大,算力消耗過大,模型遷移較為困難?;谏鲜鰡栴},本研究擬提出一種基于YOLOv5s的蘋果花朵檢測方法,將田間拍攝得到的蘋果花朵圖像進(jìn)行標(biāo)注并送入微調(diào)后的YOLOv5s目標(biāo)檢測網(wǎng)絡(luò),實(shí)現(xiàn)蘋果花朵的準(zhǔn)確快速檢測,以期實(shí)現(xiàn)一種輕量化且檢測速度快的自然場景下的花朵檢測模型,為疏花機(jī)械視覺系統(tǒng)提供技術(shù)支持。
本文主要研究對象是以富士為主要品種的300多個蘋果品種,所使用的蘋果花朵圖像來自于陜西省楊陵區(qū)園藝試驗(yàn)基地,拍攝設(shè)備為華為Nova7,圖像焦距為26 mm,分辨率為4 608×3 456像素,拍攝時間為2021年3月20日至4月8日,拍攝時間段為7:00-19:00,拍攝形式為定點(diǎn)拍攝和手持設(shè)備2種形式,定點(diǎn)拍攝通過三腳架固定手機(jī)的位置進(jìn)行拍攝,手持設(shè)備可變換拍攝的角度和位置,設(shè)備距離樹冠的距離為20~40 cm。將采集到的3005幅圖像隨機(jī)裁剪為不同分辨率并利用LabelImg標(biāo)注工具對數(shù)據(jù)集進(jìn)行人工標(biāo)注,標(biāo)注框選擇花朵和花苞的最小外接矩形。
由于不同天氣情況下的光照強(qiáng)度不同,花朵在不同天氣情況下的狀態(tài)也不同,比如雨天花朵上可能存在水珠,這些情況均可能影響花朵識別的效果,如圖1a~1d所示分別為蘋果花朵在晴天、多云、陰天、小雨4種不同天氣情況下的圖像。
圖1 4種不同的天氣情況 Fig.1 Four different weather conditions
由于不同品種的蘋果花朵顏色存在差異,花朵顏色的不同可能影響花朵識別的效果,為獲得可適用于不同顏色花朵的目標(biāo)檢測模型,如圖2a~2d所示,本研究中的蘋果花朵圖像包含玫紅色、紅色、白色和粉色這4種顏色,基本涵蓋該基地所有蘋果品種的花朵顏色。
太陽位置的變化及拍攝位置的不同,導(dǎo)致蘋果花朵圖像整體亮度以及圖像中部分花朵的亮度不同,如圖2a~2b所示,本研究同時采集了蘋果花朵在順光和逆光情況下的圖像。由于蘋果開花時花葉共存且每一簇花朵的數(shù)量較多,分布密集,導(dǎo)致花朵存在遮擋,如圖2c~2e所示,本研究同時采集了無遮擋、其他花朵遮擋和葉片遮擋3種情況的花朵圖像。
圖2 不同顏色、光照和遮擋情況 Fig.2 Different colors, illumination, and occlusion situations
試驗(yàn)數(shù)據(jù)如表1所示,晴天、多云、陰天、小雨情況下的圖像數(shù)量分別為1 611、512、519和363幅,順光和逆光條件下的圖像數(shù)量分別為1 830和1 175幅,有遮擋和無遮擋情況下的圖像數(shù)量分別為1 602和1 403幅。將采集到的3 005幅圖像按照6:2:2的比例分為訓(xùn)練集(1 803幅)、驗(yàn)證集(601幅)和測試集(601幅)進(jìn)行模型訓(xùn)練與測試。
表1 拍攝圖像詳細(xì)信息 Table 1 Details of the captured images
試驗(yàn)過程在Win10操作系統(tǒng)下進(jìn)行,處理器型號為Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz 3.79 GHz,顯卡Nvidia GeForce RTX 2080Ti。深度學(xué)習(xí)框架采用PyTorch1.6,編程平臺為PyCharm,編程語言為Python3.8,所有對比算法均在相同環(huán)境下運(yùn)行。
YOLOv5s目標(biāo)檢測算法采用盡可能小的網(wǎng)絡(luò)深度和特征圖維度,以確保其具有較小的權(quán)重文件和較快的檢測速度,在保證目標(biāo)檢測精度的前提下,有利于搭載移動設(shè)備實(shí)現(xiàn)目標(biāo)的實(shí)時檢測。
本研究擬采用的技術(shù)路線如圖3所示,將利用LabelImg工具標(biāo)注完成的蘋果花朵圖像送入YOLOv5s目標(biāo)檢測網(wǎng)絡(luò),實(shí)現(xiàn)蘋果花朵的準(zhǔn)確快速檢測。
圖3 總體技術(shù)路線圖 Fig.3 Overall technology roadmap
YOLOv5s的網(wǎng)絡(luò)結(jié)構(gòu)分為輸入端、Backbone、Neck和Prediction 4個部分。YOLOv5s的輸入端沿用了YOLOv4的Mosaic數(shù)據(jù)增強(qiáng)方法,對不同的圖像進(jìn)行堆積縮放、裁剪、排布以后再進(jìn)行拼接。YOLOv5s的Backbone在輸入圖像前加入了Focus切片操作,采用CSPDarkNet53結(jié)構(gòu),可以在有效緩解梯度消失問題的同時減少網(wǎng)絡(luò)參數(shù)的數(shù)量。YOLOv5s的Neck部分采用特征金字塔(Feature Pyramid Networks, FPN)+路徑聚合網(wǎng)絡(luò)(Path Aggregation Network, PAN)的結(jié)構(gòu),PAN利用Concat函數(shù)進(jìn)行多層特征融合操作,從而提高了預(yù)測的準(zhǔn)確性。Prediction利用網(wǎng)絡(luò)提取到的特征進(jìn)行預(yù)測,獲得網(wǎng)絡(luò)輸出信息。
YOLOv5s的損失函數(shù)由分類損失函數(shù)、回歸損失函數(shù)和置信度損失函數(shù)這3部分構(gòu)成。在目標(biāo)檢測的后處理過程中采用非極大值抑制(Non Maximum Suppression, NMS)獲取局部最大值。深度學(xué)習(xí)中通常采用檢測評價函數(shù)(Intersection over Union, IoU)作為檢測物體準(zhǔn)確度的標(biāo)準(zhǔn),具體計(jì)算方法可見參考文獻(xiàn)[33]。
本研究采用精確率()、召回率()、mAP、模型大小、檢測速度等五個指標(biāo)對蘋果花朵檢測模型進(jìn)行評價。當(dāng)IoU≥0.5時為真情況,當(dāng)IoU<0.5時為假正例情況,當(dāng)IoU=0時為假反例情況。精確率、召回率和均值平均精度的計(jì)算如式(1)~(3)所示。
式中TP、FP、FN分別為真正例、假正例、假反例數(shù)量,真正例表示實(shí)際為正例且被分類器劃分為正例,假正例表示實(shí)際為負(fù)例但被分類器劃分為正例,假反例表示實(shí)際為正例但被分類器劃分為負(fù)例,為檢測類別數(shù),本研究僅需識別花朵和花苞,故=2。
本研究中共訓(xùn)練300輪次,網(wǎng)絡(luò)訓(xùn)練結(jié)果如圖4所示,在模型訓(xùn)練初期,模型學(xué)習(xí)效率較高,曲線收斂速度較快,當(dāng)?shù)螖?shù)達(dá)到265次左右時,模型學(xué)習(xí)效率逐漸達(dá)到飽和,損失在0.046左右波動。最終訓(xùn)練模型的值為85.27%,值為0.94,mAP(IoU=0.5)為95.14%。
圖4 訓(xùn)練結(jié)果 Fig.4 Training results
為了驗(yàn)證YOLOv5s網(wǎng)絡(luò)檢測蘋果花朵的有效性,對測試集中的601幅蘋果花朵圖像進(jìn)行了測試,測試結(jié)果表明,該方法檢測蘋果花朵的值為87.70%,值為0.94,mAP值分別為97.20%,模型大小為14.09 MB,檢測速度為60.17幀/s。
YOLOv5s目標(biāo)檢測算法檢測蘋果花朵的效果如圖5所示,其檢測的置信度在檢測框上方顯示,圖中每個花朵和花苞均可準(zhǔn)確識別,且置信度皆在0.90以上,表明該算法可以有效地檢測出蘋果花朵和花苞,且檢測的置信度較高。如圖6所示,在更為復(fù)雜的場景中,如花朵數(shù)量較多、存在部分遮擋和背景復(fù)雜的情況,YOLOv5s目標(biāo)檢測算法亦可實(shí)現(xiàn)準(zhǔn)確檢測。
圖5 蘋果花朵識別效果圖 Fig.5 Apple flower recognition renderings
圖6 復(fù)雜情況下的花朵識別效果圖 Fig.6 Flower recognition renderings in complex situations
為了評價YOLOv5s網(wǎng)絡(luò)對蘋果花朵的檢測效果,在相同條件下,分別基于 YOLOv4、SSD和Faster-RCNN目標(biāo)檢測算法對蘋果花朵訓(xùn)練集進(jìn)行訓(xùn)練,訓(xùn)練輪次選擇為300,再利用測試集對上述4種檢測算法的性能進(jìn)行評估,表2列出了YOLOv5s、YOLOv4、SSD和Faster-RCNN等4種目標(biāo)檢測算法的性能比較。
表2 4種目標(biāo)檢測算法的性能比較 Table 2 Performance of four target detection algorithms
由表2可知,YOLOv5s、YOLOv4、SSD和Faster-RCNN 4種目標(biāo)檢測算法檢測蘋果花朵的值分別為87.70%、89.56%、88.58%、71.28%,值分別為0.94、0.87、0.79、0.87,mAP值分別為97.20%、89.05%、87.45%、87.52%,模型大小分別為14.09、244.32、91.11、108.16MB,檢測速度分別為60.17、26.54、45.48、14.63 幀/s。分析測試結(jié)果可以得出:YOLOv5s目標(biāo)檢測算法的檢測精確率雖然比YOLOv4和SSD目標(biāo)檢測算法分別低1.86和0.88個百分點(diǎn),比Faster-RCNN目標(biāo)檢測算法高16.42%,但其值分別比YOLOv4、SSD和Faster-RCNN目標(biāo)檢測算法高7、15、7個百分點(diǎn),mAP分別比YOLOv4、SSD和Faster-RCNN目標(biāo)檢測算法高8.15、9.75、9.68個百分點(diǎn),其模型大小分別比YOLOv4、SSD和Faster-RCNN目標(biāo)檢測算法小94.23%、84.54%、86.97%,檢測速度分別比YOLOv4、SSD和Faster-RCNN目標(biāo)檢測算法快126.71%、32.30%、311.28%。
將測試集中的601幅圖像按照不同顏色、不同天氣情況和不同光照情況進(jìn)行分類,在相同試驗(yàn)條件下,利用上述4種目標(biāo)檢測算法分別對不同場景下的蘋果花朵圖像測試集進(jìn)行了測試,表3列出了不同場景下4種目標(biāo)檢測算法的檢測效果。
表3 不同場景下4種目標(biāo)檢測算法的檢測精度 Table 3 Detection accuracy of four target detection algorithms in different scenarios
由表3可知,對于不同花朵顏色、不同天氣情況和不同光照情況,YOLOv5s模型的值比YOLOv4和SSD模型略低,但優(yōu)于Faster-RCNN模型。針對不同花朵顏色、不同天氣情況,YOLOv5s模型的值與YOLOv4、Faster-RCNN模型相當(dāng),優(yōu)于SSD模型,針對不同光照情況,YOLOv5s模型的值高于其他3種模型。針對不同花朵顏色,YOLOv5s模型檢測白色、粉色和玫紅色花朵的mAP值均高于其他3種目標(biāo)檢測模型,檢測紅色花朵的mAP優(yōu)于SSD模型,但低于YOLOv4和Faster-RCNN模型,針對不同天氣情況和不同光照情況,YOLOv5s模型的mAP值均高于其他3種模型。
結(jié)果表明,應(yīng)用YOLOv5s目標(biāo)檢測算法能夠?qū)崿F(xiàn)蘋果花朵的快速檢測,且該目標(biāo)檢測算法模型較小,考慮到機(jī)械疏花對精度要求相對不高,該網(wǎng)絡(luò)在保持較高識別精度的前提下,通過犧牲部分精度指標(biāo)而大幅降低模型大小并提升其運(yùn)算性能,更有利于模型的遷移應(yīng)用,可為疏花器械的發(fā)展提供一定的技術(shù)支持。
1)該網(wǎng)絡(luò)對不同天氣下的花朵檢測效果如圖7a~7d所示,分別為晴天、多云、陰天、小雨天氣下的蘋果花朵檢測效果,經(jīng)測試,本方法檢測晴天、多云、陰天、小雨天氣下的蘋果花朵的值分別為86.20%、87.00%、87.90%、86.80%,值分別為0.93、0.94、0.94、0.94,mAP值分別為97.50%、97.30%、96.80%、97.60%,結(jié)果表明,在不同天氣情況,YOLOv5s網(wǎng)絡(luò)仍然可以準(zhǔn)確識別出蘋果花朵且檢測的置信度較高。
圖7 不同天氣情況下的花朵檢測效果圖 Fig.7 Flower recognition under different weather conditions
2)為了驗(yàn)證模型對不同顏色花朵的識別效果,本研究利用YOLOv5s目標(biāo)檢測算法對表1中的不同顏色花朵進(jìn)行了測試,如圖8所示為不同顏色花朵的檢測效果,圖8a~8d分別為白色、粉色、玫紅色、紅色花朵的檢測效果,經(jīng)測試,本方法對白色、粉色、玫紅色和紅色花朵的值分別為84.70%、91.70%、89.40%、86.90%,值分別為0.93、0.94、0.93、0.93,mAP值分別為96.40%、97.70%、96.50%、97.90%,結(jié)果表明,YOLOv5s目標(biāo)檢測算法可以準(zhǔn)確識別出不同顏色的蘋果花朵且檢測的置信度較高。
圖8 4種不同顏色花朵的檢測效果 Fig.8 Recognition effect of four different colors of flowers
3)不同光照強(qiáng)度下的蘋果花朵檢測效果如圖9所示,圖9a~9b分別為順光和逆光條件下的蘋果花朵檢測效果,經(jīng)測試,本方法檢測順光和逆光條件下蘋果花朵的值分別為88.20%、86.40%,值分別為0.94、0.93,mAP值分別為97.40%、97.10%,結(jié)果表明,對于不同的光照強(qiáng)度,YOLOv5s目標(biāo)檢測算法均可以準(zhǔn)確識別出蘋果花朵且檢測的置信度較高。
圖9 不同光照情況下的花朵檢測效果圖 Fig.9 Recognition results in different illumination conditions
如圖10所示為部分花朵被漏檢和誤檢的情況,圖10a中左下角箭頭所指的4個花苞被漏檢,圖10b中左下角箭頭所指的2個花苞被漏檢,圖10c中左下角箭頭所指花朵被漏檢,圖10d中圖像上方箭頭所指花朵被漏檢,左下角箭頭所指花朵被誤檢為花苞。分析出現(xiàn)花朵漏檢和誤檢的可能原因如下:
1)蘋果花朵圖像的采集設(shè)備為智能手機(jī),拍攝圖像時會存在一定程度的背景虛化,導(dǎo)致處于圖像中心的花朵細(xì)節(jié)明顯,而處于圖像邊緣的花朵細(xì)節(jié)模糊,蘋果花朵檢測模型在處理圖像邊緣的花朵時難以提取其特征,導(dǎo)致檢測時出現(xiàn)部分圖像邊緣的模糊花朵漏檢。
2)數(shù)據(jù)集中的蘋果花朵種類較多,形態(tài)各異,蘋果花朵檢測模型對于形狀較規(guī)則且分布較稀疏的蘋果花簇的檢測效果較好,對于花朵形狀復(fù)雜且分布密集的花簇,如圖10c和10d所示,花朵之間存在互相遮擋的情況,且花朵之間互相擠壓導(dǎo)致花朵的形狀不規(guī)則,由于相互遮擋的花朵外觀相似,某一花朵的預(yù)測框可能會移至與其外觀相似的另一花朵上,導(dǎo)致目標(biāo)定位不準(zhǔn)確,從而造成花朵的漏檢和誤檢。
圖10 漏檢和誤檢的效果圖 Fig.10 Renderings of missed and false detection
為了實(shí)現(xiàn)田間蘋果花朵的準(zhǔn)確快速檢測,本研究基于YOLOv5s模型,實(shí)現(xiàn)了蘋果花朵的高效檢測,主要結(jié)論如下:
1)YOLOv5s算法檢測蘋果花朵的值為87.70%,值為0.94,mAP為97.20%,模型大小為14.09 MB,檢測速度為60.17 幀/s。與YOLOv4、SSD和Faster-RCNN目標(biāo)檢測算法進(jìn)行對比,YOLOv5s算法的值相較其他3種算法分別高7、15、7個百分點(diǎn),mAP相較其他3種算法分別高8.15、9.75和9.68個百分點(diǎn),且在模型大小和檢測速度方面優(yōu)勢明顯,在模型訓(xùn)練的過程中可以較大程度上減小內(nèi)存的消耗,更有利于模型的遷移應(yīng)用。
2)針對不同顏色、不同天氣情況和不同遮擋情況下的蘋果花朵,本研究提出的蘋果花朵檢測方法都能較好地識別蘋果花朵,說明基于YOLOv5s的蘋果花朵檢測方法具有較好的魯棒性。
3)本方法的檢測精確率雖然略低于YOLOv4和SSD目標(biāo)檢測算法,但機(jī)械疏花對精度的要求相對不太苛刻,該網(wǎng)絡(luò)能夠在保持較高識別精度的前提下,犧牲部分精度指標(biāo)而大幅降低模型大小并提升其運(yùn)算性能,更有利于模型的遷移應(yīng)用,可為疏花器械的發(fā)展提供一定的技術(shù)支持。
4)本方法對于花朵形狀復(fù)雜且分布密集的花簇則存在部分花朵被漏檢和誤檢的情況。后續(xù)可以探索新的多尺度特征融合算法,將低層特征與高層特征更有效地融合,提高復(fù)雜情況下的蘋果花朵的檢測效果。