Widar3.0官网:Widar3.0
前言
因为博主本学期需要进行毕业设计,具体为通过WiFi感知进行手势识别,其中涉及到数据处理、特征提取、深度学习等内容,需要大量数据进行实验,所以使用widar3.0数据集进行前期准备工作。
该博主对Widar3.0论文的阅读笔记,推荐阅读:
Zero-Effort Cross-Domain Gesture Recognition with Wi-Fi
数据集内容
在官网下载完整数据集(数据量80G左右,注意存储空间)后,解压缩完毕,可以看到以下几部分内容:
- BVP:通过CSI转换后的人体坐标系下速度谱(Body-coordinate Velocity Profile, BVP)数据
- BVPExtractionCode:进行BVP提取的代码
- CSI:信道状态信息(Channel State Information)数据集
- csi_tool_box:包含关于CSI进行处理的函数,核心文件:
- csi_get_all.m
- read_bf_file.m
- read_bfee.c
- DFSExtractionCode:多普勒频率(Doppler frequency)转换代码
- DNN_Model:训练模型文件
运行代码
在matlab创建工程后导入BVPExtractionCode中的代码
在运行之前应当安装一些matlab的插件
打开:主页->附加功能->获取附加功能,安装以下几个即可
安装完成后,运行generate_vs.m,命令行显示以下内容,说明程序运行成功,正在进行优化,具体算法请看Zero-Effort Cross-Domain Gesture Recognition with Wi-Fi
运行两分钟左右,优化完毕,生成BVP数据(保存在BVP文件夹下)和频谱图
如果各位不太清楚代码的含义,可以结合chatgpt和我的代码学习笔记:
Widar3.0:Matlab代码学习笔记
widar3_keras.py
运行过程中的问题
- import导包
- 本人使用的anaconda环境,已有python源版本过高,无法安装tensorflow和keras
- 选择换源,anaconda,新增python源(anaconda是2.5,默认的python是3.11,下载tensorflow会有问题,我换成python3.10了,没有出现问题)
- 版本不匹配的需要手动安装,open terminal->pip install XXXX
- 相对路径和觉得路径的问题
- 导致读不到数据
- 文件名要匹配
- user1-1-1-3-8-1-1e-07-100-20-100000-L0.mat
- 第一次为user1-user1-1-1-3-8-1-1e-07-100-20-100000-L0.mat
- 报错:With n_samples=1, test_size=0.1 and train_size=None, the resulting train set will be empty. Adjust any of the aforementioned parameters.
- 缺少样本:增加数据集容量
解决以上问题后,运行程序,查看训练后的结果:
我上传了自己能跑通的py文件,可以参考一下,写了一些注释: Widar3_Dnn_Model
在widar3-Karas.py中,data_dir读取的是.mat文件,这些文件可以在Widar3.0项目的BVP目录下找到,这些数据是经过matlab处理的CSI数据,matlab代码可以去看看我的另一篇文章