掌桥专利:专业的专利平台
掌桥专利
首页

一种基于Transformer网络的多人行为识别方法

文献发布时间:2023-06-19 11:35:49


一种基于Transformer网络的多人行为识别方法

技术领域

本发明属于人体行为识别领域,更具体地,涉及一种基于Transformer网络中Encoder技术的多人行为识别方法,主要针对环境传感器数据进行人体行为识别。

背景技术

近年来,人体行为识别受到了广泛的关注。准确高效的人体行为识别对人机交互、家庭安全监控等方面起着重要作用。人体行为识别可以在检测老年人的行为活动、识别潜在的安全隐患和身体退化等方面做出贡献。作为智能家居的基础,人体行为识别需要基于传感器获得的数据进行。与视频传感器和穿戴传感器相比,环境传感器安装在地板、门窗或电器设备上,减少采集数据过程可能对居民活动造成的不便,应用更加广泛。目前基于环境传感器数据的人体行为识别技术的研究面临着以下问题:

1.多人行为识别困难:目前研究多集中于对单个居民行为识别,然而,在房间中总是有多个具有不同行为习惯的居住者,存在并行活动或合作活动,这给活动识别带来了复杂的挑战。

2.传统机器学习方法识别效率低:机器学习方法需要使用手工制作的统计特征和频率特征来表示原始传感器流的片段,并以此训练机器学习模型对居民和活动进行分类。该方法的有效性在很大程度上取决于手工特征的有效性。

3.神经网络不适合处理二进制数据:随着深度学习领域的研究,CNN逐渐被应用到人体行为识别中,但其主要用于处理连续信号数据,对二进制环境传感器数据缺乏适应性。

发明内容:

为了克服上述背景技术的缺陷,本发明提供一种基于Transformer网络的多人行为识别方法,用于解决根据环境传感器收集到的数据同时完成对多用户和对应活动的识别的问题。

为了解决上述技术问题本发明所采用的技术方案为:

一种基于Transformer网络的多人行为识别方法,包括:

步骤1,采集环境传感器数据集,基于时间序列的传感器数据作为输入进入到模型中,通过固定大小的滑动窗口进行采样;

步骤2,采样得到的事件被嵌入到初始向量中,然后添加位置编码以表示该事件在序列中的顺序,之后,向量进入Transformer网络的Encoder编码器;

步骤3,应用顶部全连接层对用户和活动的标签进行分类。

较佳地,步骤1的具体方法包括:

步骤1.1,在被测空间区域中布置环境传感器,收集用户行为数据;

步骤1.2,收集到的环境传感器数据以ON或OFF表示,ON代表传感器被触发,OFF代表传感器未被触发;

步骤1.3,筛选原始数据,去除属性为OFF的数据,保留属性为ON的数据,将每一个ON数据作为一个事件,将筛选后的ON数据按时间顺序排列形成时序数据;

步骤1.4,切分步骤1.3所得的时序数据,获得数据切片样本。

较佳地,步骤1.4的具体方法包括:筛选后的各个属性为ON的数据按时间顺序排列,形成一组时序数据;在时序数据上使用一个预先设定的固定大小的滑动窗口获取原始信息,滑动窗口采集的结果作为数据切片样本。

较佳地,预先设定的固定大小的滑动窗口尺寸k为经验参数。

较佳地,步骤2的具体方法包括:

步骤2.1,通过Embedding嵌入算法将每一个切片数据样本对应的离散数据变量映射到连续的表征向量,嵌入算法对每一个样本数据独热处理,使其转化为一个向量;

步骤2.2,嵌入的结果集合即为嵌入矩阵R

步骤2.3,添加位置编码。构造一个和嵌入矩阵维度相同的矩阵PE,矩阵PE的行表示时间序列样本,列表示传感器,矩阵PE中的各个值由以下公式得出;

PE(pos,2i)=sin(pos/10000

PE(pos,2i+1)=cos(pos/10000

其中,PE表示位置编码矩阵,pos表示该传感器对应的序号,i表示行向量在矩阵中所处的位置,d

将PE矩阵与嵌入矩阵相加,得到引入位置编码的新的特征向量矩阵;

步骤2.4,将新的特征向量矩阵中的m个行向量输入Encoder编码器,m的数值为Transformer网络所设置的批大小Batch size;

步骤2.5,进入编码器的向量首先传递到多头注意层,得到新的表征向量;采用Multi-attention注意力机制分别计算不同注意头下的注意力值,使网络更关注对行为识别贡献最大的关键帧,计算方法包括:

MultiHead(Q,K,V)=Concat(head

其中,Q,K,V分别表示注意力机制中的查询向量Query,表示与该样本相匹配的样本属性;值向量Key表示该样本本身的属性和值向量Value表示该样本包含的信息;

步骤2.6,通过层规范化Layer Normalization对步骤2.5中注意力层生成的新的表征向量进行归一化处理,将步骤2.4中的输入矩阵与步骤2.5所得的矩阵求和,并进行归一化,得到新的矩阵;

步骤2.7,将步骤2.6得到的矩阵传递到前馈神经网络Feed Forward进行处理,得到强化的表征向量矩阵;

步骤2.8,将步骤2.7所得的强化的表征向量矩阵接入一个归一化层,对矩阵中元素按行单位化,得到归一化矩阵;

步骤2.9,将输出的归一化矩阵继续发送到下一个编码器,得到最终的特征矩阵。

较佳地,步骤2.4中输入Encoder编码器的行向量数量为m,m的值为Transformer网络所设置的批大小Batch size。

较佳地,包括6个顺序排列的Encoder编码器。

较佳地,步骤3的具体方法包括:

步骤3.1,将步骤2.9得到的T×C特征向量的二维矩阵,输入全连接层,自动平铺生成一个长度为T×C的一维向量;

步骤3.2,T×C的一维特征向量经过全连接层,映射到样本标记空间,得到分类结果向量,向量中的元素是通过对特征加权求和得到每个类别的数值;

步骤3.3,采用Softmax函数作为全连接层中的分类器,将全连接层的神经元的输入映射到输出端,将分类结果向量中的每个输出值转变成概率,得到最终分类向量Yt;将期望输出与实际输出的Cross Entropy交叉熵作为损失函数,计算期望输出与实际输出的差距;

步骤3.4,整个基于Transformer网络改进的网络模型最终输出最终分类向量Yt,向量Yt包含用户识别信息和活动识别信息,向量中前a个元素分别代表相应居民,后b个元素分别代表相应行为活动,每个元素的值代表识别为对应居民或活动的概率。

较佳地,步骤3.4中向量Yt的维度为居民数量a与活动数量b之和。

本发明的有益效果在于:本发明使用端到端的方法,避免了传统机器学习方法需要手工制作特征以及区分训练集测试集的过程。本发明用时间注意力机制使网络更关注对行为识别贡献最大的关键帧,能够有效解决深度神经网络自动提取特征时赋予时序数据同等重要性的问题。本发明使用改进的Transformer结构模型,由于任务只需要分类,删减了原始模型中的解码器结构,以更精简的架构提高了对用户和活动识别的准确率。本发明可实现对多个用户的识别,并同时输出每个用户对应的活动。

附图说明

附图1是本发明实施例的整体流程示意图;

附图2是本发明实施例滑动窗口采样示意图;

附图3是本发明实施例注意力机制模型示意图;

附图4是本发明实施例Encoder编码器结构示意图。

具体实施方式

下面结合附图和实施例对本发明做进一步的说明。

一种基于Transformer网络的多人行为识别方法,包括:

步骤1,采集环境传感器数据集,基于时间序列的传感器数据作为输入进入到模型中,通过固定大小的滑动窗口进行采样;步骤1的具体方法包括:

步骤1.1,在被测空间区域中布置环境传感器,收集用户行为数据;

步骤1.2,收集到的环境传感器数据以ON或OFF表示,ON代表传感器被触发,OFF代表传感器未被触发;

步骤1.3,筛选原始数据,去除属性为OFF的数据,保留属性为ON的数据,将每一个ON数据作为一个事件,将筛选后的ON数据按时间顺序排列形成时序数据;

步骤1.4,切分步骤1.3所得的时序数据,获得数据切片样本;具体方法包括:筛选后的各个属性为ON的数据按时间顺序排列,形成一组时序数据;在时序数据上使用一个预先设定的固定大小的滑动窗口获取原始信息,滑动窗口采集的结果作为数据切片样本。预先设定的固定大小的滑动窗口尺寸k为经验参数。

步骤2,采样得到的事件被嵌入到初始向量中,然后添加位置编码以表示该事件在序列中的顺序,之后,向量进入Transformer网络的Encoder编码器;步骤2的具体方法包括:

步骤2.1,通过Embedding嵌入算法将每一个切片数据样本对应的离散数据变量映射到连续的表征向量,嵌入算法对每一个样本数据独热处理,使其转化为一个向量;

步骤2.2,嵌入的结果集合即为嵌入矩阵R

步骤2.3,添加位置编码。构造一个和嵌入矩阵维度相同的矩阵PE,矩阵PE的行表示时间序列样本,列表示传感器,矩阵PE中的各个值由以下公式得出;

PE(pos,2i)=sin(pos/10000

PE(pos,2i+1)=cos(pos/10000

其中,PE表示位置编码矩阵,pos表示该传感器对应的序号,i表示行向量在矩阵中所处的位置,d

将PE矩阵与嵌入矩阵相加,得到引入位置编码的新的特征向量矩阵;

步骤2.4,将新的特征向量矩阵中的m个行向量输入Encoder编码器,m的数值为Transformer网络所设置的批大小Batch size;

步骤2.5,进入编码器的向量首先传递到多头注意层(参照附图4,多头注意层是Encoder编码器的内部结构之一),得到新的表征向量;采用Multi-attention注意力机制分别计算不同注意头下的注意力值,使网络更关注对行为识别贡献最大的关键帧,计算方法包括:

MultiHead(Q,K,V)=Concat(head

其中,Q,K,V分别表示注意力机制中的查询向量Query,表示与该样本相匹配的样本属性;值向量Key表示该样本本身的属性和值向量Value表示该样本包含的信息;

步骤2.6,通过层规范化Layer Normalization对步骤2.5中注意力层生成的新的表征向量进行归一化处理,方便后续在Feed Forward前馈神经网络中的ReLU激活函数对数据进行非线性处理。将步骤2.4中的输入矩阵与步骤2.5所得的矩阵求和,并进行归一化,得到新的矩阵;

步骤2.7,将步骤2.6得到的矩阵传递到前馈神经网络Feed Forward进行处理,得到强化的表征向量矩阵;通过激活函数来强化表征向量的表达能力。

步骤2.8,为了避免梯度消失,加速全连接层训练收敛过程,将步骤2.7所得的强化的表征向量矩阵接入一个归一化层,对矩阵中元素按行单位化,得到归一化矩阵;

步骤2.9,将输出的归一化矩阵继续发送到下一个编码器,得到最终的特征矩阵。

较佳地,步骤2.4中输入Encoder编码器的行向量数量为m,m的值为Transformer网络所设置的批大小Batch size,根据多次实验结果取得最优参数。Batch size也是调参得到的此网络适合的最优参数,实验得到的值为64。本实施例包括6个顺序排列的Encoder编码器。

步骤3,应用顶部全连接层对用户和活动的标签进行分类。步骤3的具体方法包括:

步骤3.1,将步骤2.9得到的T×C特征向量的二维矩阵,输入全连接层,自动平铺生成一个长度为T×C的一维向量;

步骤3.2,T×C的一维特征向量经过全连接层,映射到样本标记空间,得到分类结果向量,向量中的元素是通过对特征加权求和得到每个类别的数值;

步骤3.3,采用Softmax函数作为全连接层中的分类器,将全连接层的神经元的输入映射到输出端,将分类结果向量中的每个输出值转变成概率,得到最终分类向量Yt;将期望输出与实际输出的Cross Entropy交叉熵作为损失函数,计算期望输出与实际输出的差距;

步骤3.4,整个基于Transformer网络改进的网络模型最终输出最终分类向量Yt,向量Yt包含用户识别信息和活动识别信息,向量中前a个元素分别代表相应居民,后b个元素分别代表相应行为活动,每个元素的值代表识别为对应居民或活动的概率。步骤3.4中向量Yt的维度为居民数量a与活动数量b之和。

该向量Yt是特征向量经过全连接层后生成的分类结果。本发明的Transformer网络原本用于自然语言处理,首次被应用于人体行为识别领域。本发明根据识别任务的需要改进了Transformer网络,去掉其中的解码器,并加上全连接层。

综上所述,本发明所提供的基于Transformer网络的多人行为识别方法,具体地,包括采集并取样环境传感器数据、数据预处理并获得采样片段、添加位置编码和用注意力机制赋予数据不同重要性、通过全连接层实现对用户和活动的识别分类。

下面结合具体实施例对本发明的具体方案进行举例说明。参照附图1,本实施例提供一种基于Transformer网络的多人行为识别方法,包括以下步骤:

(1)使用环境传感器采集数据。在工作场所安装37个二进制传感器,招募多名志愿者参与者在智能家居中进行一系列活动,收集了15项日常生活活动,包括开门、上楼梯、开窗户、晾衣服、搬动家具、打扫地板、浇花等。

(2)筛选原始数据,对采集到的数据筛选出传感器示数为ON的数据,去除属性为OFF的数据,并将每一个ON数据作为一个事件进行识别。

(3)使用滑动窗口法截取数据片段,滑动窗口大小设置为12。

(4)通过embedding嵌入算法,使每个样本转化为一个向量。

(5)嵌入的结果是得到一个嵌入矩阵,其形式是P

(6)添加位置编码,在每个输入嵌入中添加一个向量。通过向这些嵌入向量添加不同的值,可以提供嵌入向量之间有意义的距离。

(7)一定数量(Batch size)的通过(6)得到的向量作为输入(Input)进入encoder编码器。

(8)将这些向量传递到一个多头注意层。采用multi-attention注意力机制分别计算不同注意头下的注意力值,使网络更关注对行为识别贡献最大的关键帧,计算方法如下:

MultiHead(Q,K,V)=Concat(head

其中,Q,K,V分别表示注意力机制中的查询向量,键向量和值向量。

(9)通过Layer Normalization对注意力层生成的新的表征向量进行归一化处理,方便后续在Feed Forward中的ReLU激活函数对数据进行非线性处理。将(7)中的输入矩阵与(8)所得的矩阵求和,并归一化。

(10)然后传递到一个前馈神经网络Feed Forward进行处理,通过激活函数来强化表征向量的表达能力。

(11)再进入一个归一化层进行求和规范化步骤。

(12)输出被发送到下一个编码器,重复(8)-(11)的步骤,本发明提出的架构包括6个编码器。

(13)当×特征向量的二维矩阵进入全连接层,它将平铺成一个长度为×的一维向量。

(14)中的向量进入全连接层处理。设置全连接层的层数为2层,其中隐藏神经元256个。

(15)全连接层中采用Softmax函数作为分类器,交叉熵作为损失函数。Softmax函数将全连接层的神经元的输入映射到输出端,将每个输出值转变成每个类别对应的概率。

(16)输出一个预定义的居民和活动向量,该向量包含用户识别信息和活动识别信息,向量中每个元素的布尔值反映了对相应居民是否执行对应活动的判断。

(17)最后以准确率(Accuracy)作为评价用户识别和活动识别准确率的指标。

综上,本发明一种基于Transformer网络的多人行为识别方法,可实现对多用户及对应活动的有效识别。首先采集并取样环境传感器数据,然后对数据预处理并获得采样片段,接着添加位置编码和用注意力机制赋予数据不同重要性,最后通过全连接层实现对用户和活动的识别分类。本方法的优势在于端到端简单便捷操作、时间注意力机制使网络更关注对行为识别贡献最大的关键帧、模型轻量精简有效、可同时对多用户进行识别。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

相关技术
  • 一种基于Transformer网络的多人行为识别方法
  • 一种基于改进卷积神经网络的多人行为识别方法
技术分类

06120112985072