牛愷銳 張正華 包飛霞 薛鵬 熊鑫



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