针对目前行为识别通用模型对步行、上楼、下楼等易混淆行为识别准确率较低的情况,提出了一种基于小波分解的移动用户行为识别方法,从小波分解后不同频率子信号的低频近似系数中提取小波能量、小波峰个数和平均波峰幅值等特征,基于决策树分类器建立与用户无关的行为识别通用模型.分别用典型时域特征数据集和小波特征数据集对该通用模型进行验证.实验结果表明,采用新方法后,3种易混淆行为的平均识别准确率提高了14.82%,减少了误判.
For case of low recognition accuracy when using universal model to distiguish confusing human behaviors such as walking, going upstairs and downstairs, a mobile user behavior recognition method based on wavelet decomposition was proposed. It extracts the wavelet energy distribution, the number of wavelet peak and the everage wavelet peak amplitude from the sub-signals generated by wavelet decomposition, and also the decision tree classifier is used to build the user-independent behavior recognition model. The typical time-domain feature dataset and wavelet feature dataset were respectively used to train and test the universal model. Experiments show that the proposed method improves the average accuracy about 14.82% of the three confusing behaviors, and reduces the possibility of misjudgment.
根据智能设备内部各种传感器采集的数据进行人体行为识别是情景识别的重要研究方向之一,特征优选和行为识别算法是其研究热点.部分研究者从加速度信号中提取各种特征,建立与用户相关的行为识别模型来识别走路、跑步、上楼、下楼等日常行为或骑自行车、乘坐公交车、地铁等交通模式[1-6];部分研究者结合加速度数据和音频信号来提高行为识别的准确率[7].上述研究并没有解决不同用户行为特征差异过大导致易混淆行为的识别准确率较低的问题.
笔者提出了一种基于小波分解的移动用户行为识别方法,根据小波特征建立与用户无关的行为识别模型,提高步行、上楼、下楼等易混淆行为的识别准确率.最后给出实验结果和分析.
1 基于小波分解的特征优选 1.1 智能终端加速度信号的小波分解任何复杂的信号进行小波分解后都能由一个母函数经过伸缩和平移产生的基底的线性组合表示.小波分解在时域和频域都能很好地刻画信号的局部特征,非常适用于非平稳信号的分析,其频谱特征随时间的推移不断变化,人体各种行为模式信号的统计特征也恰恰符合这一特点[8].
笔者对原始加速度信号进行小波分解. 图 1为正常步行时的加速度信号和该信号6层分解后各层的近似系数.从图 1可知,第2、3、4层的低频近似系数不仅有效地保留了原加速度信号的基本信息,同时滤除了原信号的高频噪声,对信号进行了很好的平滑处理.笔者采用的小波特征仅从小波分解后的第2、3、4层近似系数中提取.
根据式(1)对3轴加速度信号用基于多分辨率分析的小波变换分解[8]为
$ \begin{array}{l} {a_i}(n) = \sum\limits_{j = 1}^J {\sum\limits_{k =-\infty }^\infty {d_{jk}^i{\phi _{jk}}(n) + \sum\limits_{k =-\infty }^\infty {a_{jk}^i{\varphi _{Jk}}(n)} } }, \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;i \in \left\{ {x, y, z} \right\} \end{array} $ | (1) |
其中:djk为细节系数,满足djki=〈ai(n), Φjk(n)〉;ajk为近似系数,满足ajki=〈ai(n), φjk(n)〉;Φjk(n)为小波函数,满足Φjk(n)=2j/2Φ(2jn-k);φjk(n)为尺度函数,满足φjk(n)=2j/2φ(2jn-k);j为伸缩尺度的变量,k为时间的变量,J为分解层数.
笔者选取db4小波作为母波,对各行为的合成加速度信号进行6层小波分解,并提取第2、3、4层的低频近似系数,即图 1中的a2、a3、a4.按照式(2)和式(3)分别计算3层近似系数的小波能量E和平均波峰幅值V为
$ E = \sum\limits_{j = 2}^4 {\sum\limits_k {{{(d_{jk}^i)}^2}, i \in \left\{ y \right\}} } $ | (2) |
$ V = \left( {\sum\limits_{j = 1}^N {{V_j}} } \right)/N $ | (3) |
其中:N为小波峰个数,初值为0,N的计算过程(T为根据经验选择的阈值)为
For k=1:samplenum
If (ajki-1≤T and ajki+1≤T and ajki>T)
N=N+1;
End if
End for
1.2.2 小波特征与人体行为相关性分析根据加速度数据进行行为识别,首先要从原始加速度数据中提取时域或频域特征.为了验证小波特征的有效性,笔者以手机放置在手中为例,分别提取典型时域特征均方根和小波能量,并进行对比分析,结果如图 2和图 3所示.
从图 2可以看出,步行、上楼、下楼3种行为的均方根存在若干个交叉点,导致3种行为容易产生混淆,从而降低识别准确率.
从图 3可以看出,步行、上楼、下楼3种行为的小波能量基本上没有交叉点,各行为之间界限明确.因此,笔者选取小波能量E、平均波峰幅值V和小波峰个数N作为特征组合,生成特征数据集,用于训练和测试行为识别模型.
2 行为识别模型笔者采用迭代二叉树3代(ID3,iterative dichotomiser 3)决策树算法自顶向下构建行为识别模型.在每个节点分裂时,为所有属性计算其信息熵增益,并选择信息熵增益最大的属性进行分裂.
图 4是根据小波特征数据集构建并剪枝后的决策树模型.在该模型中,根节点分裂时,小波峰个数N的信息熵增益最大,根据该特征的取值将样本集合分为2个子集,作为根节点的2棵子树.每棵子树都按照同样的方式分别计算E、N、V的信息熵增益并确定分支,直到其子树中所有样本的行为标签都相同为止.
笔者采用的数据集是由项目组成员基于Android系统手机平台实时采集的3轴加速度信息.将手机放置在不同位置(手中、包中和裤兜中),分别采集15名用户(U1~U15)步行、上楼、下楼、静止、跑步时的3轴加速度数据.每个用户针对每种行为和每个手机放置位置,采集10次运动过程中的加速度,每次采集持续10 s,取中间5 s的数据作为有效数据.
数据集一共有2 240个样本.为了建立与用户无关的行为识别通用模型,表 1根据不同用户将数据集划分为训练集(包含U1~U5的5种行为数据,共750个样本)和测试集(包含U6~U15的5种行为数据,共1 490个样本),分别用于训练和测试与用户无关的行为识别通用模型.其中,用于测试的样本不参与行为识别模型的训练.
根据常用的典型时域特征和小波特征,分别训练与用户无关的行为识别通用模型并进行测试,在Matlab2010b环境下仿真.
1) 采用最大值等时域特征训练决策树
分别从15名用户的原始加速度数据中提取典型时域特征均方根、标准差、最大值和最小值,生成训练集和测试集.采用决策树分类器训练行为识别通用模型并进行剪枝.测试程序共运行10次,取其平均值.各行为的识别结果如表 2所示.
2) 用小波特征训练决策树
分别对15个用户的原始加速度数据进行6层小波分解(采用db4作为母小波),获得第2、3、4层不同频率的子信号,并分别从其低频近似系数中提取小波能量、平均波峰峰值和小波峰个数,生成训练集和测试集.采用决策树分类器训练行为识别通用模型并进行剪枝.测试程序共运行10次,取其平均值.各行为的识别结果如表 3所示.
表 3中的识别准确率说明了笔者所提方法的有效性.由于不同用户的静止和跑步2种行为差异不太大,采用时域特征进行识别时的准确率也达到96.67%和92.33%,与小波特征的识别准确率100%差异不太显著.对于步行、上楼、下楼、静止、跑步5种行为,小波特征的平均识别准确率达到90.74%,相比时域特征的5种行为的平均识别准确率79.66%而言,提高了11.08%.若仅考虑步行、上楼、下楼3种易混淆行为,时域特征的平均识别准确率仅为69.67%,而小波特征的平均识别准确率达到84.49%,提高了14.82%.
从表 4可以看出,在步行、上楼、下楼3种易混淆行为中,步行更容易被识别成上楼,而上楼也更容易被识别成步行,说明这2种行为的相似度更大.在3种易混淆行为中,下楼的识别准确率最高;在被错分的样本中,被识别成上楼的样本数比被识别成步行的样本数稍多一些.
针对上楼、下楼和步行识别准确率低的问题,将手机分别放置在3个不同位置采集用户行为的加速度数据.然后通过小波变换将加速度信号分解为不同频率的子信号,并从各子信号的低频近似系数中提取出小波能量、平均波峰幅值和小波峰个数作为特征,基于决策树训练与用户无关的行为识别通用模型,并根据计算出的决策树最佳层数进行剪枝,最后使用测试集进行测试.该行为识别通用模型能在手机处于常用位置(包括手中、包中和裤兜中)时识别用户步行、上楼、下楼、静止、跑步5种行为.与均方根、标准差、最大值和最小值等典型时域特征相比,采用小波特征能将步行、上楼、下楼3种易混淆行为的平均识别准确率提高14.82%,减少了误判.
[1] | Wang Shuangquan, Chen Canfeng, Ma Jian. Accelerometer based transportation mode recognition on mobile phones[C]//Asia-Pacific Conference on Wearable Computing Systems. Shenzhen:IEEE, 2010:44-46. |
[2] | 范琳, 王忠民. 穿戴位置无关的手机用户行为识别模型[J]. 计算机应用研究 , 2015 (1) :63–66. Fan Lin, Wang Zhongmin. Human activity recognition model based on location-independent accelerometer[J]. Application Research of Computers , 2015 (1) :63–66. |
[3] | 王忠民, 王斌. 多频段时域分解的行为识别特征优选方法[J]. 计算机应用研究 , 2015 (7) :1956–1958. Wang Zhongmin, Wang Bin. Feature selection method for mobile user behavior recognition based on multiband time domain decomposition[J]. Application Research of Computers , 2015 (7) :1956–1958. |
[4] | Khan A M, Lee Y K, Lee S Y, et al. Human activity recognition via an accelerometer-enabled-smartphone using kernel discriminant analysis[C]//International Conference on Future Information Technology. Changsha:IEEE, 2010:1-6. |
[5] | Chen Yiqiang, Zhao Zhongtang, Wang Shuangquan, et al. Extreme learning machine based device displacement free activity recognition model[J]. Soft Computing, Springer-Verlag , 2012, 16 (9) :1617–1625. |
[6] | Figo D, Diniz P C, Ferreira D R. Preprocessing techniques for context recognition from accelerometer data[J]. Pers Ubiquit Comput , 2010, 14 :645–662. doi:10.1007/s00779-010-0293-9 |
[7] | Gerald B, André L, Christian P, et al. The hearing trousers pocket-activity recognition by alternative sensors[C]//PETRA'11, May 25-27, 2011. Crete:ACM, 2011:264-295. |
[8] | Ingrid D.小波十讲[M].李建平, 杨万年, 译.北京:国防工业出版社, 2004:9-22. |