树风树线WIND · TREE · LINE LAB
青少年科技创新 · 城市树木安全监测

台风来临前,
先看清树枝离电线还有多远

风树线把“照片中的静态距离”和“受风摆动时的动态距离”放进同一套研究框架:照片智能分析负责快速筛查,4×MPU6050树模与3D仿真负责连续观察摆动。二者是独立入口、互补证据,共同服务于树线风险预判。

已验证:照片分析流程可运行已实现:四通道连续采集与3D同步待标定:风力估算准确性
ONE QUESTION · TWO INDEPENDENT PATHS
01照片目标检测树木 / 电线杆定位
02骨架与间隙像素测量 → 毫米标定
03连续姿态采集主干 + 三枝干
043D动态评估摆角 · 距离 · 风载量级

本项目是研究与演示原型,结果用于辅助比较和风险提示,不替代电力巡检、专业测绘与安全鉴定。

01 / PROBLEM & RESPONSE

把笼统的“树木可能碰线”,拆成可测量的问题

现实现象强风会放大树线冲突

枝条生长、树体摆动和线路位置共同决定接触风险;只看静态照片,无法反映风中距离变化。

测量困难真实场景尺度和运动难同时获得

单张照片缺少连续运动,单个姿态传感器又无法直接给出树枝与电线的空间关系。

项目回应静态筛查 + 动态实测

先用照片估算间隙、预测生长和模拟剪枝,再用四传感器树模观察不同枝干相对主干的持续摆动。

02 / INNOVATION

不是单一识别模型,而是一条可交互的证据链

测量闭环

从“看见”走到“量出”

照片功能不止框出目标,还继续完成树冠分割、骨架提取、枝尖识别、树线最小间隙和比例尺换算。

实体映射

四传感器对应四根胶棒

CH0固定为主干;CH1~CH3通过拨动识别,让用户确认现实枝干与网页枝干的对应关系,避免接线顺序被写死。

浏览器实验台

数据留在本机

照片推理、视觉计算、Web Serial采集、Three.js渲染和CSV导出均在桌面浏览器内完成。

03 / TWO FUNCTIONS

同一个网站中的两个独立功能

照片智能分析不需要传感器,适合快速筛查;3D风载实测不需要上传照片,适合连接实体树模做连续实验。在线分析台提供两个入口,用户可单独使用,也可将结论互相参照。

FUNCTION 01

照片智能分析

输入一张树木与电线场景照片,输出检测叠图、最小间隙、风险等级、枝段结构、生长趋势和剪枝前后对比。

进入照片智能分析
FUNCTION 02

3D风载实测仿真

输入四路MPU6050连续姿态,输出3D树模同步摆动、枝端动态距离、等效风力、估算风速、蒲福等级和CSV记录。

进入3D风载仿真
CHAPTER 02 / SYSTEM DOCUMENTATION

2.1 流程图

采用标准流程图符号呈现两个独立功能:圆角框表示开始或结束,矩形表示处理步骤,菱形表示条件判断,“否”分支返回相应步骤继续等待或重试。

功能一

照片智能分析流程

开始
↓
加载AI模型、OpenCV
并初始化本地运行环境
↓
用户选择树木与电线场景照片
↓
照片与模型
是否就绪?
是否返回加载或重新选图 ↺
↓
YOLO目标检测
树木分割与电线提取
↓
树与电线
是否有效?
是否提示调整照片后重试 ↺
↓
骨架、枝尖、比例尺
与最小间隙计算
↓
生长趋势和剪枝模拟
输出风险结果
↓
结束
功能二

3D风载实测流程

开始
↓
启动STM32、PCA9548A
和4块MPU6050
↓
四通道传感器
是否有效?
是否通道恢复并重新检测 ↺
↓
互补滤波并持续发送A2数据帧
↓
浏览器零点校准、拨动识别
和通道方向修正
↓
数据是否持续
有效更新?
是否等待新帧或重新连接 ↺
↓
连续更新3D姿态、动态间隙
风载量级与CSV记录
↓
是否结束
本次实验?
是否继续接收下一帧 ↺
↓
结束
CHAPTER 02 / SOFTWARE FOUNDATION

2.2 软件基础设置信息

设置项当前值说明
网页技术HTML5、CSS3、原生JavaScript使用ES Modules组织照片分析与3D模块
构建工具Vite 8.1.5构建项目介绍页和在线分析台两个界面
检测模型YOLOv8n ONNX当前类别为树木和电线杆
模型输入尺寸640 × 640推理前进行等比例缩放和填充
检测置信度0.30项目当前配置值
NMS IOU0.45用于抑制重复目标框
推理引擎ONNX Runtime Web 1.19.2WebGPU优先,WASM回退,资源由网站自托管
图像处理OpenCV.js 4.10 / WebAssembly用于分割、形态学处理和线段检测
3D渲染Three.js根据四路相对姿态持续重建树模运动
串口接口Web Serial API桌面Chrome/Edge在HTTPS环境中授权使用
数据与隐私浏览器本地处理照片和传感器数据默认不上传服务器
CHAPTER 02 / SYSTEM SETTINGS

2.3 软件系统设置

设置分类设置项当前值作用与边界
照片分析最大工作分辨率2200像素避免大照片造成浏览器内存压力
电线杆参照高度140 mm当前微缩场景的像素—毫米标定参数
风险阈值0 / 15 / 30 px触线、危险、警告的项目规则;毫米值随标定换算
生长步数5步用于演示趋势,不代表长期实测预测
运行库超时60 000 ms加载失败后显示错误并允许重试
传感器与3D串口格式115200-8-N-1CH340和HC-05使用相同格式
A2协议结构A2,seq,validMask,ch0Pitch,ch0Roll,...,ch3Pitch,ch3Roll包含帧序号、四通道有效位与各通道俯仰/横滚角
姿态滤波互补滤波 α=0.96融合加速度倾角与陀螺仪积分
零点校准20个完整有效帧求平均并消除传感器安装初始姿态
数据超时700 ms超时即标记数据过时,避免旧结果冒充实时值
模型尺寸主干170 mm;枝干115 / 85 / 85 mm对应当前实物树模,并允许界面调整
通道映射CH0主干;CH1~CH3拨动识别用户确认现实枝干与传感器通道关系
资源路径AI / 视觉运行库/models/tree.onnx
/vendor/opencv/opencv.js
静态资源由网站自托管
3D运行库/vendor/three/three.module.js由在线分析台按需加载

系统设置来自当前网页与STM32实现。可调参数用于匹配实体模型;风力相关参数在完成真机标定前仍属于量级估算。

CHAPTER 02 / SOFTWARE DESIGN

2.4 软件设计

功能模块/文件设计职责输入与输出
照片智能分析analyze.js任务调度、状态管理和结果呈现照片 → 完整分析结果
yolo.js加载ONNX模型并执行树木/电线杆检测图像张量 → 目标框
vision.js树木分割、电线检测、比例尺和间隙测量目标框/图像 → 树线间隙
skeleton.js骨架细化并建立枝段、枝尖和分叉关系树木掩膜 → 骨架图
growth.js按加权方向进行五步启发式外推枝尖/方向 → 生长路径
prune.js处理划线或圈选剪枝并重新计算指标剪枝操作 → 前后风险对比
3D风载实测main.c四通道轮询、互补滤波、故障恢复和A2输出六轴原始量 → A2姿态帧
MPU6050.c配置量程并读取加速度与角速度I²C寄存器 → 传感器数据
tca9548a.c选择复用器通道,隔离四个相同地址设备通道号 → 独立I²C链路
serial.js授权端口、累积字符流并按行持续解析串口字符 → 完整数据行
sensor_runtime.js检查有效位、通道映射和相对主干姿态A2帧 → 可用枝干姿态
wind3d.js管理3D场景、实时指标、参数和CSV记录相对姿态 → 3D/间隙/风载
tree_visual.js生成树干、树枝、树叶和树冠视觉层传感器骨架 → 树木外观
CHAPTER 02 / HARDWARE PROTOTYPE

2.5 硬件照片与组成

由一根胶棒主干、三根胶棒枝干、四个MPU6050和STM32控制板组成的实物树模
项目真实硬件原型:透明胶棒模拟主干和三根枝干,四块MPU6050分别采集姿态。
硬件数量/规格功能与安装位置
STM32F103C8T61块,72 MHz负责四路采集、互补滤波、协议封装和UART输出
PCA9548A / TCA9548A1块,8路I²C复用隔离四块地址相同的MPU6050
MPU60504块CH0安装在主干;其余三块安装在三根枝干端部
胶棒主干170 mm模拟树木主干,作为枝干相对姿态参考
胶棒枝干115 / 85 / 85 mm三根枝干的通道由拨动识别后人工确认
CH340 / HC-05有线 / 蓝牙SPP把相同的115200波特率A2数据帧传入浏览器

尺寸:主干 170 mm;三根枝干分别为 115 mm、85 mm、85 mm。通道:CH0 固定为主干;CH1 到 CH3 通过拨动识别后由用户确认。硬件照片只用于项目介绍,3D模型与运动逻辑未修改。

FUNCTION 01 / PHOTO ANALYSIS

照片智能分析

这是一条完全在浏览器本地运行的视觉测量链。它先定位树木和电线杆,再从像素结构中提取树枝、电线和最小间隙,最后提供生长与剪枝的交互式比较。

主流程已跑通复杂背景仍需更多样本验证
PHOTO WORKFLOW

照片智能分析流程

  1. 01选择照片读取本地图片,不上传服务器
  2. 02目标检测YOLOv8n定位树与电线杆
  3. 03树木分割结合检测框与颜色特征提取树体
  4. 04骨架细化识别枝段、枝尖与分叉结构
  5. 05电线检测形态学增强并拟合暗色细线
  6. 06尺度标定用参考杆高度完成像素到毫米换算
  7. 07风险计算寻找枝尖到电线的最小间隙
  8. 08生长与剪枝外推趋势并重算剪枝后的指标
FUNCTION 02 / 3D WIND SIMULATION

3D风载实测仿真

实体模型由一根主干、三根枝干和四块MPU6050组成。STM32持续采集姿态,网页按通道映射驱动3D树模,实时更新枝端与电线的距离,并给出风载量级估算。

连续数据与3D同步已实现力学参数待实物标定
SENSOR WORKFLOW

3D风载实测流程

  1. 01硬件初始化启动STM32、I²C、串口和复用器
  2. 02四通道采集循环读取CH0~CH3六轴数据
  3. 03姿态滤波融合加速度倾角与陀螺仪积分
  4. 04协议封装生成带序号和有效位的A2帧
  5. 05持续串口解析网页逐行读取、校验掉帧与超时
  6. 06校准与映射零点校准、拨动识别和方向修正
  7. 073D同步以相对主干角度平滑驱动树模
  8. 08评估与记录持续更新间隙、风载与CSV记录
08 / SCIENCE & MEASUREMENT

科学原理:测距离与摆角,不直接“测台风”

01

目标检测与视觉测量

YOLOv8n负责定位树木与电线杆;HSV颜色分割、Zhang-Suen骨架细化、黑帽形态学和概率霍夫变换继续提取枝条与细电线,以参考杆高度完成像素到毫米标定。

已实现
02

生长趋势与剪枝重算

生长方向按“0.4·向上 + 0.3·远离重心 + 0.3·原枝方向”逐段外推;剪枝后在剩余骨架上重算重心、枝尖和最小距离。这是交互式启发模型,不是长期生长预测。

启发式
03

MPU6050互补滤波

加速度计提供长期倾角参考,陀螺仪提供短时平滑变化。α=0.96时,96%来自陀螺仪积分,4%来自加速度倾角校正;3D姿态主要使用pitch与roll。

已实现
04

相对姿态与悬臂梁近似

枝干姿态先减去主干姿态,避免整棵树整体倾斜被重复计算;再把胶棒近似为等截面悬臂梁,由摆角反推端部等效力并换算风速量级。

待标定
CORE EQUATIONS

姿态融合与风载换算

端部集中力下,悬臂梁端转角满足 θ = FL²/2EI,所以 F = 2EIθ/L²。由迎风面积A得到风压,再按空气密度ρ换算风速。E、直径、胶棒根数和面积都可在分析台调整,当前结果只表示量级。

angle = 0.96 × (angle + gyro·dt) + 0.04 × accel
F = 2·E·I·θ / L²
v = √(2F / ρ·A)
OPEN REFERENCES

算法、器件与标准来源

  1. Ultralytics YOLO 文档(目标检测框架)
  2. Zhang & Suen 细化算法论文(骨架提取)
  3. NOAA Beaufort Wind Scale(蒲福风级)
  4. TDK InvenSense MPU-6050资料
  5. MDN Web Serial API
09 / SOFTWARE & HARDWARE

从传感器到浏览器的系统实现

照片输入浏览器视觉链ONNX Runtime Web · Canvas · OpenCV算法
→
实体输入STM32采集链MPU6050 ×4 · PCA9548A · 互补滤波
→
统一呈现在线分析台风险指标 · Three.js · CSV
层级当前设置作用
固件平台C、STM32 HAL、Keil MDK采集、滤波、故障恢复和UART输出
控制器STM32F103C8T6,72 MHz轮询四路传感器并封装连续数据
传感器总线I²C + PCA9548A/TCA9548A解决四块MPU6050地址相同的问题
串口链路115200-8-N-1;CH340或HC-05有线和蓝牙使用相同A2数据格式
网页环境JavaScript ES Modules、Three.js、Web Serial本地解析、持续渲染、交互和导出
浏览器要求桌面Chrome/Edge、HTTPSWeb Serial需要安全上下文与用户授权
零点校准20个完整有效帧求平均消除传感器安装初始姿态
超时判断700 ms未收到新帧时标记数据过时,避免旧结果伪装实时
会话记录最高20 Hz写入内存导出姿态、间隙、风载和等级CSV

隐私与数据:照片、串口数据和实验记录默认只在浏览器当前会话中处理;网站不建立云端历史库。

10 / VALIDATION STATUS

明确区分“已运行”“已实现”和“已证明”

已验证照片分析交互流程

上传、检测、骨架、间隙、生长预测和剪枝重算已在网页端跑通;仍需扩大真实场景样本。

已实现四通道实时链路

A2帧、有效位、掉帧统计、超时判断、通道识别、相对姿态和3D连续更新均已实现。

待实验风力与距离准确性

需要用量角器、固定间距标尺和可重复风源,对角度、距离和风速估算分别标定并记录误差。

角度验证

将各胶棒固定在已知角度,比较量角器读数、串口姿态和3D显示。

距离验证

设置多组已知枝线间距,比较实物标尺与网页最小距离。

重复性验证

同一动作重复多次,统计峰值、稳态值和回零偏差。

风载标定

用可控风源和参考风速仪修正弹性模量、迎风面积等参数。

11 / LIMITATIONS & NEXT

当前边界与下一步

当前边界

  • 照片尺度受拍摄透视、遮挡和参考物误差影响
  • MPU6050没有磁力计,yaw长期积分会漂移
  • 胶棒被简化为悬臂梁,无法代表所有真实树种
  • 风险分级是研究提示,不是电力安全规范判定

下一步实验

  • 建立带真实距离标注的照片测试集
  • 完成四通道角度、动态距离与丢帧测试
  • 用参考风速仪标定风载参数并报告误差范围
  • 记录不同枝长、安装高度和风向下的对比结果