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

news2024/11/26 8:34:56

专栏目录
边缘计算+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
在这里插入图片描述

项目整体结构

摄像头(NVR) 边缘计算设备 智能监控系统 用户 多路RTSP通信 图像识别及处理 推送识别结果 修改配置信息 返回配置信息 自动配置 图像识别及处理 重新推送识别结果 查看结果 摄像头(NVR) 边缘计算设备 智能监控系统 用户

智能监控系统功能

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

视频纵览

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

预警信息

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

模型管理

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

设备管理

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

摄像头管理

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1530986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

洛谷_P2404 自然数的拆分问题_python写法

P2404 自然数的拆分问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路记录: 这道题是一道简单的DFS。 n int(input()) data [0 for _ in range(110)] def dfs(sum, p, cnt):if sum>n:returnif sum n:print(data[0],end)for i in range(1,cnt):print(f{…

centos7安装jdk详细步骤(yum安装与手动安装)

centos7安装jdk详细步骤(yum安装与手动安装) 一、使用yum安装1. 准备工作2. 检查系统是否自带jdk3. 安装jdk 二、手动安装jdk1. 下载上传jdk2. 安装jdk3. 配置环境变量 一、使用yum安装 1. 准备工作 如果你的机器可以联网可以使用此方法 ping www.baidu…

YOLOv7 | 添加GSConv,VoVGSCSP等多种卷积,有效提升目标检测效果,代码改进(超详细)

⭐欢迎大家订阅我的专栏一起学习⭐ 🚀🚀🚀订阅专栏,更新及时查看不迷路🚀🚀🚀 YOLOv5涨点专栏:http://t.csdnimg.cn/QdCj6 YOLOv7专栏: http://t.csdnimg.cn/dy…

51-31 CVPR’24 | VastGaussian,3D高斯大型场景重建

2024 年 2 月,清华大学、华为和中科院联合发布的 VastGaussian 模型,实现了基于 3D Gaussian Splatting 进行大型场景高保真重建和实时渲染。 Abstract 现有基于NeRF大型场景重建方法,往往在视觉质量和渲染速度方面存在局限性。虽然最近 3D…

Git小乌龟安装及使用教程

一、Win7安装git 软件下载地址:git for windows 安装过程直接默认下一步,直到安装结束。 安装结束后重启一下。 安装完成后,在文件夹空白处右键出现以下几个标识,说明安装成功。 二、安装tortoise git(乌龟git&…

flutter 局部view更新,dialog更新进度,dialog更新

局部更新有好几种方法,本次使用的是 StatefulBuilder 定义 customState去更新对话框内容 import package:flutter/cupertino.dart; import package:flutter/material.dart;class ProgressDialog {final BuildContext context;BuildContext? dialogContext;double _…

帮助读者掌握C语言编程基础知识的书籍

帮助读者掌握C语言编程的基础知识,了解如何将人工智能技术应用于自己的编程项目。 人工智能编程(赋能C语言) 作者: 黄箐、廖云燕、曾锦山、邢振昌 ISBN号: 9787302648796 出版日期: 2023-11-01 本书以C…

【linux】环境变量(进程二)

这里写目录标题 命令行参数:环境变量: 命令行参数: 不谈命令行参数就谈环境变量就是耍流氓。 相信我们在C语言阶段都在main函数里见过参数。 例如int main(int argc, char* argv[]) 这是什么东西呢? 话不多说我们直接打印一下看…

Vue2(八):脚手架结构、render函数、ref属性、props配置项、mixin(混入)、插件、scoped样式

一、脚手架结构分析 crlc终止刚刚搭建的vue。 ├── node_modules ├── public │ ├── favicon.ico: 页签图标 │ └── index.html: 主页面 ├── src │ ├── assets: 存放静态资源 │ │ └── logo.png │ │── component: 存放组件 │ │ …

利用WebGL绘制简单几何

利用WebGL绘制最简单的几何图形 一、WebGL简介 WebGL是一种用于在网页上渲染交互式3D和2D图形的JavaScript API。它基于OpenGL ES 2.0,提供了一种在浏览器中使用硬件加速图形的方式。 二、图形系统绘图流程 图形系统的通用绘图流程会包括六个部分: …

python_django网红基地孵化园场地管理系统flask

作为一个管理孵化园的网络系统,数据流量是非常大的,所以系统的设计必须满足使用方便,操作灵活的要求。所以在设计孵化园管理系统管理系统应达到以下目标: (1)界面要美观友好,检索要快捷简易&…

python问题:vscode切换环境,pip安装库网络错误,不使用anaconda安装库

python问题:vscode切换环境,pip安装库网络错误 vscode切换环境pip安装库网络错误 不使用anaconda安装库 记录一下遇见的python问题。 vscode切换环境 在vscode上面的搜索框输入 > select interpreter然后选择需要的环境。 pip安装库网络错误 用…

数据丢失怎么办?不可不知道的3个恢复方法分享!

“作为一名电脑小白,刚买了电脑后我就把所有学习资料都保存在电脑上了,刚刚发现有部分比较重要的数据找不到了,我应该怎么操作才能恢复这些文件呢?” 数据丢失,对于任何个人或企业来说,都是一件令人头疼的事…

Python学习从0到1 day17 Python异常、模块、包

不走心的努力,都是在敷衍自己 ——24.3.19 万字长文,讲解异常、模块、包,看这一篇就足够啦 什么是异常? 当检测到一个错误时,python解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的异常&am…

「滚雪球学Java」:安全(章节汇总)

🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!&#xf…

代码随想录day26(1)二叉树:二叉搜索树的最小绝对差(leetcode530)

题目要求:给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 思路:最简单的想法就是新建数组,通过中序遍历将节点值全都存入数组中(有序),然后计算相邻两节…

【堡垒机】企业购买堡垒机的七大需求你知道吗?

目前想了解堡垒机的企业越来越多了,采购堡垒机的企业也越来越多了。那企业购买堡垒机的七大需求你知道吗?今天我们小编就跟大家一起来探讨一下,仅供参考哦! 企业购买堡垒机的七大需求 需求1、简化运维流程,提高运维工…

【Docker】-- 如何安装docker

一、安装docker 首先要安装一个yum工具 yum install -y yum-utils 安装成功后,执行命令,配置Docker的yum源: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 最后,执行命令&#x…

MySQL中replace into详解、批量更新、不存在插入存在则更新、replace into的坑

文章目录 一、replace into原理二、replace into的三种形式三、replace into 使用案例3.1、replace into values3.1.1、只有主键且主键冲突3.1.2、有主键有唯一索引且主键冲突3.1.3、有主键有唯一索引且唯一索引冲突(有坑)3.1.4、有主键有唯一索引且与一条主键冲突与另一条唯一…

centos7磁盘管理,lvm挂载、扩容

一、centos7 磁盘挂载 默认盘符格式 centos7 默认文件格式xfscentos6 默认文件格式ext4centos5 默认文件格式ext3 1、/dev/vdb和/dev/mapper/lvm-data对比 1)/dev/vdb /dev/vdb通常表示一个裸的块存储设备,比如一个硬盘或者虚拟机中的一个虚拟硬盘。…