3

物联网浏览器(IoTBrowser)-使用深度学习开发防浸水远程报警 - 木子清

 1 month ago
source link: https://www.cnblogs.com/yizhuqing/p/18149561
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

新房子买在2楼,反水概率较大,加上无良开发商的劣质材料,就我所在楼栋已经发生几起反水事件,而且是高层反水,有几户重复出现反水,原因是管道中间有一个钢筋 :(

107331-20240421214707191-2098162522.png
107331-20240421214708213-2022641697.png
107331-20240421214707640-763484612.png

二、解决方案

1.水浸传感器+Wifi模块(ESP8266)

107331-20240421214708736-470218172.png
    1. 优点:局域网内实时高报警效率快、成本相对低、声光报警
    2. 缺点:需要ESP8266二次开发,搭建开发环境比较麻烦

2.水浸报警器成品套件

107331-20240421214709120-1404017824.png
    1. 优点:提供http接口,二次开发成本低。
    2. 缺点:实时性差需要不断轮询接口、成本高WiFi版要200以上、无声光报警。

3.水浸传感器+萤石云摄像头+边缘计算

107331-20240421214709018-1621488230.png
    1. 优点:保留方案1的优势,另外通过采集报警声音识别,实现远程预警。
    2. 缺点:增加摄像头和边缘计算盒子,成本较高。

三、最终选型

最开始准备采用方案二,后面考虑到成本有点小贵,因为有2个卫生间,需要买2套。最后采用方案三,因为摄像头是开发商配置的,边缘计算盒子很早之前就买回来做测试和开发用。总体实现步骤,先预先训练好报警声波图,后期定时监测摄像头音频进行比对,如果发现声波异常就发送预警通知,之前早就有模拟发送微信自动化脚本。下面就是具体实现细节:

1.采集摄像头音频

使用ffmpeg命令提取摄像头音频文件

107331-20240421214708628-635444493.png

2.生成梅尔音谱图

这里花了一点时间,一开始准备直接采用梅尔特征值进行深度学习,后面找了不少资料都是将指标生成图,然后使用深度学习进行图像分类。

先用NWaves实现梅尔指标算法,然后用NPlot进行画图。

107331-20240421214707692-1881210378.png

生成之后效果

3.机器学习训练音谱图

这里使用ML.NET进行图像分类模型训练。

107331-20240421214707006-532440123.png

4.模型测试

107331-20240421214708107-1710723653.png
报警声谱图
107331-20240421214707018-271404000.png
非报警声谱图

整体测试效果还行,但是效率有点低,后面可能还是使用ONNX模型。

5.正式部署模型

107331-20240421214708812-1939853683.png

采集摄像头和音频生成图片已经完成,推理模型还要再优化,下一步准备整合到智能家居平台。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK