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

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

基本介绍

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

基本功能展示

1、系统概述

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

2、火灾监测系统

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

3、吸烟监测系统​

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

4、行为安全监测系统

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

5、人群密度监测系统

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

6、口罩率监测系统​

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

7、人员跟踪定位监测

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

8、智能视觉交互

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

涉及算法

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 实现景区安防系统的文章就介绍到这了,更多相关Python安防系统内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

如何用Python 实现景区安防系统的更多相关文章

  1. XCode 3.2 Ruby和Python模板

    在xcode3.2下,我的ObjectiveCPython/Ruby项目仍然可以打开更新和编译,但是你无法创建新项目.鉴于xcode3.2中缺少ruby和python的所有痕迹(即创建项目并添加新的ruby/python文件),是否有一种简单的方法可以再次安装模板?我发现了一些关于将它们复制到某个文件夹的信息,但我似乎无法让它工作,我怀疑文件夹的位置已经改变为3.2.解决方法3.2中的应用程序模板

  2. Swift基本使用-函数和闭包(三)

    声明函数和其他脚本语言有相似的地方,比较明显的地方是声明函数的关键字swift也出现了Python中的组元,可以通过一个组元返回多个值。传递可变参数,函数以数组的形式获取参数swift中函数可以嵌套,被嵌套的函数可以访问外部函数的变量。可以通过函数的潜逃来重构过长或者太复杂的函数。

  3. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  4. Swift、Go、Julia与R能否挑战 Python 的王者地位

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 红薯因 Swift 重写开源中国失败,貌似欲改用 Python

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  6. 你没看错:Swift可以直接调用Python函数库

    上周Perfect又推出了新一轮服务器端Swift增强函数库:Perfect-Python。对,你没看错,在服务器端Swift其实可以轻松从其他语种的函数库中直接拿来调用,不需要修改任何内容。以如下python脚本为例:Perfect-Python可以用下列方法封装并调用以上函数,您所需要注意的仅仅是其函数名称以及参数。

  7. Swift中的列表解析

    在Swift中完成这个的最简单的方法是什么?我在寻找类似的东西:从Swift2.x开始,有一些与你的Python样式列表解析相当的东西。(在这个意义上,它更像是Python的xrange。如果你想保持集合懒惰一路通过,只是这样说:与Python中的列表解析语法不同,Swift中的这些操作遵循与其他操作相同的语法。

  8. swift抛出终端的python错误

    每当我尝试启动与python相关的swift时,我都会收到错误.我该如何解决?

  9. 在Android上用Java嵌入Python

    解决方法看看this,它适用于J2SE,你可以尝试在Android上运行.

  10. 在android studio中使用python代码构建android应用程序

    我有一些python代码和它的机器人,我正在寻找一种方法来使用android项目中的那些python代码.有没有办法做到这一点!?解决方法有两种主要工具可供使用,它们彼此不同:>QPython>Kivy使用Kivy,大致相同的代码也可以部署到IOS.

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部