孫博瑞,孫三民,蔣敏,薛山
(1. 塔里木大學(xué)水利與建筑工程學(xué)院,新疆阿拉爾,843300; 2. 塔里木大學(xué)現(xiàn)代農(nóng)業(yè)工程重點(diǎn)實(shí)驗(yàn)室,新疆阿拉爾,843300)
我國作為傳統(tǒng)農(nóng)業(yè)大國,農(nóng)業(yè)用水大約占全國用水的70%[1]。但同時(shí)我國是一個(gè)水資源嚴(yán)重不足的國家,人均水資源占有量僅相當(dāng)于世界水平的1/4。當(dāng)前我國大部分地區(qū)還在使用傳統(tǒng)的人力灌溉,不僅效率低且極大的浪費(fèi)了水資源,所以如何高效節(jié)約農(nóng)業(yè)用水成為當(dāng)前社會(huì)發(fā)展的重要問題。
隨著計(jì)算機(jī)技術(shù)的日漸成熟,物聯(lián)網(wǎng)等先進(jìn)技術(shù)被運(yùn)用到農(nóng)業(yè)生產(chǎn)中,促進(jìn)傳統(tǒng)農(nóng)業(yè)向現(xiàn)代化農(nóng)業(yè)的轉(zhuǎn)變[2]。楊沁昕等[3]以STC89C52單片機(jī)為核心控制器設(shè)計(jì)研發(fā)智能灌溉系統(tǒng),該系統(tǒng)分為手動(dòng)模式和智能模式來控制繼電器水泵,但其智能模式只是根據(jù)設(shè)定的土壤含水量上下限來控制灌溉,不夠智能化,并且需要下載手機(jī)APP來實(shí)現(xiàn)移動(dòng)遠(yuǎn)程控制不夠方便。
李杰等[4]對溫室大棚設(shè)計(jì)了基于語音識(shí)別和PLC的智能灌溉系統(tǒng),通過語音實(shí)現(xiàn)對溫室灌溉電機(jī)的遠(yuǎn)程控制,但系統(tǒng)構(gòu)建的價(jià)格相對較高。李慶鴻等[5]利用ZigBee無線傳輸技術(shù)設(shè)計(jì)一款節(jié)水灌溉系統(tǒng),實(shí)現(xiàn)了通過ZigBee節(jié)點(diǎn)來控制電磁閥協(xié)調(diào)器的功能,但是由于ZigBee的傳輸距離較近,該方法不適合在大面積農(nóng)田種植中推廣使用。在軟件控制方面,模糊控制、專家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)[6-9]等一系列智能算法被運(yùn)用到灌溉系統(tǒng)中。
為了解決目前灌溉系統(tǒng)智能化不足、價(jià)格相對昂貴、使用復(fù)雜、系統(tǒng)管理不便等問題開發(fā)了一套基于LSTM時(shí)間序列預(yù)測模型的智能灌溉系統(tǒng)。系統(tǒng)以樹莓派為下位機(jī)控制器,阿里云服務(wù)器為上位機(jī),通過LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型實(shí)現(xiàn)對作物需水量的預(yù)測,同時(shí)配備了相應(yīng)的物聯(lián)網(wǎng)平臺(tái)與移動(dòng)端平臺(tái),更加方便操作人員使用。
系統(tǒng)以傳感器技術(shù)、物聯(lián)網(wǎng)技術(shù)及人工智能技術(shù)為基礎(chǔ),實(shí)現(xiàn)了農(nóng)田數(shù)據(jù)采集功能、數(shù)據(jù)傳輸功能、智能預(yù)測功能、實(shí)時(shí)監(jiān)控功能和灌溉控制功能。
如圖1所示,系統(tǒng)主要包括數(shù)據(jù)采集模塊、核心控制模塊、灌溉執(zhí)行模塊、云端服務(wù)器與物聯(lián)網(wǎng)平臺(tái)。
首先由數(shù)據(jù)采集模塊采集環(huán)境數(shù)據(jù),然后通過485通訊Modbus協(xié)議傳輸?shù)胶诵目刂颇K樹莓派,樹莓派中的LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型獲取到數(shù)據(jù)后進(jìn)行需水量預(yù)測,并將氣象數(shù)據(jù)與需水量大小通過自身的無線通訊模塊上傳到云端服務(wù)器,服務(wù)器采用HTTP協(xié)議將數(shù)據(jù)內(nèi)容發(fā)送到物聯(lián)網(wǎng)平臺(tái),物聯(lián)網(wǎng)平臺(tái)通過MQTT協(xié)議改變樹莓派GPIO口電平的高低從而控制灌溉執(zhí)行模塊。圖2為灌溉系統(tǒng)實(shí)物圖。
圖1 系統(tǒng)框架圖Fig. 1 System frame diagram
圖2 系統(tǒng)實(shí)物圖Fig. 2 System physical map
作物需水量的多少取決于自身的生長發(fā)育階段與外界氣象因素,氣象因素為主要影響因素[10-11]。
為確定LSTM預(yù)測模型的特征輸入向量,使用DPS軟件以灰色關(guān)聯(lián)方法進(jìn)行相關(guān)分析,選取與作物需水量關(guān)聯(lián)性大的氣象因素作為模型的特征輸入向量。分析以2017年新疆阿拉爾站點(diǎn)的逐日氣象數(shù)據(jù)與作物需水量為樣本數(shù)據(jù),其部分?jǐn)?shù)據(jù)如表1所示。
表1 部分樣本數(shù)據(jù)Tab. 1 Some sample data
在準(zhǔn)備好數(shù)據(jù)后對各項(xiàng)數(shù)據(jù)進(jìn)行灰色關(guān)聯(lián)系數(shù)計(jì)算與比較,其步驟如下。
1) 根據(jù)分析的目的性確定數(shù)據(jù)的參考序列,本研究為了分析氣象因素與作物需水量的關(guān)聯(lián)程度,所以作物需水量為參考序列即母序列記作y′,氣象因素為比較序列即子序列記作xi′。
2) 確定評價(jià)指標(biāo)數(shù)據(jù)序列矩陣,共7個(gè)分析指標(biāo)每個(gè)指標(biāo)有365個(gè)數(shù)據(jù),所以矩陣為7×365矩陣。
3) 因?yàn)楦餍蛄袛?shù)據(jù)的物理意義不同,為了更好地進(jìn)行分析,按照式(2)、式(3)將各序列數(shù)據(jù)進(jìn)行無量綱化處理,其中:i=1,2,3,4,5,6;k=1,2,…,365。
(2)
(3)
無量綱化后的序列形成矩陣
(4)
4) 逐一計(jì)算參考序列與比較序列每個(gè)元素的差值的絕對值記為Q。
Q=|y(k)-xi(k)|
(5)
其中:i=1,2,3,4,5,6;k=1,2,…,365。
5) 確定參考序列與比較序列差值的絕對值最小值與最大值記為Z與W。
(6)
(7)
6) 由式(8)計(jì)算每一個(gè)氣象因素的關(guān)聯(lián)度系數(shù)εi(k)。
(8)
式中:ρ——分辨系數(shù),ρ=0.5。
計(jì)算出的各氣象因素與需水量之間的關(guān)聯(lián)系數(shù)如表2所示。
表2 關(guān)聯(lián)系數(shù)Tab. 2 Related coefficient
由表2可知各氣象因素與需水量之間的關(guān)聯(lián)系數(shù)為:X1>X6>X5>X2>X3>X4。由于氣壓的關(guān)聯(lián)系數(shù)相對較小,所以在構(gòu)建模型時(shí)不考慮其影響。
系統(tǒng)的核心部分為LSTM時(shí)間序列預(yù)測模型,使用Python語言編寫。LSTM指的是長短期記憶神經(jīng)網(wǎng)絡(luò),是循環(huán)神經(jīng)網(wǎng)絡(luò)RNN的改進(jìn),其能夠解決RNN在訓(xùn)練過程中容易出現(xiàn)梯度消失的問題[12]。LSTM神經(jīng)網(wǎng)絡(luò)通過3個(gè)不同的門控制之前信息對當(dāng)前信息的影響,即遺忘門(forget gate);輸入門(input gate);輸出門(output gate)。遺忘門決定上一時(shí)刻單元狀態(tài),輸入門決定了當(dāng)前的網(wǎng)絡(luò)輸入,輸出門控制單元的狀態(tài)[13],其結(jié)構(gòu)圖如圖3所示。
圖3 LSTM結(jié)構(gòu)圖Fig. 3 LSTM structure diagram
在每一個(gè)時(shí)間步t中具體步驟如下。
1) 首先將樣本數(shù)據(jù)傳入遺忘門,遺忘門的作用是篩除無用的信息,如式(9)、式(10)所示。
ft=σ(Wf·[ht-1,xt]+bf)
(9)
(10)
式中:ft——遺忘門;
Wf——遺忘門權(quán)重系數(shù);
bf——遺忘門偏置項(xiàng);
σ——sigmoid函數(shù);
ht-1——當(dāng)前輸出值;
Xt——LSTM當(dāng)前輸入值。
ft=σ(Wf·[ht-1,xt]+bf)
(11)
(12)
(13)
式中:it——輸入門;
Wc——輸入門權(quán)重系數(shù);
bc——輸入門偏置項(xiàng)。
3) 上一步獲得的新的細(xì)胞狀態(tài)Ct作為輸出門的初始出入,通過sigmoid函數(shù)計(jì)算輸出值。tanh函數(shù)將Ct值縮放到(0,1)區(qū)間,然后將得到的值與輸出值相乘。計(jì)算公式如式(14)、式(15)所示。
Ot=σ(Wo·[ht-1,xt]+bo)
(14)
ht=Ot·tanh(Ct)
(15)
式中:Ot——輸出門;
bo——輸出門偏置項(xiàng);
Wo——輸出門權(quán)重系數(shù)。
由灰色關(guān)聯(lián)分析得平均氣溫、平均風(fēng)速、相對濕度、日照時(shí)數(shù)和太陽輻射對作物需水量的影響較大所以模型以這些因素作為特征向量輸入,需水量作為目標(biāo)向量輸出,為多輸入單輸出型神經(jīng)網(wǎng)絡(luò)模型。
在數(shù)據(jù)準(zhǔn)備好后各數(shù)據(jù)間的大小與物理量都不相同為了避免特征輸入向量與標(biāo)簽輸出向量中的數(shù)值大的分量絕對誤差大,數(shù)值小的分量絕對誤差小,將表1中除去氣壓外其他原始數(shù)據(jù)按照式(16)做歸一化處理。歸一化后的數(shù)據(jù)如表3所示。
(16)
式中:X——?dú)w一化后的數(shù)據(jù);
Xi——?dú)w一化前的數(shù)據(jù);
Xmin——處理前數(shù)據(jù)最小值;
Xmax——處理前數(shù)據(jù)最大值。
表3 歸一化后的部分?jǐn)?shù)據(jù)Tab. 3 Normalized part of data
模型構(gòu)建在PyCharm環(huán)境下進(jìn)行,其流程如圖4所示。
圖4 LSTM神經(jīng)網(wǎng)絡(luò)流程圖Fig. 4 LSTM neural network flow chart
損失函數(shù)選擇均方差(MSE)損失函數(shù),其優(yōu)點(diǎn)為曲線光滑、連續(xù)、處處可導(dǎo),適用于梯度下降算法[14]。其計(jì)算公式如式(17)所示。
(17)
式中:f(x)——預(yù)測值;
y——目標(biāo)值;
n——樣本個(gè)數(shù)。
根據(jù)試驗(yàn)數(shù)據(jù)的特點(diǎn)與模型的架構(gòu),模型訓(xùn)練的具體參數(shù)設(shè)置如表4。
表4 預(yù)測模型參數(shù)設(shè)置Tab. 4 Predictive model parameter setting
確定好上述模型參數(shù)后,將訓(xùn)練樣本數(shù)據(jù)輸入模型,進(jìn)行網(wǎng)絡(luò)訓(xùn)練,由圖5可知模型訓(xùn)練的各評測曲線開始整體呈下降趨勢,在迭代40次后幾乎處于平穩(wěn)狀態(tài)網(wǎng)絡(luò)逐步收斂,到100次停止訓(xùn)練,且均方誤差MSE的值收斂到0.01左右,說明模型訓(xùn)練效果較好可以滿足訓(xùn)練要求。
圖5 訓(xùn)練迭代圖Fig. 5 Training iteration map
樣本數(shù)據(jù)共365個(gè),其中訓(xùn)練集占85%,驗(yàn)證集占15%即55個(gè)樣本數(shù)據(jù),在模型訓(xùn)練完成后,為了驗(yàn)證模型的準(zhǔn)確性,隨機(jī)選取55個(gè)樣本數(shù)據(jù)進(jìn)行線性擬合分析,與殘差分析,并將分析結(jié)果與RNN模型對比。
由圖6可知LSTM預(yù)測模型的擬合情況比RNN更好,擬合系數(shù)R2為0.987 2遠(yuǎn)高于RNN模型的0.834 8。從圖7兩種模型的預(yù)測殘差來看,LSTM相較于RNN模型殘差值更小更穩(wěn)定。
圖6 模型擬合對比Fig. 6 Model fitting contrast
圖7 預(yù)測殘差對比Fig. 7 Predictive residual contrast
所以LSTM模型的準(zhǔn)確性與模型性能更高,更適合用于需水量預(yù)測。
為實(shí)現(xiàn)環(huán)境的遠(yuǎn)程監(jiān)測和灌溉開關(guān)的遠(yuǎn)程控制,系統(tǒng)開發(fā)了相應(yīng)的物聯(lián)網(wǎng)Web平臺(tái)。平臺(tái)的開發(fā)使用阿里云Web可視化開發(fā),其具有免代碼開發(fā)、模板豐富等優(yōu)點(diǎn)。登錄阿里云后臺(tái),首先創(chuàng)建一個(gè)新的Web應(yīng)用,應(yīng)用名稱為智能灌溉,然后便可以對其進(jìn)行可視化編輯,頁面編輯完成后點(diǎn)擊發(fā)布即可通過發(fā)布的域名進(jìn)行訪問。Web平臺(tái)的設(shè)計(jì)主要包括以下兩個(gè)方面。
1) 實(shí)時(shí)環(huán)境數(shù)據(jù)顯示。如圖8所示,物聯(lián)網(wǎng)云平臺(tái)的數(shù)據(jù)中心可顯示農(nóng)田中的實(shí)時(shí)環(huán)境數(shù)據(jù),供用戶查詢。
(a) 空氣濕度 (b) 土壤濕度
(c) 土壤溫度 (d) 光照強(qiáng)度圖8 物聯(lián)網(wǎng)平臺(tái)環(huán)境監(jiān)測界面Fig. 8 Internet of Things environmental monitoring platform interface
2) 遠(yuǎn)程灌溉開關(guān)控制。如圖9所示,通過灌溉控制頁面按鈕,用戶可以實(shí)現(xiàn)對田間電磁閥開關(guān)的遠(yuǎn)程控制。
圖9 物聯(lián)網(wǎng)平臺(tái)開關(guān)控制界面Fig. 9 IoT platform switch control interface
為進(jìn)一步方便操作人員的使用,系統(tǒng)除了開發(fā)PC端物聯(lián)網(wǎng)平臺(tái),同時(shí)開發(fā)了移動(dòng)端平臺(tái)。移動(dòng)端的開發(fā)同樣使用阿里云Web可視化開發(fā)中的移動(dòng)應(yīng)用,移動(dòng)端平臺(tái)實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)監(jiān)測以及控制電磁閥的開關(guān)等功能。其操作界面如圖10所示。
圖10 移動(dòng)端界面Fig. 10 Mobile interface
在系統(tǒng)全部組裝完成后,對系統(tǒng)的各項(xiàng)功能進(jìn)行使用測試。其物聯(lián)網(wǎng)平臺(tái)端如圖8~圖10所示,傳感器采集的各項(xiàng)數(shù)值顯示及控制開關(guān)等功能均正常,符合預(yù)期的設(shè)計(jì)要求。
在灌溉決策方面首先LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型根據(jù)傳感器采集的氣象數(shù)據(jù)預(yù)測出當(dāng)前作物的需水量,然后與土壤濕度傳感器采集的土壤濕度換算得出的田間土壤儲(chǔ)水量進(jìn)行比較,當(dāng)模型預(yù)測值大于土壤儲(chǔ)水量時(shí),樹莓派的GPIO口由低電平轉(zhuǎn)為高電平,電磁繼電器通電,電磁閥開始工作,系統(tǒng)進(jìn)行灌溉。當(dāng)灌溉到傳感器檢測的土壤儲(chǔ)水量不小于模型預(yù)測值時(shí)樹莓派的GPIO口由高電平轉(zhuǎn)為低電平,電磁繼電器斷電,灌溉任務(wù)完成。若由氣象數(shù)據(jù)預(yù)測的需水量小于當(dāng)前土壤儲(chǔ)水量則系統(tǒng)不進(jìn)行灌溉任務(wù)。
田間儲(chǔ)水量如式(18)所示[15]。
Q=d·h·c
(18)
式中:Q——土壤儲(chǔ)水量,mm;
d——土壤容重,g/cm3;
h——土層厚度,mm;
c——土壤濕度,%。
系統(tǒng)灌溉試驗(yàn)在新疆阿拉爾市,塔里木大學(xué)棗樹試驗(yàn)基地進(jìn)行,土壤濕度傳感器埋深為30 cm,所以h取300 mm,根據(jù)團(tuán)隊(duì)前期試驗(yàn)得到的試驗(yàn)數(shù)據(jù)土壤容重d取1.43 g/cm3[16],土壤濕度由傳感器獲得。灌溉試驗(yàn)共分為兩部分,分別為需水量模型預(yù)測準(zhǔn)確性試驗(yàn)與系統(tǒng)灌溉決策試驗(yàn)。
將系統(tǒng)放在試驗(yàn)地后,根據(jù)傳感器在田間采集的氣象數(shù)據(jù)LSTM預(yù)測模型便可以預(yù)測出作物需水量,將模型預(yù)測值與計(jì)算值進(jìn)行比較,結(jié)果如表5所示。
由表5知試驗(yàn)組模型預(yù)測需水量的絕對誤差均在5%以下,且平均絕對誤差為3.02%,說明模型的準(zhǔn)確性較高,可以滿足系統(tǒng)的需求。
在灌溉決策方面對系統(tǒng)進(jìn)行了5組灌溉試驗(yàn),試驗(yàn)結(jié)果如表6所示。
由表6可知,系統(tǒng)測試可以按照要求進(jìn)行工作,在模型預(yù)測值大于田間儲(chǔ)水量時(shí)電磁閥開啟,系統(tǒng)開始進(jìn)行灌溉任務(wù),反之電磁閥關(guān)閉,系統(tǒng)不進(jìn)行灌溉。
表5 模型預(yù)測試驗(yàn)表Tab. 5 Model prediction testTable
表6 灌溉決策試驗(yàn)表Tab. 6 Irrigation decision experiment form
物聯(lián)網(wǎng)技術(shù)是實(shí)現(xiàn)現(xiàn)代化農(nóng)業(yè)的重要技術(shù)支撐,因此設(shè)計(jì)實(shí)現(xiàn)了基于LSTM作物需水量預(yù)測模型的智能灌溉系統(tǒng)。首先以灰色關(guān)聯(lián)分析選取對需水量影響較大的氣象因素,然后以氣象因素和需水量的預(yù)定屬性,建立LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型,模型的擬合系數(shù)R2為0.987 2,MSE的值收斂到0.01左右,說明LSTM模型的預(yù)測準(zhǔn)確性較高,可以用于作物需水量的預(yù)測。系統(tǒng)模塊均可正常工作,開發(fā)的物聯(lián)網(wǎng)平臺(tái)與手機(jī)端移動(dòng)平臺(tái)均能滿足預(yù)定操作要求,在灌溉試驗(yàn)中預(yù)測模型的平均絕對誤差為3.02%,系統(tǒng)能夠根據(jù)模型預(yù)測值進(jìn)行決策灌溉,運(yùn)行較穩(wěn)定。
中國農(nóng)機(jī)化學(xué)報(bào)2022年4期