RuView 垂直线路物理可行性评估:从穿透树叶的野生动物感知到穿缝船舶感知
本篇技术指南聚焦 RuView 研究体系中两个"奇异垂直物理"(exotic vertical physics)线路——面向野生动物的穿叶感知(R10)与面向船舶舱室的穿缝感知(R11)。它们是目前仓库中仅有的两个具备可计算物理演示(computable physics demos)的垂直线路,其余(R14 共情电器、R16 医疗、R17 工业、R18 灾害、R19 畜牧、R20 量子)均为愿景/规格级描述。读者读完本文后,将掌握:如何用 ITU-R P.833-9 植被衰减模型与 ESP32-S3 链路预算推导有界感知距离;如何用趋肤深度、海水损耗与缝隙衍射三组物理公式判定海事场景的可行性边界;以及如何通过仓库内的两个纯 NumPy 脚本复现全部数值结果。
概览:两个可计算物理的垂直线路
本线路的完整定义位于 08-verticals/README.md,它明确区分了两类垂直应用:野生动物(穿叶)与海事(穿舱壁)。核心结论可以浓缩为一句话:R10 证明了"穿叶可行",R11 证明了"穿舱壁不可行、但穿缝可行"。
| 脚本 | 线程 | 垂直领域 | 核心结论 |
|---|---|---|---|
r10_foliage_attenuation.py |
R10 | 穿叶野生动物感知 | ITU-R P.833-9 衰减模型;ESP32 稀疏植被下 2.4 GHz 感知距离约 100 m(后经 R6 菲涅尔净空考虑修正为约 70 m);8 物种步态分类体系 |
r11_maritime_propagation.py |
R11 | 海事 / 船舶舱室感知 | 2.4 GHz 钢铁趋肤深度 3.25 µm → 穿舱壁不可能;但缝隙衍射可行:2 mm 密封条间隙的舱门 = +31 dB SNR 余量。结论是"穿缝,而非穿舱壁" |
两个脚本均位于 examples/research-sota/08-verticals/,采用纯 NumPy 实现、无绘图依赖,运行时直接输出 JSON 结果文件,便于下游消费者渲染曲线。
R10:穿叶野生动物感知(through-foliage)
行业背景与动机
野生动物保护长期依赖昂贵且过时的数据手段:相机陷阱、粪便 DNA 调查、定点计数。它们具有季节性、劳动密集、且偏向"明星巨兽"物种。2.4/5 GHz 的 WiFi CSI 可以穿透轻中度植被,而 RuView 已有的步态频率基元(原本用于人类呼吸/心率检测)可以干净地迁移到四足动物——步态频带不同,DSP 相同。一个太阳能供电、置于防风雨外壳中的 ESP32-S3 节点,理论上可以7×24 小时被动计数并识别附近动物,零光污染、无闪光、无视觉干扰。按约 15 美元 BOM 成本和约 50 mW 平均功耗估算,100 节点的监测网格前期投入不足 2 千美元且无持续成本。
ITU-R P.833-9 植被衰减模型
植被衰减按公式 A_v(d) = A_max · (1 − e^(−γd)) · √f 建模,参数在 r10_foliage_attenuation.py 中按三种植被密度参数化(数值校准自 ITU-R P.833-9 表 1 的夏季落叶林数据与仿真研究):
| 植被密度 | A_max | γ |
|---|---|---|
| 稀疏(果园、稀树草原) | 20 dB | 0.10 m⁻¹ |
| 中等(郊区树冠) | 35 dB | 0.20 m⁻¹ |
| 密集(雨林冠层) | 50 dB | 0.35 m⁻¹ |
注意公式中的 √f 频率缩放项:频率越高衰减越大,这正是 5 GHz 在植被场景下迅速失效的根本原因。
ESP32-S3 链路预算
结合自由空间路径损耗(FSPL = 32.45 + 20·log10(f·d),f 以 GHz、d 以 m 计)与 ESP32-S3 的 1×1 SISO 链路预算(数值来自 Espressif 数据手册与标准 WiFi 规范,见 r10_foliage_attenuation.py):
Tx 功率(FCC 最大): +20 dBm
Tx 天线(PCB): +2 dBi
Rx 天线(PCB): +2 dBi
Rx 灵敏度(HT20 MCS0): -97 dBm
─────
总链路预算: 121 dB
为 CSI DSP 预留的 SNR 余量: 10 dB
可用预算: 111 dB
脚本用二分搜索数值求解 FSPL + 植被衰减 = 111 dB 时的距离,实现见 max_sensing_range。
有界感知距离
运行脚本 得到的感知距离矩阵(已固化在 r10_foliage_results.json):
| 频率 | 稀疏 | 中等 | 密集 |
|---|---|---|---|
| 2.4 GHz | 99.6 m | 12.0 m | 4.1 m |
| 5 GHz | 19.9 m | 5.2 m | 2.1 m |
**2.4 GHz × 稀疏植被(约 100 m)**是实际甜蜜点——足以覆盖森林空地的相当一部分、边缘栖息地、稀树草原或作业农田。5 GHz 一旦植被变厚,超过 20 m 基本无用。原文档同时提醒:该 100 m 数值在考虑 R6 的菲涅尔净空(Fresnel clearance)后被修正为约 70 m。
作为对照,典型相机陷阱覆盖约 10 m(PIR 触发范围)。该系统在稀疏条件下空间覆盖为相机陷阱的 10 倍,在中等条件下相当,且具有"常开而非触发驱动"的特性——那些无法触发 PIR 传感器的缓慢移动动物(熊、树懒)也能被观测到。
每物种步态频率分类体系
生物力学文献(Schmitt 2003、Heglund 1988、Gambaryan 1974)给出标准步态频率。wifi-densepose-signal::vital_signs 中已用于人类呼吸/心率的 DSP 带通滤波器可以干净地映射到这些频带:
| 物种 | 步态频率 (Hz) | DSP 滤波器 |
|---|---|---|
| 熊 / 树懒 / 野猪 | 0.5 – 1.5 | 低频带 |
| 人类步行 | 1.2 – 2.5 | 中频带 |
| 麋鹿 / 浣熊 / 狼 | 1.5 – 3.5 | 中频带 |
| 鹿 | 1.8 – 4.5 | 中频带 |
| 狐狸 | 2.0 – 4.5 | 中频带 |
| 松鼠 | 4.0 – 10.0 | 高频带 |
| 小鼠 / 鸣禽 | 5.0 – 15.0 | 高频带 |
脚本中的完整频带数据(含 elk、wolf、raccoon、wild-boar 等共 10 个物种条目)见 gait_frequency_band 与 r10_foliage_results.json。需要强调的是:频带相互重叠,仅靠频率并非干净的分类器——必须结合时间模式(鹿为 4 拍不对称步态、狼为 4 拍对称、熊为 4 拍交替对)与体型包络(大体型 vs 小体型的多普勒频移差异),从 CSI 实现按物种分类才是可行的。
该步态分类体系可直接延伸到 R19 畜牧垂直(牛 0.6-1.2 Hz、猪 1.0-2.0 Hz 等)。
今天就能落地的能力
即使不做物种识别,R10 仍具备三项立即可用的能力(详见 R10 研究笔记):
- 存在性与计数:
cog-person-countv0.0.2 在通用"植被中移动物体"数据集上重训即可工作,无需架构改动。 - 粗略体型分级:多普勒频移幅度与体型质量 × 步态速度相关,利用现有 56×20 CSI 窗口即可实现三分类(小鼠 / 狐狸 / 鹿及以上)。
- 活动节律:24 小时周期内的聚合计数可揭示晨昏性(鹿、狐狸)、夜行性(浣熊)与昼行性(松鼠)种群,即便不识别具体物种也有价值。
诚实的边界:R10 不证明什么
R10 研究笔记明确声明(见 R10-through-foliage-wildlife.md):
- 这是可行性说明,不是实测。仓库内没有任何真实野生动物数据;距离数字来自 ITU-R 模型假设而非现场验证。
- 植被模型是 1-D 简化;真实树冠有叶片抖动噪声、枝条摆动、微气候湿度变化。
- 动物不会配合地沿菲涅尔区直线行走 20 帧窗口,大多数观测将是局部的。
- 监管问题:保护区 100 mW 连续发射可能不被允许,需要低占空比包络(如每分钟 1 秒的采集窗口)。
- 不证明能从 CSI 单独识别特定物种、太阳能+LiPo 能在低光森林环境持续 7×24 采集,也不证明
wifi-densepose-wifiscan的 BSSID 列表方案在零 AP 的偏远森林中能优雅退化——野生动物感知需要专用发射信标而非机会性 AP。
R11:海事感知(穿缝而非穿舱壁)
TL;DR:穿舱壁在物理上不可能
"面向船舶与潜艇的穿舱壁 WiFi 感知"这一浪漫构想,在 WiFi 频段物理上是错误的。2.4 GHz 下钢制舱壁的趋肤深度仅 3.25 µm——1 毫米低碳钢产生 2,674 dB 衰减,超出任何便携设备的链路预算达 10²² 倍量级。再聪明的 DSP 也无法从闭合金属中恢复信号。
真正可行的是穿缝感知(through-seam):利用密封条、通风槽、舱口密封与舷窗垫圈处的衍射泄漏。本线程的价值正在于精确绘制哪些海事场景物理可行、哪些不可行。
钢铁趋肤深度
δ = 1 / √(π·f·μ·σ)
对低碳钢(σ = 1·10⁷ S/m,μ_r = 1),脚本 r11_maritime_propagation.py 计算(结果见 r11_maritime_results.json):
| 频率 | 趋肤深度 | 每毫米衰减 |
|---|---|---|
| 2.4 GHz | 3.25 µm | 2,674 dB/mm |
| 5.0 GHz | 2.25 µm | 3,859 dB/mm |
1 mm 钢板的衰减量(2,674 dB @ 2.4 GHz)意味着完全不可穿透。
海水衰减
对海水(σ = 4.8 S/m,ε_r = 81)采用有损介质模型,衰减系数 α = (ω/c)·|Im(√(ε_r − j·σ/(ω·ε₀)))|(实现见 saltwater_attenuation_db_per_m):
| 频率 | 衰减 |
|---|---|
| 2.4 GHz | 852.8 dB/m |
| 5.0 GHz | 867.7 dB/m |
海水同样高度不透明。头部没入水下 30 cm = 额外 256 dB 损耗 = 完全不可见。潜艇射频通信工作在 VLF(10-30 kHz)正是这个原因;WiFi 频段水下检测毫无希望。
缝隙衍射(那个漏洞)
对于导电体中宽度 w << λ 的窄缝,衍射损耗近似为:
L_slot ≈ 20·log10(λ / 2w) 当 w < λ/2
≈ 0 当 w ≥ λ/2
2.4 GHz 下 λ = 12.5 cm,任何宽于 6.25 cm 的缝隙实际上完全透明。典型舱门密封条间隙为 2-5 mm——衰减显著(约 22-30 dB),但完全在链路预算之内。实现见 seam_diffraction_loss_db,脚本注释诚实标注这是"一阶物理的粗略近似"。
七个复合场景判定
脚本将七个场景的复合路径损耗(FSPL + 金属体 + 缝隙 + 海水)全部算出,链路预算 121 dB、为 DSP 预留 10 dB SNR 余量(结果见 r11_maritime_results.json):
| 场景 | 路径 | 总损耗 | SNR 余量 | 判定 |
|---|---|---|---|---|
| 落水者,水面漂浮 @ 200 m | 空气 | 86 dB | +25 dB | ✅ 可行 |
| 落水者,头部没入水下 30 cm | 空气→水 | 342 dB | -231 dB | ❌ 不可能 |
| 10 mm 闭合钢门后船员生命体征 | 钢体 | 1,049 dB | -938 dB | ❌ 不可能 |
| 舱门 2 mm 缝隙的船员生命体征 | 缝隙 | 80 dB | +31 dB | ✅ 可行 |
| 舱门 5 mm 缝隙的船员生命体征 | 缝隙 | 72 dB | +39 dB | ✅ 可行 |
| 集装箱入侵(30 mm 通风槽) | 缝隙 | 67 dB | +45 dB | ✅ 可行 |
| 穿越潜艇耐压壳(30 mm 钢) | 钢体 | 1,040 dB | -929 dB | ❌ 不可能 |
这组数字是文章的"决定性证据":穿缝场景的 SNR 余量高达 +31 至 +45 dB,而穿钢体场景的余量为 -900 dB 量级。结论一目了然。
R11 支持什么、排除什么
R11 支持:
- 约 200 m 的落水者水面检测
- 穿缝船员生命体征(独岗值守监控)
- 通过 30 mm 通风槽的集装箱篡改检测
- 舱口密封完整性审计(预测性维护)
详细应用场景(来自 R11 研究笔记)还包括:落水者检测通过"信标没入水线 → CSI 签名从'带海态多普勒的水面散射体'翻转为'无信号'"实现,且可用 R10 的步态频带检查做误报抑制;舱室内的穿缝生命体征用于无摄像头、无麦克风的独岗值守监控;货柜外传感器监测 CSI 签名突变以检测内容物移位或开门;已知位置发射机+外部接收机的衰减漂移可用于垫圈退化诊断。
R11 明确排除:
- 穿艇壳潜艇感知(钢体不可穿透)
- WiFi 频段水下感知(海水 853 dB/m)
- 穿水密舱壁进入无泄漏路径的密封舱室
- 任何合理厚度的天线罩穿透(多数天线罩薄到可穿透,但这不是本用例)
重新框定的垂直线路(带告诫)
- 海盗小艇接近检测(10 年):船体上层建筑的空对空链路感知可在雷达盲区低空检测接近的小船,约 100 m @ 2.4 GHz——R10 无植被空气模型的海洋版本。
- 黑暗/烟雾中的船员态势感知(15 年):穿缝生命体征+呼吸模式可告知损管人员舱内人员是否清醒,在烟雾遮挡摄像头时具有真实价值。
- 鲸鱼撞击规避(20 年):水面漂浮哺乳动物可由 CSI 多普勒签名检测,但瓶颈是距离(鲸慢船快,需要 200+ m 检测);R6 菲涅尔包络在 200 m 链路长度下约 3.5 m 宽,足以捕获鲸鱼级目标,对小型哺乳动物则勉强。
与隐私与联邦链的组合
R10 与 R11 均复用三层基础设施(见 08-verticals/README.md):
cog-wildlife或cog-maritime-watch打包(ADR-100):每个 Cog 是自包含可执行文件,部署于/var/lib/cognitum/apps/<cog-id>/,运行时契约统一为run | health | version | manifest四个子命令,manifest 含binary_sha256与 Ed25519binary_signature签名校验。- 跨安装联邦(ADR-107 + ADR-108):采用 Bonawitz 2016 安全聚合 + 跨安装差分隐私组合 + 密码学嵌入空间隔离,五层防御保证聚合器只见求和、模型泄露也无法跨安装关联。
- 每安装嵌入空间(R3 + R14 隐私框架):禁止跨安装嵌入链接。
R10/R11 在隐私上有一个重要差异:对野生动物而言隐私框架基本无意义(动物无法同意);而对海事场景,船员同意框架适用——这与 R14 共情电器的隐私框架可直接迁移。
与相邻研究线路的关系
- R6(菲涅尔前向模型):穿缝泄漏的每子载波签名是开放空气签名的带通版本,受缝隙频响扭曲;R10 的 100 m 感知距离经 R6 菲涅尔净空修正为约 70 m。
- R1(CRLB):小型船舶上层建筑的 4 锚点多基地配置(10 m 驾驶室四角)可达约 30 cm ToA 定位精度。
- R7(mincut 对抗检测):海事场景必需——单链路欺骗容易(码头上的干扰机),4 个上层建筑传感器的多链路一致性是唯一加固手段。
- R12(本征漂移):船舶上结构检测更难,因为自然漂移底数包含船体运动与引擎振动;PABS 在菲涅尔+振动基上的实现是海事版本。
- R5(显著性):穿缝缝隙是频率选择性滤波器,穿缝的显著性分布不同于开放空气,是新的实验机会。
- R19(畜牧):R10 步态分类法直接扩展到牲畜(牛 0.6-1.2 Hz、猪 1.0-2.0 Hz)。
可复现运行方式
两个脚本均为纯 NumPy 实现,无绘图库依赖,直接运行即可在终端打印结果表并写出 JSON:
# R10:穿叶衰减曲线 + 感知距离矩阵 + 物种步态频带
python examples/research-sota/08-verticals/r10_foliage_attenuation.py --out /tmp/r10_results.json
# R11:材料特性 + 七个海事复合场景
python examples/research-sota/08-verticals/r11_maritime_propagation.py --out /tmp/r11_results.json
脚本默认输出路径在各自 main() 的 argparse 默认值中声明;仓库已固化的权威结果文件为 r10_foliage_results.json 与 r11_maritime_results.json,可直接用于对照复现。两个脚本的 --out 参数支持任意目标路径(脚本内部会自动创建父目录)。
结语:物理先行的方法论
R10 与 R11 共同体现了 RuView 研究体系的核心方法论:在承诺任何能力之前,先用可复现的物理模型划定可行边界。R10 用 ITU-R P.833-9 植被衰减 + 链路预算推导出"2.4 GHz 稀疏植被约 100 m(考虑菲涅尔净空后约 70 m)"的诚实范围;R11 用趋肤深度、海水损耗与缝隙衍射三组公式推翻了"穿舱壁"的浪漫叙事,同时为"穿缝"场景保留了 +31 至 +45 dB 的宽裕 SNR 余量。两者的代码(纯 NumPy、数十行、输出结构化 JSON)都是可审计、可复现的——这为后续的现场验证(相机+ESP32 双采集、穿缝频响测量)提供了明确的实验设计前提。对于任何评估"WiFi 感知还能做什么"的工程师,这份文档与其脚本是判断"物理上站得住"与"仅停留在愿景"的分界线。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0631
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown00
video-shotcraftAI宣传片skill,使用 Remotion 制作电影级产品视频:提供106 张镜头配方卡和可复用的视频魔板。适用于 Claude Code 与 Codex以及所有其他智能体Markdown00
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python09
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00