一个利用边缘AI实现山火警报的实际案例

一个利用边缘AI实现山火警报的实际案例
文章图片
编译自EdgeImpulse
早期发现对于控制山火蔓延至关重要 。 然而 , 大多数检测系统依赖于卫星和光学热监测 , 通常在点着火后一到三个小时产生警报 。 在森林中部署无线传感器节点是对抗山火的最常用解决方案之一 。 但是由于现有设备的功耗 , 限制了现场部署 。 此外 , 到目前为止 , 这些传感器节点只是一个数据收集的设备 , 在远离数据生成点的服务器上盲目地收集数据并将数据发送到运行在服务器上的检测算法 , 这会显著增加能耗和响应时间 。
边缘机器学习则解决了这一瓶颈 。 将计算后的节点数据上传到云端 , 可显著提升电池寿命和系统响应时间 。 嵌入式爱好者PratyushMallick开发了一个集成机器学习的山火检测方案 。
一个利用边缘AI实现山火警报的实际案例
文章图片
该系统包括一个来自ADI的EV-COG-4050LZ主控制板——一个具有板载电源管理和浮点单元的低功耗ArmCortex-M4F微控制器 。 通过Bosch的BME688完成环境参数的检测 。 它是由气体、气压、湿度和温度传感器组成的单一封装 , 专为低功耗的移动应用而设计的 。 它取代了四个独立传感器 , 并将功耗保持在12mA以下 。
辨别野火只是解决方案的一个方面 。 它还必须在检测到事件时发送警告 。 低功耗网状网络可以实现这一目标 。 选择了XBee-2SC模块 , 传输数据时消耗小于40mA , 以及SparkFunNanoPowerTimer(TPL5110)和Xidas能量收集教育/开发套件(EH-EDU-1) 。 PowerTimer是一个超低功耗设备 , 可按设定的时间间隔打开或关闭主微控制器 。 该开发套件包含一个混合RHB-1530电池、电源管理电路以及太阳能电池板的充放电系统 , 可为整个系统供电 。
NanoPowerTimer定期唤醒微控制器 。 控制器唤醒后 , 从周围环境中收集环境数据并执行边缘ML模型 。 该模型预测发生野火的可能性 , 如果检测到 , RF模块将被触发并将数据发送到网关节点 。 否则 , 该装置会将自身重新置于睡眠模式 , 在该模式下 , 整个系统消耗35nA电流 。
该软件基于Arm的mbedOS , 可轻松将代码移植到不同的MCU 。 对于模型训练和部署 , 使用了EdgeImpulse 。 其具有简化但功能强大的模型构建过程的优势 , 同时支持mbed模式的开发板 。
数据的收集是分析的关键参数 。 这里的一个区别是 , EdgeImpulse支持通过其数据转发器或直接上传带时间戳的.csv文件 , 甚至支持来自第三方板卡的数据记录 。 由于EV-COG-4050LZ板带有microSD插槽 , 因此数据首先被收集到SD卡上 , 然后上传到EdgeImpulse门户 。 使用不同类型的木材和可燃有机物收集两大类的数据:
一个利用边缘AI实现山火警报的实际案例】正常:森林呈现正常的温度、湿度和空气质量 。
明火:完全成熟的野火 , 湿度低 , 温度高 , 含有大量挥发性有机化合物(VOC) 。
累积数据后 , EdgeImpulse的整个处理工具是无缝的 。 该工具简化了GUI , 用于设置管道的不同块 , 例如预处理或学习块 , 并支持调整各个块的参数 , 有助于找到最佳的参数架构 。 特征浏览器有助于可视化不同类之间的重叠区域 , 并使用户能够相应地配置特征参数 。
一个利用边缘AI实现山火警报的实际案例
文章图片
对于嵌入式工程师来说 , 算法和模型选择的一个关键参数是推理所需的内存使用和计算时间 。 EdgeImpulse在模型的每个步骤中提供详细的内存占有量和时间 , 并让开发人员在构建模型时做出决策 。
一个利用边缘AI实现山火警报的实际案例