赵中堂,马 倩,陈益强
(1.郑州航空工业管理学院 a.计算机科学与应用系;b.管理科学与工程学院,郑州 450015;2.中国科学院计算技术研究所,北京 100190)
据2007年的统计数据,大约 30%的美国人患有肥胖症。肥胖症导致的冠心病、高血压、糖尿病、胆石症、痛风、脂肪肝等并发病,每年大约消耗1 000亿美元的医疗费用。而这一年,中国的超重比例为28.9%。并非只有美国和中国有此现象,肥胖症已成为一个世界性的难题。大量的研究证明,运动是保持健康的重要方法,只要长期有规律地坚持运动,人们就能保持健康。对于减肥也是如此,适量的运动有助于燃烧脂肪,减轻体重,从而强身健体。然而,目前没有合适的工具能检测用户每天的运动量,也就无法给予用户科学的指导。
普适计算技术倡导“以人为中心”的计算,使得计算设备能够在无形中为用户提供智能的、透明的服务。为了提供适时适地的服务,计算设备必须具有感知用户上下文信息的能力[1-3]。动作行为识别 (Motion Activity Recognition, MAR)技术[4]是感知计算的一个重要分支,基于加速度传感器数据识别人的MAR是目前研究的热点之一。
文献[5]较为全面地研究了基于加速度传感器的行为识别。该方法先在用户身上5个不同部位绑上加速度传感器,当用户做出不同动作时,系统记录加速度值,并使用多种分类器识别用户行为。实验结果表明,决策树(Decision Tree, DT)算法在所采用的分类器中表现最好,准确率大约为 84%。但这种在用户身上绑置多个特定装置的方法操作不便,因此,不符合实际需求。
文献[6]仅使用一个固定在骨盆处的三轴加速度传感器来采集行为数据,采用不同的分类器,在4种情况下进行实验,对某人混在一起的不同时间的行为数据进行分类,分类精度可达 99.57%。对多个人多个时间的行为数据混在一起进行分类,分类精度可达99.82%。对于一个人在不同时间的行为数据,以一天的数据作为训练数据,另一天的数据作为测试数据,分类精度能够达到90.61%。对于2个人的不同数据,以一个人的数据作为训练数据,另一个人的数据作为测试数据,分类精度仅可以达到73.33%。
文献[7]提出了一种与加速度传感器朝向无关的算法,将Nokia N95手机内置三轴加速度传感器的信号值投影到竖直和水平方向,使用户无需关心手机的朝向问题,拓宽了行为识别算法的使用范围。
由于采集加速度传感器数据并进行标定是代价较高的工作,因此为了简化甚至省去该过程,现有的工作集中在如何找到一个通用的识别模型,只需对少数人标定一次数据,便可以应用在任何人的行为数据上。这样做的结果必定是以牺牲个人精度为代价的,导致每个人的行为识别精度都不能达到较高的水平。本文提出一种基于通用模型迁移的自适应行为识别方法 AdaMAR(Adaptive Motion Activity Recognition),该方法首先采集少数几个人的行为数据并进行标定,在此基础上训练一个通用行为识别模型。当新用户使用该模型时,模型可以根据用户的数据和通用模型的识别结果自适应地调整,逐步形成一个识 别精度高的个性化模型。
报告显示,如果长期坚持有规律的运动,即使运动量较小,对人们的身体健康也是大有裨益。对于老年人来说尤为如此,适量运动可以有效地预防和控制疾病。为了协助人们管理自己的运动,本文设计实现了个人运动管理系统,该系统能够运行于移动终端之上。
图1为个人运动管理系统的应用场景。白天,用户打开个人运动管理系统,将移动终端携带在身上。系统自动地采集加速度数据,提取特征,用行为识别模型识别用户的行为。这样,用户的行为被翻译为行为序列,包括静止、散步、跑步、上下楼梯等。由于每个行为样本的持续时间可由加速度计的采样频率得到,因此可以统计用户每天的行为信息,包括有哪些行为、每种行为总的累积时间是多少、每种行为最长的持续时间是多少。根据这些信息,结合运动常识,用户就可以很好地自我指导锻炼,保持健康的体魄。晚上,在用户上床睡觉之前,系统可以通过短信的方式将用户一天的运动信息上传到用户的微博。这样,用户可以和他的好友共享运动信息,朋友也可以对他的运动进行监督和指导。
图1 个人运动管理系统应用场景
由此可知,系统的核心在于如何通过加速度数据获取用户的行为类别,且识别模型应具有自我调整的能力,逐渐成为一个适合用户的个性化模型。为此,本文提出了一个基于通用模型迁移的自适应行为识别方法AdaMAR。
AdaMAR方法的框架结构如图2所示。
图2 AdaMAR方法框架结构
该方法分为2个阶段:离线训练阶段和在线自适应调整阶段,前者的数据流用虚线表示,后者的数据流用实线表示。
(1)离线训练阶段
采集多个人的行为数据,标定且提取特征后训练通用的行为识别模型。
(2)在线自适应调整阶段
根据新用户逐渐积累的数据,将通用行为识别模型调整为个性化行为识别模型,并用其进行分类。
可以用多种机器学习方法建立分类模型,比如决策树、朴素贝叶斯(Naïve Bayesian, NB)、支持向量机(Support Vector Machine, SVM)。通过性能比较,本文选择决策树作为行为识别模型。
如果用户的行为数据出现在通用模型的训练集中,则模型对该用户具有较强的识别能力。然而新用户的数据往往是未经标定、未在训练集中出现的,因此,模型对新用户的分类能力不能达到用户的要求。通过分析发现,在采用通用行为识别模型分类新用户数据时,已经隐含地将共性知识迁移到了分类结果中,如果能对分类结果做进一步调整,就能得到较高的分类精度。
在样本空间中,设样本的特征集合为F={f1, f2,…,fn}。当样本空间中有多个人的数据时,特征 fi(1≤i≤n)的取值范围设为[Pi, Qi];当样本空间中仅有某一个人的数据时,特征fi的取值范围设为[pi, qi]。一般情况下会有Pi≤pi 假设新用户的样本空间为D,经通用行为识别模型分类后,被划分为n个子空间D1,D2,…, Dn,每个子空间由特征向量及其类标号组成,即: Di={ 前期实验表明,对于未参与训练的样本集合,用决策树分类器对其分类,会达到较好的分类精度,分类正确的样本数平均超过了60%。本文认为,各类样本已被较好地聚集到一起,各类样本的中心 mi已经接近真实的类中心,在此基础上进一步做自适应调整,就能更加逼近真实的类中心。 令子空间 Di的样本数量为 ni,则其中心 mi的计算公式为: 样本误差平方和Je的计算公式为: 通用模型迁移和自适应调整过程如图3所示。 图3 通用模型迁移及自适应调整过程 从通用行为识别模型确定的类中心开始,不断进行迭代调整,直到样本误差平方和达到最小为止。这样,经过调整的子空间 Di就是被重新标定过的精度较高的训练集,用此训练集来调整原决策树各个节点的阈值,就可以得到分类精度较高的个性化行为识别模型。 本文使用Nokia N95手机来采集加速度传感器数据。每2个参与人员为一组,A在腰部佩戴N95手机采集加速度数据,B在旁边记录,N95的时钟要和B的计时用时钟一致。开启程序后,A将N95手机放入手机袋内,挂在身体右侧的腰带上。B指挥A按顺序做站立、静坐、站立、散步、站立、慢跑、站立、上楼梯、站立、下楼梯、站立、上电梯(电梯向上运行)、站立、下电梯(电梯向下运行)、站立等动作,并记录每个动作的开始时间、结束时间。为了得到充足的样本,每个动作的持续时间不低于5 min。所有动作完成后将数据保存在N95手机的文件中,然后上传到服务器进行标定处理。目前共采集了4人的行为数据。 数据标定是一项费时费力的工作,它的准确与否直接决定了分类器的精度。根据B记录的时间区间和动作名称,将A的动作区分开并分别存入不同的文件中。对每一个动作文件中的数据做窗口大小为5的中值滤波,进一步去除噪声、平滑数据。 至此建立了一个小型的行为数据库,该数据库包含4个人的数据,每个人都分别做了静坐、站立、散步、慢跑、上楼梯、下楼梯、上电梯、下电梯等日常动作。通过实验发现,静坐、站立、上电梯、下电梯等动作由于几乎不涉及加速度变化,它们之间很难区分,因此可以归为静止类。这样,动作行为就分为静止、下楼梯、散步、慢跑、上楼梯5类。各类样本数量如表1所示。 表1 动作行为样本信息 本文采用滑动窗口的方法来提取特征。观察发现,加速度传感器各个轴上的的信号波形呈周期变化。对于走路的动作来说,大概每秒对应一个动作周期,对于其他动作,周期会更短。由于N95的采样频率为32 Hz,因此设窗口的大小为64个数据,这样可以包含2个周期的信号。滑动的步长设为窗口的一半,即32。这种数据处理方法的优点可以见文献[5]。 对每个窗口中的数据,分别取x、y、z轴数据的均值、方差、离散傅里叶变换后的能量,再提取各个轴之间的相关系数。这样每一个样本可以得到 12个特征。其中,均值能够反映某类动作的剧烈程度,例如某人的散步和慢跑在垂直方向的加速度数据波形图明显不同,它们的波形中心相距甚远。方差能够反映数据偏离中心的幅度,例如散步和下楼梯的加速度大小在均值上相似,而下楼梯的加速度值的变化范围明显大于散步。离散傅里叶变换将数据从时域转换到频域,因此,能量特征能够区分运动周期不同的动作,如散步和慢跑。相关系数能将多个方向都有运动的动作和仅在某一个方向有运动的动作区分开来,如散步和上楼梯[8-10]。 下面分别用当前比较流行的决策树、支持向量机和朴素贝叶斯网络建立分类器,并比较它们的分类精度。使用SVM训练分类器时,采取十折交叉验证的方法来选择最优的参数 c和 g。选取行为数据库中3个人的数据作为训练数据,另外一个人的数据作为测试数据,得到的实验结果如表2所示。 表2 不同分类器分类精度比较 (%) 从表 2可以看出,决策树在平均性能上稍高于SVM和NB网络,同时由于采用决策树作为分类器计算代价较低,适合在智能终端等对功耗要求较高的设备上使用,因此本文采用决策树作为分类器模型。 对4个人的行为数据进行交叉实验验证。选取其中3人的行为数据作为训练数据,训练通用模型,剩余一人的行为数据作为测试数据,测试识别精度。表3给出了通用模型对未参与训练人的行为数据的分类结果和自适应模型得到的分类精度。 表3 2种模型对新用户数据的分类精确度比较 (%) 从表 3可以看出,在实施 AdaMAR方法之前,系统的平均识别精度为67.31%,实施AdaMAR方法后,平均识别精度可达到 83.54%,识别精度平均提高了16%左右。 本文针对个人运动管理系统中行为识别模型的需求,提出一种基于迁移学习的自适应行为识别方法,能够将群体行为的共性特征知识迁移到新个体行为上,不需要对新个体的数据进行标定,并可以随着个体行为样本的增多,自适应地调整共性知识,形成特定个体的行为识别模型。 在研究过程中还发现,对于某些人的某些动作,比如散步和上楼梯,仅用加速度传感器还较难区分。下一步将研究融合多传感器(比如加速度传感器和陀螺仪)的行为识别算法,以进一步提高本文模型的精度。 [1]徐光佑, 史元春, 谢伟凯.普适计算[J].计算机学报,2003, 26(9): 1042-1050. [2]李 蕊, 李仁发.上下文感知计算及系统框架综述[J].计算机研究与发展, 2007, 44(2): 269-276. [3]Weiser M.The Computer for the Twenty-first Century[J].Scientific American, 1991, 265(3): 94-100. [4]徐光佑, 曹媛媛.动作识别与行为理解综述[J].中国图象图形学报, 2009, 14(2): 189-195. [5]Bao L, Intille S S.Activity Recognition from User Annotated Acceleration Data[D]//Proc.of the 2nd International Conference on Pervasive Computing.Vienna,Austria: [s.n.], 2004. [6]Ravi N, Dandekar N, Mysore P, et al.Activity Recognition from Accelerometer Data[C]//Proc.of the 19th National Conference on Artificial Intelligence.Pittsburgh, USA:[s.n.], 2005. [7]Yin Jie, Chai Xiaoyong, Yang Qiang.High-level Goal Recognition in a Wireless LAN[C]//Proc.of the 19th National Conference on Artificial Intelligence.San Jose,USA: [s.n.], 2004. [8]Yang Jun.Toward Physical Activity Diary: Motion Recognition Using Simple Acceleration Features with Mobile Phones[C]//Proc.of the 1st International Workshop on Interactive Multimedia for Consumer Electronics.Beijing, China: [s.n.], 2009. [9]Lee Seon-Woo, Mase K.Recognition of Walking Behaviors for Pedestrian Navigation[C]//Proc.of IEEE International Conference on Control Applications.Mexico City, Mexico: IEEE Press, 2001. [10]Chen Yiqiang, Zhao Zhongtang, Wang Shuangquan, et al.Extreme Learning Machine Based Device Displacement Free Activity Recognition Model[J].Soft Computing,2012, 16(9): 1617-1625.4 实验与结果分析
4.1 数据采集和标定
4.2 特征提取
4.3 通用识别模型的建立
4.4 AdaMAR方法的性能分析
5 结束语