李 莉 李 偉 耿 磊 李文軍 孫 泉 SIGRIMIS N A
(1.中國農業大學農業農村部農業信息獲取技術重點實驗室, 北京 100083;2.中國農業大學智慧農業系統集成研究教育部重點實驗室, 北京 100083;3.雅典農業大學農業工程系, 雅典 11855)
我國農業用水占總用水量的60%以上,由于水資源分配不均,部分地區缺水現象十分嚴重[1-4];同時,我國又面臨著人口老齡化問題,未來農業耕種問題尤為突出。因此,推動農業自動化、智慧化發展是我國的當務之急,通過智能監控、自動控制等手段實現農業的智慧化管理尤為重要[5]。
植株蒸騰過程能夠促進水分和養分的吸收和運轉,降低植物溫度,對作物的光合作用和干物質積累起著重要作用[6-8],準確模擬溫室作物蒸騰,并以此為依據制定科學合理的灌溉制度對節約用水、實現按需灌溉具有重要意義[9-11]。
目前Penmen-Monteith模型是溫室作物蒸騰估算研究中應用最廣泛和有效的機理模型[12-13],該模型綜合了輻射項和空氣動力學項,具有充分的理論基礎,已經在世界各地、各種氣候類型下通過蒸滲儀進行了驗證[14-15]。然而其最大的缺陷是需要較為完備的氣象數據,且對數據質量有嚴格的要求,所以其應用受到一定的限制[16-17]。
針對作物蒸騰量預測方法國內外學者進行了大量研究。OLUTOBI等[18]利用系統辨識方法,以入射輻射、水汽壓差和葉面積指數為輸入建立了一個數據驅動的植物蒸騰動力學預測模型,實時監測水分狀況;HACENE等[19]建立了考慮基質-植物-大氣連續體水分平衡的輻射子模型和作物子模型相結合的CFD模型,可以幫助定義灌溉制度,同時使用較少的水用于灌溉;崔寧博等[20]以最高氣溫、最低氣溫、相對濕度、日照時數和風速為輸入構建了基于MEA-BPNN的西北旱區蒸騰量預測模型,具有較強的泛化能力和預測精度。上述涉及的預測方法在處理大數據上缺少魯棒性,并且主觀選擇輸入變量、未對輸入變量進行篩選,導致模型普遍缺乏長效性和擴展能力,不能完全反映數據的本質特征。
循環神經網絡(Recurrent neural network, RNN)將時序的概念引入網絡結構設計中,使其在時序數據分析中表現出更強的適應性[21-22]。在RNN結構中引入門控循環單元(Gated recurrent unit, GRU),通過門的控制,決定歷史數據序列的權重,在實踐過程中降低訓練復雜性、縮短訓練時間。
本文提出基于隨機森林(Random forest, RF)與門控循環單元相結合的溫室番茄蒸騰量預測模型,該模型首先利用RF對影響番茄蒸騰量變化的變量進行重要性選擇,然后將篩選出的環境變量輸入基于RF-GRU的番茄蒸騰量預測模型,并以該模型指導灌溉,為溫室栽培高效節水灌溉提供參考。
選取中國農業大學信息與電氣工程學院小型日光溫室(40°N,116°21′E)作為數據獲取的試驗區域,該溫室南北向布局,尺寸為4.5 m×3.2 m×2.5 m,屬半干旱半濕潤季風氣候區,番茄栽培試驗于2020年9—11月進行。
試驗分為番茄累計蒸騰量預測模型和模型驗證兩部分,試驗作物均使用粉冠品種番茄,并針對番茄的結果前期(即幼苗期至開花坐果期)蒸騰量模型進行研究。使用柱狀盆進行基質栽培,盆上口徑23 cm,底徑18 cm,高21 cm,種植容積2 L。將草炭、蛭石和珍珠巖按體積比3∶1∶1進行均勻混合作為番茄栽培的基質。灌溉方式采用滴灌方式,以確保水分在滲透基質的過程中保持平緩運移[23]。
1.2.1番茄累計蒸騰量預測試驗
選取5株番茄進行試驗,隨機選取其中2株放置在電子秤上稱量,以獲得番茄蒸騰量。番茄于9月5日定植,定植后緩苗7 d,之后每2 d灌溉300 mL純凈水,每周利用美樂棵濃縮營養液對植株進行施肥,其氮、磷、鉀配比為15∶7∶8。檢測番茄生長時期的各環境因子與番茄表層圖像。
1.2.2模型驗證試驗
選取10株番茄分為2組處理(T1、T2),T1采取定時灌溉,每2 d灌水300 mL;T2按照本文的蒸騰量模型指導灌溉,以土壤傳感器實時測得的基質含水率作為灌溉起始點的標準,當基質含水率低于35%時啟動灌溉,灌溉量為上次灌溉后至此次灌溉之間的番茄預測累計蒸騰量。此外番茄管理方式除灌溉外與實際生產管理方式完全一致,且保證番茄的正常發育,無病蟲害發生。
基于番茄蒸騰量的智慧灌溉系統如圖1所示,由信息采集組件、智慧決策組件與灌溉控制組件組成。其中信息采集組件包括空氣溫濕度傳感器、光照強度傳感器、光合有效輻射傳感器、基質溫濕度傳感器與攝像頭;智慧決策組件由租賃的云服務器與控制模型構成;灌溉控制組件包括繼電器、潛水泵、電磁閥、流量計、滴灌帶、滴箭。

圖1 溫室番茄智慧灌溉系統結構圖Fig.1 Structure diagram of greenhouse tomato intelligent irrigation system1.灌溉控制組件 2.基站 3.云服務器 4.光合有效輻射傳感器 5.空氣溫濕度及光照強度傳感器 6.攝像頭 7.滴箭 8.滴灌帶 9.土壤水分傳感器 10.潛水泵 11.電子秤 12.電磁閥 13.流量計
信息采集組件采用樹莓派作為系統核心控制器,外圍連接環境參數傳感器與攝像頭,并通過GPRS將采集的信息傳輸到云服務器的數據庫中。智慧決策組件核心是運行在云服務器中的代碼,代碼分為兩部分:①將信息采集組件傳輸的信息存儲到數據庫中以便后期可視化顯示與分析。②將數據輸入到已訓練好的模型中,輸出控制信號并傳送到灌溉控制組件。灌溉控制組件以STM32單片機作為主控,通過GPRS接收云服務器中發送的控制信息,控制繼電器的開關繼而控制潛水泵與電磁閥,實現灌溉控制。其流程圖如圖2所示。

圖2 灌溉系統工作流程圖Fig.2 Workflow chart of irrigation system
試驗數據利用1.3節的信息采集組件獲取,主要包括Raspberry Pi 3B(樹莓派)、GPRS無線通信模塊、傳感器(空氣溫濕度傳感器、光照強度傳感器、光合有效輻射傳感器、基質溫濕度傳感器)與攝像頭,其在溫室內布置如圖3所示。

圖3 監測系統溫室布設示意圖Fig.3 Monitoring system layout drawing in greenhouse1.基質溫濕度傳感器 2.光合有效輻射傳感器 3.光照強度與溫濕度傳感器 4.攝像頭
各傳感器采集溫室內空氣溫度(Ta)、相對濕度(RH)、光照強度(LI)、光合有效輻射(PAR)、基質含水率(Ms)、基質溫度(Ts)等溫室生態及栽培環境數據,并將數據上傳至樹莓派中。樹莓派經過預處理將信息通過GPRS模塊上傳至遠程數據庫中,同時從中國氣象局獲取當地氣象數據如室外空氣溫度(To)、相對濕度(RHo)以及風速(WS)。數據采集時間為每日06:30—17:30,間隔5 min上傳一組數據。選取10月7—29日在線采集的共計3 059組樣本數據作為數據源,其中1 995組樣本作為訓練集,1 064組樣本作為測試集,分別用來訓練和驗證溫室番茄蒸騰量模型性能。
番茄相對葉面積指數(RLAI)通過安裝在植株頂部的攝像頭拍攝圖像后經由圖像處理獲得。其具體流程如圖4所示。處理后的番茄圖像如圖5所示。

圖4 番茄相對葉面積指數獲取流程圖Fig.4 Flow chart of obtaining tomato relative leaf area index

圖5 處理后番茄圖像Fig.5 Image processing to obtain RLAI
遍歷二值化圖像的像素點計算作物相對葉面積指數,計算式為
(1)
式中RLAI——相對葉面積指數
SL——圖像中葉片的像素數
SA——圖像所有像素數總和
單株番茄實時蒸騰量通過稱量法獲取[24]。具體方法是,在處理前1 d,對植株進行充分灌水使基質水分盡量達到飽和。稱量法的示意圖如圖6所示,將燒杯放置在栽培盆支架下方,用于收集基質滲透的水分,每隔5 min用精密電子秤(ACS-Z系列,上海友聲衡器有限公司,量程30 kg,精度±1 g)對盆栽和燒杯(500 mL)的總質量(W1、W2、…、WN)進行稱量,再計算單株番茄的實際蒸騰量。計算式為

圖6 單株番茄稱量系統Fig.6 Single plant tomato weighing system
ETN=WN-WN-1
(2)
式中ETN——番茄在時刻N之前的5 min內的蒸騰量
WN——番茄在時刻N的質量
WN-1——番茄在時刻N-1的質量
試驗過程中,番茄莖稈周邊基質上覆蓋塑料薄膜以防止基質水分蒸發對測量造成影響,進一步提高番茄實際蒸騰量的獲取精度。
RF算法是一種基于分類和回歸樹的機器學習算法[25]。RF利用bootstrap重復抽樣及枝葉節點分裂等技術[26],從原始樣本數據集中有放回地重復隨機抽取n個樣本,利用新的樣本數據集來訓練決策樹。原始訓練樣本中約有37%的數據未被抽取,這些數據稱為袋外數據(Out of bag, OOB),將構建n棵決策樹組成隨機森林,OOB作為RF的測試樣本,根據決策樹的投票分數得到最優的分類結果[27]。
基于RF變量選擇的基本步驟[28]為:
(1)假設原始樣本數據集為N,各影響變量分別為x1、x2、…、xk,利用自助法重采樣技術有放回地隨機抽取n個樣本,應用這n個新的樣本數據集構建n棵決策樹,沒有被抽取的數據構成b個OOB。
(2)構建n棵決策樹時,對每棵決策樹對應的OOB進行投票,獲得n個樣本OOB中每一個樣本的投票分數,記為mark1、mark2、…、markb。
(3)將變量xi的數值在b個OOB樣本中的順序作隨機改變,形成新的OOB測試樣本,然后用已建立的RF對新的OOB進行投票,根據判別正確的樣本數得到每一個樣本的投票分數,可以表示為
(3)
(4)用mark1、mark2、…、markb與式(1)對應的向量和i行向量相減,求和平均后得變量xi的重要性評分,實際上表示了每種特征對分類的貢獻量,能夠衡量特征的單獨分類能力,有助于確定分類過程中特征的重要性,從而為特征選擇提供依據。重要性評分計算式為
(4)
式中b——隨機森林中OOB的數量
markj——變量xi置換前第i棵樹的OOB誤差率
markij——變量xi置換后第i棵樹的OOB誤差率(平均袋外數據誤差)
長短期記憶(LSTM)是一種改進的RNN,可以學習長期依賴信息。CHUNG等[29]對LSTM神經網絡進行了改進,優化了門限的個數,提出了GRU神經網絡。GRU保持了LSTM效果的同時又使結構更加簡單,減少了訓練參數,提高了模型訓練的速度。與LSTM相比,GRU去除了細胞狀態,使用隱藏狀態來進行信息的傳遞。它只包含更新門和重置門。更新門的作用類似于LSTM中的遺忘門和輸入門,用來控制信息輸入和細胞歷史狀態信息的保留,重置門用于決定遺忘先前信息的程度。
設輸入序列為(x1,x2,…,xt),隱含層狀態為(h1,h2,…,ht),則在t時刻有
zt=σ(wz[ht-1,xt]+bz)
(5)
rt=σ(wr[ht-1,xt]+br)
(6)
(7)
(8)
式中zt——更新門rt——重置門
ht-1——前一時刻隱含層單元的輸出信息

ht——當前輸出信息
wz——更新門中與ht-1和xt向量連接的權重矩陣
wr——重置門中與ht-1和xt向量連接的權重矩陣

bz、br、bh——各函數的偏移
σ——sigmoid 函數
tanh()——雙曲正切函數
基于上述原理,為了提高預測模型的精度,本文預測番茄蒸騰量的主要步驟包括數據獲取及數據預處理、蒸騰量關鍵影響因子選擇、門控循環單元網絡模型構建、番茄蒸騰量預測,具體的番茄蒸騰量預測流程如圖7所示。

圖7 基于RF-GRU的番茄蒸騰量預測模型流程圖Fig.7 Flow chart of tomato transpiration prediction model based on RF-GRU
預測步驟如下:
(1)通過樹莓派參數監測系統和中國氣象局獲取溫室內生態及栽培環境參數(Ta、RH、LI、PAR、Ms、Ts)、溫室外氣象參數(To、RHo、WS)和作物表型參數(RLAI),共同組成原始數據集,并對采集到的數據進行異常值剔除和歸一化預處理。
(2)利用RF算法計算溫室內外各個環境變量及RLAI的重要性,獲取各個參數變量的重要性并進行排序,選擇出番茄蒸騰量的重要影響變量,得到最終的輔助變量數據樣本,并劃分為訓練樣本集及測試樣本集。
(3)對GRU模型進行初始化設置,將訓練樣本數據集輸入模型,不斷調整模型參數,直到獲取最優網絡參數設置,得到最終的番茄蒸騰量預測模型。
(4)采用測試樣本測試番茄蒸騰量預測模型性能,與其他預測模型進行對比分析,實現番茄蒸騰量的精確預測。
番茄蒸騰量容易受到溫室內外溫度、濕度等多種環境因素的影響,具有非線性、非平穩、交叉耦合性強等特點,以所有的環境因素作為模型的輸入來預測番茄蒸騰量會使網絡結構過于龐大,并且增加硬件監測成本。因此,本文利用RF 算法對影響番茄蒸騰量的各個參數變量進行重要性評價,得到各個參數變量的重要性并進行排序,選出對番茄蒸騰量影響較大的變量。利用RF算法進行變量選擇,輸入RF 的數據為溫室內部的Ta、RH、LI、PAR、Ms、Ts,溫室外部氣象數據To、RHo、WS和RLAI?;赗F的溫室內外變量重要性的數據分析結果如圖8所示。

圖8 基于RF的溫室內外變量重要性分析結果Fig.8 Analysis results of importance of variables inside and outside greenhouse based on RF
由圖8可知,相對于其他影響變量,RLAI、LI、PAR、Ta、RH、Ms和Ts的重要性評分均達到了0.1以上,對番茄蒸騰量影響貢獻度更大。對番茄蒸騰直接影響最大的是RLAI,達到了0.133 07,原因在于番茄植株主要通過葉片表面進行蒸騰作用,LI和PAR主要通過對RLAI和Ta的增強作用對蒸騰間接產生正影響,RH主要通過對Ta的限制作用對蒸騰間接產生負影響,Ms主要通過對RLAI的增強作用對蒸騰間接產生正影響,Ts主要影響基質中植物、微生物還有土壤肥力,這些環境的改變影響植物根系的生長從而間接影響地上部生長,而溫室外環境因素影響較小,均未達到0.06。為了減小模型復雜度,本試驗選擇RLAI、LI、PAR、Ta、RH、Ms和Ts 7個變量作為參數篩選結果,對番茄蒸騰量進行預測。
根據3.1節試驗結果,RF-GRU模型的輸入變量選擇RLAI、LI、Ta、RH、PAR、Ms和Ts。為了探索網絡結構參數(時間步長及隱含層節點數)對模型學習性能的影響,將時間步長設置為1、3、5,隱含層節點數設為50、100、150,對其進行正交組合,選取均方根誤差(RMSE)與平均絕對誤差(MAE)相加最小的GRU網絡結構設置。9次試驗對應的不同網絡結構下的GRU模型的RMSE和MAE如表1、2所示。

表1 GRU不同網絡參數下番茄蒸騰量的RMSETab.1 RMSE of GRU under different network parameters g
從表1、2可以看出,當時間步長為5、隱含層節點數為50時,GRU網絡在測試集上的RMSE與MAE達到最小,分別為10.44、3.37 g。

表2 GRU不同網絡參數下番茄蒸騰量的MAETab.2 MAE of GRU under different network parameters g
故將RF-GRU模型輸入層的時間步長設置為5,隱含層節點數設置為50;輸出變量的個數為1,即番茄蒸騰量;學習率為0.001,批量大小為133和最大迭代次數為200。采用測試樣本在已訓練的最佳網絡進行模型性能測試,將測試集的預測值和稱重法得到的蒸騰量進行相關性分析,整體預測精度較為理想,其決定系數R2達到0.949 0,如圖9所示??梢院芎玫財M合環境因子以及作物因子與番茄蒸騰量之間復雜的非線性關系。

圖9 RF-GRU模型蒸騰量預測值與實測值的相關性曲線Fig.9 Correlation curves between predicted and measured transpiration of RF-GRU model
為了驗證在相同輸入參數條件下模型的性能,更好地說明RF-GRU模型在番茄蒸騰量預測中的優越性,本文同時利用GRU、RF-LSTM及RF-RNN模型對番茄蒸騰量進行預測并對比分析。其中RF-LSTM、RF-RNN模型是將經過RF篩選出的7個變量作為輸入,GRU是將全部參數變量作為輸入。
4個算法在相同的運算環境和輸入參數條件下,番茄蒸騰量的變化曲線如圖10所示。由圖10可知,RF-GRU 和GRU的預測值更加接近真實值,且變化趨勢幾乎一致,其中2 d蒸騰量較低,但預測效果良好,普適性較強。

圖10 4種模型在測試集的蒸騰量預測值變化曲線Fig.10 Variation curves of transpiration predicted values of four models in test set
同時,得到RF-GRU、RF-LSTM、RF-RNN及GRU模型的絕對誤差曲線(圖11)。由圖11可知,RF-GRU和GRU誤差波動較小,最大誤差在10 g以內,而其他2種算法曲線變化波動明顯較大,最大誤差分別達到了20、30 g。因此,本文所提算法性能明顯優于其他算法性能,并且算法受樣本數量變化影響較小,再次證明了RF-GRU具有較高的泛化能力和良好的穩定性。

圖11 4種模型的絕對誤差變化曲線Fig.11 Absolute error comparison of four models
RF-GRU、GRU、RF-LSTM及RF-RNN模型在測試樣本的具體評價指標值如表3所示。從表3可得,GRU、RF-LSTM及RF-RNN方法對番茄蒸騰量預測的R2分別為0.954 1、0.935 3和0.914 4,而本文提出RF-GRU模型的R2為0.949 0,比GRU模型僅降低了0.005 1,但降低了模型的復雜度,比RF-LSTM和RF-RNN模型分別提高了0.013 7和0.034 6。盡管RF-RNN模型運行時間t最短(11.3 s),但RF-RNN誤差范圍波動更大,其預測性能較差。同時,基于RF-GRU模型的RMSE(10.96 g)和MAE(5.8 g)小于基于RF-LSTM模型的RMSE(12.34 g)、MAE(7.57 g)和RF-RNN模型的RMSE(14.20 g)、MAE(5.94 g),表明RF-GRU模型能夠有效地提高番茄蒸騰量預測精度。

表3 4種模型預測溫室番茄蒸騰量性能對比Tab.3 Comparison of four models for predicting tomato transpiration in greenhouse
將訓練好的RF-GRU模型置于云服務器中,實時訪問數據庫中的新數據,以這些數據作為模型輸入,進行蒸騰量預測,并在基質含水率達到35%時,向灌溉控制節點的GPRS模塊發送灌溉指令與累計蒸騰量。
灌溉控制節點以STM32作為控制核心,通過GPRS模塊接收云服務器發送的控制信號,基于控制信號來控制繼電器的開關繼而控制潛水泵與電磁閥工作,從而實現灌溉控制。同時,STM32通過水流量傳感器實時監測灌溉量,并在灌溉量達到接收的累計蒸騰量后,關閉灌溉。
番茄于11月2日定植,自定植后28 d內每7 d測定一次兩組番茄的株高、莖粗,每天計算一次番茄的相對葉面積指數,并記錄灌溉次數與灌溉量。將植株由莖基部到主莖頂端生長點的自然長度作為株高,莖基部1 cm處的直徑作為莖粗,相對葉面積指數通過1.4節方法計算。將每組番茄的測定結果取平均值作為本組的綜合指標。
兩組番茄的平均形態指標如圖12所示,在緩苗后14 d內,番茄株高增加明顯,且T1與T2處理無明顯差異。在定植后的28 d內兩種處理的番茄株高分別為39.3、38.2 cm,番茄莖粗分別為6.52、6.35 mm。定時灌溉相比于模型指導灌溉在株高、莖粗方面有所提高,但相差不大。

圖12 不同處理下番茄的株高、莖粗Fig.12 Plant height and stem diameter of tomato under different treatments
不同處理下的番茄相對葉面積指數如圖13所示。由圖13可知,在定植后8~21 d內相對葉面積指數增加明顯,在21~28 d內增加放緩,且兩組處理的相對葉面積指數在第28天分別達到了50.3%與51.1%。模型指導灌溉在相對葉面積指數方面相比于定時灌溉有所增加。

圖13 不同處理下番茄的相對葉面積指數Fig.13 Relative leaf area index of tomato under different treatments
本試驗采用兩種不同灌溉方式的灌溉量與灌溉次數,如表4所示。

表4 不同處理下灌溉量與灌溉次數Tab.4 Irrigation quantity and times under different treatments
由表4和圖12、13可以看出,使用兩種灌溉方式的番茄在生長中的各項生理指標無明顯差異,但是基于模型指導的灌溉方式在節水上優于定時灌溉?;谀P椭笇У墓喔确绞较噍^于定時灌溉在灌溉次數上明顯提高,但灌溉量減少了20%。
(1)考慮到番茄蒸騰量與溫室內外生態及栽培環境變量間復雜的非線性關系,利用隨機森林算法對溫室內生態及栽培環境參數(Ta、RH、LI、PAR、Ms、Ts)、溫室外氣象參數(To、RHo、WS)和作物表型參數(RLAI)進行了重要性選擇,減少了預測模型輸入變量個數,有利于降低預測模型的復雜度和成本。
(2)通過對比試驗研究了RF-GRU、GRU、RF-LSTM及RF-RNN 4種模型在番茄蒸騰量的預測效果。結果表明,在番茄營養生長期中,RF-GRU模型能夠準確地預測番茄蒸騰量,預測精度和穩定性較高,模型RMSE、MAE和R2分別為10.96 g、5.80 g和0.949 0。良好的預測效果充分證明了RF-GRU模型對作物蒸騰預測的有效性和實用性。
(3)在進行定時灌溉與模型指導灌溉番茄28 d之后,番茄的株高、莖粗與相對葉面積指數基本相同,但基于模型指導的灌溉灌溉量減少了20%。通過對比定時灌溉與模型指導灌溉作物的生長狀況與灌溉量表明,使用模型指導灌溉在不影響番茄生長的情況下,可以有效減少灌溉量,節約水資源。