Skip to main content

SIGNAL — Store analytics that never sees a face

  • August 9, 2026
  • 0 replies
  • 10 views

Retail already knows how many people walked in, where they lingered, how long the queue was. It knows because there are cameras in the ceiling, and because someone signed off on the DPIA and hoped for the best.

I want to get the same numbers without ever producing an image of a customer.

How

Wi-Fi already fills every store. When a body moves through it, it distorts the signal in ways the radio itself measures — Channel State Information: amplitude and phase across every subcarrier and antenna pair, dozens of times a second. A handful of cheap ESP32 boards running CSI firmware, scattered across the sales floor, turn a building's existing RF field into a live sensing array. No lens anywhere.

Why this is still a computer vision problem — and why Metis

This is the part worth being precise about, because "Wi-Fi" and "vision chip" sound like a mismatch. They aren't.

Raw CSI is a matrix: subcarriers on one axis, antenna pairs on the other, amplitude and phase as channels. Stack consecutive frames over time and you have something structurally identical to video — height, width, channels, sequence. It is not a picture of anything, but it has exactly the shape a convolutional network eats.

That's not a metaphor I invented. It's how the field works: MIT's RF-Pose and CMU's DensePose-from-WiFi both feed rendered CSI tensors into CNN backbones borrowed straight from image models. The convolutions look for spatial structure in the interference pattern the same way they'd look for edges in a photo.

So the workload landing on Metis is genuine, unmodified computer vision inference — CNN backbones from the Voyager model zoo, running on tensor frames, at video frame rates. The Metis is doing exactly what it was designed for. It just isn't looking at light.

That's the demonstration I want to put in front of the community: the input doesn't have to be optical for the accelerator to be the right one. A vision AIPU as a general-purpose perception engine.

The architecture

ESP32 nodes stream CSI over the LAN to the XE5. Metis runs the inference — presence, count, movement, dwell. Structured events flow into my self-hosted stack, which handles aggregation, historical KPIs and reporting. The edge perceives; the centre decides. Nothing leaves the building, and nothing that leaves the sensor could ever be reconstructed into a face, because the physics doesn't carry that information in the first place.

Why it matters commercially

I teach GDPR and cybersecurity to Italian SMEs for a living, so I watch retailers hesitate over camera analytics every month. The pitch here is unusually clean: same footfall and dwell metrics, no biometric data, no image ever generated, privacy-by-design in the literal sense of the word — the capability to identify someone isn't restricted, it's absent.

The month

Week 1: unbox, Wingman installed, ESP32 CSI capture streaming, first CNN running on Metis. Week 2: presence and count models, labelled against a ground-truth camera used only for training. Week 3: dwell and zone heatmaps, KPI pipeline into the backend. Week 4: live demo in a real space, video, full open-source release — prompts, iterations and the things that didn't work.

 

The obvious objection to SIGNAL is that rendering Wi-Fi as a tensor sounds like a clever hack that happens to fit the hardware. It isn't, and the fastest way to show that is to point out how many other signals fall out of the same idea.
A convolutional network has no concept of light. It looks for spatial structure in a tensor. Feed it a photograph and it finds edges; feed it a spectrogram and it finds the harmonic signature of a bearing about to fail. The convolutions don't change — only our assumption about what counts as an image does.
Once the rendering layer exists for CSI, the same layer takes other inputs almost for free. A two-euro microphone on a compressor becomes a spectrogram, and CNNs on spectrograms are the state of the art in acoustic anomaly detection. One clamp on a distribution board becomes a waveform, and the network disaggregates which machine is running and at what draw. Network flows become heatmaps for intrusion detection. Same backbones from the Voyager model zoo, same Wingman workflow, same accelerator — different physics upstream.
That matters for SIGNAL in two concrete ways.
It de-risks the build. The rendering layer is the hard part, and it's the part I can validate against a second signal type long before the RF models are finished. If CSI turns out to need more work than a month allows, the pipeline architecture is still proven, not abandoned.
It changes what the device is. SIGNAL isn't a footfall counter that happens to avoid cameras. It's the first sense of a perception layer where adding a new one means writing a renderer, not buying a new box from a new vendor. For the SMEs I work with, that difference is the whole argument — sensing that scales by imagination rather than by procurement.
And it's why the accelerator has to be Metis rather than the GPU that's already in the room. These are continuous, always-on inference loads on streams that never stop. At 4-8W, a sense costs less to run than the lights above it. That's what makes a fifth one a decision rather than a budget request.
What else is an image? That's the question I actually want to spend a month answering — and Wi-Fi is just where I'm starting.