采用运动传感器的人体运动识别深度模型
2018-08-14滕千礼ESMAEILIKELISHOMI蔡忠闽
滕千礼, A.ESMAEILI KELISHOMI, 蔡忠闽
(1.西安交通大学智能网络与网络安全教育部重点实验室, 710049, 西安;2.西安交通大学电子与信息工程学院, 710049, 西安)
目前,人体运动识别已成为人机交互和普适计算的关键研究领域[1],广泛应用在日常行为分析[2]、手势识别[3]、视频监控中,但传统基于视觉的人体运动识别容易受到环境变化、目标遮挡等多方面因素的干扰,存在采集成本高、识别精度低等问题。随着移动终端的普及和传感器技术的发展,通过内置在移动终端的加速度、陀螺仪[4]等运动传感器获取数据并推测用户的常规运动状态的方法,因其具有隐私保护、携带方便等特点得到了广泛应用。
早期基于运动传感器的人体运动识别主要采用传统的机器学习方法,包括决策树、支持向量机、隐马尔科夫[5-6]等模型,此类方法通过人工提取时域、频域特征[7]实现运动分类,进一步分析终端固定方式或位置对识别效果的影响[8]。然而人工提取的特征表征能力十分有限,需提供大量的先验经验以弥补数据挖掘的不足,模型严重依赖特征工程。在更为复杂的问题中,依赖人工提取特征不再现实,必须降低模型对特征工程的依赖。
得益于深度学习在计算机视觉[9]、自然语言处理领域的成功经验,将经典的深度学习模型迁移到人体运动识别领域,成为新的研究热点。Ronao等构建一维卷积神经网络[10],分析网络参数和网络结构对分类效果的影响,准确率达到94.02%,但该方法的网络层数较浅,难以挖掘样本深层的隐含信息。Ordóez等采用全卷积网络和长短期记忆网络的混合模型对开关门、喝水等短暂性动作进行识别[11],该模型卷积部分采用相同的卷积核数,不利于高阶特征的提取,并且全卷积网络没有池化层结构,缺乏对过拟合的控制,不适合于常规较长时间的持续性运动的分类任务。
本文提出一种改进的一维串联卷积网络和长短期记忆网络复合的深层混合(VGG-LSTM)模型,并成功应用于跑步、走路等持续性的运动识别中,该模型能够利用传感器数据分层、时序的结构特点自动提取具有层次性、时序性的高维特征。通过实验对比和其他数据集验证表明,本文模型能够有效提高运动的识别准确率,后续实验进一步分析了网络模型深度和复合网络结构两方面对识别效果的影响。
1 模型描述
1.1 VGG-LSTM模型架构
传感器数据主要包括三轴加速度和三轴陀螺仪传感器数据、类比图像的RGB灰度矩阵,传感器数据按时间排列并且具有六维的层状结构,如图1所示,图中1,2,…,T表示时间顺序。
图1 传感器数据的层状、时序结构示意图
深层的模型具有强大的拟合能力[12],与此同时由多种深度学习网络复合形成的混合模型能够利用传感器数据分层、时序的结构特点,对数据进行更全面的挖掘。
图2 VGG-LSTM模型架构图
基于上述的考虑,本文提出一种复合、深层的VGG-LSTM混合模型,如图2所示,混合模型主要由卷积部分和双层长短期记忆网络(LSTM)两部分组成。卷积部分采用一种类似VGG16[12]模型的形式,将多个尺寸较小的卷积核串联以取代较大的卷积核,这种形式一方面为模型提供更加丰富的非线性变换,另一方面可以增加模型深度,以提取高维特征。最大池化层实现特征降维,控制过拟合风险的同时保持平移不变性,上述过程中卷积与池化操作均为一维操作[10]。其中,将若干个串联的卷积层以及一个池化层定义为一个卷积块,模型可自由堆叠若干个卷积块,经后文实验分析,本模型中采用两个卷积层串联的卷积块,并堆叠两个卷积块的形式。LSTM网络部分接收卷积网络的特征片段,结合长短期记忆进一步挖掘其中的时序特征。这样的组合一方面可以有效地增加模型深度,另一方面可以充分挖掘数据的结构信息,进而实现人体的运动识别。
1.2 卷积神经网络
卷积神经网络着重关注局部信息,对输入的每个样本数据,逐步计算该数据及其邻域范围内数据和卷积核矩阵对应位置处权值的内积,形成下一层的特征图。多核卷积可以有效提取更多的特征,并获得与核数相同的特征图数,有利于挖掘出高维度的隐含信息。一维卷积即卷积核矩阵为一维向量,其过程如图3所示[10],下面以单核卷积为例介绍卷积模型的工作原理。通常将输入层设为第0层
式中:M表示数据预处理后时间窗口的大小,卷积层的输出为
i=1,…,M-φ+1
(2)
式中:f(·)为激活函数;b为偏置项;q为一维卷积核向量;φ为q的长度。
图3 卷积神经网络模型图
为保证卷积前后的数据尺寸不变,这里选择常用的0填充方式。卷积层后一般会接一个池化层,池化层实现特征类型的聚合,能够降低特征空间维度,有效地控制过拟合风险。池化层与卷积层组合,可以给卷积神经网络加入很强的先验经验[13]。池化层的输出为
pj=max([c(j-1)R+1,…,cjR]),
j=1,…,M/R
(3)
式中:R表示池化窗口的尺寸。池化层的输出即卷积网络中卷积核学习到的特征图p,多核卷积是指卷积过程中,多个卷积核并行进行上述工作,每个卷积核e均会对应生成特征图pe。
1.3 长短期记忆网络
长短期记忆网络(LSTM)着重关注序列信息,可以对时间序列数据进行有效地理解分析。如图4所示模型将卷积神经网络部分输出的一维特征图依次首尾拼接,形成一维特征向量
s=[p1,…,pn]
(4)
式中:n表示卷积核数。
特征向量s进入全连接层处理,全连接层的输出为
h=f(Ws+ε)
(5)
式中:W为全连接层的权值矩阵;ε为全连接层偏置项向量。
LSTM网络是循环神经网络的一个改进结构,通过增加输入门、输出门和遗忘门实现短期记忆的基础上保持长期记忆。图4给出了两层LSTM网络堆叠结构,每个圆圈代表一个完整的LSTM单元l,负责接受并处理序列信号。
图4 双层LSTM网络模型图
LSTM网络的输出依次送入N个节点的全连接层,其中N表示运动的类别数。全连接层的输出结果经过多项逻辑回归(softmax)层进行多分类回归处理。假设全连接层的输出结果,经过softmax层后最终输出为
2 模型优化
2.1 目标优化
本文模型采用交叉熵代价函数,交叉熵描述两个概率分布的距离,基于交叉熵的代价函数是深度学习在分类问题中常用的代价函数。
批处理块(batch)[14]由训练集均等划分产生,是深度学习中常用的处理方法。若对整个训练集上的累计误差进行优化,参数更新频率低,梯度下降缓慢;若对单个样本的误差进行优化,参数更新过于频繁,且正负样例可能出现抵消的现象。因此在数据量较大的情况下,深度学习任务中大多采用这种折中的方法,模型在批处理块上进行优化,既保证了正确的梯度下降方向,又提升了收敛速度。
在上述过程中,本文选择了自适应矩估计(Adam)优化算法[15],该算法是一种基于一阶梯度的随机优化算法,与普通的梯度下降算法相比,Adam算法不但实现了学习率参数的自适应调整,还对梯度进行校正,使用该算法训练的模型通常具有较强的鲁棒性[13]。
为了防止模型快速陷入局部最优,实验采用较小的初始学习率,并通过多次遍历数据集的方式增强模型的拟合能力,每遍历一次训练集,均随机打乱训练集的排序以提高模型的健壮性。
2.2 过拟合处理
深层网络具有强大的学习能力,避免过拟合现象的出现在深度学习任务中尤为重要。上述提到的卷积部分中,池化层可以通过降低特征维度的方式避免过拟合现象,除此之外,本文模型中还采用了L2范数正则化、Dropout、早停的方法降低过拟合风险。
L2正则化方法在代价函数中增加对网络复杂度的描述,这种方法让模型参数在更新过程中倾向于选择较小的权值,网络模型趋向简单化,从而达到降低过拟合的效果。采用L2范数正则化方法后的代价函数定义为
E=E0+λ∑θ2
(8)
式中:E0为样本上的损失;θ为模型参数权值。
Dropout方法的主要思想[16]类似于集成学习中的Bagging算法。在每个批处理块的训练过程中,按一定概率(Dropout率)暂时忽略部分神经网络节点,相当于每个批处理块都在训练不同的网络,在测试过程中,模型开放所有节点。
早停的方法通过观察一定训练轮次内验证集上的准确率指标没有提升或是变差,则判断模型恰好拟合,提前停止模型训练。
3 实验分析
3.1 数据集
实验选取加州大学的人体运动识别数据集(简称HAR数据集)[17]。该数据集按照3∶1划分训练集、测试集,共包含30个用户的10 299个数据样本,每个样本包含三轴加速度、陀螺仪传感器数据,运动包括常见的步行、上楼、下楼、坐、站立、躺下6类,数据采集器放置在用户裤子口袋中,采集频率为50 Hz,数据集描述见表1。
表1 加州大学人体运动数据集
3.2 数据预处理
根据官方数据集的介绍,原始样本按照128×6的窗口大小、50%的重叠率对原始数据进行分段生成实验样本,实验样本的标签继承分段前的母样本。这样处理不但可以获得等长的样本数据,也显著地增加了样本数。
实验样本在一个通道内进行如下的归一化处理,各通道数据分布更加集中在激活函数的非饱和区,有利于模型快速收敛。通过后续实验也验证了使用归一化处理的数据比不使用归一化处理的数据的识别准确率更高。归一化后的样本输出为
3.3 实验设计
本文实验基于谷歌开源的深度学习框架tensorflow[18]实现,tensorflow是目前主流的深度学习框架之一。由于深度模型的训练通常较为耗时,参数调优工作量较大,因此本文在官方数据集提供的训练集中进一步按照2∶1的比例划分训练集与验证集,辅助调整模型参数,测试集为官方提供的原有测试集保持不变,最终实验的训练集、验证集、测试集比例为2∶1∶1。实验数据如2.1节中所述分批送入模型进行训练,批处理块大小为300个数据样本。
设计实验对本文提出的VGG-LSTM模型的运动识别效果进行评估,并进一步分析研究网络模型深度和复合网络结构对模型准确率的影响。最后将模型应用到同类数据集上重新训练,验证模型的适应性,实验设计如下:
(1)VGG-LSTM模型运动识别评估实验。表2中VGG-LSTM混合模型为本文提出的网络模型,首先构建该模型进行训练,表中卷积φ-n表示该卷积层的过滤器尺寸为1×φ,卷积核数为n,对训练过程中模型的拟合程度进行分析,然后在测试集上进行分类实验。
(2)模型结构对分类效果的影响。设计不同网络深度和复合结构的深度模型,见表2,研究模型结构对识别准确率的影响,从两方面进行对照实验。其一,对比卷积层数递增的混合模型A、B及VGG-LSTM混合模型,探究模型深度对识别准确率的影响。其二,设计卷积模型、双层LSTM模型,与上述混合模型对比,探究模型复合结构对识别准确率的影响,LSTM模型结构相对简单,并未列入表2。
(3)设计VGG-LSTM模型适应性验证实验。将VGG-LSTM模型在同类其他数据集上进行分类实验,对该模型的适应性进行验证。
3.4 结果分析
经过参数调优,3.3节中各实验统一使用0.001的初始学习率,Dropout率为0.5,设置最大遍历轮次为200,按照上述参数训练模型以排除此类超参数对模型的影响。
(1)VGG-LSTM模型运动识别评估实验的结果分析。图5给出了模型训练过程中模型的损失与准确率随迭代次数的变化。训练过程中验证集损失持续下降,准确率持续上升,说明模型能够对数据进行适当的拟合,有效地避免了过拟合现象。
表3给出了VGG-LSTM混合模型训练完成后在测试集上得到的分类混淆矩阵,可以发现该模型对数据集中的多数运动可以进行有效的分类,平均准确率为97.17%,部分运动召回率和准确率达到100%。
混合模型主要是对坐与站立两个运动的区分效果相对较差,导致模型在这两个运动上的分辨效果下降,召回率和准确率在92%~93%范围内,其主要原因为这两种运动姿态同属静止状态,动作变化小,传感器数据无法提供足够信息对两者进行区分。
VGG-LSTM模型运动识别评估实验的结果说明,本文模型能成功应用在采用运动传感器数据的人体运动识别问题中。该模型避免复杂的特征工程,自动挖掘数据中的隐含特征,并且模型收敛迅速,识别的准确率高。
上述实验结果与其他文献中使用相同测试集的结果进行对比,见表4。在该数据集中,本文提出的混合模型平均准确率可以达到97.17%。
(2)模型结构对分类效果影响的探究实验结果分析。按照表2所示分别构建卷积网络模型、双层LSTM模型、混合模型A、混合模型B,与本文模型进行实验对比,采用平均准确率对分类结果进行评价,表5给出了模型在原始数据和归一化处理数据上训练得到的实验结果,其中原始数据和归一化数据如3.2节所述。
表3 加州大学人体运动数据集分类混淆矩阵
(a)损失 (b)准确率图5 损失与准确率随迭代次数的变化
方法平均准确率/%HCF特征[7]与神经网络91.08HCF特征[7]与支持向量机94.61卷积与多层神经网络[10]94.79频域特征卷积[10]95.75本文模型97.17
表5 模型结构对平均准确率的影响
首先,对比混合模型A、混合模型B以及本文提出的VGG-LSTM混合模型的实验结果,其中混合模型A、混合模型B以及VGG-LSTM模型如表2所示,卷积层数逐渐递增,分类准确率也逐渐递增。由此可以得出,无论对于原始数据还是归一化处理后的数据,深度增加均能够在一定程度上提升模型精度。此外,借鉴VGG16模型[12]的思想,本文模型采用多个卷积串联的方式,为模型提供更丰富的非线性变换,提高模型对数据的拟合能力。表5说明了本文模型的识别准确率高于其他混合模型,但模型深度对准确率的影响不是单调的,在后续实验中发现,进一步增加模型深度,不但可能会导致严重的过拟合现象的出现,甚至还产生了梯度消散,无法继续训练的后果。
其次,对比卷积模型、双层LSTM模型以及多种混合模型的实验结果,其中混合模型如表2所示,为不同结构的卷积网络与双层LSTM网络的复合结构。表5的实验结果表明,复合模型性能普遍优于单一的深度学习模型。卷积模型擅长处理局部的片段信息,LSTM模型擅长处理时序信息,由两者复合获得的混合模型可以综合卷积模型和LSTM模型的优势对传感器数据的结构特点和时序特点进行更加全面的挖掘。
另外,表5也验证了3.2节中数据归一化的效果,通过对归一化前后的数据进行多组实验对比发现,对数据进行归一化处理可以在一定程度上提升识别准确率。
模型结构对分类效果影响的探究实验的结果说明,采用增加模型深度以及复合的模型结构的方式可以在一定程度上提升模型的性能,此外,对原始数据进行归一化处理也有助于模型精度的提高。
在实际参数调优的过程中,本文模型采用相同的卷积核尺寸和池化尺寸,避免多层卷积过程中这两类参数的多种组合。构建模型时可以综合调整各层的卷积核数以及网络层数,以控制模型对数据的拟合情况。在具体实验过程中可选取比池化尺寸略小的池化步长,池化层输出重叠覆盖,有利于增加特征丰富性进而提升识别准确率。
表6 无线传感器信息挖掘数据集分类混淆矩阵
(3)VGG-LSTM模型适应性验证实验的结果分析。选取同类的无线传感器信息挖掘(WISDM)公开数据集[19],并采用相同的数据预处理方法得到36名用户的16 890个数据样本,按照2∶1∶1的比例划分训练集、验证集、测试集,重新训练模型并完成分类实验,混淆矩阵及评价指标见表6,平均准确率达到96.53%,说明本文提出的混合模型具有良好的适应性。
4 结 论
本文提出了一种复合的、深层的VGG-LSTM混合模型,成功应用在人体运动识别问题中。通过实验验证了两点,其一,针对传感器分层、时序的结构特点,将卷积神经网络与长短期记忆网络模型进行复合,能够有效地结合两种模型的优点,对数据进行更为全面的分析和挖掘;其二,采用串联的卷积层不但能够有效地增加模型深度,还可以提供更加丰富的非线性变换,均有助于提升模型的性能。本文模型综合以上两方面优势,并通过池化层、L2范数正则化、Dropout、早停等方法降低过拟合风险,避免了复杂的特征工程,并获得了更高的识别准确率。本文模型在HAR数据集中平均准确率达到97.17%,并在其他同类数据集上进行验证,也取得较好的结果,在基于传感器数据的人体运动识别领域中,本文模型具有很好的准确性和适应性。