License: CC BY 4.0 — free to use, share, and adapt with attribution.
A PyTorch framework for training and evaluating deep learning models on mmWave ISAC datasets, covering gesture recognition, pose estimation, localization, and gait identification.
📄 IEEE Access Paper · 📦 Download Dataset (IEEE DataPort)
| Name | Task | Type |
|---|---|---|
| mmWGesture | mmWave gesture recognition | Classification |
| 5GmmGesture | 5G mmWave gesture recognition | Classification |
| mmWPose | mmWave skeletal pose estimation | Regression |
| DISAC-mmVRPose | VR-based mmWave pose estimation | Regression |
| mmW-Loc | mmWave localization (+ optional background subtraction) | Classification |
| mmW-GaitID | mmWave gait identification (+ optional background subtraction) | Classification |
pip install -r requirements.txtDownload the dataset from IEEE DataPort and extract it. The data is organized into per-dataset subfolders:
/path/to/mmhsense/
├── mmWGesture/
│ ├── BeamSNR_60GHz_data_ENV1.pth
│ └── BeamSNR_60GHz_labels_ENV1.pth
├── 5GmmGesture/
│ ├── PPBP_data_user1.pth
│ └── labels_user1.pth
├── mmWPose/
│ ├── CSI_60GHz_data_user1.pth
│ └── CSI_60GHz_labels_user1.pth
├── DISAC-mmVRPose/
│ ├── X_train_user1
│ └── y_train_user1
├── mmW-Loc/
│ ├── 60GHz_X_y_combined_loc_with_background_subtraction.pth
│ └── 60GHz_X_y_combined_loc_without_background_subtraction.pth
└── mmW-GaitID/
├── 60GHz_X_y_combined_GaitID_with_background_subtraction.pth
└── 60GHz_X_y_combined_GaitID_without_background_subtraction.pth
Edit config.yaml to select your dataset and point to the data directory:
dataset: mmWGesture # mmWGesture | 5GmmGesture | mmWPose | DISAC-mmVRPose | mmW-Loc | mmW-GaitID
data_dir: /path/to/mmhsense # folder containing the dataset subfolders above
epochs: 10
batch_size: 32
lr: 0.001
background: false # Enable background subtraction (mmW-Loc and mmW-GaitID only)python main.pyOr point to a custom config file:
python main.py --config config.yaml- Generic ResNet18 backbone with flexible input channels, supporting all datasets out of the box
- Classification and regression tasks via
CrossEntropyLossandMSELoss - Stratified 80/10/10 train/val/test split with best-val-accuracy checkpointing
- Optional background subtraction for localization and gait datasets
If you use mmHSense in your research, please cite:
@ARTICLE{11511681,
author = {Bhat, Nabeel Nisar and Karnaukh, Maksim and Vandenbroeke, Stein and Lemoine, Wouter
and Struye, Jakob and Kumar, Siddhartha and Moghaddam, Mohammad Hossein
and Lacruz, Jesus Omar and Widmer, Joerg and Berkvens, Rafael and Famaey, Jeroen},
journal = {IEEE Access},
title = {mmHSense: Multi-Modal and Distributed mmWave ISAC Datasets for Human Sensing},
year = {2026},
volume = {14},
pages = {69961--69971},
doi = {10.1109/ACCESS.2026.3691174}
}The dataset is actively used by several recent works spanning gesture recognition, gait analysis, and sensing–communication trade-off studies.
mmGAN: Semi-Supervised GAN for Improved Gesture Recognition in mmWave ISAC Systems Shows that semi-supervised GANs trained on mmHSense significantly improve gesture recognition accuracy when labeled data is scarce. → IEEE Xplore
Beyond Sub-6 GHz: mmWave Wi-Fi for Gait-Based Person Identification Explores gait-based person identification with mmWave Wi-Fi as a privacy-preserving alternative to vision-based systems. → arXiv Code
Millimeter-Wave Gesture Recognition in ISAC: Does Reducing Sensing Airtime Hamper Accuracy? Demonstrates that reducing sensing to just 25% of airtime causes only a 0.15% accuracy drop — enabling high-quality sensing with minimal communication overhead, ideal for wireless XR applications. → arXiv · Code
