π RuView:让家里的 WiFi 路由器变成「穿墙雷达」,无摄像头追踪 17 个身体关键点
你有没有想过,家里那台 24 小时开着、谁都不会多看一眼的 WiFi 路由器,居然可以充当「穿墙雷达」?
不开摄像头、不戴手环、不装红外传感器 —— 它就能:
- 透过墙壁数清楚房间里到底有几个人;
- 无接触地测出你的呼吸频率(6–30 BPM)和心率(40–120 BPM);
- 用 17 个关键点重建你此刻的姿势(站着、坐着、跌倒……);
- 在凌晨悄悄判断你是否进入了深睡眠阶段。
这听起来像是科幻小说的设定,却是 GitHub 上一个 8.5 万 stars 的开源项目 ruvnet/RuView 正在做的事。今天这篇博客,我们就来拆开它的原理,看它是如何「让 WiFi 看见人」的。
一、项目背景:为什么我们需要「不用摄像头」的感知方案?
1.1 摄像头的天花板
过去十年,室内感知几乎被摄像头垄断。无论是商场的客流统计、养老院的跌倒报警,还是智能家居的人来灯亮,背后都是一颗颗镜头。但摄像头有三大硬伤:
- 隐私焦虑:卧室、卫生间、浴室 —— 这些最需要监测生命体征的场景,恰恰最不适合装摄像头。
- 环境受限:黑暗、强光逆光、烟雾、被遮挡…… 摄像头几乎全部失效。
- 攻击面过大:一台联网摄像头意味着一个能拍到屋内的实时端口,黑产里「破解家庭摄像头」早就成了一门生意。
1.2 WiFi 信号的「隐藏信息」
你可能没注意过,WiFi 信号在空间里传播时,会被人体的呼吸、抬手、转身这些细微动作「扰动」。学术上把这种细粒度信息叫做 CSI(Channel State Information,信道状态信息)。
CSI 比常见的 RSSI(信号强度)精细得多 —— 它记录的是每一个子载波的幅度与相位,本质上是一段「无线电指纹」。当一个人在房间里呼吸,他的胸腔每分钟起伏 12–20 次,这套起伏会叠加进 CSI 中;只要算法够好,就能从 CSI 里把呼吸和心跳单独挑出来。
1.3 RuView 想干什么?
RuView 把 WiFi DensePose(卡耐基梅隆 2018 年提出的学术概念)落地成了一个低成本的边缘 AI 平台。它做的是三件事:
- 把 CSI 从廉价的 ESP32 节点里抓出来;
- 在边缘设备上跑信号处理 + 神经网络,提取 17 个身体关键点 + 生命体征;
- 把结果通过 MCP / WebSocket / MQTT 暴露给 Home Assistant、智能家居、家庭安防等下游应用。
截至今天,仓库已有 85.5k stars / 11.4k forks / 1,084 次提交,连续多天霸榜 GitHub Trending,是 2026 年最值得关注的「物理 + AI」项目之一。
二、核心功能亮点
2.1 五大感知能力
RuView 一口气把五件原本需要不同硬件的事做到了同一个平台里:
| 能力 | 输入 | 原理 |
|---|---|---|
| 🫁 呼吸监测 | CSI 振幅 + 相位 | 0.1–0.5 Hz 带通 + FFT 峰值检测 |
| 💓 心率监测 | CSI 振幅 + 相位 | 0.8–2.0 Hz 带通 + 零交叉 BPM |
| 👤 存在检测 | CSI 头部嵌入(HF ruvnet/wifi-densepose-pretrained) |
训练好的头部位姿检测器 + 相位方差回退 |
| 🦴 17 关键点姿势 | CSI 嵌入 | cog-pose-estimation Cog v0.0.1,Pi 5 上 8.4 ms 冷启动 |
| 🚨 跌倒检测 | 相位加速度 | 阈值 + 三帧去抖 + 5 秒冷却 |
2.2 自学习世界模型
最有意思的是,RuView 不只是一个「检测器」,而是一个能预测未来 15 帧空间占用的小型世界模型(OccWorld TransVQVAE)。在 RTX 5080 上推理 209 ms,3.4 GB 显存,意味着它可以提前告诉你「这个人接下来会走向哪里」。
2.3 边缘智能与极小占用
- 128 维对比编码器,4-bit 量化后只占 8 KB;
- 单核 M4 Pro 笔记本上能跑到 164,183 emb/s;
- 完整的传感器 + 推理 BOM 总成本压到 140 美元,最低方案(3 个 ESP32-S3 + 现有路由器)只要 54 美元。
2.4 多协议输出
最后,RuView 不打算「圈住」你。它通过以下方式把结果喂给下游:
- REST API
/api/v1/vital-signs - WebSocket
/ws/sensing - MQTT
RuViewMqttClient - MCP 代理:能被 Claude、Cursor 这类 AI Agent 直接当工具调用
- Home Assistant 集成:原生支持
presence、vital-signs、fall-detected等实体
这种「不抢戏」的架构,是它在 Trending 上持续被关注的关键。
三、实战示例:用 Docker 三分钟跑起来
3.1 零硬件体验
如果你只是想先看看效果,仓库已经提供了预录的 CSI 数据 + Docker 镜像:
1 | docker pull ruvnet/wifi-densepose:latest |
打开浏览器访问 http://localhost:3000,就能看到一个 60 FPS 的 3D 观测台:姿态融合、生命体征、信号强度、跌倒警报全部在一个 WebGL 视图里。
3.2 Python SDK 路线(ADR-117)
如果你已经有自己的 ESP32 节点在采集 CSI,可以直接用 PyPI 上的 wifi-densepose 包:
1 | from ruview import BreathingExtractor, HeartRateExtractor |
如果你想走 MQTT:
1 | pip install "ruview[client]" |
会额外装上 asyncio WebSocket 与 paho-mqtt。
3.3 真硬件路线
最完整的部署路径是用 ESP32-S3 + Cognitum Seed(~140 美元)。整套系统会包含:
- 17 关键点姿势
- 跌倒检测
- 105 cog 的边缘目录(实时从
app-registry.json加载) - 向量数据库 + kNN 检索
- 见证链(witness chain)
- MCP 代理
而如果你只是想验证「WiFi 6 / 802.15.4」能不能用,单个 ESP32-C6 DevKit(约 10 美元)就够了。仓库给出的实测是 99.56% 的 ESP-NOW mesh 匹配率、相位偏移标准差仅 104 µs。
3.4 一段最简「跌倒报警」代码
1 | from ruview.detectors import FallDetector |
配合 Home Assistant,你可以直接把这条 MQTT 桥接成手机的 Push 通知。
四、适用场景与限制
4.1 适合的 6 个场景
- 养老照护:夜间无接触监测呼吸 + 自动跌倒报警,避开摄像头伦理问题;
- 智慧酒店:不靠门磁、不靠摄像头的「房间有人 / 无人」判断;
- 办公空间:会议室占用率统计,比门口的 PIR 更准;
- 睡眠实验室:替代 PSG(多导睡眠图),做睡眠分期 + 呼吸暂停筛查;
- 安防入侵检测:夜间有人在院子里走动就能触发警报;
- AI Agent 场景:让 Agent 能感知房间状态 ——「房间里有几个人在开会」可以直接是 MCP tool 的返回值。
4.2 必须正视的限制
- 需要 ESP32-S3 / C6 / Intel 5300 这一类支持 CSI 的硬件。ESP32-C3、ESP32 经典款因为是单核、DSP 不够,不被支持。
- 穿墙距离大约 5 米,且高度依赖墙体材质和路由器位置 —— 混凝土墙会显著衰减。
- 多目标拥挤场景仍是难点,单人 / 双人准确率高,五人以上会出现 ID 切换。
- 隐私问题是双刃剑:能测心率,意味着同样能测「你半夜有没有出门」。仓库在 README 里特意写了「Ethical Use」段落,并强调部署时应当通知同住人。
- 不是医学器械,生命体征读数仅供研究 / 日常参考。
五、与同类项目的差异
| 项目 | 切入点 | 核心差异 |
|---|---|---|
| WiFi DensePose(CMU 论文) | 学术 | 论文原型,无现成硬件 + 软件栈 |
| Aerosense / Xandem | 商业 | 闭源、贵、不能本地化 |
| Google Nest 感知 / Amazon Sidewalk | 商业 | 黑盒,且依附于具体产品生态 |
| RuView | 开源 | 完整软件栈 + 廉价硬件 + MCP/MQTT 输出 + 边缘自学习模型 |
简单说,RuView 是目前唯一一个把 WiFi DensePose 从论文搬进「10–140 美元」硬件、并且愿意把数据流交给任何下游系统的开源项目。
六、总结
RuView 的爆火不是偶然。它踩中了三个时代情绪:
- 隐私觉醒:用户开始拒绝「房间里再多一颗镜头」;
- 边缘 AI 成熟:M4 Pro、Raspberry Pi 5 已经能在本地跑 17 关键点姿势;
- Agent 时代:MCP 让任何模型都能直接调用这套感知能力。
如果你是智能家居玩家,3 个 ESP32-S3 + 现有路由器,54 美元就能给你的家装上一套「无摄像头雷达」;如果你是 AI Agent 开发者,它的 MCP 代理就是下一波「Agent 感知物理世界」的最佳 demo。
仓库地址:github.com/ruvnet/RuView
在线 Demo:ruvnet.github.io/RuView
值得花一个周末,把它跑起来,看看自家 WiFi 究竟能「看见」多少你从没意识到的东西。