許 增,王志偉,胡桃花,李雪鵬,楊曉峰,李海芳+
(1.太原理工大學(xué) 信息與計算機(jī)學(xué)院,山西 太原 030600;2.山西省氣象局 山西省氣候中心, 山西 太原 030006;3.山西省朔州市氣象局 氣象服務(wù)中心,山西 朔州 036000)
我國的蘋果產(chǎn)量位居世界首位,出口量達(dá)90%,具有重要的產(chǎn)業(yè)地位。幼果期、果實膨大期、果實成熟期是蘋果整個物候期當(dāng)中的關(guān)鍵時期,蘋果的產(chǎn)量和品質(zhì)與此期間的物候觀測和科學(xué)管理息息相關(guān)。
而物候期的自動觀測,可以客觀地判別作物所處物候期階段,及時有效地開展農(nóng)事活動和精準(zhǔn)管理,提高農(nóng)事管理效率,減少人為主觀引起的觀測資料的絕對性,以取得少投入、多產(chǎn)出、保護(hù)農(nóng)業(yè)資源的突破,具有重要的應(yīng)用價值。
隨著機(jī)器學(xué)習(xí)的發(fā)展,計算機(jī)視覺技術(shù)以及深度學(xué)習(xí)技術(shù)在農(nóng)業(yè)中得到了廣泛的應(yīng)用[1]。蘋果物候期自動化觀測也開始步入新的階段。李宏利等[2]以3點(diǎn)確定圓算法為中心,配合圖像中樹枝樹葉部分的分割、果實邊緣的檢測及去除圖像的噪聲等技術(shù),以使處理速度滿足實時要求,并使成熟期蘋果定位結(jié)果準(zhǔn)確。夏雪等[3,4]設(shè)計了基于自適應(yīng)G-B色差圖,并結(jié)合迭代閾值分割法(ITS)探測出幼果期蘋果圖像興趣區(qū)。并且提出了一種融合K-means算法、關(guān)鍵角點(diǎn)檢測算法和距離最小二乘算法實現(xiàn)了成熟蘋果雙果重疊目標(biāo)偵測方法;趙德安等[5]提出了基于深度神經(jīng)網(wǎng)絡(luò)YOLOv3算法,實現(xiàn)了未成熟期、套袋期、成熟期的機(jī)器人采摘蘋果定位。Tian等[6]提出了一種改進(jìn)的YOLO-V3模型,利用密集連接的方法處理低分辨率的特征層,實現(xiàn)了幼果期、膨大期、成熟期的蘋果檢測估產(chǎn)及生長階段判別雙任務(wù)。但上述研究中,多數(shù)主要集中在不同時期的蘋果采摘定位、檢測估產(chǎn)等,在速度、精度之間的權(quán)衡更偏向于精度,而針對物候期識別輕任務(wù),本文選用了可用于嵌入式實時監(jiān)測設(shè)備的輕量級模型Tiny-YOLOv3作為本文的主干網(wǎng)絡(luò),雖然Tiny-YOLOv3模型檢測速度快,但其檢測識別精度較低。因此,本文引入ResNet和DenseNet方法對Tiny-YOLOv3的主干網(wǎng)絡(luò)進(jìn)行適度深化并對低分辨率層進(jìn)行特征復(fù)用和融合,利用所設(shè)計的物候期測試集,驗證了改進(jìn)模型的性能。
本文的數(shù)據(jù)來源于中國山西臨猗農(nóng)田試驗站,參考農(nóng)業(yè)氣象觀測規(guī)范,制定適宜本地的蘋果物候期觀測標(biāo)準(zhǔn),于2019年3月(萌芽期)開始,采集至2019年11月(葉脫落期)結(jié)束,表1為部分物候期觀測標(biāo)準(zhǔn)。使用了3888×5184像素分辨率的田間實時監(jiān)測設(shè)備在不同物候期進(jìn)行圖像采集。采集時間段設(shè)定為每天上午8點(diǎn)~11點(diǎn),下午12點(diǎn)~15點(diǎn),下午16點(diǎn)~19點(diǎn)。
表1 蘋果部分物候期觀測標(biāo)準(zhǔn)
其中在幼果期、果實膨大期、果實成熟期3個物候期,分別采集到4200張物候期圖像。在每個物候期,隨機(jī)選取一半的物候期圖像用于訓(xùn)練集。
由于戶外光照的角度和強(qiáng)度變化很大,神經(jīng)網(wǎng)絡(luò)能否處理不同復(fù)雜環(huán)境下采集的圖像取決于訓(xùn)練數(shù)據(jù)集的完整性。為增強(qiáng)訓(xùn)練數(shù)據(jù)集的豐富性,對采集到的圖像進(jìn)行角度、色彩、曝光度、圖像清晰度處理,如圖1所示。將6300張圖像增強(qiáng)為50 400張圖像,生成訓(xùn)練數(shù)據(jù)集。剩下的6300張圖像作為測試數(shù)據(jù)集,驗證改進(jìn)的Minor-YOLOv3-dense模型的檢測性能。
圖1 圖像增強(qiáng)方法
本文使用的Minor-YOLOv3-dense模型通過讀取txt文本獲得訓(xùn)練圖像的存儲位置、目標(biāo)在圖像中的標(biāo)注像素位置和目標(biāo)的類別。這個txt文件通過讀取一個使用VOC格式的數(shù)據(jù)集生成。因此,通過LabelImage軟件將場景中采集到的圖片以VOC的形式制成數(shù)據(jù)集。LabelImage是一個圖像標(biāo)注工具,它將圖像中標(biāo)注的目標(biāo)類信息和位置信息保存為xml格式的文件,以便進(jìn)行訓(xùn)練。圖2顯示了標(biāo)注圖像的過程。完成的數(shù)據(jù)集見表2。
圖2 LabelImage標(biāo)記工具
表2 數(shù)據(jù)增強(qiáng)后訓(xùn)練集
自2016年以來,陸續(xù)發(fā)布了YOLOv1[7]、YOLOv2[8]、YOLOv3[9]等不同版本,逐步提高了通用框架的準(zhǔn)確性。YOLOv3不僅具有較高的檢測識別精度和速度,而且對小目標(biāo)的檢測識別性能也很好。但是對于嵌入式實時監(jiān)測設(shè)備,YOLOv3模型的體系結(jié)構(gòu)過于復(fù)雜,需要更多的處理能力,且占用大量內(nèi)存,對硬件設(shè)備要求較高。與此同時,YOLOv3模型更新了輕量級版本Tiny-YOLOv3,如圖3所示,將特征金字塔網(wǎng)絡(luò)[10],與全卷積網(wǎng)絡(luò)結(jié)合起來。但在 應(yīng)對物候期觀測的復(fù)雜環(huán)境時,Tiny-YOLOv3網(wǎng)絡(luò)僅由7個卷積層和6個池化層交替組成前饋網(wǎng)絡(luò),有些過于簡單,導(dǎo)致物候期觀測性能不佳。
針對多樣的物候期特征,適度深化網(wǎng)絡(luò)可以更好地提取物候期特征,但網(wǎng)絡(luò)的參數(shù)也會不斷增長,這將大大增加計算量,占用內(nèi)存資源。在計算量過大的情況下,ResNet[11]提出增加1×1個卷積層來實現(xiàn)信息的跨通道整合和交互,減少網(wǎng)絡(luò)參數(shù),同時,在特征尺寸不變的前提下,大幅提升非線性特性,加強(qiáng)了網(wǎng)絡(luò)的表達(dá)能力。
為了提高實時檢測識別的平均精度,本文借鑒了ResNet中的方法,以保持實時性并提升平均精度為出發(fā)點(diǎn),提出一種參數(shù)數(shù)量較少、運(yùn)算復(fù)雜度相對較低的卷積神經(jīng)網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),稱之為Minor-YOLOv3。如圖4所示,在原Tiny-YOLOv3的Conv-4和Conv-6增加了2個卷積層,并在過渡模塊中使用1×1的卷積核進(jìn)一步降低維數(shù)。
Huang等[12]受到殘差網(wǎng)絡(luò)的啟發(fā),重新設(shè)計稠密塊,建立了每層與全部后置層間的連接,進(jìn)而每層輸入都擁有了全部前置層的特征圖,實現(xiàn)了特征的復(fù)用,緩解了梯度消失。l層拼接全部前置層x0,x1,…,xl-1特征的公式如下
xl=Hl[x0,x1,…,xl-1]
(1)
基于前文所提出的Minor-YOLOv3網(wǎng)絡(luò),將其低分辨率傳輸層替換為DenseNet,以此鞏固特征的傳輸,促使特征反復(fù)利用和融會,如圖5所示。其中,傳輸函數(shù)Hl包括批量歸一化、線性整流函數(shù)以及卷積。Hl提供了全部前置層的非線性變換。xi由64個特征層構(gòu)成,每層的分辨率為13×13。H1首先對x0實行BN-ReLU-Conv(1×1)非線性計算,然后對其輸出實行BN-ReLU-Conv(3×3)計算。H2對[x0,x1]產(chǎn)生的特征映射實行同樣的操作。拼接結(jié)果x2與[x0,x1]為[x0,x1,x2],當(dāng)作H3的輸入。拼接結(jié)果x3與[x0,x1,x2]為[x0,x1,x2,x3],再當(dāng)作H4的輸入。最后,特征層[x0,x1,x2,x3,x4]連續(xù)往前傳輸。
圖3 Tiny-YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)
圖4 Tiny-YOLOv3和Minor-YOLOv3的網(wǎng)絡(luò)參數(shù)
圖5 Minor-YOLOv3-dense網(wǎng)絡(luò)結(jié)構(gòu)
在訓(xùn)練過程中,當(dāng)圖像的特征被傳輸?shù)降头直媛蕦訒r,DenseNet中的后一層特征將接收到它所有前置層中的特征,從而減少了特征損失。這樣,低分辨率的卷積層之間可以重復(fù)利用和融合特征,進(jìn)而提高特征使用率以及使用效果。
最后,本文提出的Minor-YOLOv3-dense模型可以預(yù)測26×26、13×13兩個不同尺度的邊界框。它可以精準(zhǔn)定位目標(biāo),并對檢測到的目標(biāo)進(jìn)行分類,以提供蘋果物候期的實時觀測。
本研究中使用的Minor-YOLOv3-dense網(wǎng)絡(luò)基于PyTorch框架。并在NVIDIA GeForce RTX 2080Ti服務(wù)器上進(jìn)行了訓(xùn)練和測試。編程語言為Python,GPU加速庫為CUDA9.0和CUDNN7.0。網(wǎng)絡(luò)初始化參數(shù)見表3。
表3 網(wǎng)絡(luò)初始化參數(shù)
本文針對改進(jìn)后的Tiny-YOLOv3模型,利用測試圖像(6300張)進(jìn)行了一系列實驗,驗證了算法的性能。
3.1.1 mAP
mAP(mean average precision)是多個類別的平均AP值,在目標(biāo)檢測中作為衡量檢測識別精度的指標(biāo)。AP(average precision)是平均精度。該值是由精準(zhǔn)率P和召回率R計算得出。精確率、召回率以及mAP的計算如下所示
(2)
(3)
(4)
3.1.2 Loss
損失函數(shù)是評價模型性能的一個標(biāo)準(zhǔn)。Tiny-YOLO中的損失函數(shù)定義如下
Loss=lbox+lobj+lcls
(5)
目標(biāo)框位置誤差lbox定義如下
(6)
目標(biāo)置信度誤差lobj定義如下
(7)
目標(biāo)分類誤差lcls定義如下
(8)
3.1.3 速度
速度也是目標(biāo)檢測算法一個重要評價指標(biāo),這對于田間實時監(jiān)測設(shè)備是非常重要的。本文使用了兩個速度指標(biāo),第一個是每秒幀數(shù)(FPS);第二個是識別一張圖像所需時長,單位為ms。
為了驗證本文提出的模型的改進(jìn)性能,3個物候期圖像作為訓(xùn)練集,兩次改進(jìn)后的模型同Tiny-YOLOv3進(jìn)行比較,以此來說明本文網(wǎng)絡(luò)改進(jìn)的提升效果,如表4所示。Tiny-YOLOv3、Minor-YOLOv3-dense在訓(xùn)練過程中的損失及mAP,如圖6所示。
表4 兩次模型改進(jìn)效果
圖6 Minor-YOLOv3-dense與原模型的 Loss、mAP曲線對比
從以上結(jié)果可以看出,Minor-YOLOv3-dense在訓(xùn)練過程中比Tiny-YOLOv3收斂速度更快,收斂效果更好,Tiny-YOLOv3的最終損失約為2.52,而Minor-YOLOv3-dense的最終損失約為1.54,比原模型的損失約低0.98,且更加穩(wěn)定平滑。Minor-YOLOv3和Minor-YOLOv3-dense的mAP值分別為78.03和80.26,比原模型高出3.33和5.56。這說明Minor-YOLOv3-dense模型的檢測識別性能優(yōu)于Tiny-YOLOv3模型。但同時隨著改進(jìn)效果的提升,檢測速度均有所下降。
為了更好地觀測邊界框,分別使用1、2和3標(biāo)注幼果期、膨大期和成熟期。圖7為3個物候期檢測識別效果對比。圖7(a)為Tiny-YOLOv3模型在3個物候期的檢測識別效果,卷曲的葉面易被誤判為幼果期、膨大期,發(fā)紅的枝干、土壤易被誤判為成熟期,幼果期與膨大期間易混淆識別,可見其容易產(chǎn)生了較大的誤檢誤判。改進(jìn)后的Minor-YOLOv3-dense模型檢測識別效果如圖7(b)所示,其可以精準(zhǔn)定位并識別物候期類別。
圖7 改進(jìn)前后檢測識別效果對比
此外,在本文的數(shù)據(jù)集上測試了其它幾種較為先進(jìn)的模型,其mAP值、FPS、平均檢測時間,如表5所示。
表5 與其它模型的對比分析結(jié)果
從以上結(jié)果可以看出,Minor-YOLOv3-dense模型的平均精度均值均明顯高于前兩種輕量級模型,與YOLOv3-dense模型基本相同。Minor-YOLOv3-dense的平均檢測速度比YOLOv3-dense快了近11倍,但與Tiny-YOLOv2、Tiny-YOLOv3模型相比較,略有所下降,但仍符合實際工作環(huán)境下的實時性要求。綜上,在物候期觀測單任務(wù)中,Minor-YOLOv3-dense模型的檢測識別精度較高,且符合實時性要求,體現(xiàn)了Minor-YOLOv3-dense網(wǎng)絡(luò)在蘋果關(guān)鍵物候期觀測中的優(yōu)越性。
為了比較數(shù)據(jù)類別對檢測識別性能提升的影響,本文分別使用Tiny-YOLOv3、Minor-YOLOv3-dense模型訓(xùn)練各個物候期圖像。不同模型下3個物候期的AP值見表6。
表6 不同物候期的改進(jìn)效果
從以上結(jié)果可以看出,3個物候期的檢測識別分別提升了3.39、5.77以及7.52,由于幼果期果實體積較小,顏色與樹葉相近,所以幼果期的檢測識別效果提升不如膨大期和成熟期,而成熟期顏色變化較大,更容易被檢測識別,說明該模型性能提升受到形態(tài)大小,以及顏色特征的影響。
使用角度、色彩、曝光和清晰度處理來增強(qiáng)圖像。為了驗證4種處理方法對訓(xùn)練模型的影響,依次去掉一種增強(qiáng)后的數(shù)據(jù)集,得到對應(yīng)mAP。結(jié)果見表7。曝光、模糊問題圖像檢測識別效果如圖8所示。
表7 不同訓(xùn)練集的檢測識別效果
圖8 曝光、模糊問題圖像檢測識別效果
從實驗結(jié)果可以看出,角度處理對訓(xùn)練模型的影響有限,去除角度處理數(shù)據(jù)集后的訓(xùn)練模型的性能略低于完整數(shù)據(jù)集。色彩處理對提高檢測識別有很大的幫助,去掉色彩處理數(shù)據(jù)集會降低平均精度均值。曝光處理有利于模型適應(yīng)戶外光照變化,去除曝光處理數(shù)據(jù)集后的訓(xùn)練模型的檢測識別效果比完整數(shù)據(jù)集訓(xùn)練的模型檢測識別效果差。模糊處理有利于提高模型的魯棒性,與未經(jīng)模糊處理的數(shù)據(jù)集相比,經(jīng)過完整數(shù)據(jù)集訓(xùn)練的模型具有更高的平均精度均值。
本研究將ResNet以及DenseNet方法應(yīng)用于蘋果物候期的實時觀測,對現(xiàn)有的Tiny-YOLOv3檢測模型進(jìn)行了改進(jìn)。這個模型可以用來實時檢測識別幼果期、膨大期和成熟期。本文提出的Minor-YOLOv3-dense模型借鑒ResNet方法對Tiny-YOLOv3主干網(wǎng)絡(luò)適度深化,并使用DenseNet方法增強(qiáng)特征傳播,促進(jìn)特征的復(fù)用和融合,減少了特征損失,提高了網(wǎng)絡(luò)的性能。實驗結(jié)果表明,與其它幾種較為先進(jìn)的算法相比,本文提出的Minor-YOLOv3-dense模型具有較好的檢測識別精度和實時性,并且能較好處理曝光、模糊問題圖像。
以上工作驗證了Minor-YOLOv3-dense用于蘋果物候期實時精準(zhǔn)識別的可行性和高效性,未來工作將集中于完善各種復(fù)雜環(huán)境下的數(shù)據(jù)采集工作,提升現(xiàn)有模型,并進(jìn)一步實現(xiàn)各個物候期始期、盛期、末期的實時精準(zhǔn)識別。