李小敏,張日紅,陳天賜,侯炳法,張權(quán),李雄
(仲愷農(nóng)業(yè)工程學(xué)院機(jī)電學(xué)院,廣州市,510225)
近年,隨著經(jīng)濟(jì)的快速發(fā)展和人民生活水平的顯著提高,水果消費(fèi)的比重逐年增加[1]。同時(shí)在精準(zhǔn)農(nóng)業(yè)、智慧農(nóng)業(yè)等技術(shù)的推動(dòng)下,水果種植的面積越來(lái)越大、品種越來(lái)越多。根據(jù)2019年報(bào)告顯示,我國(guó)水果種植面積同比凈增16.48萬(wàn)hm2,果園種植面積共計(jì)高達(dá)1 227.67萬(wàn)hm2[2];其中以蘋果、柑橘、梨等為主的大宗果品,種植面積更是每年以8%的速度遞增[3-4]。
果園種植面積增加的同時(shí),落花與落果成為不同果園智能管理所面臨的普遍問(wèn)題。雖然生理落果是果樹(shù)種植過(guò)程中的正?,F(xiàn)象,但是非正常的落果嚴(yán)重影響果樹(shù)的產(chǎn)量和水果品質(zhì)[5]。如果落果發(fā)現(xiàn)不及時(shí),不僅會(huì)造成落果的堆積和病變,而且會(huì)增加果樹(shù)果品二次病害傳染的風(fēng)險(xiǎn)[6]。因此,開(kāi)展果園落果識(shí)別與監(jiān)測(cè)層面的相關(guān)研究,具有重要意義。
目前國(guó)內(nèi)外落果研究已取得一定的進(jìn)展,Khamis等[7]以埃及金冠品種蘋果在預(yù)期收獲期前四周的早熟落果為研究對(duì)象,從蘋果病理學(xué)角度對(duì)早期落果原因進(jìn)行了探討與研究。Fabrício等[8]為探究甜橙落果的成因,對(duì)甜橙果實(shí)上病變大小、花梗距離、病變出現(xiàn)次數(shù)、時(shí)間等因素與過(guò)早落果之間的關(guān)聯(lián)性進(jìn)行相關(guān)研究與分析。Kumar等[9]通過(guò)作物養(yǎng)分管理對(duì)酸檸檬落果原因進(jìn)行分析,通過(guò)實(shí)際試驗(yàn)得到生物化肥最佳比例以實(shí)現(xiàn)最低落果率。張利軍等[10]以特色柑橘品種‘琯溪蜜柚’落果為研究對(duì)象,從不同分級(jí)落果的養(yǎng)分含量、養(yǎng)分脫落損耗,對(duì)該品種落果特性進(jìn)與規(guī)律進(jìn)行分析。楊小慧等[11]采用紫外分光光度法,測(cè)定文冠果落果黃酮含量;得出文冠果落果中黃酮含量豐富,蘆丁是其重要的單體成分,具有良好的抑菌活性等結(jié)論。然而,目前有關(guān)落果的研究,大多集中在機(jī)理、原因?qū)ふ遗c分析、改善策略設(shè)計(jì)與分析等層面,而落果智能化識(shí)別相關(guān)技術(shù)是上述研究的重要基礎(chǔ)和依據(jù),卻鮮有該方面的研究。
農(nóng)業(yè)環(huán)境中的目標(biāo)識(shí)別,主要分為兩種方法,一種是傳統(tǒng)的目標(biāo)識(shí)別,其中以圖像分割[12]、機(jī)器學(xué)習(xí)[13]為代表;機(jī)器學(xué)習(xí)標(biāo)志性的算法有K-means[14],SVM[15]等。另一種方法是基于深度學(xué)習(xí)的目標(biāo)識(shí)別。隨著以深度卷積神經(jīng)網(wǎng)絡(luò)為代表的人工智能的快速發(fā)展,將相關(guān)深度學(xué)習(xí)模型引入水果識(shí)別成為可能[16-18]。深度學(xué)習(xí)網(wǎng)絡(luò)種類繁多,然而由于YOLO(You only look once)執(zhí)行速度快、準(zhǔn)確率高等優(yōu)勢(shì),被廣泛應(yīng)用目標(biāo)識(shí)別與定位[19-21]。Tian等[22]利用YOLO-v3提出改進(jìn)性的深度學(xué)習(xí)網(wǎng)絡(luò)模型,對(duì)三個(gè)不同時(shí)期的蘋果圖像進(jìn)行了識(shí)別,實(shí)現(xiàn)對(duì)蘋果的實(shí)時(shí)識(shí)別。Lawal[23]為了檢測(cè)復(fù)雜環(huán)境條件下的番茄快速識(shí)別問(wèn)題,設(shè)計(jì)了一種改進(jìn)YOLO-v3深度學(xué)習(xí)模型。熊俊濤等[24]通過(guò)對(duì)YOLO-v3算法進(jìn)行改進(jìn),設(shè)計(jì)一種實(shí)現(xiàn)多層特征復(fù)用的神經(jīng)網(wǎng)絡(luò),用于夜間環(huán)境柑橘的識(shí)別,測(cè)試結(jié)果表明識(shí)別精確率高達(dá)95%以上。荊偉斌等[25]采集了不同條件下的地面蘋果圖像數(shù)據(jù)集,基于快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)模型(Faster-RCNN)對(duì)地面蘋果進(jìn)行識(shí)別與統(tǒng)計(jì),其平均識(shí)別率高達(dá)95%。上述基于圖像分割、機(jī)器學(xué)習(xí)、人工智能等方法的水果識(shí)別與定位文獻(xiàn),為落果識(shí)別與計(jì)數(shù)提供必要的參考。然而落果圖像數(shù)據(jù)存在環(huán)境復(fù)雜、特征不明顯等特點(diǎn)不利于識(shí)別與計(jì)數(shù);同時(shí)采用深度學(xué)習(xí)框架對(duì)落果識(shí)別層面的研究偏少。因此,亟需采用新型人工智能技術(shù),開(kāi)展落果識(shí)別等相關(guān)方面的工作。
針對(duì)目前落果識(shí)別存在的問(wèn)題,基于深度學(xué)習(xí)YOLO-v3網(wǎng)絡(luò)框架,構(gòu)建了林下落果智能識(shí)別方法。以真實(shí)果園落果、互聯(lián)網(wǎng)落果圖像、模擬落果場(chǎng)景圖像為基礎(chǔ),建立典型水果落果數(shù)據(jù)集合。探究了該深度學(xué)習(xí)框架在實(shí)際果園環(huán)境中識(shí)別效率與準(zhǔn)確性;并與SSD(Single Shot MultiBox Detector),RCNN(Recurrent Convolutional Neural Networks),CenterNet三種網(wǎng)絡(luò)模型算法進(jìn)行了落果識(shí)別性能對(duì)比;同時(shí)對(duì)試驗(yàn)結(jié)果進(jìn)行了分析與討論。
為了滿足數(shù)據(jù)多樣性與算法普遍性,選取3種常見(jiàn)大宗水果(蘋果、梨、柑橘)為對(duì)象,構(gòu)建試驗(yàn)數(shù)據(jù)集合。該試驗(yàn)落果圖像數(shù)據(jù)由真實(shí)果園落果、互聯(lián)網(wǎng)落果圖像、模擬落果場(chǎng)景圖像等幾部分組成。圖像大小為1 920像素×1 080像素,960像素×576像素,608像素× 608像素等,以BMP、JPG、PNG等格式進(jìn)行存儲(chǔ)。由于數(shù)據(jù)獲取渠道多樣存在尺寸不一、格式多樣等問(wèn)題。數(shù)據(jù)篩選之后,為了降低運(yùn)算成本,提高落果識(shí)別效率,如圖1所示對(duì)落果圖像進(jìn)行如下數(shù)據(jù)預(yù)處理:(1)圖片大小調(diào)整,將落果圖片樣本統(tǒng)一調(diào)整為416像素×416像素;(2)格式轉(zhuǎn)化,將多種圖片格式統(tǒng)一轉(zhuǎn)為PNG格式;(3)圖片分類,按照不同水果品種將圖片進(jìn)行分類存儲(chǔ)。
圖1 落果圖像預(yù)處理
為了增加數(shù)據(jù)多樣性和防止深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中的過(guò)擬合線性,采用翻轉(zhuǎn)、旋轉(zhuǎn)、隨機(jī)裁剪、噪聲添加等圖像數(shù)據(jù)增強(qiáng)方法對(duì)圖像數(shù)據(jù)集進(jìn)行部分轉(zhuǎn)化,進(jìn)而擴(kuò)展整個(gè)數(shù)據(jù)集合。三種典型水果落果圖像數(shù)據(jù)增強(qiáng)后,如圖2所示。
(a) 落果原圖 (b) 裁剪
完成上述數(shù)據(jù)預(yù)處理與數(shù)據(jù)增強(qiáng)后,構(gòu)建林下落果數(shù)據(jù)集合共計(jì)1 700張,其中蘋果500張,梨500張,柑橘700張。如圖3所示,以LabelImag為工具選取對(duì)不同類型的落果進(jìn)行人工標(biāo)記,并以xml格式進(jìn)行存儲(chǔ),在已標(biāo)記的1 700張圖像中隨機(jī)選取1 400張為訓(xùn)練集合,其余300張圖像為測(cè)試集合。
圖3 落果數(shù)據(jù)標(biāo)注
YOLO是一種典型的深度學(xué)習(xí)算法,其具有運(yùn)算速度快、結(jié)構(gòu)簡(jiǎn)單等特點(diǎn),被廣泛應(yīng)用于目標(biāo)識(shí)別與檢測(cè)層面?;舅枷胧菍⑤斎雸D像分成S×S個(gè)格子,若某個(gè)物體的中心位置坐標(biāo)落入到某個(gè)格子,此格子就負(fù)責(zé)檢測(cè)出該物體。
YOLO-v3是YOLO系列第三個(gè)版本,是應(yīng)用最廣泛的算法。YOLO-v3的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,該網(wǎng)絡(luò)模型引入了殘差模型和FPN(Feature Pyramid Network)框架,同時(shí)在YOLO-v2提出的Darknet19基礎(chǔ)上加入殘差模塊,形成YOLO-v3的主干Darknet53網(wǎng)絡(luò)。其中卷積單元由卷積層、批量歸一化層和激活函數(shù)構(gòu)成,卷積單元和零填充單元形成殘差單元,多個(gè)殘差單元構(gòu)成殘差塊。
圖4 YOLO-v3網(wǎng)絡(luò)結(jié)構(gòu)
為了獲得性能良好的林下落果識(shí)別網(wǎng)絡(luò)模型,采用如圖5所示流程對(duì)模型進(jìn)行訓(xùn)練。
圖5 基于YOLO-v3的落果識(shí)別流程
首先,將原始圖像進(jìn)行尺寸、標(biāo)注等預(yù)處理,數(shù)據(jù)分為訓(xùn)練、測(cè)試兩個(gè)子數(shù)據(jù)集;再把訓(xùn)練數(shù)據(jù)集輸入YOLO-v3網(wǎng)絡(luò),經(jīng)過(guò)多次迭代;當(dāng)損失函數(shù)取值小幅波滿足閾值條件,意味著網(wǎng)絡(luò)模型參數(shù)穩(wěn)定,然后輸出穩(wěn)定的網(wǎng)絡(luò)模型。最后,采用測(cè)試數(shù)據(jù)集合對(duì)落果識(shí)別網(wǎng)絡(luò)模型進(jìn)行性能測(cè)試。
為了識(shí)別不同大小和距離的落果,根據(jù)落果的大小等參數(shù)考慮,將整個(gè)識(shí)別網(wǎng)絡(luò)輸出張量參數(shù)設(shè)置為13×13,26×26,52×52三個(gè)張量預(yù)測(cè)結(jié)果。同時(shí),為減少?gòu)埩烤S度,每個(gè)輸出預(yù)測(cè)張量的長(zhǎng)度取值為21,以減少訓(xùn)練成本。試驗(yàn)?zāi)P陀?xùn)練與測(cè)試平臺(tái)均在Ubuntu18.04操作系統(tǒng)下進(jìn)行,配置有英特爾RTX2080顯卡,8G顯存;使用tensorflow-2.0框架并配置CUDA10.2版本和CUDNN v8.0.4版本進(jìn)行加速。將訓(xùn)練的相關(guān)參數(shù)設(shè)置如下,動(dòng)量取值0.9,權(quán)重衰減率取值0.000 5,初始學(xué)習(xí)率取值0.001。
模型訓(xùn)練過(guò)程中為獲得平均損失取值較小的模型和探究訓(xùn)練次數(shù)對(duì)該值的影響,在服務(wù)器中一共訓(xùn)練10 000次,耗時(shí)4 h。模型在前1 500次迭代,損失函數(shù)取值迅速變小,到3 000次后趨于穩(wěn)定,波動(dòng)幅度較??;經(jīng)過(guò)6 000次迭代后,平均損失取值無(wú)明顯變化,并在0.015附近小幅波動(dòng)。
為了對(duì)落果識(shí)別性能進(jìn)行評(píng)估,采用評(píng)價(jià)指標(biāo)準(zhǔn)確率(precision,P),召回率(recall,Rc)作為圖像分割結(jié)果的評(píng)價(jià)指標(biāo),并以綜合評(píng)價(jià)指標(biāo)(F1)作為準(zhǔn)確率和召回率的評(píng)估值。
(1)
(2)
(3)
式中:TP——正確識(shí)別到落果的數(shù)量;
FP——將非落果目標(biāo)識(shí)別為落果的數(shù)量;
FN——誤落果識(shí)別為背景的數(shù)量。
將訓(xùn)練好的深度學(xué)習(xí)模型部署于GPU1660顯卡上運(yùn)行,輸入測(cè)試數(shù)據(jù)集合計(jì)算不同類型落果檢測(cè)結(jié)果的準(zhǔn)確率(P)和召回率(Rc),最后統(tǒng)計(jì)得到F1值。
試驗(yàn)以不同數(shù)量和遠(yuǎn)近為因素,測(cè)試了100張落果圖像,其中含1~10個(gè)落果圖像共計(jì)30張,包含11~20落果圖像共計(jì)38張,含20個(gè)以上落果圖像共計(jì)32張。對(duì)每張圖像采用YOLO-v3訓(xùn)練好的模型進(jìn)行測(cè)試,結(jié)果如圖6所示。
(a) 1~10個(gè)落果
從圖6中可知,在落果數(shù)量較少、距離較近時(shí),所設(shè)計(jì)的算法可以準(zhǔn)確識(shí)別出落果和相對(duì)應(yīng)的數(shù)量;但是當(dāng)數(shù)據(jù)超過(guò)20個(gè)或距離較遠(yuǎn)時(shí),存在遺漏識(shí)別的現(xiàn)象,其原因在于落果數(shù)量增多,落果圖像重疊增加了網(wǎng)絡(luò)模型識(shí)別的難度。
為測(cè)試該算法對(duì)不同品種落果的識(shí)別效果,采用YOLO-v3算法對(duì)測(cè)試集中不同水果落果進(jìn)行識(shí)別性能測(cè)試,得到如表1所示的準(zhǔn)確率(P)、召回率(Rc)和F1值。從表1可知,YOLO-v3對(duì)三種典型落果的識(shí)別準(zhǔn)確率高達(dá)89%以上,其中柑橘的識(shí)別準(zhǔn)確率最高,超過(guò)94%。同時(shí),三種水果落果的F1值均大于90%。綜上,說(shuō)明提出的模型可以很好地識(shí)別不同品種水果落果。
表1 不同水果落果識(shí)別性能分析Tab. 1 Identification performance in different fruit
在本試驗(yàn)中,以柑橘落果為例,在相同訓(xùn)練集的條件,采用YOLO-v3,SSD,RCNN,CenterNet四種方法對(duì)柑橘落果識(shí)別網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以測(cè)試集為基礎(chǔ)對(duì)落果檢測(cè)與識(shí)別進(jìn)行了測(cè)試。4種算法對(duì)柑橘落果識(shí)別效果,如圖7所示。YOLO-v3的落地識(shí)別效果最好,除個(gè)別重疊落果未識(shí)別出來(lái),其余大部分都能夠準(zhǔn)確識(shí)別;CenterNet的識(shí)別效果次之,存在個(gè)別誤識(shí)別現(xiàn)象。SSD方法存在較多的遺漏識(shí)別,落果效果最差,同樣RCNN也存在較多落果遺漏識(shí)別。
(a) YOLO-v3 (b) SSD
如圖8所示,不同算法對(duì)柑橘落果檢測(cè)識(shí)別的準(zhǔn)確率和召回率。YOLO-v3與RCNN的識(shí)別效果相當(dāng),當(dāng)YOLO-v3識(shí)別準(zhǔn)確率最高和召回率最高,即該算法對(duì)于柑橘落果具有較好識(shí)別準(zhǔn)確率;相對(duì)于SSD,RCNN和CenterNet網(wǎng)絡(luò)模型,YOLO-v3的準(zhǔn)確率分別提高了7%,2%和3.5%。
圖8 不同算法柑橘落果識(shí)別的準(zhǔn)確率和召回率
果實(shí)的腐爛是落果最常見(jiàn)的現(xiàn)象之一,如何采用神經(jīng)網(wǎng)絡(luò)對(duì)其進(jìn)行識(shí)別是落果識(shí)別的組成部分。腐爛落果在顏色、形成等層面與正常落果存在較大差異,因此腐爛落果的檢測(cè)與識(shí)別是算法面臨的重要挑戰(zhàn),也是衡量算法識(shí)別落果穩(wěn)定性與魯棒性的重要指標(biāo)。為此,以30張腐爛落果圖片為基礎(chǔ)構(gòu)建其測(cè)試集合,對(duì)不同深度學(xué)習(xí)模型的腐爛落果識(shí)別效果進(jìn)行了試驗(yàn),得到如圖9所示效果。
(a) YOLO-v3 (b) SSD
YOLO-v3的腐爛識(shí)別效果最好,圖中7個(gè)腐爛落果均被正確識(shí)別出來(lái),RCNN次之,CenterNet模型的識(shí)別效果最差。根據(jù)試驗(yàn)結(jié)果可知,當(dāng)落果腐爛面積較大時(shí)會(huì)影響SSD、RCNN、CenterNet網(wǎng)絡(luò)的識(shí)別準(zhǔn)確性。同時(shí)統(tǒng)計(jì)測(cè)試結(jié)果得到,YOLO-v3、SSD、RCNN和CenterNet的腐爛識(shí)別準(zhǔn)確率分別為86%,59%,64%和43%。該結(jié)果說(shuō)明,對(duì)YOLO-v3在腐爛落果識(shí)別方法存在較大優(yōu)勢(shì)。
為了研究落果識(shí)別效率,基于測(cè)試集合隨機(jī)抽取100張圖片采用上述四種神經(jīng)網(wǎng)絡(luò)框架對(duì)落果進(jìn)行識(shí)別并統(tǒng)計(jì)總識(shí)別時(shí)間,然后取其平均值,獲得不同網(wǎng)絡(luò)對(duì)落果識(shí)別的平均時(shí)間,試驗(yàn)結(jié)果如圖10所示。由圖10可知,四種網(wǎng)絡(luò)在落果識(shí)別時(shí)間性能層面存在較大差異。RCNN的落果識(shí)別時(shí)間最長(zhǎng),時(shí)間值大于1.6 s;其他三中網(wǎng)絡(luò)的識(shí)別時(shí)間均小于0.3 s,SSD網(wǎng)絡(luò)的落果識(shí)別時(shí)間最快但是識(shí)別精度最低。YOLO-v3的平均識(shí)別時(shí)間為0.213 5 s,在識(shí)別時(shí)間性能層面略遜于SSD;原因在于YOLO-v3網(wǎng)絡(luò)層數(shù)較多,增加網(wǎng)絡(luò)落果識(shí)別時(shí)間。盡管YOLO-v3識(shí)別時(shí)間不是最快,但是識(shí)別準(zhǔn)確性最高;因此,綜合上述因素YOLO-v3是四種網(wǎng)絡(luò)中識(shí)別落果最優(yōu)選擇。
圖10 不同算法的落果識(shí)別時(shí)間對(duì)比
林下落果的準(zhǔn)確識(shí)別與統(tǒng)計(jì)是果園智能化管理的重要基礎(chǔ)與依據(jù)。針對(duì)落果種類多、圖像多樣、容易病變等特點(diǎn),本文利用深度學(xué)習(xí)方法,提出一種基于YOLO-v3的落果檢測(cè)方法,實(shí)現(xiàn)對(duì)落果準(zhǔn)確與智能化識(shí)別。通過(guò)數(shù)據(jù)預(yù)處理與增強(qiáng)建立落果數(shù)據(jù)集合,經(jīng)過(guò)訓(xùn)練搭建了識(shí)別網(wǎng)絡(luò)模型,并進(jìn)行相關(guān)試驗(yàn)。在未考慮將落果識(shí)別效率、時(shí)間等作為試驗(yàn)因素的條件下,通過(guò)相關(guān)試驗(yàn)得到以下結(jié)論。
1) YOLO-v3在落果數(shù)量較少、距離較近時(shí),可以準(zhǔn)確的識(shí)別出落果和相對(duì)應(yīng)的數(shù)量;當(dāng)數(shù)據(jù)超過(guò)20個(gè)或距離較遠(yuǎn)時(shí),存在遺漏識(shí)別的現(xiàn)象。對(duì)三種典型落果的識(shí)別準(zhǔn)確率高達(dá)89%以上,其中柑橘的識(shí)別準(zhǔn)確準(zhǔn)最高,其值超過(guò)94%。同時(shí),三種水果落果的F1值均大于90%。
2) 柑橘落果識(shí)別層面,對(duì)比其他深度學(xué)習(xí)方法YOLO-v3算法的識(shí)別準(zhǔn)確率最高、召回率最高;相對(duì)于SSD,RCNN和CenterNet網(wǎng)絡(luò)模型YOLO-v3的準(zhǔn)確率,分別提高了7%,2%和3.5%。
3) YOLO-v3、SSD、RCNN和CenterNet的腐爛落果識(shí)別準(zhǔn)確率分別為86%,59%,64%和43%;相對(duì)于其他算法YOLO-v3在腐爛落果識(shí)別方法存在較大優(yōu)勢(shì)。