基于RBF神经网络的人类活动识别
2014-01-16李洪俊
李洪俊
(河海大学 能源与电气学院,江苏 南京 211100)
随着人口老龄化的加剧,越来越多的老人将需要奉养,而我国的计划生育政策使得许多的老人身边没有子女照料,随之而来的老人独立生活的安全等问题变得尤为突出。据估计目前全世界将近有1 800万的人患有老年痴呆,到2025年底,这个数字可能会达到3 400万。在这个基础上,智能家居的研究就变得非常的迫切。高度智能化的家居环境能够给空巢老人的晚年生活带来极大的便利和安全保障。
在智能家居的研究中,活动[1]识别作为其中的一个研究课题,有着极其重要的作用。在一段时间里许多理论和算法被创造出来解决个人在一个空间里的被动跟踪,行为识别等。近些年来通过使用无线设备的个人跟踪[2-3]和基于空间上的视频数据[4-5],传感器数据[6]或其他信息的活动识别取得了重要进展。在过去的几年里,有一些方法被用来建立模型和识别活动,如隐含马尔科夫模型(HMM)[7]等。
CASAS智能家居项目是华盛顿州立大学专注于创造一个智能家庭环境的一个研究项目。卡萨斯智能家居项目由各种各样的传感器数据有运动传感器、光线传感器等等。为了实现老年人室内帮助(Elderly in-home assistance,EHA[8]),能够使老年人完成日常的生活活动(ADLS),诸如:吃饭、服药、洗衣服、睡觉等,最重要的步骤之一就是识别单独一个人在智能环境中执行的活动。
1 数据采集
为了能给这些算法提供训练数据,我们在华盛顿州立大学的智能家居试验台中测试算法,它属于CASAS智能家居项目的一部分。如图1所示,其中有3个卧室,1个浴室,1个厨房和1个起居室。在这个校园里的智能家居试验台中,很多动作发生在这个智能环境里。智能环境试验台里面装有运动传感器、温度传感器和模拟传感器。运动传感器分布在几乎整个天花板上。另外温度传感器提供环境温度读数,模拟传感器提供热水、冷水和暖炉的读数。接触开关传感器用来监管炒菜的锅、电话本、药瓶的使用情况。活动识别的传感器数据是由这些定制的传感器网络采集的,并且存放在SQL数据库中。活动数据是由活动触发的传感器序列组成,称传感器事件(Sensor event)。
本文中,为了给算法提供物理数据,我们招募了许多志愿者在这个智能环境里执行一系列动作。采集到的传感器事件被人工的标注了活动ID。一共有10个活动,对这10个活动的编号如下:
Bed to toilet 活动编号0:起床上厕所,表示夜里起床到厕所的活动转移。
Breakfast 活动编号1:吃早饭,表示志愿者吃早饭的日常生活活动。
Bed 活动编号2:该活动表示志愿者在床上睡觉。
Computer work 活动编号3:该活动表示志愿者在智能家居的工作空间里工作。
Dinner 活动编号4 :该活动表示志愿者在吃晚饭的日常生活活动。
Laundry 活动编号5 :该活动表示志愿者在使用智能空间的洗衣机洗衣服。
图1 智能家居环境的传感器分布Fig. 1 Sensors distribution in smart home
Leave Home 活动编号6: 该活动表示志愿者离开家。
Lunch 活动编号7: 该活动表示志愿者正在吃午饭的日常生活活动。
Night wondering 活动编号8:该活动表示志愿者在夜里游荡散步。
Take medicine 活动编号9:该活动表示志愿者在吃药。
2 特征值的选择
数据搜集了几个周的时间,相关的特征值产生于注释好的传感器数据,数据的形式如表1所示。对CASAS智能家居搜集到的数据我们用以下的特征来表示:
1)传感器的逻辑编号 (Sensor ID)
活动触发的传感器的ID,不是使用原始的物理传感器的编号,它们被映射到了标号,标号对应传感器安装在房间里的位置。这个标号由0到9的整数值来表示。这里使用传感器ID的平均值来表示活动发生的中心位置。
2)时间 (Time of the day)
传感器事件的开始时间以秒计,这个特征值的取值是0到23的整数值,对应一天24小时。当活动发生在0点到1点之间为0,发生在1点到2点之间为1,发生在2点到3点之间为2,发生在3点到4点之间为3,对于表1的数据,该活动的该特征值为11。
3)一周中的第几天(The day of week)
这个特征代表了活动发生在星期几。这个特征值的取值是0到6的整数。0表示星期一,1表示星期二,以此类推。
4)前一个活动(Previous of the activity)
这个是当前活动发生的前一个活动。这个特征值的取值是0到9的整数,对应10个活动的编号,表示10个活动。
5)活动长度(Activity Length )
这个特征值表示当前活动的长度,活动长度的长短用活动期间触发的传感器个数来衡量。这个特征值的取值0到14,共600个活动样本,按触发的传感器个数由低到高的顺序排列,分成15段,每40个活动为一段,排在前40的该特征值为0,41到80的该特征值为1,以此类推,根据分段数对实验结果的影响,可以改变分段的选择。
6)活动持续时间(During time)
这个特征值表示活动的持续时间,这个特征值的取值是0到9,根据活动持续时间将样本按从低到高的顺序排列,将活动的持续时间分成10段,每60个活动为一段,前60个活动该特征值为0,第61到120的活动该特征值为1,以此类推,分段数也可以按实验结果的好坏进行调整。
活动的识别问题其实是一个分类问题,注释的10个活动类就是学习问题的目标类。
表1 学习数据Tab.1 Data used for learning
3 径向基函数神经网络RBFN的人类活动识别
人工神经网络的非线性映射能力非常强, 它可以通过学习或训练后自动总结出数据间的函数关系而不需要任何先验公式, 因此是一种有效的建模手段。
径向基神经网络RBFN是由Moody和Darken于20世纪80年代末提出的一种性能良好的前馈网络。具有最佳函数逼近性能和全局最优特性,广泛地应用于模式识别、分类、图像处理、系统辨识、函数逼近和信号处理等方面。大部分基于反馈的多层前馈网络的学习算法必须基于某种非线性优化技术的缺点,计算量大、学习速度慢,而RBF神经网络不仅具有良好的推广能力,而且计算量少,学习速度一般也比其它算法快得多。RBF神经网络由三层组成, 包括输入层、隐含层和输出层。RBF神经网络结构见图2。输入层将网络与外界环境连接起来,隐含层的作用是从输入空间到隐含层空间进行非线性变换,通常具有较高的维数。输出层则是在该新的空间中对基函数的中心进行线性组合。
在RBF网络结构中,X=[x1, x2,…,xn]T∈Rn为网络的n维输入向量。设RBF网络隐藏层的径向基向量
H=[h1, h2,…,hm]T其中hj为高斯基函数,即:
公式中,网络第i个节点的中心向量为Ci=[ci1, ci2,…,cin]T,i=1,2,3,…,m,Ci为与X同维的中心向量。m为径向基层神经元数。
设网络的基宽向量为B=[b1, b2,…,bn]T, bi为节点i的基宽参数,且为大于零的数。RBF网络输入层到隐含层的权值为1.0;网络隐含到输出层权向量为
图2 RBF神经网络的结构Fig. 2 RBF neural network structure
RBF神经网络的第n个节点的输出为:
RBF网络逼近的性能指标函数为
根据梯度下降法,输出权、节点基宽参数及节点中心矢量的迭代算法如下
式中,η为学习速率, α为动量因子η∈[0,1], α∈[0,1] 。
RBF神经网络学习算法的本质是修改隐藏层到输出层的权值,隐藏层节点的基宽参数和中心矢量使得误差接近目标值。
4 实验结果
在本文中RBF神经网络的输入节点数为6,分别对应活动数据的6个特征值。将6个特征值归一化后作为径向基函数神经网络的输入。输出节点数为10,分别对应10个活动。隐藏层节点数为20。为了简化计算过程,学习速率和动量因子取相同的值, 取为0.9, 取为0.000 2。训练的样本数据来自于CASAS智能公寓试验台的55天,10个活动共600个实例和647 485个运动传感器事件。
文中使用了交叉验证的方法,即在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和。这个过程一直进行,直到所有的样本都被预报了一次而且仅被预报一次。把每个样本的预报误差平方加和,称为PRESS(predicted Error Sum of Squares)。3折交叉验证,把训练数据平均分成3份,其中2份作为训练样本,剩下1份作为测试样本,直到每个活动样本实例都作为测试样本测试一次而且仅被测试一次。
实验结果如表格2中所示。总的样本个数为600,其中RBF神经网络有522个活动实例判断正确,78个样本实例判断错误,总的准确率为0.870。其中活动0总共有30个样本实例,活动1总共有48个样本实例,活动2总共有207个样本实例,活动3总共有46个样本实例,活动4总共有42个样本实例,活动5总共有10个样本实例,活动6总共有69个样本实例,活动7总共有37个样本实例,活动8总共有67个样本实例,活动9总共有44个样本实例。结果表明径向基函数神经网络的判别效果在8个活动上比隐含马尔科夫模型要更好。RBF神经网络的在活动0,活动1,活动2,活动3,活动4,活动5,活动7,活动8上的识别率比隐含马尔科夫模型要高。而只有在活动6上的活动的识别率RBF神经网络的识别率比隐含马尔科夫模型低。可以看出跟隐含马尔科夫模型相比RBF神经网络能够更有效的进行活动的识别。
表2 实验结果比较Tab.2 Experimental results comparing
5 结 论
这篇文章中采用径向基函数神经网络被用来进行人类活动的识别,为了得到一个直观的观察,我们把它和隐含马尔科夫模型的识别结果进行比较。通过该实验结果,很容易看出选择合适的参数和特征量,RBF神经网络的人类活动识别比隐含马尔科夫模型的识别率要更好。
[1] CHEN Li-ming,Nugent C D,WANG Hui.A knowledge-driven approach to activity recognition in smart homes[J].IEEE Transactions On Knowledge and Data Engineering,June 2012,24(6):961-974.
[2] Cook D J,SONG Wen-zhan.Ambient intelligence and wearable computing:Sensors on the body,in the home, and beyond[J].Journal of Ambient Intelligence and Smart Environments,2009(1):1-4.
[3] Priyantha N,Chakraborty A,Balakrishnan H.The cricket location support system[C]//Proc.6th Ann. International Conference on Mobile Computing and Networking,2000:32-43 .
[4] Brezeale D,Cook D J,Automatic video classification:a survey of the literature[J].IEEE Transactions On Systems,Man,and Cybernetics—Part C: Applications and Reviews,2008,38(3):416-430.
[5] Intille S S,Designing a home of the future[J].IEEE Pervasive Computing,2002(1):80-86.
[6] Crandall A S,Cook D J,Coping with multiple residents in a smart environment[J]. Journal of Ambient Intelligence and Smart Environments, 2009(1):323-334.
[7] Cuntoor N P,Yegnanarayana B,Chellappa R.Activity modeling using event probability sequences[J].IEEE Trans.Image Proc,2008,17(4):594-607.
[8] ZHOU Feng,Jianxin (Roger) Jiao, CHENG Song-lin, et al.A case-driven ambient intelligence system for elderly in-home assistance applications[J].IEEE Transactions On Systems,Man,and Cybernetics—Part C:Applications and Reviews,2011,41(2):179-189.