卢先领,徐 仙
(江南大学a.轻工过程先进控制教育部重点实验室;b.物联网工程学院,无锡214122)
基于加速度与HGA-BP神经网络的人体行为识别
卢先领a,b,徐 仙a,b
(江南大学a.轻工过程先进控制教育部重点实验室;b.物联网工程学院,无锡214122)
在基于加速度传感器的人体行为识别中,分类器复杂度较高,易产生过拟合现象。为此,通过递阶遗传算法(HGA)训练BP神经网络作为分类器,采用三级染色体递阶结构表示神经网络的结构和参数。设计新的适应度函数,采用选择、交叉和变异操作联合优化BP网络的精确度和复杂度。测试结果表明,在基于加速度信号的行为识别系统中,相比基本HGA和其他常用算法,利用改进的HGA训练BP网络分类器可以有效控制网络结构,在保证隐层神经元数目较少的情况下,尽可能降低输出误差,实现两者的动态平衡,且对测试样本的识别正确率可达94.63%。
行为识别;加速度传感器;递阶遗传算法;BP神经网络;交叉;变异
近年来,人体行为识别受到各国学者的广泛关注,它不仅可以获取用户运动信息,推测用户所处环境,还可以为用户提供智能化的服务。目前在人体行为识别的研究中,从信号的获取渠道来分主要有基于计算机视觉的方法[1]和基于传感器的方法[2-3]。随着微电子与传感器技术的迅速发展,加速度传感器以其低功耗、高精度、可靠性强、携带方便等优点,在医疗保健、体域网、环境智能等领域中广泛应用。
基于加速度信号的人体行为识别主要是面向躯干动作层次的简单行为识别,一般采用统计模式识别的方法实现。其中,分类器的设计是该方法的核心内容,常见的分类器有支持向量机[4]、隐马尔科夫模型[5]、人工神经网络(Artificial Neural Netw ork,ANN)[6-7]等。ANN模拟人脑神经系统对外界信号接收、处理、存储的过程,其优点是容错性好,自适应能力强,具有非线性映射能力,易于并行计算和软硬件的编程计算。文献[8]将RBF神经网络应用于基因表达数据分类中,具有网络结构简单、收敛速度快的特点,而当训练样本增多时,其网络隐层神经元数目也急剧增加,导致结构过于庞大。文献[9]采用反向传播神经网络(Back Propagation Neural Network,BPNN)构建分类器,具有很好的泛化能力以及强大数据识别和模拟能力,但存在误差收敛速度慢,易陷入局部极小值的问题。文献[10]将模拟退火算法、遗传算法(Genetic Algorithm,GA)和BPNN结合,可避免BP网络陷入局部解,但其收敛时间随训练精度的提高大幅增加,运算量大。本文采用改进的三级递阶遗传算法(Hierarchical Genetic Algorithm,HGA)[11],同时优化BP网络的结构和参数,使分类器结构精简且误差较小。
2.1 加速度数据采集与预处理
基于三轴加速度传感器的人体行为识别的结构框图见图1,可穿戴数据采集模块放置于人体腰腹位置。本文选用Freescale公司的MMA 7361L三轴加速度传感器为核心采集数据,采样频率设定为30 Hz,灵敏度设置为-6.0 g~+6.0 g。传感器的Y轴竖直向下,X轴和Z轴分别指向人体侧方和前方。
图1 基于三轴加速度传感器的人体行为识别结构
基于三轴加速度传感器的人体行为识别系统主要包括5个步骤:数据采集,预处理,特征提取,特征选择和分类。其中,该系统的核心内容是分类器的设计。为实时处理数据,对传感器每一轴数据进行加窗处理,本文选取的窗长为128,窗口有50%的重叠率,由于传感数据的采样频率为30 Hz,完成每个窗的处理所需时间约为4.3 s,可以满足大部分人体行为的识别需求。
2.2 特征提取
本文对加速度信号提取了8种特征,其中,时域特征包括均值、标准差、任意两轴数据的相关系数和四分位间距(Interquartile Range,IQR)。频域特征包括:每窗数据FFT前64维系数,基于功率谱密度振幅的均值和标准差。此外,为了更好地表征人体运动特点,还利用db5小波提取竖直方向信号的小波能量。除相关系数、IQR和小波能量外的特征都是对每一维每个窗的数据进行提取。考虑到特征分布的不均衡性,对提取的特征数据进行Z-score规范化处理[12],来消除特征数据的差异对识别结果的影响,通过主成分分析(Principal Component Analysis,PCA)[13]的方法将特征向量降低到15维。经过PCA降维后的特征向量作为BP神经网络的输入样本。
3.1 HGA-BP神经网络分类器
利用三级HGA训练BP神经网络,模拟遗传选择和自然淘汰的生物进化过程,达到优化网络结构和参数目的。BP网络与HGA染色体的对应关系如图2所示。
图2 BP神经网络与HGA染色体的对应关系
采用三级染色体递阶结构表示神经网络的结构和参数,通过HGA对该网络进行优化求解。控制基因有2层,分别控制隐层的层数和隐层中被激活的神经元个数。参数基因被用来表示每个神经元的连接权值和阈值。
在BP网络中,神经元用节点表示,网络由输入层、隐层和输出层组成。PCA降维后特征向量的维数为输入层节点个数,输出层节点个数由待识别行为种类数决定。在图2中,向量Xi(i=1,2,…,m),Yi(i=1,2,…,n)分别表示m个输入层节点和n个输出层节点。共t个隐层,P,q分别为第一隐层和第t隐层的节点个数。输入层与第一隐层节点间的权值为,第一隐层节点的阈值为1第t隐层与输出层节点间的权值为第t隐层和输出层节点的阈值分别为q),bi(i=1,2,…,n)。设H为隐层节点总个数,在输入层和输出层节点数目确定后,H的大小直接影响网络结构,H越大网络结构越复杂,反之,越简单。
3.2 改进的BP神经网络
3.2.1 初始群体
HGA中控制基因采用二进制编码方式随机产生,以“1”和“0”表示其下级隐层神经元是否被激活。根据对网络权值的精度以及染色体编码长度的要求,参数基因采用实数编码方式,由一定范围内随机产生的实数组成。分开编码实现对BP神经网络结构和参数的联合优化。
合适的群体规模对HGA的性能有重要意义,规模太大,收敛速度会降低;规模太小,搜索空间受到限制,可能会过早收敛。本文设定的群体规模为K=60。
3.2.2 适应度函数的设计
适应值是群体选择个体的唯一确定性指标,因此适应度函数决定了群体的进化行为。训练BP网络的目的是使网络的精确度和复杂度都达到最小,这是一个双目标优化问题。网络的精确度由均方误差决定,定义如下:
其中,M为样本总数;yi表示第i个输入样本对应的网络输出;y^i为期望输出。
而网络的隐层层数和隐层节点个数决定网络的复杂度。建立的适应度函数如下:
其中,a,b为待定参数;t为隐层层数;H,m分别为隐层和输入层节点个数;f随着H和t的减小而逐渐增加,通过调整参数a,b,可有效降低网络的复杂度。
3.2.3 选择操作
选择即从群体中选出优胜个体,淘汰劣质个体的操作。本文采用适应值比例选择[14],给定群体规模为K,群体中个体均为向量,其中个体αi的适应值为fi,则个体αi的选择概率为:
3.2.4 交叉操作的改进
交叉在遗传算法中起核心作用,是指把2个父代个体的部分结构加以替换重组而生成新的个体的操作。考虑到人体行为的多样性和复杂性,加速度数据特征的取值范围相对较大,传统的算术交叉搜索空间有限,影响分类器的进化效率。本文对控制基因采用单点交叉的方式,对于参数基因,采用算术交叉的方式将2个个体的编码串按某一规则进行线性组合产生新的个体,并通过四分位间距来改进交叉方式,达到自动确定交叉后代与编码空间边界距离的效果,2种交叉方式共同产生后代,扩大搜索范围,提高了后代中优秀个体的生成效率。
给定规模为K的群体A={α1,α2,…,αK},从中随机选取2个个体αi和αj,则算术交叉的后代为:
其中,λ是[0,1]范围内均匀分布的一个随机数。
其中,符号“·”为Hadamard乘积;向量E与η维数相同且元素全为1,有:
如式(8)所示,η为IQR与最大搜索区间对应位置元素的比值。αmax-αmin为最大搜索区间,γ由极小正实数组成。Λ1=[Λ11,Λ21,…,Λr1,…,ΛR1],Λ3=[Λ13,Λ23,…,Λr3,…,ΛR3],将全部个体的第r位基因从小到大排列分成四等分,四分位数即处于3个分割点位置的基因值,所得集合为Λr1表示第3个和第1个四分位数之差,即为IQR。结合算术交叉,后代集合为,其中适应值最大的2个个体为最终交叉后代。
3.2.5 变异操作的改进
变异的目的是维持群体的多样性和局部的随机搜索能力。对控制基因,变异操作采用基本位变异,对参数基因,采用均匀变异和非均匀变异2种方式,结合两者优势提高进化效率。均匀变异在整个编码空间中均匀搜索,从对应基因位的取值范围内任取一个随机数替代原有基因,有利于提高群体的多样性。而非均匀变异是对原有基因值作一个随机扰动,以扰动后的结果作为变异后的新基因,有利于产生优秀后代。选个体αi的第r位基因βri为变异位,其基因取值范围为[βi,min,βi,max],即:
其中,λ1为[0,1]之间均匀分布的随机数。均匀变异产生的后代为
设个体αj的第s位基因非均匀变异,其基因取值范围为[βj,min,βj,max],即:
其中,λ2为[0,1]之间的随机数;t和T分别为当前和最大进化代数;b为系︵统参数,本文中b=︵1,非均匀变异产生的后代为因此,变异后代集合为其中适应值最大的个体作为最终变异后代。
4.1 实验设置
本文在Matlab环境下对数据进行仿真处理。为验证本文方法的有效性,10名实验者参与了样本数据的采集。将可穿戴数据采集模块佩戴于实验者腰腹位置,10名实验者各自完成上楼、下楼、站立、行走、躺卧、骑车和跑步7种日常行为。选择每种行为连续的3 m in数据进行实验。由于传感数据的采样频率为30 Hz,每轴可采集5 400个数据,本文选取窗长为128,窗口有50%的重叠率,因此,共有83个窗口,计算每个窗的多种特征构成特征向量,则每种行为有830个特征向量。将其中410个特征向量作为训练样本,用于训练BP神经网络,检验样本和测试样本各包含210个特征向量。通过检验样本对BP网络进行评估,而测试样本在迭代完成后,计算网络的输出误差和行为识别正确率。样本标签以“0”和“1”表示所属行为,7种行为的样本标签如表1所示。
表1 7种行为的样本标签
4.2 实验分析
本文共识别7种日常行为,首先提取2.2节中的8种加速度特征,每种行为的特征向量维数为209,这种高维数据包含大量冗余信息,提高空间复杂度,因此,利用PCA将特征降到15维。本文算法的主要参数设定如下:输入层和输出层节点个数分别为m=15,n=7,式(4)、式(9)和式(10)中λ= 0.3,λ1=λ2=0.4,群体规模K=60,最大进化代数为100,交叉概率为0.8,变异概率为0.001。
式(2)中适应度函数需设置合理的参数,a,b的取值会影响最终生成的网络结构和识别率。为此,分别固定a,b,通过计算机仿真研究另一参数取不同值时所获得的网络结构复杂度和输出误差。大量仿真结果表明,a,b分别取值为3和0.8时,获得了误差较小,网络结构较为精简的分类器。通过3种不同算法训练BP网络,利用检验样本分别计算网络的输出误差和隐层神经元个数,图3和图4为两者的进化曲线。本文算法最终获得的网络隐层数为2,分别包括24和13个隐层神经元。
图3 不同算法的误差进化曲线
图4 不同算法的隐层神经元个数进化曲线
由图3可知,由于GA是一种全局优化算法,在迭代过程中,始终向着误差较小的方向不断优化,然而采用不同的方法,通过HGA训练BP网络的输出误差明显较低。而采用三级染色体递阶结构优化网络时,不但保留了GA的优点,且将控制基因分为2层,可有效控制网络隐层数目和隐层神经元个数,对网络权值和阈值优化求解的同时还优化了网络结构。分析图4可知,采用GA-BP算法获得的隐层神经元个数较多,网络结构复杂。而采用本文算法不仅输出误差较低,其网络的拓扑结构也更为精简,在人体行为识别系统中具有良好的健壮性。
如图5所示为仅采用普通算术交叉和均匀变异的基本HGA-BP算法与本文算法的输出误差进化曲线,2种算法相应的参数设定相同。与基本HGA-BP算法相比,采用本文改进的交叉扩大搜索范围,增加了后代中优秀个体的生成率,并结合2种变异方式提高进化效率,分类器的输出误差更低,最终收敛于0.363 3。2种算法隐层神经元个数的进化曲线如图6所示,采用本文算法虽然网络结构略为复杂,但其收敛速度更快,而且输出误差小。基本HGA-BP算法和本文算法的隐层神经元个数分别在进化到第69代和第53代收敛于31和37。
图5 不同遗传操作的误差进化曲线
图6 不同遗传操作的隐层神经元个数进化曲线
4.3 识别结果
通过本文算法,利用改进的HGA训练BP神经网络对7种人体行为的测试样本进行识别。针对每个输入向量,分别计算网络输出与7种行为样本标签的输出误差,选择误差最小的行为类别作为所属行为,达到行为识别的目的。其混淆矩阵如表2所示,每一行对应行为的识别精度分别为92.38%, 93.33%,100.00%,94.26%,100.00%,90.48%,91.90%。
表2 7种不同行为的混淆矩阵
上楼和下楼的识别正确率较高,仅有少数特征向量发生混淆;而210个骑车测试样本仅有20个识别错误,跑步样本也仅有17个识别出错,识别正确率分别为90.48%和91.90%。在运动行为识别中,行走的识别正确率最高,可达94.26%。另外,由于站立和躺卧是2种静止的行为,它们的加速度数据与其他行为的区分度较大,其识别难度较低,采用本文方法,检测结果均全部正确。最终结果显示,1 470个测试样本中有1 391个识别正确,平均识别率高达94.63%。
本文采用单个三轴加速度传感器识别人体行为,提出了三级HGA训练的BP神经网络分类器,通过改进适应度函数和遗传操作来优化网络的精确度和复杂度。实验结果表明,与目前常用的算法相比,本文算法获得的分类器输出误差更低,网络结构精简,测试样本的平均识别率高达94.63%。在今后的工作中,将进一步研究优化分类器的方法,提高行为识别的正确率。
[1] 梅 雪,张继法,许松松,等.基于运动方向的视角无关行为识别方法[J].计算机工程,2012,38(15):159-161.
[2] Özdemir A T,Barshan B.Detecting Falls with Wearable Sensors Using Machine Learning Techniques[J]. Sensors,2014,14(6):10691-10708.
[3] 刘 蓉,刘 明.基于三轴加速度传感器的手势识别[J].计算机工程,2011,37(24):141-143.
[4] Daniel R M,A lbert S,Carlos P,et al.SVM-based Posture Identification with a Single Waist-located Triaxial Accelerometer[J].Expert System s with Applications,2013,18(40):7203-7211.
[5] Sarkar A M J.Hidden Markov M ined Activity Model for Human Activity Recognition[J].International Journal of Distributed Sensor Netw orks,2014,10(1):1-8.
[6] Zhao Dongya,Ni W ei,Zhu Quanm in.A Framework of Neural Networks Based Consensus Contro l for Multiple Robotic Manipulators[J].NeuroComputing,2014,140:8-18.
[7] Wang Lei,Tuo Xianguo,Yan Yucheng,et al.A Geneticalgorithm-based Neural Network Approach for Radioactive Activity Pre-diction[J].Nuclear Science and Techniques,2013,24(6):1-5.
[8] Chandra B,Babu K.Classification of Gene Expression Data Using Spiking Wavelet Radial Basis Neural Network[J].Expert System s with Applications,2013,41(4):1326-1330.
[9] Huang Yanquan,Zhang Jie,Li Xu,et al.Thermal Error Modeling by Integrating GA and BP Algorithm s for the Highspeed Spindle[J].The International Journal of Advanced Manufacturing Technology,2014,71(9-12):1669-1675.
[10] Zhuo Li,Zhang Jing.An SA-GA-BP Neural Networkbased Color Correction Algorithm for TCM Tongue Images[J].NeuroComputing,2014,134(S1):111-116.
[11] Tarek M H,Won J M,Alimiam,et al.Hierarchical Genetic Algorithm with New Evaluation Function and Bicoded Representation for the Selection of Features Considering Their Confidence Rate[J].Applied Soft Computing,2011,11(2):2501-2509.
[12] Han Jiawei,Kam ber M.Data Mining:Concepts and Techniques[M].Waltham,USA:Morgan Kaufmann Publishers,2011.
[13] David N O,Iván G C,XoséA V S.Eigenspace-based Fall Detection and Activity Recognition from Motion Templates and Machine Learning[J].Applied Soft Computing,2012,39(5):5935-5945.
[14] 王小平,曹立明.遗传算法¯¯¯理论、应用与软件实现[M].西安:西安交通大学出版社,2002.
编辑 顾逸斐
Hum an Activity Recognition Based on Acceleration and HGA-BP Neural Network
LU Xianlinga,b,XU Xiana,b
(a.Key Laboratory of Advanced Control of Light Industry Process,Ministry of Education;b.School of Internet of Things Engineering,Jiangnan University,Wuxi214122,China)
The human activity recognition system based on accelerometer,referring to solve the problem s such as high complexity and over fitting phenomenon,a Back Propagation(BP)neural network classifier trained via the Hierarchical Genetic Algorithm(HGA)is utilized.A three-layer chromosome hierarchical structure is used to optimize the structure and parameters of BP neural network simultaneously.A new fitness function is proposed,meanwhile,im proved selection,crossover and mutation operator is beneficial to joint optimizing the complexity and accuracy of network.Results of tests show that it is better than the traditional HGA and other widely used algorithm s in human body activity recognition system based on accelerometer.The BP neural network classifier based on HGA can effectively control the network structure and parameters.The average accuracy rate of test data is 94.63%.
activity recognition;acceleration sensor;Hierarchical Genetic Algorithm(HGA);BP neural network;crossover;mutation
卢先领,徐 仙.基于加速度与HGA-BP神经网络的人体行为识别[J].计算机工程,2015,41(9):220-224,232.
英文引用格式:Lu Xianling,Xu Xian.Human Activity Recognition Based on Acceleration and HGA-BPNeural Network[J]. Computer Engineering,2015,41(9):220-224,232.
1000-3428(2015)09-0220-05
A
TP393
10.3969/j.issn.1000-3428.2015.09.041
江苏省产学研联合创新资金前瞻性联合研究基金资助项目(BY2014023-31);江苏高校优势学科建设工程基金资助项目;江苏省“六大人才高峰”高层次人才基金资助项目(W LW-007)。
卢先领(1972-),男,副教授、博士,主研方向:神经网络,无线传感器网络;徐 仙,硕士研究生。
2014-09-18
2014-10-18 E-m ail:jnluxl@gmail.com