一种基于深度学习模型的多模态复杂活动识别方法与流程

文档序号:16211557发布日期:2018-12-08 07:48阅读:618来源:国知局
一种基于深度学习模型的多模态复杂活动识别方法与流程

本发明属于活动识别领域,具体涉及一种基于深度学习模型的多模态复杂活动识别方法。

背景技术

活动识别是普适计算领域一个基础且重要的研究方向。随着可穿戴设备的发展与普及,活动识别在老年人辅助、新生儿监护、技能评估等方面取得了广泛的应用。

根据活动标签是否包含高级语义,可将活动识别分为简单活动识别与复杂活动识别。简单活动通常由周期性的动作或者人体单一姿势组成,如站、坐、走、跑等。复杂活动通常由简单活动组成,持续时间更长,且具有高级语义,如吃饭、工作、购物等。目前识别复杂活动的方法一般可分为三类:第一类,不区分简单活动与复杂活动。由于针对简单活动设计的特征不足以很好地表示复杂活动,所以此类方法往往不能准确地识别复杂活动。第二类,建立分层识别模型。即首先识别出定义好的简单活动,之后将简单活动序列作为特征来进行复杂活动识别。此类方法一般需要人工定义简单活动,导致难以对复杂活动进行准确的表示。同时,此类方法也需要领域知识来定义简单活动序列的模式,导致难以覆盖所有简单活动序列。第三类,在分层模型的基础上,引入主题模型来提取复杂活动特征。将复杂活动中的组成部分视为主题模型中的“词”,将复杂活动视为主题模型中的“文档”,将每一个文档的主题分布视为特征。然而,主题模型没有考虑序列数据的局部相关性。

目前在活动识别中融合不同传感器数据的方式可简要分为两类:特征级别融合和分类器级别融合。特征级别融合首先对不同传感器的数据分别提取出相应特征,之后将得到的特征进行拼接并作为融合特征向量。分类器级别融合首先对不同传感器的数据分别提取特征并建立相应的分类器,之后将通过分类器得到的活动概率分布进行拼接并作为融合特征向量。特征级别融合没有很好的考虑到不同传感器特征间的兼容性。分类器级别融合虽然保证了不同传感器特征间的兼容性,但丢失了不同传感器数据间的融合特征。

深度学习是一种学习数据表示的机器学习方法,成功应用于计算机视觉、自然语言处理等领域。随着深度学习的发展,出现了一些基于深度学习的活动识别方法。利用深度学习网络(如卷积神经网络(cnn)、循环神经网络(rnn)、长短时记忆网络(lstm)等)从活动数据中提取深度特征并训练分类模型。现有此类方法主要集中在简单活动识别中。由于复杂活动识别的时间窗口比简单活动识别更长,因而无法直接应用已有基于深度学习的简单活动识别方法。

现有复杂活动识别方法一方面没能有效融合不同模态的数据来提取特征,另一方面也没有对分层模型中序列数据提取出具有良好表征能力的特征。



技术实现要素:

本发明要解决的技术问题是如何有效利用多模态时序数据进行复杂活动识别,提出一种基于深度学习模型的多模态复杂活动识别方法。该多模态复杂活动识别方法考虑了复杂活动的特性,通过深度学习模型来进行多模态融合特征的提取与序列特征的提取,从而得到具有表征能力与泛化能力的复杂活动特征,进而提高复杂活动识别准确率。

本发明提供的技术方案为:

一种基于深度学习模型的多模态复杂活动识别方法,包括以下步骤:

(1)采用智能设备和可穿戴设备采集用户在进行当前复杂活动时不同模态的时序数据,并对采集的时序数据进行清洗及归一化处理,获得复杂活动样本;

(2)根据时序数据属性,将复杂活动样本分成(i)变化快且规律性弱、(ii)变化快且规律性强以及(iii)变化缓慢三类时序数据,针对每类型时序数据,构建卷积子网络,并利用构建的卷积子网络提取数据特征;

(3)利用纵向拼接层将三个卷积子网络输出的特征矩阵进行拼接,获得拼接矩阵;

(4)采用卷积核长度为1的卷积层对所述拼接矩阵进行特征提取,实现对不同模态的特征融合,输出融合矩阵;

(5)利用两层lstm网络依序对所述融合矩阵进行处理,并将输出矩阵的最后一列向量作为复杂活动样本的表示;

(6)利用训练好的分类器对所述复杂活动样本的表示进行分类,输出复杂活动概率分布,将复杂活动概率分布中最大值对应的标签作为复杂活动标签。

本发明提供的多模态复杂活动识别方法中,通过卷积神经网络提取不同类型时序数据的特征,并对提取的数据特征进行融合,并利用长短时记忆网络获取融合特征的时序特性,这样兼顾了数据之间时序特性,又融合了智能设备和可穿戴设备采集的不同数据,能够提高复杂活动识别准确性。

优选地,步骤(1)中:采用智能设备采集用户进行复杂活动时的各类运动传感数据,同时采用可穿戴设备采集用户进行复杂活动时的各类生理传感数据,所述运动传感数据和生理传感数据构成时序数据。

其中,所述对采集的时序数据进行清洗包括:

对不同模态的时序数据进行异常值检测,并将时序数据中的超出正常值范围的值和零值消除或进行均值填充。

对采集的时序数据进行清洗,能够获得整洁的时序数据,便于后续的数据特征的提取。

步骤(2)中:三类时序数据的频率分别设定为100hz、20hz、1hz。考虑到卷积子网络输入数据的大小与时序数据的频率有关,因此,对于与频率不符的时序数据,根据时序数据对应的频率,对该类型时序数据采样至设定频率,从而采用相应的卷积子网络完成特征提取。

其中,构建的卷积子网络分别为:

针对变化快且规律性弱时序数据,构建的卷积子网络结构包括三层卷积层与三层池化层,具体为c(6,11)-p(10)-c(12,7)-p(5)-c(24,5)-p(4);由于变化快且规律性弱时序数据噪音多,为有效避免原始数据中噪音的影响并提取出较复杂的模式,该卷积子网络采用了相对较大的卷积核,较长的池化窗口可有效降低特征映射的长度,从而降低模型的复杂度,避免过拟合;

针对变化快且规律性强时序数据,构建的卷积子网络结构包括两层卷积层与两层池化层,具体为c(6,11)-p(10)-c(12,5)-p(4);

针对变化缓慢时序数据,构建的卷积子网络结构包括三层卷积层与一层池化层,具体为c(6,3)-c(12,3)-c(12,3)-p(2);较小的卷积核与连续多个卷积层可增加模型的非线性能力,从而有效提取出一段序列数据的表示;

其中,形式为c(v,w)表示卷积输出维度为v,卷积核长度为w的卷积层;形式为p(s)表示池化长度为s的池化层。

步骤(5)中,所述利用两层lstm网络依序对所述融合矩阵进行处理包括:

将所述融合矩阵的每一列依次输入到第一层lstm网络中,得到中间输出矩阵;

将所述中间输出矩阵的每一列依次输入到第二层lstm网络中,得到输出矩阵。

本发明利用深度学习模型来识别复杂活动,可同时处理不同模态的时序数据。与现有方法相比,其优点在于:

在融合特征提取层中,将不同模态时序数据分为不同的类别,分别采用不同结构的卷积神经网络(cnn)提取表示,并利用纵向拼接层与卷积层对不同模态的表示进行融合,从而提高融合特征的表征能力。

利用长短时记忆(lstm)网络进一步提取序列特征,可有效避免主题模型仅提取简单活动序列中的分布特征而没有利用序列特征的问题,从而提升复杂活动特征的表征能力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。

图1是本发明提供的基于深度学习模型的多模态复杂活动识别总体流程图;

图2是本发明提供的多模态复杂活动识别网络结构示意图;

图3是本发明提供的不同类型数据的卷积子网络结构示意图,其中,(a)为变化快且规律性弱类型数据的卷积子网络结构示意图,(b)变化快且规律性强类型数据的卷积子网络结构示意图,(c)变化缓慢类型数据的卷积子网络结构示意图;在卷积层conv中,符号“@”之前的数字表示卷积层的输出维度,符号“@”之后的数字表示一维卷积核的长度;在池化层pooling中,数字表示池化窗口的长度;

图4是本发明提供的序列特征提取网络结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

为解决背景技术中的问题,本发明将复杂活动定义为简单活动语义序列,进而提取序列特征,从而完成复杂活动识别任务。首先将不同模态的时序数据根据属性分为三类;然后分别构建不同结构的卷积子网络来进行特征提取;之后采用纵向拼接层与卷积层对不同模态的特征进行融合;再采用lstm网络进行序列特征提取,并得到复杂活动的表示;最后构建分类器并输出预测的复杂活动标签。如图1所示,本发明提供的多模态复杂活动识别方法主要分为数据处理、多模态融合特征提取、序列特征提取、复杂活动标签输出四个阶段,具体实施步骤如下:

数据处理阶段

数据处理的具体流程如下:

s101,采用智能设备和可穿戴设备采集用户在进行当前复杂活动时不同模态的时序数据。

在本步骤中,使用智能设备采集进行复杂活动时的各类运动传感数据,同时使用可穿戴设备采集进行复杂活动时的各类生理传感数据。

用户首先佩戴好智能手机、智能手表、智能胸带等智能设备与可穿戴设备,其中智能手机和智能手表主要用于采集用户的运动数据,如加速度、角速度等,智能胸带主要用于获取用户的生理数据,如心率、呼吸率等。采集到的时序数据通过无线网络,如蓝牙,传送至智能手机以进一步处理。

模态是指生理特征和运动特征。在录制数据时,采集得到的加速度数据为一种模态,采集得到的心跳数据为另外一种模态。

s102,对于一段时间内采集到的时序数据进行数据清洗及归一化处理,从而得到复杂活动样本。

本步骤具体包括:

(a)对不同模态的时序数据进行异常值检测,并将其中的无效值(如超出正常值范围的值和零值)消除或进行均值填充;

(b)对不同模态的时序数据进行归一化处理,其中每一个模态时序数据的最大值与最小值通过领域知识来确定。

多模态融合特征提取阶段

多模态融合特征提取的具体步骤如下:

s201,将复杂活动样本中不同模态的时序数据根据其属性分为三类:(a)变化快且规律性弱;(b)变化快且规律性强;(c)变化缓慢。这三类时序数据的频率分别设定为100hz、20hz、1hz。考虑到卷积子网络输入数据的大小与时序数据的频率有关,因此对于与频率不符的时序数据,可根据相应的数据类型重采样至设定频率,从而采用相应的卷积子网络完成特征提取。

s202,针对输入数据{x(k,1),1≤k≤n}(n为卷积子网络数目)中变化快且规律性弱的数据,采用包含有三层卷积层与三层池化层的卷积子网络进行特征提取,从而得到相应的特征矩阵。

此卷积子网络的结构可表示为c(6,11)-p(10)-c(12,7)-p(5)-c(24,5)-p(4),其中,c(v,w)表示卷积输出维度为v,卷积核长度为w的卷积层;p(s)表示池化长度为s的池化层。

在为每一类时序数据构建卷积子网络时充分考虑其属性。对于变化快且规律性弱的时序数据,采用结构如图3(a)所示的卷积子网络来提取特征。为有效避免原始数据中噪音的影响并提取出较复杂的模式,该卷积子网络采用了相对较大的卷积核。较长的池化窗口可有效降低特征映射的长度,从而降低模型的复杂度,避免过拟合。

每一类卷积子网络均由不同数目的卷积层与池化层构成。每个卷积层包含多个神经单元。

卷积层:以数据a为输入,采用卷积核进行卷积,输出数据的特征图:

其中l表示层数,表示在l+1层的第j个特征图,k为卷积核,b为偏置量,relu为激活函数。

池化层:用最大池化操作对数据进行下采样:

为在l+1层第i个神经单元的数值,r表示池化区域大小。

s203,针对输入数据{x(k,1),1≤k≤n}中变化快且规律性强的数据,采用包含有两层卷积层与两层池化层的卷积子网络进行特征提取,从而得到相应的特征矩阵。此卷积子网络的结构可表示为c(6,11)-p(10)-c(12,5)-p(4),如图3(b)所示。

s204,针对输入数据{x(k,1),1≤k≤n}中变化缓慢的数据,采用包含有连续三层卷积层与一层池化层的卷积子网络进行特征提取,从而得到相应的特征矩阵。此卷积子网络的结构可表示为c(6,3)-c(12,3)-c(12,3)-p(2)。

受到计算机视觉中所采用卷积神经网络结构(如vggnet、inception)的启发,对于变化缓慢的数据,采用包含连续卷积层的子网络结构来提取特征。较小的卷积核与连续多个卷积层可增加模型的非线性能力,从而有效提取出一段序列数据的表示。此卷积子网络的具体结构如图3(c)所示。

s205,对于所有n个卷积子网络输出的特征矩阵所构成的集合{x(k2),1≤k≤n},采用纵向拼接层进行拼接并得到拼接矩阵x(3)

每一个卷积子网络输出矩阵列数的计算公式为:

其中fk表示第k个子网络输入数据的频率,t表示时间窗口的长度,ri表示第i层池化层的长度。三类数据的设定频率分别为100hz、20hz、1hz,相应的子网络的池化总长度分别为200、40、2。根据公式(3)可得,所有子网络输出矩阵{x(k,2),1≤k≤n}都具有相同的列数,即t/2。这使得纵向连接层可对不同卷积子网络的输出矩阵进行拼接操作。

如图2所示,对集合中所有矩阵采用纵向拼接操作来得到拼接矩阵x(3)。x(3)的列数与所有卷积子网络输出矩阵的列数一致,x(3)的行数为所有卷积子网络输出矩阵的行数之和。

步骤6,采用卷积核长度为1的卷积层对拼接矩阵x(3)进行特征提取,从而实现不同模态的特征融合,并输出融合特征矩阵x(4)

为了降低拼接之后特征映射的数目,并对来自不同时序数据的特征进行融合,本层采用卷积核长度为1的卷积层。该层相当于引入了全连接网络对矩阵x(3)的每一列进行特征融合并生成x(4)中对应的列,从而得到每一列的融合特征。本层的输出结果为融合特征矩阵x(4)。

序列特征提取阶段

序列特征提取的具体步骤如下:

s301,将融合特征矩阵x(4)的每一列依次输入到第一层lstm网络中,得到输出矩阵x(5)

为了有效提取序列特征,一般采用多层lstm网络以增加模型的非线性能力。受到文本领域中lstm网络结构的启发,采用两层lstm网络来提取融合特征矩阵x(4)的序列依赖关系。每层lstm网络单元的数目与融合特征矩阵x(4)的宽度一致。

如图4所示,将融合特征矩阵x(4)的每一列依次输入到第一层lstm网络中并得到矩阵x(5)中对应的列,从而得到输出矩阵x(5)

lstm网络是一种循环神经网络,每个lstm单元包含一个记忆单元ct和三个门:输入门it,输出门ot和遗忘门ft,分别控制数据的输入、输出和更新。lstm网络的计算公式如下:

it=sigm(wxixt+whiht-1+bi)(4)

ft=sigm(wxfxt+whfht-1+bf)(5)

ct=ft⊙ct-1+it⊙tanh(wxcxt+whcht-1+bc)(6)

ot=sigm(wxoxt+whoht-1+wcoct-1+bo)(7)

ht=ot⊙tanh(ct)(8)

其中操作符⊙表示点乘运算,w和b分别表示权重矩阵和偏置向量,sigm和tanh分别表示sigmoid函数和双曲正切函数。

s302,将输出矩阵x(5)的每一列依次输入到第二层lstm网络中,得到输出矩阵x(6).

s303,保留输出矩阵x(6)的最后一列向量作为复杂活动样本的表示(l为x(6)的列数)。

lstm网络输出矩阵x(6)的最后一列向量有效提取了融合特征矩阵x(4)的序列依赖关系,因此将其作为复杂活动样本的表示。

复杂活动标签输出阶段

s401,将复杂活动样本的表示输入到softmax分类器,得到复杂活动概率分布。

在本步骤中,采用softmax分类器来将复杂活动样本的表示映射为不同复杂活动的概率分布。

softmax函数的计算公式如下:

其中e表示指数函数,wi表示softmax权重矩阵的第i列向量,x表示softmax的输入向量。

s402,将概率分布中最大值对应的标签作为得到的复杂活动标签。

复杂活动标签可通过输出层得到的概率分布确定,即其中pi为第i个复杂活动标签的概率。

该多模态复杂活动识别方法通过深度学习模型可同时处理不同模态的时序数据,提高了复杂活动识别的准确性。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1