十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

RuView RaBitQ 相似性传感器:用 1-bit Sketch 为 CSI / Pose 嵌入打造廉价的“见过它吗“感知层

RuView RaBitQ 相似性传感器:用 1-bit Sketch 为 CSI / Pose 嵌入打造廉价的“见过它吗“感知层 RuView RaBitQ 相似性传感器用 1-bit Sketch 为 CSI / Pose 嵌入打造廉价的见过它吗感知层【免费下载链接】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导读本文围绕 RuView 的架构决策记录 ADR-084系统讲解如何把 RaBitQ 风格的 1-bit 二值量化从向量压缩技巧升格为部署在 AETHER 重识别、房间指纹、新颖性检测、网格同步与事件日志五大环节的廉价相似性传感器。文章会带你读懂规范中的草图先行、全精度裁决模式逐层拆解 sketch.rs、rotation.rs、estimator.rs 等已落地源码的 API 与测试掌握 8×–30× 比较成本压缩、≥90% Top-K 覆盖与 1pp 端到端精度回归的可验证判据以及基于过取回over-fetch候选集 全精度精排的工程部署范式。背景整条管道上无处不在的见过它吗问题RuView 的信号管道在多个层次持续产出稠密浮点嵌入本文档所记的实现位于该决策驱动的wifi-densepose-ruvectorcrate见 lib.rs嵌入来源维度对应 ADRAETHER 行人重识别嵌入每条PoseTrack一份128 维ADR-024CSI 频谱图嵌入64–256 维ADR-076每房间场模型本征模向量—ADR-030每帧多站融合向量—ADR-029它们最终都回答同一类问题我是否曾经见过与此类似的东西在引入本文方案之前这个答案依赖对候选集做全量浮点点积 / 马氏距离比较。该成本随存储向量数线性增长而当它被用于动态 mincut 图维护、重识别重新打分、跨环境域检测时又会进一步演化为平方级开销——这正是 ADR-084 所要解决的规模瓶颈。值得注意的是vendored 的ruvector-core早已提供 1-bit 量化类型BinaryQuantized32× 压缩、SIMD popcnt 海明距离其在功能上等价于 RaBitQ 一族二值草图——每个向量维度压缩为 1 bit以海明距离比较作为全精度精排之前的粗筛。同一模块还暴露了ScalarQuantizedint8、4×与ProductQuantizedPQ、8–16×因此分层量化的实现早已存在缺的只是部署形态。ADR-084 的切入点是一个观察RaBitQ 草图不只是向量压缩技巧而是一种廉价的相似性传感器它可以带来常开的新颖性 / 异常门控只在出现有意义的改变时才唤醒重型 CNN集群 Pi 的记忆路由优先查询哪个分片 / 房间 / 模型节点间网格以压缩草图而非原始向量交换隐私友好的事件日志只存草图不可反演出信号。决策把 RaBitQ 草图当作一等公民的廉价相似性传感器ADR-084 正式在 RuView 管道中四个位置采用RaBitQ 风格二值草图集群 Pi 上的CSI / Pose 嵌入热缓存过滤器实时观测与每房间常态库之间的漂移 / 新颖性传感器传感节点间上报跨集群事件时的网格交换压缩集群 Pi 与网关上隐私保护的事件日志。每个位置的规范模式都是同一条链dense embedding ──► RaBitQ sketch ──► hamming/popcnt compare ├──► candidate set (top-K) └──► novelty score (0..1) │ ▼ ┌── below threshold ──► emit summary, no escalation │ └── above threshold ──► full-precision refinement ├──► ruvector mincut / HNSW ├──► AETHER re-ID rescoring └──► pose model / CNN wake该 ADR 同时承诺以ruvector::quantization::BinaryQuantized作为规范化实现。其核心设计原则是决策边界不变——全精度仍持有最终裁决权草图只是决定哪些比较需要跑的传感器而非它们如何裁决。实现落点与版本治理草图类型与 SIMD 原语BinaryQuantizedaarch64 走 NEON、x86_64 走 POPCNT 的 SIMD 海明距离在 sketch.rs 中以use ruvector_core::quantization::{BinaryQuantized, QuantizedVector};引入并通过新的crates/wifi-densepose-ruvector/src/sketch.rs模块以 RuView 风格 API 重新导出使signal、train、mat、sensing-server的消费者不直接绑定 vendor crate。每房间常态库按 ADR-083 部署在集群 Pi 上而非传感 MCU 上。MCU 继续以既有rv_feature_state_t报文形态发出稠密嵌入草图化在持有候选库的 Pi 端完成。草图版本号每个草图携带 16-bitsketch_version字段当嵌入模型升级导致草图不兼容时Pi 可据此区分新旧版本——每次嵌入模型变更都会使版本号递增。在 sketch.rs 的真实实现中Sketch结构体内除BinaryQuantized打包字节外还保存embedding_dim: u16源向量维度与sketch_version: u16并在Sketch::distance比较时强制两者一致不一致即抛出类型化错误SketchError::EmbeddingDimMismatch/SketchError::SketchVersionMismatch从根源上杜绝不同嵌入模型代际 / 不同维度的草图被静默比较。另外面向 PR #435 安全评审的 L2 加固让超长嵌入不再经debug_assert!静默截断try_from_embedding对超过u16::MAX65,535维的输入返回SketchError::EmbeddingDimOverflow而from_embedding在 release 下以饱和到u16::MAX而非截断的方式处理sketch.rs 有对应单元测试try_from_embedding_rejects_over_long_input佐证。传感器在管道中的位置六处热路径对照管道环节现状全浮点引入 RaBitQ 相似性传感器后AETHER 重识别匹配每条活跃轨迹 × 候选做全 128 维余弦海明预筛到 Top-K再对 K 个做全余弦mincut 子载波选择全图重新评估草图标记疑似变化边界边仅对其做全 mincutCSI 房间指纹对全嵌入跑训练好的分类器草图对每房间草图做海明未命中才跑分类器场模型新颖性ADR-030残差能量阈值草图新颖性作为 SVD 重算前的第二道闸门网格 / 跨集群同步广播稠密嵌入广播草图未命中才传全向量事件日志留存存全嵌入存草图 witness 哈希原始嵌入仅短暂驻留每一行遵循同样的原则决策边界不变全精度仍然给出最终答案。系统级验收判据ADR-084 给出系统级验收测试RaBitQ 应将比较成本降低8× 到 30×同时保持 top-k 决策足够好使全精度精排后最终结果变化少于 10%。具体拆解为三条独立判据草图比较必须可测出比其替代的浮点比较便宜 8×signal/中的 criterion-bench由草图选出的 Top-K 候选集必须包含全浮点通过会选出的候选的 ≥ 90%针对录制 CSI 的离线回放在既有评估集上端到端姿态 / 重识别精度相比全浮点基线回归 1 个百分点。这三条中若任何一条失败传感器就在该管道点回滚失败点恢复全浮点其余位置继续使用草图——逐点回滚而非全有全无。源码视角Sketch、SketchBank 与 WireSketch 的落地实现ADR-084 的Pass 1即wifi-densepose-ruvector::sketch模块的建立文件头部注释原样固化了三条验收判据8×–30× 成本削减、≥90% Top-K 覆盖、1pp 端到端回归可对照阅读 sketch.rs。Sketch一维一比特的符号量化Sketch::from_embedding按每维一个符号位完成量化值 0.0记 1、否则记 0这是 RaBitQ 一族的标准符号量化步骤。相较源[f32]向量草图体积缩小32×并用 SIMD 加速的海明距离aarch64 的 NEONvcnt、x86_64 的 POPCNT做比较——这正是32× 更小、popcnt 友好表述的代码级来源。比较 API 提供两条路径Sketch::distance先校验embedding_dim与sketch_version再做海明计数返回None/Err以表达比较无意义Sketch::distance_unchecked则跳过校验仅供同一SketchBank内已保证同源的草图使用。packed_bytes()暴露(embedding_dim 7) / 8字节的打包数据供 WireSketch 直接上帧。SketchBank带模式锁定的 Top-K 邻居库SketchBank承载我在每个见过此物的地方的索引查询语义具有两条核心不变量库内所有草图共享同一embedding_dim与sketch_version首次insert时锁定后续不匹配插入即返回类型化错误u32库 ID 由调用方赋予且在topk调用间保持稳定、不因插入删除重排。SketchBank::topk内部有一条值得一提的演进故事旧实现用BinaryHeapReverse...存 Top-K而Reverse会把最大堆变成最小堆导致n k堆路径把 k 个最远邻居当最近邻返回原有单测只覆盖了n ≤ k快路径故该反转让 bug 长时间潜伏直到 Pass-2 覆盖度评测n k把它暴露。修复后的实现以 max-heap 保留 k 个最小距离、总复杂度O(n log k)并以回归测试topk_heap_path_returns_nearest与tight_clusters_give_high_coverage_with_overfetch钉死sketch.rs。因此本文档此前所有 Top-K 验收数字只有在修复后的路径上才有意义。SketchBank::novelty给出文档定义的新颖性评分min_distance / embedding_dim取值范围[0.0, 1.0]——0.0 表示库中存在逐位完全匹配1.0 表示与最近草图逐位全异空库直接返回 1.0最大新颖性。单元测试novelty_zero_for_exact_match_one_for_empty、novelty_is_proportional_to_min_distance分别钉住了边界与线性比例语义。WireSketch28 字节的 AETHER 128-d 草图帧WireSketch把草图 新颖性分序列化为可在集群↔集群网格、传感器→Pi UDP、网关→云 QUIC 等任意信道上传输的小端紧打包帧。128 维 AETHER 草图的总开销为12 字节定长头 16 字节负载 28 字节其中头布局如下偏移字段宽度说明0magicu32WIRE_SKETCH_MAGIC 0xC511_0084与既有 RuView magic 区分4format_versionu16当前WIRE_SKETCH_FORMAT_VERSION 16sketch_versionu16嵌入模型 schema 版本与线格式版本是两个概念8embedding_dimu16源嵌入维度10novelty_q15u16新颖性[0,1]× 32767 的 q15 定点量化12bits[]变长ceil(embedding_dim/8)字节反序列化端是偏执的magic、format_version、embedding_dim → 负载字节数一致性、总长四重校验全过才触碰BinaryQuantized恶意 UDP 包只会得到类型化WireSketchError而绝不 panicWIRE_SKETCH_MAX_BYTES 9 KiB上限配合TooLarge错误防御基于伪造超大维度的内存耗尽攻击。novelty在编码时钳制到[0,1]并做 q15 定点解码端再除以 32767 还原wire_serialize_round_trip验证往返误差 2/32767。五段落地与三层验证ADR-084 把实现拆成五个各自独立可测的阶段每阶段都被同一验收判据门控失败即逐点回滚wifi-densepose-ruvector::sketch模块重导出BinaryQuantized提供 RuView 风味 APISketch::from_embedding、Sketch::distance、SketchBank::topk并给公开类型增加sketch_version: u16与embedding_dim: u16字段配套 criterion 基准测草图 ↔ 浮点比较成本比。此即 sketch.rs 现状含约 30 个单元测试。AETHER 重识别预筛在 wifi-densepose-signal/src/ruvsense/pose_tracker.rs 计算全 128 维余弦前先对活跃轨迹 × 候选两侧做草图并海明取 Top-K基准测每帧重识别耗时与跨房间切换下的 ID 稳定性。集群 Pi 新颖性传感器在wifi-densepose-sensing-server维护每房间常态SketchBank每个进入的rv_feature_state_t计算嵌入草图、对库打分并把novelty_score作为新字段追加到 WebSocket 更新信封重型 CNN 唤醒门控直接消费该分数。网格交换压缩跨集群广播ADR-066 群桥信道在新颖性低时携带草图 witness 而非全嵌入仅当新颖性越阈才交换全向量。隐私保护事件日志集群 Pi 的事件日志表存(sketch_bytes, sketch_version, novelty_score, witness_sha256)而非原始嵌入既有日志读取 API 不变仅存储层重写。对应源码见 event_log.rs——PrivacyEventLog是定容 FIFO 环形缓冲最坏驻留内存为capacity × (sketch_bytes 50)事件witness_sha256是对WireSketch序列化负载头 打包位 q15 新颖性量子做 SHA-256两个 witness 相同即线上逐字节相同天然支持去重与网关免重复存储的检查点。每个 Pass 配套三类测试属性测试草图 ↔ 浮点 Top-K 一致率 ≥ 90%、criterion 基准≥ 8× 比较成本削减、端到端精度回归测试 1pp 降幅。验证方面ADR-084 明确接受Accepted门槛是上述三条验收数字需在五个实现点中的至少三个负载最重的 AETHER 重识别、集群 Pi 新颖性、事件日志成立网格交换与 mincut 预筛是可选的锦上添花项可在各自单点数字达标后跟进。验证运行环境包括既有1,539 测试的 workspace 套件必须保持全绿新增tests/integration/rabitq_sketch_pipeline.rs集成测试驱动录制 CSI 分别以有 / 无草图方式完整过管道比较 Top-K 决策与端到端姿态精度ESP32-S3COM7冒烟测试——传感 MCU 不变、草图在集群 Pi 完成故该验证仅确认传感器 → Pi UDP 路径在集群 Pi 增加草图库后依然正常。影响评估正面凡是我见过它吗问题所在的路径AETHER 重识别、mincut 维护、房间指纹、新颖性检测、网格同步、事件日志留存都先跑一遍小 32×、popcnt 友好的比较常开异常门控变得负担得起静默房间稳态下 CNN / 姿态模型只有草图新颖性越阈才唤醒单节点能耗预算显著下降隐私叙事提升事件日志与跨集群网格流量携带的是草图与 witness 哈希1-bit 量化对原始 CSI 不可逆与 ADR-083 干净组合集群 Pi 天然承载草图库MCU 零改动零新增依赖。负向 / 风险草图质量依赖嵌入分布——纯 1-bit 符号量化BinaryQuantized的实现在嵌入空间大致零中心且各向同性时表现最好AETHER 与 CSI 频谱嵌入需为此假设做基准测试若失败需在草图前加随机旋转Johnson-Lindenstrauss / RaBitQ 论文式本 ADR 将其划为验收失败后的跟进项候选集 16 时 Top-K 覆盖可能选错 K逐点回退全浮点已纳入上线计划嵌入模型升级会使存量草图全部失效sketch_version递增后集群 Pi 必须重算候选库成本有界但非零。中性ADR-024、ADR-027、ADR-029、ADR-030、ADR-076 在算什么上不变只是比较步骤获得草图预筛ADR-082 的确认轨迹输出过滤器位于草图层上游保持正确。Pass 2 与 Pass 2b随机旋转与无偏距离估计器的实测结论Pass 2——随机旋转 多比特ADR-156 §82026-06 落地ADR-084 开放问题BinaryQuantized是否需要随机旋转预pass如今有了实测数字的答案。Pass 2 已在 rotation.rs 实现确定性R H·D快速 Hadamard 变换 种子化 ±1 符号翻转O(d log d)/O(d)复杂度、保范、可由存储的u64seed 复现。选 FHT 而非稠密d×d正交阵的原因写得很清楚稠密旋转在d u16::MAX 65,535维下约需 17 GiB对集群 Pi / 边缘目标完全不可行rotation.rs。API 上通过Sketch::from_embedding_rotated/SketchBank::with_rotation选入Pass-1 API 与线格式不变索引端与查询端必须使用同一Rotation同 seed dim否则海明距离在不同旋转坐标系下毫无意义。各向异性植入簇夹具cosine 真值、dim128、N2048、K8上的实测结果为严格candidate_k K栏下旋转把覆盖率从36.13% 提升到 46.39%Pass 2 在candidate_k 24约3× over-fetch处到达≥90%验收栏多比特≤4-bit在严格栏达到 74%。诚实的结论旋转与 ≤4-bit 多比特都无法在这个分布上越过严格 K 90%栏验收栏是靠本文档决策章节规定的 over-fetch候选集模式草图选候选集、全精度精排达成的。此外 Pass-2 工作还修复了前述SketchBank::topk的堆反转 bug并使其成为既有 Top-K 验收数字生效的前提。Pass 2b——RaBitQ 无偏距离估计器ADR-156 §11RaBitQ 论文Gao Long, SIGMOD 2024的真正贡献——从 1-bit 码 每向量侧信息恢复内积 / 距离的无偏估计器——已在 estimator.rs 实现并同样接受本文档 ≥90% 严格-K 栏的实测检验实现EstimatorSketchPass-2 符号码 每向量 8 字节侧信息residual_normx_dot_o ⟨x̄, o⟩、DistanceEstimator⟨o,q⟩ ≈ ⟨x̄,q⟩ / x_dot_o即论文的无偏重缩放、EstimatorBank按估计值而非原始海明重排候选。代码明确记录了零质心简化c 0论文忠实的质心路径也以with_centroid保留。整体纯增量Pass-1 / Pass-2 与线格式不动。实测严格-K 覆盖同 Pass-2 夹具估计器把严格栏从 46.39%Pass-2 符号抬到49.71%估计器 cosine 重排是真实的3.3pp增益但距 90% 严格栏仍差约 40pp在 over-fetch 下估计器优于纯符号candidate_k 24处 95.12% vs 91.60%。诚实的结论无偏估计器无法在该分布上越过严格-K 90% 栏——制约瓶颈是 1-bit 码的信息天花板而非估计器方差≥90% 验收栏依然只通过 over-fetch候选集模式达成估计器的价值在于降低了所需的 over-fetch 倍率而非消除它。这是一个如实发表的负面结果。开放问题与演进方向BinaryQuantized需要随机旋转预pass吗——已由 ADR-156 §10 回答旋转已构建并实测严格-K 栏下提升约 10pp但在各向异性分布上单独不足以达到严格-K 90%over-fetch 候选集模式可达标纯符号量化假设零中心各向同性嵌入旋转按 RaBitQ 论文Gao Long, SIGMOD 2024规定对相关坐标去相关。草图维度目标默认取嵌入原生维度AETHER 为 128、频谱图为 256更高维草图Johnson-Lindenstrauss 投影到 512以算力换召回需基准后再定。按房间 vs 按部署建库新颖性检测默认按房间建库跨房间重识别可能需要共享库待跨房间 AETHER 轨迹可用后再定。相关 ADR 导航ADR-084 是跨层量化部署契约与其相关的决策记录从 docs/adr 可完整串读草图的嵌入来源与消费方是 ADR-024AETHER 重识别预筛主消费方与 ADR-076CSI 频谱嵌入库的归属与设备类是 ADR-083每集群 Pi 计算跳域检测数据结构的自然形态见 ADR-027第二道廉价门控服务于 ADR-030 的场模型 SVD 重算决策网格交换复用 ADR-066 群桥信道而 MCU 侧无需改动的前提由 ADR-081 保证草图全部发生在集群 Pi。该方案更进一步的实现与实测数字旋转、多比特、无偏估计器记录在 ADR-156 §8 / §10 / §11。【免费下载链接】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),仅供参考
返回列表