您好, 访客   登录/注册

基于人脸识别的校园课堂出勤网页设计与实现

来源:用户上传      作者:杨振盛 李江华

  摘要:在大学里面上课点到是一件麻烦的事,老师嫌点到耽误上课时间,存在不少逃课的学生抱着侥幸的心理不去上课的问题,设计一款基于人脸识别的校园课堂出勤网页软件。利用JAVA技术实存储和文章信息的上传,前端通过基于人脸识别的校园课堂出勤网页进行照片人脸匹配,前后端通过JSON数据交互。经过测试表明,该系统可以有效地满足基于人脸识别的方式,将缺勤学生姓名等信息存储并展示。
  关键词:出勤;人脸识别;校园;网页;JSON数据
  中图分类号:TP391 文献标识码:A
  文章编号:1009-3044(2020)19-0075-03
  开放科学(资源服务)标识码(OSID):
  人脸识别是将课堂学生的人脸信息与在云端人脸库保存的人脸信息进行匹配,若匹配成功,则成功出勤,若没有匹配成功,人脸库中没有匹配的学生信息将作为缺勤学生展示在前端页面上,可视化界面可以供老师对学生出勤情况进行管理。在大学里面上课点到是一件麻烦的事,老师嫌点到耽误上课时间,不少逃课的学生抱着侥幸的心理而不去上课。Face++提供一个将照片中所有人脸分割成图API和头像匹配的API,只是不能轻易被用户获取,此网页软件旨在解决这一问题,用户为教室学生拍一张照,与班级人脸库图片进行匹配即可得到出勤信息。此网站不仅减轻了老师点到工作,而且更加便捷地统计出班上同学每节课的出勤情况,利用人脸技术实现学生的课堂签到并查缺勤,同时解决了高校老师点到浪费时间和学生找人签到的问题。
  1 系统功能结构的设计
  1.1 服务端系统功能
  如图1所示后台具有如下功能:
  1)创建人脸库
  学校负责人用管理员账号登录后台网站,创建一个以学校命名的人脸库,完成后系统返回学校编号ID(ID用于创建学校内的班级)。
  2)创建班级
  学校名称一栏填写学校名称或者学校编号ID,班级名称为所要创建的班级名字,如计算机xxx班,完成后系统返回班级编号ID。
  3)导入学生人脸照片
  就可以根据学校编号ID和班级编号ID,批量导人班级学生人脸库。
  4)修改密码
  1.2 网页端的主要功能介绍
  如图2所示网页端具有如下功能:
  1)用户选择注册,注册的为一般用户,注册后用户可以登录到平台;
  2)各班级学生出勤检测,教室内抬头率检测,人数检测;
  3)用户可以对默认头像进行修改,通过常见问题模块了解网页平台的使用;
  4)对用户查询的缺勤名单结果进行保存管理,提供缺勤名单下载。
  2 系统实现的关键技术
  2.1 数据加密提高安全性
  由于基于人脸识别的校园课堂出勤网页的各大功能用户需要注册后才能使用,并且在识别后显示班级缺勤学生,在用户使用过程中,注册登录时密码加密是有必要的,所以数据安全性是非常重要的。采用严格的身份认证来确保用户的安全性,我们通过前后台分离,数据库的加密来保证整个系统的安全性。数据在传输过程中为了避免数据被他人截取和非法修改数据,要对数据进行RSA算法加密处理,保证数据的安全性,当用户的数据传到后台中,后台获取可以通过解密获得正确的数据信息,再把数据存储下来。同理,用户从后台提取数据也要经进行加密,网页端获取到数据后进行解密,从而保证了数据安全性和可靠性。具体如图3所示。
  2.2 图片压缩处理技术难点
  Face++提供的接口仅限于上传2MB以内大小的图片,但是实际上拍摄全体学生的照片大小大多超过2MB,而且图片过大上传的速度过慢会影响用户体验。我们了解到一个图片压缩库imageConversion在Vue.js内可以在图片上传之前对图片进行自定义式的压缩且使用方便。为追求用户体验,我们将用户上传的3-5MB之内的所有图片都压缩在2MB以下且不失真,完美解决用户图片过大的问题。
  2.3 签到结果响应速度技术难点
  项目初期签到结果响应速度较慢,首先把图片将图片上传到云端生成检测集(根据图片检测到的人脸token),根据检测集对云端人脸库的匹配生成匹配集(匹配到的学生人脸token集合)和验证集(应该有的学生的人脸token集合)
  出问题过程:
  匹配集=遍历后每一个token都访问一次云端人脸库,生成匹配token
  签到学生=匹配集和验证集的交集
  缺勤学生=验证集一匹配集
  初期我们使用for循环进行遍历,发现响应速度较慢的情况下,采用Java8的新特性——stream,在设想中,将for循环的操作改放与stream中,因为计算是从内存移至CPU中,处理速度会更快,但在实际过程中速度提升的不是特别明显,因为原因是因为匹配集的生成耗时过长。
  假设一个token的访问是1秒,60个就是1分钟了,显然这是不可接受的,于是我们将其改为异步访问,用多线程的方式尝试解决,在对一张含40学生的图片进行检测的时间由Imin以上降至25s左右
  3 系统界面设计
  校园课堂智能出勤软件,是一款面向高校师生的教学辅助类网页软件,其核心功能为利用人脸技术实现学生的课堂签到并查缺勤,同时本软件也为师生提供了检测抬头率、检测人数、记录下载等功能。
  1)注冊登录模块:注册是为了使得用户信息更好的管理,登录是用户使用平台的一个人口。
  2)查缺勤功能模块:提供检测缺勤的渠道,识别后将缺勤学生名单进行显示。
  3)查人数功能模块:提供检测人数的渠道,识别后将照片内所有人数进行显示。
  4)查抬头率功能模块:提供检测抬头率的渠道,识别后将照片内学生抬头率进行显示,侧面反映出学生听课效率。
  5)收藏记录模块:此模块提供曾经查询的记录,并提供下载缺勤名单。
  6)用户个人中心模块:修改头像,用户的问题反馈以及网页使用帮助等信息,以供用户进行参考和选择。
  4 结束语
  该软件利用进行人脸识别技术将照片和人脸进行匹配实现查缺勤、查抬头率、查人数等功能。此网站不仅减轻了老师点到工作,而且更加便捷的统计出班上同学每节课的出勤情况,同时解决了高校老师点到浪费时间和学生找人签到的问题。
  本系统经过测试,各个功能模块运行都很稳定,人脸技术匹配成功率达到90%以上,实用价值和商用价值很高。
  参考文献:
  [1]梁灏.Vue.js实战[Ml.北京:清华大学出版社,2017: 1-235.
  [2]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2010.
  [3]贺伟,李凤.基于项目驱动式教学的《Java面向对象程序设计》课程实践[J]‘计算机产品与流通,2019(1): 263-264.
  【通联编辑:谢媛媛】
  收稿日期:2020-04-25
  作者简介:杨振盛(1999-),男,江西抚州人,本科在读;李江华(1976-),男,河南南阳人,副教授,硕士生导师,博士,研究方向为面向大数据的隐私保护技术研究。
转载注明来源:https://www.xzbu.com/8/view-15294603.htm