張 超,金 光,江先亮
(寧波大學(xué)信息科學(xué)與工程學(xué)院,浙江 寧波 315211)
島嶼作為海洋開(kāi)發(fā)的天然平臺(tái),在生態(tài)保護(hù)及資源發(fā)掘方面起著不可或缺的作用,而海島所處氣象變幻無(wú)常,如大面積海霧[1]會(huì)引發(fā)船只碰撞、觸礁或方向迷失等潛在危害。現(xiàn)有常規(guī)氣象基站因其建設(shè)維護(hù)成本高,難以在狹小地區(qū)組建并有效工作。隨著海洋開(kāi)發(fā)日益受到重視,及時(shí)有效掌握島嶼的區(qū)域氣象環(huán)境屬性較為重要。
近年來(lái),隨著無(wú)線傳感網(wǎng)WSN(Wireless Sensor Networks)技術(shù)的日益成熟,使得實(shí)時(shí)監(jiān)測(cè)海島環(huán)境信息成為可能。但海島空間狹小、地勢(shì)崎嶇,部署WSN有一定困難,迄今研究案例較少。常見(jiàn)的傳感節(jié)點(diǎn)僅帶有溫濕等單一傳感器,難以從多維化角度有效反映氣象環(huán)境信息。WSN監(jiān)測(cè)系統(tǒng)除了關(guān)注數(shù)據(jù)的監(jiān)測(cè)采集,還應(yīng)對(duì)所采集數(shù)據(jù)進(jìn)行有效分析。
本文設(shè)計(jì)的海霧能見(jiàn)度監(jiān)測(cè)系統(tǒng),相較于衛(wèi)星、氣象基站和能見(jiàn)度儀,在建設(shè)成本、監(jiān)測(cè)種類(lèi)等方面有一定優(yōu)勢(shì),氣象監(jiān)測(cè)模式如表1所示。
2013年,國(guó)家農(nóng)業(yè)信息化研究中心楊信廷等,設(shè)計(jì)了收集農(nóng)田作物長(zhǎng)勢(shì)與環(huán)境信息的遠(yuǎn)程監(jiān)控系統(tǒng)[2],采用視頻監(jiān)控、溫濕度傳感器采集各類(lèi)環(huán)境數(shù)據(jù),利用無(wú)線傳輸,將作物及環(huán)境信息發(fā)送至服務(wù)器,實(shí)現(xiàn)對(duì)農(nóng)田作物遠(yuǎn)程無(wú)人化監(jiān)測(cè)。
2015年,浙江大學(xué)林蘭芬等,針對(duì)農(nóng)田小氣候特點(diǎn),將WSN與地理信息系統(tǒng)[3]進(jìn)行融合,對(duì)傳感節(jié)點(diǎn)進(jìn)行定位,將采集到的多維小氣候環(huán)境數(shù)據(jù),進(jìn)行分析與同步展示,客戶端可實(shí)時(shí)查看農(nóng)田當(dāng)前環(huán)境信息,但在節(jié)點(diǎn)數(shù)目及監(jiān)測(cè)范圍上有一些不足。
2016年,南洋理工大學(xué)萬(wàn)杜等人,提出一種利用傳感節(jié)點(diǎn)稀疏部署從而實(shí)現(xiàn)大面積網(wǎng)絡(luò)覆蓋的方法[4]??紤]到編碼效率與解碼時(shí)延關(guān)系,利用無(wú)率碼不斷將數(shù)據(jù)壓縮成編碼包,降低數(shù)據(jù)傳輸速率,將無(wú)率碼與低占空比傳感器進(jìn)行融合,采用遠(yuǎn)距離傳輸期望時(shí)延作為鏈路質(zhì)量評(píng)判標(biāo)準(zhǔn),以擴(kuò)展WSN的通信范圍。
現(xiàn)有海島傳感網(wǎng)[5-6]的部署使用,多從監(jiān)測(cè)角度對(duì)生態(tài)環(huán)境等進(jìn)行探索研究,若想實(shí)現(xiàn)監(jiān)測(cè)預(yù)警的功能,則需要人工智能、數(shù)據(jù)挖掘等技術(shù)的協(xié)助[7-8]。
2015年,卡塔爾大學(xué)K.B. Shaban等人,使用由低成本傳感器組成的Motes節(jié)點(diǎn),組建大氣污染監(jiān)測(cè)平臺(tái)[9],利用人工神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)SVM(Support Vector Machine)等方法,進(jìn)行數(shù)據(jù)處理和特征提取,訓(xùn)練大氣污染監(jiān)測(cè)模型,但SVM核函數(shù)融合度不高,模型還不夠理想。
2017年,法國(guó)里昂大學(xué)Boubrima A等人,在時(shí)變的天氣條件下,獲取污染物數(shù)值,以空氣污染擴(kuò)散模型為基礎(chǔ),采用低成本無(wú)線自組織網(wǎng)絡(luò),利用閾值對(duì)空氣污染觸發(fā)監(jiān)測(cè),提出一種以污染覆蓋率、網(wǎng)絡(luò)連接性為目標(biāo),基于網(wǎng)絡(luò)流的新型空氣污染監(jiān)測(cè)模型[10]。實(shí)驗(yàn)顯示,若節(jié)點(diǎn)部署高度較高,節(jié)點(diǎn)間交叉覆蓋率越大,則可用更少的節(jié)點(diǎn)監(jiān)測(cè)該區(qū)域的空氣污染情況。
2017年,湖南大學(xué)研究人員通過(guò)收集大量氣象數(shù)據(jù),分析證明氣象數(shù)據(jù)間具有時(shí)間、低階和矩陣秩穩(wěn)定性等特點(diǎn),提出一種基于矩陣補(bǔ)全理論的實(shí)時(shí)數(shù)據(jù)采集方案[11],同時(shí)提出3個(gè)樣本學(xué)習(xí)原理,統(tǒng)一的時(shí)隙、交叉樣本模型和基于矩陣補(bǔ)全的自適應(yīng)采樣算法,能在所收集缺損的數(shù)據(jù)中恢復(fù)完整的測(cè)量數(shù)據(jù),還可快速找到一組有效樣本,降低傳感、通信和計(jì)算成本,動(dòng)態(tài)準(zhǔn)確地獲取天氣數(shù)據(jù)。
海霧能見(jiàn)度監(jiān)測(cè)系統(tǒng)整體架構(gòu)[12-13]由數(shù)據(jù)讀取、通信、處理分析與顯示4部分組成。數(shù)據(jù)讀取模塊由各類(lèi)傳感器及Arduino[14]微控制單元組成,實(shí)現(xiàn)數(shù)據(jù)的編碼采集;數(shù)據(jù)通信模塊為短距離與遠(yuǎn)距離通信模塊,在海島監(jiān)測(cè)區(qū)域,使用路由節(jié)點(diǎn)及匯聚節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)短距離通信,而遠(yuǎn)距離利用GPRS將收集的數(shù)據(jù)發(fā)送至服務(wù)器;數(shù)據(jù)處理分析模塊先對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,再采用SVM-RBF核結(jié)合BP的新方法訓(xùn)練模型;數(shù)據(jù)顯示部分利用Web服務(wù)器,實(shí)現(xiàn)海島氣象信息向用戶實(shí)時(shí)推送的功能。系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖
由多傳感器組成的終端節(jié)點(diǎn)均勻分布在監(jiān)測(cè)區(qū)域;中間層為路由節(jié)點(diǎn),在網(wǎng)絡(luò)中承擔(dān)更多的數(shù)據(jù)轉(zhuǎn)發(fā)功能,采用多路徑、多跳傳輸方式提高網(wǎng)路的魯棒性,可靠的路徑減少了數(shù)據(jù)擁塞和能源消耗;最內(nèi)層為匯聚節(jié)點(diǎn),實(shí)現(xiàn)氣象數(shù)據(jù)匯總收集。監(jiān)控平臺(tái)可通過(guò)Web向用戶實(shí)時(shí)推送海島區(qū)域氣象信息。系統(tǒng)架構(gòu)如圖2所示。
圖2 系統(tǒng)架構(gòu)圖
系統(tǒng)使用帶有哈佛架構(gòu)的Arduino微控制單元,用于對(duì)傳感器數(shù)據(jù)編碼計(jì)算。終端節(jié)點(diǎn)配備濕度、雨量、風(fēng)速、氣壓(含溫度、海拔)6類(lèi)傳感器,少數(shù)路由節(jié)點(diǎn)安裝濕度、雨量及風(fēng)速傳感器,以體現(xiàn)監(jiān)測(cè)均勻性。節(jié)點(diǎn)的主要屬性如表2所示。
表2 節(jié)點(diǎn)主要屬性
終端節(jié)點(diǎn)處在WSN最外層,收集海島環(huán)境各項(xiàng)數(shù)據(jù),無(wú)法人為充電,利用電池供能,終端節(jié)點(diǎn)實(shí)物如圖3所示。
圖3 終端節(jié)點(diǎn)實(shí)物圖
路由節(jié)點(diǎn)處在終端與匯聚節(jié)點(diǎn)之間,利用無(wú)線射頻和多跳傳輸?shù)姆绞綄?shù)據(jù)發(fā)送至匯聚節(jié)點(diǎn)。通過(guò)讓路由節(jié)點(diǎn)承擔(dān)更多數(shù)據(jù)中繼任務(wù),來(lái)減少終端與匯聚節(jié)點(diǎn)間遠(yuǎn)距離傳輸?shù)呢?fù)載,有助于網(wǎng)絡(luò)可靠性的增加和整體能耗的降低。路由節(jié)點(diǎn)實(shí)物如圖4所示。
圖4 路由節(jié)點(diǎn)實(shí)物圖
匯聚節(jié)點(diǎn)作為與服務(wù)器數(shù)據(jù)傳輸?shù)墓?jié)點(diǎn),為滿足遠(yuǎn)距離、小數(shù)據(jù)量的傳輸需求,利用GPRS傳輸模塊,可實(shí)現(xiàn)海島監(jiān)測(cè)數(shù)據(jù)的遠(yuǎn)距離傳輸,匯聚節(jié)點(diǎn)實(shí)物如圖5所示。
圖5 匯聚節(jié)點(diǎn)實(shí)物圖
終端節(jié)點(diǎn)使用的Arduino微控制單元,采用C語(yǔ)言設(shè)計(jì)程序驅(qū)動(dòng),利用setup()函數(shù)初始化,周期性讀取各傳感器數(shù)據(jù)主要在loop()函數(shù)中實(shí)現(xiàn)。其中計(jì)算溫度、氣壓與海拔參數(shù)的主要代碼如下:
Algorithm:temperature,pressure,altitudecaculate
Adurino微控制單元初始化完畢時(shí),外接傳感器循環(huán)執(zhí)行write()函數(shù),將采集的各類(lèi)氣象信息轉(zhuǎn)化為數(shù)字信號(hào)。loop()中的read()函數(shù)循環(huán)讀取傳感器所發(fā)送的數(shù)據(jù),并由getVal()函數(shù)獲取,再存儲(chǔ)至Adurino的RAM中。節(jié)點(diǎn)驅(qū)動(dòng)原理如圖6 所示。
圖6 節(jié)點(diǎn)驅(qū)動(dòng)原理圖
各終端節(jié)點(diǎn)采集數(shù)據(jù)后,利用ZigBee協(xié)議進(jìn)行數(shù)據(jù)傳輸,經(jīng)路由節(jié)點(diǎn)中繼傳輸至匯聚節(jié)點(diǎn),再通過(guò)GPRS模塊傳輸至服務(wù)器,最后將氣象數(shù)據(jù)存儲(chǔ)至MySQL數(shù)據(jù)庫(kù)中。數(shù)據(jù)傳輸原理如圖7所示。
圖7 數(shù)據(jù)傳輸原理圖
研究表明,能見(jiàn)度主要受溫濕度、雨量、風(fēng)速、氣壓及海拔的影響。實(shí)驗(yàn)將各類(lèi)傳感器部署在舟山普陀區(qū)某氣象觀測(cè)基地,收集海霧下的6類(lèi)氣象數(shù)據(jù),為保證能見(jiàn)度數(shù)據(jù)的高精確度及覆蓋范圍,選擇使用該基地的能見(jiàn)度儀同步收集能見(jiàn)度數(shù)據(jù)。實(shí)際環(huán)境下收集的7類(lèi)數(shù)據(jù)中,均有異常噪聲點(diǎn),計(jì)算約有0.5%的異常數(shù)據(jù)和0.3%的數(shù)據(jù)丟失。
將6類(lèi)氣象數(shù)據(jù)與能見(jiàn)度數(shù)據(jù)看作是一條完整記錄,采用Z-score標(biāo)準(zhǔn)數(shù)據(jù)歸一化方法,得到各自數(shù)值的映射結(jié)果值x*,經(jīng)Z-score歸一化處理的數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布。數(shù)據(jù)歸一化轉(zhuǎn)化函數(shù):
(1)
(2)
(3)
利用綜合誤差指標(biāo)Xerr:
(4)
得出綜合相關(guān)誤差與累積分布函數(shù)的曲線圖。在已有數(shù)據(jù)集中,只選擇其中90%的數(shù)據(jù),去除相關(guān)誤差大于0.54的記錄,進(jìn)行數(shù)據(jù)清洗。圖8為相關(guān)誤差的概率分布。
圖8 相關(guān)誤差的概率分布圖
(5)
初期使用二次指數(shù)平滑方法,該方法對(duì)前期數(shù)據(jù)予以較大權(quán)重,后期數(shù)據(jù)的權(quán)重收斂逐漸為零,所以在對(duì)后期數(shù)據(jù)進(jìn)行計(jì)算時(shí),誤差會(huì)越來(lái)越大。實(shí)驗(yàn)結(jié)果表明,二次指數(shù)平滑的RMSE為47.83%。圖9為二次指數(shù)平滑下的能見(jiàn)度比較。
圖9 二次指數(shù)平滑下能見(jiàn)度比較圖
選擇BP人工神經(jīng)網(wǎng)絡(luò)作為數(shù)據(jù)的計(jì)算模型[16]。利用終端節(jié)點(diǎn)收集的氣象數(shù)據(jù),與同一地點(diǎn)、時(shí)刻能見(jiàn)度儀獲取的精確數(shù)據(jù)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),訓(xùn)練數(shù)據(jù)占總數(shù)據(jù)集的70%。利用交叉驗(yàn)證法的方式,將數(shù)據(jù)集D劃分為k個(gè)互斥子集,即:
D=D1∪D2∪,…,∪Dk,Di∩Dj=φ(i≠j)
(6)
式中:每個(gè)子集Di均為隨機(jī)組合而成,每次使用k-3個(gè)子集的并集作為模型的訓(xùn)練集?,F(xiàn)取k值為10,即數(shù)據(jù)的70%作為訓(xùn)練集,余下30%作為測(cè)試集,共進(jìn)行k次訓(xùn)練和測(cè)試。數(shù)據(jù)集通過(guò)監(jiān)督型學(xué)習(xí)方式,不斷調(diào)整參數(shù)權(quán)重,直至達(dá)到一個(gè)可接受的誤差范圍,目標(biāo)值能見(jiàn)度V與各影響因素xi、所屬權(quán)重wi及可控誤差Δz的關(guān)系式為:
(7)
采用如圖10所示BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)構(gòu),6個(gè)輸入,1個(gè)輸出,隱藏層個(gè)數(shù)由式(8)確定,n為輸入層節(jié)點(diǎn)個(gè)數(shù),m為輸出層節(jié)點(diǎn)個(gè)數(shù),α一般為[1,10]間常數(shù),實(shí)驗(yàn)取l為7:
(8)
當(dāng)BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練完畢后,利用上述氣象數(shù)據(jù)集的30%作為測(cè)試數(shù)據(jù),根據(jù)該模型計(jì)算出能見(jiàn)度。實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),BP人工神經(jīng)網(wǎng)絡(luò)的能見(jiàn)度結(jié)果值與實(shí)際值仍有較大誤差,其中RMSE為39.69%。
圖11為BP人工神經(jīng)網(wǎng)絡(luò)模型中,能見(jiàn)度結(jié)果值與實(shí)際值的散點(diǎn)對(duì)比,其中越是遠(yuǎn)離直線x=y,表示誤差越大,準(zhǔn)確度越低。
圖10 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)構(gòu)圖
圖11 結(jié)果值與實(shí)際值對(duì)比圖
考慮到BP算法采用梯度下降使得網(wǎng)絡(luò)權(quán)值收斂至一個(gè)最優(yōu)解,但并非全局最優(yōu)解,容易陷入局部最優(yōu)中,且模型訓(xùn)練時(shí)間較長(zhǎng),效率較低,改用SVM算法來(lái)進(jìn)行擬合計(jì)算。SVM是以核函數(shù)構(gòu)成運(yùn)算模塊,隱式地將數(shù)據(jù)通過(guò)核函數(shù)映射至高維空間以增加模型的計(jì)算能力。
首先將輸入樣本xi利用非線性函數(shù)φ(xi),從低維空間X映射到高維特征空間H,該方法可將低維非線性問(wèn)題轉(zhuǎn)化為高維線性回歸問(wèn)題,采用SVM核函數(shù)實(shí)現(xiàn):
K(xi,yj)=φ(xi)·φ(yj)
(9)
假設(shè)其樣本數(shù)據(jù)可表示為:
T={(x1,y1)…(xn,yn))}∈(X,Y)n
(10)
可得非線性回歸函數(shù),其中K(xi,y)為核函數(shù):
(11)
圖12 SVM模型結(jié)構(gòu)圖
在研究各類(lèi)參數(shù)與能見(jiàn)度影響程度發(fā)現(xiàn),只有部分參數(shù)對(duì)能見(jiàn)度值影響較大,對(duì)于輸入空間的局部區(qū)域只有少數(shù)連接權(quán)值影響輸出,更類(lèi)似于局部逼近網(wǎng)絡(luò)。因此,在使用BP算法訓(xùn)練監(jiān)測(cè)模型的前提下,利用SVM高斯(RBF)核函數(shù)結(jié)合BP神經(jīng)網(wǎng)絡(luò)的新方法,通過(guò)將輸入數(shù)據(jù)利用非線性函數(shù)映射到高維空間,更高效地求得全局最優(yōu)解。訓(xùn)練過(guò)程仍采用k折交叉驗(yàn)證,取k值為10,采用的高斯徑向基核函數(shù)為:
(12)
最終函數(shù)模型為:
(13)
圖13 SVM-RBF核結(jié)合BP算法新模型
圖13為實(shí)際數(shù)據(jù)與結(jié)果數(shù)據(jù)對(duì)比,其中圈型曲線為實(shí)際數(shù)據(jù),點(diǎn)狀曲線為各模型計(jì)算得出的數(shù)據(jù)。新方法下,實(shí)際值與結(jié)果值的RMSE為28.95%,效果較之前方法更佳。
考慮安全等因素,我們選擇在舟山海島某氣象觀測(cè)基地進(jìn)行WSN節(jié)點(diǎn)部署和實(shí)地監(jiān)測(cè)。通過(guò)終端節(jié)點(diǎn)上濕度、雨量、風(fēng)速、氣壓(包含溫度、海拔)傳感器收集海島氣象環(huán)境信息。海島信息監(jiān)測(cè)區(qū)域使用6個(gè)終端節(jié)點(diǎn),6個(gè)路由節(jié)點(diǎn)和1個(gè)匯聚節(jié)點(diǎn)。處在海島傳感網(wǎng)邊緣的終端節(jié)點(diǎn),收集環(huán)境信息后通過(guò)路由節(jié)點(diǎn)中繼傳輸,發(fā)送至海拔最高處的匯聚節(jié)點(diǎn),終端節(jié)點(diǎn)依次編號(hào)為E1~E6,其中E1、E2、E3、E4放置在邊緣處,E5、E6放置在地勢(shì)偏高處。串口助手接收數(shù)據(jù)如圖14所示。
圖14 串口助手接收數(shù)據(jù)圖
圖15 系統(tǒng)節(jié)點(diǎn)部署圖
實(shí)地部署中,需將電池等硬件包裹在塑料殼中,僅將傳感器探測(cè)部位露出殼外,避免雨水、碰撞等因素對(duì)硬件產(chǎn)生損壞,傳感節(jié)點(diǎn)部署如圖15所示,節(jié)點(diǎn)部署實(shí)景如圖16所示。
圖16 節(jié)點(diǎn)部署實(shí)景
上述3種模型中,以SVM-RBF核結(jié)合BP算法的模型效果最好。SVM在處理多維變量上優(yōu)于BP人工神經(jīng)網(wǎng)絡(luò),而RBF核函數(shù)實(shí)際是將樣本數(shù)據(jù)映射到更高維的空間來(lái)對(duì)輸入數(shù)據(jù)進(jìn)行劃分,并且對(duì)影響輸出的少數(shù)連接權(quán)值不斷逼近以求得全局最優(yōu)解,因而擁有更好的性能。從圖17可見(jiàn),新模型在誤差不大于0.6時(shí)占94.2%,二次指數(shù)平滑和BP人工神經(jīng)網(wǎng)絡(luò)分別為78.7%和79.3%,可見(jiàn)以SVM-RBF核結(jié)合BP算法的新模型在能見(jiàn)度計(jì)算上要更加準(zhǔn)確,誤差率在可控范圍內(nèi)較小。表3為各模型RMSE誤差對(duì)比。
圖17 各模型的相關(guān)誤差概率分布圖
表3 各模型RMSE誤差對(duì)比
用戶在查詢界面層輸入查詢條件后,可看到相應(yīng)氣象信息及能見(jiàn)度數(shù)據(jù),能夠?qū)崟r(shí)掌握海域氣象信息及能見(jiàn)度情況。數(shù)據(jù)查詢?nèi)鐖D18所示。
圖18 數(shù)據(jù)查詢顯示圖
本文介紹的海島環(huán)境下海霧能見(jiàn)度監(jiān)測(cè)系統(tǒng),采用多傳感器、Arduino微控制單元、GPRS模塊及ZigBee協(xié)議,實(shí)時(shí)監(jiān)測(cè)海島氣象環(huán)境信息。通過(guò)Z-score標(biāo)準(zhǔn)歸一化等方法進(jìn)行數(shù)據(jù)校準(zhǔn),并采用SVM-RBF核結(jié)合BP算法的新數(shù)據(jù)模型,利用6類(lèi)氣象環(huán)境數(shù)據(jù),以較低的誤差率,計(jì)算出海霧環(huán)境下的能見(jiàn)度數(shù)值。該系統(tǒng)利用低成本傳感器監(jiān)測(cè)海島氣候變化,可實(shí)現(xiàn)對(duì)偏遠(yuǎn)無(wú)人島嶼環(huán)境信息實(shí)時(shí)監(jiān)測(cè)和長(zhǎng)期記錄,降低能見(jiàn)度監(jiān)測(cè)儀的配備成本,突破時(shí)間、地理限制,提高了作業(yè)效率。
本系統(tǒng)實(shí)際部署中,尤其是降低無(wú)線射頻能耗、路徑傳輸選擇方面仍待進(jìn)一步改進(jìn),未來(lái)將進(jìn)一步研究解決該類(lèi)問(wèn)題。