首页 基于WiFi CSI数据检测人体活动
文章
取消

基于WiFi CSI数据检测人体活动

WiFi CSI 背景知识参考

目标为基于WiFi CSI数据,训练深度学习模型实现分类:无人、摔倒、其他人体活动(例如行走)

数据采集

第一次采集

一个样本的格式:

  • 数据包数量:1000(浮动)
  • 发射器数量:2
  • 接收器数量:3
  • 载波数:30

单个样本的可视化方法如下,横轴为数据包编号,纵轴为载波数,图像展示的是振幅,展示了所有(发射器,接收器)对,一共6对。

摔倒(一个样本):

无人(一个样本):

站立(一个样本):

第一次采集的数据样本较少,为实验性质的测试。

第二次采集

样本总数在300左右。一个样本的格式:

  • 数据包数量:400(浮动)
  • 发射器数量:2
  • 接收器数量:3
  • 载波数:30

单个样本的可视化方法如下,横轴为数据包编号,纵轴为载波数,图像展示的是振幅,展示了所有(发射器,接收器)对,一共6对。

无人(一个样本):

行走(一个样本):

摔倒(一个样本):

第二次采集数据时使用了新的环境配置方法,但从数据质量上看似乎不如第一次,会有一些(发射器,接收器)对没有信号记录。

数据处理

对第二次采集到的300个样本进行处理:

  1. 对于数据包数量小于400的样本,忽略。
  2. 对于数据包数量大于等于400的样本,截取中间的400个数据包。
  3. 对每个样本的6个(发射器,接收器)对进行数值上的相加(由于上面提到的,有些对没有信号记录),因此每个样本的维度为(数据包数量,载波数)
  4. 对每个样本进行归一化。

当环境中有人的存在时,大约一半的样本中数据包小于400,为了利用更多的样本,在几次实验中改为忽略“数据包数量小于380的样本”

处理后的每个类别的数据:

模型

BiLSTM

调参记录:

Learning rateHidden dimNum layersDropoutBidirectionalTraining AccuracyValidation Accuracy
0.000525620.2TRUE10.84
0.000525610.2TRUE10.84
0.000512810.2TRUE10.84
0.000512810.4TRUE10.84
0.00056410.2TRUE10.81
0.000525620.2FALSE10.79
0.000525610.2FALSE10.79
0.00125620.2TRUE0.66260.6818

每个批次损失:

每代(epoch)训练集准确率:

每代(epoch)验证集准确率:

其他信息:

  • 损失函数:交叉熵损失(Softmax分类器)
  • 优化器:Adam
  • 正则化:使用Dropout,权重衰减
  • 参数量(最好的模型):205187
  • 参数初始化:Xavier初始化
  • 样本量:约300,每个类别约100(共3类),训练集与验证集比例为4:1
  • 数据集大小:约26MB
  • GPU:RTX4090
  • 显存消耗:4G足够
  • 训练时间:训练到收敛小于10分钟

Transformer

调参记录:

Value DimensionAttention DimensionDecode Sequence LengthDecode LayersEncode LayersHeadsLearning RateWeight DecayTraining AccuracyValidation Accuracy
321644440.0001010.96
321684440.0001010.96
321642220.001010.94
16842220.001010.88
10583330.001010.81
10542220.001010.81
16844440.001010.81
16842240.001010.81
105163330.001010.79
10543330.001010.79
16842220.0010.010.990.79
10513330.00100.980.77
1051003330.001010.77
10533330.0010.010.980.77
16841120.001010.75
1053003330.001010.68
321644440.0010无法收敛无法收敛

各个参数的意义:

每个批次损失:

每代(epoch)训练集准确率:

每代(epoch)验证集准确率:

其他信息:

  • 损失函数:交叉熵损失(Softmax分类器)
  • 优化器:Adam
  • 正则化:使用L2正则化,layer normalization(Transformer),权重衰减
  • 参数量(最好的模型):168003
  • 样本量:约300,每个类别约100(共3类),训练集与验证集比例为4:1
  • 数据集大小:约26MB
  • GPU:RTX4090
  • 显存消耗:4G足够
  • 训练时间:训练到收敛小于10分钟
本文由作者按照 CC BY 4.0 进行授权

搭一个AIGC支持的现代论坛!

图像生成:GAN、AE、VAE、DALL-E2、Stable Diffusion