AttenFace一个基于人脸识别的实时考勤验证系统算法研究

2024-05-31 21:20

本文主要是介绍AttenFace一个基于人脸识别的实时考勤验证系统算法研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0 、引言

论文提出了一个使用面部识别、允许实时监控考勤的考勤系统, 可以检查由于欺骗和遗漏造成的欺诈。
论文地址:https://arxiv.org/abs/2211.07582v1

1. 概述

在大学和其他机构的课堂上,通常会进行考勤。然而,这种方式往往很原始,有改进的余地。实行叫学生的名字或在考勤本上写下他们的名字,但这很费时间和精力。这些方法也容易出现作弊行为,如替代出勤或在核实出勤后离开教室。和学生不必手动回复出勤情况。由于摄像头一直在记录,因此也很容易确定学生在课堂上停留的时间,只有超过负责该班的教授确定的阈值的学生才能最终得到考勤。此外,该系统还提供了一个管理屏幕,学生可以在这里检查他们的课堂出勤情况,教授们可以为他们的班级设置出勤门槛。这是使用面部识别的一个例子。

因此,本文提出了AttenFace,一个使用面部识别的系统,以节省检查出勤率的时间和精力并防止欺诈。用相机拍摄课堂,通过面部识别从定期拍摄的快照中识别学生,并存储在数据库中。教师

2.AttenFace系统概述

AttenFace可以利用面部识别自动处理学生考勤。一般过程如下:首先,当一堂课开始时,摄像机开始记录,每10分钟拍摄一张快照。接下来,对获得的快照进行面部识别,以识别学生;每10分钟,确定学生是否在场。最后,对于所有的快照,如果有一定数量的快照被认为是在场的,那么该班级就被认为是出席了。请注意,这个 "一定数量 "是一个规范,可以由班级的教授来设定。每10分钟的出席人数被称为bu “锁定数”。

3. AttenFace系统要求

列出了功能和非功能的要求。四个功能要求是:(1)与学生/教授/管理员机构的登录信息相联系的登录门户(2)显示学生/教授所选课程出勤情况的管理屏幕(3)教授能够改变课程的出勤标准(4)管理员能够手动推翻错误的出勤结果。非功能要求是:(1)系统能从其机构的数据库中获取必要的学生/班级信息(2)显示出勤情况的管理屏幕是跨平台的,强调移动的兼容性,以方便用户(3)面部识别算法有一个计算开销(4) 面部识别算法可以在多个实例上并行运行,以便在多个班级进行平行处理。

4. AttenFace的使用案例

该文件列出了以下十个用例。
(1)学生/教授/管理员使用他/她的时期登录信息登录管理屏幕
(2)学生显示他/她参加的所有课程的出勤率
(3)学生在一节课结束后立即显示出勤率(0或1)
(4)学生每10分钟参加的课程的出勤率,这由教授设定检查是否超过了教授设定的阈值
(5)到目前为止,学生参加的课程总数,显示他/她可以缺席的课程数量,直到该课程要求的总缺勤数
(6)该课程的总缺勤数,在教授结束课程后立即进行
(7)教授设定的作为出勤标准的块数,每堂课/改变(教授可以在某些日子里宽松地或随意地出勤,不需要大学管理部门)
(8)教授在开课前改变上课的房间号,以确保在新的房间里启动摄像头,在发生突发事件时进行考勤
(9)管理员在必要时,可以(10) 允许管理员改变上课本身的房间号,以防与另一门课重合
(10)允许管理员改变上课本身的房间号,以防与另一门课重合。

下图是论文中提出的UML用例图。

5. AttenFace系统配置。

系统配置包括四个(前端、后端服务器、人脸识别服务器和数据库),如下图所示。

首先,用户(User)通过管理屏幕(Frontend)进入系统。下图是显示给学生的屏幕样本。在这里,用户可以查看某个班级的出勤、缺勤和可能缺勤的人数,以及每10分钟的出勤决定状态。

此外,下图显示了显示给教师的一个样本屏幕。在这里,教师可以看到他/她所负责的班级的听课人数和听课名单(总听课人数),以及确定听课的阈值(所需的最小块数)。请注意,阈值是可以编辑的。

后端(Backend Server)通过数据库处理,如访问图像进行面部识别,在管理屏幕上显示数据和基本的CRUD操作。它还根据逐个区块的信息来确定班级的出勤率。它还充当向人脸识别服务器发送数据的桥梁,该服务器不能直接访问数据库(数据库)。人脸识别服务器执行人脸识别的高负荷计算处理。在上课期间,它直接从安装在每个教室的摄像头中获取实时画面,并与后端(Backend Server)进行通信以确定出勤率,每个线程都有其相关的独立计算。人脸识别服务器(Face Recognition Server)的每个线程都从后端(Backend Server)接收 “所有上课学生的图像”、“上课时间”、"下课时间 "和 “该教室对应的摄像头ID”。下图是人脸识别服务器(Face Recognition Server)、后端服务器(Backend Server)和摄像头(Camera)的顺序图。

与现有的解决方案相比,后台(后台服务器)和摄像机(照相机)之间的直接通信是一个独立的、完全自动化的系统的重要组成部分。最后,数据库存储有关学生(如用于识别的图像和注册的班级)、班级(如房间号和相应的摄像机ID)和教授(如教授的课程)的信息。下图显示了数据库的简化模式。

6. 在大学教学中的具体用途

要在大学课堂上使用AttenFace,系统首先在课堂开始前5分钟与摄像机建立连接。接下来,教授按要求登录管理屏幕,并更改目标班级的出勤要求。从上课到下课,教室的快照被发送到后台,然后每10分钟发送到面部识别服务器。然后,每隔10分钟,学生被识别并记录为一个区块。最后,在课堂结束时,学生可以登录管理屏幕,立即看到他们在该班的出勤情况。

7. AttenFace的可扩展性和易集成性

AttenFace系统是模块化的。特别是,面部识别服务器(Face Recognition Server)是一个独立的模块。给出学生的照片作为输入,在人脸识别模块中进行计算,并将每个学生的识别结果(无论在该时间段是否在场)返回到后端(后台服务器)。后端(Backend Server)使用这些数据来计算出勤率。 由于其模块化的性质,AttenFace系统可以很容易地集成到现有的大学门户中。例如,很容易将AttenFace实时考勤系统整合到Moodle(*1)中。在本文的案例研究中,管理屏幕(Frontend)、登录机构和与机构数据库的互动都由Moodle处理。需要整合的组件是与人脸识别服务器互动并进行必要计算的后端(后端服务器)脚本,以及人脸识别服务器本身。集成后,考勤数据可以提供给Moodle并显示在前端。(*1) Moodle是一个开源的电子学习平台。它是免费的学习支持软件,可以在课堂上使用,也可以在互联网在线环境下随时随地使用。它允许教授在网上发布教学大纲和讲课材料,学生提交作业,教授对提交的作业进行评分。

8、总结

本文提出了一个名为AttenFace的系统,它使用面部识别来实时统计出勤率。到目前为止,检查课堂出勤率是一个费时费力的过程,但AttenFace成功地实现了这一过程的自动化。此外,AttenFace以区块为单位,每10分钟确定一个学生是否在场,依据的是区块整体的百分比是多少。因此,学生不能在上课时离开教室,必须在教室里停留一定的时间。可以自动确定出勤率,同时排除不正常的情况。本文没有提到所使用的面部识别算法或面部识别的准确性,但在实践中,曾出现过无法检测到学生或无法准确识别学生的情况。各种因素,如教室的照明环境,学生脸部的位置、方向和大小,以及图像质量,都可能影响到人脸识别的准确性。未来需要研究更加稳健并能适应不同情况的人脸识别算法。研究由于各种因素,如照明环境、学生脸部的位置、方向、大小和图像质量,以及由于人脸识别算法造成的准确性和偏差的差异,可能是很有意思的。然而,正如本文所述,人脸识别/认证的有用性和便利性可能会从班级考勤管理等休闲应用中实现,而社会实施可能会取得进展。

这篇关于AttenFace一个基于人脸识别的实时考勤验证系统算法研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1019086

相关文章

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

opencv图像处理之指纹验证的实现

《opencv图像处理之指纹验证的实现》本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、简介二、具体案例实现1. 图像显示函数2. 指纹验证函数3. 主函数4、运行结果三、总结一、

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi