写在前面的话
前几天有个小伙伴私我会不会做关于人脸检测与识别的小项目,奈何我现在主要是学习研究NLP了,所以关于CV的很多东西也有点力不从心,突然想起来去年我的毕业设计就是做的关于人脸检测与识别这一块,但是内在的模型是基于BaiduAI的开放接口做的,所以与其让它停留在电脑里吃灰,不如分享给大家,说不定对大家也有帮助。
项目源码已上传Github, 请点击此处。
总体结构
我的毕设题目是《基于深度学习的在线课堂学生异常行为检测与分析》,其实目的就是根据课堂期间检测学生的面部信息去应对疫情期间学生网课的消极状况,反馈给教师,从而提高网课效率。
主要包括了三个部分:
1、学生端:C/S架构,主要使用Python实现,Pycharm开发工具开发,以PyQt作为主要的图形化界面,涉及到的主要技术为:QThread、PyQt的界面模板、Mysql数据持久化、Baidu开放平台的交互等。
2、教师端: C/S架构,主要使用Python实现,也是Pycharm开发,同样以PyQt作为主要的图形化界面,涉及到的主要技术也是: QThread、PyQt的界面模板、Mysql数据持久化、Baidu开放平台的交互等。
3、教务处系统: B/S架构,主要使用 SSM 后端框架 + Bootstrap前端框架实现,使用Idea进行开发,涉及到的主要技术为:Java基础、Spring、SpringMVC、Mybatis持久化框架、Bootstrap前端框架等。
接下来将详细介绍以下部分的具体功能与截图。
学生端
学生端,顾名思义,是给学生进行使用的,主要包含以下几个模块:
1、登录功能(以及相应的响应提示)
2、模拟检测(调用BaiduAI的接口预测人脸检测得到以下的信息(实时刷新):检测人脸是否成功,脸部坐标、性别、表情、脸型、后三项暂时忘记),可以重新暂停和开始
3、我的课表(可以查看该学生的所有课程、刷新、模糊搜索,灰色代表已经上过的课程,绿色为今日课程,蓝色为未来课程)
4、我的班级(可以查看班级人员)
5、进入课程(如果该时间点符合进入课程,则进入,否则不予进入,同样可刷新)
5.1、课程信息
5.2、上课信息(此处会和教师端的课程检测界面同步)
6、人脸注册(只可注册一次,即存入图片库,供人脸识别)
7、人脸删除(将人脸从图片库中清除)
8、违规检索(查看自己的所有违规信息)
9、个人设置(主要可修改登录系统的密码)
教师端
1、登录功能(以及相应的响应提示)
2、我的课表(检索该老师的所有课程信息,也包含模糊检索)
3、进入课程
3.1、开始上课、查看迟到、违规录入、下课
这张图片是又从论文中找上来的,嘿嘿,可以同时检测多个同学
4、个人设置(主要可修改登录系统的密码)
教务处系统
1、登录功能(仅供教务处人员)
2、说明页面
3、学生信息管理(增删改查、模糊搜索、分页、数据导出)
4、教师信息管理(增删改查、模糊搜索、分页、数据导出)
5、课程表信息管理(增删改查、模糊搜索、分页、数据导出)
6、课程科目管理(增删改查、模糊搜索、分页、数据导出)
7、违规等级管理(增删改查、模糊搜索、分页、数据导出)
8、违规信息管理(增删改查、模糊搜索、分页、数据导出)
9、个人设置(修改密码)
10、注销登录
总结
好啦就这些了,当时自己亲手写的东西有些隐隐约约都忘记了,但是再回眸感觉也很值得,有任何疑问都可以留言评论哦(系统源码链接在文章开头),祝大家学业有成,身体健康!