0


边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 -- 整体介绍(一)

专栏目录
边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 – 整体介绍(一)
边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 – 边缘设备图像识别及部署(二)
边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 – 推流及公网环境(三)PART1
边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 – 推流及公网环境(三)PART2
边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 – 边缘设备和云端通信接口及保护进程(四)
边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 – 云端系统数据库设计(五)
边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 – 云端系统录制及历史播放实现(六)

边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南

前言

欢迎来到我们的专栏《边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南》!在这个专栏中,我们将带您深入探索如何将边缘计算和WEB端应用相结合,打造智能监控系统,实现对各种行为的实时识别和监测。无论您是想在家庭、办公场所还是公共区域建立智能监控系统,本专栏都将为您提供全面的指导和实用的技巧。让我们一起探索边缘计算技术的无限可能,构建出更加智能、高效的监控系统吧!

本专栏系统完整搭建将用到C++(边缘设备程序)、Python(模型训练、网络通信)、JAVA(系统后端)、VUE3(系统前端)、SQL(数据库)等开发语言。在搭建之前我自己也只会JAVA和SQL,所以完全不用担心语言不会导致无法搭建。所有的算力都由边缘设备提供,所以不需要高性能服务器,成本上也可以得到控制。

项目特点:低成本搭建视频智能识别、边缘计算终端和网页端完全打通自由控制、除常规标注检测外增加了预警和区域检测功能。

申明:本系统完全由博主自己一人搭建,其中使用到的都是开源项目,如:若依、RKNN、zlmediakit等。
PS:国人的开源项目越来越牛了。
在这里插入图片描述

硬件设备及技术选型

硬件设备选型

在设想完成这套系统的时候最初的方案是使用WVP-GB28181来实现设备头设备信息的上传,然后在云端进行图像识别,这个方案在进行初步尝试的时候就被PASS了,整套方案需要高带宽、高性能服务器,导致整体搭建费用非常贵。在无意间和朋友聊天时候知道有树莓派这种微型主机,第一次接触时候着实被惊艳到了,这么小的机器就可以搭载系统稳定运行。于是从微型设备的角度出发,经过多轮的比较验证,最后确定使用香橙PI5进行部署开发。
在这里插入图片描述
香橙PI5是国产的学习开发版,搭载有国产芯片RK3588,可以配合瑞芯微的神经网络推理框架RKNN在NPU上进行推理。在专栏中会专门对这块芯片的使用和编程方法进行描述,这里就不多说了。

系统技术选型

由于个人开发没有那么多时间从零开始搭建系统,在研究过程中找到了若依开源项目,本项目搭建使用的是若依前后端分离版本,这里建议直接使用VUE3版本,VUE2已经停止更新很长时间了。
若依的官网链接:https://ruoyi.vip/
若依的gitee链接:https://gitee.com/y_project/RuoYi-Vue
在这里插入图片描述

流媒体服务器选型

流媒体服务器这个词以前工作中也接触过,但是没有细节的研究,通过这次智能监控系统的搭建在弄明白它的作用和强大之处。
早期开发使用ffmpeg对视频进行解码和编码后来发现稳定性存在问题,后来转用zlmediakit,这是一个国人开发的基于C++高并发流媒体服务器,开放了很多常用的API接口。在和网页端进行通信时使用到了hls和webrtc,这个也会在专栏中专门描述。

zlmediakit的github链接:https://github.com/ZLMediaKit/ZLMediaKit
在这里插入图片描述

项目整体结构

#mermaid-svg-PYNJcfXrY0tUE5vw {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-PYNJcfXrY0tUE5vw .error-icon{fill:#552222;}#mermaid-svg-PYNJcfXrY0tUE5vw .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-PYNJcfXrY0tUE5vw .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-PYNJcfXrY0tUE5vw .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-PYNJcfXrY0tUE5vw .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-PYNJcfXrY0tUE5vw .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-PYNJcfXrY0tUE5vw .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-PYNJcfXrY0tUE5vw .marker{fill:#333333;stroke:#333333;}#mermaid-svg-PYNJcfXrY0tUE5vw .marker.cross{stroke:#333333;}#mermaid-svg-PYNJcfXrY0tUE5vw svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-PYNJcfXrY0tUE5vw .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-PYNJcfXrY0tUE5vw text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-PYNJcfXrY0tUE5vw .actor-line{stroke:grey;}#mermaid-svg-PYNJcfXrY0tUE5vw .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-PYNJcfXrY0tUE5vw .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-PYNJcfXrY0tUE5vw #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-PYNJcfXrY0tUE5vw .sequenceNumber{fill:white;}#mermaid-svg-PYNJcfXrY0tUE5vw #sequencenumber{fill:#333;}#mermaid-svg-PYNJcfXrY0tUE5vw #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-PYNJcfXrY0tUE5vw .messageText{fill:#333;stroke:#333;}#mermaid-svg-PYNJcfXrY0tUE5vw .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-PYNJcfXrY0tUE5vw .labelText,#mermaid-svg-PYNJcfXrY0tUE5vw .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-PYNJcfXrY0tUE5vw .loopText,#mermaid-svg-PYNJcfXrY0tUE5vw .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-PYNJcfXrY0tUE5vw .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-PYNJcfXrY0tUE5vw .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-PYNJcfXrY0tUE5vw .noteText,#mermaid-svg-PYNJcfXrY0tUE5vw .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-PYNJcfXrY0tUE5vw .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-PYNJcfXrY0tUE5vw .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-PYNJcfXrY0tUE5vw .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-PYNJcfXrY0tUE5vw .actorPopupMenu{position:absolute;}#mermaid-svg-PYNJcfXrY0tUE5vw .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-PYNJcfXrY0tUE5vw .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-PYNJcfXrY0tUE5vw .actor-man circle,#mermaid-svg-PYNJcfXrY0tUE5vw line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-PYNJcfXrY0tUE5vw :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
摄像头(NVR)

   边缘计算设备 
 
   智能监控系统 
 
   用户 
 
多路RTSP通信 

图像识别及处理 

推送识别结果 

修改配置信息 

返回配置信息 

自动配置 

图像识别及处理 

重新推送识别结果 

查看结果 

  摄像头(NVR) 

  边缘计算设备 

  智能监控系统 

  用户 

智能监控系统功能

此处不对若依自身功能进行描述

视频纵览

对用户权限范围内的所有边缘设备自动识别的实时视频进行查看、录制视频信息、展示设备的运行状态。
在这里插入图片描述
在这里插入图片描述

预警信息

边缘设备可以根据配置生成识别的预警视频并上传系统,用户可以在预警信息模块查看到所有的预警视频并播放下载,如果边缘计算设备接入的是NVR设备,可以直接查看预警时间前后的视频信息。
在这里插入图片描述

模型管理

模型的训练是线下完成的,训练完的模型可以上传系统后用来维护设备信息,在设备切换模型后会自动下载模型文件并装载。
在这里插入图片描述

设备管理

设备管理主要是用来维护设备的一些参数信息的,以及设备共享情况。如果用户有设备后可以共享给自己下级单位的用户,这样被共享的用户也可以查看到设备上的识别信息和预警信息。
在这里插入图片描述

摄像头管理

摄像头管理是系统的核心模块,这里面的参数修改会直接影响设备的运行,用户对设备的参数修改也直接在该模块完成。通过这个模块可以查看摄像头或nvr的检测结果视频、原始视频、回放视频等。
在这里插入图片描述

如果你喜欢这篇博客请点赞留言,后续会更新具体的搭建步骤。


本文转载自: https://blog.csdn.net/weixin_41864178/article/details/136707208
版权归原作者 鬓白方悟少年非 所有, 如有侵权,请联系我们删除。

“边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 -- 整体介绍(一)”的评论:

还没有评论