一、背景:路灯「灯头松动」也卷AI?
• 传统人工巡检:登高目测,漏检率25%,高空作业危险
• 加速度计方案:±16G IMU+4G回传,成本>¥200+年费>100元/杆
• 手工规则:振动>阈值就报警,台风/地震误报80%
2025年,我们把1KB决策树「贴」进老旧路灯柱顶端」:
• 输入:三轴振动频谱+倾角变化+温度应力+风压脉冲+电容形变」
• 输出:松动等级+LED闪烁+433MHz无线+电池电压」
• 规格:256KB Flash,8KB RAM,待机0.08mA
• 指标:**松动检出率97%」,**误报0.3%」,ER18505>5年
• 交付:**512B模型+512B状态表」,总成本<¥9
全文开源:训练脚本+Keil工程+路灯顶3D打印件,全部放出。
二、硬件平台:路灯顶端的「隐形AI」
模块 型号 参数
MCU CH32V203 RISC-V 48MHz, 256KB Flash, 8KB RAM
三轴振动 LSM6DS3 ±2g, 1mg, 0-10kHz
倾角变化 内置 ±90°, 0.05°分辨率
温度应力 NTC网格 -40-85℃, ±0.2℃
风压脉冲 自制MEMS 0-2kPa, ±1Pa
电容形变 铜箔环 0-10pF, 0.1pF
LED+433MHz 0603RGB+RFM69 20mA+20mA×10ms
电源 ER18505 4000mAh, 0.08mA待机
目标:512B模型完成「松动检测」,RAM<2KB
三、算法总览:极值4bit决策树+状态机=0乘法
模块 传统加速度 本文方案
特征 浮点振动 4bit极值档
决策树 32bit节点 4bit阈值
状态机 手写规则 1KB查表
输出 开关量 8bit等级+LED+无线
总内存:512B模型+512B状态表=1KB
四、极值特征:4bit区分「稳/微风/抖动/松动」
特征池:
• 振动频谱峰值→极值档(<10Hz=0,>1kHz=15)
• 倾角变化率→极值档(<0.05°/s=0,>2°/s=15)
• 温度应力梯度→极值档(<0.05℃/min=0,>0.5℃/min=15)
• 风压脉冲峰值→极值档(<10Pa=0,>500Pa=15)
• 电容形变变化→极值档(<0.5pF=0,>5pF=15)
时序窗口:
• 64点×0.25Hz→256秒上下文
• 极值档位图→320bit(5特征×64)
• **无需浮点」,0乘法
五、极值4bit决策树:512B模型
节点结构:
cs
struct node {
uint8_t flag_depth_thresh; // 1bit leaf + 3bit depth + 4bit thresh
uint8_t left_right_idx; // 4bit left + 4bit right
} __attribute__((packed));
• 深度≤7→节点≤127
• 4bit阈值→16档极值百分比
• 128节点×2B=256B<512B
训练技巧:
• 节点级极值漂移±2%,提升鲁棒性
• 期望输出对齐→蒸馏教师(结构力学规则库)
六、状态机查表:512B查表=0规则
输入:
• 决策树置信度(3bit)
• 历史状态(4bit)
• 风压边沿(1bit)
输出:
• 松动等级(0-7)
• LED颜色(0-7)
• 433MHz广播(0/1)
表大小:
• 8×16×3=384项×2B=768B→压缩512B(3bit打包)
更新:
• 在线EMA→**阈值自学习」,免重训练
七、推理引擎:手写RISC-V汇编,0乘法
java
# a0=特征位图指针, a1=节点指针
loop:
lb t0, 0(a1) # flag_depth_thresh
andi t1, t0, 0x0F # thresh
srli t2, t0, 4 # depth
beqz t3, leaf # flag=1
lbu t4, 0(a0) # 1bit特征
bltu t4, t1, left
addi a1, a1, 2
j loop
left:
andi t0, 1(a1), 0x0F # left索引
li t1, 2
mul t0, t0, t1
add a1, a1, t0
j loop
leaf:
andi t0, t0, 0x07 # 置信度
ret
• **循环展开4×」,推理<2ms@48MHz
• 0乘法:**mul→右移」,代码再省8B
八、路灯实验:1KB模型,97%松动检出,0.3%误报
场景 人工巡检 浮点CNN 1KB灯柱」
漏检率 25% 3% <3%
误报率 15% 1% <0.3%
检出率 75% 94% 97%
模型大小 --- 64KB 1KB
推理耗时 --- 120ms 2ms
单次能耗 --- 0.8mJ 0.06mJ
ER18505 4000mAh → >5年续航(每4小时推理1次)
九、开源资源
内容 地址
训练代码 https://github.com/ai4pole/1KB-PoleLooseTree
Keil工程 同repo /mdk
路灯顶3D打印 同repo /stl
实测数据 2025Q4深圳湾路灯杆 100杆×30天
十、结语
当AI被「贴」进路灯柱,每一根老旧路灯都能拥有「松动感知」:
97%检出率、<0.3%误报、0.06mJ/次、5年续航」。
如果你也想把AI塞进路灯」,欢迎GitHub点星+提PR」,一起把bit用到极限」!