搜索
首页后端开发Python教程假期来啦!技术人如何用 Python 实现景区安防系统

​本设计中,利用YOLO目标检测算法、Openpose姿态识别算法、deepsort跟踪算法、MSCNN人群密度估计算法实现了火灾监测、吸烟监测、行为安全监测、人群密度监测、口罩率监测、人员定位监测六大功能。系统运用智能视觉交互技术,用户可以通过手势操作系统,用户操作方便简洁。在多角度多方位辅助景区安防管理,消减了景区存在的隐形安全隐患,推动景区智慧化建设。本套系统各类功能之间实现了数据的实时传输与反馈,保证了信息的有效性,可以运行在手机端、电脑端和物联网平台多个平台,同时也真正意义上实现了“多平台应用”。

假期来啦!技术人如何用 Python 实现景区安防系统

结合多种算法设计的多功能的智能安防系统,主要应用于景区中火灾预防与监测、疫情防控、游客安全定位等,对景区安全防护与景区智能化建设具有重要的应用价值。图片

基本介绍

该系统以计算机多媒体技术、智能图像分析技术、数据挖掘技术等为基础,建设旅游景区综合安防管理系统。针对景区公共活动区域的人身安全,森林防火管理,疫情防控管理等需求,要求建设全方位、全天候、高清化、智能化的视频监控系统,以满足现代旅游景区安全管理的需求,实现大场景全景监控,对景区火灾、游客危险行为等突发情况进行检测。实现对人员实时定位、轨迹查询,当发生紧急情况时联动地图进行闪烁警示,并便于应急指挥。同时满足人员管理与客流分析系统,需要对出入口客流量进行统计和分析,当景区超过一定的客流容量之后可及时预警停止游客进入并进行适当的游客分流处置。结合实际需求及智慧景区的系统架构规划,旅游景区综合安防系统由智能监控系统、智能视觉交互、多角度多方位、多平台应用四个模块构成,整合火灾监测、吸烟监测、行为安全监测、人群密度监测、口罩率监测、人员定位监测异构安防子系统。系统总体设计架构如下图:

图片


基本功能展示

1、系统概述

图片

图片

本智能监控系统开发平台为Pycharm,使用python语言,共分为六大系统。

2、火灾监测系统

本模块通过实时的视频监控,分析视频是否有火灾产生。如图中所示,如果景区发生火灾,系统会及时的发出预警信息,反馈给调度室,使得火灾得到有效控制,极大的提高应对火灾的效率。

假期来啦!技术人如何用 Python 实现景区安防系统

3、吸烟监测系统​

为了防止景区发生火灾,景区多数区域为禁烟区。本模块通过实时的视频监控,分析视频是否存在吸烟行为。如图中所示,如果有游客存在吸烟行为,系统会及时的发出预警信息,反馈给调度室,第一时间发现游客吸烟的安全隐患,预防火灾发生,确保景区安全。

假期来啦!技术人如何用 Python 实现景区安防系统

4、行为安全监测系统

景区旅游过程中,游客人身安全须受到保障。本模块通过实时的视频监控,分析视频中人的躯体动作,如果发生异常行为如图中“摔倒”等危险行为可以及时的发出预警信息。能够大大缩短救援时间,减少突发事件造成的损失,保护游客的生命财产安全。图片

5、人群密度监测系统

受新冠疫情的影响,景区需要合理控制景区内的人口密度。通过本模块可以实现对景区游客人口密度的动态监控,通过智能分析,将人群密度实时的展现在系统页面上,帮助用户管理景区,切实保障广大游客、员工的身体健康和生命安全,维护景区和社会稳定大局。图片

6、口罩率监测系统​

为防止新冠病毒的传播,根据景区相关规定,进入景区之前需要确定乘客。本模块通过实时的视频监控,分析视频中游客是否佩戴口罩,将标记每个游客是否佩戴口罩,将结果显示在系统上,并实时的显示场景佩戴口罩率。用于景区疫情防疫工作,保护游客,保护景区。

图片

7、人员跟踪定位监测

本模块对景区进行实时的视频监控,分析并识别视频中游客,自动生成识别标签,将游客标签在场景中的位置实时记录下来,并显示在系统页面中,并且可以对场景中人数进行监测,动态显示在系统页面左侧。辅助用户管理景区。

图片

8、智能视觉交互

本系统可代替了传统鼠标点击模块应用的方法,用户可以不需要使用鼠标等输入设备即可完成与系统之间的信息交互。用户通过肢体动作就可以完成模块的选择工作,系统操作更加简洁,用户使用更加方便。(这里只设计了火灾检测功能,其他功能可以根据代码参考写入。)

图片

假期来啦!技术人如何用 Python 实现景区安防系统

涉及算法

1、目标检测算法​

本项目使用的目标检测算法主要为YOLO算法,分别应用在火灾监测、吸烟行为监测、人员定位跟踪以及口罩率监测上。YOLO目标检测算法是考虑到双阶段目标检测算法的检测效率比较低,所以一些学者提出了单阶段目标检测。由JosephRedmon等人在2016年提出。

2、目标跟踪算法

本项目在人员定位跟踪系统中使用到了deepsort目标跟踪算法。本系统跟踪的流程如下:

(1)使用卷积神经网络对视频中的行人进行检测和跟踪。

(2)视频帧输入之后首先进入YOLOv3目标检测的网络,经过Darknet-53提取特征;

(3)其次,进行上采样和特征融合,再进行回归分析;

(4)再次,把得出的预测框信息输入SORT算法进行目标特征建模,匹配和跟踪;

(5)最后,输出结果。下图为定位跟踪算法流程图:

图片

3、人群密度估计算法​

人群密度计数是指估计图像或视频中人群的数量、密度或分布,它是智能视频监控分析领域的关键问题和研究热点,也是后续行为分析、拥塞分析、异常检测和事件检测等高级视频处理任务的基础。本项目通过采用深度学习方法获取人群密度图已估计人群数量,使用python语言搭建MSCNN网络实现实时生成人群密度图以达到估计人群数量的目的。

4、姿态估计算法​

本项目在人体行为安全监测系统上使用了Openpose的人体姿态识别算法。通过Openpose的姿态识别技术对不同肢体之间的协调关系搭建分类算法,并通过不同的分类算法比较,选择出最优模型搭建多目标的分类方法,其可以实现多个目标的姿态显示、目标检测和分类的实时显示。

部分界面操作代码如下:

cap = cv2.VideoCapture(0)
cap.set(3, 1280)
cap.set(4, 720)
detector = HandDetector(detectionCon=0.8)
keys = [["火灾检测", "吸烟检测", "行为安全监测", "人群密度监测", "口罩率检测", "行人定位跟踪"]]
finalText = ""
while True:
success, img = cap.read()
img = detector.findHands(img)
lmList, bboxInfo = detector.findPosition(img)
img = drawAll(img, buttonList)
if lmList:
for button in buttonList:
x, y = button.pos
w, h = button.size
if x < lmList[8][0] < x + w and y < lmList[8][1] < y + h:
cv2.rectangle(img, (x - 5, y - 5), (x + w + 5, y + h + 5), (175, 0, 175), cv2.FILLED)
if l < 30:
if press_state:
cv2.rectangle(img, button.pos, (x + w, y + h), (0, 255, 0), cv2.FILLED)
cv2.putText(img, "start", (x + 20, y + 65),cv2.FONT_HERSHEY_PLAIN, 4, (255, 255, 255), 4)
finalText += button.text
sleep(0.15)
press_state=False
state=True
print(button.text)
text=button.text
else:
press_state=True
if state:
if os.path.exists("img.txt"):
try:
img2 = cv2.imread("img.jpg")
img2 = cv2.resize(img2, (img.shape[1], img.shape[0]))
img = cv2.addWeighted(img, alpha, img2, beta, gamma)
except:
pass
if state:
img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
draw = ImageDraw.Draw(img)
myfont0 = ImageFont.truetype(r'./HGDH_CNKI.TTF', 50)
for button in buttonList:
x, y = button.pos
w, h = button.size
draw.text((500, 180), text, font=myfont0, fill=(0, 0, 0))
img = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
cv2.imshow("Image", img)
cv2.waitKey(1)

以上是假期来啦!技术人如何用 Python 实现景区安防系统的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:51CTO.COM。如有侵权,请联系admin@php.cn删除
详细讲解Python之Seaborn(数据可视化)详细讲解Python之Seaborn(数据可视化)Apr 21, 2022 pm 06:08 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

详细了解Python进程池与进程锁详细了解Python进程池与进程锁May 10, 2022 pm 06:11 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

Python自动化实践之筛选简历Python自动化实践之筛选简历Jun 07, 2022 pm 06:59 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

归纳总结Python标准库归纳总结Python标准库May 03, 2022 am 09:00 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于标准库总结的相关问题,下面一起来看一下,希望对大家有帮助。

分享10款高效的VSCode插件,总有一款能够惊艳到你!!分享10款高效的VSCode插件,总有一款能够惊艳到你!!Mar 09, 2021 am 10:15 AM

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

Python数据类型详解之字符串、数字Python数据类型详解之字符串、数字Apr 27, 2022 pm 07:27 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

详细介绍python的numpy模块详细介绍python的numpy模块May 19, 2022 am 11:43 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

python中文是什么意思python中文是什么意思Jun 24, 2019 pm 02:22 PM

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。