李凱林,孟繁樸,任萬龍,郝宗睿
齊魯工業(yè)大學(山東省科學院) 海洋儀器儀表研究所,山東 青島 266100
在我國農(nóng)業(yè)經(jīng)濟中,水產(chǎn)養(yǎng)殖業(yè)一直是其中的重要組成部分,2020年我國水產(chǎn)品總產(chǎn)量達到6 549萬噸,養(yǎng)殖產(chǎn)品占比達到79.8%。目前我國養(yǎng)殖水產(chǎn)品占世界水產(chǎn)品養(yǎng)殖總量的60%以上。打造智慧漁業(yè)、信息漁業(yè)成為當代漁業(yè)信息化發(fā)展的主流。
傳統(tǒng)的水質(zhì)監(jiān)測需要定期采樣、化驗。人工進行數(shù)據(jù)分析和報告,需要大量的計算資源和時間,無法實時監(jiān)測水質(zhì)變化。水質(zhì)數(shù)據(jù)的實時監(jiān)測和優(yōu)化處理一直是國內(nèi)外研究的重點內(nèi)容。Chowdury等[1]利用IoT技術監(jiān)測河流水質(zhì)數(shù)據(jù)并進行水質(zhì)分析;曹守啟等[2]在Chowdury基礎上利用神經(jīng)網(wǎng)絡對水質(zhì)模型進行了預測,但是并沒有引入調(diào)節(jié)設備對水質(zhì)進行調(diào)節(jié);Geeth等[3]提出了一種基于物聯(lián)網(wǎng)的管內(nèi)水質(zhì)監(jiān)測方案;Haque等[4]和Patil等[5]使用ZigBee進行組網(wǎng)將水質(zhì)數(shù)據(jù)發(fā)送到終端設備,周斌[6]也用此技術將數(shù)據(jù)上傳到云端在web界面可以遠程監(jiān)測;Saravanan等[7]利用全球移動通信系統(tǒng)(GSM)對水質(zhì)進行遠程的監(jiān)測,Ajith等[8]使用WiFi模塊將水質(zhì)數(shù)據(jù)上傳到云端服務器實現(xiàn)遠程監(jiān)控。多數(shù)研究只是實現(xiàn)了對水質(zhì)數(shù)據(jù)的遠程監(jiān)測,但對系統(tǒng)可能因環(huán)境干擾、系統(tǒng)異常等原因,造成的數(shù)據(jù)缺失和噪聲增加,沒有進行較好的優(yōu)化處理。
對水質(zhì)數(shù)據(jù)的處理,常用神經(jīng)網(wǎng)絡、聚合算法,卡爾曼濾波算法、粒子群算法等。其中神經(jīng)網(wǎng)絡結(jié)構(gòu)復雜,受訓時間較長,靈活性差,限制了監(jiān)測的實時性。粒子群算法對于離散的優(yōu)化問題處理不佳,容易陷入局部最優(yōu),降低了水質(zhì)數(shù)據(jù)的精確度。卡爾曼濾波算法僅能對線性過程和測量模型進行精確的估計,在非線性場景中不能達到最優(yōu)的估計效果。
針對以上問題,本文設計了基于神經(jīng)網(wǎng)絡輔助卡爾曼濾波的水質(zhì)監(jiān)測系統(tǒng)。首先對系統(tǒng)進行了總體設計,實現(xiàn)了水質(zhì)數(shù)據(jù)的實時監(jiān)測和調(diào)節(jié)。然后,對所獲水質(zhì)數(shù)據(jù)的缺失值使用格羅貝斯準則進行預處理。使用神經(jīng)網(wǎng)絡輔助的卡爾曼濾波改進型算法對所獲水質(zhì)數(shù)據(jù)進行降噪處理。最后,對1 d內(nèi)所獲的水質(zhì)數(shù)據(jù)在不同算法處理下進行分析比對。
本設計的水質(zhì)監(jiān)測系統(tǒng)主要是由感知層、網(wǎng)絡層、應用層和調(diào)節(jié)層4層結(jié)構(gòu)組成[9]。如圖1所示,感知層主要進行水質(zhì)數(shù)據(jù)的采集和預處理,將采集數(shù)據(jù)上傳,由各監(jiān)測終端完成。網(wǎng)絡層主要是接收匯總感知層采集節(jié)點的數(shù)據(jù)信息,將數(shù)據(jù)傳輸至應用層和調(diào)節(jié)層的終端設備。應用層由設備終端構(gòu)成,對數(shù)據(jù)進行存儲、處理及分析,并且可以向云端發(fā)送控制指令。調(diào)節(jié)層主要有增氧機、抽水泵等設備,通過接收云端的控制指令來運行。本系統(tǒng)除采用活水測量,除定期對傳感器探頭進行清洗、校對等物理措施外,同時對所獲水質(zhì)數(shù)據(jù)進行算法優(yōu)化,使水質(zhì)數(shù)據(jù)更加接近真實值[10]。解決了因環(huán)境因素和系統(tǒng)不穩(wěn)定,而導致所測水質(zhì)數(shù)據(jù)出現(xiàn)誤差和異常值的問題。
圖1 水質(zhì)監(jiān)測系統(tǒng)總體框架
水質(zhì)系統(tǒng)是一個時變系統(tǒng),采樣周期較小時,短時間內(nèi)的水質(zhì)數(shù)據(jù)近似線性系統(tǒng)。傳統(tǒng)的卡爾曼濾波算法,雖然能夠?qū)ο到y(tǒng)狀態(tài)進行最優(yōu)估計,且能快速收斂,但在非線性、模型未知的場景中,達不到最優(yōu)估計的效果[11]。而人工神經(jīng)網(wǎng)絡有著極強的非線性映射能力和柔性的網(wǎng)絡結(jié)構(gòu),但其局限性是容易陷入局部最優(yōu)解,收斂速度較慢[12]。為了彌補卡爾曼濾波在非線性系統(tǒng)中的局限性[13],國內(nèi)外學者在傳統(tǒng)算法基礎上做了改進[14-15]。得到了神經(jīng)網(wǎng)絡輔助卡爾曼濾波算法。
現(xiàn)階段神經(jīng)網(wǎng)絡輔助卡爾曼濾波算法主要應用于以下幾個方面:在視覺跟蹤領域,用于目標跟蹤任務。通過使用神經(jīng)網(wǎng)絡對目標進行檢測或特征提取,并將其與卡爾曼濾波進行狀態(tài)估計,可以更準確地跟蹤目標的位置和運動。在機器人導航和定位中,用于估計機器人的姿態(tài)和位置信息。通過結(jié)合神經(jīng)網(wǎng)絡的感知和環(huán)境信息,并將其與卡爾曼濾波的先驗狀態(tài)進行融合,可以提高機器人的導航精度和魯棒性。在多傳感器融合中,通過將不同傳感器的數(shù)據(jù)與神經(jīng)網(wǎng)絡的輸出進行融合,并利用卡爾曼濾波進行狀態(tài)估計,可以提高傳感器融合系統(tǒng)的準確性和魯棒性。在信號處理領域,用于信號去噪、頻譜估計和時頻分析等任務。通過將神經(jīng)網(wǎng)絡的學習能力與卡爾曼濾波的狀態(tài)估計能力相結(jié)合,可以提高信號處理的效果和性能。
現(xiàn)階段該算法很少應用在水質(zhì)監(jiān)測領域。本文使用該算法,對水質(zhì)數(shù)據(jù)進行濾波和狀態(tài)估計。通過將神經(jīng)網(wǎng)絡的輸出結(jié)果與卡爾曼濾波狀態(tài)融合,可以提高水質(zhì)數(shù)據(jù)的準確性和穩(wěn)定性,實時監(jiān)測水質(zhì)變化。
根據(jù)順序統(tǒng)計原理,得到統(tǒng)計量g的確切分布,為:
在給定的顯著水平a(通常取0.01或者0.05)后,用查表法獲得格羅貝斯統(tǒng)計量的臨界值g0(n,a),將測量頂端值與其比較[16]:
gi (4) 若式(4)不成立,則認為統(tǒng)計量gi帶有顯著差異,判定xi為誤差值,將其剔除。格羅貝斯判據(jù)是一個遞歸算法,因此每次剔除一個可疑值之后,需要重新計算其標準差σ,重復進行判別,直至無可疑值為止。 采用自主研制的水質(zhì)監(jiān)測系統(tǒng),搭載pH傳感器,獲取pH數(shù)據(jù)為基礎,建立水質(zhì)數(shù)據(jù)模型,分析如下。 選擇狀態(tài)量和觀測量,可得: 式中:pt為t時刻的pH的觀測值;vt為t時刻的pH變化速度;ut為t時刻pH變化速度的導數(shù)。 引入?yún)f(xié)方差矩陣表示確定估計值的不確定性: 建立卡爾曼濾波的觀測模型: zt=Hxt+v, (8) 式中:zt為t時刻的觀測值;H為觀測矩陣;v為觀測噪聲。 對卡爾曼濾波進行狀態(tài)更新: 式中:R為觀測噪聲協(xié)方差矩陣;Kt為卡爾曼增益。 噪聲協(xié)方差矩陣進行更新: 建立神經(jīng)網(wǎng)絡結(jié)構(gòu),神經(jīng)網(wǎng)絡具有3層,分別為輸入層、隱含層和輸出層,將以下3個信號作為神經(jīng)網(wǎng)絡的輸入: (2)卡爾曼濾波的增益矩陣[K]。 (3)觀測方程觀測值[zk]。 將卡爾曼濾波值與真實值之間的誤差作為該神經(jīng)網(wǎng)絡的輸出。由Hecht-Nielsn定理,只要有足夠多的隱含層神經(jīng)元數(shù)目,就可以無限的逼近非線性函數(shù)。本文選擇一層隱含層,神經(jīng)元數(shù)目為3。神經(jīng)網(wǎng)絡要通過足夠多且滿足工程應用精度的訓練樣本進行學習訓練,神經(jīng)網(wǎng)絡學習過程為兩部分,正向傳播和誤差反向傳播,訓練過程要遵循以下原則[17]: 神經(jīng)網(wǎng)絡輔助卡爾曼濾波器的具體結(jié)構(gòu)如圖2所示。經(jīng)過神經(jīng)網(wǎng)絡,對卡爾曼估計值的誤差進行校正之后,得到最優(yōu)估計值。 圖2 神經(jīng)網(wǎng)絡輔助的卡爾曼濾波算法結(jié)構(gòu)圖 利用pH傳感器獲取到的數(shù)據(jù)建立模型,采用卡爾曼濾波算法的估計狀態(tài)量、卡爾曼增益和測量狀態(tài)量作為神經(jīng)網(wǎng)絡的輸入,卡爾曼濾波值與真實值之間的誤差作為該神經(jīng)網(wǎng)絡的輸出,卡爾曼濾波值消除神經(jīng)網(wǎng)絡估計的誤差后,最終得出模型的最優(yōu)估計值。 選取人工養(yǎng)殖水域,作為水質(zhì)監(jiān)測系統(tǒng)監(jiān)測終端的投放點,如圖3所示。對水質(zhì)的溶解氧和pH數(shù)據(jù)進行獲取,并設置適當?shù)牟蓸宇l率,既可降低功耗網(wǎng)絡帶寬,又可最大程度確保水質(zhì)數(shù)據(jù)的準確性。 圖3 水質(zhì)監(jiān)測系統(tǒng)實物圖 從設計的監(jiān)測系統(tǒng)中,選取了下午2點到4點10分共520條水體溶解氧數(shù)據(jù)(數(shù)據(jù)采樣周期為1次15 s)和下午3點30分到8點的540條pH數(shù)據(jù)(數(shù)據(jù)采樣周期為1次30 s)。以上數(shù)據(jù)未進行去噪處理,對所獲數(shù)據(jù)進行分析。由圖4和圖5可知,養(yǎng)殖水域的溶解氧和pH數(shù)據(jù)是隨時間不斷變化的,即不同時段用戶使用調(diào)節(jié)設備對養(yǎng)殖水域數(shù)據(jù)進行調(diào)節(jié)的時間也不相同。同時,由于環(huán)境等因素的影響,導致數(shù)據(jù)中的噪聲較大,因此本文提出神經(jīng)網(wǎng)絡輔助的卡爾曼濾波算法進行數(shù)據(jù)的降噪處理。 圖4 溶解氧監(jiān)測數(shù)據(jù)變化曲線 圖5 pH監(jiān)測數(shù)據(jù)變化曲線 選擇溶解氧數(shù)據(jù)其中的679條數(shù)據(jù)作為神經(jīng)網(wǎng)絡的訓練樣本,剩余41條數(shù)據(jù)進行數(shù)據(jù)的驗證:如圖6所示,預測溶解氧變化趨勢與期望值變化趨勢相同。圖7所示,卡爾曼濾波算法處理后的誤差值較大,神經(jīng)網(wǎng)絡輔助的卡爾曼濾波算法處理后的誤差值在不同時段均比卡爾曼濾波算法處理后的誤差值小。 圖6 溶解氧估計值與期望值對比圖 圖7 Kalman aided NNs算法與Kalman算法處理結(jié)果溶解氧誤差對比圖 選擇pH數(shù)據(jù)其中的673條數(shù)據(jù)作為神經(jīng)網(wǎng)絡的訓練樣本,剩余47條數(shù)據(jù)進行數(shù)據(jù)的驗證,如圖8所示,預測pH變化趨勢與估計值變化趨勢相同。圖9所示,卡爾曼濾波算法處理后的誤差值較大,神經(jīng)網(wǎng)絡輔助的卡爾曼濾波算法處理后的誤差值在不同時段均比卡爾曼濾波算法處理后的誤差值小且精度較高。 圖8 pH估計值與期望值對比 圖9 Kalman aided NNs算法與Kalman算法處理結(jié)果pH誤差對比圖 由表1可知,基于神經(jīng)網(wǎng)絡輔助的卡爾曼濾波算法對水體的測量精度有著明顯的提升,相比于傳統(tǒng)的卡爾曼濾波處理,該算法的平均絕對誤差降低了20%以上,該算法的結(jié)果更加接近于真實值。 表1 Kalman aided NNs算法與Kalman算法對比 本文設計的水質(zhì)在線監(jiān)測系統(tǒng),通過感知層終端設備采集水質(zhì)數(shù)據(jù),應用層終端設備遠程監(jiān)測,并可以調(diào)用調(diào)節(jié)層設備進行水質(zhì)的調(diào)節(jié)。對水質(zhì)數(shù)據(jù)處理,提出神經(jīng)網(wǎng)絡輔助卡爾曼濾波算法,提高了水質(zhì)監(jiān)測的精確度,該算法不僅對訓練樣本有著很高的擬合度,對測試樣本也有著很高的擬合能力,更好的反應了水質(zhì)數(shù)據(jù)的真實值。相比于傳統(tǒng)的卡爾曼濾波算法,能夠?qū)⑷芙庋醯钠骄^對誤差降低27%以上,均方誤差降低39%以上,均方根誤差降低22%以上,對pH的平均絕對誤差也可降低20%以上。滿足了養(yǎng)殖戶的養(yǎng)殖需求,節(jié)省了人力成本和時間成本,為養(yǎng)殖戶的科學養(yǎng)殖提供了數(shù)據(jù)支撐。2.3 水質(zhì)數(shù)據(jù)降噪處理
3 水質(zhì)監(jiān)測系統(tǒng)實驗及分析
3.1 水質(zhì)數(shù)據(jù)采集
3.2 算法驗證與對比
4 結(jié) 論