AI 可以让 WIFI 实现监控室内人体位置和姿态,无需摄像头?

最近一个叫 wifi-densepose 的项目登上了趋势榜,这个项目看起来就很反直觉,它主要是通过分析室内已有的 WiFi 信号来感知人的位置和姿态,从而实现"无摄像头"的监控

简单来说,就是通过 CSI(Channel State Information) 数据来替代原本的 RSSI ,具体原理大概是:

  • 当 WiFi 信号在室内传播时,会遇到墙壁、家具和人体,人体作为障碍物,会引起信号的反射、折射和散射
  • 人的不同动作(如走动、坐下、举手)会以特定的方式改变 WiFi 信号的幅度(Amplitude)和相位(Phase),所以可以通过算法得到一个人的"指纹"
  • 项目甚至表示可以捕捉微小的动作,如呼吸(4-60 BPM)和心跳,技术上是通过分析信号频率的微小偏移(微多普勒)实现的

那到这里你应看出来了,它的关键不在于硬件,而在于其复杂的 AI 神经网络算法,因为这里的核心是需要将无线信号"翻译"成了视觉元素:

  • 模态转换:需要有一个转换实现,接收 WiFi 信号数据,通过编码器转换为 2D 的"类视觉特征图"
  • DensePose 整合:文档说的是用一种改进的 DensePose-RCNN 模型,原本这种模型是为摄像头设计的,但在这里它被训练来识别由 WiFi 信号生成的特征,并将这些特征映射到人体表面的 keypoints(关键点)上
  • 实时处理:通过 Rust 系统可以将处理延迟控制在 50 毫秒以内,实现每秒 30 帧的实时姿态追踪
  • 除此之外,用多个路由器的情况下,形成交叉覆盖区域来提高精度,通过 MIMO 从不同角度"观察"人体

所以从代码层面,它的核心流程:

  • CSI 数据采集: 系统利用 WiFi 设备获取底层的 CSI 数据,这个数据主要是记录了信号在多径传播中(被墙壁、人体反射后)的幅度 (Amplitude) 和 相位 (Phase) 的变化

  • 信号预处理

    • 去噪与归一化:移除环境杂波干扰
    • Hamming Window 处理 :减少频谱泄漏,使信号更稳定
    • 相位校准:处理 WiFi 信号固有的相位偏移问题
  • 模态转换 : 模型接收 CSI 原始张量,通过编码器映射为类似视觉特征的 2D 图像张量

  • DensePose : 利用深度学习中的 DensePose Head 架构(densepose_head.py),对生成的特征图进行两类回归:

    • 人体部位分割:识别躯干、四肢等不同部位
    • UV 坐标回归:将人体表面映射到 2D 坐标系,实现精细到皮肤表面的 3D 姿态拟合

看完了大家觉得如何?看起来很高大上,实际上就是对特征数据的暴力整合,也就是这个项目的核心其实是训练数据

为什么这个信号特征是睡着,为什么这个信号特征是蹲着,这些标签都需要数据提供。

但是,从开源代码上看,其中需要进行 WiFi 信号处理和姿态预测的核心功都还没实现,所以我突然很好奇,这个项目是怎么飙升到趋势榜的。

因为从原理上我们可以看出来,计算 WiFi 感知对于躯干定位较准,但在肢体(手指、四肢末端)的细节捕捉肯定没办法精准,除非你有大量的精准特征数据,而且原理对环境依赖相当敏感,也就是环境发生变化,你数据就要进行校准,不然无法剔除静态物体的反射干扰。

最重要的是,当室内人的数量多一点时,信号散射会极度混乱。

所以作者怎么解决这些问题呢?嗯,作者没有解决

是的,作者没有解决或者没有开源这些能力,尽管 README 文件和文档充写了很多功能,指标数据也写的很好看,但是代码里很多都没有实现,而且有一堆 mock 数据,作者没有提供数据集,你不用 mock 就要自己去标注和做数据。

最过分的是,真实硬件接口是"占位符",RouterInterface 中的真实 CSI 采集函数 _collect_real_csi_data() 直接打印警告并返回 None完全没有实际实现

CSI 解析器也用随机数代替真实数据 ESP32CSIParser 的 amplitude/phase 解析直接用 np.random.rand 生成随机数,注释写着 "simplified for now":

就算是在非 mock 模式下,estimate_poses() 方法内部仍也是用 np.random.randn 生成随机 CSI 数据:

训练权重和数据也没有,看下里的感觉就是:

整个代码库就像是 Vibe Coding 写的样板代码,几乎看到完整实现的核心功能

再深挖可以发现,这个项目大概率是基于 "DensePose From WiFi"(ArXiv:2301.00250)的论文实现,而这个过程作者应该是直接让 AI 复现论文,只是没有数据集和更新信息的情况下, AI 根本复现不了,就复现了一个高大上的 README,和一个工程原型壳子。

所以,最后一个问题:大家 star 和 fork 的时候都不看代码实现吗?直接一个 README 就嗨起来了?感觉这更像是一场 AI 的「皇帝的新衣」

项目地址

github.com/ruvnet/wifi...

相关推荐
踩着两条虫3 小时前
VTJ.PRO 核心架构全公开!从设计稿到代码,揭秘AI智能体如何“听懂人话”
前端·vue.js·ai编程
_张一凡4 小时前
【多模态模型学习】从零手撕一个Vision Transformer(ViT)模型实战篇
人工智能·深度学习·transformer
Westward-sun.4 小时前
OpenCV 实战:银行卡号识别系统(基于模板匹配)
人工智能·opencv·计算机视觉
网安INF4 小时前
【论文阅读】-《TtBA: Two-third Bridge Approach for Decision-Based Adversarial Attack》
论文阅读·人工智能·神经网络·对抗攻击
努力也学不会java4 小时前
【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU
java·数据结构·人工智能·算法·缓存·面试
jzlhll1234 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin
BPM6665 小时前
2026流程管理软件选型指南:从Workflow、BPM到AI流程平台(架构+实战)
人工智能·架构
金融小师妹5 小时前
基于多模态宏观建模与历史序列对齐:原油能源供给冲击的“类1970年代”演化路径与全球应对机制再评估
大数据·人工智能·能源
蓝冰凌5 小时前
Vue 3 中 defineExpose 的行为【defineExpose暴露ref变量】详解:自动解包、响应性与实际使用
前端·javascript·vue.js
JamesYoung79715 小时前
OpenClaw小龙虾如何系统性节省Token,有没有可落地的方案?
人工智能