RuView R3.1 研究复盘:物理先验环境信号预测在 raw-CSI 层的零样本跨房间重识别为什么失败,以及正确的嵌入层修正架构
2026/9/11 7:59:12 网站建设 项目流程

RuView R3.1 研究复盘:物理先验环境信号预测在 raw-CSI 层的零样本跨房间重识别为什么失败,以及正确的嵌入层修正架构

【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView

WiFi CSI 跨房间人体重识别(cross-room re-ID)是 RuView 空间智能与身份识别能力的核心难题:同一人换一个房间后,能否仅凭 WiFi 信号再次认出他。本指南完整还原 RuView SOTA 研究环中 R3.1 tick 的实验设计与结论——物理先验驱动的环境信号(env_sig)预测在 raw-CSI 层上全面失效(三种跨房间方法全部坍缩到 10% 随机水平),并深入剖析失效根因:raw-CSI 层的位置方差主导,任何环境质心相减都无法消除。读完本文你将掌握:该实验的可复现仿真实现、为什么"减去预测环境信号"必须在 AETHER 嵌入层而非原始信号层执行、以及由此确定的四步零样本跨房间重识别实施路线图。

一、研究背景:从 R3 的正结果到 R3.1 的研究杠杆

R3.1 是整个 R3 研究弧(R3 → R3.1 → R3.2)的中间环节,其研究起点来自 R3 的结论(见 R3-crossroom-reid.md):

  • AETHER 嵌入空间(128 维,符合 ADR-024 对比式 CSI 嵌入模型)中,MERIDIAN 环境质心相减可以恢复跨房间重识别精度(仿真中达 100%);
  • 但 MERIDIAN 需要在新房间内有标注样本来估计每个房间的环境质心(environment centroid);
  • R3 文档中明确写出的"下一个研究杠杆"是:利用 R6.1 前向算子 + 粗略房间地图来预测 env_sig,实现零样本(zero-shot)跨房间迁移,即无需新房间任何标注。

R6.1(R6_1-multiscatterer-forward-model.md)提供了六散射体 Fresnel 前向算子。R3.1 的意图就是:把这个"预测环境信号"的想法**放在 raw-CSI 层(而非嵌入层)**实现,并与 R3 的带标签 MERIDIAN oracle 进行基准对比,回答"物理先验预测能否替代统计质心估计"。

二、实验设计:可复现的纯 NumPy 仿真

R3.1 的完整可复现实现位于 r3_1_physics_informed_env.py,纯 NumPy、无第三方依赖,运行后输出 JSON 结果文件(现有结果见 r3_1_physics_env_results.json)。

2.1 核心前向模型(继承 R6.1)

实验沿用 R6.1 的多散射体 Fresnel 前向模型,每个散射体对第 k 个子载波的 CSI 贡献为:

def csi_contribution(scatterer_pos, reflectivity, tx_pos, rx_pos, sub_freqs_hz): d_tx = np.linalg.norm(scatterer_pos - tx_pos) d_rx = np.linalg.norm(scatterer_pos - rx_pos) d_direct = np.linalg.norm(tx_pos - rx_pos) delta_l = d_tx + d_rx - d_direct # 反射路径超出直达路径的额外路程 amp = reflectivity / max(d_tx * d_rx, 1e-3) # 距离衰减 phase = 2 * np.pi * sub_freqs_hz * delta_l / C # 相位 return amp * np.exp(1j * phase)

csi[k] = Σ_b (refl_b / (d_tx,b · d_rx,b)) · exp(2π·j·f_k·Δℓ_b / c)。仿真参数如下:

参数取值说明
载频2.4 GHz标准 WiFi 频段
子载波数52n_sub=52,对应 raw-CSI 层 52 维复数向量
子载波间隔312.5 kHz802.11n/ac 标准间隔
房间 15×5 m,对角链路TX(1.25, 0.0)、RX(4.75, 5.0)
房间 24×6 m,不同几何TX(1.0, 0.0)、RX(3.0, 6.0)
受试者10 人体型缩放因子0.85 + 0.30 * rng.random(n),即 0.85–1.15×
每房间位置数3每个受试者在每房间 3 个位置各生成一条 CSI
随机种子42np.random.default_rng(42),保证可复现

2.2 人体与房间散射体建模

人体由 6 个散射体组成(与 R6.1 一致),体型差异是唯一的个体间信号person_scale同时缩放所有散射体反射率):

def human_body(cx, cy, person_scale=1.0): return [ {"pos": [cx, cy ], "refl": 0.10 * person_scale, "name": "head"}, {"pos": [cx, cy ], "refl": 0.50 * person_scale, "name": "chest"}, # 胸部贡献最大 {"pos": [cx - 0.20*person_scale, cy], "refl": 0.10 * person_scale, "name": "left_arm"}, {"pos": [cx + 0.20*person_scale, cy], "refl": 0.10 * person_scale, "name": "right_arm"}, {"pos": [cx - 0.10*person_scale, cy - 0.40*person_scale], "refl": 0.10 * person_scale, "name": "l_leg"}, {"pos": [cx + 0.10*person_scale, cy - 0.40*person_scale], "refl": 0.10 * person_scale, "name": "r_leg"}, ]

两个房间各自配备 4 个不同位置、不同反射率的墙面散射体(room_walls_5x5()room_walls_4x6()),以此模拟环境差异:5×5 m 卧室为 (0.5,4.5)/(4.5,4.5)/(0.5,0.5)/(4.5,0.5),反射率 0.30/0.25/0.20/0.15;4×6 m 客厅为 (0.3,5.7)/(3.7,5.7)/(0.3,0.3)/(3.7,0.3),反射率 0.28/0.18/0.32/0.22。关键点:每个受试者的场景 = 人体 6 散射体 + 房间 4 墙面散射体,10 个散射体相干叠加。

2.3 三种跨房间方法与两个基准

  • raw 跨房间:不做任何环境处理,直接以房间 2 的 CSI 为 query、房间 1 的 CSI 为 gallery 做 1-shot 余弦 K-NN;
  • 带标签 MERIDIAN(oracle):先计算每房间全部样本的均值作为质心(csi_room.mean(axis=0)),各自减去本房间质心后再做 K-NN——这是"有标签"的统计环境相减上限;
  • 物理先验环境预测(零标签)直接用空房间仿真得到预测 env_sigsimulate(room_walls, tx, rx, freq),不含人体),从每个人 CSI 中减去该预测值——这正是本 tick 想验证的零样本方法。
# 物理先验:空房间仿真即为预测的环境信号(不需要任何标签) env_sig_room1_predicted = simulate(room1_walls, tx1, rx1, freq) env_sig_room2_predicted = simulate(room2_walls, tx2, rx2, freq) # 从每个受试者的 CSI 中减去预测 env_sig csi_room1_phys = csi_room1 - env_sig_room1_predicted csi_room2_phys = csi_room2 - env_sig_room2_predicted

同时计算房内基准(same-room K-NN)作为对照组,K-NN 判定采用 1-shot 多数投票。

三、结果:三种跨房间方法全部坍缩到随机水平

复现结果(与文档表格、r3_1_physics_env_results.json 完全一致):

配置1-shot K-NN 精度
房间 1 房内基准100%
房间 2 房内基准100%
跨房间 raw(无环境相减)10%(= 随机水平)
跨房间带标签 MERIDIAN(oracle)10%(= 随机水平)
跨房间 物理先验环境预测10%(= 随机水平)

三条跨房间路径全部坍缩到 10% 随机水平——不仅物理先验方法失败,连带标签的 MERIDIAN oracle 也失败。这与 R3(tick 12)中"带标签 MERIDIAN 达到 100%"的嵌入层结果形成了鲜明对比,是研究环内继 R13 无接触血压、R12 原始 PABS 之前的第三个诚实负面结果

四、深层剖析:为什么 R3 有效而 R3.1 无效

R3 与 R3.1 的差异本质上是操作空间的差异:

**R3(嵌入层,成功)**仿真于 128 维 AETHER 风格嵌入空间,其中:

  • person_signature、environment_signature、noise 占据相互独立的随机方向
  • env_sig 是每房间单一固定向量(房间内无位置方差);
  • 余弦归一化部分吸收环境偏移。

**R3.1(raw-CSI 层,失败)**工作在 52 维复数 CSI 上,其中:

  • 每个受试者在每房间有 3 个位置,每个位置都有自己独特的复数 CSI 签名
  • 房间内的位置间方差可能超过房间间的个体间方差——这是决定性因素;
  • 减去单一房间质心只能移除位置的均值无法移除位置的方差

文档中的核心论断值得原文引用:"AETHER 嵌入空间对房间内位置做了不变性处理(invariantises over within-room position);raw CSI 做不到。raw-CSI 层的跨房间问题本质上比嵌入层更难。"

五、三种负面结果的分类学:R3.1 属于"架构错误型"

R3.1 的另一个方法论贡献,是让研究环具备了完整的三类负面结果分类(汇总于 00-summary.md):

类型实例性质出路
缺工具型(可回头)R12 原始 eigenshift NEGATIVE工具缺失阻碍了正确方法工具(R6.1 前向算子)后来可用,方法成功(PABS,1,161×)
物理极限型(永久)R13 无接触血压 NEGATIVE5 dB 物理缺口,任何工具都无法跨越负面是最终结论(后被量子路径部分回收)
架构错误型(可纠正)R3.1(本文)正确的想法、错误的操作层级纠正架构已明确,但尚未实现

"判断一个负面结果属于哪个类别,本身就是研究贡献"——R3.1 明确属于第三类:它不是物理墙,而是可修正的设计选择

六、纠正后的架构与四步实施路线图

物理先验环境预测方法并没有死——它只是需要在嵌入层而非 raw-CSI 层执行。纠正后的架构:

raw CSI → AETHER 嵌入头(位置不变) → 物理先验环境相减 → 跨房间 K-NN

等价表述:从AETHER 头的输出(而不是原始输入)中减去物理预测的 env_sig。AETHER 已经完成"对位置做不变性"的重活,物理先验预测只需移除剩余的房间位移分量

由于这要求 AETHER(ADR-024)被训练或微调(超出本研究环范围),实施路线图被明确固定为:

  1. 逐安装微调 AETHER 头(以 ADR-024 基线为起点);
  2. R6.1 前向算子 + 房间地图计算物理先验 env_sig;
  3. 从第 1 步的输出中减去第 2 步的 env_sig → 得到不变性嵌入;
  4. 在新房间无任何标签的情况下做跨房间 K-NN 匹配。

该修正架构的实证验证由 R3.2 完成(R3_2-embedding-level-physics-env.md,实现于 r3_2_embedding_physics_env.py):物理先验 + 残差校正以零标签达到与带标签 MERIDIAN oracle 相同的 20%(2×随机水平)——架构正确性得到结构性验证;未能达到 80%+ 的原因是合成 AETHER 替身(跨位置均值池化)的个体信号过弱,真正的对比学习 AETHER 头处于关键路径上。

七、与既有研究线程的衔接

  • R3(跨房间重识别):R3.1 通过展示raw-CSI 版本失败,间接确认了 R3 的"嵌入空间内 MERIDIAN"结果——R3 选择嵌入空间是正确决策
  • R6.1(多散射体 Fresnel):提供了前向算子。R3.1 使用过它;算子正确,是应用层级错误
  • R12 PABS(POSITIVE):直接在 raw CSI 上工作但不在房间间比较——PABS 检测房间的结构变化,跨房间迁移需要额外的不变性层(= AETHER)。这解释了为什么 PABS 在 raw 层有效而跨房间方法在 raw 层无效;
  • R14 / R15 / ADR-105:隐私框架不受影响;AETHER + 物理环境预测仍按 ADR-106 保持全设备端(on-device)执行,跨安装重识别仍被 R3 + R14 + R15 + ADR-106 禁止。

八、为什么这个负面结果仍然有用

  1. 在实现前暴露架构错误:若无此 tick,未来工程师很可能采用直觉上"显然正确"的"从 raw CSI 减去预测环境信号"方案并浪费数周时间。R3.1 记录了这一失败;
  2. 收紧了 R3 实施路线图:纠正后的架构现已明确可执行;
  3. 论证了嵌入空间与原始空间方法的差异:这一结论可泛化到代码库中所有"减去学习/预测的干扰项(nuisance)"模式。

九、诚实边界(Honest scope)

实验结论的有效范围需严格限定,文档明确列出:

  • 10 名受试者、0.85–1.15× 体型变化是刻意弱化的个体签名。更强的生物特征基元(步态、呼吸、R15 的 RCS)会带来更大的个体对比度;"raw-CSI 层失败"的结论可能对该尺度敏感,在更丰富生物特征输入下 raw 层方法或许能恢复;
  • 每房间仅 3 个位置。位置数增至 5–10 时失败将更尖锐;减至 1 时会部分成功;
  • 位置方差主导性是几何相关的。长窄房间与方形房间的方差比不同,本实验只覆盖一种几何;
  • 未测试"带标签 MERIDIAN 逐位置聚类"(对房间内位置聚类、减去每簇质心)。这或许能让带标签 oracle 成功,其物理先验等价物需要位置聚类层。

十、能做什么 / 不能做什么 / 下一步

能做的:阻止浪费性的实现投入;提供修正的架构草图(嵌入层物理先验环境预测);提供参考基准——证明 raw-CSI 层的跨房间问题确实困难,为 R3 的嵌入层结果提供对照。

不能做的:最初设想的零样本跨房间重识别(仍需嵌入层实现 R3.2);对现有房内重识别的任何改进(房内识别本就有效);跨安装重识别(仍被 R3 + R14 + R15 + ADR-106 禁止)。

下一步

  • R3.2:嵌入层物理先验环境预测(修正架构),需要 AETHER + R6.1 集成,超出本研究环范围;
  • R12.1(pose-PABS 闭环):仍是杠杆率最高的下一步实现;
  • ADR-107(跨安装联邦):继续搁置。

十一、快速复现指南

在仓库根目录下直接运行仿真脚本即可复现全部数字:

python examples/research-sota/05-cross-room-reid/r3_1_physics_informed_env.py

脚本会打印五种配置的 1-shot K-NN 精度与判定结论(物理先验是否达到 MERIDIAN 的 90% 以内),并写入r3_1_physics_env_results.json。同目录下的 README.md 汇总了 R3 弧三个 tick 的状态机(POSITIVE → NEGATIVE → STRUCTURALLY VALIDATED),00-summary.md 则将 R3.1 定位为"三次诚实范围发现"之一。若想继续探索嵌入层修正方案,运行:

python examples/research-sota/05-cross-room-reid/r3_2_embedding_physics_env.py

核心结论回顾:R3.1 证明"物理先验环境预测"方法本身成立,但必须在正确的空间(嵌入层)应用——raw-CSI 层实验暴露出错误空间不会带来任何提升。这一"方法正确、层级错误"的教训,与 ADR-024 的 AETHER 对比学习头共同构成了 RuView 跨房间重识别通向生产的完整拼图。

【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询