中國是水果生產(chǎn)大國,水果品種豐富,傳統(tǒng)的人工采摘方式費時費力,而利用人工智能技術(shù)可以幫助人們對水果種類和成熟度進行高效準確的識別,從而提高水果采摘的質(zhì)量和效率[12]。國內(nèi)外許多研究者將深度學習技術(shù)應用于目標檢測算法當中,準確快捷地實現(xiàn)對水果的識別和分類3。傳統(tǒng)的目標檢測算法為雙階段目標檢測,例如:Yu等在草莓采摘機器人的檢測任務(wù)中采用優(yōu)化的FastRegion-basedConvolutionalNeuralNetwork(Fast-RCNN)算法,通過訓練具有旋轉(zhuǎn)功能的感興趣區(qū)域來預測目標的旋轉(zhuǎn)邊界框,這一方法提高了模型對重疊和隱藏果實的通用性和魯棒性。
盡管雙階段檢測方法在目標識別上展現(xiàn)出良好的性能,但其繁瑣的訓練流程和龐大的計算資源需求卻成為水果檢測中的瓶頸。相對而言,單階段目標檢測因簡潔的流程和高計算效率,近年來在研究領(lǐng)域和實際應用中受到了廣泛的關(guān)注,例如:Koirala等基于YOLOv2和YOLOv1的特性,設(shè)計了一種新的MangoYOLO模型架構(gòu),該架構(gòu)通過將低層特征與深層特征相融合,實現(xiàn)了對芒果等水果的準確檢測。
上述基于深度學習的目標檢測算法雖然具有良好的技術(shù)優(yōu)勢,但面對多品種的檢測挑戰(zhàn)時,仍需加強適用性。本文使用深度學習技術(shù)中的卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetworks,CNN)將特征提取和分類識別過程融為一體,通過多層結(jié)構(gòu)逐步從局部信息抽象到高層語義信息,實現(xiàn)自動特征學習和分類識別,能夠從圖片、視頻中成功識別四種水果的類別以及三個等級的成熟度,擴大了適用范圍,提高了檢測效率。
1YOL0v5算法
YOLOv5是一種單階段目標檢測算法,采用Anchor-Based預測目標框,對于密集目標排列的情況,錨框可以提高檢測性能,由于其較小的模型大小和較少的計算量,相對于其他YOLO算法可能擁有更快的速度,尤其是在使用CPU進行推理時,YO-LOv5可能會展現(xiàn)出更高的幀率,這使得YOLOv5在需要快速處理大量數(shù)據(jù)或?qū)崟r目標檢測任務(wù)時具有優(yōu)勢。
YOLOv5的網(wǎng)絡(luò)架構(gòu)由三大組件構(gòu)成:Back-bone、Neck、Head。YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。將輸入數(shù)據(jù)進行預處理后,Backbone從處理信息中自動學習和提取有用的特征,其中CBL模塊將整體輸入特征圖分為兩部分,一部分作為輸出,一部分繼續(xù)進行卷積操作,SPP模塊將特征圖分別進行不同尺度的池化操作,生成多個尺度的特征圖。Neck融合來自卷積神經(jīng)網(wǎng)絡(luò)不同層次的特征,提高模型檢測小目標的性能。最后,Head進行回歸預測,輸出邊界框的大小、位置等信息[5]。
2 矩陣框損失
損失函數(shù)是衡量模型預測值與實際值偏差程度的指標。一般而言,損失函數(shù)的值越小,表示模型的預測性能越佳。
本文主要分析矩形框損失,YOLOv5使用CI-OUloss計算矩形框損失[8。假設(shè)分析得出的目標圖像的中心坐標為 (x,y) ,寬度和高度分別為 w 和 h 。為了方便計算出損失函數(shù),采用了4個坐標,各個點的坐標值如圖2所示。DIOU考慮了矩形A和B中心之間的距離,記為 ρ 。CIOU在IOU、GIOU、DIOU的基礎(chǔ)上,又考慮到了兩個矩形高度和寬度的比例,得到了CIOU計算公式:
CIOU=IOU-ρ2/C2-av
ρ 一真實框和預測框中心點之間的距離;
IOU一預測框與真實框的交集與并集之比;
C一真實框和預測框的最小包圍矩形的對角線長度;v一真實框和預測框?qū)捀弑鹊南嗨贫?;a一影響 v 大小的一個系數(shù)。 (arctan
arctan
(arctan
w—真實框的寬高比;
w—預測框的寬高比;
xl1?yl1 一真實框左上角的橫坐標和縱坐標;
x12 ! yl2 一真實框右下角的橫坐標和縱坐標;
x p 1、 y p 1 一預測框左上角的橫坐標和縱坐標;
xp2 、 yp2 一預測框右下角的橫坐標和縱坐標。
其中 C2=(max(xp2,xl2)-min(xpl,xll)2+(max(yp2, yl2)-min(ypl,yll))2 。通過上文中引入的參數(shù)后,又重新引入了v(矩形A和矩形B寬高比的相似度)a(影響v大小的一個系數(shù))。CIOU取值范圍是-1.5~1,IOU越大即A、B的重疊區(qū)域越大,則 a 越大,從而 v 的影響越大(圖2)。由此可得CIOUloss的計算公式:
lossclou=1-CIOU
3 水果數(shù)據(jù)集構(gòu)建與處理
網(wǎng)絡(luò)爬取和手動拍攝水果圖像,刪除不合格的圖片,剩余1770張圖片,訓練集、驗證集的比例為4:1(訓練集1416張,驗證集354張)。這些數(shù)據(jù)應涵蓋不同種類、不同成熟度階段的水果,以確保模型的泛化能力和準確性。本文主要通過La-belImg對水果圖像進行手動標注,生成所有圖像定位信息的TXT文本格式。對于類圓形水果的識別,標注水果的種類和位置,對于成熟度的識別,標注的內(nèi)容則側(cè)重于水果的成熟度等級。標注框的大小和位置盡量準確,標注內(nèi)容盡量保持一致性,完成標注后需要對標注數(shù)據(jù)進行各方面的檢查。
4 結(jié)果與分析
在整個數(shù)據(jù)集上執(zhí)行100次迭代來訓練模型,本文將學習率設(shè)置為0.01,批次大小為8。權(quán)重衰減數(shù)為0.0005。驗證集標簽圖如圖3所示。
查準率(precision)指模型預測為正類別中實際為正類別的比例。查準率的計算公式為:
查準率 .= 真正例TP/(真正例 TP+ 假正例FP)。
其中,真正例TP為模型正確預測為正類別的樣本數(shù)量,假正例FP為模型錯誤預測為正類別的樣本數(shù)量。
召回率(recall)衡量的是模型識別出所有實際正類別樣本的能力。召回率的計算公式如下:
召回率 .= 真正例TP/(真正例 TP+ 假負例FN)。
其中,真正例TP為模型正確預測為正類別的樣本數(shù)量。假負例FN為模型錯誤預測為負類別的樣本數(shù)量。召回率的值范圍從0到1,召回率為1意味著模型能夠識別出所有的正類別樣本,沒有遺漏。
召回率和查準率是兩個互補的指標。一個理想的模型應該同時具有高精確度和高召回率,但在實踐中,這兩個指標往往需要根據(jù)具體的應用場景進行權(quán)衡。
訓練過程中,模型訓練集損失函數(shù)損失值(train/box_loss、train/obj_loss、train/cls_loss)、驗證集損失值(val/box_loss、val/obj_loss、val/cls_loss)、查準率(precision)、召回率(recall)以及平均精度(mAP @0.5 、mAP@0.5:0.95)如圖4所示。損失值越低,模型的預測就越接近真實值??梢钥闯?,在訓練過程中,定位損失值(boxloss)逐漸下降,表明模型在定位目標方面的性能在提高,置信度損失值(obj_loss)在下降,說明模型在識別目標存在性方面的性能在提升,分類損失值(clsloss)同樣呈下降趨勢,表示模型在分類目標類別方面的性能在改善。驗證損失與訓練損失趨于一致,說明模型在驗證集上的性能也在提高。當?shù)螖?shù)達到100時,模型查準率超過 75% .召回率接近 80% ,平均精度超過 80% ,模型性能較為理想。
將一段視頻輸入模型中,結(jié)果如圖5所示??梢钥吹侥P蛯τ袠淙~遮擋、光照不均勻的多個目標都能很好地識別。
5結(jié)語
本文設(shè)計了一種基于深度學習的蘋果、葡萄、草莓、柿這四類水果分類和成熟度檢測系統(tǒng),能夠?qū)D片、視頻中的水果進行準確的水果類別判斷和成熟度評估,并通過GUI界面直觀地展示檢測結(jié)果,以較高的檢測率為農(nóng)業(yè)自動化發(fā)展賦能。
參考文獻
[1]張恩宇,成云玲,胡廣銳,等.基于SSD算法的自然條件下青蘋果識別[J].中國科技論文,2020,15(3):274-281.
[2] 任宇晴.基于深度學習的水果成熟度識別算法的研究[D].沈陽:沈陽師范大學,2022.
[3] 羅家梅.改進YOLOv5的水果品質(zhì)檢測與分類方法研究[D].贛州:贛南師范大學,2023.
[4] YUY,ZHANGKL,ZHANGDX,etal.OptimizedfasterR-cnn for fruit detection of strawberry harvestingrobot[C]. 2019 ASABE Annual International Meeting.Boston:American Society of Agricultural and BiologicalEngineers,2019:118-129.
[5] KOIRALAA,WALSHKB,WANGZ,etal.Deeplearn-ingforreal-time fruit detectionand orchard fruitload esti-mation:benchmarkingof‘MangoYOLO'[J].PrecisionAgriculture,2019,6(20):1107-1135.
[6] 劉子龍,張磊.自然環(huán)境下改進YOLOv5對小目標蘋果的檢測[J/OL].系統(tǒng)仿真學報,2024:1-15.
[7] 鄭紅彬,宋曉茹,劉康.基于YOLOv5的交通標志識別[J].計算機系統(tǒng)應用,2023,32(8):230-237.
[8] 曹秋陽,邵葉秦,尹和.基于注意力YOLOv5模型的自動水果識別[J].計算機系統(tǒng)應用,2022,31(7):333-340.
[9] 張世豪,董巒,逢正鈞,等.基于改進YOLOv5的小麥穗目標檢測模型[J].農(nóng)業(yè)工程,2023,13(3):50-56.