基于计算机视觉技术的课堂签到系统研究与实现

2024-01-03 08:42刘子龙
现代计算机 2023年21期
关键词:报表人脸识别人脸

洪 晶,刘子龙

(海口经济学院腾竞依智网络学院,海口 571132)

0 引言

课堂教学是大学教学工作中的重要一环,而课堂签到管理是确保学生到课率的重要手段,同时签到统计也是评价学生平时成绩的重要依据之一。传统课堂签到一般采用口头点名或纸质签名方式,存在着耗时长、后期统计处理麻烦等问题,一些电子签到系统则存在着成本高、作弊门槛低等问题。本文基于计算机视觉技术,采用人脸检测及识别技术,设计一种简单易行、成本低、防作弊的课堂签到系统解决方案,并给出一些关键技术的实现。

1 课堂签到方案的发展和比较

1.1 传统签到方式

大多数教师采用传统签到方式,主要分口头点名和纸质签名两种。口头点名的方式为:教师在课堂上亲自或委托班长逐一念学生姓名,要求学生应答,未应答者为未到课。这种方式的优点是操作简单、成本低,缺点是学生多时会挤占课堂教学时间,而且存在冒名应答的可能,事后统计也比较费时费力;另一种传统签到方式是采用纸质签名,教师课前要打印好签到表格,上课时让学生排队签名或传阅签名,同样具有口头签到方式的缺点,每次签到需重新打印签到表也有违环保理念。

1.2 刷卡及指纹签到方式

随着信息技术的发展,出现了刷卡签到系统。刷卡签到系统主要由含有身份信息的IC 卡片、读卡器、通信设备、服务器、数据库等组成[1]。卡片可使用学生校园一卡通,学生签到时,将卡片接触读卡器,读卡器可读出IC 卡中学生身份信息,譬如学号、姓名、班级等,实时上传到后台服务器后,可以自动生成签到报表。相比于传统签到方式,刷卡签到显著提高了签到效率,耗时短,一般1秒内即可读出,签到完成后,教师也可直接从系统后台获取签到结果报表,无需再耗时耗力进行人工统计。但和传统签到方式一样,刷卡签到仍然属于“串行”签到方式,并且不能规避代刷卡作弊行为。

采用指纹签到方式可以杜绝作弊行为。指纹签到和刷卡签到的实现原理类似,只是将读卡器更换为指纹传感器。由于指纹是人体的生物识别信息,随身携带无法剥离,而且制造假指纹专业性强、成本高,因此制作假指纹用于签到门槛高、性价比低,可以较大程度防止作弊。其缺点主要是:指纹采集环节耗时长、专业性强,以30 名学生为例,采集完所有学生指纹至少需要1 小时;况且,指纹数据常用于公安、金融等业务授权,如何让学生自愿授权和如何保证数据安全也是难以解决的问题。

另外,刷卡、指纹签到方式都需要投入不菲的成本用于购置和部署设备,在企事业单位中没有问题,但在大学课堂签到场景难以普遍采用。

1.3 基于智能手机的签到方式

随着移动互联技术的日益发展,智能手机已成为人们生活、工作、学习的必需品。智能手机往往随身携带,手机号码由于实名登记且唯一,可以具备身份识别功能,可用于支付、身份信息识别和授权等场景。不少公司推出了手机签到管理软件。利用手机签到的最大优点是可“并行”签到,能极大地提高签到效率。

比较有代表性的是阿里巴巴集团出品的钉钉软件,是一款免费的智能移动办公平台,包含审批、公告、网盘、聊天、电话、签到等功能模块,广泛应用于企业和组织单位。基于钉钉软件的开放平台,一些开发者推出了智能手机签到系统。借助钉钉开放平台,可搭建包括课程安排、考勤签到、资源共享等功能模块的实验教学管理系统,能有效提升教学管理水平。

使用钉钉签到的最大门槛在于软件安装和学习成本较大[2]。由于钉钉专用于企业办公场景,复用率不高,个人安装的意愿不强;而且钉钉是一款大型软件,下载和安装耗时,占用流量大,教师也无法强制学生安装钉钉;另外,钉钉功能繁杂,签到只是它众多功能中的一个,软件操作学习成本较大,短时间不易上手,无法达成使用简单的目标。

另一种可配合智能手机实现签到功能的技术是iBeacon 技术,最先由苹果的iOS 操作系统开发部门提出并实现,随后谷歌的安卓操作系统也跟进实现类似解决方案。其原理是部署iBeacon 设备在要签到的地方,设备可定时向周边有限半径地理范围(有障碍室内通常不超过100 米左右)发送低功耗蓝牙协议广播帧,接收到广播帧后智能手机中定制软件可据此判断设备持有人到达过签到地点,并上报信息到服务器端。基于iBeacon 技术实现的签到方案目前已在商场LBS 营销、巡逻打卡、外卖行业骑手签到等场景得到广泛应用[3]。但应用于课堂签到有明显不足:iBeacon 签到无法确保学生在教室附近完成签到后仍进入教室上课;而且需要采购iBeacon设备及开发定制软件,成本过高。

通过以上几种签到方案的比较分析,我们发现在课堂签到场景中使用传统的和电子签到方案都有难以克服的缺点,不合适在大学课堂签到场景推广应用。基于此,我们考虑另辟蹊径,尝试采用新的技术,提供新的解决方案。

2 课堂签到系统的需求分析

经过调研分析,总结新的课堂签到系统需要重点解决以下几个需求:

一是签到操作简单、耗时少、学生和教师体验要好。课堂时间宝贵,签到不应占用过多时间;对于学生而言,签到行为需简单易行;对于教师而言,前期的数据准备工作和签到后的收尾统计应轻松不复杂。

二是要具备防作弊能力。签到系统应有效识别和拒止学生代签、一人多签、远程签到等作弊行为。

三是要能自动生成统计报表。签到完成后,系统可以自动统计数据,形成指定格式的结果报表。

四是要求实施总成本低。课堂签到作为教学管理的辅助手段,新提供的解决方案实施起来付出的增量成本,不应高于所获得的比较收益。

3 课堂签到系统的设计

基于以上需求,确定基于计算机视觉技术采用人脸检测方式来实现课堂签到,综合评估下来是能满足需求的。

首先,确定能满足简单和用户体验好的需求。人脸识别对学生要求简单,学生仅需面对摄像头1~2 秒即可完成签到,只要达到一定的识别率,就能确保学生的用户体验,而随着AI技术的进步,CV 技术对人脸的识别率已达到商用级别,目前已广泛用于金融机构、电商等高风险场景,对于课堂签到场景能满足要求。

其次,确定能满足防作弊需求。人脸是人体的生物识别特征,两个不同的人不会有完全相同的脸部特征,不用担心一人多签问题。关于代签,正常情况下,由于学生是在教师电脑前签到,使用照片代签概率也并不大。为防止个别学生夹带照片签到,可在代码中增加采用活体检测技术,比如随机要求签到人闭眼或张嘴,在识别过程中也同步检测规定的动作。

再次,确定能满足自动生成报表要求。由于班级学生信息已提前采集入库,因此系统完成签到后可自动统计出签到人数和未到人数及明细,并生成报表,无需教师事后统计;如果需要进一步细分请假、旷课等信息,教师也可以使用系统补录相关信息,由于仅补录少数未到学生信息,所以工作量非常少。

最后,具有成本低、性价比高特点。系统仅需一台主流配置的电脑,安装本地数据库,配备摄像头,即可实现签到。开发过程中涉及的软件均为免费软件;采用本系统将极大减少教师用于签到和事后统计的工作量,同时节约了因签到而占用的课堂时间,产生的效益相对于成本而言非常可观。

下面从不同角度,描述系统设计思想。

3.1 总体架构和流程设计

鉴于需求分析,我们提出一种基于计算机视觉(CV)技术的课堂签到系统实现方案,主要包含主控模块、班级学生信息维护模块、签到事务模块、签到补录模块和报表模块,其中签到事务模块继续细分为人脸检测、人脸识别、日志模块,过程数据和结果数据存储在数据库中。总体架构如图1所示。

图1 系统总体架构图

3.2 主控模块

主控模块包含系统主界面,是系统所有功能的总入口,可以分别发起维护班级、学生信息,发起签到事务,进行签到补录,生成结果报表。

3.2.1 班级、学生信息维护模块

在发起签到前必须完善基础数据,需要教师主动采集必要的班级、学生信息录入系统,存进数据库,这些维护工作的频次很低,除非班级、学生发生变动,否则只是一次性数据采集维护工作。为增加人脸识别准确率,每位学生需采集3张头像照片。每次成功更新学生头像信息后,应自动触发AI 模型训练,对该班级内所有学生头像重新训练学习,更新AI 模型,即可根据更新后的头像照片数据识别出学生。

签到时,系统将从数据库中取出对应班级学生逐一检测、识别。生成报表时,可以自动使用数据库中班级、学生数据结合签到结果、补录信息生成完整的统计报表。

3.2.2 签到事务模块

签到事务模块负责完成班级全体签到,通过摄像头对每个学生进行人脸拍照检测、识别,成功后记录进日志。

具体来说,首先通过摄像头采集到学生图像,然后使用人脸检测算法框定出人脸,接着再使用已根据该班级学生数据学习好的AI 模型进行识别,成功识别后记为已签到状态,签到结束后生成一条日志记录整个签到情况。

3.2.3 签到补录模块

由于签到事务模块只能记录已签到学生信息,可以根据班级学生总数进一步计算出未签到学生总数。而教师对于签到可能需要进一步的详细信息,比如未签到学生中请假的有多少,分别是谁,未请假记旷课的学生有多少,分别是谁。对已签到的学生也可能需要记录哪些学生迟到或早退。教师可以使用签到补录模块补充这些信息,完成录入后,这些补充信息记录进数据库。同时考虑到差错的可能,允许教师多次补录,以最新的补录数据为准。

3.2.4 统计报表模块

签到的最终目的是获取签到统计报表,我们可以设置自动生成统计报表,在每次签到完成后生成,记录进数据库,教师可以通过Web访问。也允许教师随时手动发起生成最新统计报表,之所以有这个需求,是因为教师如果重新补录,原有统计报表信息可能不准。也允许教师导出报表数据作进一步的个性化处理。

3.3 数据库设计

本文采用数据库存储数据,根据需求,我们设计了授课教师表、班级表、学生表、签到补录表、签到结果统计表、日志表等,图2为数据字典视图的一部分,核心的数据表是签到结果统计表,整个班级的一次签到生成一张签到结果统计表,表中根据签到结果记录实到人数。关于未到人数,通过抽取签到补录表数据可进一步补充未到学生中请假、旷课数据;已到学生中迟到、早退数据。考虑到补录动作可重复发起,所以签到结果统计表与签到补录表是1:N关系,每次补录后最新数据必须同步到签到结果统计表中;统计报表基于签到结果统计表生成。日志表的数据源是日志文件,通过定时脚本将数据从文件抽取到数据库,日志文件可以作为原始信息定期归档,当数据库数据丢失时,也可以用于重新抽取入库。

图2 系统数据字典

图3 系统签到界面

4 课堂签到系统的实现

基于上述设计,系统实现的目标是开发完成一个B/S架构的系统,主要提供人脸检测功能用以实现班级学生签到目标,签到结果能自动生成并以报表形式展现,教师只需进行简单的可选维护操作,包括班级学生信息、课堂签到补录信息等。

下面从人脸识别的实现、人机交互、数据库的角度简要介绍系统实现。

4.1 人脸识别的实现

系统的核心功能是通过人脸识别技术完成对签到人的身份识别。OpenCV 是一个开源的计算机视觉和机器学习库,提供了丰富的视觉处理算法。有封装好的API 可以直接调用。且对人脸识别问题提供了较完整的解决方案。

关于人脸识别的流程,采用先检测再识别的方式完成,即在摄像头捕捉的图像中先检测出有人脸,然后再用训练好的分类器判断是哪个人。OpenCV 对人脸检测主要采用Adaboost 级联分析器进行人脸检测和识别。所谓级联,就是将一系列简单的分类器按顺序串联,每个分类器识别一个简单的器官,例如鼻子、眼睛、嘴巴等,当所有都检测成功后,才算检测出人脸[4]。OpenCV 提供的Harr 级联分类器可以支持人脸、微笑、眼睛与嘴巴检测,可以通过加载预训练好的Harr模型完成检测。

人脸检测成功后才进一步进行识别,OpenCV 提供了三种人脸识别器,分别为Eigenfaces、Fisherfaces 和LBPH。三种方法都是通过对比样本的特征实现人脸识别,但提取特征的方法不同。由于Fisherfaces分类器具有灰度不变形和旋转不变性等优点,适用于课堂签到场景,所以本系统选择Fiserfaces 分类器。使用班级所有学生事前提供的头像对分类器进行训练,为提升识别率,每个学生采集的头像数为三个。然后使用分类器对摄像头捕捉到的签到学生头像进行识别,通过后即认为签到成功。

4.2 数据库的选用

由于系统涉及班级、学生及签到信息,并要根据数据生成统计报表,所以用文件管理数据显然无法满足需求,只能使用数据库管理数据。

MySQL 是目前最流行的关系型数据库之一,对Web 应用支持良好,并且具有体积小、速度快、功能强大、开源免费的特点,所以本系统选用性价比高的MySQL数据库。

4.3 人机交互方式的选择

由于本系统不仅教师本人使用,也可能供教务或辅导员使用,甚至可开放给学生查询,所以人机交互界面不宜采用单机版客户端,B/S架构更为合理。

Flask 是由Python 开发的轻量级的Web 框架,和其他类型的Web 框架(如Django)相比,Flask 更为灵活、系统的操作和浏览界面也很简单,更为重要的一点是Flask 也支持Python 语言,这样可简化开发工作,尽量避免多语言开发。所以确定采用Flask实现Web服务。

4.4 开发语言及工具选择

本系统基于CV 技术,而Python 语言对CV的支持较好,并且有许多现成可用的库可供使用,如OpenCV、Numpy、Flask,同时对MySQL的支持也很好,因此本系统最终选择使用Python语言,具体开发环境如下:

Python 版本:3.9.13,OpenCV 版本:4.7.0,Numpy 版本:1.24.2,Flask 版本:2.2.3,IDE:PyCharm社区版2022.2.2,数据库:MySQL。

5 结语

课堂签到管理是大学教学管理环节的重要一环,传统签到方式、刷卡和智能手机签到方式都存在不容忽视的问题。为此本文基于CV 技术,采用人脸识别方式,围绕课堂签到场景,设计全新的课堂签到系统,具有简单方便、防作弊、性价比高等优点,并给出了具体实现方案,具有良好的推广价值。

本系统应用过程中需关注合规问题,虽然学生的头像信息在学校注册时已提供给校方,但用于课堂签到仍应得到学生的授权许可后才能使用。

系统实现仍有提升空间,可进一步优化人机交互界面,实现微信小程序或APP 版本,使用起来较电脑更加方便;系统功能也有拓展空间。可围绕课堂场景,打造成为课堂教学管理AI 系统,比如增加学生课堂行为识别功能,进一步提升课堂教学管理效果。

猜你喜欢
报表人脸识别人脸
人脸识别 等
有特点的人脸
揭开人脸识别的神秘面纱
LabWindows/CVI中Excel报表技术研究
三国漫——人脸解锁
从三大报表读懂养猪人的成绩单
基于类独立核稀疏表示的鲁棒人脸识别
马面部与人脸相似度惊人
长得象人脸的十种动物
基于K-L变换和平均近邻法的人脸识别