基于 Wi‑Fi CSI 的运动检测,核心是用 Wi‑Fi 信号的细微变化感知人体运动 ,无需摄像头、麦克风,隐私友好、低成本、易部署。下面从工作原理 与主流开源项目两方面完整说明。
一、Wi‑Fi CSI 运动检测:工作原理
1. 什么是 CSI
CSI(Channel State Information,信道状态信息) 是 Wi‑Fi 信号从发射端到接收端的传播状态快照 ,包含每个子载波的幅度(振幅) 与 相位信息。
- 普通 Wi‑Fi 只看 RSSI(信号强度),粗粒度;
- CSI 看子载波级的幅度 / 相位变化,细粒度、抗干扰、能反映微小运动。

2. 物理原理:人体如何扰动 Wi‑Fi 信号
-
Wi‑Fi 信号在空间中会直射、反射、衍射、散射:
-
静态分量:墙壁、家具等固定物体的反射,短时间内稳定。
-
动态分量 :人体移动会改变信号传播路径,导致 CSI 幅度 / 相位发生规律性波动。
-
核心公式:plaintext
接收信号 = 静态环境信号 + 人体反射信号 + 噪声
通过分离动态分量,即可反推运动信息。
3. 完整技术流程(从信号到 "有人 / 运动")
(1)CSI 数据采集
- 硬件:支持 CSI 输出的设备(ESP32‑S3/C6/C3、Intel 网卡、树莓派 + Nexmon 固件)。
- 模式:
- 监听模式:不连 AP,仅抓取周围 Wi‑Fi 信号的 CSI。
- 自发自收:单设备既发又收,适合独立部署。
(2)数据预处理(关键)
- 相位校正:消除载波频率偏移(CFO)、采样时钟偏移(SCO)。
- 滤波去噪:低通 / 带通滤波,去除环境噪声、多 AP 干扰。
- 子载波选择:筛选最稳定、对运动最敏感的子载波(如 ESPectre 的 NBVI 算法)。
(3)特征提取与运动判定
- 传统算法(轻量、端侧) :
- 计算方差、标准差、能量、相关性等时域 / 频域特征。
- 用移动方差分割(MVS) 、阈值比较输出 Movement Score (0--100)与运动判定。
- 机器学习 / 深度学习(高精度、复杂场景) :
- 用 CNN、RNN、Transformer 等模型学习 CSI 特征模式。
- 可做动作识别(走 / 坐 / 跌倒)、人数统计、手势、呼吸 / 心率。
(4)输出与应用
- 输出:运动存在 / 不存在、Movement Score、动作类型、生命体征。
- 应用:智能家居自动化、安防、老人看护、节能控制。
二、主流开源项目
1. 嵌入式 / ESP32 硬件项目(最适合 DIY、智能家居)
(1)ESPectre(francescopace/espectre)
- 定位 :ESP32 + ESPHome + Home Assistant,开箱即用的无感运动检测。
- 核心 :MVS 算法 + NBVI 子载波选择,输出 Movement Score 与可配置 Threshold。
- 优势:低功耗、隐私、易部署、HA 深度集成。
- 适用:ESP32‑S3/C6/C3,智能家居、老人看护。
(2)ESP‑CSI(esp‑csi/esp‑csi)
- 定位:ESP32 硬件级 CSI 采集库,底层驱动 + 基础处理。
- 核心:直接从 ESP32 Wi‑Fi 芯片抓取原始 CSI,提供 C/Python API。
- 优势:精度高、延迟低,适合二次开发。
- 适用:嵌入式开发者,自定义感知系统。
(3)RuView(ruvnet/ruview,原 WiFi‑DensePose)
- 定位 :ESP32 + 边缘 AI,人体姿态估计、生命体征、穿墙感知。
- 核心:CSI → AI 模型 → 17 个人体关键点、呼吸 / 心率。
- 优势:功能强、延迟 <100ms、支持多人跟踪。
- 适用:高级感知、健康监测、搜救。
2. 通用 CSI 采集工具(适合研究、数据采集)
(1)nexmon_csi(seemoo‑lab/nexmon_csi)
- 定位:Broadcom Wi‑Fi 芯片(树莓派 3B+/4B、部分路由器)的 CSI 固件。
- 核心:修改固件开启 CSI 输出,支持 802.11a/b/g/n/ac。
- 优势:支持多天线、高带宽,适合学术研究。
- 适用:树莓派、路由器改装,大规模数据采集。
(2)Linux 802.11n CSI Tool(dhalperi/linux‑80211n‑csi‑tool)
- 定位:Intel 5300 系列网卡的 CSI 采集工具,经典研究工具。
- 核心:内核模块 + 用户态工具,导出 CSI 到文件 / 网络。
- 优势:稳定、文档全,适合入门研究。
- 适用:PC / 服务器,离线数据分析。
3. 算法 / 研究项目(适合学习、模型开发)
(1)WiFi‑CSI‑Sensing‑Benchmark(sensefi/WiFi‑CSI‑Sensing‑Benchmark)
- 定位 :PyTorch 实现的 CSI 感知基准库,10+ 模型 + 4 大公开数据集。
- 核心:UT‑HAR、NTU‑Fi、Widar3.0 等数据集,支持行为 / 手势 / 身份识别。
- 优势:代码规范、可复现、适合论文 / 竞赛。
- 适用:学生、研究者,快速验证模型。
(2)WIFI_CSI_based_HAR(Retsediv/WIFI_CSI_based_HAR)
- 定位 :入门级人体活动识别(HAR)项目,Python + Jupyter。
- 核心:简单预处理 + 传统机器学习(SVM、Random Forest)。
- 优势:代码极简、注释全、小白友好。
- 适用:初学者,快速上手 CSI 分析。
(3)CSI‑Activity‑Recognition(ludlows/CSI‑Activity‑Recognition)
- 定位 :学术向行为识别,纯 Python、算法清晰。
- 核心:相位净化 + 特征工程 + 分类模型,论文同款实现。
- 优势:适合毕业设计、算法复现。
- 适用:学生、研究者,深入理解算法流程。
三、项目对比(快速选型)
|--------------------|-----------|---------------|-------------------|--------|----------------|
| 项目 | 硬件 | 算法 | 输出 | 难度 | 适合场景 |
| ESPectre | ESP32 | MVS(传统) | Movement Score、阈值 | ⭐⭐ | 智能家居、DIY、HA 集成 |
| RuView | ESP32 | AI(DensePose) | 姿态、呼吸、心率 | ⭐⭐⭐ | 高级感知、健康监测 |
| nexmon_csi | 树莓派 / 路由器 | 采集工具 | 原始 CSI | ⭐⭐⭐ | 研究、数据采集 |
| SenseFi | PC / 服务器 | 深度学习 | 行为 / 手势识别 | ⭐⭐⭐⭐ | 论文、模型开发 |
| WIFI_CSI_based_HAR | PC | 传统 ML | 活动识别 | ⭐ | 入门学习 |