A single Wi-Fi link is a good occupancy switch. The jump from is anyone here to how many people are here sounds small, but it crosses a line in the physics. Presence is a threshold on a clean signal; counting is an estimate from a messy one. Understanding why is the key to not over-trusting a counter you build.
01Why counting is harder than presence
Presence detection, which we cover in camera-free room occupancy, works because one moving person disturbs the channel far more than an empty room ever does. You set a threshold on how much the CSI is changing and you have a reliable yes-or-no answer. The signal does not need to be proportional to anything; it just needs to clear the bar.
Counting asks the signal to be proportional, and it is not, at least not cleanly. Two people in a link do not disturb it exactly twice as much as one. They can stand in each other's radio shadow, so the second person adds almost nothing. They can move in opposite directions and partly cancel. One can be pacing while another sits perfectly still and barely registers at all. The channel reports total motion, and total motion is only loosely tied to the number of bodies producing it.
02The core signal: motion energy
Almost every counting method starts from the same quantity, which we will call motion energy: a measure of how much the CSI is changing from moment to moment. In practice it is something like the variance of the amplitude across subcarriers over a short window, after cleaning. A quiet, empty room sits near a baseline. Movement lifts the energy above that baseline, and more movement lifts it higher.
Notice the shape of that graph. The step from zero to one is huge and easy. The steps after that get smaller and start to blur into one another. That single picture explains why CSI counting is confident at the low end and shaky at the high end, and why nobody sensibly claims to count a crowd with one link.
03Two ways to turn signal into a count
There are broadly two approaches to mapping that motion signal onto a number.
- Motion-energy scaling. The simple approach: measure motion energy, then map ranges of it to counts you calibrated in advance (this band means one, this band means two or three). It is easy to build and transparent, but it inherits every weakness above — still people vanish and the bands overlap.
- Learned models. The machine-learning approach: feed many CSI features (energy, its spread across subcarriers, how it varies over time, Doppler content) into a model trained on labelled recordings where the true count was known. The model can pick up subtler cues than raw energy, such as the way several movers spread disturbance across more subcarriers than one. It is more accurate when trained well, but only in conditions like its training data.
Both share one requirement: a baseline of the empty room and a calibration or training stage in the actual space. There is no universal lookup from CSI to count. The relationship is specific to the room, as it is for the rest of CSI sensing.
04The still-versus-moving ambiguity
The single biggest limit deserves its own section, because it surprises people. CSI senses motion, not mass. A person sitting perfectly still — reading, sleeping, watching a screen — disturbs the channel far less than the same person walking. Their only reliable signature is the slow rhythm of breathing, which we explore in can Wi-Fi CSI measure your breathing, and that is a delicate signal that a counting pipeline tuned for movement will usually miss.
The mirror image is just as real: one child running in circles can push the motion energy up into the range you calibrated for two or three adults. Because the signal is driven by how much movement is happening, not by how many bodies are present, both under-counting the still and over-counting the restless are built into the method.
05Why multi-link setups help
A single transmitter-receiver pair only sees motion along the paths between those two points. People who line up along the link, or who sit in a corner the link barely reaches, are easy to miss. The standard way to improve counting is to add links.
With several transmitters and receivers placed around the room, each pair crosses the space at a different angle. A person hidden in one link's shadow is often in plain view of another. Combining the motion signals from all the links gives a fuller picture and softens the shadowing and still-person problems, though it never fully removes them. This is the same reasoning that drives CSI indoor localization, where multiple anchors are what make position possible at all.
| Setup | What it buys you | Cost |
|---|---|---|
| Single link | Coarse count for a few movers | One board plus an access point |
| A few links, varied angles | Fewer blind spots, better separation | Several boards, more calibration |
| Dense multi-link | Best counts, some spatial sense | Research-grade effort and compute |
06Accuracy and its limits
So what can you actually expect? For a small number of people — roughly up to a handful — in a room the system was trained on, a well-built CSI counter often lands within about one person of the truth a good share of the time. That is genuinely useful for things like estimating whether a room is empty, lightly used or busy. It is not a turnstile, and you should not bill anyone based on it.
Accuracy degrades in predictable ways, and it is worth stating them plainly rather than quoting a single headline figure:
- As the count rises, the motion-energy levels overlap and errors grow.
- As people hold still, the count drifts low.
- In a room the model never saw, performance can fall off a cliff until you retrain.
- Furniture changes, a new router position or a different link geometry all move the baseline.
We deliberately avoid quoting a precise benchmark number here, because any single figure is only true for its exact room, its exact crowd and its exact training. The honest headline is: good for small, roughly known rooms as an estimate; unreliable for crowds, still occupants or untrained spaces.
07Building a counter you own
If you want to try it, keep the scope realistic and the space your own. Capture CSI on a board that exposes it, record the empty-room baseline, then record several sessions with a known number of people moving naturally, label them, and train a simple model or calibrate motion-energy bands. Start by only distinguishing empty, one, and several — a coarse but dependable scale — before you chase an exact number.
As always, this is for spaces you control: your own office, workshop or home. CSI counting is a privacy-respecting alternative to a camera for knowing roughly how busy your own room is, and that is exactly where it earns its place.
08FAQ
Can Wi-Fi CSI count how many people are in a room?
It can estimate a count, not read it exactly. CSI measures how much the channel is being disturbed, which grows with the number of moving people, so a trained system can map that disturbance to a rough count. It works best for small numbers in a known room and gets unreliable as the count rises or as people hold still.
Why is counting people harder than just detecting presence?
Presence is a yes-or-no question and a single moving person answers it clearly. Counting asks how many, and the channel does not add up neatly: two people can shadow each other, a still person barely registers, and one energetic person can look like two calm ones. The signal reflects total motion, not a clean head count.
How accurate is Wi-Fi CSI people counting?
For a handful of people in a trained room, systems often land within about one person of the true count much of the time. Accuracy falls as the room fills, as people stop moving, or when the setup is used in a space it was not trained on. Treat it as an estimate with an error bar, not an exact turnstile.
Do I need more than one Wi-Fi link to count people?
One link can give a coarse estimate, but several links that cross the room from different angles see people a single link would miss or merge. Multi-link setups reduce blind spots and the shadowing problem, which is why more serious counting work uses multiple transmitters and receivers rather than one pair.