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