肖利平 全腊珍 余 波 霍览宇
(1.湖南农业大学工学院, 长沙 410128; 2.湖南机电职业技术学院电气工程学院, 长沙 410151)
随着物联网技术的快速发展,农业物联网已成为现代农业的发展趋势[1]。以传感器与通信网络相结合的全方位环境监测系统在农业物联网中占有重要地位,尤其是基于无线传感器网络技术(Wireless sensor network,WSN)的农田信息监测网络更是迅速发展。WSN是一种由大量具有感知、计算能力的传感器节点组成的自组织网络,通过WSN可以检测农田信息中的异常事件,如火灾、环境污染等[2-3]。农田信息异常事件检测对监测网络实时性要求较高,加之监测网络生存周期受WSN节点能量限制,因此如何提高异常事件检测效率成为当前研究热点[4]。
针对基于WSN技术的异常事件检测方法,国内外学者进行了大量研究[5]。无线传感器网络异常事件检测算法可分为集中式和分布式。集中式检测算法适合于较小规模WSN,且网络需中央处理节点,当网络规模较大时,中央处理节点能耗大,易出现过早死亡现象,同时,还存在丢包率高等不足[6];分布式检测算法将检测任务分配至各节点完成,相比前者,其节点能耗少,网络通信速度快,应用更加广泛[7]。文献[8]提出了一种基于神经网络的无线传感器网络异常事件检测算法,利用神经网络实现网络参数自动寻优,从而提高异常事件检测准确率。文献[9]则从异常事件的时空相关性出发,提出了一种改进的WSN节能策略,从而提高异常事件检测准确性。然而实际应用中,上述算法均需采集各节点信息,当网络节点较多时,算法检测效率低,无法满足检测实时性要求[10-14]。异常事件多为突发偶然事件,具有稀疏性。压缩感知(Compressed sensing,CS)理论具备稀疏性、全局采样、采样与压缩同步进行、编码端算法简单等特征,适合资源受限的感知终端[15-19]。文献[13]基于CS理论,提出了一种基于CoSaMP的信号重构算法,可以实现原始信号的快速重构。CoSaMP算法需要已知信号稀疏度K值,但实际应用中,K值往往未知,从而无法确定算法迭代次数,严重影响算法性能。文献[15-17]分别提出改进CoSaMP算法,但是未能降低算法的能耗和提高低稀疏度的识别率。
针对上述问题,本文提出一种基于改进CoSaMP的农田信息异常事件检测算法。首先,基于CS理论对节点感知数据进行处理;其次,引入Dice系数和PSNR参数,通过改进的压缩感知重构算法DP-CoSaMP和迭代操作检测异常事件;最后,通过模拟场景进行仿真实验,证明算法的有效性和优越性。
农田无线传感器网络结构的应用场景如图1所示[14]。考虑监测区域大、监测节点多等特点,将待监测农田划分为若干区域,每个区域由簇头节点和普通节点组成。其中,普通节点由温度传感器、湿度传感器、摄像头等组成,主要采集温度、湿度、农田安全状态等信息;簇头节点则利用4G通信将普通节点采集的数据传输至基站;基站则将接收的数据传输至后台。节点需满足以下结构特点:①为适应农田面积辽阔特点,传感器节点发射功率可自适应调整。②为方便区分不同农田区域,所有传感器节点均具有单独的标识。③所有传感器节点地位相同且随机分布于监控区域内。
图1 农田无线传感器网络的应用场景Fig.1 Application scenario of farmland wireless sensor network
异常事件检测实质上为二分类问题,即根据一定规则将事件划分为正常事件或异常事件,通常可采用二进制编码方式,将检测到异常事件的传感器节点信息赋值“1”,未检测异常事件传感器节点信息赋值“0”。
二分类问题可通过机器学习算法,如支持向量机(Support vector machines,SVM)、神经网络、Logistics回归等方法对信息进行分类,本文采用优化的BP神经网络(Back propagation neural network)来检测异常事件。
CS理论主要是考虑到信号具有一定的稀疏度(可压缩)时,选取某个线性测量矩阵将高维稀疏信号投影至低维区域,然后利用极少数的投影测量值进行最优化计算,最后恢复原始信号。而CS理论的信号重构问题实质就是寻找欠定方程的最优解问题,可通过l0范数求解方法表示为
(1)
式中x——稀疏数字信号,其维度为N×1
y——信号x在观测矩阵下的线性投影
CS理论的核心是稀疏信号重构,CoSaMP算法具有信号重构精度高和运算复杂度低等优点,目前已得到广泛应用,已知稀疏度K,观测矩阵Φ,观测值y,阈值ξ。初始化残差r0=y,支撑集索引集Γ=∅,迭代次数n=1。其具体过程为:
(1)计算残差rn-1与观测矩阵ΦT的内积C。
(2)将C中的元素降序排列,并选取C中能量最大的2K个元素,将对应索引值构成索引集Γn。
(4)假如迭代停止条件满足rn<ξ或n>K,输出;否则返回步骤(1)[13]。
CoSaMP算法本质上是一种贪婪算法,将观测矩阵的列向量视为原子,采用内积匹配准则找到与当前余量相关性最大的原子。假设两个任意向量x、y,内积匹配准则如下
(2)
式中xi——x向量中的第i个元素
yi——y向量中的第i个元素
采用内积匹配准则具有容易选择重复原子和部分信息易丢失的缺点,降低了信号重构品质,为此本文引入Dice系数,利用向量的每个元素来计算相关性,从而有效区分相关性较高的原子,保证匹配残差信号的原子可以更优地被挑选,同时尽量多地保留原始信息。
(3)
式中 Dice——Dice系数
信号x满足稀疏条件时,观测矩阵Φ满足一定限制等容条件(RIP),即
(4)
式中X——稀疏度K的向量信号
根据信噪比(PSNR)定义有
(5)
式中RPSNR——信噪比
式(5)内部乘以一个观测矩阵B得
(6)
式中Xk——第k次迭代信号
X0——原始信号Y——观测值
假设第k次迭代和第k+1次迭代的判别式分别为Pk和Pk+1,即
(7)
(8)
PSNR的值会随着迭代次数而改变,通常呈现先增大后减小趋势,为保证迭代次数与稀疏度K一致,令
dk=ΔP/Pk
(9)
其中,ΔP=Pk+1-Pk。dk会从最初的小于零变为大于零,因此,可以对dk设置一个阈值,消除这种变化趋势。
综上所述,本文将引入Dice系数和峰值信噪比(PSNR)参数,提出一种改进的压缩感知重构算法(DP-CoSaMP)。
DP-CoSaMP与传统CoSaMP算法、D-CoSaMP算法、PNSR-CoSaMP算法的均方差如图2所示。
图2 4种算法均方差分析Fig.2 Algorithmic mean square error analysis
由图2可知,CoSaMP的均方差最大,DP-CoSaMP的均方差最小,可以得到较好的信号重构结果。
设农田信息无线传感器监测网络中随机分布N个节点,采集数据为x(n),n=1,2,…,N。首先依据各传感器节点测量值在基站节点根据DP-CoSaMP算法迭代求解加权l0范数最小化问题,重构得到X(n),n=1,2,…,N,即为各传感器节点感知数据,该过程可描述为
(10)
整个网络存在C个簇和N个测量值,Ni为在第i个簇内包含传感器节点数目,每一个簇指派测量值计算公式为
(11)
式中Mij——第j轮、簇i的测量值
Aij——第j轮、簇i的事件数目
M——数据维度
相应的测量矩阵Φij定义为
(12)
式中GMij×Ni——高斯矩阵
sparse——稀疏矩阵函数
C个簇的平均测量值Nij定义为
(13)
基于压缩感知理论的无线传感器异常事件算法的工作步骤如下:
(1)在每个簇内,令权重矩阵W=I,I为单位矩阵。
(2)在每一个簇内通过DP-CoSaMP算法求解式(10),重构得到X(n)。
(3)从X(n)中判断事件是否发生。
(4)根据所有簇的检测结果得到异常事件发生的近似分布,然后根据式(11)~(13)来更新测量矩阵Φij。
(5)迭代次数增加。
(6)如果达到最大迭代次数,则终止算法运行。
综合上述可知,基于改进CoSaMP的农田信息异常事件检测算法的工作流程如图3所示。
为了测试基于CS理论的异常事件检测算法在农田信息监测中的性能,采用Intel 4核2.8 GHz CPU,4 GB RAM,Windows XP操作系统,采用Matlab 2012作为编程工具进行仿真实验。计算机上仿真参数如表1所示。
表1中,εmp为多径衰落信道模型功率放大器能量消耗系数,εfs为自由空间能量消耗系数[20],d为
图3 异常事件检测流程图Fig.3 Abnormal event detection flow chart
参数数值节点数1000监测范围/(m,m)(0,0)~(500,500)通信距离d/m50数据包长度/bit24控制包长度/bit64传感器节点的初始能量/J5εfs/(J·b-1)0.005εmp/(pJ·b-1)0.0013Eelec/(nJ·b-1)50
通信距离,Eelec为无线传感器节点发送和接收电路基本功耗系数。节点能耗包括发送能耗和接收能耗,其中无线传感器节点发送k位信息的能耗为
(14)
无线传感器节点接受k位信息的能耗为
Erv(k,d)=kEelec
(15)
选择CoSaMP算法[15]、D-CoSaMP算法[16]和PSNR-CoSaMP算法[17],与本文异常事件检测算法DP-CoSaMP进行比较,每种算法均进行5次仿真实验,取其平均值,采用异常事件检测成功率、检测能耗及平均检测速度作为算法性能评价指标。
3.2.1检测成功率对比
不同观测点数条件下,本文算法和文献[15-17]异常事件检测算法的检测成功率变化曲线如图4所示。由图4可知,随着观测点数增加,4种算法检测成功率随之增加;相比其他算法,本文算法平均检测成功率提高了大约20%,这主要是由于本文算法采用压缩感知技术对每个传感器节点进行动态观测,提高算法的抗噪能力,并且根据迭代求解结果对权值进行动态调整,获得了更加理想的无线传感器异常事件检测效果。
图4 不同算法检测成功率随观测点数量变化Fig.4 Changes of detection success rate of different algorithms with number of observation points
4种算法的检测成功率与节点数稀疏度之间的变化关系如图5所示。随着节点数稀疏度增加,4种算法的检测成功率不断减小,在信号稀疏度相同条件,本文算法的检测成功率比对比算法高约25%,因此本文算法具有更广的应用范围。
图5 检测成功率与稀疏度间的变化关系Fig.5 Relationships of detecting success rate and sparsity
3.2.2能量消耗对比
本文主要分析异常事件检测过程能耗,因此忽略数据融合消耗能量,簇内采用单跳通信方式,本文算法和其他算法异常事件检测算法的能量消耗变化曲线如图6所示。从图6可以看到,随着仿真时间增加,4种算法的能量消耗不断上升,然而在相同条件下,本文算法的能量消耗比文献[15]异常事件检测算法的能量消耗低15%左右,比其他算法低50%左右,这说明本文算法在保证异常事件检测成功率的条件下,同时减少了不必要的通信开销,节省了网络能耗,结果表明,本文算法是一种能耗低、可以满足网络实时监测控制要求的无线传感器异常事件检测算法。
图6 算法能量消耗对比Fig.6 Comparison of algorithm energy consumption
3.2.3检测效率对比
在无线传感器实际应用中,异常事件检测的速度至关重要,采用平均检测时间(s)作为检测速度衡量标准,4种算法的仿真实验结果如图7所示。从图7可以清楚看出,相对于传统的异常事件检测算法,本文算法的平均检测时间减少了50%,提高了无线传感器异常事件的平均检测速度,可以更好满足大规模无线传感器网络异常事件实时性、在线需求。
图7 算法检测速度对比Fig.7 Comparison of algorithm detection speed
提出了基于改进CoSaMP的无线传感器网络异常事件检测算法,改善了无线传感器网络异常事件检测效果,通过仿真实验对其性能进行测试。结果表明,本文算法异常事件检测成功率较现有算法提高了20%,且能耗降低了15%,平均检测时间减少了50%,可以保证异常事件检测的可靠性和实时性,为实现农田信息监测智能化提供了理论依据。