WiFlow: Estimating Optical Flow using WiFi Channel State Information

1TU Darmstadt,  2TU Delft,  3Hessian Center for AI (hessian.AI)
WiFlow overview: CSI input is processed by WiFlow to predict optical flow, supervised by pseudo ground truth from synchronized video frames.

WiFlow estimates optical flow directly from WiFi Channel State Information (CSI). Pseudo ground truth is generated from synchronized video frames to supervise training. At inference time, no camera is required.

Abstract

Knowing where and how fast objects are moving within a scene is important across various domains. Usually, cameras are used to capture the data necessary for this task, but adding cameras often raises privacy concerns, and the quality of captured frames is heavily influenced by lighting conditions. In this work, we explore using WiFi channel state information (CSI) instead of camera frames for optical flow estimation. We propose WiFlow, a CSI-based flow estimator, a preprocessor evaluation for CSI, and three model architectures that offer different trade-offs between accuracy and complexity. Further, we create the first dataset for training and evaluating CSI-based optical flow estimators, and our experiments provide insights into key design elements for this task. Code and data are available at https://visinf.github.io/wiflow.

Method

WiFlow maps WiFi CSI sequences to 2D optical flow fields. Raw CSI consists of complex-valued measurements across antennas, subcarriers, and time snapshots. We apply a CSI preprocessor to obtain a suitable representation and feed it into a RAFT-inspired architecture.

WiFlow block diagram: CSI data is preprocessed and fed into a RAFT-like architecture with Context Network, Feature Network, and Refinement Network.

Fig. 1 — WiFlow block. CSI data is preprocessed and processed by a RAFT-like architecture to predict optical flow or a motion mask.

Three Architectures

We propose three architectures with varying complexity, all built on the WiFlow block:

  • WiFlowSimple — A single flow block that directly predicts optical flow. Lightweight and fast, but produces noise in static background regions.
  • WiFlowRoI — A mask block first localizes moving regions; optical flow is then computed only within those bounding boxes using RoIAlign. Inspired by Mask R-CNN.
  • WiFlowCombo — Combines flow and mask blocks in parallel. The predicted motion mask sharpens the flow output, achieving the best accuracy.
Three WiFlow architectures: WiFlowSimple, WiFlowRoI, and WiFlowCombo.

Fig. 2 — Architectures. WiFlowSimple uses a single flow block. WiFlowRoI adds bounding box-guided flow prediction. WiFlowCombo combines flow and mask branches in parallel.

Training Loss

Due to the static camera, most pixels exhibit zero flow. We prevent collapse to the trivial all-zero prediction by up-weighting errors on non-zero flow pixels using a modified sequence loss:

L = Σm=1M γM−m (Fgt − Fm)4

The 4th power loss amplifies penalization of absent but expected motion, working in concert with our separate moving-pixel evaluation metric EPEM.

WiFlow Dataset

We collect the first dataset designed for CSI-based optical flow estimation. Existing CSI datasets lack synchronized video or multi-antenna, multi-device measurements at the resolution needed for this task. Our dataset fills this gap.

Floorplan of the capture setup showing the locations of routers, cameras, movement area, and off-area.

Fig. 3 — Capture setup. 1 transmitter, 4 receivers (Rx1–Rx4), and 2 cameras in a 5.2 m × 5.5 m movement area.

Capture Setup

  • Transmitter: USRP N2954-R @ 1 kHz, channel 157, 80 MHz bandwidth
  • Receivers: 4× Asus RT-AC86U (4 antennas each) via NexmonCSI → 16 total antennas
  • Cameras: Side-view (30 Hz) and bird-view (50 Hz)
  • Subjects: 10 people, 9 actions (slow-walk, fast-walk, together, collect, knee, mill, waving, off-area, void)
  • Scale: 328 sequences, 164 min total

Three Data Views

sideview

Side-view camera
K = 10 CSI per frame
6 Hz image frame rate

birdview

Ceiling camera
K = 10 CSI per frame
10 Hz image frame rate

birdview+

Ceiling camera
K = 100 CSI per frame
10 Hz image frame rate

Motion angle and magnitude distributions for the sideview dataset.

sideview — predominantly horizontal motion.

Motion angle and magnitude distributions for the birdview dataset.

birdview — more uniform angular distribution, larger magnitudes.

Fig. 4 — Motion distributions.

Pseudo Ground Truth

Optical flow labels are produced by an ensemble of state-of-the-art flow estimators (rpknet, MS-RAFT+, SEA-RAFT, MemFlow, DPFlow) applied to subsampled video frames at 168×128 px. Predictions are averaged and motions below 0.5 px magnitude are thresholded to zero to minimize background noise.

Evaluation Metrics

Because the static camera makes the overall EPE trivially minimizable by predicting zero flow, we report three complementary metrics:

EPEM

EPE on moving pixels only
(PseudoGT norm > 0.5)

EPES

EPE on static pixels
(background accuracy)

EPEA

All pixels, error amplified ×4
(penalizes missing motion)

Experiments

CSI Preprocessing

We evaluate five preprocessing strategies. The Quotient preprocessor — which normalizes per-antenna measurements by a reference antenna to cancel shared phase offsets — achieves the lowest EPEM and EPEA, and is used in all subsequent experiments. The gap between Raw and Quotient confirms that preprocessing is essential before feeding CSI to a neural network.

Architecture Comparison

Perspective Architecture Subject Split Time Split
EPE ↓ EPEM EPES EPE ↓ EPEM EPES
sideview WiFlowSimple 0.512.220.40 0.532.070.43
WiFlowRoI 0.182.360.04 0.162.210.04
WiFlowCombo 0.162.360.02 0.152.180.03
birdview WiFlowSimple 0.553.530.40 0.563.240.43
WiFlowRoI 0.213.730.05 0.203.400.04
WiFlowCombo 0.193.710.03 0.183.380.03
birdview+ WiFlowSimple 0.453.240.32 0.412.890.29
WiFlowRoI 0.213.410.05 0.193.130.05
WiFlowCombo 0.183.500.02 0.173.130.02

EPE (↓) metrics on each evaluation setting. WiFlowCombo achieves the best overall accuracy; results are consistent across subject and time splits, confirming cross-subject generalization.

Computational Requirements

Architecture Time (ms) FLOPs (×109) Memory (MB)
WiFlowSimple 23 22 380
WiFlowRoI 26 22 380
WiFlowCombo 47 43 763

Inference on a single NVIDIA RTX 6000 Ada GPU, averaged over 1000 runs on birdview+. All models fit comfortably within 1 GB VRAM.

Qualitative Results

The figure below compares all three architectures against the pseudo ground truth on birdview+ (time split). WiFlowSimple predicts spurious motion in the static background, while WiFlowRoI and WiFlowCombo produce clean, spatially localized flow fields.

Qualitative comparison of WiFlowSimple, WiFlowRoI, and WiFlowCombo against PseudoGT for single and multi-person scenarios.

Fig. 5 — Qualitative results on birdview+ (time split). Top rows: single person. Bottom rows: two people moving simultaneously.

Cross-Subject Generalization. Accuracy is very similar between the time split and subject split across all architectures, demonstrating that WiFlow generalizes to unseen subjects without overfitting to the training data.

BibTeX

@inproceedings{Weigel:2026:wiflow,
    title     = {WiFlow: Estimating Optical Flow using WiFi Channel State Information},
    author    = {Thomas Weigel and Simon Kiefhaber and Fabian Portner
                 and Matthias Hollick and Simone Schaub-Meyer},
    booktitle = {Proceedings of the European Conference on Computer Vision (ECCV)},
    year      = {2026}
}

Acknowledgements

We would like to thank G. Matthes for his technical support during data capture and M. Schulz et al. for publishing the Nexmon firmware, which enabled us to capture CSI from consumer devices.

Calculations for this research were conducted on the Lichtenberg high-performance computer of TU Darmstadt. SK has been funded by the Deutsche Forschungsgemeinschaft (DFG) under Germany's Excellence Strategy – EXC-3057. FP has been funded by the European Union's Horizon programme under MSCA-DN-6th Sense (Grant Agreement No. 101119652). MH was supported by the State of Hesse through LOEWE emergenCITY (Grant no. LOEWE/1/12/519/03/05.001(0016)/72). SSM has been funded by the DFG – project No. 529680848.

TU Darmstadt hessian.AI TU Delft
Coming soon — will be provided upon publication.