基于Python的智能监控平台

基于Python的智能监控平台 1,环境配置 网站使用了 Flask 框架,安装 Flask : pip install Flask Flask 连接 mysql 数据库需要库 flask_sqlalchemy 和库 pymysql

本文包含相关资料包-----> 点击直达获取<-------

基于Python的智能监控平台

1.环境配置

网站使用了 Flask 框架,安装 Flask :

pip install Flask

Flask 连接 mysql 数据库需要库 flask_sqlalchemy 和库 pymysql ,安装:

pip install flask_sqlalchemy pip install pymysql

试图建立 Websocket 连接,需要库 flask_socketio ,安装:

pip install flask_socketio1

图像处理需要库 opencv 和 pillow ,安装:

pip install opencv-python pip install pillow

图像分析使用了 tensorflow 的 object_detection ,官网链接: https://github.com/tensorflow/models/tree/master/research/object_detection

安装过程:

pip install tensorflow pip install --user Cython pip install --user contextlib2 pip install --user pillow pip install --user lxml pip install --user jupyter pip install --user matplotlib

然后下载 tensorflow 模型:

模型官网:https://github.com/tensorflow/models

执行命令:

git clone https://github.com/tensorflow/models

或者

wget https://github.com/tensorflow/models

即可完成下载,得到一个 models 文件夹,将刚才下载的 models 文件夹移动到刚刚安装的 tensorflow 的文件夹中。

可以通过如下方法获知 tensorflow 的安装文件夹,在通过 pip 安装完成后,再次运行 pip install tensorflow ,命令行会显示已经安装,并显示 tensorflow 所在的路径。

之后安装 tensorflow 需要的 COCO API :

git clone https://github.com/cocodataset/cocoapi.git cd cocoapi/PythonAPI make cp -r pycocotools <tensorflow文件夹的路径>/models/research/

在 tensorflow/models/research 文件夹下进行 Protobuf 编译:

```

From tensorflow/models/research/ protoc object_detection/protos/*.proto --python_out=.

```

设置环境变量,在 tensorflow/models/research 文件夹下运行:

```

From tensorflow/models/research/ export PYTHONPATH=$PYTHONPATH: pwd : pwd /slim

```

tensoflow object detection 安装完成!可以通过以下命令测试是否安装成功:

python object_detection/builders/model_builder_test.py

然后,打开项目文件夹中的 camera.py 和 od.py ,将文件中的 TENSORFLOW_DIR 修改为当前的 tensorflow所在路径。至此,所有环境配置完成,还需要初始化数据库。

打开 mysql ,建立一个名为 2018Python 的数据库:

create database 2018Python; use 2018Python;

在 2018Python 数据库中添加名为 user 和 rootuser 两个表,分别代表普通用户数据库和管理员数据库:

``` create table user ( username char(20) primary_key, password char(20) not null );

create table rootuser ( username char(20) primary_key, password char(20) not null ); ```

之后向管理员数据库 rootuser 添加一个管理员:

sql insert into rootuser values('root','1234');

以后也通过类似的方式添加管理员,然后在网页上通过管理员添加普通用户。

至此,所有初期准备工作完成。

(PS:以上所有配置在Mac OS下可以使程序成功运行)

2.文件结构介绍

  • templates 文件夹中是网页模版

  • static 文件夹中是一些静态文件js和css文件

  • res 文件夹中是 object detection 需要的训练好的模型和标签和其他的资源文件

  • output 文件夹中放置的是 object detection 分析的结果

  • camera.py 是摄像机行为和图像处理的文件

  • od.py 是物体检测的具体实现

  • tmo.py 是追踪动态物体的具体实现

  • app.py 是程序入口,运行: python app.py 然后进⼊入 127.0.0.1:5000 即可运行程序。

3.功能介绍

登陆使用了 mysql + cookies 实现,分为普通用户和管理员。

登陆以后进入功能管理页面,在该页面普通用户和管理员可以选择相应的功能,并可以选择注销。

特别的,管理员可以查看普通用户并删除。

修改密码,修改成功或者失败都会有网页提示。

管理员添加用户。

管理用户。

读取摄像头,应该支持RTSP协议的网络摄像头,在 camera.py 中的函数 init_camera 中可以修改摄像头参数(我在网上找了一个 rtsp流的视频是可以播放的,实验室的摄像头连接好像有点问题,在camera.py 文件中可以修改,目前是默认系统摄像头)。

前端显示视频通过 M-JPEG 格式的流媒体实现。

视频分析有两部分,第一部分是 tensorflow 的物体检测,第二部分是动态物体追踪。在功能选择网页上可以打开原视频流和实时捕捉动态物体,无论打开哪一个网页,都会创建一个新的 进程在后台进行物体检测,物体检测每一帧处理需要一定的时间,当处理完一帧后再传入下一帧处理,处理完后的结果存储在 output 文件夹中,图片以时间命名。如果打开实时捕捉动态物体网页,则会进行动态物体追踪,该功能逐帧分析并且及时显示在网页上,刚打开的时候需要先拍摄背景帧,因此设置延迟3秒的延迟时间(背景帧意思是拍摄一帧图片,该图片上尽可能不包含移动的物体,方便后计算),在运行的过程中,可以随时调整该功能的相关参数值并重新设置背景帧。(在此说明,高斯模糊值越大,细节就会被去掉;亮度阈值越大,和背景颜色比较相似的物体就越不容易被检测出来)

object detection 检测效果示例:(忽略我的脸)

动态追踪物体 效果示例:

比较占CPU的 object detection 在另一个进程运行,可以充分利用多核CPU的性能,并且保证了在分析时网页播放视频时不会卡顿。

报警功能,本来想通过 object detection 实现当画面中出现特定物品就报警的功能,然后将报警信息存入数据库。数据库和物品检测的接口已经写好了,在 app.py 和 od.py 中的可以查看到。但是 Flask 的 websocket 的用法和 Flask 网站响应很玄学,导致python主动推送的功能实现不了,就暂时割了这个功能。

参考文献

  • 基于.Net的货运列车智能监控管理平台设计与实现(南京大学·罗海伟)
  • 监所管理信息系统的设计与实现(电子科技大学·夏超)
  • 基于多数据源以及业务流程分析的数据监控平台的设计与实现(北京邮电大学·吕云霄)
  • 基于嵌入式服务器的网络视频监控系统的设计与实现(电子科技大学·谢凯)
  • 基于物联网智慧农业信息平台建设精准监测与智能控制系统的研究(曲阜师范大学·张越杰)
  • 基于SSH框架的网络集成化楼宇视频监控平台的设计与实现(东华理工大学·周翔)
  • 基于Zabbix的云监控系统的设计与实现(北京交通大学·徐慧)
  • 电视台节目播出后台监视系统的设计与实现(电子科技大学·钟声)
  • 基于J2EE架构的MPS移动定位系统中跟踪监控子系统的研究与应用(电子科技大学·刘明皋)
  • 实时视频监控系统的设计与实现(西安电子科技大学·索郎邓珠)
  • 基于云平台的智能家居生态与安防系统设计与研究(贵州大学·王伟)
  • 基于多数据源以及业务流程分析的数据监控平台的设计与实现(北京邮电大学·吕云霄)
  • 基于B/S架构视频监控管理平台的应用研究(中山大学·罗湘文)
  • 基于嵌入式服务器的网络视频监控系统的设计与实现(电子科技大学·谢凯)
  • 基于微服务的AI中台系统设计与实现(北京邮电大学·陈开)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设货栈 ,原文地址:https://m.bishedaima.com/yuanma/35452.html

相关推荐

发表回复

登录后才能评论