论文学习:Deep Convolutional Neural Networks On Multichannel Time Series For Human Activity Recognition

论文来源:点击此处
论文原文:点击此处
论文日期:July 2015

Deep Convolutional Neural Networks On Multichannel Time Series For Human Activity Recognition

Abstract

This paper focuses on human activity recognition(HAR) problem, in which inputs are multichannel time series signals acquired from a set of bodyworn inertial sensors and outputs are predefined human activities. In this problem, extracting effective features for identifying activities is a critical but challenging task. Most existing work relies on heuristic hand-crafted feature design and shallow feature learning architectures, which cannot find those distinguishing features to accurately classify different activities. In this paper, we propose a systematic feature learning method for HAR problem. This method adopts a deep convolutional neural networks (CNN) to automate feature learning from the raw inputs in a systematic way. Through the deep architecture, the learned features are deemed as the higher level abstract representation of low level raw time series signals. By leveraging the labelled information via supervised learning, the learned features are endowed with more discriminative power. Unified in one model, feature learning and classification are mutually enhanced. All these unique advantages of the CNN make it outperform other HAR algorithms, as verified in the experiments on the Opportunity Activity Recognition Challenge and other benchmark datasets.

本文研究的是人体活动识别(HAR)问题,其输入是从一组人体惯性传感器获取的多通道时间序列信号输出是预先定义的人体活动。在这个问题中,提取有效的特征来识别活动是一个关键但具有挑战性的任务。现有的研究大多依赖于启发式的手工特征设计和肤浅的特征学习体系结构,无法找到能够准确分类不同活动的特征。本文针对HAR问题提出了一种系统的特征学习方法。该方法采用深卷积神经网络(CNN)对原始输入的特征进行自动学习。通过深入的体系结构,学习到的特征被认为是低级原始时间序列信号的高级抽象表示。通过监督学习利用标记信息,学习特征被赋予了更大的辨别能力。特征学习和分类统一在一个模型中,相互促进。CNN的这些独特优势使其优于其他HAR算法,这在机会活动识别挑战和其他基准数据集的实验中得到了验证。

1 Introduction

自动识别人类的身体活动(亦称人类活动识别(human activity recognition,简称HAR)已成为普适计算、人机交互和人类行为分析的关键问题[Bulling等人,2014;Pl–atz等人,2012;Reddy等人,2010]。在这个问题中,人类的活动是基于从多个磨损的(或嵌入的)惯性传感器获取的(实时的)信号来识别的。对于HAR,体上传感器获取的信号可以说比摄像机获取的信号有利原因如下:i)体上传感器减轻了摄像机经常受到的环境约束和静止设置的限制[Bulling等人,2014;Ji等人,2010;Le等人,2011];ii)多个体上传感器可以更准确、更有效地将信号采集部署到人体上;iii)体上传感器具有信息保密的优点,因为它们采集的信号是特定目标的,而摄像机采集的信号也可能包含场景中其他非目标对象的信息。在过去的几年里,基于穿戴的HAR在游戏机、个人健身训练、药物摄入和健康监测等方面有着广阔的应用前景。在[Bulling等人,2014]上可以找到关于这一主题的出色调查。

HAR系统成功的关键因素是找到一个有效的时间序列表示方法。尽管为调查这一问题作出了大量的研究工作,但收益却在减少。传统上,HAR问题常被视为时间序列分析的具体应用之一。HAR中广泛使用的特征包括基变换编码(例如,使用小波变换和傅里叶变换的信号)[Huynh和Schiele,2005年]、原始信号的统计(例如,时间序列的均值和方差)[Bulling等人,2014年]和符号表示[Lin等人,2003年]。尽管这些特征在许多时间序列问题中得到了广泛的应用,但它们是启发式的,不依赖于任务。值得注意的是,HAR任务有其自身的挑战,例如类内可变性类间相似性零类优势体育活动的复杂性和多样性[Bulling等人,2014年]。所有这些挑战使得开发一种系统的特征表示方法来有效地描述与活动识别任务相关的信号的性质变得非常有必要。

最近,深度学习作为一系列学习模型而出现,这些模型旨在对数据中的高级抽象进行建模[Bengio,2009;Deng,2014]。在深度学习中,为了实现特征设计的自动化,建立了一个多层的深度体系结构。具体来说,深层架构中的每一层都对前一层的输出进行非线性转换,以便通过深层学习模型,数据由一个从低级到高级的特征层次表示。众所周知的深度学习模型包括卷积神经网络、深度信念网络和自编码。根据标签信息的使用情况,深度学习模型可以在有监督或无监督的情况下学习。虽然深度学习模型在计算机视觉、自然语言处理、语音识别等领域取得了显著的效果,但在HAR领域还没有得到充分的开发。

在本文中,我们采用一种特殊的深度学习模型——卷积神经网络(CNN)来解决HAR问题CNN的关键特性是交替地执行不同的处理单元(例如卷积、池、sigmoid/双曲正切挤压、整流和归一化)。这样的多种处理单元可以有效地表示信号的局部显著性。然后,深度结构允许这些处理单元的多层堆叠,使得这种深度学习模型能够表征不同尺度下信号的显著性。因此,CNN提取的特征是任务相关的,并且不是手工制作的。此外,由于CNN可以在输出标签的监督下学习,这些特性也具有更大的辨别力。CNN的所有这些优势将在下面的章节中进一步阐述。

如以下各节所述,在HAR上的应用中,CNN中的卷积和池化滤波器沿时间维度应用于每个传感器,并且需要将不同传感器的所有这些特征映射统一为神经网络分类器的公共输入。因此,本文提出了一种新的CNN体系结构。在实验中,我们在基准数据集上对所提方法与现有方法的比较进行了广泛的研究。结果表明,该方法是一种很有竞争力的HAR问题求解算法。我们还研究了CNN的效率,并得出结论,CNN对于在线人类活动识别是足够快的

2 Motivations and RelatedWork

开发一种系统化、任务相关的HAR特征提取方法是十分必要的。虽然从可穿戴传感器采集到的信号是时间序列,但它们不同于语音信号和金融信号等其他时间序列。具体地说,在HAR中,连续信号流中只有少数部分与感兴趣的概念(即人类活动)相关,而占主导地位的不相关部分主要对应于空活动。此外,考虑到人类活动在现实中是如何进行的,我们了解到每一个活动都是几个基本的连续运动的组合。通常情况下,一个人的活动可以在练习中持续几秒钟,在一秒钟内,一些基本的动作就可以参与其中。从传感器信号的角度来看,基本连续运动更可能对应于平滑信号,不同基本连续运动之间的转换可能导致信号值的显著变化。HAR信号的这些特性要求特征提取方法能够有效地捕捉基本连续运动的性质以及基本运动组合的显著性

因此,我们打算构建一系列用于特征提取的信号处理单元的深层架构这种深结构由多个浅结构组成,每个浅结构由一组线性/非线性局部平稳信号处理单元组成当所有浅层结构级联时,捕获不同尺度信号的显著性这种深层次的体系结构不仅可以将一个大而复杂的问题分解成一系列小问题,更重要的是可以获得不同尺度下信号的特定“方差”。这里,信号的“方差”反映了信号的显著模式。如[Bengio,2009]所述,对于学习算法的泛化而言,重要的是我们希望在学习后获得的信号的这种“方差”的数量。

相比之下,传统的特征提取方法,如基变换编码(如小波变换和傅里叶变换的信号)[Huynh和Schiele,2005年]、原始信号的统计(如时间序列的均值和协方差)[Bulling等人,2014年]和符号表示[Lin等人。,2003年]被认为在一个深度学习模型的一个层中,通过一个或几个神经元转换数据起到了类似的作用。另一种类型的深度学习模型,称为深度信念网络(DBN)[Hinton and Osindero,2006;Le Roux and Bengio,2008;Tieleman,2008],也由[Pl–atz et al.,2012]对HAR进行了研究。然而,这种特征学习方法没有使用有效的信号处理单元(如卷积、池和整流器),也忽略了特征提取中可用的标签信息。CNN的主要用途主要是二维图像[Krizhevsky等人,2012年;Zeiler和Fergus,2014年]、三维视频[Ji等人,2010年]和语音识别[Deng等人,2013年]。然而,在本文中,我们试图构建一个新的CNN架构来应对HAR存在的独特挑战。最相关的工作是[Zeng等人,2014],其中使用浅层CNN,而HAR问题仅限于加速度计数据。

3 Convolutional Neural Networks in HAR

卷积神经网络在识别HAR信号的各种显著模式方面具有很大的潜力。具体地说,下层的处理单元获得信号的局部显著性(以表征人类活动中每个基本运动的性质)上层的处理单元在高层表示中获得信号的显著模式(以表征几个基本运动组合的显著性)。注意,每一层可以具有如下所述的多个卷积或池运算符(由不同参数指定),因此在CNN中联合考虑从不同方面学习的多个显著模式。当这些具有相同参数的算子应用于不同时间段的本地信号(或其映射)时,得到了一种形式的平移不变性[Fukushima,1980;Bengio,2009;Deng,2014]。因此,重要的只是信号的显著模式,而不是它们的位置或尺度。然而,在HAR中,我们面对的是多通道的时间序列信号,传统的CNN不能直接使用该问题面临的挑战包括:(i)CNN中的处理单元需要沿时间维度应用(ii)在多个传感器之间共享或统一CNN中的单元。在接下来的内容中,我们将沿着时间维度定义卷积和池运算符,然后介绍在HAR中使用的CNN的整个架构。

论文学习:Deep Convolutional Neural Networks On Multichannel Time Series For Human Activity Recognition
图1:用于基于多传感器的人类活动识别问题的CNN体系结构的图解。我们使用第4节中介绍的Opportunity Activity Recognition数据集作为示例。层标记括号中的符号**“c”、“s”、“u”、“o”分别指卷积、子采样、统一和输出操作**。“@”之前和之后的数字是指该图层中feature map的数量feature map的尺寸。请注意,由于空间的限制,没有显示池、ReLU和规范化层。

我们先从CNN上使用的符号开始。采用滑动窗口策略将时间序列信号分割为一组短信号。具体来说,CNN使用的一个实例是包含r个原始样本(每个样本具有D个属性)的二维矩阵。这里,选择r作为采样率(例如,实验中使用的30和32),滑动窗口的步长选择为3。可以选择较小的步长来增加实例的数量,同时可能导致较高的计算成本。对于训练数据,矩阵实例的真实标签由r个原始记录的最常出现的标签决定。对于CNN第i层的第j个特征图,它也是一个矩阵,为了方便起见,将传感器d的第x行的值表示为Vij x,d 。(ij为下标,x,d为上标)

3.1 Temporal Convolution and Pooling

在卷积层中,前一层的特征映射被几个卷积核卷积(在训练过程中学习)。卷积算子的输出加上偏差(待学习)通过**函数形成下一层的特征映射。形式上,值vx;d ij由下式计算:
论文学习:Deep Convolutional Neural Networks On Multichannel Time Series For Human Activity Recognition
式中,tanh()是双曲正切函数,bij是该特征映射的偏差,m是连接到当前特征映射的第(i≤1)层中特征映射集的索引,wij p,m是卷积核位置p处的值,Pi是卷积核的长度。

池化层中,降低了特征映射的分辨率,提高了特征对输入失真的不变性。具体地说,前一层的特征映射通过max pooling函数在局部时间邻域上进行合并,其中Qi是汇集区域的长度。
论文学习:Deep Convolutional Neural Networks On Multichannel Time Series For Human Activity Recognition

3.2 Architecture

基于上面介绍的运算符,我们构建了一个CNN,如图1所示。为了方便起见,CNN的所有层都可以分为五个部分,如下所述。

对于前两个部分,每个部分由**(i)卷积层构成,该卷积层将输入或前一层的输出卷积成一组待学习的核;(ii)校正线性单元(ReLU)层**,该层通过函数ReLU(v)=max(v,0)映射前一层的输出;(iii)找到最大值的最大池化层局部时间邻域范围内的特征映射(通常涉及子采样算子);(iv)规范化层,规范化前一层中不同特征映射的值。论文学习:Deep Convolutional Neural Networks On Multichannel Time Series For Human Activity Recognition
对于第三部分,它仅由卷积层ReLU层规范化层构成,因为在卷积层之后,特征映射的时间维度变为1(注意,由该层输出的特征映射的大小为D × 1),因此这里避免了池化层。

第四部分中,我们的目标是将第三部分输出的特征映射统一到所有D个传感器中。我们开发了一个完全连接的层来统一这些特征映射,而不是简单地连接这些特征映射,从而在这个层中实现参数连接。如图2所示。数学上,该层第j个特征图的值由vij=论文学习:Deep Convolutional Neural Networks On Multichannel Time Series For Human Activity Recognition计算,然后是ReLU层规范化层

五部分全连接网络层。该层与标准的多层感知器神经网络相同,它将潜在特征映射到输出类中。
此层的输出由softmax函数控制论文学习:Deep Convolutional Neural Networks On Multichannel Time Series For Human Activity Recognition,其中C是输出类的数量。此softmax函数提供分类结果的后验概率。然后,根据训练实例的真实标记和softmax函数的概率输出,构造熵代价函数。
论文学习:Deep Convolutional Neural Networks On Multichannel Time Series For Human Activity Recognition
为了将CNN给出的矩阵级预测转换为最初期望的样本级预测,使用以下两个步骤。首先,矩阵级实例中的所有样本都由该矩阵级实例的相同预测标签标记。其次,对于位于重叠矩阵级实例中的样本,使用投票方法来确定该样本的最终预测标签

由于传感器信号的时间依赖性,实例的标签通常具有平滑的趋势,如第2节所述。最近,[Cao等人,2012]提出了一种简单而有效的平滑方法来对预测标签进行后处理,以提高预测性能。其思想是采用低通滤波器去除脉冲噪声(潜在的错误预测)并保持边缘,即活动转移的位置。特别地,对于第i个实例,在以第i个实例为中心的序列上应用具有预定义长度ui的平滑过滤器。此筛选器查找此序列中最频繁的标签,并将其分配给第i个实例。我们将在实验中研究使用/不使用这种平滑方法的预测结果。

3.3 Analysis

注意,ReLU和normalization层在图1中CNN的前四个层中是可选的。在我们的实验中,我们发现合并这两层可以得到更好的结果。此外,为了避免维数灾难,我们可以在CNN中使用dropout和正则化方法,尽管在我们的实验中没有使用它们,因为它们产生的性能差异很小

Remark 1. 图像/视频案例中使用的传统CNN[Krizhevsky等人,2012;Wan等人,2014;Ji等人,2010]没有图2所示的统一层因为图像/视频信号被认为来自单个传感器信道。因此,所提出的CNN结构是传统CNN的一个推广,它考虑了多个数据通道

在CNN中,所有处理单元中的参数和连接权重通过全局目标函数(即熵代价函数)共同学习,该函数依赖于所有这些未知变量。这种全局目标函数可以通过所谓的反向传播算法进行有效优化[LeCun等人,1998]。

全局目标函数与基于地面真值标签计算的训练误差以及CNN最后一层softmax函数的输出有关。此函数的变量控制信号的各种特征映射。因此,通过优化模型,特征学习和分类这两项任务相互增强,CNN所学习的特征具有更强的判别能力w.r.t.是最终的分类任务。

4 Experiments

4.1 Datasets

我们考虑两个不同关注点的人类活动识别数据集。第一个数据集与全身运动相关,而第二个数据集则特别关注手的运动。

Opportunity Activity Recognition 机遇活动识别数据集^1 [Sagha,2011年;Roggen等人,2010年;Cao等人,2012年]是关于与早餐情景相关的人类活动的。此数据集包含从三个执行日常生活活动(ADL)的受试者上配置的传感器收集的数据。此活动识别任务^2中有18个类。Null类为非相关活动或非活动。使用的传感器包括各种各样的身体穿戴、基于对象和环境的传感器——总共有来自10种模式的72个传感器——在家庭环境中有15个无线和有线传感器网络。传感器信号的采样率为每秒30次每个记录由113个不包括时间信息的真实值感官读数组成。利用这些传感器,每个受试者执行一个训练会话(drill),其中在一个感官数据序列中有20个预定义动作的重复,以及5个ADLs。继[Cao等人,2012]之后,我们使用Drill和前两组ADL作为训练数据,使用第三组ADL作为测试数据

Hand Gesture 手势数据集[Bulling等人,2014年]3是关于人类手部运动的不同类型。在这个数据集中,两名受试者在日常生活中用八种手势进行手势动作,在打网球时用三种手势。这个手势识别问题总共有12个类 ^4。与第一个数据集类似,Null类引用没有特定活动的时段。所用的穿戴传感器包括一个三轴加速度计和一个二轴陀螺仪,采样率为每秒32个采样。然后,每条记录总共有15个真实值的传感器读数。每个受试者重复所有活动约26次。我们随机选择一个重复作为测试数据,其余重复作为训练数据。

1The link is http://www.opportunity-project.eu/challenge.
2The 18 classes are Null, open door 1, open
door 2, close door 1, close door 2, open
fridge, close fridge, open dishwasher, close
dishwasher, open drawer 1, close drawer 1,
open drawer 2, close drawer 2, open drawer
3, close drawer 3, clean table, drink cup and
toggle switch.
3The link is https://github.com/andyknownasabu/ActRecTut/.
4The 12 classes are Null, open a window, close a
window, water a plant, turn book page, drink
from a bottle, cut with a knife, chop with a
knife, stir in a bowl, forehand, backhand and
smash.
论文学习:Deep Convolutional Neural Networks On Multichannel Time Series For Human Activity Recognition

4.2 Experimental Settings

机会活动识别数据集中使用的CNN的体系结构如图1所示。同样的CNN结构也被用于手势数据集,只是在特征映射的数量和卷积核的大小上有所不同,因为这些数据集的输入和输出的维度是不同的。在CNN的正规化算子中,所有实验的参数选择为k=1;α=2×10^-4;β=0.75,G(·)的大小为5。我们遵循[LeCun等人,1998]中的经验法则来选择其他参数,因为如何在CNN中找到最佳参数仍然是一个悬而未决的问题。

将该方法与SVM、KNN、MV和DBN四种基线进行了比较。其中,前两种方法和第三种方法分别在机会活动识别数据集和手势数据集上展示了最新的研究成果。第四种方法是最近发展起来的HAR深度学习方法。

  • 支持向量机[Cao等人,2012]。采用径向基函数**(RBF)核的支持向量机(SVM)**作为分类器。在该基线中,原始时间序列样本直接作为支持向量机的输入。采用交叉验证方法对支持向量机参数进行优化。
  • KNN[Cao等人,2012年]。[Keogh和Kasetty,2002]对时间序列分类问题进行了全面的实证评估。有趣的是,欧氏距离的简单技术KNN(具体地说,1NN,即基于前一个最近邻的分类)被证明是最好的技术。因此,我们将K=1的KNN作为分类器。与支持向量机基线一样,原始时间序列样本直接作为KNN的输入
  • Means and variance (MV) [Bulling等人,2014]与提出的CNN方法一样,首先使用滑动窗口策略生成一组r ×D矩阵级实例。然后提取每个r×D矩阵中r样本上信号的均值和方差,构成分类器输入数据的特征。使用的分类器是K=1的KNN
  • 深度信念网络(DBN)[Pl¨atz et al.,2012]与CNN和MV方法相同,首先生成一组r×D矩阵层级实例。然后,使用每个r×D矩阵中r个样本上的信号平均值作为DBN5的输入。该方法所使用的分类器是在K=1的KNN和多层感知器神经网络之间选择的,并给出了性能较好的分类器。

对于MV和DBN方法,矩阵级预测转换为基于第3.2节中介绍的CNN方法中使用的相同策略的样本级预测。我们评估所有方法在有/无第3.2节中提到的平滑方法的两种设置下的性能。如[Cao等人,2012]所建议,平滑方法中的参数ui建议选择在[60,100]的范围内。

4.3 Experimental Results

所提出的CNN方法和四种基线方法在机会活动识别数据集和手势数据集上的结果分别显示在表1和表2中。在[Cao等人,2012]之后,使用平均F-测度(AF)、标准化F-测度(NF)和准确度(AC)来评估所有实验中不同方法的性能。每个评估指标的最佳性能都以粗体突出显示
论文学习:Deep Convolutional Neural Networks On Multichannel Time Series For Human Activity Recognition
Figure 3: Confusion matrix yielded by the proposed CNN method (without temporal smoothing) on the Opportunity Activity Recognition dataset for Subject 1 (the larger the value the darker the background).

从结果可以看出,在有/无平滑策略的两种情况下,所提出的CNN方法在所有三种评估指标方面均优于所有四个基线。值得注意的是,对于第一个数据集中的Subject 3和第二个数据集中的Subject 2,所提出的方法在具有/不具有平滑设置的两种情况下的准确度方面都优于最佳基线5%左右。当使用平滑策略时,所有方法的性能都得到了提高,但所有方法的性能排名几乎保持不变。类不平衡问题是所有方法面临的主要挑战。这可以从图3所示的CNN方法生成的混淆矩阵中看出。由于占主导地位的空类,除了类close drawer 2中的信号样本外,所有信号样本都倾向于归为空类。类不平衡问题引起的相似现象在所有方法中都存在,但对于其他基线方法来说更为严重

CNN的性能优于DBN,说明有监督的深度学习优于无监督的深度学习。这一现象在其他应用中,如图像分类和语音识别中也有发现。请注意,SVM和KNN使用本文中的原始实例,而在[Pl–atz等人,2012]中,它们使用的矩阵级实例的数量小于原始实例的数量。这或许可以解释为什么在我们的实验中,DBN比支持向量机和KNN差一点,而在[Pl–atz等人,2012]所示的实验中,DBN比支持向量机和KNN稍好一点。证明CNN比支持向量机、KNN和MV具有更好的性能,说明CNN比基于浅层学习结构和启发式特征设计的HAR问题更接近于在特征表示中发现信号的本质

我们还进行了实验,将原始数据的傅里叶变换幅度作为所有方法的输入。但是,无法提高性能。在[Cao等人,2012]中也观察到类似的观察结果。

所有的实验都是在一台PC上进行的,该PC有Intel i5-2500 的 3.30Ghz 处理器 和 8 GB RAM。由于篇幅的限制,我们将CNN的计时结果都针对受试者^1的机会活动识别数据集,因为该数据集是所有实验中最大的一个。该数据集的训练样本数为136869,测试样本数为32466,输入维数为107。CNN的训练时间约为1小时,而测试时间为8分钟。平均而言,CNN可以在一秒钟内预测56个原始实例的标签。因此,CNN的效率对于在线HAR来说是足够好的。注意,当CNN的并行计算[Jia等人,2014;Donahue等人,2014]被实现时,训练和测试时间可以显著减少。这一研究课题将在今后的工作中得到充分的探讨。

5 Conclusions

本文针对人类活动识别任务提出了一种自动提取特征的新方法。该方法为CNN研究多通道时间序列数据提供了一种新的深层结构。这种深度结构主要采用卷积和池化运算来捕获不同时间尺度下传感器信号的显著模式。所有识别出的显著模式在多个通道中系统地统一起来,最后映射到不同的人类活动类别中。该方法的主要优点是:1)特征提取是以任务相关和非手工方式进行的2)提取的特征具有更高的分辨力w.r.t.人类活动的类别3)特征提取和分类统一在一个模型中,因此它们的性能是相互增强的。在实验中,我们证明所提出的CNN方法优于其他最新的方法,因此我们相信所提出的方法可以作为HAR问题的特征学习和分类的竞争工具。