一种基于双重对抗网络的跨环境人体活动识别方法
未命名
10-19
阅读:169
评论:0
1.本发明涉及人体活动识别技术领域,尤其是涉及一种基于双重对抗网络的跨环境人体活动识别方法。
背景技术:
2.人体活动识别是智能家居、健康监测、以及虚拟现实等人工智能领域的核心组成部分。活动识别尝试利用从视觉、可穿戴,到声学等多种感知方法,然而,它们存在着隐私泄露、感知范围有限等固有缺点。由于wifi具有隐私保护、无设备和无处不在等特点,它已经成为一种强大的传感技术。随着无线网络的普及和无线通信技术(multiple-input-multiple-output,mimo)以及正交频分复用(orthogonal frequency-division multiplexing,ofdm)的发展,wifi设备能够在每个载波频率上沿着多路径从每个发射天线到每个接收天线获取信道状态信息(channel state information,csi)。wifi感测通过捕获信号在传播路径中csi的变化模式揭示活动信息。当用户处于静态环境中时,可以将多条路径分为静态路径和动态路径,静态路径为从静态物体(包括墙壁,桌椅等)反射的信号,动态路径为活动的人反射的信号。因此,在不同的环境中,同一活动的csi中的幅值和相位是不同的,导致在源域中训练的模型应用于新域时会出现显著的性能下降。而在实际中,我们不可能收集到无限多个不同环境中的活动数据,这极大地限制了wifi传感技术的推广。
3.领域适应网络(domain adaptation network,dan)是一种具有代表性的学习不同域之间的映射关系的网络模型。在跨域wifi传感中应用最广泛的dan是域对抗神经网络(domain adversarial neural networks,dann)。它有三个主要成分:特征提取器、活动识别器和域判别器。特征提取器学习训练域中有标记样本和测试域中无标记样本的特征;基于学习到的特征,活动识别器使用两个完全连接的网络,然后一个softmax层来获得所有输入样本的预测。在训练过程中,特征提取器努力学习领域不变特征来欺骗领域判别器,同时提高活动识别器的性能。但是在将域自适应网络应用于跨域活动感测任务时,模型提取域不变特征的能力受限于源域和目标域之间的差异,仅当不同域之间的特征分布距离较小时,模型才能学习到有效的活动特征。
技术实现要素:
4.本发明的目的是提供一种基于双重对抗网络的跨环境人体活动识别方法,使用多个源域的标记数据和目标域的未标记数据作为输入,并使用卷积神经网络(cnn)结构作为特征编码器提取特征;通过两组活动分类器之间的交叉对抗训练,以及分类器与域判别器之间的域对抗训练去除环境变化带来的影响,提高人体跨环境自适应活动识别性能。
5.为实现上述目的,本发明提供了一种基于双重对抗网络的跨环境人体活动识别方法,包括以下步骤:
6.s1、对于源域和目标域中收集的全部csi数据,根据时间戳信息将子载波插值为等差的时间序列数据,使用滤波器进行信号去噪,得到干净的子载波作为神经网络模型的输
入;
7.s2、对于同一活动样本分布难以聚敛的目标域,利用生成对抗网络和自注意力结合的技术生成虚拟样本,具体为给定目标域样本和源域样本xs,最小化下列对抗损失函数:
[0008][0009][0010]
其中ds表示源域的鉴别器,d
t
表示目标域的鉴别器,g1表示源域的生成器,g2表示目标域的生成器,xs表示源域数据集,x
t
表示目标域数据集;
[0011]
s3、给定一个标记源域{xs,ys}包括ns个样本的数据集xs和相应的标签集ys,每个样本x
s,j
在xs中与一个标签y
s,i
∈ys相关联;给定一个未标记的目标域数据集由n
t
个样本组成;将数据集xs划分为两个源域数据集和针对和设计相应的分类器和分类器输入对应的源域特征计算交叉熵损失:
[0012][0013]
表示相应源域的样本数量,e
t
表示目标域编码器,表示标签向量的转置;
[0014]
s4、固定训练好的和将另一源域中提取的特征输入当前源域的分类器中计算交叉熵损失,进行交叉对抗训练;
[0015][0016]
s5、在分类器交叉对抗训练中结合域对抗训练,将源域数据提取的特征和目标域数据提取的特征送到源域的环境判别器d
1,2
中,通过学习目标域的映射特征进行域自适应对抗训练,在训练的同一批次中计算对抗性损失,对抗性损失函数表示为:
[0017][0018][0019]
s6、利用自预测学习法挖掘无标记目标域数据中的鉴别信息,利用源域样本与批量目标域样本之间的相似性,建立匹配准则,选择目标域中的样本分配伪标签,当两个分类器和的识别结果相同并且输出的结果之和大于设定的阈值时,为目标样本分配伪标签,该过程表示为:
[0020][0021][0022]
[0023]
表示分类器的识别结果,表示分类器c
s2
的识别结果,m表示其中最大值的下标,表示x
t,i
的软标签预测,γ表示平均相似概率;
[0024]
s7、计算自预测损失,自预测损失的表达式为:
[0025][0026]
s8、通过最小化最终的损失优化目标域编码器e
t
;
[0027]
s9、针对目标域中识别精度较低的情况,利用迁移学习中的微调技术使得源域训练的模型适应新场景下的活动数据。softmax的结构取决于csi数据集中动作类别的数量,而每个数据集的动作数量并不一致。因此,当迁移到新的识别场景时,使用目标域数据x
t,j
对给定的源模型进行微调,将预训练的模型的参数重新加载,分类器中的全连接层和softmax层的权重被更高的学习率重新训练。
[0028]
优选的,所述s1中,滤波器信号去噪具体为:使用hampel滤波器去除远离数据流趋势的离群点;通过六阶巴特沃斯低通滤波器去除高频噪声;采用daubechies8小波抑制频率带内的环境噪音。
[0029]
优选的,所述s2中,采用自注意力机制对活动特征赋予更多的权重,具体做法如下述公式:
[0030]
α
i,j
=sigmod(fc(f
i,j
;w
α
))
[0031][0032]
其中fc表示全连接层,f
i,j
表示生成器前4层卷积神经网络的输出,w
α
表示相应层的权重;最后生成的虚拟样本如下表示:
[0033]
g(i)=tanh(conv(deconv(fc)+fe)))
[0034]
其中fe是第2层卷积层生成的特征图。
[0035]
此外,在学习生成器与鉴别器的映射时,要求ds(g1(xs)≈xs并且d
t
(g2(x
t
)≈x
t
。因此采用下述循环一致性损失,使网络更加稳定。循环一致性损失定义为:
[0036][0037]
优选的,所述s4中,利用未标记目标域样本x
t
的判别信息,减少一致性损失:
[0038][0039]
其中,||||表示l1-范数,n
batch
是一个批次内目标域样本的数量,n
out
是分类器和的输出维度。
[0040]
优选的,所述s4中,计算交叉熵损失函数时,使用单热标签与一个均匀分布的加权混合,具体公式为
[0041]
[0042]
其中,l代表域标签;ε是一个平滑参数,设置为0.3。
[0043]
优选的,所述s4中,定义三元组损失函数,随机选择p个活动,并为每个活动随机选择k条数据,三元组损失表述为;
[0044][0045]
其中表示第i个样本的锚、表示第i个样本的正样本,表示第i个样本的负样本;α是三元组损失的边界参数,如果设置的太小,会导致正负样本难以区分。
[0046]
优选的,所述s8中,最终的损失函数为
[0047]
l
total
(e
t
)=l
cl2
(e
t
,c
s1
,c
s2
)+α*lc(e
t
)+β*ld(e
t
)+η*l
tri
(e
t
)+ρ*l
pre
(e
t
)
[0048]
其中,α,β,η,ρ分别表示一致性损失、对抗损失、三元组损失、自预测损失函数的权重。
[0049]
优选的,所述s9中定义交叉熵损失函数:
[0050][0051]
其中x
t,j
表示少量标记的目标域数据。
[0052]
本发明所述的基于双重对抗网络的跨环境人体活动识别方法的优点和积极效果是:通过结合源域之间的交叉对抗训练以及源域和目标域之间的域对抗训练,更加有效的去除了环境特征,提高了模型对不同域的泛化能力。
[0053]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0054]
图1为本发明一种基于双重对抗网络的跨环境人体活动识别方法实施例的流程图;
[0055]
图2为本发明一种基于双重对抗网络的跨环境人体活动识别方法实施例模型框架图。
具体实施方式
[0056]
以下通过附图和实施例对本发明的技术方案作进一步说明。
[0057]
实施例
[0058]
如图1所示,一种基于双重对抗网络的跨环境人体活动识别方法,包括以下步骤:
[0059]
s1、对于源域和目标域中收集的全部csi数据,根据时间戳信息将子载波插值为等差的时间序列数据,并将数据包长度下采样为250。
[0060]
之后使用hampel滤波器去除远离数据流趋势的离群点。考虑到硬件本身带来的信道频率变化较快,处于频谱图的高频部分,通过六阶巴特沃斯低通滤波器去除高频噪声。使用离散小波变换技术,采用daubechies8小波抑制频率带内的环境噪音。得到的干净的子载
波作为神经网络模型的输入。
[0061]
s2、给定源域中的标记数据xs和目标域中的未标记数据x
t
,通过卷积层和逆卷积层组成的生成器g1和g2生成虚拟样本,并利用由卷积层组成的鉴别器判别样本的真假。具体为最小化下列对抗损失函数:
[0062][0063][0064]
为了更好的生成目标域中的活动数据,采用全连接层的输出作为注意力掩码,为活动特征赋予更多的权重,具体做法如下述公式:
[0065]
α
i,j
=sigmod(fc(f
i,j
;w
α
))
[0066][0067]
其中fc表示全连接层,f
i,j
表示生成器前四层卷积神经网络的输出,w
α
表示相应层的权重.最后生成的虚拟样本如下表示:
[0068]
g(i)=tanh(conv(deconv(fc)+fe)))
[0069]
其中fe是第2步卷积层生成的特征图。
[0070]
此外,在学习生成器与判别器的映射时,要求ds(g1(xs)≈xs并且d
t
(g2(x
t
)≈x
t
。因此采用下述循环一致性损失,使网络更加稳定。循环一致性损失定义为:
[0071][0072]
s3、假设在一个环境(称为原始环境,源域)中收集ns个csi帧xs和标签ys(活动的真实标签)。第一步是训练源表示映射(源编码器)es和准确的源手势分类器cs。本发明的es使用卷积神经网络(cnn)架构,如附图2所示。es由三个2d卷积层和下采样层的级联组成。卷积层的输出维度以及核尺寸大小分别为32@7*7,64@5*4和96@3*3,使用非线性激活函数(relu)来提取局部特征。下采样层旨在降低数据的维数,同时通过最大池化来保证特征图的不变性。通过es得到的特征张量大小为96@4*4,经过全连接层组成的分类器cs将其映射到二进制标签输出。其中全连接层的第一层使用relu作为激活函数,第二层使用softmax作为激活函数。为了防止网络对源域数据的过拟合,我们在第二个线性层之后加入dropout层。在计算交叉熵损失之后,利用adam'作为优化器。逐层反向传播,优化模型参数。目标可以总结为以下优化:
[0073][0074]
给定一个标记源域{xs,ys}包括ns个样本的数据集xs和相应的标签集ys,每个样本x
s,j
在xs中与一个标签y
s,i
∈ys相关联。给定一个未标记的目标域由n
t
个样本组成;将数据集xs划分为两个源域数据集和针对和设计相应的分类器和目标域编码器e
t
利用源域编码器es的参数初始化并提取特征,分类器首先输入对应的源域特征计算交叉熵损失:
[0075]
[0076]
表示相应源域的样本数量,e
t
表示目标域编码器,表示标签向量的转置。
[0077]
s4、首先,固定训练好的和为提高分类器对活动特征的辨识能力,我们将另一源域中提取的特征送入当前源域的分类器中计算交叉熵损失,进行交叉对抗训练;
[0078][0079]
通过在损失函数之间进行对抗学习,两个分类器的识别能力会逐渐提高,迫使目标域编码器提取域不变特征,确保和在同一样本上交叉使用后和交叉使用前输出的一致性。因此,目标域编码器e
t
具有提取域不变特征的能力。
[0080]
通过利用目标域的未标记样本学习鲁棒和有区别的特征表示。如上所述,和能够正确识别对应源域数据的活动。如果仅利用源域数据交叉训练,和可能会因环境的变化而导致失去原有的识别新数据的能力。为了解决这一问题,利用未标记目标域样本x
t
的判别信息,减少以下一致性损失
[0081][0082]
其中,||||表示l1-范数,n
batch
是一个批次内目标域样本的数量,n
out
是分类器和的输出维度。
[0083]
为防止提取特征对误分类数据的过度拟合,我们利用标签平滑化软化样本的标签。具体为在计算交叉熵损失函数时,不直接使用单热标签,而是使用单热标签与一个均匀分布的加权混合,具体公式为:
[0084][0085]
其中,l代表域标签;ε是一个平滑参数,设置为0.3。
[0086]
为进一步提高学习特征的判别性,定义三元组损失函数,其在深度学习中主要用于训练差异较小的样本,对于每个批次,随机选择p个活动,并为每个活动随机选择k条数据,三元组损失表述为;
[0087][0088]
其中表示第i个样本的锚、表示第i个样本的正样本,表示第i个样本的负样本;α是三元组损失的边界参数,如果设置的太小,会导致正负样本难以区分,其值经验
设置为0.3。
[0089]
s5、设计源域环境判别器网络d
1,2
减小目标域空间和源域空间特征的分布差异,它包含三层全连接层将编码器特征映射到二进制输出,其中前两层使用relu激活函数,最后一层使用logsoftmax激活函数,在这里同样加入dropout层。类似于生成对抗网络中的对抗训练模式,但标签是域标签(源和目标),而不是假标签和真标签。我们将源域数据提取的特征和目标域数据提取的特征送到域判别器网络结构中,使判别器无法区分源和目标样本的域标签,从而提高模型应用于新域时的泛化性能。对抗性损失可以表示为;
[0090][0091][0092]
s6、选择目标域中一些样本,并通过赋予伪标签的方法提升模型的识别性能,当两个分类器和的识别结果相同并且输出的结果之和大于设定的阈值时,为目标样本分配伪标签,该过程表示为:
[0093][0094][0095][0096]
表示分类器的识别结果,表示分类器c
s2
的识别结果,m表示其中最大值的下标,表示x
t,i
的软标签预测,平均相似概率γ阈值设置为0.8。
[0097]
s7、根据上述选择标准,从未标记的目标域中选择一些样本来进一步优化模型。通过最小化自预测损失优化目标域编码器e
t
,自预测损失的表达式为:
[0098][0099]
s8、通过最小化最终的损失优化目标域编码器e
t
。
[0100]
最终的损失函数为
[0101]
l
total
(e
t
)=l
cl2
(e
t
,c
s1
,c
s2
)+α*lc(e
t
)+β*ld(e
t
)+η*l
tri
(e
t
)+ρ*l
pre
(e
t
)
[0102]
其中,α,β,η,ρ分别表示一致性损失、对抗损失、三元组损失、自预测损失函数的权重。
[0103]
s9、在识别精度较低的目标域中,利用预训练的模型,将模型参数重新加载,在此过程中微调整个网络,分类器中的全连接层和softmax层的权重被更高的学习率重新训练。经过少量次数迭代后,得到更好的适配新场景的模型。
[0104]
微调整个网络时交叉熵损失函数为:
[0105][0106]
其中x
t,j
表示少量标记的目标域数据。
[0107]
本发明所述的一种基于双重对抗网络的跨环境人体活动识别方法,不需要目标域中标记的活动信息,有效抑制了环境变化导致源域训练的模型无法应用到目标环境中的问题,提升了活动感测模型的跨环境识别性能。
[0108]
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
技术特征:
1.一种基于双重对抗网络的跨环境人体活动识别方法,其特征在于,包括以下步骤:s1、对于源域和目标域中收集的全部csi数据,根据时间戳信息将子载波插值为等差的时间序列数据,使用滤波器进行信号去噪,得到干净的子载波作为神经网络模型的输入;s2、利用轮廓系数判断目标域中活动的分布是否聚敛,对于同一活动分布距离较大,难以聚敛的目标域,利用生成对抗网络和自注意力结合的技术生成符合目标域活动特征分布的虚拟样本,并输入模型用于训练;具体为给定目标域样本和源域样本,最小化下列对抗损失函数:失函数:其中d
s
表示源域的鉴别器,d
t
表示目标域的鉴别器,g1表示源域的生成器,g2表示目标域的生成器,x
s
表示源域数据集,x
t
表示目标域数据集;s3、给定一个标记源域{x
s
,y
s
}包括n
s
个样本的数据集x
s
和相应的标签集y
s
,每个样本x
s,j
在x
s
中与一个标签y
s,i
∈y
s
相关联;给定一个未标记的目标域数据集由n
t
个样本组成;将数据集x
s
划分为两个源域数据集和针对和设计相应的分类器和分类器输入对应的源域特征计算交叉熵损失:分类器输入对应的源域特征计算交叉熵损失:表示相应源域的样本数量,e
t
表示目标域编码器,表示标签向量的转置;s4、固定训练好的分类器和将另一源域中提取的特征输入当前源域的分类器中计算交叉熵损失,进行交叉对抗训练;s5、在分类器交叉对抗训练中结合域对抗训练,将源域数据提取的特征和目标域数据提取的特征送到源域的环境判别器d
1,2
,通过学习目标域的映射特征进行域自适应对抗训练,在训练的同一批次中计算对抗性损失,对抗性损失函数表示为:练,在训练的同一批次中计算对抗性损失,对抗性损失函数表示为:s6、利用自预测学习法挖掘无标记目标域数据中的鉴别信息,利用源域样本与批量目标域样本之间的相似性,建立匹配准则,选择目标域中的样本分配伪标签,当两个分类器和的识别结果相同并且输出的结果之和大于设定的阈值时,为目标样本分配伪标签,该过程表示为:
表示分类器的识别结果,表示分类器c
s2
的识别结果,m表示其中最大值的下标,表示x
t,i
的软标签预测,γ表示平均相似概率;s7、计算自预测损失,自预测损失的表达式为:s8、通过最小化最终的损失优化目标域编码器e
t
;s9、当在目标域中的识别准确率较低时,利用迁移学习中的微调技术,即利用少量目标域中的标记样本使模型更好的适应新场景;将预训练的模型的参数重新加载,分类器中的全连接层和softmax层的权重被更高的学习率重新训练。2.根据权利要求1所述的一种基于双重对抗网络的跨环境人体活动识别方法,其特征在于,所述s1中,滤波器信号去噪具体为:使用hampel滤波器去除远离数据流趋势的离群点;通过六阶巴特沃斯低通滤波器去除高频噪声;采用daubechies8小波抑制频率带内的环境噪音。3.根据权利要求1中所述的一种基于双重对抗网络的跨环境人体活动识别方法,其特征在于:所述s2中,虚拟样本生成方法为,采用自注意力机制对活动特征赋予更多的权重,具体做法如下述公式:α
i,j
=sig mod(fc(f
i,j
;w
α
))其中fc表示全连接层,f
i,j
表示生成器前4层卷积神经网络的输出,w
α
表示相应层的权重;最后生成的虚拟样本如下表示:g(i)=tanh(conv(deconv(f
c
)+f
e
)))其中f
e
是第2层卷积层生成的特征图;在学习生成器与鉴别器的映射时,要求d
s
(g1(x
s
)≈x
s
并且d
t
(g2(x
t
)≈x
t
;采用下述循环一致性损失,使网络更加稳定;循环一致性损失定义为:4.根据权利要求1所述的一种基于双重对抗网络的跨环境人体活动识别方法,其特征在于:所述s4中,利用未标记目标域样本x
t
的判别信息,减少一致性损失:其中,|| ||表示l1-范数,n
batch
是一个批次内目标域样本的数量,n
out
是分类器和的输出维度。5.根据权利要求1所述的一种基于双重对抗网络的跨环境人体活动识别方法,其特征在于:所述s4中,计算交叉熵损失函数时,使用单热标签与一个均匀分布的加权混合,具体
公式为其中,l代表域标签;ε是一个平滑参数。6.根据权利要求1所述的一种基于双重对抗网络的跨环境人体活动识别方法,其特征在于:所述s4中,定义三元组损失函数,随机选择p个活动,并为每个活动随机选择k条数据,三元组损失表述为;其中表示第i个样本的锚、表示第i个样本的正样本,表示第i个样本的负样本;α是三元组损失的边界参数,如果设置的太小,会导致正负样本难以区分。7.根据权利要求1所述的一种基于双重对抗网络的跨环境人体活动识别方法,其特征在于:所述s8中,最终的损失函数为;l
total
(e
t
)=l
cl2
(e
t
,c
s1
,c
s2
)+α*l
c
(e
t
)+β*l
d
(e
t
)+η*l
tri
(e
t
)+ρ*l
pre
(e
t
)其中,α,β,η,ρ分别表示一致性损失、对抗损失、三元组损失、自预测损失函数的权重。8.根据权利要求1所述的一种基于双重对抗网络的跨环境人体活动识别方法,其特征在于:所述s9中定义交叉熵损失函数:其中x
t,j
表示少量标记的目标域数据。
技术总结
本发明公开了一种基于双重对抗网络的跨环境人体活动识别方法,属于人体活动识别技术领域。包括:S1、去噪处理;S2、当目标域活动分布距离较远时,结合自注意力机制和生成对抗网络生成虚拟样本;S3、在分类器中输入相应源域特征计算交叉熵损失;S4、将另一源域中特征输入当前源域的分类器进行交叉对抗训练;S5、在分类器交叉对抗训练中结合域对抗训练,在训练的同一批次中计算对抗损失;S6、利用自预测学习技术生成伪标签;S7、计算自预测损失;S8、最小化最终的损失;S9、对于准确率达不到预设标准的目标域,通过少量标记样本微调模型。本发明通过结合源域之间的交叉对抗训练以及源域和目标域之间的域对抗训练,有效提高模型对不同域的泛化能力。域的泛化能力。域的泛化能力。
技术研发人员:生龙 陈玥 陈炜 魏忠诚 王超 赵继军
受保护的技术使用者:河北工程大学
技术研发日:2023.07.19
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
