基于多传感器数据融合的海洋牧场实时监测系统
2023-06-21刘小飞李美满詹志炬
刘小飞, 李美满, 詹志炬
(广东理工职业学院人工智能学院, 广州 510091)
0 引 言
近年来,国家加强海洋强国战略的实施,持续推动海洋经济的发展,提高海洋生态环境的保护。 其中,调整和优化海洋传统产业,推动海洋产业科技创新,实施“互联网+”现代渔业行动,提升海洋渔业信息化水平成为发展的重点。 海洋牧场的建设成为了海洋渔业资源可持续发展、海洋生态环境保护的重要举措[1-2]。 海洋牧场是指在一定的海域内,利用自然的海洋生态环境,通过人工鱼礁、增殖放流等措施,对鱼、虾、贝、藻等海洋生物资源进行有计划、有目的的海上放养,实现渔业资源可持续利用的渔业模式[3]。 海洋牧场在中国海洋渔业转型升级中扮演着重要的角色,为渔业资源持续稳定增长提供了重要保障[4]。
在海洋牧场中,水质、气象、水文等状况直接影响着水生生物的分布和生长,是决定海洋牧场水产品产量和质量的关键因素。 对海洋牧场进行监测,能够及时了解和掌握海洋牧场环境和资源质量及发展趋势的全过程。 通过监测获得的各项指标和数据,为海洋牧场的管理提供科学的依据。 目前,国内学者在海洋牧场的环境监测方面开展了一系列研究。 如:花俊等[5]针对海洋牧场的水质状况设计了一套海洋牧场远程水质监测系统,针对溶解度、温度、浊度、pH 值等关键水质参数进行实时监测。 邢旭峰等[6]设计了一套海洋牧场环境信息综合监测系统,利用自制的浮标平台,对海洋牧场的环境因子和水下生物进行实时监测。 石尧等[7]提出了一种海洋牧场多参数智能监测系统,对海洋牧场中的水温、pH 值、浊度进行监测。 张娜等[8]设计了一套基于物联网的水质监测系统,对水质中的pH 值进行监测,提升了pH 值采样的精度。 谢鑫刚等[9]设计了海洋牧场自动监测系统,利用浮标和无人船,对海洋牧场的多环境因子和水下生物进行长时间的实时监测。 以上研究均是针对海洋牧场中单个环境因子进行监测,获取的是单一传感器的数据。 然而,在海洋牧场中,生态环境影响是由多个环境因子累积而成,而不是由单个环境因子进行简单的叠加,仅通过对获取的单一环境因子监测数据进行分析存在着一定的局限性。 因此,研发应用于监测海洋牧场多个环境因子,并对获取的数据进行融合,为海洋牧场养殖提供科学数据的实时监测系统,具有重要的现实意义。
本文根据海洋牧场科学管理及可持续发展的建设需求,利用传感器技术实现了海洋牧场环境智能监测系统。 该系统通过采集海洋牧场各类环境因子数据,不仅对单一环境因子同类数据进行数据融合,还对多环境因子异类数据进行融合,最后将数据进行实时呈现,并实现自动预警的功能。 以此提高海洋牧场生态环境监测的准确性和可靠性,为科学管理提供依据,并提升海洋牧场渔业的产量和质量。
1 系统总体架构
海洋牧场环境监测系统是一个集环境数据采集、数据传输、实时监测、自动预警、历史数据查询等功能于一体的海洋牧场智能监测系统。 如图1 所示,海洋牧场智能监测系统由数据采集模块、数据监测终端、数据处理中心3 部分组成。 数据采集模块位于系统的前端,由控制器、传感器数据处理模块和各类传感器组成,主要进行各类海洋牧场环境数据采集。 传感器主要包括:(1)进行水质检测的盐度、浊度、叶绿素等传感器;(2)进行水文检测的水温、pH 值、溶氧等传感器;(3)进行气象检测的气温、气压、风速等传感器。一个控制器和传感器数据处理模块可以连接多个不同类型的传感器,通过传感器地址寄存器来区分传感器的类型。 数据监测终端每间隔一段时间将采集到的数据上传到数据处理中心。 数据处理中心对采集的数据进行过滤、清洗、融合,并将各个传感器的数据和预警数据实时呈现在监控大屏上。 用户可以通过PC 端和手机端查看各项数据,并可进行简单的设置;管理员可以通过系统后台对用户、控制器、传感器和牧场信息进行管理和控制。
图1 海洋牧场环境监测系统拓扑图Fig. 1 Topology of marine ranch environmental monitoring system
2 系统硬件设计
2.1 系统通信处理
控制端通过RJ-45 接口与传感器数据处理模块连接;传感器数据处理模块通过RS485 串口与继电器控制模块连通,对获取的数据进行上传,继电器控制模块对各类传感器进行供电。 系统通讯结构如图2所示。 硬件之间通过Modbus 协议进行通信,Modbus协议是应用于电子控制器上的一种通用语言,在Modbus 网络上进行通信时,每个控制器根据设备的地址,识别发来的消息,不同的消息会产生不同的行动。 设备插入网线并接入12V 电源,即可接入物联网。 根据Modbus 协议的特点,控制端与传感器之间采用主从方式,控制端作为主设备发送指令信息,传感器获得指令进行回应。 控制端每间隔一段时间发送MODBUS RTU 读取命令,去读取传感器数据信息或控制传感器。 每个MODBUS 帧包括地址域、功能域、数据域、错误检测域,每两个字符之间的发送或接收的时间间隔有一定的要求,一般不能超过1.5 倍字符传输时间,否则传输就会产生错误。 主发送指令包括:从设备传感器地址、功能码、起始寄存器地址、寄存器个数、CRC 校验;传感器应答包括:传感器地址、功能码、数据长度、数据、CRC 校验。 传感器类型的不同,发送的控制指令也不同,如数值型传感器在发送指令的同时,需要接收传感器返回的指令数据;对于开关型传感器,则仅发送开关型指令对传感器进行控制。
图2 系统通信结构图Fig. 2 System communication structure
2.2 控制器硬件设计
如图3 所示,控制器由单片机最小系统、继电器控制输出电路、RS485 接口驱动电路、电源电路、单片机电源引脚、模拟量输入电路、开关量检测电路等组成。 其中,单片机最小系统是控制器的核心,控制着信号指令的发送和传感器数据的传输;继电器控制输出电路,用来控制一些外部设备的开关,如传感器电源,在不需要检测的时候,可以关闭电源降低功耗。本项目中使用的传感器大致分为3 类:
图3 控制器电路图Fig. 3 Controller circuit diagram
(1)开关型传感器:此类传感器通过开关量检测电路控制,如补光传感器。
(2)模拟量输出型传感器:传感器将信号转换为电压信号输出,模拟量输入电路将电压信号进行处理,然后通过AD 转换读入单片机,再换算成对应的温度、压力值。
(3)数值输出型传感器:在此项目中通过RS485 串口通信和Modbus 协议将对应的传感器数据读入单片机,再进行换算成对应的环境检测值。
3 系统数据融合关键技术研究
3.1 数据融合模型
传感器在采集数据的过程中,受到传感器精度、传输误差、环境噪声和人为干扰等因素的影响,使其获得的数据存在不确定性。 在实际的数据测试中,传感器所处的位置不同,获取同一环境因子的值也会存在一定的偏差。 为了减少测量带来的偏差,提高数据的准确性,一方面通过改进传感器的设计工艺,提升其测量的精度;另一方面,通过对获得的检测数据进行融合处理,得到比单一数据更准确的数据和结果。 多源数据的融合按照数据融合的层级分为数据级融合、特征级融合、决策级融合。 数据级融合就是对传感器获得的原始数据进行融合处理;特征级融合是在数据级融合的基础上,提取特征信息,对各组信息进行融合;决策级融合是高层次的融合,进行局部融合处理[10]。 本项目根据源数据的特点和用户的需求,主要进行数据融合和特征融合,数据融合模型如图4 所示。 首先对单个传感器获得海洋牧场环境因子数据进行预处理,去除脏数据和异常数据之后,对预处理后的数据进行数据级融合,获得更为准确的单环境因子数据。 最后,将数据级融合后的单环境因子数据作为输入进行特征级融合,形成关于海洋牧场环境检测的决策数据。 决策数据主要包含正常、预警、警报3 种数据,以此来提高海洋牧场环境数据测量的准确性和预警的正确性。
图4 数据融合模型Fig. 4 Data fusion model
3.2 基于信任度模型的同类传感器数据融合
在海洋牧场环境监测中,通过部署多个控制器对不同目标区域进行监测,每个控制节点最多可以集成16 种不同类型的传感器。 同类传感器数据融合,是对监测同一海洋牧场环境因子的多个传感器获得的数据进行融合,可以避免部分传感器的监测失灵或出现偏差对监测值的影响。 目前,传感器数据融合的常用方法有基于随机类方法的加权平均法、多贝叶斯估计法,以及基于人工智能类的神经网络、模糊逻辑理论等方法[11]。 针对同类多个传感器数据融合的问题,本项目采用基于信任度模型的同类多传感器数据融合方法。 对每个传感器采集的数据定义一个可信区间,若数据不在可信区间内,则不能被融合;若某些数据在可信区间内且相互接近,则可以融合。 算法的基本思路是,定义一种模糊型指数信任度函数,对传感器测试所得数据进行量化,通过矩阵度量各传感器的数据得到一个综合信任度,最后分配测得数据在融合过程中所占权重,具体实现过程如下:
(1)设多个传感器测量同一环境因子,第i个传感器获得数据为xi,第j个传感器获得数据为xj。 如果xi的真实性越高,xi的信任度就越高。
(2)定义一个信任度函数bij,表示xi被xj信任程度。
其中,0 ≤f≤1,融合上限mij >0。
(3)避免受主观因素的左右,定义指数函数bij,设当xi和xj两个传感器的差值大于上限值M,两传感器之间不再信任,则bij=0。
(4) 设对同一环境因子测量的传感器有n个,根据以上信任度函数bij,可以得到信任度矩阵B。
在矩阵B中,对于第i行元素,若值较大,则表示第i个传感器测试的数据为真实数据的可能性较大;反之,真实数据的可能性较小。
(5) 用wi表示第i个传感器测得数据xi在融合过程中所占权重,利用wi对xi进行加权求和,得到数据融合的表达式如下:
(7)当bij≥0,则信任度矩阵B为非负矩阵,该B矩阵中存在一个最大特征值λ >0,使得λA=BA。 因此计算出λ及对应的特征向量A,使得ai≥0,则W=λA可以作为各传感器测得数据间综合信任程度的度量,即:
对wi进行归一化处理,得到
3.3 基于BP 神经网络的异类传感器数据融合
在实际的海洋牧场环境监测中,水质、水文、气象等数据由多个环境因子决定。 因此,需要对单个环境因子融合后的数据做进一步的数据融合,根据融合后的结果来预测海洋牧场水质、水文、气象等状况的好坏。 BP 神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。 通过样本数据的训练,对训练结果与预想结果进行误差分析,不断的修正权值和阈值,使输出结果不断的逼近期望值。 本项目采用BP 神经网络算法进行异类传感器的数据融合,在此仅考虑水质、水文、气象内部数据的融合,不考虑水质、水文、气象环境因子之间的影响。 下面以水质数据为例,介绍其融合过程。
(1)数据输入:将融合后的水温、盐度、叶绿素、pH 值、溶氧、浊度等水质数据指标作为输入,将融合后的水质数据作为输出。
(2)建立BP 网络模型进行训练,BP 网络由输入层、隐藏层和输出层组成,在BP 网络采用作为传递函数, 误差反传函数为其中Oi为网络的计算输出,Ti为期望输出,不断调整网络权值和阈值使误差函数E达到极小。
(3)模型求解:将水质数据的各个环境指标作为输入层,节点数为6;输出层为预测结果,节点数为3。 本文建立了一个3 层的BP 网络的预测模型,模型中只有一个隐藏层、多个输入、单个输出。 参照经验公式得出隐藏层神径元的个数,公式中的n为输入层神径元个数,m为输入层个数,a为[1,10] 之间的常数。 本项目隐藏层神径元选用5 个,选择函数tansig 和logsig 分别作为隐藏层神径元和输出层神径元的激励函数。 通过上述模型计算,其结果即为融合后的水质值,将计算出的水质值与水质“正常、预警、警报”3 种状况的阀值进行比较,最终得出海洋牧场水质的预警结果。
4 实验结果分析
4.1 样本训练
使用Matlab 中的BP 神径网络工具进行训练,以水质数据融合为例,各参数设置见表1。 针对3种情况分别利用1 000 个样本进行训练,100 个样本进行验证。 在样本训练过程中,在对应“正常”状态下,输入向量M=(M1,M2,M3,M4,M5,M6)。 其中M1- M6 分别代表水温、盐度、叶绿素、 pH 值,溶氧、浊度正常状态的样本值。 输出向量为N=(1. 000, 0. 000,0. 000),训练目标值为0.001,训练次数为1 000 次。 将输出值与验证值进行对比验证,判断训练的效果;最后用训练好的BP 神经网络对海洋牧场中监测的水质数据进行判断。
表1 神经网络参数设置Tab. 1 Parameter settings of neural network
4.2 结果分析
本项目通过在某海洋牧场进行测试与试运行,监测平台数据展示每隔15 min 获取一次海洋牧场的监测数据,由于获取的数据量大,数据的存取采用非关系型数据库mongodb 进行存取,数据查询时使用Redis 进行数据缓存。 融合后的水质、气象、水文等各参数指标实时呈现,控制设备的在线与离线情况实时展现,报警值以短信和平台两种形式展示,报警处理记录实时在平台中呈现。
以海洋牧场环境因子浊度为例,随机连续获取15 天的浊度数据,将同类传感器融合的数据、人工检测和单个传感获得的数据进行对比。 结果表明,同类传感器融合后的数据更接近于人工检测获得的数据,获得数据的准确性有了大幅度的提升。 传感器检测结果如图5 所示。
图5 传感器检测值对比Fig. 5 Comparison of sensor detection values
连续统计15 天内海洋牧场的报警情况,对通过单个环境因子值和数据融合后的报警次数进行分析。 如图6 所示,数据融合后的报警正确性次数远高于通过单值进行简单判断的次数,更接近于正确的报警次数。 因此,多传感器的数据融合在海洋牧场环境监测中取得了一定的效果。
图6 报警情况对比Fig. 6 Comparison of alarm conditions
5 结束语
本文针对现有海洋牧场环境监测的不足,研究基于多传感数据融合的监测平台,利用信任度模型对同类传感器数据进行融合,利于BP 神经网络对异类传感器的数据进行融合。 目前该平台已在海洋牧场中试运行,并取得了一定效果。 但是,该平台在性能和数据的准确性方面还存在一些不足,下一步将继续优化模型,提高数据检测的准确性,为海洋牧场的科学管理提供更可靠的数据,以此来提高海洋牧场水产的产量和质量。