1. 概述
集成了传感器、微机电系统和网络三大技术的传感器网络是一种全新的信息获取和处理技术;它代表了更小、更廉价的低功耗计算设备的“后PC时代”。普遍的网络化带来的计算处理能力更是难估量。随着无线传感器硬件技术的成熟,其在军事、工业、商务、环境、空间探索等诸多领域有着广泛的应用前景。在环境中分布大量具有无线
通信与计算能力的微小传感器所构成的网络系统,可以实现对用户动作的识别和环境的监控,并根据环境和用户的上下文信息(contex
tinformation)自主地完成指定任务。
但是,随着网络中传感器数量的增多,传感器产生的数据量也随之骤增,如何更快速有效地处理数据,就成为一个核心问题。利用数据融合技术可以进行大规模数据的处理分析,成为传感器网络中动作的工具。本文使用Berkeley Mica2模拟办公室环境,完成对用户常见的动作进行识别,进而根据用户的活动状态,智能地调节和控制室内的灯光系统。3 遇到的问题以及解决方法
3.1 人的动作复杂性及其划分
人的动作非常复杂多样,甚至某些行为是很难描述的 所以合理的划分对于系统的实用性非常重要。在办公室模式下,把动作划分八类,即站立、坐下、交谈、打电话、写字、用计算机、做讲演和休息。八种动作之间有重合、互斥,必要或充分关系。比如是否坐下,对其余动作的识别会有很大景响。如果八类动作分别进行单独判断,动作识别就变成八个二值分类问题。
3.2 丢包率问题
当传感器数量增多,受网络带宽的限制,丢包率就变得非常严重。所以我们在传感器发送数据包时,采用事件触发机制:来决定是否发送 数据变化不明显就不需要发送数据包了;只有当数据和上一次有明显变化,才发送数据包 这样就可以极:走地减少数据的发送量,缓解网络阻塞问题。另外在系统运行过程中,动态地降低采样率,也可以减少发送的数据量。
3.3 所用算法
由于系统实时性的需要,以及考虑到将业算法移植到传感器中实现时硬件条件的限制,所以我们采用相对简单的决策树算法。
4 软件实现
如何要从每秒几百个不同类型的传感器数据中,控掘出所要识别的动作,就要对传感器数据进行一次次的数据融合和控掘。程序分为初始化、接收和解析消息、数据缓存区、数据:顷处理、产生线索、线索融合、产生识别结果共7个主要步骤。考虑到传感器网络对跨平台以及整个系统的灵活性和可扩展性的要求,使用Java语言实现。
4.1 初始化
其功能有两个。第一,初化化系统运行的参数,读取两个:史件,一个properties配置文件,存放运行时不变的常量。一个XMI 文件,保存可以动态调整的参数,这些参数可以通过用户自主调节,也可以在识别过程中自动调整 第二,连接和控制其他模块之间的数据流。
4.2 消息接收和解析
首先,建立一个连接Server的客户端,发送传感器数据的Server端;registerI istener;客户端注册接口;消息包的接受和解析类;this:用来接收消息的对象。然后,把消息转化成统一的PacketData。这样尽管消息千变万化,但是,对外有统一的接口形式。
4.3 消息的存贮和显示
接受到信息后,首先需要存人数据库,供离线的训练和
仿真用。接着需要存人数据缓存区,供下一级模块的在线识别使用 然后绘图工具的显示,可以让用户直观地看到传感器网络的运行情况。
4.4 数据预处理、线索产生
线索,是指对于动作识别有决定作用的最小信息单元,包括传感数据的分类结果,用户和物体交互信息、定位信息和识别也的动作结果。并且用置信度标示此线索发生可能性的大小。
4.5 线索融合
为了提高系统的鲁棒性、抗干扰性,就需要进行线索融合。首先是线索和本身历史结果的融合,这样可以消除噪声和奇异点的干扰。比如,声音线索,就需要好几秒时间内识别结果综合判断的。然后是线索间的融合,以得到最终的动作识别结果。线索间的融合,可以用简单的逻辑判断,也可以使用贝叶斯分类器。
4.6 用户操作界面
主要完成的功能包括:
(1)对传感器网络运行情况的实时监视,包括采样率、丢包率及数据流向的显示。
(2)中间地程中每一层数据的查询,以及最终识别结果的显示。
(3)用户修改设定参数及对识别结果给出反馈
5. 结论
项目在开发过程中,可能会遇到很多硬件方面的问题,如传感器死锁,电池电力不足,硬件的通讯瓶颈等等。我们采用降低采样率,事件触发等方法来缓解,随着硬件技术的成熟,这些问题会得到解决。本系统现在运行良好,对于我们从事传感器网络应用于智能环境控制有很大的帮助。