Python课程设计基于python的人脸识别佩戴口罩系统设计

wx供重浩:创享日记
对话框发送:python口罩
获取完整论文报告+源码源文件
在这里插入图片描述


1 研究背景与意义

新型冠状病毒展现出全球化流行和蔓延的趋势,这提醒我们:传染病防治在今后相当长时间内仍是疾病预测控制工作的重点。戴口罩是预防呼吸道传染病的重要防线,可以降低新型冠状病毒感染风险。口罩不仅可以防止病人喷射飞沫,降低飞沫量和喷射速度,还可以阻挡含病毒的飞沫核,防止佩戴者吸入。所以,戴口罩是日常必要的环节。为了他人安全和自身的安全,进出一些场合,人人都需要戴口罩。但最近天气炎热,人们戴口罩的自觉性不如提前了,在商场等公共场所,需要专门的人员去提醒顾客戴好口罩。因此,开发人脸口罩检测系统是非常有必要的,它能检测我们进入某些场所是否带口罩,跑起程序测试后,发现识别率高,也能适应不同环境。我这次的课程设计的目标是基于人脸识别实现人脸的”是否戴口罩“工作。

2系统功能分析设计

根据相关工作人员对人们是否佩戴口罩的检测的实际需求,该平台应该具有以下几项基本功能:
1:能够在给定图片上完成人脸加口罩的测试。
2:检测人们是否佩戴口罩
3:以及在图片上显示戴口罩的程度。例如MASK:99.02% NO MASK:100%

3系统技术架构分析设计

3.1 系统功能结构设计
该系统要实现检测人们是否佩戴口罩的基本功能,根据自顶向下的设计思路,该系统的模块架构设计如图3-1所示。主要分为人脸识别,获取对照人脸,建立人脸模型,检测实时人脸,通过模型校验,输出识别结果。
在这里插入图片描述
3.2 系统运行流程
本系统要运行流程如图3-2所示。
在这里插入图片描述

4 系统开发软、硬件配置要求

系统开放配置要求如下:
(1)操作系统:win11(64位)
(2)Python解释器版本:Python3.7.10
(3)开发工具:Pycharm
(4)所使用的Python内置模块、标准库如表4-1所示:
在这里插入图片描述
(5)所使用的Python第三方库如表4-2所示:
在这里插入图片描述

5主函数设计

系统主函数主要实现检测是否戴口罩以及佩戴口罩的程度功能,对应的程序流程图如同5-1所示。
在这里插入图片描述

6功能函数设计

6.1 功能模块1设计
功能模块1主要实现检测是否佩戴口罩功能,对应的程序流程图如同6-1所示。
在这里插入图片描述
6.2 功能模块2设计
功能模块2主要实现图片显示NO MASK💯00%以及MASK(以及戴口罩的程度)功能,对应的程序流程图如同6-2所示。
在这里插入图片描述

7 项目打包

将 Python源代码通过pyinstaller生成可执行文件,目的是不需要依赖python编译器就可以运行软件。具体操作如下:
打包生成的可执行文件截图,如图7-1所示。
在这里插入图片描述

8 源代码

系统总的源代码有210行,选用Pycharm编写完成。
(详见下载,文章开头下载方式)

9 代码调试运行

系统代码调试采用先模块再整体的调试思路,通过Pycharm的单步断点调试方式。
调试方pycharm单步断点调试方法:
在这里插入图片描述
在这里插入图片描述
代码运行结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10 总结与展望

10.1总结
既定的功能设计基本实现。存在的不足:模型只能识别佩戴口罩和不佩戴口罩,但是不能识别出口罩是否佩戴正确。模型是用裁剪后的人脸训练的,那么在实际的应用中也当使用裁剪后的人脸。功能的扩展:利用了思维识别技术。通过这次综合实践,我对专业和项目开发有了更加深切和具体的认识,体会到了写程序的艰辛与复杂,但克服困难之后的喜悦也是巨大的。通过不断地去解决问题,我的能力都有了很大的提高。
10.2展望

  1. 在真正部署到实际中还应当增加数据集,扩充一些故意遮挡的图片。
  2. 通过采用眼部关键点和注意力机制相结合的方法来增强眼部特征,眼部特征图与整体人脸特征图的多级融合,充分挖掘人脸的有效信息,提升模型在口罩遮挡情况下的表现。
  3. 解决戴口罩进行人脸识别存在的问题,例如光照问题,遮挡问题以及人脸识别可能存在的安全性。通过更加完善的系统代码解决这些问题。

11 个人体会

python实验报告已经接近尾声,在这一周的过程中,我更加领悟到了python的魅力。在写实验报告中,不但加深了以往对于python基础语法的认识和运用,更重要的是,在原来的基础上,学到了新的东西。从开始选题到完成实验报告,一开始,更多的只是想完成任务和对自己需要的角度进行学习,随着完成过程中查找的学习内容逐渐丰富以及了解的积累,开始对python越来越感兴趣。当然在个人课程设计过程中遇到了一些技术难点,例如如何检测到有障碍物遮挡的人脸区域,在人群中识别脸部特征较为困难,光照问题,遮挡问题,动态识别问题,图形质量问题,以及人脸识别可能存在安全问题。分析解决办法:利用思维识别技术来进行认证,这项技术具有防窥性,防复制特性,使用户可以把多个账号的密码统一成一个,简化记忆,而且还具备双向验证能力。最后使人脸识别是否戴口罩技术更加完善应用到生活的各个方面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/601743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt应用-实现图像截取功能类似QQ上传头像截取功能

本文演示利用Qt实现图像截取功能类似QQ上传头像截取功能。 效果如下,通过移动中间的裁剪区域可以获得一张裁剪后的图片。 目录

UE4运用C++和框架开发坦克大战教程笔记(十四)(第43~45集)

UE4运用C和框架开发坦克大战教程笔记(十四)(第43~45集) 43. 单个加载 UObject 功能获取资源 URL 链接实现异步加载单个 UObject 类型资源 44. 批量加载 UObject 功能测试加载单个 UObject 资源批量加载多个同类的 UObject 资源 45…

c# OpenCvSharp透视矫正参数调整器

透视矫正不够智能化,每次都要进行局部参数调整,不便于程序使用,程序流程还是那几个步骤; 1、读取图像、灰度化 2、高斯滤波 3、二值化 4、边缘检测 灰度化图 上个图看看经过调整透视矫正边缘检测结果我还是挺满意的 发现一个…

时间戳长度

在线工具 时间戳分秒和毫秒,秒返回的是10位数字,毫秒返回的是13位数字 无论用那种语言,时间戳都是一样的,使用的时候需要注意下长度即可。

MongoDB数据类型详解

BSON 协议与数据类型 MongoDB 为什么会使用 BSON? JSON 是当今非常通用的一种跨语言 Web 数据交互格式,属 ECMAScript 标准规范的一个子集。JSON (JavaScript Object Notation,JS 对象简谱)即 JavaScript 对象表示法…

开源项目 | 完整部署流程、一款开源人人可用的开源数据可视化分析工具

📚 项目介绍 在互联网数据大爆炸的这几年,各类数据处理、数据可视化的需求使得 GitHub 上诞生了一大批高质量的 BI 工具。 借助这些 BI 工具,我们能够大幅提升数据分析效率、生成更高质量的项目报告,让用户通过直观的数据看到结…

微服务实战系列之API加密

前言 随着一阵阵凛冽寒风的呼啸,新的年轮不知不觉滚滚而来。故事随着2023的远去,尘封于案底;希望迎着新年,绽放于枝头。在2024新岁启航,扬帆破浪之时,让烦恼抛洒于九霄,让生机蓬勃于朝朝暮暮。 …

Eureka相关问题及答案(2024)

1、什么是Eureka? Eureka是一个由Netflix开发的服务发现(Service Discovery)工具,它是Spring Cloud生态系统中的一个关键组件。服务发现是微服务架构中的一个重要概念,它允许服务实例在启动时注册自己,以便…

如何充值GPT会员账号?

详情点击链接:如何充值GPT会员账号? 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析,AI画图,图像识别,文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2二定制自己的…

Copilot在PyCharm中可能遇到的问题及其解决方案

尽管GitHub Copilot为PyCharm用户带来了诸多便利,但在实际使用过程中,部分开发者可能会遇到一些问题。下面是一个典型的场景及相应的解决方法: 问题描述: 在启用GitHub Copilot后,在编写Python代码时发现,虽…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)创建并初始化TcpServer实例 以及 启动

对于一个TcpServer来说,它的灵魂是什么?就是需要提供一个事件循环EventLop(EventLoop),不停地去检测有没有客户端的连接到达,有没有客户端给服务器发送数据,描述的这些动作,反应堆模型能够胜任。当服务器和…

【Docker】容器的相关命令

上一篇:创建,查看,进入容器 https://blog.csdn.net/m0_67930426/article/details/135430093?spm1001.2014.3001.5502 目录 1. 关闭容器 2.启动容器 3.删除容器 4.查看容器的信息 查看容器 1. 关闭容器 从图上来看,容器 aa…

机器学习-基于attention机制来实现对Image Caption图像描述实验

机器学习-基于attention机制来实现对Image Caption图像描述实验 实验目的 基于attention机制来实现对Image Caption图像描述 实验内容 1.了解一下RNN的Encoder-Decoder结构 在最原始的RNN结构中,输入序列和输出序列必须是严格等长的。但在机器翻译等任务中&…

idea中使用Lombok 失效,@Slf4j 找不到符号的解决办法

文章目录 一、前言二、问题排查和解决方案三、 其他解决方案3.1 另一种解决方案3.2 参考文章 一、前言 今天在一个多module工程中,新增了一个 springboot(版本 2.2.4.RELEASE) module,像往常一样,我引入了lombok依赖&…

selenium 用webdriver.Chrome 访问网页闪退解决方案

1.1.1. 解决方案: 1.1.1.1. 移动插件到谷歌的安装目录下 1.1.1.2. 设置环境变量 1.1.1.3. 重启电脑检查成功 解决时间:5min

58.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏菜单文字资源读取的逆向分析

内容来源于:易道云信息技术研究院VIP课 之前的内容:接管游戏的自动药水设定功能-CSDN博客 码云地址(master分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:34b9c1d43b512d0b4a3c395b…

Elasticsearch地理位置数据索引

地理位置数据索引 在 Elasticsearch 中,地理位置数据的索引涉及两种主要的字段类型:geo_point 和 geo_shape。这些字段类型允许 Elasticsearch 存储和查询地理空间数据,如坐标点、线和多边形。 geo_point Elasticsearch的geo_point字段类型…

Springboot支付宝沙箱支付(完整详细步骤)

Springboot支付宝沙箱支付(完整详细步骤) 网页操作步骤1.进入支付宝开发平台—沙箱环境2.点击沙箱进入沙箱环境3.进入沙箱,配置接口加签方式4.配置应用网关5.生成自己的密钥 IntelliJ IDEA 操作步骤1.导入依赖2.在 application.yml 里面进行配…

java基于SSM的毕业生就业管理系统+vue论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本毕业生就业管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信…

TypeScript接口、对象

目录 1、TypeScript 接口 1.1、实例 1.2、联合类型和接口 1.3、接口和数组 1.4、接口和继承 1.5、单继承实例 1.6、多继承实例 2、TypeScript 对象 2.2、对象实例 2.3、TypeScript类型模板 2.4、鸭子类型(Duck typing) 1、TypeScript 接口 接口…