Multiscale Bidirectional Input Convolutional and Deep Neural Network for Human Activity Recognition(MBCDNN)
用于人类活动识别的多尺度 双向 输入卷积和深度神经网络
一些前置知识:
- ComplexConv1D:
- 复数数据:在信号处理和某些物理现象中,复数(包含实部和虚部的数)被用来表示数据。例如,在处理交流电信号或某些类型的声波时,复数可以用来同时表示振幅和相位信息。
- 复数卷积操作:复数卷积层可能是指在复数域上执行卷积操作的层。这意味着卷积核和输入数据都是复数,卷积操作会同时处理实部和虚部。
- MultiConv2D:
- 多个卷积层:MultiConv2D 可能由多个 Conv2D 层组成,这些层依次堆叠,每个层都可能具有不同的卷积核大小、数量或步长。
- 特征提取:每个卷积层可以学习图像的不同特征,如边缘、纹理、形状等。随着层数的增加,网络能够捕捉更复杂的特征。
- 多尺度特征:通过使用不同大小的卷积核或在不同层上应用卷积,MultiConv2D 可以捕获多尺度的特征。
- 问题: 活动段 不一致的问题、单输入 不足 以从原始数据中 提取特征 的问题
- 如何解决: 构建了一个 多尺度输入 模块来弥补 填充引起的噪声、手动设计结合 正 向序列和 反 向序列的聚合特征,并使用五个交叉验证和分层抽样来提高模型的泛化能力、根据任务的特殊性,设计了一个结合场景和动作权重的评价指标,在很大程度上丰富了模型的学习能力
- 应用本文的方法后的提升: 在基于场景+动作的19种活动数据中,准确性和鲁棒性显著提高,优于其他主流传统方法
- 创新点:
- 多尺度和双向输入:模型能够处理不同尺度的活动序列,并通过双向输入提高特征提取的能力。
- 特征提取:结合了手动设计的聚合特征和自动提取的特征,增强了模型的学习能力。
- 数据增强:通过噪声增强和三次样条插值加粗样式提高模型的泛化性。
- 活动模块:特别设计的ComplexConv1D模块,优化了对时间序列数据的处理。
Introduction
- 目前,人类活动识别主要通过两种方式实现:一种是通过 室内外传感器,另一种是一些 可穿戴设备[6-8]。前者受到放置在固定位置的限制,活动的推断完全取决于用户与这些设备的交互。例如,如果用户不在传感器范围内,或者对象在场景中自由移动以引入不同程度的遮挡,则无法识别活动。其次,环境是动态的、复杂的,比如背景中的天气和阳光,这也增加了识别的难度。后者也有许多缺点,如成本高、携带不便。
- 智能手机 在 人类活动识别领域 有很多优势[9]。由于其体积小、便于携带,内置传感器 越来越多样化,通过 多个传感器 的信息可以有效地对特定类型的活动进行分类。
- 因此,通过 融合 智能 手机各传感器 获得的 实时数据,最终获得的数据具有一定的异质性。这些数据可广泛 应用于人类活动识别,在 医疗保健、智能家居、金融欺诈 和其他场景中具有广泛的市场和社会价值。同时,用户在收集数据的过程中不需要携带带有传感器的额外设备。在人类活动识别方面,使用智能手机作为研究设备已成为研究人员的首选设备。
- 我们研究了 室内外人类活动识别,将 活动 重新定义为 场景和动作 的结合,并通过 智能手机 实现对用户室内外 活动 的 实时监控。
- (1)从识别简单活动到识别复杂活动的研究,活动被定义为场景和动作的组合,有 19 种不同的活动。人工设计 聚合特征 以帮助 自动特征提取,实现更丰富的特征信息提取
- (2)设计 多尺度双向序列融合模型(MBCDNN)以 识别复杂活动。实验结果表明,该模型比当前流行的网络模型具有更高的优势
Related Work
智能手机收集数据集
- 介绍了多个数据集的来源,和如何采集到的
Method
MBCDNN
基于 场景+动作 收集的人类活动数据更为复杂。由于收集到的数据是 时间序列数据,我们将 正向序列和反向序列 的数据发送到 MultiConv2D 模块进行训练。由于活动持续时间不同,收集的数据长度不一致。过去的不同实验对数据进行了分割,试图找到最佳分割长度[15,37],但为了确保分割过程中序列片段的一致性,采用了填充策略。明显的问题是噪声干扰增加。因此,我们引入了活动卷积模块 ComplexConv1D,它使用一系列设计的一维卷积核对正向和反向序列进行卷积运算,以提取多样化的特征;噪声引起的干扰大大减少。
除了正向和反向序列作为模型的输入外,我们还添加了一系列聚合特征,包括时域、频域 和 时频域 三种类型的特征,对原始数据进行特征提取,这些提取的聚合特征被输入到深度神经网络(DNN)模块中,并被验证是有效的。我们的 MBCDNN 模型由 MultiConv2D、ComplexConv1D 和 DNN 模块组成。最后,将所有模块的输出结果连接起来,通过全连接层获得分类结果。模型的整体结构如图1所示。
MultiConv2D and ComplexConv1D
MultiConv2D 模块的任务是接收前向序列和反向序列的输入,然后是 四个卷积层(Conv2D);内核大小为 3 × 3;卷积通道数分别为 64、128、256 和 512;激活函数为 ReLU。每一层卷积通过批量归一化 (BN) 层,然后通过池化层。该模块通过一系列卷积操作提取动作和场景的特征。二维卷积公式如下:
其中 是输入数据样本的空间坐标(), 是激活函数,卷积核的权重为 ,卷积核大小为 ,样本数据值为 。卷积过程是卷积核权重在样本数据对应值上滑动的内积之和。
ComplexConv1D 模块的任务是在序列长度不一致时从多个角度提取 MultiConv2D 的特征,以减少噪声对训练的影响。当输入向量维数为 时,输出向量维数为()。如图所示
其中 分别表示输入和输出向量的长度, 表示填充大小, 表示核心点之间的距离,也称为̀ 算法[38], 表示卷积核的大小, 表示卷积步长。为了说明模型的相关参数,表1详细列出了 MultiConv2D 和 ComplexConv1D 的参数。MBCDNN 模型的实验过程如图2所示。本节将介绍数据处理、生成数据集和聚合特征部分;其余部分将在下一节中描述。
Data Processing
智能手机传感器收集的数据是时间序列数据;因此,研究和设计的收藏场景分为3类:行走、站立、坐下和躺着;每个场景收集6种动作,玩游戏(手机游戏)、观看短视频、观看直播或观看长视频(类似于新闻广播)、浏览器查询或查看浏览器内容、打字聊天或其他打字以及其他动作(微信通话):6种动作。同时,添加了一个与场景无关的动作,用户A将手机“交给用户B”的活动。我们将活动重新定义为场景+动作的组合,因此总共有19个不同的活动。共收集了7292个样本。80%的总体数据被随机选择作为训练集,20% 作为测试集。样本类别不平衡。站着玩游戏的比例最高,站着刷视频的比例最低。表2描述了每项活动的情况。图3显示了收集数据的各种活动类型的比例。
图3:活动类别的比例。标签1至6分别表示场景行走中的六种动作:玩游戏、观看短视频、观看直播或长视频、浏览器查询或查看浏览器内容、键入聊天或其他键入和其他动作。标签7至12表示场景站立中的六种动作。标签13至18代表坐和躺的六种动作。标签19表示单独递送移动电话的动作。
Experiment and Analysis
Evaluation Index
基于场景和动作的人类活动识别不能简单地使用识别精度来评估模型的质量。由于活动涉及场景下的动作,因此预测场景也有一定的价值。因此,我们设计了一个综合考虑 场景和动作权重 的评价指标:acc_combo,这更有利于真实反应模型的识别效率。评价指标的具体规则是,如果预测交出手机的活动得1分,则预测误差为0分。我们希望预测正确的行动,以获得相对较高的积极性。评估指标的具体规则是,如果预测交出手机的活动在模型评估中得到1个反馈。如果不是递手机的活动,场景+动作完全正确得1分,只有正确的场景预测得1/7分,只有准确的动作预测得1/3分;如果场景+动作不正确,acc_combo 得分为0分。acc_combo表示为
其中N表示预测样本的总数,S表示预测场景的得分,A表示预测动作的得分。
Model Train and Optimization.
通过不断的实验探索,该模型逐步升级,最终提出了一种活动双向输入卷积和深度神经网络模型:MBCDNN,在所有对比实验中效果最好。智能手机传感器收集的数据包含重力加速度分量(accx、accy、accz)和不包含重力加速度的分量(accxg、accyg、acczg)(见表3)。为了增加模型的效果,如公式(4)所示,将分量组合成一个向量。
将组件和 mod、mod g 作为模型的 输入 数据。为了减少模型偏差和过拟合问题,使用 5 倍交叉验证和 分层抽样 来确保每个折衷方案中不同类别的比例相等。本节以 MBCDNN 模型中的 MultiConv2D 模块为基准。该模型的优化方法包括RMSProp、在卷积层后添加BN层、GlobalAveragePooling2D 以及结合前向序列和反向序列的输入。其中,在输入部分添加逆序效果最好。对原因的分析表明,多样化的输入有助于模型更充分地提取活动的特征。具体实验模型的改进如表5所示。在初步工作中,发现模型融合的效果优于单一模型的效果。因此,我们从以下几个方面对模型进行了优化:
(1) 将 MultiConv2D 模块的输入与 DNN 模块的输入相结合。输入模型数据是时间序列数据和聚合特征数据。时间序列数据输入到 MultiConv2D 模块,特征数据输入到DNN模块
(2)对于输入部分,由于存在各种规模的活动序列片段,不能使用单个填充长度,对于过长或过短的片段,拦截或填充会带来大量噪声,因此我们构建了一个活动模块:ComplexConv1D,以弥补噪声的影响并丰富模型学习能力
(3)数据增强(噪声增强、三次样条插值) 提高了模型的泛化能力
表6显示了模型优化过程。从表5和表6可以看出,多个模型的效果明显优于单个模型。在输入数据中添加反向序列和聚合特征数据显著提高了得分。数据增强也是提高分数的重要方法。活动模块的增加进一步提高了分数。
Model Comparison
我们基于卷积神经网络和深度神经网络的思想改进了我们的模型,并提出了活动和多输入的思想;在识别了19种活动后,充分证明了本文算法模型的效果。比较实验包括集成学习、深度学习单模型、单输入模型和多输入模型。表7显示了不同模型的实验比较结果。
从表7可以看出,多输入模型的得分均在0.8以上。我们提出的 MBCDNN 模型的最大得分为0.887,这说明输入多种数据转换方法、数据增强和模型融合可以获得更好的得分,这进一步表明我们的模型具有良好的活动识别效果。
Conclusions
针对人体活动识别中 缺乏复杂动作 和 存在不同场景 的问题,我们使用智能手机作为载体设备,提出了基于场景+动作的复杂人体活动识别,通过引入正向序列和反向序列以及聚合特征来帮助模型具有更多的活动特征。然而,对于时间序列数据,截断或填充策略会引入不必要的噪声;因此,我们提出了一个ComplexConv1D模块来补偿不必要噪声的影响。同时,为了更全面地评估模型在特定活动下的性能,我们定义了一个结合场景和动作权重的评估指标。通过实验比较和分析,我们的模型的性能确实得到了提高,这证明了我们方法的有效性。在我们完成了所有这些工作之后,在人类活动识别方面仍然需要做很多事情。我们相信未来会有更出色的工作。