# 智慧教室人脸考勤系统
# 一、需求分析
## 1.1 项目背景
长期以来,签到考勤是考查学生出勤率与学习情况的重要方式。目前,中小学与高等学校的老师普遍使用人工考勤,这种传统的人工考勤方式效率低下,且往往存在“代签”现象;使用学习通等第三方签到软件则存在远程签到、代签等弊端,不仅给任课老师带来不必要的负担,还浪费了课堂宝贵的上课时间。
为了解决上述问题,本团队开发了一款基于基于人脸识别的考勤设备:智慧教室人脸考勤系统。从教师点名到人脸识别,课堂考勤的升级换代,本质上是身份识别方式的迭代演变。随着技术的成熟,考勤机得到了飞跃式发展,产品形态和应用模式呈现出多元化、智能化的发展态势。对于学校而言,除了考勤效率和安全性能,智能化、在线化、管理精准化等也是考勤机选择的重要考量标准,而人脸考勤系统兼具了这些功能,这也是众多学校与任课老师选择人脸考勤的原因。
人脸考勤系统以人脸为介质,人员经过设备时只需轻轻一瞥,1 秒内即可自动识别人员身份并完成签到,实现对人员的精准管理。无需担心错签或漏签问题,只需要刷脸就能秒速签到,大大提升了学生通行效率和体验。该系统成本低廉,复用性强,对未来学校智慧教室的实现与推广具有巨大积极作用。
**目标人群:**
包括中小学、高等院校、企业等各种实行考勤绩效评比的单位。
# 二、设计框架
## 2.1 总体功能
一种智慧教室人脸考勤系统,其特征在于,基于客户端-服务器结构设计,包括客户端的人脸检测系统和服务器的签到管理系统两部分。
客户端为一台搭载摄像头的嵌入式微型运算设备,具有基于深度学习 AI 的人脸识别功能,并通过网络通信将人脸检测图像发送至服务器。
服务器包括学生个人信息数据库,能够通过网络通信接收人脸图像并与数据库中的特征信息进行匹配,完成签到,并将匹配结果与个人信息发送到客户端设备。
该系统的总体功能设计框图,如图 1 所示。
![](https://www.writebug.com/myres/static/uploads/2022/1/4/06ca1d963ab1ec992eddfddfe00f1c12.writebug)
图 1 总体功能设计框图
## 2.2 客户端功能
人脸考勤系统客户端的主要功能有:人脸识别、网络通信、数据可视化等。
### 2.2.1 人脸识别模块
人脸识别模块是基于 face recognition 库实现的,face recognition 是世界上最简单的人脸识别库。人脸识别模块分为人脸目标检测、人脸特征向量编码以及人脸身份匹配三个子模块。人脸目标检测实现方式是通过调用人脸预训练模型进行目标检测,输入摄像头采集的实时画面 img,调用 face_recognition 的方法 face_locations,输出包含人脸坐标点的列表 face_locations。
人脸特征向量编码的实现方式是通过调用 face_recognition 的方法 face_encodings,输入人脸图像 face 以及包含人脸图像坐标的 face_locations,输出该人脸的 128 维特征向量,该向量中包含人脸中五官特有的权重。
人脸身份匹配的实现方式是通过将人脸图像的 128 维特征向量与人脸特征数据库中的特征向量进行逐一对比,通过调用 face_recognition 的方法
face_distance,计算待测向量与数据库向量的欧氏距离,距离最小即为匹配成功,从而实现人脸识别结果与身份信息的匹配。
上述方法的关键代码实现,如图 2 所示。
![](https://www.writebug.com/myres/static/uploads/2022/1/4/38d715ece0dd259e0bbbc74e6079b2e6.writebug)
图 2 人脸识别模块关键代码
使用 OpenCV 的 cv2.VideoCapture 函数捕获摄像头实时采集的图像,使用 cv2.resize 函数对图像进行 1/4 降采样处理(降低分辨率有利于减少人脸目标检测时间);使用 face_recognition 的方法 face_locations 、 face_encodings 、 face_distance 等方法进行人脸目标检测与定位等一系列处理后,得到人脸识别结果,流程图与效果图如图 3、图 4 所示。
![](https://www.writebug.com/myres/static/uploads/2022/1/4/26b18ffc08f6729b638c723df6f4d8e2.writebug)
图 3 人脸识别模块流程图
![](https://www.writebug.com/myres/static/uploads/2022/1/4/fb47e93587294285316d9cb83265c950.writebug)
图 4 基于 face recognition 的人脸识别
### 2.2.2 网络通信模块
客户端具备网络通信功能,基于 TCP/IP 协议的 socket 套接字实现,依靠 WIFI 无线网络实现客户端与服务器的连接。客户端的 IP 地址由路由器通过 DHCP 自动分配,主要作用是发送人脸图像到服务器进行个人信息匹配,并接收相应的个人信息,如姓名、班级、学号、专业、签到状态等。
网络通信模块包括图像数据流编码、数据流发送与接收两个子模块。
图像数据流编码:主要实现了将 RGB 三通道人脸图像编码为数据流的功能,主要的实现方法是使用 OpenCV 的 cv2.imencode 函数以及 tostring 函数将人脸图像矩阵转换为 socket 能够发送的数据流形式。
数据流发送与接收:通过 socket 建立了对服务器 ip 地址与端口的连接,并通过 socket.send 与 socket.recv 函数实现了数据流基于 WIFI 无线网络的发送与接收功能。网络通信模块工作流程图,如图 5 所示。
![](https://www.writebug.com/myres/static/uploads/2022/1/4/dfd4d05bb834248e5436fac09e143d3e.writebug)
图 5 客户端网络通信模块工作流程图
### 2.2.3 数据可视化模块
该模块主要以软件界面的形式呈现,基于 PyQt5 搭建,主要使用的控件有 QLabel(显示签到状态、当前课程、系统时间、人脸检测结果图以及服务器发送的个人证件照、个人信息等)、QPushButton(控制客户端开关机)、QTime(用于显示系统时间)。
通过 Anaconda 自带的 QTDesigner 进行可视化界面设计,包括控件添加、控件大小设置与空间布局等,保存得到.ui 格式的界面文件。使用外部工具PyUIC 将 ui 文件转化为 python 代码。
通过 setGeometry 函数实现控件的大小、坐标调整;通过 setText 函数实现 QLabel 的字符串显示,可用于显示显示签到状态、当前课程以及个人信息等;通过 setPixmap 函数实现 QLabel 的图像显示,可用于显示人脸检测结果图以及个人证件照;通过 setStyleSheet 函数实现 QLabel 背景颜色的更改。
使用本地 time 库的 time.localtime 函数获取当前的系统时间,并使用 setText 显示到界面上方的 QLabel 上,使用 setFont 调整字体类型、粗细以及字号。
效果图如图 6 所示。
![](https://www.writebug.com/myres/static/uploads/2022/1/4/ebc800535ad967de4d7a4e1c363c7dca.writebug)
图 6 客户端数据可视化界面效果图
## 2.3 服务器功能
人脸考勤系统服务器的主要功能有:数据库、签到管理、网络通信等,主要用于查看签到名单、管理学生数据库、管理课程列表。
### 2.3.1 数据库模块
数据库模块基于 MySQL 实现,包括个人信息数据库、人脸数据库两部分。
首先建立学生个人信息数据库,主要用于存储学生个人信息,包括个人姓名、证件照、学号、班级、专业等。使用 DB Browser 软件进行数据库的创建、查看以及修改,如图 7 所示。
![](https://www.writebug.com/myres/static/uploads/2022/1/4/90d3fe7b1dee2387990d07ad33bcd3b5.writebug)
图 7 使用 DB Browser 进行数据库创建与修改
Python 定义了一套操作数据库的 API 接口:SQLite3,所以本系统使用 SQLite3 直接来操作数据库,使用 Python 操作数据库的方法很简单:先创建光标函数 cursor,相
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
长期以来,签到考勤是考查学生出勤率与学习情况的重要方式。目前,中小学与高等学校的老师普遍使用人工考勤,这种传统的人工考勤方式效率低下,且往往存在“代签”现象;使用学习通等第三方签到软件则存在远程签到、代签等弊端,不仅给任课老师带来不必要的负担,还浪费了课堂宝贵的上课时间。 为了解决上述问题,本团队开发了一款基于基于人脸识别的考勤设备:智慧教室人脸考勤系统。从教师点名到人脸识别,课堂考勤的升级换代,本质上是身份识别方式的迭代演变。随着技术的成熟,考勤机得到了飞跃式发展,产品形态和应用模式呈现出多元化、智能化的发展态势。对于学校而言,除了考勤效率和安全性能,智能化、在线化、管理精准化等也是考勤机选择的重要考量标准,而人脸考勤系统兼具了这些功能,这也是众多学校与任课老师选择人脸考勤的原因。 人脸考勤系统以人脸为介质,人员经过设备时只需轻轻一瞥,1 秒内即可自动识别人员身份并完成签到,实现对人员的精准管理。无需担心错签或漏签问题,只需要刷脸就能秒速签到,大大提升了学生通行效率和体验。该系统成本低廉,复用性强,对未来学校智慧教室的实现与推广具有巨大积极作用。 目标人群: 包括中小学、高等
资源推荐
资源详情
资源评论
收起资源包目录
基于python face recognition OpenCV 的智慧教室人脸考勤系统 (毕业设计 附完整代码可直接运行) (223个子文件)
person_name.csv 79B
student.db 2KB
.gitignore 47B
.gitignore 47B
client.iml 395B
server.iml 395B
example2.jpg 266KB
example1.jpg 247KB
1brighter.jpg 118KB
微信图片_202105010903452.jpg 114KB
微信图片_202105010904073.jpg 109KB
微信图片_202105010904071.jpg 109KB
微信图片_20210501090407.jpg 109KB
微信图片_202105010904072.jpg 108KB
1.jpg 104KB
1darker.jpg 103KB
微信图片_202105010903454.jpg 92KB
微信图片_202105010904074.jpg 91KB
微信图片_202105010903451.jpg 91KB
微信图片_202105010903453.jpg 80KB
微信图片_20210501090345.jpg 77KB
1blur.jpg 76KB
0brighter.jpg 72KB
0.jpg 68KB
0darker.jpg 64KB
2brighter.jpg 60KB
2.jpg 56KB
1brighter.jpg 54KB
2darker.jpg 52KB
0brighter.jpg 49KB
1.jpg 49KB
WIN_20210430_22_04_01_Pro.jpg 45KB
1darker.jpg 45KB
4brighter.jpg 45KB
WIN_20210430_22_03_47_Pro.jpg 44KB
WIN_20210430_22_03_49_Pro.jpg 44KB
0blur.jpg 44KB
4.jpg 43KB
0.jpg 41KB
WIN_20210430_22_04_03_Pro.jpg 41KB
0darker.jpg 41KB
WIN_20210430_22_04_10_Pro.jpg 40KB
WIN_20210430_22_03_59_Pro.jpg 40KB
4darker.jpg 39KB
WIN_20210430_22_04_01_Probrighter.jpg 38KB
WIN_20210430_22_04_06_Pro.jpg 38KB
WIN_20210430_22_03_49_Probrighter.jpg 37KB
WIN_20210430_22_04_07_Pro.jpg 37KB
3brighter.jpg 37KB
8.jpg 37KB
9.jpg 35KB
0.jpg 35KB
WIN_20210430_22_03_47_Probrighter.jpg 35KB
6.jpg 35KB
3.jpg 35KB
WIN_20210430_22_04_01_Prodarker.jpg 34KB
WIN_20210430_22_04_10_Probrighter.jpg 34KB
6brighter.jpg 34KB
WIN_20210430_22_04_03_Probrighter.jpg 34KB
WIN_20210430_22_03_47_Prodarker.jpg 34KB
WIN_20210430_22_03_49_Prodarker.jpg 33KB
6.jpg 33KB
WIN_20210430_22_03_59_Probrighter.jpg 33KB
2blur.jpg 32KB
3darker.jpg 32KB
5.jpg 32KB
7.jpg 32KB
0blur.jpg 31KB
5brighter.jpg 31KB
WIN_20210430_22_04_07_Probrighter.jpg 31KB
WIN_20210430_22_04_03_Prodarker.jpg 30KB
WIN_20210430_22_04_06_Probrighter.jpg 30KB
8brighter.jpg 30KB
WIN_20210430_22_04_10_Prodarker.jpg 29KB
6darker.jpg 29KB
WIN_20210430_22_03_59_Prodarker.jpg 29KB
6brighter.jpg 28KB
1blur.jpg 28KB
11.jpg 28KB
5darker.jpg 28KB
0brighter.jpg 28KB
3.jpg 28KB
11brighter.jpg 27KB
WIN_20210430_22_03_55_Pro.jpg 26KB
WIN_20210430_22_04_06_Prodarker.jpg 26KB
4.jpg 26KB
8darker.jpg 26KB
WIN_20210430_22_04_07_Prodarker.jpg 26KB
12brighter.jpg 26KB
10.jpg 25KB
3blur.jpg 25KB
WIN_20210430_22_04_17_Pro.jpg 25KB
3brighter.jpg 25KB
WIN_20210430_22_04_01_Problur.jpg 24KB
WIN_20210430_22_03_47_Problur.jpg 24KB
12darker.jpg 24KB
3.jpg 24KB
6darker.jpg 24KB
WIN_20210430_22_03_49_Problur.jpg 24KB
0darker.jpg 24KB
共 223 条
- 1
- 2
- 3
甜辣uu
- 粉丝: 8386
- 资源: 1103
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 南京邮电大学数学实验:熟练掌握 Matlab 软件的基本命令和操作
- 2017校招真题校园招聘真题算法题(37道)Python源码.zip
- 基于单片机protues仿真的多功能自动饮水机系统设计(仿真图、源代码、演示视频)
- 二叉树7-1-1.cpp
- android 9.0 原生模拟器 签名文件
- 技术面试最后反问面试官的话 校招面试非技术问题有哪些 非技术问题如何回答.png
- NB-IOT-BC26全网通模块Altium+ CADENCE +PADS三种格式(原理图SCH+PCB封装库)文件.zip
- 基于微信小程序开发的校园失物招领系统源码毕业设计(优质项目源码).zip
- 词向量是一种将自然语言中的单词转换为数值向量的技术,它能够捕捉词义和上下文信息
- nmap与masscan的简单使用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页