RuView:不装摄像头,用 WiFi 感知人的 10 分钟上手指南
【免费下载链接】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
半夜想确认父亲有没有起床,又不想在卧室装摄像头。这个顾虑很常见。RuView 是一个开源项目,它把普通 WiFi 信号变成空间感知:检测屋里有没有人、呼吸和心率、有没有跌倒,全程不用摄像头,也不用戴任何设备。数据都在本地硬件上处理,不依赖云。
它是什么
RuView 的定位很直接:把已有的 WiFi 信号当成传感器,替代摄像头做存在检测和生命体征监测。适合这几类人:想给老人做非接触看护的家庭、需要无摄像头监控的空间管理者、对隐私敏感但希望保留感知能力的开发者。
核心能力:
- 穿墙存在与人数检测,能识别进出
- 呼吸率(6–30 BPM)与心率(40–120 BPM)非接触测量
- 跌倒检测、睡眠分期与睡眠呼吸暂停筛查
- 17 关键点人体姿态估计,基于公开数据集基准验证
- 原生接入 Home Assistant、Apple Home、Matter 等智能家居生态,单节点暴露 21 个实体
硬件上,最推荐的是一块 9 美元左右的 ESP32-S3 开发板加路由器;也支持 3–6 块组网。没有硬件时,用 Docker 跑模拟数据就能体验完整流程。
10分钟用Docker跑通RuView
最短路径是 Docker,官方镜像同时支持 amd64 和 arm64(Apple Silicon 也能跑):
docker pull ruvnet/wifi-densepose:latest docker run -p 3000:3000 ruvnet/wifi-densepose:latest然后打开http://localhost:3000。容器默认进入模拟模式,生成合成 CSI 数据走完整条处理管线,不需要任何硬件。
你会看到一个 Three.js 可视化页面:17 个关键点的 3D 人体骨架、信号幅度热图、相位图,以及呼吸和心率的生命体征面板。想验证接口,另开一个终端:
curl http://localhost:3000/health curl http://localhost:3000/api/v1/pose/current两个接口都返回 JSON,说明服务器和感知管线都在正常工作。
WiFi信号是怎么"读"出人体的
原理其实不复杂,可以分三步理解。
第一步,采集。路由器一直在发 WiFi 波,这些波穿过房间、掠过人体后会改变。ESP32 固件采集的 CSI(Channel State Information,信道状态信息)记录了每个子载波上信号的幅度和相位,相当于给"信号被身体扰动了多少"拍了照。
第二步,净化与分频。环境噪声和硬件偏差会先被滤掉。剩下的相位变化按频率切分:0.1–0.5 Hz 的波段对应呼吸起伏,0.8–2.0 Hz 对应心跳,更宽频的运动能量对应走动和跌倒。
第三步,建模。一个在 6 万帧上预训练的小模型(4-bit 量化后只有 8 KB)把 CSI 特征映射成语义结果:有没有人、呼吸多少 BPM、心率趋势如何。官方公布的 held-out 时序三元组准确率为 82.3%(来源:项目 README)。
说白了,它看的不是"画面",而是 WiFi 信号被身体搅动后留下的规律性差异。
换个场景玩
模拟环境,0 成本验证流程。适合先了解界面和 API 的新手。就是上面两条 Docker 命令,10 分钟能看到完整管线。注意模拟数据是合成的,不能代表真实房间精度。
独居老人看护。在卧室和走廊各放 1–2 块 ESP32-S3,容器启动时加-e CSI_SOURCE=esp32 -p 5005:5005/udp接收真实 CSI。能看到:在床状态、离床事件、呼吸率趋势、跌倒告警。官方推荐 3–6 块组多基地网格,成本约 54 美元起,加上带持久存储的 Cognitum Seed 约 140 美元。
办公空间占用统计。不想上硬件的话,Windows 笔记本可用--source wifi走 RSSI 模式:能做存在检测和粗略运动分类,但做不了姿态和穿墙精度。
| 方案 | 数据源 | 额外成本 | 关键参数 | 能做到 |
|---|---|---|---|---|
| Docker 模拟 | 合成 CSI | 0 元 | 端口 3000 | 完整管线演示、API 调试 |
| 笔记本 RSSI | 本机 WiFi | 0 元 | --source wifi | 存在检测、粗略运动 |
| ESP32 单节点 | 真实 CSI | 约 9 美元 | CSI_SOURCE=esp32,UDP 5005 | 呼吸、心率、跌倒、存在 |
| ESP32 网格(3–6 块) | 多节点 CSI | 54–140 美元 | 同上,TDM 组网 | 穿墙感知、多人计数、3D 覆盖 |
和摄像头、毫米波雷达比一比
| 维度 | 摄像头 | 毫米波雷达 | RuView |
|---|---|---|---|
| 感知效果 | 细节最丰富,可识别人脸 | 距离和呼吸较准,无姿态 | 存在、呼吸、心率、跌倒;姿态为基准级 |
| 硬件成本 | 每点位数百元 | 每点位百元到千元 | 0–140 美元,复用已有 WiFi 环境 |
| 穿墙能力 | 无 | 有限 | 有,约 5 米内、依赖信号条件(README 数据) |
| 部署难度 | 低,需考虑遮挡和光线 | 中,要对准目标 | 中,固件烧录加网格布局 |
| 隐私 | 暴露影像,卧室更衣室难部署 | 不产生影像 | 不产生影像,数据留本地 |
| 额外依赖 | 存储和录像管理 | 专用传感器 | ESP32 固件或研究级网卡 |
实话实说
- 单块 ESP32 的实时 17 关键点姿态还不可用。仓库里提交的第一版板端模型 PCK@20 只有 3%,低于 35% 的既定目标,官方明确标注为 first-cut,推理路径还是占位实现。姿态的"可信数字"来自 MM-Fi 公开数据集基准:单模型 82.69% 躯干 PCK@20,零样本跨被试约 64%,房间校准后约 72%(来源:docs/benchmarks/mmfi-wifi-sensing-study.md)。换到自家房间会打折,别按 82% 预期。
- 没有 CSI 就没有高级功能。普通笔记本只能走 RSSI,做存在检测和粗略运动,姿态、穿墙精度都不行。完整能力需要 ESP32-S3/C6 固件或 Intel 5300、Atheros 这类研究网卡。
- 固件有烧录门槛。需要 esptool(或 ESP-IDF),分区偏移必须匹配 4MB/8MB 两种布局;无屏开发板要用
sdkconfig.defaults.devkitc构建,否则 CSI 产量会归零。 - 小板子注意散热。固件关闭了 WiFi 省电模式并持续采集,硬币大小的紧凑型板子可能发烫甚至烧坏稳压器,官方给了明确警告。
- 生命体征是趋势监测,不是医疗器械,呼吸暂停筛查结果不能替代临床诊断。
继续深入
- 用户指南覆盖安装、API、硬件组网和模型训练全流程:docs/user-guide.md
- ESP32 固件的烧录、分区和预编译二进制说明:firmware/esp32-csi-node/README.md
- 姿态基准的完整研究和"哪些数字可信"的披露:docs/benchmarks/mmfi-wifi-sensing-study.md
贡献方面,仓库自带 1400 多个测试可以直接跑(cargo test --workspace),Issue 跟踪功能进度,PR 直接提交即可。源码构建的话:git clone https://gitcode.com/GitHub_Trending/wi/RuView,然后进v2目录cargo build --release。
它做的事情不算新,但把"不用摄像头也能知道屋里的人是否安好"做成了一个能跑起来的开源栈,这本身就是它的价值。
【免费下载链接】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),仅供参考