恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
RuView 持久身份跟踪设计:ADR-307 隐私优先的跨域概率轨迹方案
首页
资讯中心
/
RuView 持久身份跟踪设计:ADR-307 隐私优先的跨域概率轨迹方案
RuView 持久身份跟踪设计:ADR-307 隐私优先的跨域概率轨迹方案
发布时间:2026/9/9 20:19:31
RuView 持久身份跟踪设计ADR-307 隐私优先的跨域概率轨迹方案【免费下载链接】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-300体系中的 ADR-307《Persistent identity tracking》剖析持久身份与跟踪原语primitive #7的设计骨架如何在无摄像头、无姓名/账号/手机号等公民身份的前提下跨无线信号radios、跨传感模态、跨房间表达person_7 从厨房走到走廊再走进卧室这种持久伪匿名轨迹。你将理解现有多目标跟踪器MAT 的SurvivorTracker的复用边界、概率关联与衰减失效设计、基于本体图的空间拓扑约束以及低关联是隐私安全失败模式这一关键取舍在代码结构中的落点。说明本文属架构决策记录的工程解读重点是还原 ADR-307 的决策逻辑并对照仓库中已存在的跟踪代码与本体类型验证其可行性文中不声称任何跟踪准确率数字ADR-307 亦明确不主张任何精度指标。一、背景为什么需要持久身份而不是临时目标1.1 产品需求与硬约束RuView 面向的是把普通 WiFi 信号变成实时空间智能的感知系统ADR-282 确立了无摄像头定位。但在家庭自动化、跌倒告警、存在检测等场景中仅仅回答现在有人是不够的还需要回答**这一个人随时间去了哪里**person_7 进了厨房然后到走廊最后进了卧室。这要求系统跨无线电、跨模态、跨房间、跨时间地对持久实体进行推理。与此同时存在一条硬约束绝不能建立公民身份。持久伪匿名轨迹永远不能变成——也不能被联接成——真实世界的具名个体。ADR-307 明确写道这是一条通过构造来强制by construction的隐私属性而不是写在脚注里的策略。1.2 在 ADR-300 DAG 中的位置ADR-307 是 ADR-300 感知子层程序phase-2 21 原语规划的子决策属于phase 2原语坐落在 phase 1 脊柱之上消费 ADR-306 本体产出并更新该本体定义的Track与Person节点类型依赖 ADR-305 认证身份它关联的观测必须具有可验证的起源RF 溯源链输出受治理的Event这些事件由 ADR-318能力证书认证、ADR-319见证链见证。值得注意的仓库现状ADR-306 描述的世界图本体在当前工作树中由 v2/crates/ruview-ontology 承载。该 crate 已定义Person、Track、Sensor、Observation、Event、Zone等节点类型与Located边其中entity.rs 定义Person { id: PersonId, ... }与Track { id: TrackId, person: OptionPersonId, ... }Track的注释直接写明它是ADR-307 持久轨迹可选地解析为Personid.rs 定义PersonId前缀person与TrackId前缀track后者注释同样指向 ADR-307graph.rs 提供以PersonId/TrackId为键的有序映射与add_person/add_track等图写入口。也就是说ADR-307 所约定的Person作为持久实体、Track作为其时间片段这一契约在本体 crate 中已有类型化占位是后续 phase-2 跟踪层的落点。二、已存在的基座wifi-densepose-mat跟踪子系统ADR-307 反复强调一句原则复用并扩展已有脚手架而不是推倒重建。现成的基座位于 v2/crates/wifi-densepose-mat/src/tracking该模块由四个协作部件构成见 mod.rs 的模块文档部件职责关键 APISurvivorTracker聚合根协调预测/关联/再识别/生命周期update(observations, dt_secs) - AssociationResultTrackedSurvivor一条被跟踪实体及其全部状态id / survivor / kalman / fingerprint / lifecycleTrackId稳定轨迹标识UUID 支撑new()、as_uuid()TrackLifecycle/TrackState生命周期状态机hit / miss / rescue / check_lost_expiry / can_reidentifyKalmanState恒速 3D 位置滤波器predict / update / mahalanobis_distance_sq / position_uncertaintyCsiFingerprint体征位置指纹用于信号丢失后再识别from_vitals / update_from_vitals / distance / matchesTrackerConfig跟踪器行为参数见下表默认值DetectionObservation单个感知 tick 的一条检测position / vital_signs / confidence / zone_idAssociationResult一次 tick 的结果摘要matched / born / lost / reidentified / terminated / rescued模块文档给出了最小调用示例use wifi_densepose_mat::tracking::{SurvivorTracker, TrackerConfig, DetectionObservation}; let mut tracker SurvivorTracker::with_defaults(); let observations vec![]; // DetectionObservation instances from sensing pipeline let result tracker.update(observations, 0.5); // dt 0.5s (2 Hz) println!(Active survivors: {}, tracker.active_count());2.1 生命周期状态机与配置参数lifecycle.rs 定义了五态生命周期Tentative → Active → Lost → Terminated另有操作员确认的终态Rescued。其行为完全由TrackerConfig驱动各字段默认值如下参数类型默认值语义birth_hits_requiredu322连续命中达到该次数Tentative才晋升Activemax_active_missesu323Active连续丢帧达到该次数转入Lostmax_lost_age_secsf6430.0Lost可被再识别的窗口秒reid_thresholdf320.35指纹再识别距离阈值≈典型室内匹配经验值gate_mahalanobis_sqf649.0数据关联的马氏距离²门限9.0 ≈ 3D 中的 3σobs_noise_varf642.25卡尔曼量测噪声方差 σ²_obsm²即 1.5 m²process_noise_varf640.01卡尔曼过程噪声方差 σ²_a(m/s²)²测试用例完整覆盖了各转移路径test_tentative_confirmation2 次命中晋升、test_tentative_miss_terminatesTentative 一次 miss 即终止、test_active_to_lost3 次 miss 转 Lost、test_lost_to_active_via_hit、test_lost_expiry与test_rescue。2.2 核心更新算法一个 tick 的八步流水tracker.rs 把update组织为清晰的八步流水Kalman 预测对所有非终态轨道执行kalman.predict(dt_secs)门限代价矩阵轨道 × 观测构造代价矩阵仅当观测带位置且马氏距离²小于gate_mahalanobis_sq才记入代价否则记f64::MAX指派目标数 ≤ 10 时用匈牙利Kuhn–Munkres最优指派否则退化为贪心最近邻见同文件hungarian_assign/greedy_assign 3b.纯体征匹配无位置观测且该 zone 恰好只有一个活跃轨道时用指纹距离做二次关联再识别Re-ID未匹配观测与Lost轨道按指纹距离匹配命中则Lost → Active并回填位置/体征新生Birth仍未匹配的观测生成新的Tentative轨道更新对匹配对做 Kalman 位置更新、体征与指纹 EMA 更新生命周期转移未匹配的活跃轨道miss()统计lost_track_ids/terminated_track_ids清理终止超过 60 s 的轨道被移除。其中第 4 步正是 ADR-307 要带衰减弱化复用的再识别表面——当前实现通过lifecycle.can_reidentify(now, max_lost_age_secs)判定 Lost 轨道是否仍在再识别窗口内。2.3 运动模型恒速卡尔曼与马氏门限kalman.rs 实现 3D 恒速模型状态向量x [px, py, pz, vx, vy, vz]量测只观测位置H [I₃ | 0₃]。两个值得留意的实现细节过程噪声矩阵 Q按分段恒加速度离散化构造Q σ²·[[dt⁴/4·I₃, dt³/2·I₃],[dt³/2·I₃, dt²·I₃]]马氏距离²门限mahalanobis_distance_sq即(z−Hx)ᵀ·S⁻¹·(z−Hx)S H·P·Hᵀ R当 S 奇异退化几何时返回f64::INFINITY让关联天然拒绝该观测。position_uncertainty()返回位置协方差前 3×3 块的迹σ²pxσ²pyσ²pz作为位置已知程度的标量度量——ADR-307 决策中每次切换都携带置信度正是建立在这类不确定性量之上。单元测试test_kalman_update_converges、test_mahalanobis_far_observation等验证了收敛性与门限行为。2.4 外观/指纹通道CsiFingerprintfingerprint.rs 把CsiFingerprint定义为体征最近位置的加权组合用于轨迹连续性判断。距离度量是归一化加权欧氏距离权重与归一化范围如下特征权重归一化范围呼吸频率0.4030 bpm典型 0–30 区间呼吸幅度0.251.0已归一化到 [0,1]心跳频率0.2080 bpm40–120 跨度缺失时权重按比例摊给其余特征位置提示0.1520 m典型房间尺度指纹通过 EMAalpha 0.3随观测滚动更新update_from_vitals并记录sample_count。distance threshold默认 0.35即认为同一个人。这段代码就是 ADR-307 说绝不变成长期生物特征模板的那条指纹通道——它仅携带呼吸/心跳/近距位置这类短时程弱特征。三、缺口分析单节点跟踪器做不了什么ADR-307 指出已有跟踪器今天只在节点/房间上下文内推理缺三样东西跨无线电、跨模态、跨房间的连续性——SurvivorTracker的 zone 概念是单节点/单房间粒度的能扛过轨迹丢失与空间交接的持久实体——Lost 轨道 30 s 后即 Terminatedmax_lost_age_secs默认值实体随之消亡显式隐私边界——现有指纹与再识别逻辑没有在 schema 层面杜绝公民身份绑定。四、候选方案与取舍方案结论原因逐房间独立跟踪器不做跨房身份❌ 拒绝无法表达 kitchen → hallway → bedroom实体在每个房间边界丢失基于强生物特征指纹的全局身份键❌ 拒绝足以跨长间隙再识别的强指纹趋向于公民级生物特征——正是隐私约束所禁止的概率持久轨迹 有界、衰减的伪匿名关联构建于现有 MAT 跟踪器之上✅ 采纳复用基座、隐私可控、可给出逐交接置信度五、决策内容三层设计ADR-307 的决策是把wifi-densepose-mat/tracking扩展为跨域持久轨迹层产出 ADR-306 的Track/Person节点。5.1 第一层持久概率实体Persistent probabilistic entity一个持久实体 一个伪匿名Person节点携带稳定合成 ID如person_7底层是现有 UUID 支撑的TrackId该Person在时间与空间上聚合一条或多条SurvivorTracker轨迹持有的是概率性连续性信念——关联从不被断言为确定每次交接都带置信度跨越轨迹丢失间隙的连续性复用现有再识别表面can_reidentify、CsiFingerprint、AssociationResult但新增时间与距离双重衰减的关联先验同一实体的置信度随间隙增大而下降有界视界超过有界视界后放弃关联铸造新伪名而不是强行合并——低关联under-linking是隐私安全的失败模式。这与本体 crate 的类型结构一一对应Track.person: OptionPersonId允许一条轨迹尚未解析到 Person而多条Track可指向同一个PersonId正是聚合多条轨道为一个持久伪名的图表达。5.2 第二层跨无线电 / 跨模态 / 跨房间连续性关联在 ADR-306 本体图上进行来自多个Sensor的Observes边与AdjacentTo/Doorway拓扑约束限定合理的交接一个人只能移动到相邻空间现有mahalanobis_distance_sq门限从单节点检测扩展到跨模态融合观测此处融合是轨迹级关联底层多模态融合ADR-063 雷达/mmWave、ADR-029 多基地、ADR-311 真实传感器融合负责供给观测本 ADR 依赖它们提供原始跨模态证据不重新实现传感器融合。5.3 第三层隐私边界by construction三条构造性保证构成隐私边界无公民身份绑定持久 ID 是合成伪名类型上不存在任何字段、边或连接键指向姓名、账号、电话、MAC 或其他公民标识符——绑定在 schema 层面不可能发生而不只是不被鼓励有界且衰减的CsiFingerprint指纹仅用于短时程连续性不作为长期生物模板持久化且会过期。这让再识别对同一个人穿过走廊有用而在结构上无法回答这就是上个月来过的同一个人全程证据纪律每个Track/Person/Event都携带SemanticProvenance与EvidenceLevelADR-282 的 L0–L5遵守 ADR-277/ADR-280 的边缘治理与 ADR-141 证明。伪匿名轨迹仍然是受治理的 P 类数据跟踪精度是逐领域声明必须打上 MEASURED/CLAIMED/SYNTHETIC 标签并附复现者——本 ADR 自身不主张任何精度数字。六、后果与权衡RuView 可在保持无摄像头、无公民身份的前提下为自动化与分析表达持久的跨房间轨迹隐私安全失败模式是低关联不确定就铸造新伪名这会使轨迹在长间隙或稀疏覆盖下碎片化——碎片化伪名是安全的错误的公民身份合并则不是这是一个刻意的取舍扩展而非分叉现有跟踪器单房间单无线电部署保持现有行为一个实体 一条轨迹跨模态质量依赖 ADR-311/ADR-063/ADR-029 落地在那之前连续性以 WiFi 为主其局限被明说而不隐藏作为 phase-2 设计意图本 ADR 会随 ADR-306 本体与 ADR-305 身份脊柱定型而修订。七、验证与验收路径ADR-307 的 Validation 章节规划了三类验收验证层手段目标单元测试cargo test -p wifi-densepose-mat衰减关联先验拓扑约束交接schema 检查置信度随间隙下降、超视界丢弃并铸造新伪名非相邻空间无法关联Person/Track无公民标识字段集成测试合成多房间多无线电场景脚本化行走 kitchen → hallway → bedroom 得到一个持久伪名且带逐交接置信度刻意制造的歧义交汇得到两个伪名而非错误合并证据纪律 隐私评审ADR-291 无泄漏协议与证据标签显式检查清单任何跟踪连续性精度只能按协议与标签报告pilot 前确认无长期生物特征模板、无公民身份连接路径可以与之对应的实现侧依据是当前 tracking crate 的测试已覆盖生命周期转移、Kalman 收敛/门限、指纹自距离/阈值/EMA 更新等原子行为tracker.rs 的#[cfg(test)]模块、lifecycle.rs、kalman.rs、fingerprint.rs而无公民标识字段的 schema 约束已由 entity.rs 中Person/Track的字段集体现目前仅含id、located_in、person、位置与不确定度等空间字段无任何公民字段。结语给后续实现者的三个抓手复用点不要重写跟踪器。SurvivorTracker.update的八步流水、KalmanState的马氏门限、CsiFingerprint的 EMA 指纹就是 phase-2 概率关联的原料落点持久实体写入ruview-ontology的Person/Track图节点add_person/add_track而不是再造 schema红线任何新字段不得引入公民标识连接键指纹必须保持有界、衰减、可过期连续性的精度数字只能带 ADR-291 协议与证据标签出现——这条红线是 ADR-307 的全部意义所在。【免费下载链接】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),仅供参考