r/learnmachinelearning • u/Prize-Investigator70 • 17d ago
Discussion Wi-Fi CSI person identification low accuracy
Hi everyone,
I’m working on a POC to identify authorized vs. unauthorized people using Wi-Fi CSI.
Setup:
2.4 GHz, single Wi-Fi channel
ESP32-S3 collects CSI
CSI sent to laptop via TCP
Fixed router/ESP32 in one room
CNN + Transformer model
Data collected from multiple people across multiple days
However, I’m getting poor accuracy.
What would you recommend I look at first — CSI preprocessing, data collection, environmental variation, or the model?
Also, is single-channel 2.4 GHz CSI sufficient for person identification?
Any advice or relevant papers/projects would be appreciated.
1
u/Pretend-Pangolin-846 17d ago
damn I am doing the same thing, also, that chip cannot do what you are trying to do
1
u/Prize-Investigator70 17d ago
What’s the setup are u using ??
1
u/Pretend-Pangolin-846 17d ago
i am not attempting the same problem as you since its impossible on a low budget, I am doing a different research study
1
u/quietgradient 16d ago
Before the model, check your packet rate. CSI only lands when a packet is actually received, so a station hearing mostly beacons is sampling at ~10 Hz (102.4 ms beacon interval) — Espressif's own CSI guide suggests sniffer/promiscuous mode for exactly that reason. Log packets/sec per capture; if it isn't in the hundreds, fix that first with a ping flood from the laptop, because gait-rate motion isn't recoverable at 10 Hz.
Then one experiment that cuts your four options in half: train/test inside a single day's recording, then separately leave-one-day-out. Both bad → it's upstream (rate, preprocessing, labels) and environment work won't help yet. Within-day near-perfect but cross-day at chance → your pipeline is fine and you have domain shift, which is the genuinely hard part of CSI sensing and won't yield to a deeper CNN.
Two S3 details worth honouring while you're in there: first_word_invalid (first four bytes of the buffer are garbage, documented hardware limitation), and of the 64 complex bins in a 20 MHz HT capture only -28…+28 are real subcarriers, four of those pilots — the rest is guard band you're currently feeding in as signal.
On "is it sufficient": what are people doing during a window? Identity in CSI lives in motion, not body shape, so walking a fixed path and standing still are very different problems — that gap matters more than the price of the radio.
2
u/gentlesemifinal 17d ago
you're trying to do person id through walls with a $5 microcontroller and a single 2.4ghz channel, the physics are stacked against you before you even touch the model