what kind of multitarget tracker you used? #59
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hey you claim it can track up to 10 people, what kind of tracker are we talking about
Good question. There is no traditional tracker (no Kalman, no SORT/DeepSORT, no appearance-based re-ID). Here's what's actually happening at each layer:
1. Signal-level person separation
The system does not decompose the CSI signal into "person 1's signal" and "person 2's signal." Instead, the neural network ingests all 56 subcarriers simultaneously, and multiple people manifest as separate spatial blobs in the output heatmaps — the same way camera-based DensePose handles multiple people in a single image. Each subcarrier sees the environment at a slightly different wavelength (different Fresnel zone geometry per body position), and the model learns to disentangle them.
Subcarrier selection via
ruvector-mincutpartitions subcarriers into motion-sensitive vs. insensitive sets, andruvector-attn-mincutgates irrelevant antenna paths via self-attention over TX-RX pairs.2. Multi-person assignment (frame-level)
Once the model predicts keypoints, the system matches predicted skeletons to ground-truth or previously-seen identities using bipartite assignment on an OKS (Object Keypoint Similarity) cost matrix. Three algorithms are implemented in
crates/wifi-densepose-train/src/metrics.rs:ruvector-mincutflow network)add_person()/remove_person()without rebuilding the graphThe
DynamicPersonMatcherwraps a source-sink flow network where edge capacities encodeLARGE_CAP - oks_cost. Min-cut partitioning yields optimal(prediction, ground_truth)pairs.3. What constrains the person count
There is no hard-coded max.
PoseEstimate.personsis aVec<PersonPose>with no cap. The practical limit is signal physics:The "up to 10" figure assumes a multi-AP mesh (e.g., 3 APs × ~3-4 resolvable people each). On a single AP with 56 subcarriers, 3-5 is a realistic ceiling before mutual interference degrades accuracy.
4. What's NOT here
It's fundamentally dense prediction + bipartite matching, not tracking in the MOT sense. Each frame is solved independently; temporal coherence comes from the signal's physical continuity, not from a tracker state.
We can do better than that.