RuView
将普通WiFi信号转化为空间感知和生命体征监测的AI平台,无需摄像头或穿戴设备,通过分析CSI信道状态信息实现穿墙人体姿态估计、呼吸心率检测、活动识别等。亮点是完全基于无线信号被动感知,隐私友好,能在$9的ESP32边缘硬件上运行,并内置60+边缘智能模块。项目仍处于早期开发阶段,部分性能指标(如无相机姿态估计的PCK@20约2.5%)有明确限制。
README
π RuView
Beta 软件 —— 正在积极开发中。API 和固件可能会变更。已知限制:
- ESP32-C3 和原始 ESP32 不支持(单核,不足以运行 CSI DSP)
- 单 ESP32 部署的空间分辨率有限 —— 建议使用 2 个以上节点或添加 Cognitum Seed 以获得最佳效果
- 无摄像头的姿态估计精度有限(基于代理标签的 PCK@20 ≈ 2.5%)—— 摄像头真实标签训练 目标是 35%+ PCK@20;流水线已实现,但数据收集和评估阶段(ADR-079 P7–P9)仍在进行中,因此尚未公布经摄像头监督测量的 PCK@20 数据。
欢迎通过 Issues 提交贡献和 Bug 报告。
通过 WiFi 穿墙透视
将普通 WiFi 转变为空间智能/感知系统。 检测人员、测量呼吸和心率、追踪移动、监控房间 —— 穿墙、在黑暗中、无需摄像头或可穿戴设备。仅仅是物理学。
π RuView 是一个 WiFi 感知平台,将无线电信号转化为空间智能。
每个 WiFi 路由器已经用无线电波填满了你的空间。当人们移动、呼吸甚至静坐时,他们会以可测量的方式干扰这些电波。RuView 利用低成本的 ESP32 传感器捕获的信道状态信息(CSI)来捕捉这些干扰,并将其转化为可操作的数据:谁在那里,他们在做什么,以及他们是否安好。
它感知什么:
- 存在与占用 —— 穿墙检测人员,计数,跟踪进出
- 生命体征 —— 呼吸频率和心率,非接触式,在睡眠或静坐时
- 活动识别 —— 行走、坐下、手势、跌倒 —— 基于时间 CSI 模式
- 环境映射 —— RF 指纹识别房间,检测移动的家具,发现新物体
- 睡眠质量 —— 整夜监测,包括睡眠阶段分类和呼吸暂停筛查
基于 RuVector 和 Cognitum Seed 构建,RuView 完全运行在边缘硬件上 —— 一个 ESP32 网状网络(低至每个节点 $9)与 Cognitum Seed 配对,提供持久内存、加密验证和 AI 集成。无需云、无需摄像头、无需互联网。
系统使用脉冲神经网络(spiking neural networks)在本地学习每个环境,适应时间不到 30 秒,并在 6 个 WiFi 信道上进行多频段网状扫描,将邻居的路由器用作免费的雷达照明源。每次测量都通过 Ed25519 证人链进行加密验证。
RuView 还支持姿态估计(通过 WiFlow 架构生成 17 个 COCO 关键点),完全无需摄像头即可使用 10 个传感器信号进行训练 —— 这项技术源自卡内基梅隆大学最初的 DensePose From WiFi 研究。
专为低功耗边缘应用打造
边缘模块 是直接运行在 ESP32 传感器上的小程序 —— 无需互联网、无需云费用、即时响应。
项目 方式 速度 🦴 姿态估计 CSI 子载波幅度/相位 → 17 COCO 关键点 171K emb/s (M4 Pro) 🫁 呼吸检测 带通 0.1-0.5 Hz → 过零 BPM 6-30 BPM 💓 心率 带通 0.8-2.0 Hz → 过零 BPM 40-120 BPM 👤 存在感知 训练模型 + PIR 融合 — 100% 准确率 0.012 ms 延迟 🧱 穿墙 菲涅尔区几何 + 多径建模 深度达 5m 🧠 边缘智能 8 维特征向量 + Cognitum Seed 上的 RVF 存储 总 BOM $140 🎯 无摄像头训练 10 个传感器信号,无需标签 在 M4 Pro 上 84 秒 📷 摄像头监督训练 MediaPipe + ESP32 CSI → 目标 35%+ PCK@20(ADR-079;评估阶段待定) 在笔记本电脑上约 19 分钟(流水线) 📡 多频段网状网络 在 6 个频段间跳频,邻居 AP 作为照明源 3 倍感知带宽 🌐 3D 点云 (可选融合) 摄像头深度 (MiDaS) + WiFi CSI + 毫米波雷达 → 统一空间模型 22 ms 流水线 · 19K+ 点/帧
# 选项 1: Docker(模拟数据,无需硬件)
docker pull ruvnet/wifi-densepose:latest
docker run -p 3000:3000 ruvnet/wifi-densepose:latest
# 打开 http://localhost:3000
# 选项 2: 使用 ESP32-S3 硬件进行实时感知($9)
# 烧录固件,配置 WiFi,开始感知:
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
python firmware/esp32-csi-node/provision.py --port COM9 \
--ssid "YourWiFi" --password "secret" --target-ip 192.168.1.20
# 选项 3: 带 Cognitum Seed 的完整系统($140)
# ESP32 流式传输 CSI → 桥接转发到 Seed 进行持久存储 + kNN + 证人链
node scripts/rf-scan.js --port 5006 # 实时 RF 房间扫描
node scripts/snn-csi-processor.js --port 5006 # SNN 实时学习
node scripts/mincut-person-counter.js --port 5006 # 正确的人员计数
[!NOTE] 推荐使用支持 CSI 的硬件。 存在感知、生命体征、穿墙感知以及所有高级功能都需要来自 ESP32-S3($9)或研究 NIC 的信道状态信息(CSI)。Docker 镜像使用模拟数据运行,用于评估。消费级 WiFi 笔记本电脑仅提供基于 RSSI 的存在检测。
用于实时 CSI 捕获的硬件选项:
选项 硬件 成本 完整 CSI 功能 ESP32 + Cognitum Seed(推荐) ESP32-S3 + Cognitum Seed ~$140 是 姿态、呼吸、心跳、运动、存在 + 持久向量存储、kNN 搜索、证人链、MCP 代理 ESP32 网状网络 3-6 个 ESP32-S3 + WiFi 路由器 ~$54 是 姿态、呼吸、心跳、运动、存在 研究 NIC Intel 5300 / Atheros AR9580 ~$50-100 是 完整 CSI,带 3x3 MIMO 任意 WiFi Windows、macOS 或 Linux 笔记本电脑 $0 否 仅 RSSI:粗略存在和运动 没有硬件?使用确定性参考信号验证信号处理流水线:
python archive/v1/data/proof/verify.py
来自 WiFi CSI 信号的实时姿态骨架 —— 无需摄像头,无需可穿戴设备
▶ 实时观测演示 | ▶ 双模态姿态融合演示 | ▶ 实时 3D 点云
服务器 对于可视化和聚合是可选的 —— ESP32 独立运行 用于存在检测、生命体征和跌倒警报。
实时 ESP32 流水线:连接一个 ESP32-S3 节点 → 运行 感知服务器 → 打开 姿态融合演示 进行实时双模态姿态估计(网络摄像头 + WiFi CSI)。见 ADR-059。
🔬 工作原理
WiFi 路由器用无线电波充满每个房间。当一个人移动 —— 甚至呼吸时 —— 这些波的散射方式会改变。WiFi DensePose 读取这种散射模式并重建发生的事情:
WiFi 路由器 → 无线电波穿过房间 → 碰到人体 → 散射
↓
ESP32 网状网络(4-6 个节点)通过 TDM 协议在信道 1/6/11 上捕获 CSI
↓
多频段融合:3 个信道 × 56 个子载波 = 每个链路 168 个虚拟子载波
↓
多站融合:N×(N-1) 个链路 → 注意力加权的跨视角嵌入
↓
相干门:接受/拒绝测量 → 稳定运行数天无需调整
↓
信号处理:Hampel、SpotFi、菲涅尔、BVP、频谱图 → 干净的特征
↓
AI 骨干网络 (RuVector):注意力、图算法、压缩、场模型
↓
信号线协议 (CRV):6 阶段 · 格式塔 → 感知 → 拓扑 → 相干 → 搜索 → 模型
↓
神经网络:处理后的信号 → 17 个人体关键点 + 生命体征 + 房间模型
↓
输出:实时姿态、呼吸、心率、房间指纹、漂移警报
无需训练摄像头 —— 自学习系统 (ADR-024) 仅从原始 WiFi 数据启动。MERIDIAN (ADR-027) 确保模型在任何房间都能工作,而不仅仅是训练过的房间。
🏢 用例与应用
WiFi 感知可以在任何有 WiFi 的地方工作。大多数情况下无需新硬件 —— 只需在现有接入点上运行软件或添加一个 $8 的 ESP32 扩展模块。由于没有摄像头,部署自然避免了隐私法规(GDPR 视频、HIPAA 成像)的限制。
扩展性: 每个 AP 可区分约 3-5 人(56 个子载波)。多 AP 线性扩展 —— 4 AP 的零售网状网络覆盖约 15-20 人。无硬性软件限制;实际上限取决于信号物理。
| 为什么 WiFi 感知胜出 | 传统替代方案 | |
|---|---|---|
| 🔒 | 无视频,无 GDPR/HIPAA 成像规则 | 摄像头需要同意、标识、数据保留策略 |
| 🧱 | 可穿透墙壁、货架、碎片 | 摄像头需要每个房间的视距 |
| 🌙 | 可在完全黑暗中工作 | 摄像头需要红外或可见光 |
| 💰 | 每个区域 $0-$8(现有 WiFi 或 ESP32) | 摄像头系统:每个区域 $200-$2,000 |
| 🔌 | WiFi 已无处不在 | PIR/雷达传感器每个房间需要新布线 |
| 用例 | 功能 | 硬件 | 关键指标 | 边缘模块 |
|---|---|---|---|---|
| 老年护理/辅助生活 | 跌倒检测、夜间活动监测、睡眠时呼吸频率 —— 无需可穿戴设备依从性 | 每个房间 1 个 ESP32-S3 ($8) | 跌倒警报 <2s | 睡眠呼吸暂停、步态分析 |
| 医院患者监测 | 非关键病床的持续呼吸+心率监测,无需有线传感器;异常时护士警报 | 每个病房 1-2 个 AP | 呼吸:6-30 BPM | 呼吸窘迫、心律失常 |
| 急诊分诊 | 自动占用计数 + 等待时间估计;在候诊区检测患者痛苦(异常呼吸) | 现有医院 WiFi | 占用准确率 >95% | 队列长度、恐慌运动 |
| 零售占用与客流 | 实时人流量、各区域停留时间、队列长度 —— 无摄像头、无需选择加入、GDPR 友好 | 现有商店 WiFi + 1 个 ESP32 | 停留分辨率 ~1m | 顾客流、停留热图 |
| 办公空间利用率 | 哪些桌子/房间实际被占用、会议室缺席、基于实际存在的 HVAC 优化 | 现有企业 WiFi | 存在延迟 <1s | 会议室、HVAC 存在 |
| 酒店与款待 | 无需门传感器的房间占用、迷你吧/浴室使用模式、空房间节能 | 现有酒店 WiFi | 15-30% HVAC 节省 | 能源审计、照明区域 |
| 餐厅与餐饮服务 | 餐桌翻台追踪、厨房员工存在、洗手间占用显示 —— 用餐区无摄像头 | 现有 WiFi | 队列等待 ±30s | 餐桌翻台、队列长度 |
| 停车库 | 楼梯间和电梯内行人存在检测(摄像头盲区);如果有人逗留则安全警报 | 现有 WiFi | 穿透混凝土墙壁 | 逗留、电梯计数 |
| 用例 | 功能 | 硬件 | 关键指标 | 边缘模块 |
|---|---|---|---|---|
| 智能家居自动化 | 房间级别存在触发(灯光、HVAC、音乐),可穿墙工作 —— 无死角、无运动传感器超时 | 2-3 个 ESP32-S3 节点 ($24) | 穿墙范围 ~5m | HVAC 存在、照明区域 |
| 健身与运动 | 重复计数、姿势纠正、运动中呼吸节奏 —— 无需可穿戴设备、更衣室无摄像头 | 3+ ESP32-S3 网状网络 | 姿态:17 个关键点 | 呼吸同步、步态分析 |
| 儿童保育与学校 | 午睡呼吸监测、游乐场人数统计、限制区域警报 —— 对未成年人隐私安全 | 每个区域 2-4 个 ESP32-S3 | 呼吸:±1 BPM | 睡眠呼吸暂停、边界侵入 |
| 活动场地与音乐会 | 人群密度映射、通过呼吸压缩检测踩踏风险、紧急疏散流量追踪 | 多 AP 网状网络(4-8 个 AP) | 每平方米密度 | 顾客流、恐慌运动 |
| 体育场与竞技场 | 分区占用用于动态定价、特许经营人员安排、紧急出口流量建模 | 企业 AP 网格 | 每个 AP 网格 15-20 人 | 停留热图、队列长度 |
| 宗教场所 | 无需面部识别的出席计数 —— 隐私敏感的会众、多房间校园追踪 | 现有 WiFi | 分区级别准确率 | 电梯计数、能源审计 |
| 仓库与物流 | 工人安全区、叉车接近警报、危险区域占用 —— 穿透货架和托盘工作 | 工业 AP 网状网络 | 警报延迟 <500ms | 叉车接近、受限空间 |
| 市政基础设施 | 公共洗手间占用(无法安装摄像头)、地铁站台拥挤度、紧急情况下庇护所人数统计 | 市政 WiFi + ESP32 | 实时人数 | 顾客流、逗留 |
| 博物馆与画廊 | 访客流热图、展品停留时间、人群拥堵警报 —— 艺术品附近无摄像头(闪光/盗窃风险) | 现有 WiFi | 区域停留 ±5s | 停留热图、货架互动 |
WiFi 感知为机器人和自主系统提供了一个空间感知层,在 LIDAR 和摄像头失效的地方 —— 通过灰尘、烟雾、雾气以及拐角 —— 仍能工作。CSI 信号场充当“第六感”,无需视距即可检测环境中的人类。
| 用例 | 功能 | 硬件 | 关键指标 | 边缘模块 |
|---|---|---|---|---|
| 协作机器人安全区 | 检测协作机器人附近的人类存在 —— 在接触前自动减速或停止,即使有障碍物 | 每个单元 2-3 个 ESP32-S3 | 存在延迟 <100ms | 叉车接近、边界侵入 |
| 仓库 AMR 导航 | 自主移动机器人感知盲角后、货架间的人类 —— 无 LIDAR 遮挡 | 沿过道的 ESP32 网状网络 | 穿透货架检测 | 叉车接近、逗留 |
| 安卓/人形机器人空间感知 | 社交机器人的环境人类姿态感知 —— 检测手势、接近方向和个人空间,无需摄像头始终开启 | 板载 ESP32-S3 模块 | 17 关键点姿态 | 手势语言、情绪检测 |
| 生产线监控 | 每个站点的工人存在、人体工程学姿势警报、换班合规人数统计 —— 穿过设备工作 | 每个区域工业 AP | 姿态 + 呼吸 | 受限空间、步态分析 |
| 建筑工地安全 | 重型机械周围禁区执行、脚手架上跌倒检测、人员数量统计 | 加固型 ESP32 网状网络 | 警报 <2s,穿透灰尘 | 恐慌运动、结构振动 |
| 农业机器人 | 在摄像头不可靠的灰尘/雾天条件下检测自主收割机附近的农场工人 | 防水 ESP32 节点 | 开阔地范围 ~10m | 叉车接近、雨检测 |
| 无人机起降区 | 验证起降区域无人类 —— WiFi 感知可在雨、尘和弱光下工作,而下视摄像头会失效 | 地面 ESP32 节点 | 存在:>95% 准确率 | 边界侵入、尾随 |
| 洁净室监控 | 无需摄像头的人员追踪(摄像头风扇会带来颗粒污染风险)—— 通过姿态检查洁净服合规 | 现有洁净室 WiFi | 无颗粒排放 | 洁净室、牲畜监测 |
这些场景利用了 WiFi 穿透固体材料(混凝土、碎石、土壤)的能力,这是光学或红外传感器无法做到的。WiFi-Mat 灾难模块(ADR-001)专门为此层级设计。
| 用例 | 功能 | 硬件 | 关键指标 | 边缘模块 |
|---|---|---|---|---|
| 搜索与救援 (WiFi-Mat) | 通过呼吸信号检测废墟下的幸存者,START 分诊颜色分类,3D 定位 | 便携式 ESP32 网状网络 + 笔记本电脑 | 穿透 30cm 混凝土 | 呼吸窘迫、癫痫检测 |
| 消防 | 进入前通过烟雾和墙壁定位 occupant;呼吸检测远程确认生命迹象 | 卡车上的便携式网状网络 | 零可见度工作 | 睡眠呼吸暂停、恐慌运动 |
| 监狱与安全设施 | 牢房占用验证、痛苦检测(异常生命体征)、周界感知 —— 无摄像头盲区 | 专用 AP 基础设施 | 24/7 生命体征 | 心律失常、逗留 |
| 军事/战术 | 穿墙人员检测、房间清除确认、对峙距离的 hostage 生命体征 | 定向 WiFi + 自定义固件 | 范围:穿墙 5m | 边界侵入、武器检测 |
| 边境与周界安全 | 在隧道、围墙后、车辆中检测人类存在 —— 被动感知,无需主动照明暴露位置 | 隐藏式 ESP32 网状网络 | 被动/隐蔽 | 边界侵入、尾随 |
| 采矿与地下 | 在 GPS/摄像头失效的隧道中检测工人存在、坍塌后呼吸检测、安全点人数统计 | 加固型 ESP32 网状网络 | 穿透岩石/土壤 | 受限空间、呼吸窘迫 |
| 海事与海军 | 通过钢制舱壁进行甲板下人员追踪(范围有限,需调优)、人员落水检测 | 船舶 WiFi + ESP32 | 穿透 1-2 个舱壁 | 结构振动、恐慌运动 |
| 野生动物研究 | 围栏或洞穴中的非侵入性动物活动监测 —— 无光污染、无视觉干扰 | 防水 ESP32 节点 | 零光发射 | 牲畜监测、梦境阶段 |
直接运行在 ESP32 传感器上的小程序 —— 无需互联网、无需云费用、即时响应。每个模块是一个微小的 WASM 文件(5-30 KB),可通过无线方式上传到设备。它读取 WiFi 信号数据并在本地于 10 ms 内做出决策。ADR-041 定义了 13 个类别中的 60 个模块 —— 全部 60 个已实现,609 项测试通过。
| 类别 | 示例 | |
|---|---|---|
| 🏥 | 医疗与健康 | 睡眠呼吸暂停检测、心律失常、步态分析、癫痫检测 |
| 🔐 | 安全与安防 | 入侵检测、边界侵入、逗留、恐慌运动 |
| 🏢 | 智能建筑 | 区域占用、HVAC 控制、电梯计数、会议室追踪 |
| 🛒 | 零售与款待 | 队列长度、停留热图、顾客流、餐桌翻台 |
| 🏭 | 工业 | 叉车接近、受限空间监控、结构振动 |
| 🔮 | 异类与研究 | 睡眠分期、情绪检测、手语、呼吸同步 |
| 📡 | 信号智能 | 清洁和锐化原始 WiFi 信号 —— 聚焦重要区域、过滤噪声、填充缺失数据、追踪人身份 |
| 🧠 | 自适应学习 | 传感器随时间自行学习新的手势和模式 —— 无需云、更新后仍记住所学内容 |
| 🗺️ | 空间推理 | 计算房间内人员位置、哪些区域最重要、使用基于图的空间逻辑追踪跨区域移动 |
| ⏱️ | 时间分析 | 学习日常规律、检测模式破坏(某人未起床)、随时间验证安全规则是否遵守 |
| 🛡️ | AI 安全 | 检测信号重放攻击、WiFi 干扰、注入尝试、标记可能表明篡改的异常行为 |
| ⚛️ | 量子启发 | 使用量子启发数学映射整个房间的信号相干性,搜索最佳传感器配置 |
| 🤖 | 自主与异类 | 自管理传感器网状网络 —— 自动修复掉线的节点、计划自己的行动、探索实验性信号表示 |
所有已实现的模块均为 no_std Rust,共享一个通用工具库,并通过 12 函数 API 与主机通信。完整文档:边缘模块指南。参见下方完整已实现模块列表。
全部 60 个模块已实现、测试通过(609 项测试),并准备部署。它们编译为 wasm32-unknown-unknown,在 ESP32-S3 上通过 WASM3 运行,并共享一个通用工具库。源码:crates/wifi-densepose-wasm-edge/src/
核心模块(ADR-040 旗舰 + 早期实现):
| 模块 | 文件 | 功能 |
|---|---|---|
| 手势分类器 | gesture.rs |
手部手势的 DTW 模板匹配 |
| 相干滤波器 | coherence.rs |
用于信号质量的相位相干门控 |
| 对抗检测器 | adversarial.rs |
检测物理上不可能的信号模式 |
| 入侵检测器 | intrusion.rs |
人类 vs 非人类运动分类 |
| 占用计数器 | occupancy.rs |
分区级别人员计数 |
| 生命体征趋势 | vital_trend.rs |
长期呼吸和心率趋势 |
| RVF 解析器 | rvf.rs |
RVF 容器格式解析 |
供应商集成模块(24 个模块,ADR-041 类别 7):
📡 信号智能 — 实时 CSI 分析和特征提取
| 模块 | 文件 | 功能 | 预算 |
|---|---|---|---|
| 快速注意力 | [sig_flash_attention.rs](v |