基于三轴加速度传感器人体姿态识别的特征选择
2019-06-22范书瑞贾雅亭刘晶花
范书瑞, 贾雅亭, 刘晶花
1.河北工业大学电子信息工程学院,天津300401
2.中国科学院大学电子学研究所,北京100190
随着信息科学和传感器的发展,人体行为识别技术有了极大进步.运动模式识别技术广泛应用于竞技体育[1]、健康检测[2]、医学研究和行人导航[3]等领域.采用智能手机、智能手表和智能手环等便携设备获取惯性测量单元(inertial measurement unit,IMU)与里程计(odometer,ODO)等传感器数据,并结合行为分析方法可以精准解析物体姿态和轨迹信息[4].在人机交互[5]、智能义肢[6]等应用中,姿态行为识别一直是研究热点.基于便携设备的加速度传感器行为识别技术[7-9]在老人或病人监护等领域可以低成本且实时地获得用户的行为数据,从而可以准确快速地判断出当前用户的活动情况.文献[10]采用支持向量机(support vector machine,SVM)对信号幅值面积(signal magnitude area,SMA)进行分类,但是特征过于单一.文献[11]考察了标准偏差、最大值、最小值和均方根等16 种时域特征以及22 种频域特征.文献[12]对17 种特征进行研究,提出了一种过渡感知的人体行为识别方法.文献[13]考察了相关系数、熵、旋转角、仰角、平均值、绝对偏差、四分位数、峰度、中位数、标准差和方差等时域特征以及能量、熵和DC 均值等频域特征.上述研究成果所提取的特征在用于智能手机或智能手表等资源丰富的平台上进行行为分析时能取得一定效果,但是在特征计算时复杂度高、算法执行速度低,严重影响了其行为识别的效率,限制了上述分类特征和分类方法的应用范围[14].因此在可穿戴设备和物联网节点等资源较匮乏的场景中研究姿态识别特征显得尤为重要.
特征选择是根据事先明确定义的评估标准选择原始特征子集的过程,达到消除不相关和多余的特征的效果.与降维技术如线性判别分析或主成分分析相比,特征选择不会改变特征集的原始表示[15].本文在充分研究加速度传感器时域特征的基础上,采用特征选择方法寻找最优特征子集,最后采用支持向量机对分类效果进行了评估.
1 系统设计方案
本文通过层次分类方法分析加速度信号,统计时域特征进行特征选择,优选后的特征集更能表征各种行为的突出特性.训练子集根据所选特征对SVM 进行训练,得到相应的参考模型,测试子集依据参考模型采用SVM 进行分类评估.姿态识别结构框架如图1所示.
图1 特征选择流程图Figure1 Feature selection flowchart
选择出特征子集后,采用监督学习方法对所选特征子集性能进行评估.多类识别一般采用多分类器融合的体系结构,有级联和并联等多种方式.本文采用级联的方式对特征进行分层次选择.将多个分类器串联在一起,每一层次的特征直接用于有监督学习模型训练与测试,为后一层次提供分类信息.这种级联方式可以根据处理器资源按需选择,尤其在远程定位追踪领域,若监测到静态模式时关闭高功耗动作,监测到动态模式时启动实时定位和信息采集工作.该级联方式是一种有效的节能方法,可用于长期远程追踪.
SVM 是一种有效的人类活动识别和高维数据的机器学习方法,在最大余量的类之间寻找最优分离决策超平面[16-17],具有主要的泛化能力和高度准确的结果.作为一种监督式学习技术,可分析数据并识别回归和分类应用的模式.如果两组点可以通过一个超平面在原来的维度上分开,那么它们是线性可分的;否则被认为是线性不可分的.基于风险最小化理论,SVM可以避免神经网络的过拟合问题,在高维空间创建最大超平面以区分非重叠类.SVM 的目标是创建两个平行超平面,找到平行平面之间的最大距离.
训练数据集D={{xi,yi}ni=1|xi ∈Rd,yi ∈{-1,+1}},在d维空间中有n个样本,yi指类别,SVM 通过引入破坏边缘束缚的松弛变量ξi,能够处理不可分的样本.松弛变量的值有3 个:ξi= 0指的是样本距离超平面距离至少为1/||W||;0 ≤ξi≤1指的是样本在边缘之间;ξi≥1 是指样本被错误分类.SVM 以最佳性能实现此方法,定义优化的一般性分类超平面为
受限于yi(ωTxi+b)≥1-ξi ∧ξi≥0,∀xi ∈D,其中参数C是一个常量,用来控制最大边缘和最小损失之间的错误分类代价,指的是损失.
2 特征选择方法
人体姿态初步可以分为6 种基本姿态,其中包括3 种静态姿势(站姿、坐姿、卧姿)和3种动态姿势(走路、下楼、上楼).本文只对这6 种姿态进行研究,而不包含姿势间的转换.为了便于直观观察不同姿态之间的差异,图2绘制了加速度信号的x轴、y轴、z轴、三轴合量以及SAA=|x|+|y|+|z|数据曲线.从图中可以看到,动态姿势曲线波动较大,静态相对平缓,采用均值或者方差可以区分这两种曲线;但是动态姿势之间或者静态姿势之间的区分则需要深入研究.
图2 三轴加速度数据Figure2 Tri-axis acceleration data
常用的统计特征包括均值、方差、标准偏差和均方根等,全面准确地选择特征子集会使机器学习模型更有效[18].本文采用了22 种时域统计量分别对采集到的三轴信号x、y、z,以及三轴合量VSM 和SAA 进行计算,同时考虑三轴协方差、相关系数和信号幅度区SMA,最终得到117 种时域特征,如表1所示.
表1 时域特征标号Table1 Time domain features number
本文采用层次化分类方法识别多种姿态,将走路、上楼、下楼、坐、站立、躺6 种姿态分为5 个层次.层次1 为静态和动态,其中静态包括坐、站立、躺,动态包括走路、上楼、下楼;层次2 区分走路与上、下楼;层次3 为上楼和下楼;层次4 为站立、坐、躺;最深一个层次5 是坐和躺.对每个层次分别进行特征选择,从117 个特征中选择有效的特征子集:首先从层次1开始采用3 种算法进行特征选择,再依次对层次2~5 进行选择,以获取识别所有层次的最佳特征子集,具体过程如表2所示.
表2 层次识别过程Table2 Level recognition procedure
采用3 种特征选择算法(Fisher score、Relief-F、Chi square)对117 种特征进行评估,将特征按照得分由高到低排列组合并分别作为支持向量机的输入训练集以计算分类精度,最终从3 种特征选择算法所得结果中找出一组最佳特征组合,将其输入到支持向量机中得到分类模型,并对所选特征子集的分类精度进行评估.
3 特征选择实验
本文实验采用加利福尼亚大学欧文分校(university of California Irvine,UCI)人体行为识别数据集HARV2[12]进行数据处理及分类,采集数据来自30 名年龄在19~48 岁的志愿者,所有志愿者均佩戴一款腰挂的三星Galaxy SII 智能手机,并遵循统一活动协议,动作包含6个姿态:站立、坐、躺、步行、下楼和上楼.手机以50 Hz 对三轴加速度传感器恒定速率进行采样,所得信号首先需进行噪声滤波预处理,然后以时间窗口2.56 s 和1.28 s 平滑窗口对原始数据进行分片和统计分析,从117 个时域特征中提取特征子集.
3.1 层次1:识别静态动作和动态动作
在层次1 中将6 种动作分为静态动作和动态动作两类,静态动作包括坐、站立、躺,动态动作包括走路、上楼、下楼.对静态动作和动态动作进行分类识别,通过3 种特征选择算法得到由特征序号组成的数组,按照特征选择方法的评分由大到小对特征进行排序,可得到特征选择曲线如图3所示,其横坐标为支持向量机所使用特征的数量,纵坐标为支持向量机分类准确度.
图3 层次1 的特征选择曲线Figure3 Feature selection curve for Level 1
由图3可以看出,特征选择曲线在横坐标为10 时评分较高且此后趋于平稳,本文使用3种特征选择算法对应的得分最高的前10 个特征,如表3所示.从表3中可以发现,这3 种特征选择方法都选择了特征序号为108,105,109,38,39 和35 的6 个特征.
表3 层次1 特征选择排序Table3 Selected features for Level 1
这6 个特征两两组成子集,对数据训练集进行特征计算,并输入支持向量机以训练分类模型,然后使用测试集评估分类精度.采用这些特征选择支持向量机对静态和动态动作进行分类识别可达到非常高的精度,对其进行交叉验证显示,分类识别精度平均值为1.0,标准差为0.这6 种特征任意两两组合,对应的识别精度都能获得理想效果.其中信息熵和样本范围这两种特征能以极高的精确度区分静态和动态动作.
3.2 层次2:识别行走和上楼、下楼
层次2 是对行走和上、下楼的分类进行特征选择.将行走作为一类,而上楼和下楼作为另一类,进行一比一特征选择,结果如图4所示,在特征数量为20 时3 条曲线趋于平稳.
图4 层次2 的特征选择曲线Figure4 Feature selection curve for Level 2
选择得分最高的前20 个特征如表4所示,特征序号为111,110,104,69,45,37,7,8,102,97,38,50.进一步采用支持向量机将所选特征子集进行训练和测试.由特征集(111,110,104,69,45,37,7,8,38)训练得到的分类精度最高,对其进行交叉验证可得精度平均值为1.0,标准差为0.由此可知,将这9 种特征作为输入对支持向量机进行训练,可以较准确地识别走路与上下楼.依次减少特征时,精度逐渐降低,输入特征子集为(111,110,104,69,45,37,7,8)和(111,110,104,69,45,37,7)时分类精度分别为0.994 和0.989;输入特征子集为(111,110,104,69,45)时分类精度为0.983,分类效果同样较理想.
表4 层次2 的特征选择Table4 Selected features for Level 2
3.3 层次3:识别上楼和下楼
在层次3 中进一步对上楼和下楼进行分类,通过3 种选择算法得到图5所示结果.在20个特征以后曲线趋于平缓,获得最优特征子集,如表5所示.
对所选取的前20 个特征进行进一步评估可得,特征子集(94,3,100,52)得到的分类精度最高能达到0.991,其标准差为0.057.特征子集(94,3,100)得到的分类精度为0.983;特征子集(94,3)得到的分类精度也能达到0.973,其标准差为0.057.
图5 层次3 的特征选择曲线Figure5 Feature selection curve for Level 3
表5 层次3 的特征选择Table5 Selected features for Level 3
3.4 层次4:识别躺和坐、站立
在动态动作分类完成的基础上,本实验继续对3 种静态动作进行区分,在层次4 中将躺和坐、站立进行分类识别,使用3 种特征选择算法,得到图6所示特征选择曲线.
图6 层次4 特征选择曲线Figure6 Feature selection curve for Level 4
从特征数为2 开始,Fisher score 算法曲线一直维持平稳,Relief-F 和Chi square 曲线在选取5 个特征时有凹陷,后续保持平稳.选取每种方法得分数最高的5 个特征进行进一步评估,如表6所示.
特征子集(0,116)作为支持向量机的输入特征时,对躺和坐、站立进行分类得到的精度非常高,对其进行交叉验证得到精度平均值为0.966,其标准差为0.084,与其他特征子集相比这组特征子集较为有效.
表6 层次4 的特征选择Table6 Selected features for Level 4
3.5 层次5:识别坐和站立
在层次5 中对坐和站立进行了分类识别,得到图7所示的特征选择曲线.Chi square 和Relief-F 在选择前5 个特征时上升较快,之后基本趋于平缓;而Fisher score 对应曲线在10 个特征后才能维持稳定,同时观察到3 条曲线趋于稳定后均有轻微的起伏变化.为确保选择到最优特征,对每种算法得分最高的前25 个特征进行分析,如表7所示.由这3 种特征选择算法得到共同的特征为102,97,72,7,2,92,17,87,82,12,81,1,101,71 和16,采用支持向量机对特征子集进行评估.
图7 层次5 的特征选择曲线Figure7 Feature selection curve for Level 5
表7 层次5 的特征选择Table7 Selected features for level 5
特征子集(102,97,72,2)得到的分类精度为0.984,依次去掉特征72 和2 形成特征子集(102,97,72)和(102,97)所得精度也能达到0.976 和0.967,效果比较理想.而采用特征集(1,102)时,对其交叉验证得到精度平均值为1.0,标准差为0,其分类效果最佳,对坐和站立的识别可以达到很高的精度.
4 结 语
对加速度传感器数据进行研究有助于提高人体姿态识别的精度.本文采用层次分类法对每个层次分别进行特征选择,对第1 层进行特征选择可知信息熵和样本范围,可以准确地识别静态动作和动态动作.对第2 层进行特征选择得到相关系数、协方差、功率以及偏态等9 种特征,能够较高精度地识别走路和上、下楼.对第3 层进行特征选择得到50%分位数、90%分位数和平均值,这3 种特征可以较精确地识别上楼和下楼.对第4 层进行特征选择得到的特征SMA 可以很高精度地识别躺和坐、站立.最后对第5 层进行特征选择,得到90%分位数和y轴平均值这两种特征,可用于高精度地识别坐和站立两种动作.
实验最终表明本文采用的Fisher score、Relief-F 和Chi square 特征选择方法对117 个时域特征进行选择,获得最优的特征子集,适用于支持向量机层次分类法,所得特征相比于其他特征可以更精确地识别这6 种基本动作,而对于单层次采用多特征对多姿态的识别有待进一步研究.