面向海岛环境的海雾能见度监测系统应用研究*
2018-08-30江先亮
张 超,金 光,江先亮
(宁波大学信息科学与工程学院,浙江 宁波 315211)
岛屿作为海洋开发的天然平台,在生态保护及资源发掘方面起着不可或缺的作用,而海岛所处气象变幻无常,如大面积海雾[1]会引发船只碰撞、触礁或方向迷失等潜在危害。现有常规气象基站因其建设维护成本高,难以在狭小地区组建并有效工作。随着海洋开发日益受到重视,及时有效掌握岛屿的区域气象环境属性较为重要。
近年来,随着无线传感网WSN(Wireless Sensor Networks)技术的日益成熟,使得实时监测海岛环境信息成为可能。但海岛空间狭小、地势崎岖,部署WSN有一定困难,迄今研究案例较少。常见的传感节点仅带有温湿等单一传感器,难以从多维化角度有效反映气象环境信息。WSN监测系统除了关注数据的监测采集,还应对所采集数据进行有效分析。
本文设计的海雾能见度监测系统,相较于卫星、气象基站和能见度仪,在建设成本、监测种类等方面有一定优势,气象监测模式如表1所示。
1 相关工作背景
1.1 环境监测传感网络
2013年,国家农业信息化研究中心杨信廷等,设计了收集农田作物长势与环境信息的远程监控系统[2],采用视频监控、温湿度传感器采集各类环境数据,利用无线传输,将作物及环境信息发送至服务器,实现对农田作物远程无人化监测。
2015年,浙江大学林兰芬等,针对农田小气候特点,将WSN与地理信息系统[3]进行融合,对传感节点进行定位,将采集到的多维小气候环境数据,进行分析与同步展示,客户端可实时查看农田当前环境信息,但在节点数目及监测范围上有一些不足。
2016年,南洋理工大学万杜等人,提出一种利用传感节点稀疏部署从而实现大面积网络覆盖的方法[4]。考虑到编码效率与解码时延关系,利用无率码不断将数据压缩成编码包,降低数据传输速率,将无率码与低占空比传感器进行融合,采用远距离传输期望时延作为链路质量评判标准,以扩展WSN的通信范围。
1.2 模型化环境监测传感网络
现有海岛传感网[5-6]的部署使用,多从监测角度对生态环境等进行探索研究,若想实现监测预警的功能,则需要人工智能、数据挖掘等技术的协助[7-8]。
2015年,卡塔尔大学K.B. Shaban等人,使用由低成本传感器组成的Motes节点,组建大气污染监测平台[9],利用人工神经网络、支持向量机SVM(Support Vector Machine)等方法,进行数据处理和特征提取,训练大气污染监测模型,但SVM核函数融合度不高,模型还不够理想。
2017年,法国里昂大学Boubrima A等人,在时变的天气条件下,获取污染物数值,以空气污染扩散模型为基础,采用低成本无线自组织网络,利用阈值对空气污染触发监测,提出一种以污染覆盖率、网络连接性为目标,基于网络流的新型空气污染监测模型[10]。实验显示,若节点部署高度较高,节点间交叉覆盖率越大,则可用更少的节点监测该区域的空气污染情况。
2017年,湖南大学研究人员通过收集大量气象数据,分析证明气象数据间具有时间、低阶和矩阵秩稳定性等特点,提出一种基于矩阵补全理论的实时数据采集方案[11],同时提出3个样本学习原理,统一的时隙、交叉样本模型和基于矩阵补全的自适应采样算法,能在所收集缺损的数据中恢复完整的测量数据,还可快速找到一组有效样本,降低传感、通信和计算成本,动态准确地获取天气数据。
2 系统架构
2.1 系统架构体系
海雾能见度监测系统整体架构[12-13]由数据读取、通信、处理分析与显示4部分组成。数据读取模块由各类传感器及Arduino[14]微控制单元组成,实现数据的编码采集;数据通信模块为短距离与远距离通信模块,在海岛监测区域,使用路由节点及汇聚节点实现数据短距离通信,而远距离利用GPRS将收集的数据发送至服务器;数据处理分析模块先对数据集进行预处理,再采用SVM-RBF核结合BP的新方法训练模型;数据显示部分利用Web服务器,实现海岛气象信息向用户实时推送的功能。系统架构如图1所示。
图1 系统架构图
由多传感器组成的终端节点均匀分布在监测区域;中间层为路由节点,在网络中承担更多的数据转发功能,采用多路径、多跳传输方式提高网路的鲁棒性,可靠的路径减少了数据拥塞和能源消耗;最内层为汇聚节点,实现气象数据汇总收集。监控平台可通过Web向用户实时推送海岛区域气象信息。系统架构如图2所示。
图2 系统架构图
2.2 硬件选型及节点设计
系统使用带有哈佛架构的Arduino微控制单元,用于对传感器数据编码计算。终端节点配备湿度、雨量、风速、气压(含温度、海拔)6类传感器,少数路由节点安装湿度、雨量及风速传感器,以体现监测均匀性。节点的主要属性如表2所示。
表2 节点主要属性
终端节点处在WSN最外层,收集海岛环境各项数据,无法人为充电,利用电池供能,终端节点实物如图3所示。
图3 终端节点实物图
路由节点处在终端与汇聚节点之间,利用无线射频和多跳传输的方式将数据发送至汇聚节点。通过让路由节点承担更多数据中继任务,来减少终端与汇聚节点间远距离传输的负载,有助于网络可靠性的增加和整体能耗的降低。路由节点实物如图4所示。
图4 路由节点实物图
汇聚节点作为与服务器数据传输的节点,为满足远距离、小数据量的传输需求,利用GPRS传输模块,可实现海岛监测数据的远距离传输,汇聚节点实物如图5所示。
图5 汇聚节点实物图
2.3 节点驱动
终端节点使用的Arduino微控制单元,采用C语言设计程序驱动,利用setup()函数初始化,周期性读取各传感器数据主要在loop()函数中实现。其中计算温度、气压与海拔参数的主要代码如下:
Algorithm:temperature,pressure,altitudecaculate
Adurino微控制单元初始化完毕时,外接传感器循环执行write()函数,将采集的各类气象信息转化为数字信号。loop()中的read()函数循环读取传感器所发送的数据,并由getVal()函数获取,再存储至Adurino的RAM中。节点驱动原理如图6 所示。
图6 节点驱动原理图
2.4 数据传输原理
各终端节点采集数据后,利用ZigBee协议进行数据传输,经路由节点中继传输至汇聚节点,再通过GPRS模块传输至服务器,最后将气象数据存储至MySQL数据库中。数据传输原理如图7所示。
图7 数据传输原理图
3 数据处理
3.1 数据的预处理
研究表明,能见度主要受温湿度、雨量、风速、气压及海拔的影响。实验将各类传感器部署在舟山普陀区某气象观测基地,收集海雾下的6类气象数据,为保证能见度数据的高精确度及覆盖范围,选择使用该基地的能见度仪同步收集能见度数据。实际环境下收集的7类数据中,均有异常噪声点,计算约有0.5%的异常数据和0.3%的数据丢失。
将6类气象数据与能见度数据看作是一条完整记录,采用Z-score标准数据归一化方法,得到各自数值的映射结果值x*,经Z-score归一化处理的数据符合标准正态分布。数据归一化转化函数:
(1)
(2)
(3)
利用综合误差指标Xerr:
(4)
得出综合相关误差与累积分布函数的曲线图。在已有数据集中,只选择其中90%的数据,去除相关误差大于0.54的记录,进行数据清洗。图8为相关误差的概率分布。
图8 相关误差的概率分布图
3.2 监测模型
(5)
初期使用二次指数平滑方法,该方法对前期数据予以较大权重,后期数据的权重收敛逐渐为零,所以在对后期数据进行计算时,误差会越来越大。实验结果表明,二次指数平滑的RMSE为47.83%。图9为二次指数平滑下的能见度比较。
图9 二次指数平滑下能见度比较图
选择BP人工神经网络作为数据的计算模型[16]。利用终端节点收集的气象数据,与同一地点、时刻能见度仪获取的精确数据训练BP神经网络,训练数据占总数据集的70%。利用交叉验证法的方式,将数据集D划分为k个互斥子集,即:
D=D1∪D2∪,…,∪Dk,Di∩Dj=φ(i≠j)
(6)
式中:每个子集Di均为随机组合而成,每次使用k-3个子集的并集作为模型的训练集。现取k值为10,即数据的70%作为训练集,余下30%作为测试集,共进行k次训练和测试。数据集通过监督型学习方式,不断调整参数权重,直至达到一个可接受的误差范围,目标值能见度V与各影响因素xi、所属权重wi及可控误差Δz的关系式为:
(7)
采用如图10所示BP神经网络训练结构,6个输入,1个输出,隐藏层个数由式(8)确定,n为输入层节点个数,m为输出层节点个数,α一般为[1,10]间常数,实验取l为7:
(8)
当BP神经网络训练完毕后,利用上述气象数据集的30%作为测试数据,根据该模型计算出能见度。实验结果发现,BP人工神经网络的能见度结果值与实际值仍有较大误差,其中RMSE为39.69%。
图11为BP人工神经网络模型中,能见度结果值与实际值的散点对比,其中越是远离直线x=y,表示误差越大,准确度越低。
图10 BP神经网络训练结构图
图11 结果值与实际值对比图
考虑到BP算法采用梯度下降使得网络权值收敛至一个最优解,但并非全局最优解,容易陷入局部最优中,且模型训练时间较长,效率较低,改用SVM算法来进行拟合计算。SVM是以核函数构成运算模块,隐式地将数据通过核函数映射至高维空间以增加模型的计算能力。
首先将输入样本xi利用非线性函数φ(xi),从低维空间X映射到高维特征空间H,该方法可将低维非线性问题转化为高维线性回归问题,采用SVM核函数实现:
K(xi,yj)=φ(xi)·φ(yj)
(9)
假设其样本数据可表示为:
T={(x1,y1)…(xn,yn))}∈(X,Y)n
(10)
可得非线性回归函数,其中K(xi,y)为核函数:
(11)
图12 SVM模型结构图
在研究各类参数与能见度影响程度发现,只有部分参数对能见度值影响较大,对于输入空间的局部区域只有少数连接权值影响输出,更类似于局部逼近网络。因此,在使用BP算法训练监测模型的前提下,利用SVM高斯(RBF)核函数结合BP神经网络的新方法,通过将输入数据利用非线性函数映射到高维空间,更高效地求得全局最优解。训练过程仍采用k折交叉验证,取k值为10,采用的高斯径向基核函数为:
(12)
最终函数模型为:
(13)
图13 SVM-RBF核结合BP算法新模型
图13为实际数据与结果数据对比,其中圈型曲线为实际数据,点状曲线为各模型计算得出的数据。新方法下,实际值与结果值的RMSE为28.95%,效果较之前方法更佳。
4 实验和性能评估
4.1 实验环境及部署
考虑安全等因素,我们选择在舟山海岛某气象观测基地进行WSN节点部署和实地监测。通过终端节点上湿度、雨量、风速、气压(包含温度、海拔)传感器收集海岛气象环境信息。海岛信息监测区域使用6个终端节点,6个路由节点和1个汇聚节点。处在海岛传感网边缘的终端节点,收集环境信息后通过路由节点中继传输,发送至海拔最高处的汇聚节点,终端节点依次编号为E1~E6,其中E1、E2、E3、E4放置在边缘处,E5、E6放置在地势偏高处。串口助手接收数据如图14所示。
图14 串口助手接收数据图
图15 系统节点部署图
实地部署中,需将电池等硬件包裹在塑料壳中,仅将传感器探测部位露出壳外,避免雨水、碰撞等因素对硬件产生损坏,传感节点部署如图15所示,节点部署实景如图16所示。
图16 节点部署实景
4.2 性能评估
上述3种模型中,以SVM-RBF核结合BP算法的模型效果最好。SVM在处理多维变量上优于BP人工神经网络,而RBF核函数实际是将样本数据映射到更高维的空间来对输入数据进行划分,并且对影响输出的少数连接权值不断逼近以求得全局最优解,因而拥有更好的性能。从图17可见,新模型在误差不大于0.6时占94.2%,二次指数平滑和BP人工神经网络分别为78.7%和79.3%,可见以SVM-RBF核结合BP算法的新模型在能见度计算上要更加准确,误差率在可控范围内较小。表3为各模型RMSE误差对比。
图17 各模型的相关误差概率分布图
表3 各模型RMSE误差对比
4.3 数据展示
用户在查询界面层输入查询条件后,可看到相应气象信息及能见度数据,能够实时掌握海域气象信息及能见度情况。数据查询如图18所示。
图18 数据查询显示图
5 结束语
本文介绍的海岛环境下海雾能见度监测系统,采用多传感器、Arduino微控制单元、GPRS模块及ZigBee协议,实时监测海岛气象环境信息。通过Z-score标准归一化等方法进行数据校准,并采用SVM-RBF核结合BP算法的新数据模型,利用6类气象环境数据,以较低的误差率,计算出海雾环境下的能见度数值。该系统利用低成本传感器监测海岛气候变化,可实现对偏远无人岛屿环境信息实时监测和长期记录,降低能见度监测仪的配备成本,突破时间、地理限制,提高了作业效率。
本系统实际部署中,尤其是降低无线射频能耗、路径传输选择方面仍待进一步改进,未来将进一步研究解决该类问题。