Jason / Works Embodied AIZero to One
Works
没主意?快捷入口
RF Perception & Mapping · Plate Nº 86

Can WiFi Estimate Person Pose?

42 min read · 14733 字 · ⭐⭐⭐ · 长篇结构化

这是一份给"完全没接触过 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 估姿 vs 摄像头估姿对比
Plate Nº IWiFi 估姿 vs 摄像头估姿对比

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


Can WiFi Estimate Person Pose? — 场景示意:这论文要解决的现实问题
Plate Nº IICan WiFi Estimate Person Pose? — 场景示意:这论文要解决的现实问题

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 个人体关节点。

关键创举有两个:

  1. 用摄像头给 WiFi 当"标签机"——摄像头看一帧,AlphaPose 自动产出"这一刻人的姿势",当 WiFi 信号的标准答案。不用任何人工去标。整套数据集 80,000 张图标完只要几小时。
  2. 不直接预测 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 个关节坐标

这张表清楚地展示了师生学习范式的核心价值:训练成本高但只需要一次,部署成本低且可以一直用。这和你考驾照的逻辑一样——学车需要教练车、教练、考场(高成本),但拿了证之后自己开车上路就好了(低成本)。

所以这一节是想说:训练配置朴素到"单卡几小时搞定",部署时完全不需要摄像头——真正做到了"训练时双模态、推理时单模态"。


Can WiFi Estimate Person Pose? — 方法示意:核心 pipeline
Plate Nº IIICan WiFi Estimate Person Pose? — 方法示意:核心 pipeline

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. 它有什么搞不定的

论文老老实实把短板写在台面上,再加上后续社区发现的问题:

  1. 只能估单人:场景里多于一个人时,3 天线 WiFi 信号叠加在一起没法分开。CSI 是所有人对信号影响的总和,不像图像那样可以对每个人单独裁剪再检测。要做多人版本得换硬件(更多天线)或换方法(如后续的 Person-in-WiFi 3D 用多对收发器)。

  2. 环境依赖严重(跨场景泛化差):训练在 A 房间收的数据,换到 B 房间(家具不同、墙体材质不同、WiFi 多径环境完全变了)效果会明显下降。论文只在 2 个房间做了实验,且训练测试不跨房间。这意味着每换一个新环境可能都需要重新采集数据训练。

  3. 精度档次远低于摄像头:PCK@10 只有 0.14,而摄像头方法在 0.6-0.8。要做精细动作识别(比如手语翻译、手指运动)还差得远。WiFi 波长 6-12 cm,物理分辨率就决定了它不可能像可见光(波长 400-700 nm)那样捕捉厘米级细节。

  4. 跨人泛化未验证:数据划分是"每人前 80% 训练后 20% 测试"(人内泛化),没有做"在张三身上训练、在李四身上测试"的实验。不同人的体型、身高、动作习惯差异可能导致性能显著下降。

  5. CSI 相位不稳定:WiFi 设备的时钟不完美同步,CSI 的相位信息会随时间随机漂移。本文没有专门处理这个问题(后续的导读 ch19 提到了 PAM / Phase Alignment Module 来解决),意味着论文可能主要依赖的是 CSI 的幅度信息而非相位。

  6. 只有 2D 输出:预测的是 18 个关节点的 (x, y) 像素坐标,没有深度信息。在真实应用中(如摔倒检测),知道人是"面朝摄像头弯腰"还是"侧身弯腰"是很重要的区别,2D 姿态无法区分。

  7. 没有实时性分析:论文没报告推理延迟。对于跌倒检测这种需要实时响应的场景,延迟指标很关键。

所以这一节是想说:单人 / 同环境 / 粗精度 / 无跨人验证 / 只有 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. 如果你想再深入

按"前传 -> 同期对手 -> 续作 -> 衍生方向"四类排序:

  1. 前传:CSI-Net(2018,同一作者 Fei Wang) — 用 CSI 做人体身份识别 + 动作分类。本文的 encoder 思路就是从 CSI-Net 借的。先读它能理解 WiFi -> 视觉这条路怎么起步的。

  2. 同期对手:RF-Pose(MIT, CVPR 2018) — 用 FMCW 雷达做穿墙姿势估计,效果比本文好但设备贵 10 倍。两篇配着读,能看清"贵且强 vs 便宜且粗"的取舍。

  3. 续作:Person-in-WiFi 3D / MMFi 数据集(2022-2023) — 把单人 2D 扩展到多人 3D,数据集规模拉到几十万级别。是这条线进入"实用"阶段的标志。

  4. 同方向不同频段:milliMap / mmMesh(毫米波) — 用毫米波雷达做更细粒度的人体/环境感知。频率更高、分辨率更细,介于 WiFi 和摄像头之间。

  5. 范式延伸:知识蒸馏 / 跨模态师生学习 — 本文 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
BibTeX
@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. 1. LLaVA: Visual Instruction Tuning
  2. 2. 3DShape2VecSet: 3D Shape Representation for Diffusion Models
  3. 3. SayCan: Do As I Can, Not As I Say
  4. 4. OpenVLA: An Open-Source Vision-Language-Action Model
  5. 5. VLAS: VLA Model With Speech Instructions
  6. 6. MLA: Multisensory Language-Action Model
  7. 7. Cosmos Policy: Fine-Tuning Video Models for Visuomotor Control
  8. 8. CartoRadar: RF-Based 3D SLAM Rivaling Vision Approaches
  9. 9. mmCLIP: Boosting mmWave-based Zero-shot HAR via Signal-Text Alignment
  10. 10. mmNorm: Non-Line-of-Sight 3D Object Reconstruction via mmWave Surface Normal Estimation
  11. 11. Proactive Hearing Assistants that Isolate Egocentric Conversations
  12. 12. NeuralAids: Wireless Hearables With Programmable Speech AI Accelerators
  13. 13. Creating speech zones with self-distributing acoustic swarms
  14. 14. Conv-TasNet: Surpassing Ideal Time-Frequency Magnitude Masking for Speech Separation
  15. 15. SoundStream: An End-to-End Neural Audio Codec
  16. 16. AudioLM
  17. 17. Conformer
  18. 18. Dual-path RNN
  19. 19. EnCodec
  20. 20. Meta-StyleSpeech
  21. 21. MusicLM
  22. 22. Robust Speech Recognition via Large-Scale Weak Supervision
  23. 23. SeamlessM4T
  24. 24. Stable Audio
  25. 25. Universal Source Separation with Weakly Labelled Data
  26. 26. Meta-World: A Benchmark and Evaluation for Multi-Task and Meta Reinforcement Learning
  27. 27. RLBench: The Robot Learning Benchmark & Learning Environment
  28. 28. robosuite: A Modular Simulation Framework and Benchmark for Robot Learning
  29. 30. CALVIN
  30. 31. LIBERO
  31. 32. RH20T
  32. 33. What Matters in Learning from Offline Human Demonstrations for Robot Manipulation
  33. 34. DROID
  34. 35. Open X-Embodiment
  35. 36. RoboCasa
  36. 37. SimplerEnv
  37. 38. Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
  38. 39. 3D Diffusion Policy: Generalizable Visuomotor Policy Learning via Simple 3D Representations
  39. 40. Consistency Policy: Accelerated Visuomotor Policies via Consistency Distillation
  40. 41. EquiBot: SIM(3)-Equivariant Diffusion Policy
  41. 42. DiT-Policy
  42. 43. Diffusion Policy Policy Optimization (DPPO)
  43. 44. Affordance-based Robot Manipulation with Flow Matching
  44. 45. FlowPolicy: 3D Flow-based Policy via Consistency Flow Matching
  45. 46. FAST: Efficient Action Tokenization for VLA
  46. 47. π₀: A Vision-Language-Action Flow Model for General Robot Control
  47. 48. pi_0.5: VLA with Open-World Generalization
  48. 49. A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning
  49. 50. Generative Adversarial Imitation Learning
  50. 51. Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (ACT/ALOHA)
  51. 52. AnyTeleop
  52. 53. Behavior Transformers: Cloning k Modes with One Stone
  53. 54. Implicit Behavioral Cloning
  54. 55. RoboCat
  55. 56. ALOHA 2
  56. 58. HumanPlus
  57. 59. Generalizable Humanoid Manipulation with 3D Diffusion Policies (iDP3)
  58. 60. Mobile ALOHA
  59. 61. SmolVLA
  60. 62. Universal Manipulation Interface
  61. 63. Behavior Generation with Latent Actions (VQ-BeT)
  62. 64. ImageBind: One Embedding Space To Bind Them All
  63. 65. Connecting Touch and Vision via Cross-Modal Prediction
  64. 66. AnyMAL: An Efficient and Scalable Any-Modality Augmented Language Model
  65. 67. AudioPaLM
  66. 68. FROMAGe: Grounding LLMs to Images
  67. 69. OneLLM
  68. 70. X-VLM: Multi-Grained Vision Language Pre-Training
  69. 71. Tactile Beyond Pixels (Sparsh-X)
  70. 72. Sparsh: Self-supervised Touch Representations
  71. 73. Tactile-VLA
  72. 74. TLA: Tactile-Language-Action
  73. 75. Code as Policies: Language Model Programs for Embodied Control
  74. 76. Inner Monologue: Embodied Reasoning through Planning with Language Models
  75. 77. LLM+P: Empowering LLMs with Optimal Planning
  76. 78. PaLM-E: An Embodied Multimodal Language Model
  77. 79. ProgPrompt
  78. 80. ChatGPT for Robotics
  79. 81. GenSim
  80. 82. RoboFlamingo
  81. 83. Tree-Planner
  82. 84. VoxPoser
  83. 85. See Through Smoke: Robust Indoor Mapping with Low-cost mmWave Radar
  84. 86. Can WiFi Estimate Person Pose?
  85. 87. 3DRIMR: 3D Reconstruction and Imaging via mmWave Radar based on Deep Learning
  86. 88. milliEgo: Single-chip mmWave Radar Aided Egomotion Estimation via Deep Sensor Fusion
  87. 89. High Resolution Point Clouds from mmWave Radar
  88. 90. RadarSLAM: Radar based Large-Scale SLAM in All Weathers
  89. 91. Through-Wall Pose Imaging in Real-Time with a Many-to-Many Encoder/Decoder Paradigm
  90. 92. RFMask: A Simple Baseline for Human Silhouette Segmentation with Radio Signals
  91. 93. RFPose-OT: RF-Based 3D Human Pose Estimation via Optimal Transport Theory
  92. 94. Argus: Multi-View Egocentric Human Mesh Reconstruction Based on Stripped-Down Wearable mmWave Add-on
  93. 95. Diffusion Model is a Good Pose Estimator from 3D RF-Vision
  94. 96. Enabling Visual Recognition at Radio Frequency (PanoRadar)
  95. 97. Wave-Former: Through-Occlusion 3D Reconstruction via Wireless Shape Completion
  96. 98. Habitat: A Platform for Embodied AI Research
  97. 99. Isaac Gym: High Performance GPU-Based Physics Simulation For Robot Learning
  98. 101. Habitat 2.0
  99. 102. ManiSkill
  100. 103. ProcTHOR
  101. 104. SAPIEN: A SimulAted Part-based Interactive ENvironment
  102. 105. BEHAVIOR-1K
  103. 106. BridgeData V2
  104. 106. Habitat 3.0
  105. 107. Isaac Lab
  106. 108. DexMV
  107. 108. MuJoCo Playground
  108. 109. DexCap
  109. 109. RT-1: Robotics Transformer for Real-World Control at Scale
  110. 110. 3D Diffusion Policy (DP3)
  111. 111. Octo: An Open-Source Generalist Robot Policy
  112. 112. RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control
  113. 113. RT-Trajectory: Robotic Task Generalization via Hindsight Trajectory Sketches
  114. 114. 3D-VLA
  115. 116. GR-2: Generative Video-Language-Action Model
  116. 117. DexVLA
  117. 117. OpenHelix
  118. 118. Cosmos World Foundation Model
  119. 118. OpenVLA-OFT
  120. 119. RDT-1B: Diffusion Foundation Model for Bimanual Manipulation
  121. 120. RoboMamba
  122. 121. SpatialVLA
  123. 122. TinyVLA
  124. 123. TraceVLA: Visual Trace Prompting
  125. 124. Learning Transferable Visual Models From Natural Language Supervision
  126. 125. Flamingo: a Visual Language Model for Few-Shot Learning
  127. 126. BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models
  128. 127. BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
  129. 128. DeepSeek-VL: Towards Real-World Vision-Language Understanding
  130. 129. EVA-CLIP: Improved Training Techniques for CLIP at Scale
  131. 130. FILIP: Fine-grained Interactive Language-Image Pre-Training
  132. 131. Florence-2: Advancing a Unified Representation for a Variety of Vision Tasks
  133. 132. InternVL: Scaling up Vision Foundation Models and Aligning for Generic Visual-Linguistic Tasks
  134. 133. Improved Baselines with Visual Instruction Tuning
  135. 134. OBELICS
  136. 135. Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text Reading, and Beyond
  137. 136. Sigmoid Loss for Language Image Pre-Training
  138. 137. What matters when building vision-language models?
  139. 138. Expanding Performance Boundaries of Open-Source Multimodal Models with Model, Data, and Test-Time Scaling
  140. 139. The Llama 3 Herd of Models
  141. 140. LLaVA-NeXT-Interleave
  142. 141. LLaVA-OneVision: Easy Visual Task Transfer
  143. 142. Long-CLIP: Unlocking the Long-Text Capability of CLIP
  144. 143. Pixtral 12B
  145. 144. Dream to Control: Learning Behaviors by Latent Imagination
  146. 145. World Models
  147. 146. DayDreamer
  148. 147. Mastering Atari with Discrete World Models
  149. 148. Dreamer V3: Mastering Diverse Domains through World Models
  150. 149. Transformers are Sample-Efficient World Models
  151. 150. TWM: Transformer-based World Models
  152. 151. 1X World Model Challenge
  153. 153. GAIA-1
  154. 154. Genie: Generative Interactive Environments
  155. 155. Navigation World Models
  156. 156. UniSim
  157. 157. LeRobot: An Open-Source Library for End-to-End Robot Learning
  158. 158. CogACT: A Foundational Vision-Language-Action Model for Synergizing Cognition and Action in Robotic Manipulation
  159. 159. Universal Actions for Enhanced Embodied Foundation Models
  160. 160. LoHoVLA: A Unified Vision-Language-Action Model for Long-Horizon Embodied Tasks
  161. 161. AutoRT: Embodied Foundation Models for Large Scale Orchestration of Robotic Agents
  162. 162. EO-1: Interleaved Vision-Text-Action Pretraining for General Robot Control
  163. 163. Qwen-VLA: Unifying Vision-Language-Action Modeling across Tasks, Environments, and Robot Embodiments
  164. 164. RealMirror: A Comprehensive, Open-Source Vision-Language-Action Platform for Embodied AI
  165. 165. LLaDA-VLA: Vision Language Diffusion Action Models
  166. 166. Discrete Diffusion VLA: Bringing Discrete Diffusion to Action Decoding in Vision-Language-Action Policies
  167. 167. Vlaser: Vision-Language-Action Model with Synergistic Embodied Reasoning
  168. 168. X-VLA: Soft-Prompted Transformer as Scalable Cross-Embodiment Vision-Language-Action Model
  169. 169. Embodiment Transfer Learning for Vision-Language-Action Models
  170. 170. HiMoE-VLA: Hierarchical Mixture-of-Experts for Generalist Vision-Language-Action Policies
  171. 171. Green-VLA: Staged Vision-Language-Action Model for Generalist Robots
  172. 172. AC^2-VLA: Action-Context-Aware Adaptive Computation in Vision-Language-Action Models for Efficient Robotic Manipulation
  173. 173. MoS-VLA: A Vision-Language-Action Model with One-Shot Skill Adaptation
  174. 174. Asynchronous Fast-Slow Vision-Language-Action Policies for Whole-Body Robotic Manipulation
  175. 175. VLA-Forget: Vision-Language-Action Unlearning for Embodied Foundation Models
  176. 176. Membership Inference Attacks on Vision-Language-Action Models
  177. 177. A Survey on Efficient Vision-Language-Action Models
  178. 178. Survey of Vision-Language-Action Models for Embodied Manipulation
  179. 179. Embodied AI with Foundation Models for Mobile Service Robots: A Systematic Review
  180. 180. Toward Embodied AGI: A Review of Embodied AI and the Road Ahead
  181. 181. RoboNeuron: A Middle-Layer Infrastructure for Agent-Driven Orchestration in Embodied AI
  182. 182. Embodied Navigation Foundation Model
  183. 183. MiMo-Embodied: X-Embodied Foundation Model Technical Report
  184. 184. Open-H-Embodiment: A Large-Scale Dataset for Enabling Foundation Models in Medical Robotics
  185. 185. AlanaVLM: A Multimodal Embodied AI Foundation Model for Egocentric Video Understanding
  186. 186. 3D Generation for Embodied AI and Robotic Simulation: A Survey
  187. 187. DISCO: Language-Guided Manipulation with Diffusion Policies and Constrained Inpainting
  188. 188. Time-Unified Diffusion Policy with Action Discrimination for Robotic Manipulation
  189. 189. Learning Diffusion Policy from Primitive Skills for Robot Manipulation
  190. 190. Trace-Focused Diffusion Policy for Multi-Modal Action Disambiguation in Long-Horizon Robotic Manipulation
  191. 191. Gaze2Act: Gaze-Conditioned Vision-Language-Action Policies for Interactive Robot Manipulation
  192. 192. LACY: A Vision-Language Model-based Language-Action Cycle for Self-Improving Robotic Manipulation
  193. 193. villa-X: Enhancing Latent Action Modeling in Vision-Language-Action Models
  194. 194. InstructVLA: Vision-Language-Action Instruction Tuning from Understanding to Manipulation
  195. 195. Discrete Policy: Learning Disentangled Action Space for Multi-Task Robotic Manipulation
  196. 196. Towards Generalizable Vision-Language Robotic Manipulation: A Benchmark and LLM-guided 3D Policy
  197. 197. A Survey of Language-Conditioned Robot Manipulation
  198. 198. SafeEmbodAI: a Safety Framework for Mobile Robots in Embodied AI Systems
  199. 199. The Essential Role of Causality in Foundation World Models for Embodied AI
  200. 200. A call for embodied AI
  201. 201. Toward General-Purpose Robots via Foundation Models: A Survey and Meta-Analysis
  202. 202. What Breaks Embodied AI Security: LLM Vulnerabilities, CPS Flaws, or Something Else?