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

相关文章

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S