基于Wavelet-CNN网络的人类活动识别技术

2022-04-21 07:19易卿武于乃文
无线电工程 2022年4期
关键词:卷积分数传感器

张 琳,易卿武,黄 璐,于乃文

(1.河北科技大学 信息科学与工程学院,河北 石家庄 050018;2.卫星导航系统与装备技术国家重点实验室,河北 石家庄 050081)

0 引言

人类活动识别(Human Activity Recognition,HAR)是指利用不同设备收集的数据,自动对人类运动的类型进行分类,获取人体需要传达的信息,从而为物联网、智慧城市和人机交互等其他智能应用提供基础,在人们的日常生活中发挥着重要的作用。迄今为止,HAR技术已广泛应用于人类生活的众多领域,例如:医疗健康中的跌倒检测系统[1]、老年人监测[2]和疾病预防[3]等;智慧城市中,用于识别和监控家庭活动[4]和电力节能[5]等;道路交通运输中,用于交通调控[6]和人员限流[7]等。除此之外,HAR技术可以更好地应用在遥感与导航定位领域。文献[8]提出了一种自适应人类活动识别辅助行人航迹推算(HAA-PDR)定位系统,使用基于自编码器的深度神经网络识别人类活动,并通过减少PDR的累积误差进行导航定位的研究。文献[9]提出了一种基于智能手机的卷积神经网络(Convolutional Neural Networks,CNN)模型用于人类活动识别的研究,该网络可以识别9种活动并将其作为室内定位的地标研究行人导航与定位。

传统的模式识别方法采用统计机器学习模型和人工特征提取,这种方法十分依赖于启发式的人工特征提取,不仅会受到领域知识的限制,而且往往只能捕捉到原始输入信号的浅层特征[10]。鉴于深度学习模型在图像分类、语音识别、自然语言处理等领域的成功应用,将其转移到人类活动识别领域是模式识别的一个新的研究方向。文献[11]采用了一种基于堆栈降噪自编码器的深度学习方法,利用智能设备上的多个传感器的数据进行人类活动识别。该方法虽然具有较高的精度,但使用的数据集活动数目较少,并不能证明该模型具有良好的泛化能力。文献[12]提出了一种基于初始神经网络和递归神经网络相结合的深度学习模型(InnoHAR),使用分离卷积代替传统卷积,达到了减少模型参数的目的。结果表明,效果良好,但模型收敛困难,导致训练阶段浪费大量时间。文献[13]提出了一种使用LSTM和TCN结合的深度学习的方法进行人类活动识别,但该方法在均衡的数据集上会出现过拟合现象,无法进行推广应用。

针对这些问题,本文提出了基于小波变换和CNN相结合的人类活动识别方法,该方法可以通过小波变换对原始传感器数据分解并重组,在训练阶段使用CNN自动提取适当的特征,并用高级抽象序列呈现低级原始时间特征。实验结果表明,该模型体系结构简洁且参数量较少,模型收敛速度较快,具有良好的泛化能力。

1 数据集及数据预处理

1.1 数据集

OPPORTUNITY数据集[14]是在传感器丰富的环境中收集的,它包含了4名受试者在日常生活场景中进行晨间活动的记录,其中包括17种复杂的手势和运动模式。不同形式的传感器已被整合到环境、物体和身体上,本文仅使用了人体上的传感器数据:定制运动夹克中的5个RS485联网XSense惯性测量单元,位于每只脚上的2个InertiaCube3惯性传感器和四肢上的12个蓝牙三轴加速度传感器,每个惯性测量单元由3D加速度计、3D陀螺仪和3D磁传感器组成,提供多模态传感器信息。人体传感器位置如图1所示,紫色圆形表示惯性测量单元,红色正方形表示三轴加速度传感器,其中“R-SHOE”和“L-SHOE”是2个InertiaCube3惯性传感器。

(a)惯性测量单元

在记录过程中,每个受试者进行了5次日常活动和1次训练。每个传感器轴都被视为一个独立的通道,因此产生具有113个通道的输入空间。传感器的采样频率为30 Hz。本文仅关注特定姿态的识别,因此这是一个18类(包括Null类)的分类问题。OPPORTUNITY数据集中包含的活动和数目如表1所示。

表1 OPPORTUNITY数据集中包含的活动和数目

1.2 数据预处理

OPPORTUNITY数据集收集佩戴在受试者身上的无线传感器实测数据,在数据采集过程中可能会丢失一些数据,丢失的数据通常用NaN/0表示,本文采用线性插值算法来填补缺失值。

为了在保持原始数据不变的情况下实现端到端的人类活动识别模型,并最大限度地减少前期的预处理工作,实验使用了来自OPPORTUNITY数据集有关人体运动传感器收集的113个传感器数据通道。模型的输入由原始传感器数据中提取的短时间序列数据组成,在数据采集过程中,数据是连续记录的。为了保持活动中数据点之间的时间关系,使用重叠率为50%的滑动窗口对运动传感器收集的数据进行分割,获取更多的样本数据,如图2所示。本文实验使用固定长度为24,重叠率为50%的滑动窗口,即步长设置为12,对运动传感器收集的数据进行分段,共获得9 984条测试数据。

图2 使用滑动窗口预处理传感器波形数据

2 基于Wavelet-CNN的网络模型

使用深度学习方法进行人类活动识别流程如图3所示。本文提出的Wavelet-CNN 模型的整体网络架构共8层。首先,使用小波变换将预处理后的数据分解为低频和高频分量用于提取时间特征,并将二者重新组合输入到训练模型中。然后依次通过4个卷积层(Convolutional Layer)提取空间特征,并加入2个最大池化层(Max-pooling Layer)以帮助网络更好地消除噪声的干扰。在Wavelet-CNN模型的最后,经过2个全连接层(Fully Connected Layer)获得模型的输出,实现人类活动识别。

图3 深度学习方法实现人类活动识别流程

2.1 Wavelet

小波(Wavelet)信号是一类衰减较快的波动信号,其能量有限,且相对集中在局部区域。使用有限长的会衰减的小波基不仅能够获取频率,还可以定位到时间位置,因而能有效地从信号数据中提取小波变换空间(时间)和频率的局部变换信息。通过伸缩和平移等运算功能可对本实验中传感器的波形数据进行多尺度的细化分析。小波变换可以由粗到细地逐步观察波形数据,具有更好的视频窗口特性,且参数较少,并不参与到深度学习的模型训练过程中,故对模型精度的提高有较好的效果。本实验将预处理后经过滑动窗口分割的波形数据使用Haar小波[13]变换分解为低频和高频成分,然后将低频和高频成分组合作为网络模型的输入数据。

2.2 Wavelet-CNN网络

CNN能够从图像或者语音中学习独特的表示,提取具有空间关系的特征,受到广泛的关注[15]。通过卷积层对输入数据进行多次卷积运算,结合式(1)所示的非线性激活函数激活实现多层矩阵运算,得到想要的代表性特征:

(1)

池化层则负责对卷积层生成的特征图进行下采样操作[16],本文使用了最大池化层从每个输入块中输出最大值:

川系火锅是我们最常见的火锅类型,我想,提起火锅一半人想到的是麻辣,另一半人想到的就是川渝。川系火锅一般认为分为四川火锅、重庆火锅、鱼头火锅以及串串香。

(2)

在经过卷积和最大池化操作之后,最后一个卷积和最大池化层生成的特征映射被展平为一个一维向量fl=[f1,f2,…,fl],其中l为最后一个池化层中的节点数。然后将其作为输入送到全连接层中,其中池化层的输出为:

(3)

本文中,对于每个CNN层和全连接层应用ReLU计算特征映射,其非线性函数定义为:

ReLU=f(x)=max(0,x)。

(4)

为防止深度神经网络中权值过大导致的过拟合问题,在Wavelet-CNN网络模型中加入Dropout层。Dropout会为了防止模型过拟合,在输入和输出时随机丢弃一些节点。此外,本文还应用了权重衰减:

(5)

一般来说,使用的卷积核越多,就越能挖掘出输入样本中的隐藏特征。在Wavelet-CNN中有4个卷积层,在第1个卷积层中使用128个卷积核进行特征提取,在第2个卷积层中使用256个卷积核对上层输出的特征进行更深层次的特征提取,第3个和第4个卷积层分别使用的卷积核个数为128和64。4个卷积层中的卷积核大小均为1×3,步长均为1。在第2个和第3个卷积层后面均有一个最大池化层,用于执行下采样操作。最大池化层使用2×2的过滤器,步长为2。使用最大池化层的目的主要有2个:一是在保持主要特征的同时减少参数,二是对人体无意识抖动引起的干扰噪声进行滤波操作。最后,经过2个神经元个数为512和18的全连接层获得模型的输出,实现Wavelet-CNN网络的分类,如图4所示。

图4 Wavelet-CNN网络

3 实验与结果分析

基于人类活动识别技术研究中广泛使用的公共数据集OPPORTUNITY开展3部分试验。首先,通过改变模型结构验证所提出的Wavelet-CNN模型的合理性,采用F1-Score进行统一评价,以确保后续比较结果的一致性;然后,采取均方误差(MES)和交叉熵损失函数(Loss)等评价方法验证Wavelet-CNN的模型性能;最后,为了验证Wavelet-CNN模型分类性能的竞争力,将其与相关学者提出的最新的识别模型进行了比较,并讨论实验结果。

3.1 模型实现

本文用Keras来建立Wavelet-CNN网络模型。Keras是一个由Python编写的开源人工神经网络库,可以作为Tensorflow,Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化。模型训练和分类使用的电脑处理器配置为i7-5500U,CPU2.40 GHz,RAM12 GB,并安装了64位的Ubuntu操作系统。采用Loss来测量预测值与真实值之间的误差。为了提高效率,在训练阶段,Batch size设置为256,迭代次数设置为80,Dropout设置为0.5。此外,采用0.001的学习率来提高拟合能力,并设置策略为每间隔5次迭代,学习率衰减为原来的0.75倍。本文对训练集的顺序进行了随机打乱,以此来提高模型的鲁棒性。所选超参数如表2所示。

表2 Wavelet-CNN模型超参数设置

3.2 结果分析

(6)

式中,wi=ni/N为第i类样本的比例;ni为第i类样本的数量;N为样本总数。

首先,本文分别构建了4种模型架构(A,B,C和Wavelet-CNN)进行对比,讨论了几种网络结构对模型性能的影响,如表3所示。实验基于OPPORTUNITY数据集,在模型训练过程中通过多次迭代测试调整参数取值范围得到最优参数,并通过模型参数的个数和测试集上的F1分数来评价分类结果。

表3 几种网络模型对性能的影响

模型A为经典的CNN架构,在最后一层卷积之后紧接着一个全连接层,用来综合上层提取的特征。随着迭代次数的增加,训练模型精度和召回率趋于平稳,此时模型A的F1分数为78.72%,模型参数有75 218个。在模型B中增加了2个卷积层,参数数量显著增加,F1分数提高了3.54%,证明增加卷积层可以提高F1分数。模型C中继续增加2个卷积层,此时一共有6个卷积层,可以看出参数数量明显增加,但F1分数却降低了,这是由于参数数量过大导致模型过拟合,验证了使用4个卷积层的可行性。模型Wavelet-CNN在模型B的基础上增加了小波变换,原始数据经过预处理后,使用Haar小波变换分解为低频和高频成分,然后将低频和高频成分组合作为输入数据,并在结构上调整网络模型,增加到2个最大池化层,并增加了2个全连接层,减少过拟合问题,提高了模型的精度。最后,Wavelet-CNN的F1分数达到了91.65%。由此可以看出,增加小波分析后的Wavelet-CNN能够有效提高模型的分类能力。

MSE表示真实值yt与预测值y′t差值平方的期望,MSE值越小,证明模型预测效果越好:

(7)

Loss用来判定真实值与预测值的接近程度,数值越小表示越相近,模型的预测效果越好。

(8)

式中,M为类别的数量;yic为变量(0或1),如果样本i的预测类别和真实类别相同(等于c)就是1,否则是0;pic为对于观测样本i属于类别c的预测概率。然后,在衡量标准上,分别采用了MSE,Loss和F1分数评价Wavelet-CNN模型的性能,如图5所示。

(a)Wavelet-CNN模型随迭代次数的F1分数变化图

从图5(a)中可以看出,随着迭代次数的增加,识别的准确率也持续增加。Wavelet-CNN增长较快且最终达到90%左右。由图5(b)和图5(c)可以得知,Wavelet-CNN模型随着迭代次数的增加,Loss逐渐稳定在0.2左右,MSE稳定在11.5左右,模型取得了良好的预测效果。

最后,为了进一步比较Wavelet-CNN的分类性能,本文将Wavelet-CNN模型与文献[10]提出的CNN模型、文献[18]提出的baseline CNN模型和DeepConvLSTM模型以及文献[19]提出的DNN模型和LSTM-F模型在OPPORTUNITY数据集下对人类活动的识别能力进行深入比较,所有结果均采用F1分数进行验证,以确保后续比较结果的公平性和一致性。不同模型性能的比较结果如图6所示。

图6 不同模型的性能对比

从图6可以看出,Wavelet-CNN模型与文献[10]提出的CNN模型相比,在OPPORTUNITY数据集上的F1分数提高了约6.5%,且明显优于文献[18]提出的baseline CNN以及DeepConvLSTM模型。与文献[19]提出的模型相比,Wavelet-CNN模型对人类活动的识别能力有较大优势,证明了Wavelet-CNN方法在OPPORTUNITY数据集上具有较好的性能表现。

总体来讲,本文提出的Wavelet-CNN模型不仅优化了原始数据的输入方式,而且简化了模型的结构。在人类活动识别技术中,能够实现高达91.65%的识别精度,具有较好的分类性能和泛化能力。

4 结束语

本文提出了一种将小波变换和CNN相结合的网络结构,在人类活动识别技术中实现了较高的分类精度。其中,利用小波变换的方式,在空间(时间)和频率上对数据集进行了局部变换,有效地从信号数据中提取细粒度的代表性信息,并通过CNN提取深层次特征,加入最大池化层对人体无意识抖动引起的干扰噪声进行滤波操作,大大提高了模型的分类性能。最后,为了比较提出模型的分类性能和泛化能力,在OPPORTUNITY公共数据集上,与最新文献提出的模型进行了对比分析,本文提出的模型实现了91.65%的F1分数,验证了模型的有效性,证明了提出的小波变化卷积网络Wavelet-CNN模型在人类活动识别上有较高的识别能力。然而,本文所使用的OPPORTUNITY公共数据集中未包含上下楼梯等复杂类活动,且现实生活中的数据总是在不断生成的,如何增强模型对复杂活动的识别能力,提高模型的在线能力和增量学习功能,将是下一步研究工作的重点。

猜你喜欢
卷积分数传感器
基于全卷积神经网络的猪背膘厚快速准确测定
制作二氧化碳传感器
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
分数的由来
舰船测风传感器安装位置数值仿真
氧传感器的基本检测
跟踪导练(三)2
把握物理难点,分数更上一步