资讯专栏INFORMATION COLUMN

如何用Python实现景区安防系统

89542767 / 299人阅读

  本设计的时候,应用YOLO目标检测算法、Openpose姿势检测算法、deepsort跟踪算法、MSCNN群体密度估计技术实现了火灾监测、抽烟数据监测、行为表现安全监控、人群密度数据监测、防护口罩率数据监测、人员定位系统数据监测六个基本要素,对Python完成旅游景点安防监控系统感兴趣的小伙伴一起了解一下吧


  本设计的时候,应用YOLO目标检测算法、Openpose姿势检测算法、deepsort跟踪算法、MSCNN群体密度估计技术实现了火灾监测、抽烟数据监测、行为表现安全监控、人群密度数据监测、防护口罩率数据监测、人员定位系统数据监测六个基本要素。系统软件应用智能视觉交互方式,用户可根据动作电脑操作系统,客户操作简便简约。在多方面多方面协助旅游景点安保管理,削减了旅游景点存有的隐型安全风险,促进旅游景点智能化基本建设。这套系统软件各种基本要素中间完成了数据库的即时传送与意见反馈,确保了信息内容实效性,能够运转在移动端、pc端和物联网云平台好几个服务平台,并且也真正地完成了“多平台应用”。


  融合多种多样计算机算法多用途的安防监控系统,广泛应用于旅游景点中火灾预防与数据监测、新冠肺炎防控、游人安全性精准定位等,对旅游景点安全防范与旅游景点信息化建设具有重要实用价值。


  简单介绍


  此系统以电子计算机现代信息技术、智能化图像检测工艺、数据挖掘算法等作为基本,基本建设旅游景点安防管理智能管理系统。对于旅游景点休闲活动地区人身安全,护林防火管理方法,疫情防控管理等服务,规定基本建设多方面、全天、高清晰度、智能的安防监控系统,以适应现代旅游景区安全管理方法的需要,完成大场景全景监控,对旅游景点火灾事故、游人危险行为等突发状况进行检验。完成对工作人员实时定位、行程轨迹查询,当出现紧急状况时连动地形图开展闪动警告,并有利于应急指挥系统。同时符合员工管理与客流分析系统,必须对进出口人流量开展统计分析与分析,当旅游景点超出一定程度的客流量容积以后可立即预警提醒终止游人进入并进行适当的游人分流处置。结合实际需求及智慧景区的系统架构规划,旅游景点安防管理系统软件由监控系统软件、智能化视觉交互、多方面多方面、多平台应用四个控制模块构成,整合火灾监测、抽烟数据监测、行为表现安全监控、人群密度数据监测、防护口罩率数据监测、人员定位系统数据监测异构安防子系统。系统总体设计架构如下图:

01.png

  基本要素展现


  1、系统概述


  本监控系统软件软件开发平台为Pycharm,使用python语言表达,主要分为六大系统。

02.png

03.png

  2、火灾监测系统软件


  本控制模块根据实时视频监控系统,剖析短视频有没有火灾事故产生。如下图中所显示,要是旅游景点发生火灾事故,系统将及时地传出预警提醒,发送给调度中心,促使火灾事故获得有效管理,很大的提升解决火灾事故效率。

04.png

  3、抽烟检测系统


  为了避免旅游景点发生火灾事故,旅游景点大部分地区为禁烟区。本控制模块根据实时视频监控系统,剖析短视频存不存在抽烟行为表现。如下图中所显示,若是有游人存有抽烟行为表现,系统将及时地传出预警提醒,发送给调度中心,短时间内发觉游人抽烟安全隐患,防火安全产生,保证景区安全。

05.png

  4、行为表现安全监测系统


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


  5、人群密度检测系统


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


  6、防护口罩率检测系统


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

06.png

  7、工作人员跟踪定位数据监测


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

07.png

  8、智能化视觉交互


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

08.png

  涉及算法


  1、目标检测算法


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


  2、目标跟踪算法


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


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


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


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


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


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

09.png

  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)


  综上所述,这篇文章就给大家介绍到这里了,希望可以给各位读者带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128449.html

相关文章

  • Apache Superset使用分享

    摘要:请原谅我以下所有截图中都是使用的中文,有些地方翻译略显生硬。本来系统是使用的英文,奈何领导要求中文呀。时间字段的表示时间属性必须勾选上一般会时间列默认勾选。可根据来排查问题所在,并且系统为用户提供版的查询工具来操作数据库。Superset简介 Superset是一个受Apache软件基金会支持的处于孵化阶段的企业级数据可视化web项目。具有以下特点: 内含丰富的数据图表样式 支持多种数据源...

    mdluo 评论0 收藏0
  • 一篇文章带你了解何用Planting 为测试工程师开发的部署框架

    摘要:是一个为测试工程师开发的部署框架,使用语言编写,为了解决测试团队在测试过程中的部署问题。部署执行方式简单,支持命令行与自动化测试可紧密合作作为一个为测试工程师开发的部署框架,通过命令行进行自动化部署是第一选择。 ...

    yiliang 评论0 收藏0
  • 何用Python进行数据分析?

    摘要:编程基础要学习如何用进行数据分析,数据分析师建议第一步是要了解一些的编程基础,知道的数据结构,什么是向量列表数组字典等等了解的各种函数及模块。数据分析师认为数据分析有的工作都在处理数据。 showImg(https://segmentfault.com/img/bVbnbZo?w=1024&h=653); 本文为CDA数据分析研究院原创作品,转载需授权 1.为什么选择Python进行数...

    lifefriend_007 评论0 收藏0
  • 何用Python过一个完美的七夕节?

    摘要:自己选择一个好的图像背景填充画布注意背景图片可根据自己的喜好进行更换,还不赶紧定制一个属于自己的烟花秀七夕总结以上便是博主给大家的七夕节礼物了,代码不到行,但却完成了一个超炫的效果。完整代码可在公众号后台回复七夕获取,最后祝大家七夕节快乐。 作者:xiaoyu 微信公众号:Python数据科学 知乎:python数据分析师 showImg(https://segmentfault.c...

    DevTTL 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<