RuView archive/v1 弃用指南:从纯 Python DensePoseHead 到 Rust v2 工作区的迁移路线与确定性证明解读
RuView archive/v1 弃用指南从纯 Python DensePoseHead 到 Rust v2 工作区的迁移路线与确定性证明解读【免费下载链接】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/RuViewarchive/v1是 RuView 项目最初的纯 Python WiFi-DensePose 实现如今在仓库中被正式标记为已弃用unmaintained and superseded。本文以 archive/v1/DEPRECATED.md 为主体逐条讲清它为何被冻结、DensePoseHead网络有架构无权重这一事实的源码证据、被维护代码的迁移路径v2/ Rust 工作区 PyO3 pip wheel以及这棵废弃树下唯一仍被引用的活信号——ADR-028信任终止开关Trust Kill Switch确定性流水线证明。读完你既能避开这颗历史坑也能把verify.py当作可复现性验证模板复用到自己的流水线上。一、文档定位一份响亮的墓碑而非普通自述archive/v1/DEPRECATED.md由 ADR-187docs/adr/ADR-187-archive-v1-deprecation-honest-labeling.md推动产生开篇即给出三条硬性结论不要在这棵树上构建新工作archive/v1是纯 Python 的 WiFi-DensePose 原始实现仅作为研究档案保留依据 docs/adr/ADR-117-pip-wifi-densepose-modernization.md 的 §1.3全树冻结除一处仍存活的确定性证明外其余代码不接受修复、评审与支持这是仓库级诚实标注honest labeling策略的一环——延续 ADR-160 先例核心逻辑是把标签改成真实的而不是去编造一项能力。换句话说这份文件是给用 grep 和搜索引擎找到 v1 代码的读者看的警示牌防止他们把一段随机初始化的死代码误认为线上实现。二、有架构、无权重DensePoseHead 的源码级证据弃用文档强调一个最容易被忽略、也最坑人的事实archive/v1/src/models/densepose_head.py定义了DensePoseHead这个神经网络架构但它没有携带任何训练权重。从源码看archive/v1/src/models/densepose_head.pyDensePoseHead是一个相当完整的双头架构部件实现位置说明共享特征提取_build_shared_layers()按hidden_channels默认[128, 64]逐层堆叠Conv2d BatchNorm2d ReLU Dropout2d可选 FPN_build_fpn()use_fpnTrue时按fpn_levels默认[2,3,4,5]构造逐层 1×1 卷积分割头_build_segmentation_head()输出num_body_parts 1通道1 为背景类内含ConvTranspose2d上采样UV 回归头_build_uv_regression_head()输出num_uv_coordinates通道forward()中经sigmoid归一化到[0, 1]其配置通过字典注入必填字段为input_channels、num_body_parts、num_uv_coordinates可选字段包括kernel_size默认 3、padding默认 1、dropout_rate默认 0.1、use_deformable_conv、output_stride默认 4等构造时经_validate_config校验。损失函数同样是教科书式组合分割用cross_entropyignore_index-1UV 回归用L1 loss二者可按seg_weight/uv_weight加权求和compute_total_loss。问题出在权重初始化与加载路径def _initialize_weights(self): for m in self.modules(): if isinstance(m, nn.Conv2d): nn.init.kaiming_normal_(m.weight, modefan_out, nonlinearityrelu) ..._initialize_weights()只用kaiming_normal_做随机初始化整个类里没有任何 checkpoint 加载路径文档更给出了可核验的全局结论archive/v1/目录下不存在任何.pth/.onnx/.safetensors/.pt/.ckpt/.bin权重文件。因此这个架构只是被定义出来architecture-only。运行它产生的是随机输出而不是真实的姿态精度。这与技术评审对本树的观察一致——网络已定义、但无预训练权重在该目录的范围内成立。forward()里的post_process_predictions、get_prediction_confidence等接口虽然完整但缺少权重就无从谈起真实预测。这正是 ADR-187 想要杜绝的误导场景一个 grep 到DensePoseHead的读者曾无法把它与仍在维护的实现区分开。三、真实权重在哪三层权重图景与诚实标注弃用文档澄清了一个常见误读项目层面并不存在哪里都没有权重的问题而是分三个层次详见 README.md 的 Model weights: whats real, whats not 一节与 docs/user-guide.md层级检查点诚实状态真实且经过验证ruvnet/wifi-densepose-pretrainedCSI 编码器 presence 头82.3% 留出时间三元组精度ruvnet/wifi-densepose-mmfi-poseMM-Firandom_split上 82.69% torso-PCK20cog-person-count/count_v1MEASURED / 已发布真实但偏弱如实标注v2/crates/cog-pose-estimation/cog/artifacts/pose_v1.safetensors217 样本留出集上 PCK20 3.0%低于 ADR-079 ≥35% 目标运行时推理仍是返回confidence0的中心骨架 stub仅有架构、无权重archive/v1的DensePoseHead随机kaiming_normal_初始化、无任何 checkpoint按本文档标记为弃用其中真实且经过验证的两份外部发布权重里项目明确撤回过旧文案中的100% presence数字这正是既有诚实标注的正面先例——文档策略是引用并强化这些先例而不是弱化它们。3.1 维护路径对照表原文档核心表格DEPRECATED.md用一张表给出了你要什么 → 去哪里的完整指引此处按仓库根目录相对路径重写你想要…去哪里受维护的实现v2/ Rust 工作区仓库根目录v2/pip 安装pip install ruview或pip install wifi-densepose2.x——编译型 PyO3 wheel见 docs/adr/ADR-117-pip-wifi-densepose-modernization.md。PyPI 上的wifi-densepose1.x线已墓碑化1.99.0会在导入时抛出ImportError引导你迁移真实训练过的 presence/编码器权重ruvnet/wifi-densepose-pretrained82.3% 留出时间三元组精度真实的 17 关键点姿态模型ruvnet/wifi-densepose-mmfi-poseMM-Firandom_split上 82.69% torso-PCK20诚实的三层权重全貌根 README.md 与 docs/user-guide.md 中的 Model weights: whats real, whats not 表3.2 pip 墓碑wifi-densepose1.99.0为什么要专门发一个只会报错的版本ADR-117 §7.2 的设计意图是任何把版本钉在wifi-densepose1的项目升级到 1.99.0 时会收到清晰可读的迁移错误而不是静默的坏导入。其实现位于 python/tombstone/src/wifi_densepose/init.pyraise ImportError( wifi-densepose 1.x has been superseded by v2.0.0 which wraps the Rust-based stack.\n \n pip install wifi-densepose2.0.0\n ... )该模块唯一的职责就是抛错。配套的单元测试 python/tombstone/tests/test_tombstone.py 很有意思它不实际导入模块导入即抛错而是grep 源码文本断言其中必须包含raise ImportError(、pip install wifi-densepose2.0.0与迁移文档路径并断言模块不包含任何def/class/import语句——用测试把墓碑必须保持极简锁死防止日后有人好心把它改回一个加载一半才失败的真实模块。python/tombstone/pyproject.toml 中该版本的requires-python 3.8、运行时零依赖产出单一py3-none-anywheel。四、这棵死树下唯一活着的东西ADR-028 确定性证明archive/v1/DEPRECATED.md明确划出一条例外目录内唯一仍然活着、可被引用的信号是确定性参考流水线证明——python archive/v1/data/proof/verify.py # 必须打印 VERDICT: PASS它即 ADR-028信任终止开关Trust Kill Switch。设计意图一句话概括让它是被 mock 的成为一个可证伪、可测量、且能被证据击破的论断。4.1 验证原理与源码证据链证明脚本 archive/v1/data/proof/verify.py 的核心逻辑从 archive/v1/data/proof/sample_csi_data.json 载入已发布的参考 CSI 信号该信号由generate_reference_signal.py合成仅用于验证流水线确定性把前 100 帧逐帧喂给真实生产代码CSIProcessor.preprocess_csi_data()extract_features()——注意其导入的是src.hardware.csi_extractor.CSIData与src.core.csi_processor.CSIProcessor两个 v1 生产模块而非测试替身将每帧特征转为规范字节序列累计喂入 SHA-256与发布哈希 archive/v1/data/proof/expected_features.sha256 比对打印VERDICT: PASS或FAIL。脚本启动时会先打印SOURCE PROVENANCE源码出处用inspect.getfile输出CSIProcessor/CSIData/CSIFeatures的真实文件绝对路径及 numpy/scipy 版本让任何人可当场核对被验证的确实是生产模块而非测试双胞胎。其中PROCESSOR_CONFIG匹配生产默认值同样值得单独列出PROCESSOR_CONFIG { sampling_rate: 100, # 采样率 Hz window_size: 56, # 单帧窗口大小56 子载波 overlap: 0.5, # 滑窗重叠率 noise_threshold: -60, # 噪声门限 dB human_detection_threshold: 0.8, smoothing_factor: 0.9, max_history_size: 500, # 历史帧缓冲支撑 Doppler 计算 enable_preprocessing: True, enable_feature_extraction: True, enable_human_detection: True, }4.2 两个工程细节跨平台量化与容差门verify.py里藏着两个只有做过可复现哈希才会踩到的工程问题值得展开1量化精度与doppler_shift的故意排除。FFT 结果在不同 SIMD 后端Intel AVX2/AVX-512 vs ARM NEON或 CI 池中不同的 x86 微架构会因 pocketfft 重排浮点运算而产生 ~1e-14 级的 ULP 漂移经过预处理→双二阶带通→FFT→PSD→方差累积后被放大到 1e-7 甚至更糟。因此features_to_bytes()先把特征np.round到 6 位小数通过环境变量PROOF_HASH_DECIMALS可覆盖默认6再打包为小端 float64。而被哈希的五项特征为amplitude_mean、amplitude_variance、phase_difference、correlation_matrix、power_spectral_densitydoppler_shift被有意排除——它做了峰值归一化spectrum / max(spectrum)当原始谱存在接近并列的峰值时argmax会在跨微架构浮点重排下翻转导致整数组重归一化产生任何容差都无法吸收的 O(1) 级发散。脚本注释明确把这标注为一个独立跟踪的生产可复现性缺陷。2哈希之上的相对容差门issue #560 后续。固定小数位的 SHA-256 只在同一 CPU 微架构内逐位一致。为此脚本实现了双通道判定位精确通道计算哈希 发布哈希archive/v1/data/proof/expected_features.sha256当前值为f8e76f21a0f9852b70b6d9dd5318239f6b20cbcb4cdd995863263cecdc446f7a跨平台通道当位精确不匹配时用np.allclose把原始特征向量与提交的参考向量 archive/v1/data/proof/expected_features_reference.npz 比较容差取TOLERANCE_RTOL 1e-4、TOLERANCE_ATOL 1e-6——约为实测微架构漂移的 100 倍、低于任何有信号意义变化CSI 相位精度约 1e-3 rad的 10 倍保证真实回归仍会失败。两者任一命中即 PASS若都失败脚本会逐特征块amp_mean/amp_var/phase_diff/corr/psd报告越界元素与最大偏差位置帮助定位数值回归。4.3 命令行用法python archive/v1/data/proof/verify.py # 对照已发布哈希做验证 python archive/v1/data/proof/verify.py --verbose # 打印逐特征统计与 Doppler/PSD 明细 python archive/v1/data/proof/verify.py --audit # 扫描 src/ 下的 mock/random 模式 python archive/v1/data/proof/verify.py --generate-hash # 重新生成并写入期望哈希与参考向量--audit模式会遍历 archive/v1/src排除testing/tests等目录搜索np.random.*、random.*、MagicMock、patch等可疑模式并在干净时打印CLEAN -- no mock/random patterns found in production code。正常验证流程共 4 步[0/4] SOURCE PROVENANCE→[1/4] LOADING REFERENCE SIGNAL→[2/4] PROCESSING THROUGH PRODUCTION PIPELINE→[3/4] SHA-256 HASH COMPARISON加可选的[4/4] CODEBASE AUDIT最终以VERDICT: PASS/FAIL收束并以退出码 0/1/2 区分通过、失败与缺少期望哈希。需要强调的运行前提该参考信号是合成信号验证的不是信号真实而是流水线代码真实且确定——处理这段参考信号的代码与处理实采数据的代码是同一条。五、迁移要点与边界意识对开发者最实用的几条结论不要以archive/v1/为蓝本写新代码。它是研究档案DensePoseHead只是架构骨架。要真实精度请直接落到维护路径v2/Rust 工作区真正的生产 DSP、vitals、pose 姿态栈、pip install ruview或wifi-densepose2.0.0PyO3 绑定替代 1.x 纯 Python 服务端。遇到wifi-densepose1.x 时认准墓碑语义1.99.0会主动抛ImportError——这不是坏了是设计好的软围栏soft-fence。verify.py不是弃用物作为 ADR-028 的可复现性见证它继续有效。只有当你有意改变了 v1 流水线数值输出时才需要用--generate-hash更新哈希——而这本身应该是一次被评审的、记录在案的行为。诚实标注是仓库的默认纪律ADR-160/ADR-187 确立判断某模型可用与否要读层级标签而不是读宣传性标题。即便在维护中的pose_v1.safetensors其状态也是真实但偏弱、运行时为 stub这在 v2/crates/cog-pose-estimation/cog/README.md 中有完整披露。六、进一步阅读archive/v1/DEPRECATED.md —— 本文主体文档docs/adr/ADR-187-archive-v1-deprecation-honest-labeling.md —— 弃用与权重诚实标注的决策记录含三层权重表与验收标准docs/adr/ADR-117-pip-wifi-densepose-modernization.md —— pip 现代化与 1.99.0 墓碑的完整方案archive/v1/src/models/densepose_head.py ——DensePoseHead架构源码archive/v1/data/proof/verify.py —— 仍存活的确定性证明脚本python/tombstone/tests/test_tombstone.py —— 墓碑极简性测试README.md 的 Model weights: whats real, whats not 一节 —— 项目级三层权重总览。【免费下载链接】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),仅供参考
