版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:
1. 项目简介
本项目使用Python3.6编写,Qt Designer(QT5)设计主界面,PyQt5库编写控件的功能,使用开源 DeepFace人脸识别算法进行人脸识别,使用眨眼检测来实现活体识别,使用OpenCV3实现实时人脸识别。 同时,将班级学生信息,各班级学生人数、考勤信息录入到MySQL数据库中,方便集中统一化管理。 因为本项目仅由我一个人开发,能力精力有限,实现了预期的绝大多数功能,但是活体检测功能还存在bug,主要表现是界面卡死,如果小伙伴对本项目中有不懂的地方或者发现问题提出解决方案,欢迎私聊我或者在此博客评论亦或在github提交。项目大概持续了两三个月的时间,在开发过程中,遇到过许多难题,参考了很多教程,才有了这个项目。相信大家看到这里,一定是在比赛中或者是作业中遇到类似问题了,我也有过类似的经历,很清楚找不到解决方案,自己盲目摸索的苦恼,这也是我选择开源的原因,个人能力有限,但是希望本项目能给需要的小伙伴提供帮助,完整代码在文章结尾 。如果对你有帮助的话,点个赞吧!
2. 系统前端设计
使用 Qt Designer 设计前端界面。
2.1 主界面
2.2 信息采集界面
3. 数据库存取信息
3.1 数据库可视化工具 Navicat
使用该软件是为了方便管理维护信息,如果有数据库基础,当然也可以选择其它方式。其主界面如下:
3.2 创建数据库流程
3.3 PyMySQL
项目中只使用了简单的写入、查询等几个常用命令,即使没有数据库基础的话,上手这个库也比较容易。看一下文档,基本就会了。
4. 系统功能介绍(正在更新···)
4.1 信息采集
4.2 人脸识别
4.3 活体检测(存在bug)
目前的bug是,活体检测开启关闭之后,关闭人脸考勤,再关闭相机的时候会卡死。
4.4 查询考勤信息
4.5 查询学生信息
4.6 请假登记
5. 使用教程
5.1 系统环境配置
5.2 需要修改源码
文件目录树:
安装 msqlservice 然后修改 文件中的数据库连接代码。比如 。这首先需要在 navicat中创建数据库。
如果不是通过本系统的信息采集功能采集的人脸照片,请将采集的人脸照片放到 路径下,其中是学号(唯一索引),如果是通过系统采集的,则会自动存放在该路径下,不需要修改。
5.3 使用步骤
navicat创建数据库,打开数据库录入学生信息和班级信息;
修改源码,连接到创建的数据库
采集人脸照片,点击界面中的
信息采集
,在子窗口操作即可。
训练人脸识别模型,点击界面中的
更新人脸库
开始考勤:
打开相机
-->
开始考勤
Have fun!
6. 源码获取