英语原文共 9 页
基于Android的课程考勤系统,使用人脸识别
摘要:
本文使用学生出勤系统来衡量学生参加课程。目前已经存在基于生物识别,条形码,QR码和近场通信移动设备的自动化考勤系统。 然而,先前的系统在处理时间方面是低效的。 本文旨在提出一种基于Android的面向课程考勤系统承认。 为了确保学生参加课程,QR码包含课程信息生成并显示在教室前面。学生们只需要使用智能手机捕捉到自己的脸部图像并显示QR码, 然后图像将发送到服务器以进行到课率考勤。实验结果表明,通过使用线性判别分析,所提出的考勤系统实现的人脸识别的准确性达到了97.29,并且仅需要0.000096s来从服务器中识别面部图像。
关键词:课程考勤 人脸识别系统 基于Android 智能手机
1:简介
学生出勤是学生在课程中取得成功的重要因素,在一些大学里面,学生上课的出勤率决定着他能否参加本门课的考试。记录学生出勤率的传统方法是通过要求每个学生在课程开始时通过所有学生的出勤列表进行签名来进行,然而,这种方法浪费时间并且可能导致欺诈,特别是在选课人数较多的班级中,学生可以在课堂上为其他没有上课的学生签名。为了避免发生欺诈,有时讲师会一个接一个地在选课名单上念出学生的名字。这种方法占用讲座时间并对讲课的效果产生影响。如今,一般通过使用自动考勤系统来记录出勤率。一些自动化考勤系统基于生物识别,例如如指纹识别(Mohamed和Raghu,2012年; Rao和Satoa,2013年; Soewito等人,2015年; Zainal等,2016; Zainal等,2014)面部识别(Chintalapati和Raghunadh,2013年; Fuzail等,2014;梅塔和Tomar,2016年; 2017年Raghuwanshi和斯瓦米; Sayeed等人,2017; Wagh等,2015; Wati Mohamad Yusof等,2018年)和掌纹识别(bayoumi 等,2015)来识别学生谁在场并记录他们的出勤率。另一个考勤系统提议使用条形码(Noor等,2015),QR码(Rahni等,2015),RFID(Arulogun等,2013; Bhalla等,2013; Hussain等,2014; Rjeib等,2018)和近场通信(NFC)移动设备(Mohandes,2017)获得学生出勤过程的ID。一些出勤系统使用便携式设备(Mohamed和Raghu,2012; Zainal等,2016,2014)和智能手机(Islam,等。2017; Mohandes,2017; Noor等,2015; Rahni等,2015; Soewitoet)开发2015。
Rao和Satoa(2013)提出了一种使用指纹识别的员工考勤管理系统。 每次进出公司时,员工都需要扫描指纹记录出入情况。基于细节的匹配与基于对齐的贪婪匹配相结合用于识别提议的考勤系统中的指纹。虽然作者报告说,此系统使用简单,成本低廉,但是并不适用于上课出勤系统,假如有很多门大课同时进行,那么就需要很多指纹录取设备。而且,如果课程中有大量学生,那么系统将耗费长时间的队列。Rao和Satoa(2013),Zainal等。 (2016年,2014年)已经提出了一种基于指纹识别的用于学生考勤系统的便携式设备,此系统要求学生扫描他/她的指纹到设备以进行出勤过程。出勤数据仅存储在设备上。 设备没有直接连接到服务器,因为讲师需要在课时后手动将数据备份到服务器,此外,如果同时有多门课开课,则需要多个设备。Soewito,等(2015)在Android智能手机上提出了使用指纹和GPS与支付系统集成的员工考勤系统。从智能手机里,系统记录指纹、出勤时间和通过GPS得到的当前位置来避免员工长时间假的出勤率。但是,并不是所有的智能手机都有指纹采集功能,而且通过智能手机得到的使用者的位置也是不准确的。根据Bauer(2013)调查,android智能手机GPS定位与实际相比偏差约10-93米。因此,办公室以外的员工但是足够接近办公室的可以记录为在办公室里面。除了Zainal等人提出的系统之外,差不多所有基于指纹识别的建议考勤系统没有报告识别准确性。Zainal(2016年),在对27名学生的总识别时间约为7-9分钟时,识别准确率是85%。而且,基于指纹识别的考勤系统存在缺陷。 正如Zainal等人在2016年报道的那样。系统无法识别是潮湿的,脏的或受伤的指纹。
2:设备和方法
2.1:设备
用于开发考勤系统的材料由硬件,软件和面部图像数据集组成。硬件是Android智能手机,Raspberry Pi,显示器和电脑服务器。拟议的出勤系统需要一个Android智能手机4.3(果冻豆)或更高版本的相机和互联网连接,由讲师打开考勤系统并处理学生出勤。四核1.2 GHz BroadcomBCM2837 64位和1 GB RAM Raspberry Pi 3型号B用于从服务器获取课程信息并显示到教室前面的显示器。 3.60 GHz英特尔(R)内核(TM)具有Ubuntu Linux版本的i7-7700和16 GB RAM计算机4.15.0-24-通用操作系统用作服务器。在Android Studio里开发了两个考勤系统软件 ,一个由讲师使用,一个由学生使用。应用程序使用Volley(Developers,2018),一个用于Android的HTTP库,以及OpenCV(Bradski,2000),一个用于网络的计算机视觉库,分别用于连接服务器和图像处理。一个使用PHP语言开发的Web客户端用于响应开放的出勤系统的服务器并把接收到的数据展现在教室前面的显示器上面。在服务器端,还有一个用PHP语言开发的应用程序,用于与Android 智能手机和Raspberry Pi通信。而且为了要在服务器中进行人脸识别和出勤任务管理,需要开发一个基于python语言的应用程序使用OpenCV(Bradski,2000)和Scikit-learn(Pedregosa等,2011)图像库分别进行图片处理和人脸图像分类。在考勤系统中,服务器里使用MySQL来管理所有的数据。使用两个连接类型,Wi-Fi连接,连接Android智能手机和服务器,以及LAN连接,以连接Raspberry Pi到服务器。
2.2:学生注册
课程中的每个学生都需要注册他/她的面部图像和学生注册号码到考勤系统。使用Android系统里面的按键每个学生的脸部图像在垂直方向以不同的表情被捕获10次,包括正常,微笑,大笑和悲伤。学生的Android应用程序,如图1所示。在捕获他/她的脸部形象之前,学生需要确保他/她的面部已由考勤系统检测到。一旦他/她的脸部图像要求被脸部检测获取,那么这张脸部图片就会被捕获并裁剪成一个244*244像素包含整张脸的RGB彩色图片。裁剪后的图像以PNG格式存储,具有唯一的格式并且文件名与学生的注册号相关联然后图像上传到服务器以构建人脸图像数据集。服务器位于校园内。该过程由所提出的系统自动执行,无需任何系统管理员的干预。服务器放置在校园内,没有人可以访问人脸图片数据库除了系统和系统管理员。因此,真正维护了脸部图像数据库安全性。
一些学生在非常低的光线强度下拍摄他/她的脸部图像。因此,一些面部图像具有非常低的强度。因此,从脸部图像数据集中移除这些图像。最后,面部图像数据集由4209张面部图像组成,将用于构建面部识别的分类器。这些图像来自于在21个课程注册的423名学生。一门课中,学生的数量和脸部图像的数量分别在19到30和186到300之间。图2示出了数据集中的面部图像的示例。该作者已获得学生的许可以把图像用在他的论文中。
2.3出勤过程
拟议出勤制度的出勤程序包括从系统开放开始的几个步骤, QR码生成,面部捕捉,面部识别和出勤处理。提出的架构和总体考勤系统如图3所示,细节说明如下。
2.3.1:系统开放
打开课程的考勤系统,讲师需要启动他/她的Android系统的智能手机选择由服务器提供的适当的课程。所选课程的数据通过http协议发送到服务器。从应用讲师可以取消课程,改变课程安排,并获得学生出勤报告。 应用程序的用户界面可以是如图4所示。
2.3.2:生成QR码
一旦服务器收到有关开放某一课程考勤系统的信息,服务器生成一个包含有关课程编号,讲师姓名和课程安排的QR码(https:// www。simplesoftware.io/docs/simple-qrcode)。每一分钟,位于教室里面的Raspberry Pi要求课程出勤系统进行出勤检测。如果考勤系统已由讲师打开然后Raspberry Pi从服务器下载生成的QR码并显示到教室前面的显示器上。 图5显示了QR码的示例。
2.3.3:捕捉脸部图像
进入开放式课程考勤系统,学生需要使用安装在他/她自己的Android智能手机中的考勤系统应用程序来捕获显示的QR码。这个过程用于获取开放课程的信息,并确保学生参加课程。为了尽量减少学生在考勤过程中作弊的可能性,例如使用其他学生拍摄的QR码,系统使用校园内联网连接,分为几个用于智能手机和服务器之间通信的Wi-Fi网段。因此,不在校园的学生不能够处理他们的出勤率。该系统使用QRCodeScanner,QR扫描基于Android的库,用于扫描显示的QR码。然后要求学生输入他/她的学生注册号码,并使用考勤系统应用程序捕获他/她的面部。图像在RGB色彩空间中捕获并以PNG格式存储。如果捕获的图像包含面部,则将图像裁剪成224times;224像素的图像,使得整个面部包含在裁剪的图像中。为了执行裁剪过程,, the ViolaJones算法(Viola和Jones,2004)也用于检测图像中的面部区域。图6显示了捕获的示例和裁剪的图像。然后将裁剪的图像,课程信息和学生注册号上传到服务器以进行面部识别和出勤过程。
2.3.4:人脸识别
在服务器中,裁剪的图像被转换为灰度图像并调整为96 96像素的图像。将灰度图像中的每个像素的灰度值变换为9216维向量,如图7所示。该向量用作用于面部识别的分类器的输入特征。在此步骤中,学生注册号用作类标签或分类器的目标变量。拟议的考勤系统使用一些简单的分类器进行人脸识别,包括逻辑回归,分配线性判别分析(LDA)和k-最近邻。选择这样的分类器是因为它不需要高计算成本和高计算机资源。 因此,在分类器训练期间或许多学生同时访问服务器处理时,服务器的负载不是太重。
2.3.4.1:
逻辑回归。 Logistic回归是一个简单的二元分类器,可以通过实现一个策略与其余策略一起扩展到多类分类器.
2.3.4.2:
线性判别分析(LDA)。 LDA通过确定最大化类间散布和最小化类内散布的线性决策边界来执行分类。
2.3.4.3:
k-最近邻(k-NN)。 k-NN分类器指定一个对k个邻居中具有最接近样本的示例的类的未知样本(Alpaydin,2014)。 在实验中,所提出的系统使用k = 1,并且使用欧几里德距离来测量样本与其邻居之间的距离,如等式中所示。
2.3.5:
如果学生由步骤4得到的注册号与学生在步骤3中输入的学生注册号码相匹配,则学生从考勤系统获得他/她的出勤已被记录的通知。否则,学生被要求再一次录入他/她的脸部图片然后通过安装在他/她的Android智能手机中的考勤系统应用程序向讲师报告考勤过程的结果,如图8所示。
2.4:实验步骤
在实验室中进行了一项实验,以在两种训练场景中找到最佳分类器。第一种情况是,分类器用于所有课程的考勤系统。在这种情况下,所有在所有课程中注册的学生的所有面部图像样本都用于训练分类器。第二种情况,分类器仅用于特定课程的考勤系统。因此,如果有n个课程,则根据课程参与者列表将面部图像样本分成n个子样本。每个子样本用于训练相应课程中考勤系统的分类器。 该步骤的结果是与识别的图像相关的学生注册号。为了验证分类器在人脸识别中的准确性,建议的考勤系统在训练和测试过程中使用分层k折交叉验证(Alpaydin,2014)。将面部图像数据集随机划分为具有相同大小的k个互斥子集,使得每个类中的面部图像的数量对于所有子集具有相同的比例。子集用作测试数据,剩余的k-1子集用于训练分类器。训练和测试过程重复K次,使得每个子集仅用一次迭代作为测试数据。 图9描绘了交叉验证过程。对于每个测试数据,使用如下等式计算分类器的准确度。Acci; cci和Ni分别是分类器的准确性,正确分类的样本数和第i个测试数据的样本数。 Acci的平均值; Ifrac14;1;2;:::K; 计算以获得分类器的最终精度。 在此验证中,建议的考勤系统使用2倍和5倍交叉验证来验证分类器的准确性,并研究增加训练数据中样本数量对分类器准确性的影响。
3: 结果和讨论
3.1:第一个实验场景
正如第2节所述,在第一个实验场景中,所有人脸图像数据都用于训练面部识别过程的分类器。第一个实验方案的每个分类器的分类结果列于表1中。从表1可以看出,与LDA(93.17%和93.36%)和k-NN(86.06%和88.37%)的准确度相比,LR有更高的分类准确度, 2次和5次交叉验证准确度分别为93.22%和95.21%。在2倍交叉验证中,使用50%图像数据集作为训练数据,而在5倍交叉验证中使用80%的图像数据集。在表1中可以观察到,通过增加30%的训练数据,k-NN在分类中实现了最显着的精确度增长(2.31%),其次是LR的(1.99%)和LDA(0.19%)。因此,可以推断,增加训练次数数据将显着提高k-NN和LR的分类准确性。
虽然LR达到了最佳的分类准确度,但在计算时间方面并非如此。如表1所示,在2-fod和5-fold交叉验证中LR分别需要1339.89秒和5143.99 s用于服务器的训练,而LDA仅分别需27.80秒和201.67秒。另一方面,LR的分类准确度与LDA没有
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。