基于人脸识别的视听残障学生教学课堂考勤系统

    卓然 高飞 牟远明 杨初华

    

    

    摘要:本文基于人脸识别技术,采用人脸识别结合人脸特征匹配的方法,并根据视听障碍学生的特点,对视听残障课堂考勤系统进行探索与设计,设计开发了一款视听残障学生的无感知课堂考勤系统并对存在的问题进行了阐述。

    关键词:人脸识别;残障学生教学;无感知考勤

    中图分类号:TP183 ?文献标识码:A ?论文编号:1674-2117(2021)07-0101-04

    引言

    近年来,随着国家对特殊教育的重视,残疾人教育公平得到了社会各界人士的关注。教育部等七部门印发的《第二期特殊教育提升计划(2017—2020年)》的总体要求为:到2020年,各级各类特殊教育普及水平全面提高,残疾儿童少年义务教育入学率达到95%以上,非义务教育阶段特殊教育规模显著扩大。

    在课堂教学中,要保证正常的课堂秩序,课堂考勤是不可缺少的关键一环。在各类残疾障碍学生当中,视力障碍学生和听力障碍学生的课堂考勤存在的困难比较突出。其中,视力障碍学生在考勤时因为自身视力障碍,不能查看输出设备上的电子考勤表单,通常采用人工大声宣读被考勤人的名单来进行单独考勤;而听力障碍学生在考勤时,因自身听力障碍,不能采用听读方式进行考勤,通常通过手语结合投影仪投放考勤表单进行考勤。但这些考勤方式都存在局限性,常常出现被考勤人注意力不集中而错过考勤的情况,严重影响了课堂考勤的效率。为此,采用人脸识别技术进行无感知考勤成为特殊教育领域课堂教学的研究热点之一。

    随着信息技术的发展,人脸识别技术在各个领域中的应用日渐深入,很多学者开始探讨该技术在课堂管理和课堂考勤方面的应用。文献[6]中,官瑞坤等以人脸识别技术为基础,以Face++为云平台设计了Android智能考勤系统,系统简单易用,但仅支持Android系统;文献[7]中,金维香等通过OpenCV与Python语言相结合,基于人脸识别技术设计的课堂考勤系统,提高课堂考勤效率;文献[8]中,牛作东等基于计算机视觉技术,根據MVC架构搭建系统整体结构,设计了基于深度学习的计算机视觉模型进行人脸检测和识别,通过Web服务实现实时考勤功能;文献[9]中,朱靖娴等利用人脸识别技术实现了基于Java的在线考勤系统,存在着一定的考勤错误率;文献[10]中,叶璠等基于MTCNN人脸检测技术,利用VGG19神经网络提取出的特征训练SVM模型,确保识别的可靠性。

    上述的考勤方法,有各自的优势和不足,但是应用到视听残障学生的考勤有较大的困难。本文基于人脸识别技术,采用的是虹软sdk和c#语言,并根据视听障碍学生的特点,对视听障课堂考勤系统进行探索与设计。

    系统设计

    基于人脸识别的视听残障学生教学课堂考勤系统功能可描述为:通过人脸注册模块对各类残障学生进行人脸注册以建立人脸库;通过人脸识别模块判断学生的简单信息并存储;通过图像识别模块,进行图片检测,可识别图片的年龄、性别等信息,提取人脸特征并添加标记;通过视频检测模块控制摄像头采集课堂图像,检测人脸并与人脸库进行比对,实现人脸无感知考勤;通过数据库模块,存储人脸特征信息,经过识别与比对过程后,记录学生考勤的信息。本系统开发成本低,搭设简单,兼容市面上各类摄像头;支持离线服务,可在无网络环境下使用,本地化部署,保证数据的安全;可在正常光线与合适的角度下进行人脸查找和人脸检测,能有效判断学生的性别和年龄等信息;能进行RGB活体检测和IR活体检测,防止照片考勤。系统界面如图1所示。

    系统主要功能的实现

    1.人脸注册模块

    人脸注册模块最重要的功能是对人脸库图片进行人脸检测和提取人脸特征,最后把相关数据保存到数据库模块。该模块需预先导入人脸库图片,可手动选择图片的路径,模块预设图片的常见格式进行图片的选择,可以同时导入多个图片,导入的同时对图片格式的适用性进行检查。人脸检测之前,需要对图片进行检查和处理,对过大的图片进行剪裁,处理后得到的图片宽度也有相应的要求,以便于后续的人脸检测操作。

    人脸检测操作通过虹软FaceUtil模块中的DetectFace函数进行检测,通过循环语句判断每一张图片的检测结果,将检测的图片信息存入图片暂存列表中。人脸检测使用的语句为:ASF_MultiFaceInfo multiFaceInfo = FaceUtil.DetectFace(pImageEngine, image)。通过如下语句将人脸特征结构体的指针转换为人脸特征结构:MRECT rect = MemoryUtil.PtrToStructure(multiFaceInfo.faceRects)。

    提取人脸特征操作需从图片暂存列表中读取图片,使用虹软模块中的ExtractFeature函数进行图片中人脸特征的提取,若提取成功,则将人脸特征值存入人脸特征列表。提取人脸特征使用的语句为:IntPtr feature = FaceUtil.ExtractFeature(pImageEngine, image, out singleFaceInfo)。

    2.图像识别模块

    图像识别模块的主要功能是检测图像是否可用,通过虹软模块进行人脸检测,并进行年龄检测、性别检测和3DAngle检测,检测结束后提取人脸特征,并用矩形框对人脸进行标记并显示。图像具体要求为不超过2MB,图像地址有效,图像宽度为4的倍数,若图像尺寸过大可以进行裁剪处理。各种检测均使用的是虹软FaceUtil模块中的检测函数,如性别检测使用的语句为:ASF_GenderInfo genderInfo = FaceUtil.GenderEstimation(pImageEngine, imageInfo, multiFaceInfo, out retCode_Gender)。检测完毕将人脸进行标记的语句为:srcImage = ImageUtil.MarkRectAndString(srcImage, (int)(temp.left * scaleRate), (int)(temp.top * scaleRate), (int)(temp.right * scaleRate) - (int)(temp.left * scaleRate), (int)(temp.bottom * scaleRate) - (int)(temp.top * scaleRate), ageTemp, genderTemp, picImageCompare.Width)。

    3.视频检测模块

    视频检测模块按照功能来分可以分为以下三个部分:初始化检测、RGB摄像头事件和RGB-IR摄像头事件。该模块能实现自动检测摄像头并获取图像,检测图像中的人脸并标注矩形框,进行对应的活体检测并将信息传到数据库。具体如图2所示。

    模块中,初始化检测主要检测的是摄像头的数量和类型,以确保程序的正常运行。当程序检测到视频检测按钮被点击时,开始初始化检测,以防出现点击视频检测按钮之前将摄像头拔掉的情况。若未检测到摄像头,则返回相应的提示并返回。若摄像头已经开启,则关闭摄像头以防占用,并将阈值控件、各个按钮以及各类参数重置。若检测到RGB-IR摄像头,则进行RGB-IR摄像头加载,双摄标志调为True;若检测到RGB摄像头,则加载对应的摄像头。

    若检测到的是RGB摄像头,则启动RGB摄像头事件。首先确保RGB摄像头正常运作,得到当前摄像头下的图片,获得格式为Bitmap,检测人脸,对人脸进行画框,将上一帧检测结果显示到程序页面上。检测过程保证只检测一帧,可防止页面卡顿以及出现其他内存被占用的情况。通过排入线程池来进行异步处理提取特征值和比对,以防止程序卡顿。先将位图格式调整为ImageInfo类,然后进行RGB活体检测,并提取比对结果,将结果显示在页面上。

    若检测到的是RGB-IR摄像头,且摄像头正常工作,则获取IR摄像头的图片。具体流程与RGB摄像头的流程基本一致,在检测人脸框时,可检测判断RGB图片的人脸框与IR摄像头检测的人脸库偏移量是否在误差允许范围内,增加检测的准确率。最后进行的是IR活体检测,并将结果显示在页面上。

    其中的RGB活体检测语句如下:ASF_LivenessInfo liveInfo = FaceUtil.LivenessInfo_RGB(pVideoRGBImageEngine, imageInfo, multiFaceInfo, out retCode_Liveness)。IR活体检测的语句如下:ASF_LivenessInfo liveInfo = FaceUtil.LivenessInfo_IR(pVideoIRImageEngine, irImageInfo, irMultiFaceInfo, out retCode_Liveness)。

    4.数据库模块

    数据库模块的主要功能是保存人脸特征信息,便于与实时视频中的人脸特征信息进行比对,且相似度大于阈值的视为比对成功。比对成功的学生信息保存入考勤数据库,记作考勤成功,系统根据课程表事先会设置好时间和日期,本次考勤的结果会自动计入数据库的下一项,以节省考勤的时间。

    存在的问题

    本系统在设计时,考虑过视听障碍学生应用脸部识别的有效性,因为人脸识别技术不同于虹膜识别技术,它是将脸部特征转换为一组矢量数据,然后通过对该数据比对来确定学生的考勤情况。虽然在实际测试中能顺利实现对视听障碍学生的脸部识别,但因为视听障碍课堂的特殊性,在实际测试时也出现了一些的问题。

    1.视力障碍学生戴墨镜的问题

    在实际课堂教学过程中,有部分视力障碍学生会佩戴墨镜,究其原因是视力障碍学生佩戴墨镜能创造无光的学习环境。但是如果佩戴墨镜,会覆盖眼睛附近的特征点,造成识别度很低。在实际课堂教学中若要克服这个问题,可以与学生预先协商一个时间段,在此时间段中摘掉眼镜,等考勤完成后再戴上。

    2.视力障碍学生人脸朝向问题

    在教学过程中,因为视力障碍学生主要通过听觉来学习,所以听课时学生脸部朝向是随机的。因此,脸部朝向问题造成的系统无法考勤的问题也是存在的。目前解决问题的方法,一是延长考勤的时间,等待学生脸部朝向变换以实现识别考勤,二是提醒学生保持良好的坐姿。

    3.学生隐私保护问题

    视听障碍学生对个人隐私十分重视,对于人脸识别这一新兴技术和考勤系统容易出现理解偏差,教师必须做好解释工作。在实行人脸识别考勤之前,要先征求学生的意见,解释考勤系统运作的原理,并強调该系统只产生考勤数据,不录像并且不涉及学生的个人隐私,取得学生理解后方可执行后续操作。

    结束语

    人脸识别技术在视力障碍课堂的应用研究刚刚起步,研究表明,基于人脸识别技术的考勤系统能满足大部分视听障碍学生的考勤需求,能有效提高视听障碍课堂的考勤效率,相较于其他考勤方式有很大的优势。但是,因为视听障碍学生本身的特殊性,该系统还有一些问题有待改善。对于这些问题,将在后续的研究中深入探索。

    参考文献:

    [1]教育部等七部门.第二期特殊教育提升计划(2017-2020年)[Z].2017-07-18.

    [2]王伯槐.基于人脸识别的高校考勤系统的设计[J].物联网技术,2017(10):62-63.

    [3]陈明逊.人脸识别学生管理系统的设计[J].电子世界,2018(20):206.

    [4]杜雅林.基于Emgu_CV的人脸识别[J].福建电脑,2015(04):24-25.

    [5]刘瑞歌.基于EmguCV的人脸考勤系统的设计与实现[J].滨州学院学报,2019(04):65-69.

    [6]官瑞坤.基于Face++的“刷脸”课堂考勤系统[J].信息系统工程,2017(03):99-10.

    [7]金维香.基于OpenCV的人脸识别课堂考勤系统[J].浙江水利水电学院学报,2019(6):58-62.

    [8]牛作东.基于计算机视觉的课堂实时考勤系统设计[J].电子测试,2020(4):60-62.

    [9]朱靖娴.基于人脸识别的考勤系统设计与实现[J].无线互联科技,2019(3):61-63.

    [10]叶璠.基于人脸识别的课堂考勤系统研究与实现[D].西安:陕西师范大学,2019.

    基金项目:浙江省教育厅高等学校访问学者教师专业发展项目(批准号:fx2019122)。