Buckets:
316 MB
3 files
Updated 6 months ago
Ctrl+K
| Name | Size | Uploaded | Xet hash |
|---|---|---|---|
| README.md | 3.5 kB xet | 995ad065 | |
| best.ckpt | 158 MB xet | 0a1b92be | |
| last.ckpt | 158 MB xet | 0a1b92be |
Person-in-WiFi 3D — Pretrained Checkpoints
Re-implementation of Person-in-WiFi 3D (CVPR 2024).
Estimates 3D human body keypoints from Wi-Fi Channel State Information (CSI) — no camera required.
Files
| File | Description |
|---|---|
best.ckpt |
Best checkpoint (lowest val MPJPE during training) |
last.ckpt |
Final checkpoint (epoch 500) |
Training Setup
| Epochs | 500 |
| Batch size | 180 |
| Optimizer | AdamW, lr=2e-5, wd=1e-4 |
| LR decay | ×0.1 at epoch 450 |
| Hardware | NVIDIA GeForce RTX 4070 (11.6 GB) |
| Training time | ~48 hours |
| Framework | PyTorch Lightning |
Results (best.ckpt)
Overall by person count (mm):
| Metric | 1-person | 2-person | 3-person | Overall |
|---|---|---|---|---|
| MPJPE | 90.4 | 102.0 | 118.0 | 103.0 |
| MPJDLE(h) | 40.6 | 47.6 | 55.0 | 47.5 |
| MPJDLE(v) | 46.8 | 55.7 | 65.2 | 55.7 |
| MPJDLE(d) | 46.3 | 47.5 | 53.7 | 48.9 |
Per-joint breakdown (mm):
| Joint | MPJPE | MPJDLE(h) | MPJDLE(v) | MPJDLE(d) |
|---|---|---|---|---|
| neck | 83.6 | 36.5 | 46.4 | 39.9 |
| head | 90.4 | 38.9 | 51.0 | 42.6 |
| left shoulder | 91.0 | 43.2 | 49.6 | 40.7 |
| right shoulder | 92.2 | 43.9 | 50.3 | 41.1 |
| left elbow | 117.1 | 58.2 | 63.1 | 51.2 |
| left hip | 74.6 | 35.0 | 40.8 | 35.5 |
| right elbow | 122.8 | 60.0 | 67.0 | 53.2 |
| right hip | 75.0 | 35.5 | 40.6 | 36.0 |
| left hand | 165.1 | 80.0 | 76.1 | 87.7 |
| left knee | 82.7 | 36.0 | 50.6 | 36.5 |
| right hand | 179.2 | 85.7 | 84.2 | 93.8 |
| right knee | 84.1 | 36.8 | 51.2 | 37.7 |
| left ankle | 92.1 | 38.2 | 54.4 | 43.7 |
| right ankle | 91.9 | 37.8 | 53.8 | 44.6 |
| Mean | 103.0 | 47.5 | 55.7 | 48.9 |
Usage
1. Download checkpoints
hf sync hf://buckets/VuNgocDuong/Hpe-task ./work_dirs
2. Clone repo & install
git clone https://github.com/Duongvu05/hpe_task
cd hpe_task
uv sync
3. Evaluate
./evaluate.sh \
--checkpoint work_dirs/best.ckpt \
--train-root train_data \
--test-root test_data
4. Resume training
./train.sh --resume-from work_dirs/best.ckpt
Model Architecture
Wi-Fi CSI [B, 3, 3, 20, 60]
│
▼ Linear projection + STE positional encoding
│
Encoder (6 × Transformer, 8 heads, dim=256)
│
▼ Two-stage proposals (top-100 encoder outputs)
│
Decoder (3 × Transformer) — iterative keypoint refinement
│
▼ Hungarian matching → positive instances only
│
Refine Decoder (3 × Transformer)
│
▼
Output: [B, 100, 14, 3] (14 keypoints × xyz, mm)
| Parameters | ~13.2 M |
| Input | [B, 3, 3, 20, 60] CSI tensor |
| Output | Up to 3 persons × 14 keypoints × 3D coords |
| Keypoints | neck, head, shoulders, elbows, hips, hands, knees, ankles |
Reference
@inproceedings{yan2024personinwifi3d,
title = {Person-in-WiFi 3D: End-to-End Multi-Person 3D Pose Estimation with Wi-Fi},
author = {Yan, Xinyan and Wang, Xu},
booktitle = {CVPR},
year = {2024}
}
- Total size
- 316 MB
- Files
- 3
- Last updated
- Apr 27
- Pre-warmed CDN
- US EU US EU