Skip to content

Real-time CSI sensing system for multi-device Wi-Fi signal processing, Butterworth-based filtering, and deep learning-based activity & location recognition with visual feedback.

License

Notifications You must be signed in to change notification settings

thkimKETI/csi-sensing

Repository files navigation

📡 Real-Time CSI Visualization & Human Activity Recognition System

This repository provides a real-time CSI sensing system that processes Wi-Fi Channel State Information (CSI) for multi-device visualization and deep learning-based human activity and location recognition. It supports 1 or 2 ESP32-S3 devices and includes both SVM and deep neural models (2D CNN, Transformer). CSI data is denoised using a Butterworth filter, and visualized via a PyQt5 GUI interface.


🔧 Features

  • 🧠 Real-time inference of both human activity and zone-based location
  • 📊 PyQt5 GUI with CSI heatmaps and prediction display
  • 🧼 Preprocessing pipeline using Butterworth filtering
  • 🧮 Supports SVM, 2D CNN, and Transformer models
  • 📡 Real-time CSI streaming via MQTT from ESP32-S3 devices
  • 💾 Timestamped CSI data logging for training and analysis

🛠 Requirements

All dependencies are listed in requirements.txt.

pip install -r requirements.txt

💡 Please ensure the correct versions are installed to avoid compatibility issues.


📦 Pretrained Weights

Download pretrained models below. Place them in the root directory (./) after downloading:

✅ Neural Network Models

ESP Devices Location Model (2D CNN) Activity Model (Transformer)
1 Device 📥 Download 📥 Download
2 Devices 📥 Download 📥 Download

✅ SVM Models

ESP Devices Location Model (SVM) Activity Model (SVM)
1 Device 📥 Download 📥 Download
2 Devices 📥 Download 📥 Download

🚀 How to Run

1. Set up MQTT

✅ For 1D sensing (single ESP)

# Edit mqtt_config_1D.py 
BROKER_ADDRESS = "localhost"
PORT = 1883
TOPIC = "csi/data"
MAC_ADDRESS = ["MAC_1"]

✅ Two ESP Devices (2D Configuration)

# Edit mqtt_config_2D.py 
BROKER_ADDRESS = "localhost"
PORT = 1883
TOPIC = "csi/data"
MAC_ADDRESS = ["MAC_1", "MAC_2"]

2. Run by Model Type

Each script assumes real-time inference (batch = 1) and supports both action and location recognition, depending on the task selected internally.

✅ Single ESP Device (1D Configuration)

# Neural model (2D CNN for localization, Transformer for action recognition)
python 1D_csi_sensing_nn.py

# Classical SVM model
python 1D_csi_sensing_svm.py

✅ Two ESP Devices (2D Configuration)

# Neural model (2D CNN for localization, Transformer for action recognition)
python 2D_csi_sensing_nn.py

# Classical SVM model
python 2D_csi_sensing_svm.py

📄 Publications

  1. Taehyeon Kim, et al.
    Wifi Channel State Information Sensing based on Introspective Metric Learning
    IEEE ICSPIS, 2024
    🔗 Link

  2. Taehyeon Kim, et al.
    WiFi's Unspoken Tales: Deep Neural Network Decodes Human Behavior from Channel State Information
    IEEE/ACM BDCAT, 2023
    🔗 Link

  3. Taehyeon Kim, et al.
    Neural Representation Learning for WiFi Channel State Information: A Unified Model for Action and Location Recognition
    To be submitted, IEEE Access, 2025


🧑‍💻 Maintainers

Taehyeon Kim, Ph.D.
Senior Researcher, Korea Electronics Technology Institute (KETI)
📧 taehyeon.kim@keti.re.kr | 🌐 Homepage

Dongwoo Kang
Researcher, Korea Electronics Technology Institute (KETI)
📧 dongwookang@keti.re.kr


📜 License

This project is released under a custom license inspired by the MIT License.
See LICENSE for full terms.

⚠️ Important Notice:
Use of this code — including academic research, model training, product integration, or distribution — requires prior written permission from the authors.


🙏 Acknowledgments

This research was supported by the Technology Innovation Program [20026230] Development of AIoT device utilizing Channel State Information (CSI) for AI-based lifestyle recognition, funded by the Ministry of Trade, Industry & Energy (MOTIE) and the Korea Evaluation Institute of Industrial Technology (KEIT).

About

Real-time CSI sensing system for multi-device Wi-Fi signal processing, Butterworth-based filtering, and deep learning-based activity & location recognition with visual feedback.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages