当前位置:

首页 > 编程开发 > 假期来啦!技术人如何用 Python 实现景区安防系统

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

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

本文目录

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

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

    结合多种算法设计的多功能的智能安防系统,主要应用于景区中火灾预防与监测、疫情防控、游客安全定位等,对景区安全防护与景区智能化建设具有重要的应用价值。假期来啦!技术人如何用 Python 实现景区安防系统

    基本介绍

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

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


    基本功能展示

    1、系统概述

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

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

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

    2、火灾监测系统

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

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

    3、吸烟监测系统​

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

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

    4、行为安全监测系统

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

    5、人群密度监测系统

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

    6、口罩率监测系统​

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

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

    7、人员跟踪定位监测

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

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

    8、智能视觉交互

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

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

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

    涉及算法

    1、目标检测算法​

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

    2、目标跟踪算法

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

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

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

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

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

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

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

    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)
    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Python
    相关文章 更多
    python删除一个列表里的重复元素的方法与代码示例
    python删除一个列表里的重复元素的方法与代码示例

    学习如何使用Python高效删除列表中的重复元素。本文提供5种常见方法的代码示例,涵盖保持顺序与不保持顺序的场景,适合初学者和进阶开发者参考。

    Python写接口的步骤及完整代码示例
    Python写接口的步骤及完整代码示例

    详细讲解使用Python编写Web接口的核心步骤与完整代码示例,涵盖环境准备、路由定义、数据校验、服务启动及调试测试方法。

    codex怎么读取word文档及docx文件操作教程
    codex怎么读取word文档及docx文件操作教程

    介绍如何利用编程工具读取和解析Word文档(docx格式),涵盖基础文本提取代码示例、结构化数据处理逻辑,以及处理复杂排版时的技术局限与替代方案。

    怎么在Python中调用C语言代码提升性能
    怎么在Python中调用C语言代码提升性能

    详细讲解在Python中调用C语言代码提升性能的完整实践指南,包含原理分析、编译步骤、ctypes与CFFI具体实现、性能对比及常见陷阱。

    Python与C语言的性能差异及底层原理
    Python与C语言的性能差异及底层原理

    深入解析Python与C语言在执行效率上的数量级差异,从编译机制、变量内存布局、动态类型推断到GIL锁,系统阐明底层核心原理。

    Python和C语言哪个更适合编程入门
    Python和C语言哪个更适合编程入门

    客观对比Python与C语言在心智负担、底层机制与学习反馈上的核心差异,提供清晰有据的选择标准与切实的入门学习路径。

    selenium上传文件教程本地文件路径设置方法
    selenium上传文件教程本地文件路径设置方法

    深入解析Selenium处理文件上传的技术细节,涵盖标准HTML控件的路径直接注入法与非标准控件的系统级模拟方案,提供Windows与Linux环境下的路径设置最佳实践及常见异常排查。

    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景
    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景

    针对大数据工程场景,系统对比Java、Scala与Python在执行性能、生态结合、开发效率和维护成本上的核心差异,给出清晰的架构选型依据与落地方案。

    langgraph python guide中文入门教程详解
    langgraph python guide中文入门教程详解

    本篇LangGraph Python中文入门教程详解,系统梳理StateGraph状态机定义、节点编写、边与条件路由、检查点持久化(MemorySaver)等核心机制,提供从环境安装到完整循环智能体构建的代码示例与实操指导。

    Windows 安装 Python:从官方入口到虚拟环境的可复现实践
    Windows 安装 Python:从官方入口到虚拟环境的可复现实践

    面向后端开发者,基于 Python 官方文档说明如何在 Windows 上安装 Python、创建 venv 虚拟环境及使用 pip 管理依赖。包含可复制命令、验证方法及工具选择边界,避免常见配置误区。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。