很好,已经收集到足够的交叉验证信息。以下是完整的中文学习笔记:
用 WiFi 信号透视房间:RuView 开源 CSI 空间感知平台深度解析
核心观点
RuView 的核心主张是:每个 WiFi 路由器已经是一台廉价雷达,只是从来没人把它当雷达用。当人体在 WiFi 无线电波的覆盖空间中移动、呼吸甚至静止时,这些扰动会编码在每条链路的信道状态信息(Channel State Information, CSI)里。RuView 用 $9 的 ESP32-S3 芯片读取 CSI,再用一个只有 8 KB 的量化神经网络,告诉你房间里有没有人、他们在做什么、心率呼吸是否正常——不用摄像头,不用可穿戴设备,不用云端,不用互联网。
这个项目处于「学术原型 → 可用工程工具」的过渡阶段,距离产品级成熟还有明显距离,但它已经是同类开源项目中工程完成度最高的一个。
关键信息
1. 技术机制:CSI 而非 RSSI,这是根本差别
普通 WiFi 设备暴露给用户的信号强度(RSSI)是所有多径的能量总和,信息极度压缩。CSI 则给出每个 OFDM 子载波的幅度和相位,相当于在几十个频率通道上同时做测量。人体呼吸时胸腔的微小位移(几毫米)会在 CSI 相位上产生 0.1–0.5 Hz 的周期性变化;心跳产生更微弱的 0.8–2.0 Hz 扰动。RuView 的核心就是两个带通滤波器加零交叉计数——这个机制不依赖神经网络,信号质量够好时物理原理直接保证有效。
真正有意思的巧妙点在于「用邻居的路由器当免费雷达照明源」——通过在 6 个 WiFi 信道上分时扫描,不仅利用自己的路由器,还被动接收邻居 AP 的信号作为多角度照明,实质上把整个 2.4/5 GHz 频段的环境噪声变成了传感资产。
2. 系统架构
WiFi环境(多路径传播)
↓ CSI 采集
ESP32-S3 网格节点($9/个,建议2-4个)
↓ 原始幅度/相位数据
本地信号处理(Rust/Python)
├─ 呼吸:带通 0.1-0.5 Hz + 零交叉计数
├─ 心率:带通 0.8-2.0 Hz + 零交叉计数
└─ 存在/姿态:128维CSI嵌入 → 4-bit量化模型(8KB)
↓ 推理结果
21个语义实体(有人在睡觉/可能遇险/老人异常静止/会议进行中...)
↓ 集成
Home Assistant / Apple Home / Google Home / Alexa(via MQTT/Matter)
3. 声称的性能指标(需要审慎看待)
| 功能 | 官方指标 | 可信度评估 |
|---|---|---|
| 存在检测延迟 | < 1 ms | 可信,基于简单阈值 |
| 呼吸率范围 | 6–30 BPM 实时 | 原理可行,实测受环境影响大 |
| 心率范围 | 40–120 BPM 实时 | 条件要求高,噪声下易失效 |
| 姿态估计(17关键点 torso-PCK@20) | 82.69%,超过 MultiFormer(72.25%) | 基于 MM-Fi 数据集,真实部署未验证 |
| CSI 嵌入速度 | 164,183 emb/s(M4 Pro) | 硬件相关,参考价值有限 |
| 穿墙距离 | ~5 m | 强烈依赖墙体材料,非通用 |
| 模型精度(v2编码器) | 82.3%(时序三元组测试) | 已自行撤回之前声称的100%,改为诚实数字 |
4. 快速上手代码
最低门槛:Docker 模拟(不需要任何硬件)
docker pull ruvnet/wifi-densepose:latest
docker run -p 3000:3000 ruvnet/wifi-densepose:latest
# 访问 http://localhost:3000(注意:这是模拟数据,不代表真实硬件性能)
ESP32-S3 实物烧录
# 烧写固件
python -m esptool --chip esp32s3 --port COM9 --baud 460800 \
write_flash 0x0 bootloader.bin 0x8000 partition-table.bin \
0xf000 ota_data_initial.bin 0x20000 esp32-csi-node.bin
# 配置 WiFi
python firmware/esp32-csi-node/provision.py --port COM9 \
--ssid "YourWiFi" --password "secret" --target-ip 192.168.1.20
Python 安装(PyPI)
pip install ruview
# 带 MQTT 客户端:
pip install "ruview[client]"
对应 API(呼吸/心率提取)
from ruview import BreathingExtractor, HeartRateExtractor
# 等价于:
from wifi_densepose import BreathingExtractor, HeartRateExtractor
5. 21 个语义实体(选取有代表性的)
项目为每个感知节点输出 21 个实体(11 个原始信号 + 10 个推断语义状态),其中语义状态包括:
someone-sleeping/bed-exit(睡眠监护场景)possible-distress/fall-risk-elevated(老人/独居监护)elderly-inactivity-anomaly(异常静止告警)meeting-in-progress/bathroom-occupied(智能建筑场景)multi-room-transition(多节点空间追踪)
交叉验证
信源一:CNX Software(2026年3月,硬件媒体,非作者方)
CNX Software 是独立硬件评测媒体,长期追踪 ESP32 生态。该文章明确指出:
「约一个月前,GitHub 用户 Deletexiumu 指控 RuView 是骗局,理由是多个变量使用随机数据填充、缺少预训练权重和训练脚本。」
这是一个关键的负面信号。虽然 RuView 作者随后更新了代码并撤回了「100% 存在检测准确率」这一明显虚高的数字(改为 82.3%),但 CNX Software 同时注意到:截至发稿,没有任何可供验证的视频演示。这意味着所有性能声称目前仍属自报,缺乏第三方复现。
结论:CNX Software 对原文的支持是条件性的——技术路线认可(Espressif 自己在 2022 年已演示过基础 CSI 感知),但对具体数字持保留态度。
信源二:Knightli 技术博客(2026年5月,独立开发者视角)
另一位独立开发者对 RuView 做了系统性的能力分层评估,与原文的自我陈述形成有价值的对比:
- 认同原文:存在检测、活动变化感知、粗粒度占用判断确实相对容易实现,物理原理可靠;
- 显著降调:呼吸率、心率、姿态估计被标记为「⭐⭐⭐ 高难度」,明确指出「对硬件放置、环境、信号质量、模型和校准的要求都很高」;
- 新增警示:强调 Docker 示例使用模拟数据,不代表真实硬件性能;多人场景困难;单节点分辨率严重不足;
- 隐私风险:独立指出 WiFi 感知虽然无摄像头,但仍可推断在场、行为模式、睡眠规律——这种「伪隐私保护」需要被认真对待。
结论:独立开发者整体认同技术路线,但对原文「开箱即用」的叙事方式表示质疑,认为大多数高级功能需要大量调试和环境适配。
个人启发
这篇文章的实际价值取决于你是谁:
如果你是 IoT/边缘计算开发者:CSI 感知是真实的、有学术背书的技术(源自 CMU),ESP32-S3 的 CSI API 已经成熟。现在进入这个方向,门槛是 $9 硬件 + 一周学习成本,而非一年前的博士门槛。务实的第一步是验证存在检测,而非一上来跑姿态估计。 用 RuView 作为学习框架和起点有价值,但不要把 README 当产品说明书读。
如果你在做养老/医疗辅助产品:呼吸率监测原理可行,但「不适合直接替代医疗设备」这条警告不是客套话。误报率、环境干扰、多人混淆问题在产品化前都需要严格测试。睡眠呼吸监测(单人、静止、固定位置)是目前可信度最高的场景。
如果你是智能家居爱好者:接入 Home Assistant 的路径是目前最值得尝试的——不需要自训练模型,21 个语义实体可以直接驱动自动化。但期望管理很重要:把它定位为「比 PIR 更精细的存在传感器」,而非「科幻电影里的穿墙感应」。
对早期「数据造假」事件的判断:原作者及时撤回了虚高数字并修复了代码,这是正面信号。但这也提醒我们:对于任何声称「100% 准确率」的感知系统,应反射性地要求测试集定义、场景说明、基准协议——RuView 自己犯过这个错并改正了,是值得参考的教训。
延伸思考
「用邻居路由器当雷达」的伦理边界在哪里? RuView 提到被动接收周边 AP 信号作为照明源,这在技术上完全被动、合法,但如果系统可以感知到邻居家的存在和行为,监管框架是否需要跟上?WiFi 感知的隐私威胁模型比摄像头更隐蔽,因为没有任何可见的「镜头」提示被监测者。
CSI 感知会不会成为 Matter 协议的下一个标准传感器类型? RuView 已经实现了 Matter Bridge,而 Matter 1.2 加入了能源管理,1.3 加入了摄像头。如果 WiFi 6E/7 芯片开始在消费级路由器中原生暴露 CSI API(目前仍需 ESP32 这类研究设备),空间感知能力可能直接内嵌到路由器固件,成为基础设施——届时所有智能家居生态都将面临重新定义「传感器」的压力。
8 KB 模型能做到 82% 精度,这条缩放曲线的终点在哪? RuView 的量化模型只有 8 KB,却能在 Raspberry Pi 上微秒级推理。这提示了一个值得追问的问题:对于 CSI 这类结构化时序信号,模型复杂度的边际收益曲线比视觉任务陡降得更快吗?还是说当前 82% 是数据稀缺的瓶颈而非模型容量的瓶颈?这个问题的答案直接决定了「WiFi 感知」能否在不烧钱堆算力的前提下达到医疗级可靠性。
📚 参考来源

2859

被折叠的 条评论
为什么被折叠?



