牛愷銳 張正華 包飛霞 薛鵬 熊鑫
摘要:現(xiàn)有農(nóng)作物監(jiān)測(cè)大多采用大面積、分布式的設(shè)備來完成。不僅維護(hù)成本高昂,難管理,而且對(duì)于許多中小型農(nóng)戶是無法從智慧農(nóng)業(yè)中受惠。綜合考慮各區(qū)域種植條件的不同,設(shè)計(jì)提出一種基于邊緣計(jì)算的輕量化嵌入式監(jiān)測(cè)系統(tǒng),通過搭建神經(jīng)網(wǎng)絡(luò),配合作物數(shù)據(jù)處理算法并部署在嵌入式設(shè)備上,與無人機(jī)協(xié)同完成對(duì)作物的檢測(cè)。經(jīng)過實(shí)驗(yàn)驗(yàn)證,該系統(tǒng)具有低功耗、輕量化、低成本、檢測(cè)范圍廣的優(yōu)勢(shì),病蟲害模型精度在92%及以上,能有效解決國內(nèi)外農(nóng)作物病蟲害及生長環(huán)境參數(shù)的精細(xì)化監(jiān)測(cè)問題。
關(guān)鍵詞:機(jī)器視覺;作物監(jiān)測(cè);深度學(xué)習(xí);邊緣計(jì)算;嵌入式系統(tǒng)
中圖分類號(hào):TP274 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1008-1739(2021)14-61-5
0引言
近年來,我國農(nóng)作物病蟲害多發(fā)、重發(fā),其中具有代表性的如草地貪夜蛾、小麥白粉病、條銹病、水稻枯紋病和稻瘟病等重大病蟲害在部分地區(qū)防治形勢(shì)嚴(yán)峻。
傳統(tǒng)的作物病蟲害檢測(cè),會(huì)請(qǐng)農(nóng)技站的專家下地考察,這種方式效率低且易出錯(cuò)。同時(shí),我國農(nóng)業(yè)情況與國外不同,國外的大型先進(jìn)設(shè)備以及信息化技術(shù)方案難以在國內(nèi)快速推廣。隨著農(nóng)業(yè)物聯(lián)網(wǎng)、人工智能等技術(shù)的不斷發(fā)展,結(jié)合農(nóng)業(yè)信號(hào)化的檢測(cè)方案不斷出現(xiàn)。例如新疆的棉花大田生成物聯(lián)網(wǎng)技術(shù)綜合平臺(tái)試點(diǎn)項(xiàng)目取得一定的成效,通過部署大量自動(dòng)化、遠(yuǎn)程控制的生產(chǎn)設(shè)備,獲取農(nóng)作物生長環(huán)境和作物的全信息,有利于提高產(chǎn)量,大幅度提高農(nóng)作物抗御災(zāi)害及病蟲害的能力。蔣龍泉等通過對(duì)作物的高清視頻圖像提取出多種特征,并通過融合特征的支持向量機(jī)分類器完成對(duì)作物病蟲害的檢測(cè),具有較高的準(zhǔn)確率。陳天嬌等四通過對(duì)測(cè)報(bào)燈下的蟲害數(shù)據(jù)庫和田間病蟲害數(shù)據(jù)集為基礎(chǔ),建立起基于深度學(xué)習(xí)的病蟲害檢測(cè)計(jì)算框架,同時(shí)研發(fā)出相應(yīng)的移動(dòng)式的感知設(shè)各,初步實(shí)現(xiàn)對(duì)多種病蟲害的識(shí)別。綜上所訴,對(duì)于農(nóng)作物病蟲害的檢測(cè)朝著自動(dòng)化、智能化發(fā)展。但對(duì)于具體種植場(chǎng)景下完成對(duì)農(nóng)戶農(nóng)田作物的病蟲害檢測(cè)還稍顯繁瑣。
針對(duì)以上技術(shù)難點(diǎn),從3個(gè)方面提出解決方案:利用輕量化的邊緣計(jì)算嵌入式設(shè)備來管理檢測(cè)稻麥;利用無人機(jī)以及終端搭載的輕量化深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)來識(shí)別作物病蟲害;將環(huán)境參數(shù)傳感器結(jié)合邊緣智能來完成對(duì)農(nóng)田環(huán)境參數(shù)的采集和監(jiān)測(cè),完成對(duì)作物生長周期的智能化監(jiān)測(cè)、記錄和管理。
1總體方案設(shè)計(jì)
1.1病蟲害檢測(cè)系統(tǒng)的實(shí)現(xiàn)思路
采用邊緣計(jì)算、深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型與無人機(jī)結(jié)合的方式實(shí)現(xiàn)一個(gè)輕量化的監(jiān)測(cè)系統(tǒng),如圖1所示。相對(duì)于以往的費(fèi)時(shí)費(fèi)流量費(fèi)成本的云端識(shí)別,在不借助于超大型數(shù)據(jù)庫所訓(xùn)練出的綜合作物識(shí)別檢測(cè)網(wǎng)絡(luò)的情況下,可做到離線檢測(cè)。此外,邊緣計(jì)算設(shè)備也可通過4G和5G等通行模塊接入網(wǎng)絡(luò),并承擔(dān)部分算力任務(wù),如視頻數(shù)據(jù)的處理和模型訓(xùn)練的參數(shù)計(jì)算,同時(shí)將采集數(shù)據(jù)上傳到云端,與部署在云端的成熟模型相配合,完成對(duì)作物病蟲害的綜合識(shí)別。故本系統(tǒng)采用邊緣計(jì)算的方式能夠更好地適應(yīng)具體農(nóng)業(yè)場(chǎng)景,且對(duì)于不同農(nóng)田均可根據(jù)采集到的數(shù)據(jù)更新迭代神經(jīng)網(wǎng)絡(luò)模型進(jìn)一步適應(yīng)特定農(nóng)業(yè)場(chǎng)景,克服傳統(tǒng)云端神經(jīng)網(wǎng)絡(luò)模型只能利用訓(xùn)練好的模型,無法對(duì)具體場(chǎng)景做出調(diào)整的問題。另外,對(duì)于人工反饋錯(cuò)誤的圖像進(jìn)行記錄和反饋更新到模型中,形成采集、識(shí)別、反饋的神經(jīng)網(wǎng)絡(luò)迭代更新閉環(huán)。不僅能夠提供實(shí)時(shí)的監(jiān)測(cè)以及推理,而且還能節(jié)省將數(shù)據(jù)上傳到云端所花費(fèi)的流量以及時(shí)間成本。
1.2系統(tǒng)整體設(shè)計(jì)
本系統(tǒng)由無人機(jī)、圖像采集設(shè)備、邊緣計(jì)算嵌入式設(shè)備及系統(tǒng)GUI界面四部分組成,其中由無人機(jī)上搭載的圖像采集設(shè)備通過MJPG采集稻麥田圖像,采集的數(shù)據(jù)可通過無人機(jī)上的邊緣計(jì)算設(shè)備完成對(duì)圖像的識(shí)別推算,通過4G或5G通信網(wǎng)絡(luò)傳輸上傳結(jié)果,也可通過攝像頭的rtsp圖傳來進(jìn)行實(shí)時(shí)監(jiān)測(cè),將影像數(shù)據(jù)傳輸至終端。通過預(yù)部署的神經(jīng)網(wǎng)絡(luò)模型對(duì)輸入圖像進(jìn)行農(nóng)作物病蟲害的識(shí)別,并將結(jié)果通過轉(zhuǎn)發(fā)GUI的方式展示在界面上。實(shí)驗(yàn)中所選取的數(shù)據(jù)集包括小麥條銹病、白粉病和水稻枯紋病等常見病蟲害。
如圖2所示在Keras前端環(huán)境下用TensorflowGPU作為后端來生成Keras.h5格式模型,轉(zhuǎn)換為pb格式后部署到邊緣計(jì)算設(shè)備當(dāng)中,并利用無人機(jī)在田塊中掃描飛行來獲取圖片進(jìn)行推理。
2關(guān)鍵技術(shù)研究
2.1邊緣部署的深度卷積神經(jīng)網(wǎng)絡(luò)識(shí)別模型設(shè)計(jì)
系統(tǒng)基于Keras框架建立了一個(gè)特征提取的網(wǎng)絡(luò)結(jié)構(gòu),在測(cè)試時(shí)使用面向小數(shù)據(jù)集的訓(xùn)練網(wǎng)絡(luò),得到一個(gè)適用于識(shí)別農(nóng)作物成熟度的卷積神經(jīng)網(wǎng)絡(luò)。且對(duì)每種病害類別的數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng),增加訓(xùn)練模型的魯棒性,減少環(huán)境因素及噪聲的影響。
使用稻麥農(nóng)作物病蟲害數(shù)據(jù)集訓(xùn)練并驗(yàn)證網(wǎng)絡(luò)框架及數(shù)據(jù)集的準(zhǔn)確性,之后在計(jì)算設(shè)備上迭代30N(3000~5000數(shù)據(jù)集下N的值取100~150)次用以訓(xùn)練網(wǎng)絡(luò),實(shí)驗(yàn)中預(yù)設(shè)了較大的模型迭代周期,當(dāng)模型完成規(guī)定次數(shù)的訓(xùn)練之后,可以認(rèn)為模型訓(xùn)練完畢,網(wǎng)絡(luò)收斂。接著,在得到相應(yīng)的權(quán)重模型后,將模型轉(zhuǎn)換為Tensorflow的模型格式,然后再將模型進(jìn)行凍結(jié)層操作(frozen graph)生產(chǎn)pb文件,以此將模型中的權(quán)值參數(shù)和偏置值固定,這種方式在接入網(wǎng)絡(luò)后,也可利用網(wǎng)絡(luò)定期迭代更新模型參數(shù)。參照以上步驟,也可將AlexNet,VGGNet和ResNet50等模型經(jīng)過預(yù)處理后部署在無人機(jī)的邊緣計(jì)算嵌入式設(shè)備中,效果與在訓(xùn)練設(shè)備中的h5格式神經(jīng)網(wǎng)絡(luò)模型并無明顯差別。在邊緣設(shè)備中,結(jié)合Opencv庫的DNN模塊,對(duì)現(xiàn)有Tensorflow模型進(jìn)行硬件端的量化部署。
神經(jīng)網(wǎng)絡(luò)識(shí)別的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,適應(yīng)于以稻麥作物作為數(shù)據(jù)集的神經(jīng)網(wǎng)絡(luò)訓(xùn)練。該網(wǎng)絡(luò)中,輸入為Input 1(224×224×3),3個(gè)概率分布在網(wǎng)絡(luò)中主要包含卷積層、池化層和平坦層。
2.2識(shí)別模型的訓(xùn)練
2.2.1系統(tǒng)實(shí)驗(yàn)測(cè)試數(shù)據(jù)集選擇
數(shù)據(jù)集選擇如圖4所示。使用了農(nóng)作物各成熟度的泛化數(shù)據(jù)集用以訓(xùn)練作物識(shí)別網(wǎng)絡(luò),使無人機(jī)具有一定的尋的功能,使用病蟲害專用數(shù)據(jù)集用以訓(xùn)練病蟲害識(shí)別網(wǎng)絡(luò),完成對(duì)作物病蟲害的精準(zhǔn)識(shí)別,數(shù)據(jù)集共計(jì)30182張圖像,同時(shí)使尺寸統(tǒng)一為224×224×3,方便進(jìn)行訓(xùn)練。包括①小麥的成熟度數(shù)據(jù)集:分為生長期、灌漿期及成熟期3個(gè)成熟度時(shí)期;②水稻成熟度數(shù)據(jù)集:葉功能/返青期、生長期及成熟期3個(gè)標(biāo)簽分類;③水稻枯紋?。盒←湕l銹病、白粉病以及蟲害數(shù)據(jù)集。
2.2.2模型訓(xùn)練
使用Keras構(gòu)建基本網(wǎng)絡(luò)結(jié)構(gòu),具體的網(wǎng)絡(luò)summary以及參數(shù)數(shù)量如圖5所示。
(1)訓(xùn)練模型及準(zhǔn)確率的測(cè)試。
小麥病蟲害識(shí)別模型訓(xùn)練過程如圖6所示,在小麥成熟度模型訓(xùn)練的過程中,輕量化的神經(jīng)網(wǎng)絡(luò)模型對(duì)于稻麥田場(chǎng)景下的收斂度和loss,val,loss,acc,val acc參數(shù)表現(xiàn)的很好。
(2)進(jìn)行網(wǎng)絡(luò)模型的訓(xùn)練及參數(shù)的調(diào)整
訓(xùn)練參數(shù)如圖7所示,選擇Adam優(yōu)化器算法,利用梯度的一階矩估計(jì)和二階矩估計(jì)動(dòng)態(tài)調(diào)整每個(gè)參數(shù)的學(xué)習(xí)率。Adam的優(yōu)點(diǎn)主要在于經(jīng)過偏置校正后,每一次迭代學(xué)習(xí)率都有個(gè)確定范圍,使得參數(shù)比較平穩(wěn)。公式如下:
本設(shè)計(jì)選擇適配于識(shí)別模型的Adam算法,同時(shí)損失函數(shù)設(shè)定為categorical crossentropy(交叉熵?fù)p失)函數(shù),使用準(zhǔn)確率作為評(píng)估標(biāo)準(zhǔn)。
3實(shí)驗(yàn)結(jié)果及分析
監(jiān)測(cè)系統(tǒng)要有管理作物生長狀況以及對(duì)采集數(shù)據(jù)分析的能力,基于此,利用pyqt5和numpy來設(shè)計(jì)GUI界面。結(jié)合QTdesigner來提高開發(fā)效率,進(jìn)而完成對(duì)應(yīng)用功能的端側(cè)展示和應(yīng)用。
3.1關(guān)鍵性能指標(biāo)
①測(cè)試集識(shí)別準(zhǔn)確率:擬達(dá)到0.9,實(shí)際為0.92~0.97。
②識(shí)別速度:擬達(dá)到5 FPS,實(shí)際20.0(±2.0)FPS。
③功耗:不超過5W實(shí)驗(yàn)所用設(shè)備搭載的海思芯片3599A在8K@30+1080P@30 H.265編碼下典型功耗3W。
④模型體積(同一網(wǎng)絡(luò)結(jié)構(gòu)):不超過50 MB。實(shí)驗(yàn)中所使用到的5種模型——小麥成熟度識(shí)別模型、小麥條銹病識(shí)別模型、水稻成熟度識(shí)別模型、水稻枯紋病識(shí)別模型及蟲害識(shí)別模型均為25.6MB。
⑤穩(wěn)定性:芯片,應(yīng)用系統(tǒng)能夠長時(shí)間穩(wěn)定工作。
實(shí)驗(yàn)結(jié)果如表1所示,將原始數(shù)據(jù)集經(jīng)過數(shù)據(jù)增強(qiáng)、歸一化等方法提升模型的準(zhǔn)確率以及魯棒性,利用Dropout、正則化等方法對(duì)網(wǎng)絡(luò)內(nèi)部的權(quán)值參數(shù)進(jìn)行優(yōu)化,抑制過擬合現(xiàn)象。
值得說明的是,本次實(shí)驗(yàn)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中的參數(shù)在6×106以上,模型經(jīng)過處理后大小固定在25.6MB,在一般的嵌入式設(shè)備上可以推算運(yùn)行。而根據(jù)設(shè)備性能的不同,還可使用層數(shù)更深的神經(jīng)網(wǎng)絡(luò)或使用流行的深度學(xué)習(xí)框架如AlexNet、VGGNet等網(wǎng)絡(luò),但模型參數(shù)數(shù)量和體積同時(shí)會(huì)急劇增加。
3.2平臺(tái)對(duì)比性能優(yōu)勢(shì)
如表2所示,相比PC平臺(tái),本系統(tǒng)的邊緣計(jì)算嵌入式終端的低功耗表現(xiàn)突出,對(duì)比神經(jīng)網(wǎng)絡(luò)推算的參數(shù),在輕量化算法和設(shè)備的要求上,實(shí)現(xiàn)了快速識(shí)別,且量化后,系統(tǒng)性能相差不大。
如表3所示,本設(shè)計(jì)與同類設(shè)備相比,具有低功耗、輕量化、低成本、高效率和大范圍監(jiān)測(cè)的優(yōu)勢(shì)。完全可以提高對(duì)于稻麥作物的監(jiān)測(cè)效率。
4結(jié)束語
本文利用邊緣計(jì)算嵌入式設(shè)備和無人機(jī),配合輕量化的神經(jīng)網(wǎng)絡(luò)完成對(duì)稻麥病蟲害的識(shí)別,以及對(duì)稻麥影像數(shù)據(jù)和物理參數(shù)的采集,并在應(yīng)用側(cè)完成對(duì)系統(tǒng)的可視化管理以及與數(shù)據(jù)處理。
初步解決傳統(tǒng)的農(nóng)田環(huán)境監(jiān)測(cè)系統(tǒng)限于分布式的部署以及體型大、難管理的問題,并且有極大的可拓展性,不論是深度學(xué)習(xí)模型的“云端訓(xùn)練,邊緣部署”,還是農(nóng)田環(huán)境參數(shù)數(shù)據(jù)的可視化,本設(shè)計(jì)均可較好地實(shí)現(xiàn),體現(xiàn)出較好的實(shí)際應(yīng)用潛力。