Skip to content

ychAlbert/AdaptiFi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WiFi CSI 活动与位置识别系统

基于深度学习的WiFi信道状态信息(CSI)活动与位置识别系统,使用改进的ResNet架构实现高精度的人体活动和位置同时识别。

项目概述

本项目利用WiFi信号的信道状态信息(CSI)数据,通过深度学习方法同时识别人体活动类型和所处位置。系统具有以下特点:

  • 支持多种损失函数(原始损失、交叉损失、焦点损失)
  • 可处理多天线数据,并支持注意力机制
  • 基于改进的ResNet架构,针对CSI数据特性进行优化
  • 支持载波数量归一化处理

环境要求

  • Python 3.6+
  • PyTorch 1.7+
  • NumPy
  • SciPy
  • Matplotlib (用于可视化)

数据集结构

dataset/
├── normalized/     # 归一化后的数据
├── testset.mat     # 测试集
└── trainset.mat    # 训练集

模型架构

项目包含多个模型实现:

  • FlexibleResNet: 主要模型,基于ResNet架构的改进版本
  • 支持BasicBlock构建块
  • 支持多天线数据的注意力机制

使用方法

训练模型

python main.py --batch-size 64 --num-epochs 200 --lr 3e-4 --dataset dataset --device cuda

主要参数

  • --batch-size: 训练批量大小 (默认: 64)
  • --num-epochs: 训练轮数 (默认: 200)
  • --lr: 学习率 (默认: 3e-4)
  • --dataset: 数据集路径 (默认: 'dataset')
  • --device: 使用设备 (默认: 'cuda')
  • --checkpoint-dir: 模型保存路径 (默认: 'checkpoints')
  • --loss-type: 损失函数类型 ['origin', 'cross', 'focal'] (默认: 'origin')
  • --classes-act: 活动类别数量 (默认: 6)
  • --classes-loc: 位置类别数量 (默认: 16)
  • --target-carriers: 归一化到的目标载波数量 (默认: 52)
  • --use-attention: 是否使用注意力机制 (默认: False)

项目结构

.
├── main.py                # 主程序入口
├── main_set.py            # 主要设置和配置
├── models/                # 模型定义
│   ├── apl_modif.py       # 主要使用的模型
│   └── ...                # 其他模型变体
└── utils/                 # 工具函数
    ├── __init__.py
    ├── LRScheduler.py     # 学习率调度器
    └── dataset_utils.py   # 数据集处理工具

训练过程

系统会同时训练活动识别和位置识别两个任务,并在测试集上评估性能。训练过程中会保存性能最佳的模型。

性能指标

  • 活动识别准确率
  • 位置识别准确率

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published