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、边缘检测 灰度化图 上个图看看经过调整透视矫正边缘检测结果我还是挺满意的 发现一个…

MongoDB数据类型详解

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

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

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

微服务实战系列之API加密

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

如何充值GPT会员账号?

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

基于多反应堆的高并发服务器【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…

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 接口 接口…

Mac启动时候出现禁止符号

Mac启动时候出现禁止符号 启动时候出现禁止符号,意味着 选定的启动磁盘 包含 Mac 操作系统,但它不是 您的 Mac 可以使用的 macOS 。您应该在这个磁盘上 重新安装 macOS 。 可以尝试以下苹果提供的方法: Mac启动时候出现禁止符号 不要轻易抹除磁盘&am…

idea将本地编译好的代码上传到hub镜像仓库

第一步:编译打包本地的文件 package 第二步:执行docker bulid打包命令 docker build -t sunyuhua/algo-ability:1.0.0 .sunyuhuasunyuhua-HKF-WXX:~/workspace/shbgit/algo-ability$ docker build -t sunyuhua/algo-ability:1.0.0 . [] Building 141.…

C语言编译器(C语言编程软件)完全攻略

介绍常用C语言编译器的安装、配置和使用。 常用的C语言编译器(编程软件)介绍,同时附带下载地址、详细的安装教程和使用教程。我们还对比了不同C语言编译器(C语言编程软件)的优缺点,让初学者知道该如何选择…

差分电路原理以及为什么输出电压要偏移

我们在使用放大器芯片的时候,除了对放大器芯片本身应用外,通常还需要搭建一些外围电路来满足放大器芯片的使用条件,最终满足应用的功能,下面通过一个差分电路来熟悉这些应用。 差分运算放大电路,对共模信号得到有效抑…