RuView R8 实验深度解析:纯 RSSI 实现人数统计,如何用 656 参数保留 95% 的全 CSI 精度
2026/9/10 23:39:26 网站建设 项目流程

RuView R8 实验深度解析:纯 RSSI 实现人数统计,如何用 656 参数保留 95% 的全 CSI 精度

【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView

基于 WiFi 信号的无摄像头感知通常被认为离不开 CSI(信道状态信息)——但 RuView 的 SOTA 研究循环(2026-05-22 批次)用一次干净的消融实验颠覆了这个直觉。本篇文章完整拆解研究笔记 R8-rssi-only-count.md 的核心内容:如何仅凭每个 WiFi 芯片都会上报的 RSSI 标量序列,在人数统计任务上达到 59.1% 的整体准确率、保留全 CSI 基线 94.82% 的能力,同时把输入规模缩小 56 倍、模型缩小 80 倍。读完本文,你将掌握该实验的完整方法、可复现的纯 NumPy 训练代码、结果背后的信号处理原理(R5 子载波显著性),以及它对"任何 WiFi 接收器都能成为感知节点"这一部署愿景的真实边界。

为什么值得研究:RSSI 与 CSI 的部署鸿沟

R8 实验的出发点是一个硬件生态的残酷现实:

  • RSSI(接收信号强度指示):每一个 WiFi 芯片都会上报,从 0.5 美元的 ESP8266 到旗舰手机无一例外;
  • CSI(信道状态信息):只有极少数芯片能导出,例如 ESP32-S3、Atheros、Intel 5300、配合 nexmon 的 Broadcom。

如果只用 RSSI 训练的人数统计模型能保留全 CSI 模型"有意义的比例"的精度,那么部署故事将改变 2~3 个数量级:每一台已有的 WiFi 接收器都可以变成感知节点,且无需任何固件补丁

实验者自己也持有怀疑的先验:RSSI 是每个数据包一个标量(全频带的聚合功率),而 CSI 是 56~128 个复数值(逐子载波的幅度 + 相位)。粗略计算,RSSI 丢弃了至少 98% 的信息。但关键在于,本批次同期的 R5 子载波显著性实验 已测得:人数统计任务在 CSI 中的信号是"带扩散"(band-spread)而非"带集中"(band-concentrated)的——56 个子载波上最大/平均显著性的比值仅有 2.85 倍。如果信号均匀铺满整个频带,那么频带均值(即 RSSI 的物理定义)就能保留其中的绝大部分信息。这正是 R8 要验证的推断。

方法:把 CSI 窗口坍缩成真实的 RSSI 时序

R8 的完整方法在 r8_rssi_only_count.py 中有逐行实现,核心分五步:

  1. 取用既有配对数据集data/paired/wiflow-p7-1779210883.paired.jsonl,共 1,077 个配对的 CSI 窗口及标签。每个样本是[56 子载波 × 20 帧]的幅度矩阵。
  2. 聚合为 RSSI-over-time 信号:沿子载波轴取平均,得到[20]维向量。源码中的实现是一行X_csi.mean(axis=1)——物理上,RSSI 正是跨频带的功率积分,因此"子载波均值"与真实芯片上报的每包 RSSI 等价(至多相差一个常数缩放,后续 z-score 归一化会吸收掉这个仿射变换)。这精确模拟了非 CSI WiFi 接收器以相同采样节拍报告每包 RSSI 的行为。
  3. Z-score 归一化:匹配真实芯片上自动增益控制(AGC)的行为,源码中用训练集均值/标准差做标准化(mu = X_train.mean(...)sd = X_train.std(...) + 1e-6,分母加1e-6防止除零)。
  4. 随机 80/20 划分,seed=42:与cog-person-countv0.0.2 的划分完全一致,保证评估集是同一批样本,对比公平。
  5. 训练微型 MLP:结构为Linear(20 → 32) → ReLU → Linear(32 → 8) → softmax,共 656 个参数,使用 vanilla SGD(学习率 1e-2、批大小 32)训练 200 个 epoch,按评估精度保存最优 checkpoint。无任何深度学习框架,纯 NumPy 实现(含手写前向/反向传播与 softmax)。

实验得到的训练/评估划分规模:训练集 862 个样本(标签分布 1:445 / 0:417),评估集 215 个样本(0:116 / 1:99),数据基本平衡。

复现命令

在仓库根目录执行(需要先通过配对数据制作脚本生成data/paired/下的 jsonl 数据):

python examples/research-sota/04-rssi/r8_rssi_only_count.py \ --paired data/paired/wiflow-p7-1779210883.paired.jsonl

脚本参数含义:

参数默认值说明
--paired必填配对 CSI 窗口 + 标签的 jsonl 路径
--outexamples/research-sota/r8_rssi_only_results.json结果 JSON 输出路径
--epochs200训练轮数
--seed42随机种子(与 v0.0.2 基准一致)

运行结束后,脚本会把方法描述、输入维度、架构、训练耗时、训练/评估标签分布、最终评估精度、逐类精度、全 CSI 基线及保留比例、以及完整的 200 轮评估精度曲线,全部写入结果 JSON——即仓库中已有的 r8_rssi_only_results.json。

结果:94.82% 的精度保留率

R8 文档给出的核心结果表如下:

指标RSSI-only(本实验)cog-person-countv0.0.2(全 CSI)保留比例
整体准确率0.5910.62394.82%
类别 0 准确率0.5950.862
类别 1 准确率0.5860.343
训练时间0.72 s(CPU)0.7 s(CPU)
模型大小约 5 KB(656 参数)约 390 KB(约 10 万参数)
输入维度2056 × 20 = 1120

结果 JSON 中记录的训练耗时为 0.7176 秒,最终评估精度 0.5907,逐类精度为类别 0:0.5948(支持样本 116 个)、类别 1:0.5859(支持样本 99 个),与文档数值完全吻合。评估精度曲线显示模型在约 46 个 epoch 后达到 0.5907 并稳定,之后在 0.54~0.59 区间波动,训练非常高效。

文档给出的头条结论是:RSSI-only 以 56 倍更小的输入和 80 倍更小的模型,保留了全 CSI 精度的 95%。更值得注意的是类别精度的"均衡性":RSSI 模型得到 59.5 / 58.6 的平衡精度,而 v0.0.2 全 CSI 模型是严重偏斜的 86.2 / 34.3。对此文档给出了合理的机制解释:微型模型无法通过"依赖类别 0"作弊(参考 person-count-cog.md 中 v0.0.1 曾因时间划分不幸而退化为"永远预测 0"、类别 1 精度为 0% 的历史教训),它必须真正使用信号中存在的计数信息。

为什么 RSSI 能行:R5 显著性图给出的物理答案

R8 之所以成立,其底层证据来自本批次 R5-subcarrier-saliency.md 首次测量的子载波显著性图。R5 用 input × gradient 方法(Sundararajan 等 Integrated Gradients 的一阶近似,无路径积分)对cog-person-countv0.0.2 计算了 56 个子载波的显著性:

排名子载波显著性
1410.0128
2520.0120
3300.0100
4310.0097
5100.0088
6350.0088
720.0087
8380.0083

关键观察有二:

  1. 最大/均值比为 2.85×——集中度中等,没有任何单一子载波主导计数信号;
  2. top-8 子载波散布在整个频带(索引 2、10、30、31、35、38、41、52),而不是聚集在某个频率区域。

RSSI 在物理上是全频带|H_k|^2的积分,捕捉的是"平均水平"。对于一个带扩散的信号,平均水平就是近乎充分的统计量——这解释了为什么丢掉了逐子载波分辨率的 RSSI 依然能计数。R5 文档当时就预判"RSSI 的信息天花板比担心的要高得多,一阶估计约 60% 的全 CSI 精度上界",而 R8 实测 59.1%,几乎精确命中该预测。

补充一点时间维度的解释:这 20 帧的 RSSI时序模式同样关键——占用状态会以秒级尺度调制数据包到达时序与平均电平,因此[20]维的时间序列足以让模型区分 0 人与 1 人。

商业意义:把感知从"ESP32-S3 专属"推向"任何 WiFi 接收器"

R8 文档将实验结果投射到 10 年视野,列出三类部署图景:

  1. 手机即传感器(Phones-as-sensors):楼内每一台 iPhone/Android 可通过附近 AP 的 RSSI 被动统计自身周边的占用人数,无需超出 WiFi 扫描的 App 权限,不需要任何 CSI 硬件。
  2. 智能音箱、智能电视、智能灯:任何带 WiFi 的设备都上报 RSSI,任何带 CPU 的设备都能跑一个 656 参数的 MLP——计数由此成为"任何有 WiFi 的房间"的联邦化属性。
  3. cog 生态的采纳路径:可打包一个cog-person-count-rssi变体,作为"随处可运行的二进制"而非仅限 ESP32-S3 集群;甚至可做成浏览器扩展形态的 MLP,在同一 WiFi 下的笔记本上运行。

PROGRESS.md 把这项成果定位为"商业使能结果":它把 cog 从"仅限 ESP32-S3"推进到"任何 WiFi 接收器",并计划在 ADR-104 的 MCP/CLI 轨道上扩展ruview_count_infer --rssi模式以服务非 CSI 芯片。研究批次 04-rssi/README.md 进一步给出了适用边界矩阵:RSSI-only 适合cog-presence(二元占用)与cog-person-count(人数统计),以及极度成本敏感的部署(如 R19 禽畜养殖);但不适合cog-vital-signs(生命体征需要逐子载波形状)、cog-pose-estimation(姿态需要多站 CSI 几何)与cog-quantum-vitals(ADR-114,需要 CSI 与 NV 融合)。

诚实的边界:这个实验证明了什么、没证明什么

R8 文档明确列出了实验的局限,这些不应被忽略:

  • 数据范围:这是"一个房间、一名操作者、一次 30 分钟录制"。跨房间、跨芯片、跨人群的泛化能力尚未测量。全 CSI 模型 5 折参考值为 62.2% ± 1.9%,RSSI-only 的 59.1% 同样是"单次随机抽样"的数值,存在运行间方差。
  • 问题规模:95% 的保留比例是在二分类问题(标签分布为 {0, 1})上得到的。扩展到 3+ 类(0 / 1 / 2+ 人)时,RSSI 的天花板几乎必然会下降——频带聚合的信息率更低。
  • 类别 1 精度的可疑之处:RSSI 模型的类别 1 精度(58.6%)反而高于 v0.0.2 的 34.3%。这"真实但可疑"——低维输入的微型模型天然具有更强的均衡预测归纳偏置,而更公平的同口径比较应同时约束 v0.0.2 在推理时使用平衡采样器(它训练时有、推理时没有)。文档为此排了一个跟进任务:在相同的预测平衡约束下重评 v0.0.2。

后续研究线程与关联实验

R8 文档列出的下一步计划包括:

  • 多房间数据集(issue #645)就绪后重复实验;
  • 3 类扩展(0 / 1 / 2+ 人),测量信息率断崖;
  • 在非 ESP32 的 RSSI 源上运行(例如 Linux 笔记本 WiFi 适配器的iw event),确认模型不会退化为"永远预测 0";
  • 与 R9(RSSI 指纹拓扑) 交叉关联——同一段 RSSI 序列可以用不同输出头同时做计数定位
  • 打包为可运行的 npm CLI:npx ruview count-rssi --pcap <file>,与 horizon-tracker 的 MCP/CLI 轨道(ADR-104)协调。

这里尤其值得展开 R9 的对照意义:R9 用完全相同的 1,077 个窗口、完全相同的带均值 RSSI 代理构建 1,077 × 1,077 余弦相似度矩阵,检验"时间邻近是否预测特征邻近"。结果是 5-NN 在 ±60 秒窗口内的命中率 0.169,随机基线 0.077,提升 2.18 倍——判定为 MODERATE(中等)。两个实验合在一起,揭示了一个有意义的不对称性:在低带宽模态下,计数比定位更容易。R8 证明 RSSI 保住了计数信号;R9 则显示它在单房间条件下丢失了一半以上的定位信号——定位可能真的需要逐子载波形状,而非频带积分。这也是 04-rssi/README.md 中"RSSI 保留约 95% 计数能力、仅保留约 30% 定位能力"表述的由来。

结语:从"需不需要 CSI"到"信号如何分布"

R8 连同 R5 显著性图,闭环回答了 cog 感知管线的一个关键问题:cog-person-count 能否移植到非 CSI 芯片?答案是:可以——代价是约 5% 的精度损失、56 倍更小的输入和 80 倍更小的模型。这项结果如果能在多房间复现中存活,就将升级为正式的 ADR。对读者而言,R8 更大的方法论价值在于展示了一种研究范式:先用显著性分析理解信号在频域的真实分布(R5),再据此推导低带宽模态的信息天花板并设计最小可复现实验(R8),最后用对照实验标注能力的边界(R9)——每一步都配有可运行的纯 NumPy 代码与落地的结果 JSON,可在 examples/research-sota/04-rssi/ 目录中完整复现。

【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询