Can WiFi Estimate Person Pose?
这是一份给"完全没接触过 AI / 通信"的读者看的精读笔记。语言尽量像聊天,公式全部翻译成人话。
1. 一句话讲什么(TL;DR)
想象你家路由器除了上网,还能告诉你"屋里那个人正在做啥姿势"——胳膊抬到哪、腿怎么弯,全画给你看。这篇论文用一对普通商用 WiFi 网卡(3 天线发射 + 3 天线接收),配一个摄像头当"老师",让神经网络学会从 WiFi 信道状态信息(CSI)直接画出 18 个人体关节点。核心创举有两个:一是用 AlphaPose 自动给 WiFi 信号打姿势标签、零人工标注成本;二是不直接预测坐标,而是预测"姿态邻接矩阵 PAM"——把每对关节之间的相对位移编码成监督信号,等于给网络免费加了一道"身体比例必须对"的正则化。松标准下(PCK@50 = 0.82)已可用于站/坐/摔倒等粗动作判断,紧标准下(PCK@10 = 0.14)离摄像头还差一大截。意义在于证明了"几十块钱的商用 WiFi 也能做人体姿态估计",是 RF-vision 路线"低成本版"的开荒之作。
所以这一节是想说:这篇论文证明 WiFi 信号不只是用来上网的,它本身就是一种"低分辨率的摄像头"——而且便宜到几十块钱就能搭起来。
2. 这是个什么场景
想象一个独居的老人半夜起床上厕所,万一摔倒了没人知道。你想装个摄像头看看,但老人不愿意——谁愿意自己卧室 24 小时被拍?这是个真实的两难:你想知道屋里人现在是什么姿势(站着、坐着、还是已经躺地上了),但又不能用摄像头。
这篇论文的脑洞是:家里那台路由器就是现成的"姿势探测器"。
物理基础其实很朴素,可以拿"池塘扔石头"打比方:
- WiFi 信号是无线电波,路由器每秒往家里灌几亿个看不见的"波纹"。
- 这些波碰到墙、桌子、人体都会反射、绕行、变形——就像池塘里有人站着 vs 坐着,水面波纹会长得不一样。
- 一个站着的人和一个弯腰的人,搞出来的"波纹形状"是不同的。
- 只要让 AI 学会"看波纹猜姿势",WiFi 就变成一台不需要摄像头的姿势探测器。
为什么这件事值得做?
- 摄像头有死角:暗的地方、墙后面、有烟雾的房间都看不清。WiFi 不在乎这些。
- 摄像头有隐私问题:你不会愿意卫生间或卧室里装个镜头。WiFi 输出的只是 18 个关节点位置,看不出长相和衣服。
- WiFi 设备已经遍地都是:路由器、手机、智能音箱、IoT 灯泡,全都带 WiFi 芯片。再加一个用途,几乎不花成本。

所以这一节是想说:WiFi 当摄像头听起来玄学,但物理基础和应用场景都很扎实,关键是要让 AI 学会"看波"。

3. 之前的人怎么做的,为什么不够好
WiFi 用来"感知人"已经有好几年历史,但都停在比较粗的层面:
- WiFi 室内定位:能告诉你"客厅里有人"或"距离路由器 3.2 米",但不知道这人现在是站着还是躺着。粒度太粗——就像地图上只能看到一个点,但不知道这个点是人是物。
- WiFi 动作分类:把信号丢给 AI,让它在"走路 / 跑步 / 跌倒 / 挥手"几个固定动作里选一个。这是分类题,不是画出姿势。等于只会回答选择题,不会画图。你问"他在干嘛?"只能回答"选项 C:走路",不能回答"他左手叉腰、右手举过头顶"。
- 专用雷达(RF-Pose、RF-Capture):MIT 同期工作。能画出人体姿势,但用的是频率扫频雷达 FMCW——那是科研专用设备,几千上万美元一台,普通家庭买不起。就像你要听个歌,人家说"买一套万元级 HiFi 音响就行"——效果是好,但谁家日常这么干?
- 特殊穿戴或环境改造:墙壁里嵌电极(Wall++)、天花板装 LED + 地面铺光敏片(LiSense)。这些都需要把房间改造一遍,安装成本极高。
这些方案要么"看不细",要么"贵到爆",要么"装不下"。论文要回答的核心问题是:用一对几十块钱的商用 WiFi 卡,能不能干雷达和摄像头干的活?
所以这一节是想说:现有方案要么太粗、要么太贵,从没人尝试用最便宜的商品 WiFi 直接估出 18 个关节点。
4. 这篇论文的新想法
类比一句:就像让一个盲人徒弟跟着一位明眼师傅学相面——师傅每看一眼就告诉徒弟"这人现在弯腰举手",徒弟只能摸到房间里的"风"(WiFi 波),但摸久了也能光凭风的变化猜出对方的姿势。
技术上一句话:搭一对 3 天线发射 + 3 天线接收的普通 WiFi,配一个摄像头当"师傅",让神经网络学会从 WiFi 信号直接画出 18 个人体关节点。
关键创举有两个:
- 用摄像头给 WiFi 当"标签机"——摄像头看一帧,AlphaPose 自动产出"这一刻人的姿势",当 WiFi 信号的标准答案。不用任何人工去标。整套数据集 80,000 张图标完只要几小时。
- 不直接预测 18 个 (x, y) 坐标,而是预测一个叫"姿态邻接矩阵 PAM"的奇怪形状——后面会详细讲为什么这样训练效果更好(一句话剧透:为了让网络不画出"脖子比头粗"那种比例失调的人)。
这两个创举的组合本质上是:跨模态师生学习 + 结构化监督目标。摄像头模态的知识被"蒸馏"进 WiFi 模态,部署时只要 WiFi、不要摄像头。
所以这一节是想说:核心思路是让摄像头当老师、WiFi 当学生,再加一个聪明的训练目标让 WiFi 学得动。
5. 方法(它分几步做的)
整篇论文做了 4 件事:搭硬件 → 设计标签 → 设计监督表示 → 设计网络与训练。这是论文最核心的部分,下面逐一拆解。
理解方法部分需要抓住一条主线:所有的设计决策都围绕"如何让 WiFi 学会摄像头的能力"这个目标。硬件采集系统解决的是"怎么同时拿到两种信号"的问题;AlphaPose 解决的是"怎么免费获取标签"的问题;PAM 解决的是"用什么形式的标签让网络学得好"的问题;WiSPPN 网络解决的是"怎么把 CSI 这种小张量映射到 PAM 这种大矩阵"的问题。四步环环相扣,缺一不可。
从信息流的角度看,整个系统可以概括为:WiFi CSI(物理世界的信号) → 编码器(维度对齐) → 特征提取器(模式识别) → 解码器(姿态输出),监督信号来自摄像头 → AlphaPose → PAM 编码这条平行路径。训练时两条路径都在运行,部署时只保留 WiFi 那条路径。
5.1 搭一套"WiFi + 摄像头"双胞胎采集系统
类比
教小孩认动物。你拿出一张照片说"这是猫",小孩看到照片同时听到"猫"。看够了几千张,他下次只听到"猫"也能在脑子里浮现出猫的样子。
这里"照片" = 人体姿势,"声音" = WiFi 信号。摄像头负责给出姿势,WiFi 负责听信号。两边必须同步——不然学生看到信号就不知道对应哪个动作了。
具体做了什么
硬件部分非常简单:一个 3 天线 WiFi 发射器(sender)+ 一个 3 天线 WiFi 接收器(receiver),都是普通商用网卡(如 Intel 5300),加一个摄像头。三个设备摆在同一个房间里对准同一个区域。
时间同步方案:用 Unix 时间戳给两边数据打标签,确保"这一帧画面"和"这一段 WiFi 信号"是同一时刻的。
采样率差异处理:WiFi 采样率 100 Hz(每秒 100 段数据),摄像头 20 Hz(每秒 20 帧),所以每 1 帧画面对应 5 段连续的 WiFi CSI 数据,后面会把这 5 段拼在一起当网络输入。
CSI(Channel State Information,信道状态信息)详解
CSI 是 WiFi 信号从发射端到接收端"被环境揉搓的痕迹"。WiFi 用 OFDM(正交频分复用)技术把一个 20MHz 频道切成 30 个子载波同时传输数据。每个子载波在传播过程中会经历不同的功率衰减和相位偏移——这些变化就是 CSI。
数学上,每一段 CSI 是一个复数矩阵。本文用 3 发射天线 x 3 接收天线 x 30 子载波,所以单段 CSI 是一个 30 x 3 x 3 的张量。每个元素是一个复数 h = y/x,其中 x 是发射信号(已知)、y 是接收信号(测量到的),h 就是"中间发生了什么"的编码。
生活语言理解 CSI:想象你站在池塘对面扔了 30 颗不同颜色的石头(30 个子载波),每颗石头从 3 个不同角度扔(3 根发射天线),你的朋友在对面用 3 个不同位置的传感器记录水面波纹(3 根接收天线)。如果池塘中间站着一个人,水波绕过人体后的纹路就跟没人时不一样。CSI 记录的就是这种"有人 vs 没人"导致的波纹差异——而且不同姿势导致的差异也不一样。
OFDM(正交频分复用)补充:为什么要切成 30 个子载波而不是用一个大频率传?因为无线环境中不同频率受到的干扰不同。某个子载波被家具反射搞乱了,其他子载波可能还好。30 个子载波等于 30 个"观察角度",给 AI 更丰富的信息去推断人的姿势。这也是 WiFi 做感知比蓝牙(单载波)有天然优势的原因——蓝牙只有 1 个"观察角度",WiFi 有 30 个。
CSI 幅度和相位的直觉:每个 CSI 元素是一个复数 h = |h| * e^(j*theta),其中 |h| 是幅度(信号被削弱了多少)、theta 是相位(信号到达时间的偏移)。幅度主要反映路径上的功率损耗,相位主要反映路径长度(人离天线远近不同,信号走过的路不一样长)。理论上两者都携带人体信息,但商用 WiFi 网卡的相位测量不太稳定(存在随机漂移),所以实际中幅度信息更可靠。本文没有显式处理相位漂移,大概率主要依赖幅度。
多天线的空间分集:3 根发射天线和 3 根接收天线形成 3 x 3 = 9 对天线通道。每对天线之间的信号路径不同(因为天线物理位置不同),看到的多径结构也不同。这就像 9 个不同位置的"观察者"从不同角度看同一个人——综合 9 个视角的信息,比单一视角能推断出更丰富的空间关系。再乘以 30 个子载波的频率多样性,一段 CSI(270 个复数值 = 540 个实数值)编码了相当丰富的环境信息。
采样率设计的考量:WiFi 100 Hz 意味着每 10ms 采集一段 CSI。人体日常动作的频率通常在 0.5-5 Hz(走路约 2 步/秒),100 Hz 远高于奈奎斯特采样频率(至少需要 10 Hz),所以不会丢失动作信息。摄像头 20 Hz 也够用——视频帧率通常 24-30 fps,20 fps 对于姿态估计够了。5:1 的比例意味着每帧图像对应 5 段 CSI,这 5 段包含了约 50ms 的时间窗口,刚好覆盖一个完整动作片段。
这步为什么关键
- 之前没有"WiFi + 人体姿势"的配对数据集,这一步亲手造出了 80,000+ 帧的样本,让监督学习成为可能。
- 摄像头和 WiFi 严格对齐时间戳(Unix timestamp),让后面的"老师教学生"成立。
- 用普通设备(Intel 5300 网卡几百块人民币)意味着别人也能复现,不像 MIT 的 FMCW 雷达设备门槛那么高。
所以这一节是想说:第一件事是搭好"摄像头当老师、WiFi 当学生"的双胞胎采集装置,并保证两边数据严格对齐时间——数据对齐是整套师生学习的地基。
5.2 让 AlphaPose 当老师,自动给每帧画姿势
类比
你想教外国朋友学中文写字,但你不会教学。怎么办?请一位中文老师来——老师每天写一个字给你朋友照着练。老师不需要懂英文,只要能写出标准答案就行。
这里"中文老师" = AlphaPose,"朋友" = WiSPPN(学生网络),"练字" = 学 WiFi 到姿势的映射。
具体做了什么
每帧画面交给 AlphaPose,AlphaPose 输出 18 个关节点。每个点有三个值:(x, y, c)——x 和 y 是像素坐标,c 是置信度(0 到 1,表示这个点检测得有多确定)。18 个点按 COCO 标准编号:鼻子、脖子、左右肩、左右肘、左右腕、左右胯、左右膝、左右踝、左右眼、左右耳。
这 18 个点就是"这一刻人的姿势",是 WiFi 学生要去拟合的"标准答案"。
AlphaPose 是什么:上海交大 + 港中文做的开源人体关键点检测器(2017-2019),两步走——先用 YOLOv3 框出人,再用 RMPE(Regional Multi-Person Pose Estimation)回归每个关节的位置。是 2018-2019 年最强开源选手之一。这里它完全被当作黑盒工具来用,不参与 WiFi 侧的训练。
AlphaPose 的两步流程详解:第一步,YOLOv3 目标检测器扫描整张图片,输出一个或多个包含人体的矩形框(bounding box)。如果检测到多个人(误检),论文只保留置信度最高的那个框——因为本文只做单人场景。第二步,RMPE 在裁剪出的人体区域上回归 18 个关节点的热力图(heatmap),每个关节一张热力图,热力图上最亮的点就是该关节的预测位置。最后把热力图峰值坐标转换成原图坐标系下的 (x, y),加上该峰值的响应强度作为置信度 c。
COCO 18 点配置:标准 COCO 数据集定义了 17 个关键点,本文多加了一个"脖子"(Neck),通过左右肩中点计算得到,共 18 个。这些点覆盖了人体的主要关节,足以描述大部分日常姿势——站、坐、走、弯腰、伸手等。
置信度 c 的用途:不仅仅是过滤,后面在损失函数中还会用到——老师自己不确定的点(比如被遮挡的脚踝,c 很低),允许学生犯更大的错,只扣一点点分;老师很确定的点(比如清晰可见的鼻子,c 接近 1),学生错了要狠狠扣分。这是一种聪明的加权策略。置信度还用于构造 PAM 的第三层 c'(见 5.3 节),让"两个都不确定的关节之间的位移约束"权重极低(c_i x c_j 很小),避免噪声标签之间的虚假约束干扰训练。
这步为什么关键
- 零人工标注成本:一张图 24 美分都不用花,AlphaPose 几毫秒搞定一帧。80,000 张图标完只要几小时 GPU 时间。
- 标注质量稳定:人工标注会累、会马虎,同一个人上午标的和下午标的可能不一致。AlphaPose 不会。
- 可扩展:想加数据?再录一段视频跑一遍 AlphaPose 就行,边际成本接近零。
- 这种"用一个成熟模型给新模型当老师"的套路叫知识蒸馏或师生学习(teacher-student learning),后来在视觉、NLP、多模态领域都流行起来。本文是这种范式在 RF-vision 领域的早期应用。
所以这一节是想说:用现成的 AlphaPose 自动批量生产姿势标签,零人工成本造出 80K 训练样本——"请一个免费的老师来出题"。
5.3 不预测坐标,而预测"姿态邻接矩阵 PAM"
这是论文最聪明、也是最具原创性的一步。
类比
让一个画家凭空画"一个站着的人"。两种教法:
- 教法 A(直接回归坐标):直接给他 18 个点的坐标——"鼻子在 (320, 100),脖子在 (320, 130)......"。画家照着标点,但点和点之间没有约束,画出来的人可能脖子比头还粗、胳膊比腿还长——比例失调。就像让小孩在白纸上标 18 个点但不告诉他"这些点之间应该保持什么距离"。
- 教法 B(PAM):除了告诉他每个点的坐标,还告诉他"鼻子到脖子距离 30 像素、方向朝下"、"肩膀到肘部距离 40 像素、方向朝外"......每对点之间的相对位置都告诉他。这样画家很难画错——身体比例自动就对了。就像你除了给他地图上的城市坐标,还给了他一张"城市之间的距离表"。
PAM 就是教法 B 的数学版本。
具体做了什么
把 18 个关节点想成一张图(graph)的 18 个节点,任意两个节点之间都连一条有向边(有向完全图,directed complete graph),得到 18 x 18 = 324 条边。
构造一个 3 x 18 x 18 的三维矩阵:
第一层 x':对角线位置 (i, i) 放第 i 个关节的 x 坐标本身;非对角线位置 (i, j) 放"第 i 点的 x 减第 j 点的 x",即两点的水平位移。
第二层 y':同理,记录纵向坐标和位移。
第三层 c':对角线位置放该关节的置信度 c_i;非对角线位置放两点置信度的乘积 c_i x c_j。
原文公式翻译成人话:
x'_{i,j} = x_i - x_j (i 不等于 j)
x'_{i,i} = x_i
"对角线放每个点自己的 x 坐标,其他格子放两点 x 的差"。y' 一样的逻辑。c' 也类似,但"差"换成"乘积"——两点置信度的乘积意味着只有两个点都被准确检测到时,这条边的约束才有大权重。
网络最终预测的不是 18 x 2 的坐标列表,而是这个 3 x 18 x 18 的矩阵。
图论术语解释
- 邻接矩阵(adjacency matrix):图论里描述"哪些节点相连"的标准工具。一行一列对应一个节点。传统邻接矩阵里 1 表示连、0 表示不连。这里把"连不连"改成"两点之间差多少",所以叫姿态邻接矩阵。
- 有向完全图(directed complete graph):任意两个节点之间都有一条有向边。18 个关节点两两有连接(i 到 j 和 j 到 i 算两条不同的边),所以矩阵是稠密的、非对称的(x_i - x_j 不等于 x_j - x_i)。
为什么 PAM 比直接回归坐标好
- 内置身体比例约束:直接预测坐标的网络容易"坐标飘"——预测出来的点位置可能各自差不多对,但点与点之间的相对距离乱掉,画出来的人身体比例失调。PAM 把"两点之间应该差多少"变成网络必须拟合的目标,等于免费给网络加了个"骨架长度正则化"。
- 方向约束:比如鼻子到脖子的位移在 y 方向几乎总是负的(脖子在鼻子下方)——网络学过几千个例子后会把这个规律刻进去,不会画出"头朝下"的人。
- 对角线提供绝对位置:PAM 的对角线上仍然保留了每个点的绝对坐标,所以不丢失全局位置信息。非对角线上的相对位移是额外的约束。
- 推理时恢复坐标:部署时只需取 pPAM 的对角线元素即可还原 18 个关节点坐标——pPAM(1, k, k) = x_k, pPAM(2, k, k) = y_k。
实际预测维度:虽然 PAM 定义为 3 x 18 x 18,但网络只预测 x' 和 y' 两层(2 x 18 x 18),不预测 c' 层。c' 层只用于损失函数的加权。
用 3 个关节点走一遍 PAM 构造(简化示例)
假设只有 3 个关节点——鼻子 (100, 50, 0.9)、脖子 (100, 80, 0.95)、右肩 (130, 80, 0.85)。PAM 会是 3 x 3 x 3 的张量:
x' 层(水平坐标与位移):
| 鼻子 | 脖子 | 右肩 | |
|---|---|---|---|
| 鼻子 | 100 | 100-100=0 | 100-130=-30 |
| 脖子 | 100-100=0 | 100 | 100-130=-30 |
| 右肩 | 130-100=30 | 130-100=30 | 130 |
y' 层(纵向坐标与位移):
| 鼻子 | 脖子 | 右肩 | |
|---|---|---|---|
| 鼻子 | 50 | 50-80=-30 | 50-80=-30 |
| 脖子 | 80-50=30 | 80 | 80-80=0 |
| 右肩 | 80-50=30 | 80-80=0 | 80 |
c' 层(置信度与乘积):
| 鼻子 | 脖子 | 右肩 | |
|---|---|---|---|
| 鼻子 | 0.90 | 0.9x0.95=0.855 | 0.9x0.85=0.765 |
| 脖子 | 0.95x0.9=0.855 | 0.95 | 0.95x0.85=0.808 |
| 右肩 | 0.85x0.9=0.765 | 0.85x0.95=0.808 | 0.85 |
从这个例子可以看到:对角线保留了原始坐标(用于最终恢复关节位置),非对角线编码了"鼻子到脖子在 y 方向差 -30 像素(脖子在鼻子下方)"和"右肩到脖子在 x 方向差 30 像素(右肩在脖子右边)"这样的结构约束。网络训练时必须同时拟合这两种信息,自然就学会了人体骨架的比例关系。
与直接回归坐标的对比总结
| 维度 | 直接回归 (x,y) | 回归 PAM |
|---|---|---|
| 输出大小 | 18 x 2 = 36 个值 | 2 x 18 x 18 = 648 个值 |
| 结构约束 | 无(各点独立) | 有(每对点的相对位移必须一致) |
| 身体比例 | 不保证 | 隐式保证(位移值编码了骨骼长度) |
| 抗噪声能力 | 弱(单点错就整体跑偏) | 强(冗余信息互相校验) |
| 推理恢复 | 直接读取 | 取对角线元素 |
PAM 的代价是输出维度增大了 18 倍(从 36 到 648),但这 18 倍的冗余正是它"免费正则化"的来源——就像你做一道数学题,同时用两种方法解,如果两个答案一致就更有信心。
所以这一节是想说:把姿势编码成"每对关节的相对位移矩阵",等于给网络免费加了一道"身体比例必须对"的约束——这是整篇论文最核心的方法贡献。
5.4 WiSPPN 网络结构:编码器 + 特征提取器 + 解码器
类比
把一段广播录音变成歌词字幕,需要三步:先把声音波形数字化(编码器)、再听出旋律和节奏(特征提取器)、最后写成文字(解码器)。WiSPPN 就是这三段流水线。
输入
5 段连续 CSI(每段 30 x 3 x 3),沿时间轴拼起来 = 150 x 3 x 3 的张量。一共 1,350 个浮点数——比一张 224 x 224 RGB 图(约 150,000 浮点数)小 100 倍还多。
(a) 编码器(Encoder):把"小邮票"撑成"大画面"
CSI 输入只有 3 x 3 的空间尺寸,但主流 CNN 骨干(VGG、ResNet)设计时假设输入至少有上百像素的宽高。编码器用一步双线性插值(bilinear interpolation)把 150 x 3 x 3 直接撑大成 150 x 144 x 144。
双线性插值:把小图放大到大图时,新像素的值由周围 4 个旧像素加权平均出来。手机相册的"图片放大"功能本质上就是这个操作。
为什么不用更复杂的方法?论文前身 CSI-Net 用了 8 层转置卷积(transposed convolution)逐步放大,算力大但效果没好多少。这里一行 bilinear 搞定,简单粗暴但够用。
(b) 特征提取器(Feature Extractor):4 个 ResNet 残差块
把 150 x 144 x 144 通过 4 个残差块(每块 4 层卷积,共 16 层卷积)逐步提取特征并降低空间分辨率:
| 残差块 | 输出尺寸 | 关键参数 |
|---|---|---|
| Block 1 | 150 x 144 x 144 | 3x3 conv, stride=1, 保持尺寸 |
| Block 2 | 150 x 72 x 72 | 3x3 conv, stride=2, 空间减半 |
| Block 3 | 300 x 36 x 36 | 3x3 conv, stride=2, 通道翻倍 |
| Block 4 | 300 x 18 x 18 | 3x3 conv, stride=2, 输出 18x18 |
最终输出特征图 F_t 的形状正好是 300 x 18 x 18——空间维度的 18 x 18 和 PAM 的 18 x 18 对齐,这不是巧合,而是有意设计的。
ResNet(残差网络):何恺明 2015 年的工作。每一层不仅看上一层的输出,还加上前面层的原始输入(shortcut connection)。好处是就算网络很深(16 层、50 层、100 层),梯度也不会"消失"(一种深网络无法训练的常见病)。每个残差块里的每层卷积后面跟着 Batch Normalization + ReLU 激活。
(c) 解码器(Decoder):两层 1x1 卷积压通道
两层 1 x 1 卷积把 300 通道先压到 36、再压到 2,输出形状 2 x 18 x 18 的预测 PAM(pPAM),只预测 x' 和 y' 两层。
1 x 1 卷积的作用是纯粹的通道混合——不改变空间尺寸,只在通道维度上做线性变换。可以理解为对每个像素位置做一次全连接。这里没用全连接层(FC),因为全连接层要求固定的输入维度,而全卷积网络(FCN)可以处理不同尺寸的输入——虽然本文输入尺寸是固定的,但 FCN 结构让网络更轻量。
完整数据流总结(从 CSI 到关节坐标)
原始 CSI 5 段 x (30 x 3 x 3)
|
| [沿时间轴拼接]
v
拼接后 CSI 150 x 3 x 3 (1,350 个浮点数)
|
| [双线性插值放大]
v
编码器输出 150 x 144 x 144 (约 311 万个值)
|
| [4 个 ResNet 残差块,16 层卷积]
| Block1: 150x144x144 (stride=1, 保持)
| Block2: 150x72x72 (stride=2, 空间减半)
| Block3: 300x36x36 (stride=2, 通道翻倍)
| Block4: 300x18x18 (stride=2, 最终特征)
v
特征图 F_t 300 x 18 x 18 (约 9.7 万个值)
|
| [Conv1: 300->36, 3x3] [Conv2: 36->2, 1x1]
v
预测 pPAM 2 x 18 x 18 (648 个值)
|
| [取对角线元素]
v
18 个关节坐标 (x_1,y_1), ..., (x_18,y_18)
这个流水线有一个巧妙的"沙漏"形状:输入从 1,350 个数字出发,先放大到约 311 万(编码器),再压缩回约 9.7 万(特征提取器),最后输出 648 个数字(解码器),其中只有 36 个(18 个点 x 2 个坐标)是最终需要的。中间的"膨胀"是为了让 CNN 有足够的空间特征可以做卷积提取。
损失函数
L = c' * (||pPAM_x - PAM_x||^2 + ||pPAM_y - PAM_y||^2)
人话:预测姿态矩阵和老师姿态矩阵的逐元素差距的平方和,再按"老师有多自信"加权。
加权策略的直觉:老师不太确定的点(被遮挡的脚踝,c 很低),学生猜错了也只扣一点点分;老师很确定的点(清晰可见的鼻子,c 接近 1),学生猜错了就狠狠扣分。这避免了网络被老师自己拿不准的"噪声标签"带跑偏。
用上面的 3 关节点例子算一次损失:假设网络预测的鼻子 x 坐标是 105(真实 100),脖子是 99(真实 100),右肩是 128(真实 130)。PAM 中 (鼻子, 鼻子) 位置的 x' 误差 = |105 - 100|^2 = 25,乘以置信度权重 0.9;(脖子, 鼻子) 位置的 x' 误差 = |(99-105) - (100-100)|^2 = 36,乘以置信度权重 0.855。可以看到:不仅绝对位置的误差被计算了,两点之间的相对位移误差也被计算了——网络必须同时让"每个点的位置"和"每对点的距离"都对,才能把损失降到最低。
没有用的替代方案及原因:论文没有选择 L1 损失(绝对值误差)而选了 L2(平方误差),可能是因为 L2 对大误差惩罚更重,在训练初期能更快收敛到大致正确的位置。也没有选择基于热力图(heatmap)的监督——热力图在视觉姿态估计中是主流,但 CSI 输入和图像输入的空间结构完全不同,热力图方式不直接适用。
为什么这个网络设计够用
整个网络没有什么花哨的组件——编码器就是一次插值、特征提取器就是标准 ResNet、解码器就是两层 1x1 卷积。真正有创意的是 PAM 这个监督信号 + 师生训练范式。网络结构是"站在巨人肩膀上"(CSI-Net 的编码思路 + ResNet 的提取器 + FCN 的密集预测范式)的稳健工程实践。
所以这一节是想说:网络结构本身没什么花哨——靠的是 PAM 这个聪明的监督信号和"老师越确定、学生被罚越狠"的加权损失。
5.5 训练细节与推理流程
训练超参数
- 框架:PyTorch 1.0
- 训练轮数:20 epoch
- 初始学习率:0.001
- 学习率衰减:每 5 个 epoch 衰减一半(第 5、10、15 个 epoch 各乘 0.5)
- Batch size:32
- 优化器:Adam
推理流程
训练完成后,部署时只需要 WiFi 收发器,不再需要摄像头。输入一段 CSI(150 x 3 x 3),网络输出 pPAM(2 x 18 x 18),取对角线元素即可还原 18 个关节坐标:
x_k = pPAM(1, k, k), k = 1, 2, ..., 18
y_k = pPAM(2, k, k), k = 1, 2, ..., 18
这就是师生学习的核心好处:把摄像头的能力"蒸馏"进 WiFi 模型,部署时只留学生(WiFi),老师(摄像头)可以撤走。
学习率衰减策略的直觉:初始学习率 0.001 表示每次参数更新的步长中等偏大,让网络在前几个 epoch 快速收敛到大致正确的方向。每 5 个 epoch 学习率减半,相当于越来越"小心翼翼"地微调——就像你画画时先用大笔刷铺底色,再用小笔触修细节。20 个 epoch 之后学习率已经是初始值的 1/8(0.001 x 0.5^3 = 0.000125),足以让网络稳定在一个不错的解。
Adam 优化器的选择:Adam 是 2015 年提出的自适应学习率优化器,结合了动量(momentum)和 RMSProp 的优点——每个参数有自己的学习率,梯度大的参数学得慢、梯度小的参数学得快。对于这种输入信号噪声较大(WiFi CSI 本身波动大)的任务,Adam 比普通 SGD 更稳定。
训练时和部署时的对比
| 阶段 | 需要的设备 | 运行的网络 | 输入 | 输出 |
|---|---|---|---|---|
| 训练 | WiFi 收发器 + 摄像头 | AlphaPose(老师)+ WiSPPN(学生) | 视频帧 + CSI | PAM 标签 + 预测 PAM |
| 部署 | 只需 WiFi 收发器 | 只需 WiSPPN(学生) | CSI | 18 个关节坐标 |
这张表清楚地展示了师生学习范式的核心价值:训练成本高但只需要一次,部署成本低且可以一直用。这和你考驾照的逻辑一样——学车需要教练车、教练、考场(高成本),但拿了证之后自己开车上路就好了(低成本)。
所以这一节是想说:训练配置朴素到"单卡几小时搞定",部署时完全不需要摄像头——真正做到了"训练时双模态、推理时单模态"。

6. 关键数字
数字本身不重要,重要的是它们告诉你这套方案到底能用还是只是噱头。
数据集规模
| 项目 | 数值 | 说明 |
|---|---|---|
| 训练集 | 79,496 帧 | 8 位志愿者、2 个房间、16 个收发布点位置 |
| 测试集 | 19,931 帧 | 每人前 80% 训练、后 20% 测试 |
| 总帧数 | 约 99,427 帧 | 含 CSI + 视频配对 |
对比:同期 RF-Pose 用了 100 多小时数据(约 50 万帧),规模大 5 倍以上。但本文用的是便宜设备,数据量也够证明概念。
PCK 指标结果
PCK@a 表示预测点和真实点的距离小于"上半身长度的 a%"就算对。
| 指标 | 平均值 | 含义 |
|---|---|---|
| PCK@50 | 0.82 | 松标准——82% 的关节点在"上半身长度一半"范围内 |
| PCK@40 | 0.73 | 中等标准 |
| PCK@30 | 0.59 | 较严标准 |
| PCK@20 | 0.38 | 严标准 |
| PCK@10 | 0.14 | 紧标准——只有 14% 的关节能精确定位 |
| PCK@5 | 0.04 | 极紧标准——基本都不准 |
对比参考:摄像头方法(AlphaPose)PCK@10 通常在 0.6-0.8。WiFi 在松标准下已经可用于粗动作判断(站/坐/摔倒/举手),但精细定位还差摄像头一大截。
各关节点准确率差异
| 关节 | PCK@50 | PCK@10 | 特点 |
|---|---|---|---|
| 脖子(Neck) | 0.88 | 0.22 | 最准——身体中轴、体积大、WiFi 信号影响明显 |
| 右肩 | 0.89 | 0.19 | 准——面积大、位置稳定 |
| 左肩 | 0.91 | 0.20 | 最高 PCK@50——左肩是所有关节里松标准最好的 |
| 左脚踝 | 0.73 | 0.06 | 最差——远端小关节、对 WiFi 影响小、常被遮挡 |
| 右脚踝 | 0.71 | 0.08 | 第二差——同理 |
规律:身体中轴线上的大关节(脖子、肩、胯)最容易估对,四肢末端的小关节(手腕、脚踝)最难。原因是末端关节体积小、对 WiFi 信号的反射/散射贡献小、且更容易被躯干遮挡。
输入数据量对比
| 输入 | 大小 | 浮点数 |
|---|---|---|
| CSI 张量(5 段拼合) | 150 x 3 x 3 | 1,350 |
| RGB 图像(224 x 224) | 3 x 224 x 224 | 150,528 |
| 比例 | CSI 约为 RGB 的 1/111 |
WiFi 输入信息量只有图像的百分之一不到,但靠 PAM 监督和 ResNet 提取,照样能把粗姿势抠出来——说明 CSI 里确实编码了人体姿态信息,只是需要足够聪明的网络去挖掘。
训练效率
| 项目 | 值 |
|---|---|
| 训练 epoch | 20 |
| 初始学习率 | 0.001 |
| 衰减策略 | 每 5 epoch x 0.5 |
| Batch size | 32 |
| 优化器 | Adam |
| 实现框架 | PyTorch 1.0 |
| 预估训练时间 | 单卡几小时 |
所以这一节是想说:松标准下 WiFi 姿态估计已经"能用",紧标准下离摄像头还差一大截——这就是 2019 年 WiFi 估姿的真实档位。
7. 实验结果说明了什么
数据采集
- 地点:Carnegie Mellon University 校园内,2 个房间——1 个实验室、1 个教室。不同房间的家具布局、墙体材质、WiFi 多径环境都不一样。
- 布点:2 个房间共 16 个收发位置(sender-receiver 对),模拟不同角度和距离。
- 志愿者:8 人,每人做日常动作(站、坐、走、弯腰、伸展等,不是预设的固定动作集)。
- IRB 审批:通过 CMU IRB(编号 STUDY2018_00000352),说明涉及人体实验有规范流程。
数据划分方式
按每人时间顺序前 80% 训练、后 20% 测试。这意味着训练和测试数据来自同一个人、同一个房间,只是不同时间段。这叫人内泛化(intra-person generalization)——检验的是"看过这个人之前的动作,能否预测他后来的动作",而不是"看过张三,能不能预测从没见过的李四"。
这是一个重要的实验设计选择。论文没有做**跨人泛化(cross-person)或跨房间泛化(cross-environment)**的实验——后续工作(WiPose、MMFi 等)补上了这块。
评估指标
PCK(Percentage of Correct Keypoints)是人体姿态估计领域的标准指标。PCK@a 的定义是:预测关节点和真实关节点之间的欧氏距离,除以"参考长度"(本文用右肩到左胯的距离作为上半身长度),如果商小于 a%,就算这个关节点"预测正确"。对所有测试帧的所有关节取平均,得到 PCK@a 值。
论文报告了 PCK@5 到 PCK@50 六档,给出了从"极严格"到"很宽松"的完整精度画面。
所以这一节是想说:实验规模不大(8 人、2 房间)、划分方式保守(人内泛化),但足以证明 WiFi CSI 到人体姿态的映射是可学的。
8. 你应该懂的几个新词
CSI(Channel State Information,信道状态信息):WiFi 信号在收发途中"被环境揉搓的痕迹"。一段 CSI = 一个 30 x 3 x 3 的复数张量。30 是子载波数、两个 3 是发射/接收天线数。是这篇论文唯一的输入信号。
OFDM(正交频分复用):WiFi 把一段 20MHz 频带切成几十个子载波同时传数据的技术。好处是某个子载波被干扰了,其他还能用。CSI 就是给每个子载波单独记录一个传播状态值。
天线(antenna):发射/接收无线电波的硬件。多天线 = 多个空间位置同时观测,提供空间分集增益。本论文用 3 发 3 收。
关键点 / 关节点(keypoint / joint):人体上预先定义的特征点(鼻子、肩、肘等)。COCO 标准配置有 17 或 18 个点。本文用 18 点(含脖子)。
姿态估计(pose estimation):从输入信号中预测每个关节点的 2D 或 3D 位置。摄像头版已经做到很好,本文是 WiFi 版的早期尝试。
PCK(Percentage of Correct Keypoints):评估姿态估计准确率的标准指标。"@50"表示允许误差不超过参考长度的 50%。参考长度通常取上半身的对角线(右肩到左胯)。
PAM(Pose Adjacent Matrix,姿态邻接矩阵):本文的核心创新。把 18 个关节点编码为 3 x 18 x 18 矩阵,对角线是绝对坐标、非对角线是两点的相对位移,比直接回归坐标多了"身体比例约束"。注意:导读 ch19 中的 PAM 指的是 Phase Alignment Module(相位对齐模块),是不同的东西。
邻接矩阵(adjacency matrix):图论里描述节点关系的标准矩阵。本文把"两点连不连"改写成"两点的位移",得到了一种加权的稠密邻接矩阵。
师生学习 / 知识蒸馏(teacher-student / knowledge distillation):用一个已训练好的"老师"模型给"学生"模型生成训练标签的范式。好处是学生可以从不同的输入模态学习,部署时不再需要老师。本文老师 = AlphaPose(视觉),学生 = WiSPPN(WiFi)。
ResNet(残差网络):何恺明 2015 年的工作。通过 shortcut connection 让深层网络也能稳定训练。本文用 4 个残差块(16 层卷积)当特征提取器。
FCN(Fully Convolutional Network,全卷积网络):从输入到输出全用卷积、不带全连接层的网络。好处是输入输出的空间维度可以灵活变化。WiSPPN 是 FCN。
双线性插值(bilinear interpolation):把小图按邻近 4 个像素加权平均放大成大图的标准操作。这里用来把 CSI 输入从 3x3 撑大到 144x144,替代了 CSI-Net 的 8 层转置卷积。
多径效应(multipath):无线电波碰到墙壁、家具时反射,导致接收端收到直接路径和多条反射路径的叠加信号。在本文中,多径不是噪声而是信息来源——人体改变了多径结构,而这些改变正是 CSI 编码姿态信息的物理基础。
所以这一节是想说:上面这十几个词在 RF + 视觉交叉领域反复出现,先把它们和日常类比挂起来,后面读相关论文时可以直接查。
9. 它有什么搞不定的
论文老老实实把短板写在台面上,再加上后续社区发现的问题:
只能估单人:场景里多于一个人时,3 天线 WiFi 信号叠加在一起没法分开。CSI 是所有人对信号影响的总和,不像图像那样可以对每个人单独裁剪再检测。要做多人版本得换硬件(更多天线)或换方法(如后续的 Person-in-WiFi 3D 用多对收发器)。
环境依赖严重(跨场景泛化差):训练在 A 房间收的数据,换到 B 房间(家具不同、墙体材质不同、WiFi 多径环境完全变了)效果会明显下降。论文只在 2 个房间做了实验,且训练测试不跨房间。这意味着每换一个新环境可能都需要重新采集数据训练。
精度档次远低于摄像头:PCK@10 只有 0.14,而摄像头方法在 0.6-0.8。要做精细动作识别(比如手语翻译、手指运动)还差得远。WiFi 波长 6-12 cm,物理分辨率就决定了它不可能像可见光(波长 400-700 nm)那样捕捉厘米级细节。
跨人泛化未验证:数据划分是"每人前 80% 训练后 20% 测试"(人内泛化),没有做"在张三身上训练、在李四身上测试"的实验。不同人的体型、身高、动作习惯差异可能导致性能显著下降。
CSI 相位不稳定:WiFi 设备的时钟不完美同步,CSI 的相位信息会随时间随机漂移。本文没有专门处理这个问题(后续的导读 ch19 提到了 PAM / Phase Alignment Module 来解决),意味着论文可能主要依赖的是 CSI 的幅度信息而非相位。
只有 2D 输出:预测的是 18 个关节点的 (x, y) 像素坐标,没有深度信息。在真实应用中(如摔倒检测),知道人是"面朝摄像头弯腰"还是"侧身弯腰"是很重要的区别,2D 姿态无法区分。
没有实时性分析:论文没报告推理延迟。对于跌倒检测这种需要实时响应的场景,延迟指标很关键。
所以这一节是想说:单人 / 同环境 / 粗精度 / 无跨人验证 / 只有 2D / 相位未处理——六道天花板让这套方案目前只是 proof-of-concept,离日常产品还差好几步。
10. 它和别的论文是什么关系
RF-Pose(MIT, CVPR 2018):路线一样(RF 信号 -> 人体姿势),但 RF-Pose 用的是 FMCW 雷达(频率扫频连续波),造价 $100-200;本文用的是 $15-30 的商用 WiFi 卡。RF-Pose 的 PCK@50 约 0.87,本文 0.82。RF-Pose 证明可行性,本文证明可负担。二者共同构成了 RF-vision 姿态估计的开山之作。
CSI-Net(2018,同一作者 Fei Wang):用 CSI 做人体身份识别 + 动作分类。本文的编码器思路(把 CSI 上采样再送入 CNN)就是从 CSI-Net 借的。CSI-Net 是"前传"——先证明 CSI 里有人体信息,再来做更精细的姿态估计。
mmMesh / milliMap(毫米波雷达路线):用 77GHz 毫米波雷达做更细粒度的人体/环境感知。频率更高 -> 波长更短 -> 分辨率更细,介于 WiFi 和摄像头之间。WiFi 路线和毫米波路线是"穷兄弟和富兄弟"的关系——WiFi 便宜但粗,mmWave 贵一些但细。
AlphaPose / OpenPose(视觉姿态估计):本文的"老师"。视觉姿态估计到 2019 年已经非常成熟,本文的贡献不在于姿态估计本身,而在于"把这个能力迁移到 WiFi 模态"。
LLaVA 等 VLM:看似风马牛不相及,但有一个共同点——都用了"已训练好的大模型给新模型出标签"的套路。LLaVA 是 GPT-4 出题,本文是 AlphaPose 出题。这种"用现成模型当免费老师"的范式在 2018-2019 年就开始萌芽。
后续工作:Person-in-WiFi 自家的 3D 扩展(多人版、3D 版)、加州大学的 WiPose(WiFi 3D 姿态)、清华的 GoPose、MMFi 数据集(2023,最大的多模态人体感知数据集)。这条线从 2019 年的 proof-of-concept 发展到 2023 年的多人 3D + 百万级数据。
所以这一节是想说:这篇是 RF-vision 路线"低成本版"的开端,和 RF-Pose(贵路线)、毫米波工作(高分辨率路线)三条线并行发展。
11. 和本导读的关系
所属章节:Ch19: 射频感知,19.3.7 节。
在导读中的定位:Ch19 讲射频感知的三层结构——位置层(Where)、形状层(What shape)、语义层(What is it)。Person-in-WiFi 属于语义层,它不只是定位人(那是 WiFi 室内定位做的事),而是试图理解人体的姿态结构。
与 ch19 其他论文的关系:
- RF-Pose(19.3 节主角)是"贵路线"——用 FMCW 雷达做穿墙姿态估计,效果更好但设备贵。Person-in-WiFi 是"便宜版 RF-Pose",用商用 WiFi 替代专用雷达。两篇配着读,能看清"效果 vs 成本"的 trade-off。
- milliMap(19.4 节)是形状层的代表——用毫米波雷达做 2D 占据图。Person-in-WiFi 和 milliMap 分别回答"人长什么姿势"和"环境长什么样",是语义层和形状层的互补。
- PanoRadar(19.5 节)是形状层的进阶——生成 LiDAR 级 3D 点云。频率高(77GHz)、分辨率高,和 WiFi 的低分辨率形成鲜明对比。
导读 ch19 的核心主线是:射频感知用"穿墙 + 无光照 + 低隐私"三大超能力弥补视觉的盲区,但付出"低分辨率 + 多径干扰 + 缺乏纹理"的代价。Person-in-WiFi 是这条主线上的 foundational work——它第一次证明了最便宜的商用 WiFi 设备也能做人体姿态感知,为后续所有 WiFi-based 人体感知工作奠定了基础。
所以这一节是想说:Person-in-WiFi 是 ch19 射频感知路线图中"低成本 WiFi + 人体语义理解"这个节点的奠基之作。
12. 思考题
Q1:CSI 和 RSSI 有什么区别?为什么 WiFi 人体感知都用 CSI 而不用 RSSI?
RSSI(Received Signal Strength Indicator)是一个标量——只告诉你"信号强度是多少 dBm",是所有子载波、所有路径、所有天线的总能量的一个粗略度量。CSI 是一个矩阵(30 x 3 x 3 的复数张量)——分别告诉你每个子载波在每对天线之间的幅度和相位变化。
打个比方:RSSI 就像你站在音乐厅门口只听到"里面很吵"(一个音量数字),而 CSI 就像你拿了 30 个不同频段的麦克风、从 9 个不同位置同时录音——你不仅知道音量,还能听出"小提琴在左边、大提琴在右边、鼓在后面"。
用 RSSI 做人体感知的问题是信息太少:一个人站着和坐着可能产生几乎相同的 RSSI(总能量差别不大),但 CSI 中不同子载波和天线对的响应模式会明显不同。30 x 3 x 3 = 270 维的信息 vs 1 维的信息,信息量差两个数量级以上。所以 2015 年之后的 WiFi 感知工作几乎全部转向 CSI。
Q2:多径效应在这篇论文里是"噪声"还是"信息"?为什么?
是信息,不是噪声。
在通信领域,多径效应通常被视为干扰——你发了一个信号,接收端收到的是直接路径 + 多条反射路径的叠加,导致信号失真。通信工程师想尽办法消除多径。
但在人体感知领域,多径恰恰是信息来源。物理原理是:WiFi 信号从发射器出发后,一部分直接到达接收器,另一些经过墙壁反射、地板反射、人体反射后才到达。当人体姿势改变时(比如从站立变成坐下),人体反射的路径变了,经过人体散射到达接收器的信号也变了——这些变化被 CSI 记录下来。
如果没有多径(比如在完全空旷的无回声室里),WiFi 信号只有一条直射路径,人体的影响就非常微弱。正是因为室内环境有墙壁和家具形成丰富的多径,人体对这些多径的扰动才能被 CSI 捕捉到。
所以本文的逻辑是:多径效应让 CSI 编码了比"一条直线"丰富得多的空间信息,是 WiFi 人体感知得以工作的物理基础。
Q3:为什么用 AlphaPose 当"老师"而不是人工标注?如果老师出错了怎么办?
两个原因:成本和一致性。
成本方面:人工标注一张图的 18 个关节点大约需要 1-2 分钟,按标注平台价格约 0.5-1 美元/张。80,000 张图 = 4-8 万美元 + 几周时间。AlphaPose 在一张 GPU 上几小时就能跑完 80K 张图,边际成本几乎为零。
一致性方面:人工标注员会疲劳——早上标的和下午标的可能有系统性偏差。不同标注员之间也有分歧(关节边界不清晰的地方,你说这是肩膀、我说这是上臂)。AlphaPose 不会累,每张图用同一个模型同一组参数,输出是确定性的。
至于"老师出错怎么办":AlphaPose 不是完美的,它在遮挡、模糊、极端姿势下也会犯错。论文用两个策略缓解:一是 AlphaPose 会给每个关节点输出置信度 c,c 低的点在损失函数中权重低(错了也只扣一点分);二是 80K 张图中大部分都是常见姿势(站立、走路),这些 AlphaPose 做得很好。少量错误标签被大量正确标签"淹没"了。
这种策略在机器学习中叫"噪声标签学习"(learning with noisy labels)——只要噪声率不超过某个阈值、且噪声是随机的而非系统性的,网络仍然能学到正确的映射。
Q4:WiFi 姿态估计相比摄像头的隐私优势具体体现在哪里?这种优势是绝对的吗?
隐私优势体现在三个层面:
第一,输出形式不同。摄像头输出的是 RGB 图像——你的脸、衣服、房间布置全在里面。WiFi 输出的是 18 个 (x, y) 坐标——只有一个火柴人骨架,看不出你长什么样、穿什么衣服、房间里放了什么。即使数据泄露,泄露的也只是"某个人在 (320, 400) 位置举着手"。
第二,原始数据层面。摄像头的原始数据就是图像,直接可视化就能看到人。WiFi 的原始数据是 CSI——一堆 30 x 3 x 3 的复数矩阵,直接看只是一堆数字,人类无法从中"看到"人体。要恢复姿态必须经过训练好的神经网络,而网络的分辨率上限决定了它最多输出骨架点。
第三,非视觉不可逆。即使攻击者拿到了 CSI 数据和训练好的模型,他也只能恢复出粗略的骨架,不可能从 CSI 反推出人脸图像——因为 WiFi 的分辨率物理上就不支持这种精度。
但这种优势不是绝对的。通过步态分析(走路姿势识别),理论上可以从骨架序列中识别出特定个人——每个人走路的节奏、步幅、摆臂幅度都有独特性。此外,如果训练数据含有身份标签,WiFi 系统也可以被训练成"知道是谁"的模型。隐私是相对的——WiFi 比摄像头好很多,但不是零隐私风险。
Q5:为什么身体中轴关节(脖子、肩)比末端关节(脚踝、手腕)准很多?这是 WiFi 独有的问题吗?
这个现象有两个原因,一个是 WiFi 特有的、一个是所有姿态估计共有的。
WiFi 特有的原因:WiFi 信号的波长是 6-12 cm,空间分辨率很粗。人体躯干(胸腔、肩膀)截面积大(几十厘米宽),对 WiFi 信号的反射和散射影响明显;而手腕、脚踝的截面积只有几厘米,对 WiFi 信号的影响小得多——"信噪比"天然就低。这就像在池塘里,一块大石头激起的波纹远比一根树枝明显。
所有姿态估计共有的原因:末端关节的运动自由度比中轴关节高得多。肩膀的位置基本由躯干决定,变化范围小;但手腕可以在很大的空间范围内移动(想想你双手画大圈)。运动范围越大,预测难度越高。另外,末端关节更容易被躯干遮挡(比如手放在身后),遮挡后即使是摄像头也会变难。
所以这不完全是 WiFi 独有的问题——在摄像头姿态估计中,手腕和脚踝也通常是最难的关节。只是 WiFi 的低分辨率把这个差距放大了:摄像头上中轴 vs 末端的 PCK 差距可能是 5-10 个百分点,WiFi 上这个差距扩大到 15-20 个百分点。
Q6:PAM 的非对角线元素(相对位移)在训练中起到了什么作用?如果去掉会怎样?
非对角线元素编码的是"第 i 个关节到第 j 个关节的位移 (x_i - x_j)"。训练时,网络不仅要预测每个关节的绝对坐标对(对角线),还要同时预测所有关节对之间的相对距离和方向(非对角线)。
这等价于给网络加了一个隐式的正则化约束:如果网络预测鼻子在 (100, 50)、脖子在 (100, 80),那 PAM 中 (鼻子, 脖子) 位置的值就应该是 0(x 方向)和 -30(y 方向)。网络被迫同时满足"每个点的位置对"和"每对点的相对距离对"这两个条件,后者等价于"人体骨架的比例和拓扑必须合理"。
如果去掉非对角线(只保留对角线,即退化为直接回归坐标):
- 网络失去了骨架结构约束,容易画出"脖子比头长"、"胳膊比腿短"这种比例失调的人。
- 在训练数据不足或 CSI 信号噪声大时,坐标飘移会更严重。
- 论文没有给出正式的消融实验数字(这是一个遗憾),但作者在正文中强调 PAM 比直接回归泛化能力更好。后续工作中类似的"结构化输出表示"在多个领域被验证有效。
你可以把 PAM 理解成一种"自监督正则化"——不需要额外的损失项,只靠输出表示的设计就把结构信息编码进去了。
Q7:如果要把这套系统从 2D 扩展到 3D,需要改什么?
2D 到 3D 的核心难点是:缺少深度信息。
目前系统用一对 WiFi 收发器(一个发射器 + 一个接收器),只能感知"人在接收器视角下的 2D 投影"。要恢复深度(第三个维度),有几种思路:
方案一(多对收发器):在房间里放多对 WiFi 收发器,从不同角度观测同一个人。类似立体视觉(双目摄像头)的原理——两个不同角度的观测可以三角测量出深度。后续的 WiPose(2021)就用了这个思路。
方案二(PAM 扩展到 3D):PAM 从 3 x 18 x 18 扩展成 4 x 18 x 18(加一层 z'),或者从 2 x 18 x 18 的预测扩展成 3 x 18 x 18。但单对收发器的 CSI 物理上没有编码足够的深度信息,所以光改网络输出不够,还得改硬件。
方案三(时序信息):人体运动在 3D 空间中是连续的。利用连续多帧的 CSI 变化模式,结合人体运动学先验(比如"膝盖只能朝一个方向弯"),可以推断深度。这更像一个 3D 重建问题。
实际上后续的 Person-in-WiFi 3D 版本和 WiPose 都走了方案一(多对收发器)+ 方案二(3D 输出表示)的组合路线。
Q8:跨模态监督(摄像头教 WiFi)这个范式还能用在哪些地方?
这个范式的本质是:模态 A 的感知能力已经很强(有成熟的预训练模型),模态 B 的感知能力弱但有独特优势(穿墙、低隐私、低成本等)。用 A 给 B 当老师,让 B 学会 A 的能力,部署时只用 B。
可以直接套用的场景:
- 毫米波雷达姿态估计:用摄像头当老师教 mmWave 学人体姿态。已有大量工作这样做(RF-Pose 就是这个思路)。
- 超声波手势识别:用摄像头当老师教超声波传感器学手势。超声波的穿透力比 WiFi 差,但在近距离(如智能音箱)上更精确。
- LiDAR 语义分割:用 RGB 图像的语义分割模型当老师教 LiDAR 学语义。BEVFusion、UniTR 等自动驾驶工作就有类似思路。
- 音频场景理解:用视觉当老师教麦克风阵列学声源定位和场景分类。AudioCLIP 等工作走了类似路线。
- 热红外人体识别:用 RGB 当老师教热红外学行人检测。夜间安防场景很有用。
这个范式的通用名字叫"跨模态知识蒸馏"或"跨模态师生学习"。本文是这个范式在 RF-vision 领域的早期经典案例之一。
13. 一些好奇心问答(FAQ)
Q:WiFi 真的能"看穿墙"吗?
理论上可以——WiFi 2.4GHz 穿过标准石膏板墙衰减约 3dB(信号减半),穿混凝土墙约 10-15dB。但本文实验都在同一房间内做,没有专门测穿墙场景。同期 MIT 的 RF-Pose 用 FMCW 雷达做了穿墙演示效果不错。WiFi 频段穿墙衰减更大,但理论上可行,需要后续工作验证。
Q:3 发 3 收的天线我哪里搞?
商用 WiFi 网卡 Intel 5300 或 Atheros AR9580 就支持 3 天线 CSI 采集。需要配合 Linux 802.11n CSI Tool 抓取 CSI 数据。整套硬件几百人民币。注意需要特定版本的 Linux 内核和驱动。
Q:摄像头当老师,那训练时还是要摄像头啊?
对,训练时需要。但部署时只要 WiFi 就够了。这就是师生学习的价值——把摄像头的能力"蒸馏"进 WiFi 模型,部署时老师可以撤走。类比:你学车时需要教练坐副驾驶,但你拿了驾照之后就可以独自上路了。
Q:80K 张图够吗?
对单人粗姿势够了。但要做多人、跨房间、复杂动作,肯定不够。WiFi 人体感知数据集到 2023 年才开始有几十万到百万规模的开源版本(MMFi 数据集是目前最大的多模态人体感知数据集)。
Q:8 个志愿者会不会过拟合?
会有风险。论文按"每人前 80% 训练、后 20% 测试"——这是人内泛化测试,不是跨人泛化。换一个新人来,因为体型、身高、动作习惯不同,效果可能掉不少。
Q:这篇被引用最多的后续工作是什么?
后续有 Person-in-WiFi 自家的扩展(多人版、3D 版)、WiPose(WiFi 3D 姿态)、GoPose(清华)等。MMFi(2023)是 WiFi 人体感知数据集的"集大成者"。
所以这一节是想说:实操层面(设备、隐私、数据量)和方法层面(坐标 vs 矩阵)的常见疑问,作者大都考虑过;只是论文篇幅有限,没把所有消融实验和跨场景验证都做完。
14. 如果你想再深入
按"前传 -> 同期对手 -> 续作 -> 衍生方向"四类排序:
前传:CSI-Net(2018,同一作者 Fei Wang) — 用 CSI 做人体身份识别 + 动作分类。本文的 encoder 思路就是从 CSI-Net 借的。先读它能理解 WiFi -> 视觉这条路怎么起步的。
同期对手:RF-Pose(MIT, CVPR 2018) — 用 FMCW 雷达做穿墙姿势估计,效果比本文好但设备贵 10 倍。两篇配着读,能看清"贵且强 vs 便宜且粗"的取舍。
续作:Person-in-WiFi 3D / MMFi 数据集(2022-2023) — 把单人 2D 扩展到多人 3D,数据集规模拉到几十万级别。是这条线进入"实用"阶段的标志。
同方向不同频段:milliMap / mmMesh(毫米波) — 用毫米波雷达做更细粒度的人体/环境感知。频率更高、分辨率更细,介于 WiFi 和摄像头之间。
范式延伸:知识蒸馏 / 跨模态师生学习 — 本文 AlphaPose -> WiSPPN 是一个早期例子。后续 RF-Action、RF-Identity、Wi-Vi 等大量工作都沿用这套范式。读 Hinton 的知识蒸馏原始论文(2015)能帮助理解这个范式的理论基础。
所以这一节是想说:这篇是 RF-vision 路线的低成本起点;想看进展就跟 MMFi 数据集和毫米波路线,想看根源就回 CSI-Net 和 RF-Pose。
15. 原文信息
@inproceedings{wang2019person,
title = {Person-in-WiFi: Fine-Grained Person Perception Using WiFi},
author = {Wang, Fei and Panev, Stanislav and Dai, Ziyi and Han, Jinsong and Huang, Dong},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
year = {2019}
}
- 作者:Fei Wang (西安交通大学 / CMU), Stanislav Panev (CMU), Ziyi Dai (西安交通大学), Jinsong Han (浙江大学), Dong Huang (CMU)
- 会议:ICCV 2019(International Conference on Computer Vision),计算机视觉三大顶会之一
- 开源代码:https://github.com/geekfeiw/WiSPPN
- 数据:8 位志愿者,2 个房间(CMU 校园内),16 个收发布点位置,约 99K 帧配对数据
- IRB 编号:STUDY2018_00000352(Carnegie Mellon University)
所以这一节是想说:这是一篇 ICCV 2019 的工作,代码开源,硬件可复现,是 WiFi 人体姿态估计方向的奠基论文。
◼
引用本笔记 / Cite this note
@online{eai_person_in_wifi_2026,
title = {(readable note) Can WiFi Estimate Person Pose?},
author = {Xun, Jason},
year = {2026},
note = {Note on a 2019 paper},
howpublished = {\url{https://estelledc.github.io/embodied-ai-reading-station/papers/person-in-wifi/}},
organization = {Embodied AI: Zero to One}
}
All 202 papers (full index)
- 1. LLaVA: Visual Instruction Tuning
- 2. 3DShape2VecSet: 3D Shape Representation for Diffusion Models
- 3. SayCan: Do As I Can, Not As I Say
- 4. OpenVLA: An Open-Source Vision-Language-Action Model
- 5. VLAS: VLA Model With Speech Instructions
- 6. MLA: Multisensory Language-Action Model
- 7. Cosmos Policy: Fine-Tuning Video Models for Visuomotor Control
- 8. CartoRadar: RF-Based 3D SLAM Rivaling Vision Approaches
- 9. mmCLIP: Boosting mmWave-based Zero-shot HAR via Signal-Text Alignment
- 10. mmNorm: Non-Line-of-Sight 3D Object Reconstruction via mmWave Surface Normal Estimation
- 11. Proactive Hearing Assistants that Isolate Egocentric Conversations
- 12. NeuralAids: Wireless Hearables With Programmable Speech AI Accelerators
- 13. Creating speech zones with self-distributing acoustic swarms
- 14. Conv-TasNet: Surpassing Ideal Time-Frequency Magnitude Masking for Speech Separation
- 15. SoundStream: An End-to-End Neural Audio Codec
- 16. AudioLM
- 17. Conformer
- 18. Dual-path RNN
- 19. EnCodec
- 20. Meta-StyleSpeech
- 21. MusicLM
- 22. Robust Speech Recognition via Large-Scale Weak Supervision
- 23. SeamlessM4T
- 24. Stable Audio
- 25. Universal Source Separation with Weakly Labelled Data
- 26. Meta-World: A Benchmark and Evaluation for Multi-Task and Meta Reinforcement Learning
- 27. RLBench: The Robot Learning Benchmark & Learning Environment
- 28. robosuite: A Modular Simulation Framework and Benchmark for Robot Learning
- 30. CALVIN
- 31. LIBERO
- 32. RH20T
- 33. What Matters in Learning from Offline Human Demonstrations for Robot Manipulation
- 34. DROID
- 35. Open X-Embodiment
- 36. RoboCasa
- 37. SimplerEnv
- 38. Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
- 39. 3D Diffusion Policy: Generalizable Visuomotor Policy Learning via Simple 3D Representations
- 40. Consistency Policy: Accelerated Visuomotor Policies via Consistency Distillation
- 41. EquiBot: SIM(3)-Equivariant Diffusion Policy
- 42. DiT-Policy
- 43. Diffusion Policy Policy Optimization (DPPO)
- 44. Affordance-based Robot Manipulation with Flow Matching
- 45. FlowPolicy: 3D Flow-based Policy via Consistency Flow Matching
- 46. FAST: Efficient Action Tokenization for VLA
- 47. π₀: A Vision-Language-Action Flow Model for General Robot Control
- 48. pi_0.5: VLA with Open-World Generalization
- 49. A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning
- 50. Generative Adversarial Imitation Learning
- 51. Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (ACT/ALOHA)
- 52. AnyTeleop
- 53. Behavior Transformers: Cloning k Modes with One Stone
- 54. Implicit Behavioral Cloning
- 55. RoboCat
- 56. ALOHA 2
- 58. HumanPlus
- 59. Generalizable Humanoid Manipulation with 3D Diffusion Policies (iDP3)
- 60. Mobile ALOHA
- 61. SmolVLA
- 62. Universal Manipulation Interface
- 63. Behavior Generation with Latent Actions (VQ-BeT)
- 64. ImageBind: One Embedding Space To Bind Them All
- 65. Connecting Touch and Vision via Cross-Modal Prediction
- 66. AnyMAL: An Efficient and Scalable Any-Modality Augmented Language Model
- 67. AudioPaLM
- 68. FROMAGe: Grounding LLMs to Images
- 69. OneLLM
- 70. X-VLM: Multi-Grained Vision Language Pre-Training
- 71. Tactile Beyond Pixels (Sparsh-X)
- 72. Sparsh: Self-supervised Touch Representations
- 73. Tactile-VLA
- 74. TLA: Tactile-Language-Action
- 75. Code as Policies: Language Model Programs for Embodied Control
- 76. Inner Monologue: Embodied Reasoning through Planning with Language Models
- 77. LLM+P: Empowering LLMs with Optimal Planning
- 78. PaLM-E: An Embodied Multimodal Language Model
- 79. ProgPrompt
- 80. ChatGPT for Robotics
- 81. GenSim
- 82. RoboFlamingo
- 83. Tree-Planner
- 84. VoxPoser
- 85. See Through Smoke: Robust Indoor Mapping with Low-cost mmWave Radar
- 86. Can WiFi Estimate Person Pose?
- 87. 3DRIMR: 3D Reconstruction and Imaging via mmWave Radar based on Deep Learning
- 88. milliEgo: Single-chip mmWave Radar Aided Egomotion Estimation via Deep Sensor Fusion
- 89. High Resolution Point Clouds from mmWave Radar
- 90. RadarSLAM: Radar based Large-Scale SLAM in All Weathers
- 91. Through-Wall Pose Imaging in Real-Time with a Many-to-Many Encoder/Decoder Paradigm
- 92. RFMask: A Simple Baseline for Human Silhouette Segmentation with Radio Signals
- 93. RFPose-OT: RF-Based 3D Human Pose Estimation via Optimal Transport Theory
- 94. Argus: Multi-View Egocentric Human Mesh Reconstruction Based on Stripped-Down Wearable mmWave Add-on
- 95. Diffusion Model is a Good Pose Estimator from 3D RF-Vision
- 96. Enabling Visual Recognition at Radio Frequency (PanoRadar)
- 97. Wave-Former: Through-Occlusion 3D Reconstruction via Wireless Shape Completion
- 98. Habitat: A Platform for Embodied AI Research
- 99. Isaac Gym: High Performance GPU-Based Physics Simulation For Robot Learning
- 101. Habitat 2.0
- 102. ManiSkill
- 103. ProcTHOR
- 104. SAPIEN: A SimulAted Part-based Interactive ENvironment
- 105. BEHAVIOR-1K
- 106. BridgeData V2
- 106. Habitat 3.0
- 107. Isaac Lab
- 108. DexMV
- 108. MuJoCo Playground
- 109. DexCap
- 109. RT-1: Robotics Transformer for Real-World Control at Scale
- 110. 3D Diffusion Policy (DP3)
- 111. Octo: An Open-Source Generalist Robot Policy
- 112. RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control
- 113. RT-Trajectory: Robotic Task Generalization via Hindsight Trajectory Sketches
- 114. 3D-VLA
- 116. GR-2: Generative Video-Language-Action Model
- 117. DexVLA
- 117. OpenHelix
- 118. Cosmos World Foundation Model
- 118. OpenVLA-OFT
- 119. RDT-1B: Diffusion Foundation Model for Bimanual Manipulation
- 120. RoboMamba
- 121. SpatialVLA
- 122. TinyVLA
- 123. TraceVLA: Visual Trace Prompting
- 124. Learning Transferable Visual Models From Natural Language Supervision
- 125. Flamingo: a Visual Language Model for Few-Shot Learning
- 126. BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models
- 127. BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
- 128. DeepSeek-VL: Towards Real-World Vision-Language Understanding
- 129. EVA-CLIP: Improved Training Techniques for CLIP at Scale
- 130. FILIP: Fine-grained Interactive Language-Image Pre-Training
- 131. Florence-2: Advancing a Unified Representation for a Variety of Vision Tasks
- 132. InternVL: Scaling up Vision Foundation Models and Aligning for Generic Visual-Linguistic Tasks
- 133. Improved Baselines with Visual Instruction Tuning
- 134. OBELICS
- 135. Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text Reading, and Beyond
- 136. Sigmoid Loss for Language Image Pre-Training
- 137. What matters when building vision-language models?
- 138. Expanding Performance Boundaries of Open-Source Multimodal Models with Model, Data, and Test-Time Scaling
- 139. The Llama 3 Herd of Models
- 140. LLaVA-NeXT-Interleave
- 141. LLaVA-OneVision: Easy Visual Task Transfer
- 142. Long-CLIP: Unlocking the Long-Text Capability of CLIP
- 143. Pixtral 12B
- 144. Dream to Control: Learning Behaviors by Latent Imagination
- 145. World Models
- 146. DayDreamer
- 147. Mastering Atari with Discrete World Models
- 148. Dreamer V3: Mastering Diverse Domains through World Models
- 149. Transformers are Sample-Efficient World Models
- 150. TWM: Transformer-based World Models
- 151. 1X World Model Challenge
- 153. GAIA-1
- 154. Genie: Generative Interactive Environments
- 155. Navigation World Models
- 156. UniSim
- 157. LeRobot: An Open-Source Library for End-to-End Robot Learning
- 158. CogACT: A Foundational Vision-Language-Action Model for Synergizing Cognition and Action in Robotic Manipulation
- 159. Universal Actions for Enhanced Embodied Foundation Models
- 160. LoHoVLA: A Unified Vision-Language-Action Model for Long-Horizon Embodied Tasks
- 161. AutoRT: Embodied Foundation Models for Large Scale Orchestration of Robotic Agents
- 162. EO-1: Interleaved Vision-Text-Action Pretraining for General Robot Control
- 163. Qwen-VLA: Unifying Vision-Language-Action Modeling across Tasks, Environments, and Robot Embodiments
- 164. RealMirror: A Comprehensive, Open-Source Vision-Language-Action Platform for Embodied AI
- 165. LLaDA-VLA: Vision Language Diffusion Action Models
- 166. Discrete Diffusion VLA: Bringing Discrete Diffusion to Action Decoding in Vision-Language-Action Policies
- 167. Vlaser: Vision-Language-Action Model with Synergistic Embodied Reasoning
- 168. X-VLA: Soft-Prompted Transformer as Scalable Cross-Embodiment Vision-Language-Action Model
- 169. Embodiment Transfer Learning for Vision-Language-Action Models
- 170. HiMoE-VLA: Hierarchical Mixture-of-Experts for Generalist Vision-Language-Action Policies
- 171. Green-VLA: Staged Vision-Language-Action Model for Generalist Robots
- 172. AC^2-VLA: Action-Context-Aware Adaptive Computation in Vision-Language-Action Models for Efficient Robotic Manipulation
- 173. MoS-VLA: A Vision-Language-Action Model with One-Shot Skill Adaptation
- 174. Asynchronous Fast-Slow Vision-Language-Action Policies for Whole-Body Robotic Manipulation
- 175. VLA-Forget: Vision-Language-Action Unlearning for Embodied Foundation Models
- 176. Membership Inference Attacks on Vision-Language-Action Models
- 177. A Survey on Efficient Vision-Language-Action Models
- 178. Survey of Vision-Language-Action Models for Embodied Manipulation
- 179. Embodied AI with Foundation Models for Mobile Service Robots: A Systematic Review
- 180. Toward Embodied AGI: A Review of Embodied AI and the Road Ahead
- 181. RoboNeuron: A Middle-Layer Infrastructure for Agent-Driven Orchestration in Embodied AI
- 182. Embodied Navigation Foundation Model
- 183. MiMo-Embodied: X-Embodied Foundation Model Technical Report
- 184. Open-H-Embodiment: A Large-Scale Dataset for Enabling Foundation Models in Medical Robotics
- 185. AlanaVLM: A Multimodal Embodied AI Foundation Model for Egocentric Video Understanding
- 186. 3D Generation for Embodied AI and Robotic Simulation: A Survey
- 187. DISCO: Language-Guided Manipulation with Diffusion Policies and Constrained Inpainting
- 188. Time-Unified Diffusion Policy with Action Discrimination for Robotic Manipulation
- 189. Learning Diffusion Policy from Primitive Skills for Robot Manipulation
- 190. Trace-Focused Diffusion Policy for Multi-Modal Action Disambiguation in Long-Horizon Robotic Manipulation
- 191. Gaze2Act: Gaze-Conditioned Vision-Language-Action Policies for Interactive Robot Manipulation
- 192. LACY: A Vision-Language Model-based Language-Action Cycle for Self-Improving Robotic Manipulation
- 193. villa-X: Enhancing Latent Action Modeling in Vision-Language-Action Models
- 194. InstructVLA: Vision-Language-Action Instruction Tuning from Understanding to Manipulation
- 195. Discrete Policy: Learning Disentangled Action Space for Multi-Task Robotic Manipulation
- 196. Towards Generalizable Vision-Language Robotic Manipulation: A Benchmark and LLM-guided 3D Policy
- 197. A Survey of Language-Conditioned Robot Manipulation
- 198. SafeEmbodAI: a Safety Framework for Mobile Robots in Embodied AI Systems
- 199. The Essential Role of Causality in Foundation World Models for Embodied AI
- 200. A call for embodied AI
- 201. Toward General-Purpose Robots via Foundation Models: A Survey and Meta-Analysis
- 202. What Breaks Embodied AI Security: LLM Vulnerabilities, CPS Flaws, or Something Else?