本发明涉及水流速检测,具体地,涉及一种基于多从簇边缘设备和机器视觉的水流速检测系统及方法。
背景技术:
1、山洪泥石流等灾害主要发生在偏远山区,环境复杂、道路不通,且灾害多发生在夜间,给水位、流量等监测预警设备的运行及维护带来了较大挑战。针对这种复杂环境,采用了一种多从簇边缘设备来实现水流速监测预警。一方面多从簇上每个簇上都有npu对ai推理加速,做到低成本高效能,另一方面能保障对于水流速的监测预警在野外复杂环境下稳定持续、不间断的运行。
2、传统的水流速检测系统更多的是检测设备配合流体力学的方法,测量静止的、恒定流速的河流或湖泊中流速,具有精度不高、受水流影响大等缺点。也有些方案会采用摄像头采集视频数据,gpu服务器处理光流分析跟踪检测的整体设计。这种方案在一定程度上确实能够在一定程度上实现水流速监控,但存在光流图像系统运算量庞大、系统成本偏高、算法精度不高、没有计算资源的分配等问题。
3、针对上述问题,本系统在算法上采用深度学习光流测速让流速的估计更加准确,在硬件上多簇对应多npu加速算法推理,即能多个npu共同执行一个算法,也能接入多个前端设备同时运行多个水流速算法,并后台系统上做了动态丢帧,缓冲队列等优化,为水利领域的水流速检测提供了一种新型的系统方案。
4、专利文献cn115272422a公开了一种基于视频监控的排污口水流速度检测方法及装置,其中,该方法包括:获取待检测的视频帧中的包含排污口的目标图像;根据光流法,计算目标图像中的像素的光流速度值;根据目标图像中的像素的光流速度值计算排污口的光流速度值;根据排污口的光流速度值判断排污口是否为排水状态;当排污口处于排水状态时,根据像素的光流速度值计算排污口的水流方向,根据排污口的光流速度值确定排污口的水流速度值。
5、但是专利文献cn115272422a没有采用多从簇边缘设备一体化方案及计算资源动态切换,也没有实现光流测速的异常点丢帧等提高精度的步骤。
6、专利文献cn107727157a公开了一种通过视频算法的水流量监测系统,包括检测模块、视频监控模块、gps定位模块、存储模块、报警模块和系统控制平台,所述检测模块、视频监控模块、gps定位模块、存储模块和报警模块分别与系统控制平台相连接,所述检测模块包括水位检测单元和流速检测单元,所述存储模块包括预警线存储模块和历史记录存储单元,所述报警模块包括警报启动单元、时间记录单元和警报输出单元,所述系统控制平台包括水流量计算单元、判断单元、绘制单元、对比单元、显示单元和水位坐标控制单元。
7、但是专利文献cn107727157a精度不能得到有效保障,其计算资源部署于云端,不灵活,成本高且效率低。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种基于多从簇边缘设备和机器视觉的水流速检测系统及方法。
2、根据本发明提供的一种基于多从簇边缘设备和机器视觉的水流速检测系统,包括:后台服务模块、功能模块和边缘设备算法模块;
3、所述后台服务模块实时采集水流速视频流发送至所述边缘设备算法模块进行前后处理、任务调度、资源分配,所述功能模块与所述边缘设备算法模块进行通信获取算法推理结果和相关水流数据进行渲染。
4、优选地,所述功能模块为web端负责监察水流速视频流和当前流速信息,并发送和接收边缘设备算法模块的数据。
5、优选地,所述边缘设备算法模块负责算法的前处理、算法推理和算法后处理;
6、所述前处理包括将水流视频单帧图像转为光流图,并将所述光流图的图像写入边缘设备的硬件内存;
7、所述后处理包括对边缘设备算法模块中推理模型输出的水流速度进行渲染。
8、优选地,所述后台服务模块负责处理前端摄像头生成的水流速视频流,以及处理web端的各种请求;
9、所述请求包括任务分发、水流速度预警、历史流速数据。
10、优选地,所述功能模块对于边缘设备算法模块得到的算法推理后的流速数据重新渲染到web页面,并提供的方式包括ffmpeg软编码和base64格式图片。
11、根据本发明提供的一种基于多从簇边缘设备和机器视觉的水流速检测方法,采用所述的基于多从簇边缘设备和机器视觉的水流速检测系统,检测方法包括:
12、步骤s1:将推理模型转化及量化,加载推理模型;
13、步骤s2:获取水流速视频流,并对所述水流速视频流进行预处理;
14、步骤s3:通过转化及量化后的推理模型,对预处理后的水流速视频流数据进行水流速检测。
15、优选地,所述预处理包括将所述水流速视频流进行单帧图像格式转换,并相邻两帧图像转为光流图,输入至缓冲队列加载到所述推理模型的内存中。
16、优选地,加载到所述推理模型的内存还包括根据程序入口的参数类型和数量,进行多簇单视频流算法和每个簇独立视频流算法之间的动态切换;
17、后台调度中心和业务部署在当前多从簇设备的主簇上,用于分发任务和资源调度;根据程序入口参数中rtspnum的数量判断接受水流视频rtsp流的数量,若数量为1,则充分利用所有的从簇,将视频帧缓冲队列的视频帧轮询分发到各个从簇,是的多npu并行运行一个水流速视频;若数量大于1,则用从簇数量除以rtspnum得到变量cnt,每一路水流速视频都由cnt个npu并行运行。
18、优选地,还包括对水流视频进行推理得到的数据进行校准和稳定步骤;
19、所述校准和稳定步骤包括在循环缓冲队列中,查询异常点,并将异常点对应的当前帧从当前缓冲队列中弹出;
20、所述异常点为当前帧推理的流速超过了所述缓冲队列存储的水流速的上限和下限的帧。
21、优选地,还包括使用httplib框架监听和处理web端的各种请求,同时开放扩展接口,跟换模型文件。
22、与现有技术相比,本发明具有如下的有益效果:
23、1、本发明实现了npu资源的充分利用,能够动态切换多簇并行运行单个水流测速算法,或者多个算法分别运行在每个簇上,节约了带宽和计算资源,并提高了检测的精度,
24、2、本发明利用阈值限定等丢帧策略和缓冲队列等待稳定了水流速度,提高了水流速度预测结果的准确度。
25、3、本发明优化了内存频繁消耗、算法推理速度跟不上服务请求速度等问题,减少了资源消耗,提升了业务的流畅性。
26、4、本发明扩展了开放接口,便于接入其他的系统模块,实现了集水流速预测,告警、历史查询等于一体的系统。
27、5、本发明通过从簇资源的分配调度,编写了硬件加速模块,缓解了边缘计算的压力,提高了推理结果的流程度,同时算法层面上深度学习的光流模型也能有更高的精度。
1.一种基于多从簇边缘设备和机器视觉的水流速检测系统,其特征在于,包括:后台服务模块、功能模块和边缘设备算法模块;
2.根据权利要求1所述的基于多从簇边缘设备和机器视觉的水流速检测系统,其特征在于,所述功能模块为web端负责监察水流速视频流和当前流速信息,并发送和接收边缘设备算法模块的数据。
3.根据权利要求1所述的基于多从簇边缘设备和机器视觉的水流速检测系统,其特征在于,所述边缘设备算法模块负责算法的前处理、算法推理和算法后处理;
4.根据权利要求1所述的基于多从簇边缘设备和机器视觉的水流速检测系统,其特征在于,所述后台服务模块负责处理前端摄像头生成的水流速视频流,以及处理web端的各种请求;
5.根据权利要求2所述的基于多从簇边缘设备和机器视觉的水流速检测系统,其特征在于,所述功能模块对于边缘设备算法模块得到的算法推理后的流速数据重新渲染到web页面,并提供的方式包括ffmpeg软编码和base64格式图片。
6.一种基于多从簇边缘设备和机器视觉的水流速检测方法,其特征在于,采用权利要求1至5任一项所述的基于多从簇边缘设备和机器视觉的水流速检测系统,检测方法包括:
7.根据权利要求6所述的基于多从簇边缘设备和机器视觉的水流速检测方法,其特征在于,所述预处理包括将所述水流速视频流进行单帧图像格式转换,并相邻两帧图像转为光流图,输入至缓冲队列加载到所述推理模型的内存中。
8.根据权利要求6所述的基于多从簇边缘设备和机器视觉的水流速检测方法,其特征在于,加载到所述推理模型的内存还包括根据程序入口的参数类型和数量,进行多簇单视频流算法和每个簇独立视频流算法之间的动态切换;
9.根据权利要求6所述的基于多从簇边缘设备和机器视觉的水流速检测方法,其特征在于,还包括对水流视频进行推理得到的数据进行校准和稳定步骤;
10.根据权利要求6所述的基于多从簇边缘设备和机器视觉的水流速检测方法,其特征在于,还包括使用httplib框架监听和处理web端的各种请求,同时开放扩展接口,跟换模型文件。
