沈 超,夏秀波,楊 瑋,張煥春,李民贊
(1.山東省煙臺市農(nóng)業(yè)科學研究院,山東煙臺 265500;2.中國農(nóng)業(yè)大學智慧農(nóng)業(yè)系統(tǒng)集成研究教育部重點實驗室,北京 100083;3.煙臺市智慧農(nóng)業(yè)研究中心,山東煙臺 265500)
櫻桃番茄,又名圣女果,既是蔬菜,又是水果,其果實酸甜可口、柔軟多汁、營養(yǎng)豐富,富含VA、VC和礦質元素,具有一定的保健作用,深受消費者喜愛,是聯(lián)合國糧農(nóng)組織優(yōu)先推廣的四大果蔬之一[1]。隨著鄉(xiāng)村振興、科技扶貧以及農(nóng)業(yè)農(nóng)村現(xiàn)代化建設的推進,設施果蔬成為重要方向,櫻桃番茄是設施栽培中的主要品種之一[2]。但是櫻桃番茄人工采摘效率低、成本高,成為制約產(chǎn)業(yè)發(fā)展的重要因素[3]。隨著信息技術的飛速發(fā)展,使用人工智能設備代替或部分代替人工成為可能[4]。智能設備工作的第一步是物體的檢測與識別。近年來,基于數(shù)字圖像的識別檢測技術成為專家、學者研究的熱點[5-9]。深度學習的卷積神經(jīng)網(wǎng)絡模型與傳統(tǒng)的機器學習相比,能利用卷積操作自主學習圖像特征,且特征學習較為全面[10],可抽取到的特征比傳統(tǒng)方法具有更強的表征能力和魯棒性,這一優(yōu)勢使深度學習在計算機視覺領域的研究和應用中表現(xiàn)出不可替代的地位[11]。本試驗通過智能終端采集自然條件下櫻桃番茄果實的圖像信息,利用深度學習方法進行算法模型訓練,進而實現(xiàn)對果實圖像目標的準確識別,以期為后續(xù)的智能采摘和產(chǎn)量預估提供技術支持。
2020 年11—12 月和2021 年1—3 月在山東省煙臺市農(nóng)業(yè)科學研究院玻璃溫室對秋延遲和越冬兩個茬口的櫻桃番茄進行圖像采集。品種為金陽蜜珠(由山東省煙臺市農(nóng)業(yè)科學研究院提供),果實為橘黃色。在溫室自然條件下,采用Redmi K30 Pro智能終端,從不同拍攝角度采集圖像,共采集圖像600 張,圖像的分辨率為3 472 px×4 624 px,圖像的格式為jpg 格式。
基于深度卷積神經(jīng)網(wǎng)絡,采用開源圖像標注工具Labelimg 對櫻桃番茄圖像進行人工標記[12](圖1)。針對目標檢測模型構建了相應的數(shù)據(jù)集。其中,90%樣本用于訓練、10%樣本用于測試。訓練集共486 張圖片,驗證集共54 張圖片,測試集共60 張圖片。
圖1 部分圖像人工標記Figure 1 Part of images manually labeled
試驗采用運算速度與精度結合的YOLOv4 和YOLOv4-Tiny 算法[13]進行模型訓練,并對模型進行定量分析和定性分析。其主干特征提取網(wǎng)絡由DarkNet53 改用為CSP DarkNet53,同時使用Mish激活函數(shù)[14]。具體主干提取網(wǎng)絡見圖2:在特征金字塔部分,YOLOv4 進行了改進,使用了SPP 結構和PANet 結構,除去CSP DarkNet53 和YOLO Head 的結構外,都是特征金字塔的結構。
圖2 優(yōu)化后主干特征提取網(wǎng)絡Figure 2 Optimized backbone feature extraction network
試驗在極鏈AI 云平臺的高性能服務器中進行訓練和檢測識別。設備參數(shù)CPU 型號為Intel(R)Xeon(R)Gold 6129、內存為125G、內核為64 核、GPU 為GeForce RTX 2080 Ti、顯存為11G。軟件環(huán)境Ubuntu18.04 操作系統(tǒng)、Pyhton3.7 編程語言、TensorFlow 2.0 深度學習框架、CUDA 10.1。試驗使用構建的櫻桃番茄果實數(shù)據(jù)集,網(wǎng)絡結構均為默認設置,采用COCO 數(shù)據(jù)集的預訓練模型,優(yōu)化器均使用Adam,使用固定步長學習率衰減方法,并且使用凍結訓練方法,設置總訓練代數(shù)為100、凍結代數(shù)為50 進行模型的訓練。
對于櫻桃番茄果實圖像檢測的真實值和檢測結果使用混淆矩陣來判斷[15](表1)。目標檢測任務通常采用精確率、召回率、平均精確率和綜合評價指標F1 來定量評估算法的檢測性能。其中,TP 表示與預測框和真實框相匹配的數(shù)量、FP 表示預測背景為目標的數(shù)、FN 表示屬于待識別目標但未被模型識別的數(shù)量、TN 表示本身為背景且未被模型識別為目標的數(shù)量。此外,還可以推出公式
表1 混淆矩陣Table 1 Confusion matrix
由圖3a 和圖3c 可知,YOLOv4、YOLOv4-Tiny算法的訓練損失值在前5 個epoch 內均出現(xiàn)了大幅度下降,之后下降速度放緩;在10 個epoch 后,YOLOv4 的訓練損失值曲線十分平緩,而YOLOv4-Tiny訓練的損失值仍有較明顯的下降趨勢,在第30 個epoch 的時候開始緩慢下降,之后趨于平緩,損失值終值為0.652;YOLOv4-Tiny 在20 個epoch 后,訓練損失值曲線十分平緩,在第50 個epoch 的時候開始緩慢下降,之后趨于平緩,損失值終值為6.723。由圖3b 和圖3d 可知,YOLOv4 的驗證損失在前5 個epoch 出現(xiàn)大幅度下降,在第10 個epoch 左右出現(xiàn)回升,然后變?yōu)樾》炔▌?,之后趨于平緩,損失值終值為0.818,最小值為0.592;YOLOv4-Tiny 的驗證損失值在訓練前期出現(xiàn)大幅度下降,在第4 個epoch 左右出現(xiàn)回升,每隔2 個epoch,驗證損失值會出現(xiàn)輕微下降,終值為7.803。根據(jù)這兩個算法的驗證損失值,可以看出YOLOv4 算法模型比YOLOv4-Tiny 更加穩(wěn)定。
圖3 訓練集和驗證集的損失值變化圖Figure 3 Changes in loss values of training and validation sets
YOLOv4 和YOLOv4-Tiny 算法模型具體定量結果見圖4~圖7。由圖4 可知,在YOLOv4 算法模型下深度學習后櫻桃番茄果實的預測精確率為100%,YOLOv4-Tiny 算法模型的預測精確率為96.84%;由圖5 可知,在YOLOv4 算法模型下深度學習后櫻桃番茄果實的召回率為91.12%,YOLOv4-Tiny 算法模型的召回率為90.53%;由圖6 可知,在YOLOv4 算法模型下深度學習后櫻桃番茄果實的平均精確率為96.32%,YOLOv4-Tiny 算法模型的平均精確率為94.18%;由圖7 可知,在YOLOv4 算法模型下深度學習后櫻桃番茄果實的綜合評價指標F1 為0.95,YOLOv4-Tiny 算法模型的綜合評價指標F1 為0.94。這表明在YOLOv4 和YOLOv4-Tiny 模型下深度學習對櫻桃番茄果實不同成熟度果實具有較高的識別率。而YOLOv4 算法模型的精確度、召回率、平均精確率和綜合評價指標F1 值明顯高于YOLOv4-Tiny 模型,這說明YOLOv4 算法模型明顯優(yōu)于YOLOv4-Tiny 模型。
圖4 兩種算法模型的準確率曲線Figure 4 Precision rate curves of two algorithm models
圖5 兩種算法模型的召回率曲線Figure 5 Recall rate curves of two algorithm models
圖6 兩種算法模型的精確率-召回率曲線Figure 6 Precision-Recall curve of two algorithm models
圖7 兩種算法模型的綜合評價指標F1 值曲線Figure 7 F1 value curve of comprehensive evaluation index for two algorithm models
試驗選取了溫室自然場景下不同成熟度的櫻桃番茄果實進行定性分析,訓練得到的YOLOv4 和YOLOv4-Tiny 模型識別效果見圖8。由圖8 可知,兩種算法模型對不同成熟度果實的檢測識別效果整體較好。對于采集的圖像中櫻桃番茄果實較大且個數(shù)較少的圖像,檢測結果良好;而對于圖像中櫻桃番茄果實小、個數(shù)較多且比較密集、有遮擋的、背景復雜的圖像,出現(xiàn)了錯檢、漏檢,檢測結果稍差,但YOLOv4 算法模型明顯優(yōu)于YOLOv4-Tiny 模型。
圖8 不同成熟度果實識別效果Figure 8 Recognition effect of fruits with different maturity
深度學習的卷積神經(jīng)網(wǎng)絡模型主要通過模擬人類的視覺功能來對獲取的圖像信息進行處理,具有自主全面學習圖像特征的特點[16]。張靖祺[17]將Grab cut首次運用到溫室番茄圖像的識別中,通過K-means與SVM 二者結合的方式對溫室番茄成熟度進行檢測;李國進等[18]針對YOLOv3 算法做了一些改進,通過模型的訓練,對芒果成功識別率更高,該訓練得到的模型在測試集上的平均精確率可以達到94%以上,為芒果的自動采摘提供了相應的技術支持。朱旭等[19]通過構建數(shù)據(jù)集,使用改進的Faster R-CNN 進行訓練得到的模型對成熟、半成熟和未成熟藍莓的平均識別精確率達94%以上,可為藍莓自動采摘以及估產(chǎn)等提供一定的技術支持;WAN 等[20]根據(jù)番茄的顏色特征,并結合BP 神經(jīng)網(wǎng)絡算法對羅曼番茄和梨形番茄這兩個品種的成熟度進行檢測,精確率可以達到99.31%,且標準差僅為1.2%;ZHAO 等[21]提出了一種基于多個特征圖和圖像融合技術的番茄識別算法,分別從顏色空間和亮度、同相、正交相位(YIQ)顏色空間中提取新的特征圖像,結合小波變換圖像融合特征,對成熟番茄進行識別,通過對試驗進行測試,93%的成熟番茄可以被正確識別;AREFI等[22]設計了一種基于形態(tài)學特征和RGB、HIS、YIQ空間的采摘機器人識別和定位成熟番茄的算法,精確率可以達到96.36%,但是該機器人不能識別和定位有遮擋的番茄;LIU 等[23]為了減少番茄檢測中光照和遮擋的影響,提出了一種基于普通彩色圖像自動檢測番茄的算法,該方法可以達到90.00%的精確度,94.41%的精度,F(xiàn)1-score 為92.15%,但是當超過一半的區(qū)域被遮擋或者重疊時,該方法是無法識別的。針對不同光照、重疊和遮擋條件下番茄果實識別的問題,許多研究人員嘗試使用各種傳感器,并應用機器學習或深度學習技術來克服[24-27]。
本試驗主要開展了櫻桃番茄果實圖像識別的圖像采集、標注、數(shù)據(jù)集的構建,YOLOv4 和YOLOv4-Tiny算法模型的訓練,并將其用于自然條件下櫻桃番茄果實圖像的檢測識別中。結果表明,使用訓練好的YOLOv4 和YOLOv4-Tiny 算法的深度學習神經(jīng)網(wǎng)絡模型,對櫻桃番茄果實的目標檢測效果良好,預測平均精確率分別為96.32%和94.18%;綜合評價指標F1 值分別為0.95 和0.94,說明該方法能夠實現(xiàn)對櫻桃番茄果實目標的準確識別。但對于果實小、個數(shù)較多且比較密集、有遮擋的圖像,檢測效果略差,后期將增加圖像,進行模型再學習訓練,以提高識別的效果。同時可以看出YOLOv4 模型明顯優(yōu)于YOLOv4-Tiny。因此,YOLOv4 模型可為后續(xù)溫室櫻桃番茄的產(chǎn)量預估、果實成熟度檢測、采摘和分級提供一定的技術支持。而YOLOv4-Tiny 作為輕量級的算法模型雖然精確率會略低一些,但仍能滿足多數(shù)使用場景,適合后續(xù)在嵌入式設備上的部署。