APP下载

课堂考勤系统的无感知改进VIPLFaceNet人脸识别算法

2021-04-06刘晓龙顾梅花

西安工程大学学报 2021年1期
关键词:考勤人脸识别人脸

刘晓龙,顾梅花

(西安工程大学 电子信息学院,陕西 西安710048)

0 引 言

课堂考勤是教学不可缺少的环节,它保证了教学任务的顺利进行、维护了教学秩序,也是督促学生学习的重要手段[1]。为了提高考勤质量,人脸识别[2-3]、深度学习[4]、蓝牙[5]等方法和设备被应用于考勤系统的实际。李昕昕等采用深度学习的方法[6],设计了由分布式处理平台、图像处理平台、云平台和应用平台构成的智慧课堂框架,优化了课堂效率。Puckdeevongs等采用蓝牙定位系统[7],自动捕获学生射频设备,用于自动记录教室的学生出勤情况。上述考勤系统虽然在一定程度上提高了考勤效率,但在识别过程中仍然需要学生主动面向摄像机进行签到。同时,当老师查询考勤信息时,需读取考勤设备SD卡统计信息,这不仅会干扰学生和教师的正常上课,同时增加了额外的人工开销。

为了解决上述问题,设计一种人脸识别的无感知课堂考勤系统,以Android为平台[8],搭载改进的Fust人脸检测算法和VIPLFaceNet人脸识别算法。在无感知情况下,采集课堂图片传入服务器进行人脸检测与识别,管理员可访问服务器统计考勤信息。

1 考勤系统设计

系统采用Android开发平台,以轻量级OkHttp3[9]为框架进行前后端的信息交互。通过Android手机摄像头采集课堂图像,并发起通信协议将课堂图片和班级信息传输到后台服务端,通过Java调用以Python语言编写的人脸检测和识别算法,便于后期对系统算法的维护。同时管理员可访问服务器进行数据查询与修改。考勤系统设计流程如图1所示。

图 1 考勤系统设计流程Fig.1 Attendance system design process

教师使用系统APP采集课堂照片,并将班级信息一同传入云服务器,云服务器接收数据并进行处理,最后将结果传入前端。Android系统的架构分为4层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和 Linux 核心层[10]。本文考勤系统的开发使用了应用程序框架层,具有丰富可扩展的视图和资源管理器,并提供非代码资源访问[11]。

2 人脸检测和识别算法

在课堂考勤中,首先采集课堂图像并上传,然后云端服务器利用人脸检测算法提取输入图像中的人脸,利用人脸识别算法提取人脸特征,最后与数据库中人脸信息进行比对,得出考勤结果并传输到前端。

2.1 Fust人脸检测算法改进

Fust人脸检测算法[12]顶层包含多个快速LAB级联分类器[13],但是快速LAB级联分类器存在检测精度低与累加权重值阈值设置的问题,针对此问题,采用LAB特征结合Adaboost级联分类器[14]进行多姿态、低分辨率场景下的人脸检测算法。通过结合Adaboost级联分类器,将Fust算法顶层 LAB级联分类器中的弱分类器进行多轮迭代组成强分类器,最后将多个强分类器级联形成更强的分类器。

给定一个数据集T={(X1,Y1),(X2,Y2),…,(XN,YN)},Xi表示数据,Yi→{-1,+1}表示数据所属的类。初始化训练数据的权值分布,并在最开始赋予相同的权值,即1/N,N为样本总数。在迭代中,使用具有权值分布的训练数据学习,得到基本的弱分类器Gm(x)。em为Gm(x)在训练集上的误差,即被Gm(x)误分类样本的权值总和,可表示为

(1)

(2)

式中:wm,i为算法进行第m轮迭代运算时的权重值;Wm为第m轮的阈值,它的大小为本轮训练全部样本权重的均值;当分类错误I(·)值取1,反之取0。

通过得到的误差率计算基本分类器在最终的强分类器中所占的比重β,可表示为

(3)

式中:em<1/2 时,β>0。β随em的减小而增大,分类误差越小的基本分类器在最终分类的作用越大。

当一个样本多回合迭代后,仍不能正确分类,则其权值将不断增大,从而影响对其他样本的判别。wm+1,i可表示为

(4)

利用新的权值更新规则,由式(4)可得,在每轮权值更新时设定阈值Wm,当迭代运算得到的权重系数小于本轮设定的阈值时,下一轮迭代的权重才会增加,否则就保持不变,避免了困难样本权重不断增大而造成性能退化的现象。

2.2 VIPLFaceNet人脸识别算法改进

VIPLFaceNet网络[15]由7个卷积层与2个全连接层组成,由AlexNet网络[16]改进而来。与AlexNet相比,VIPLFaceNet减少了每层特征图的数量,增加了一个卷积层,增加了网络深度[17],提高了算法性能。针对课堂考勤场景,对VIPLFaceNet识别阈值进行调整,识别阈值确定流程如图2所示。

图 2 阈值确定流程Fig.2 Threshold determination process

在课堂考勤场景下,为了使人脸识别算法在误识别率和漏识别率之间达到平衡,将班级中每人的人脸图像类内相似度相加求平均值,求得个人平均类内相似度,再将30组个人平均类内相似度相加求平均值,记作类内相似度值Smax;再将所有的类间相似度值相加求平均值[18],记作类间相似度值Smin。课堂场景下的识别阈值σ可表示为

σ=(Smax+Smin)/2

(5)

3 系统测试与分析

3.1 Fust人脸检测算法测试

针对课堂场景,通过设置最小人脸尺寸、滑动步长等关键参数进行算法测试。算法测试设备型号为GT740M i5-4200U,采用150张课堂图像,其中图像分辨率统一为950×550,每张图像有20人,共有3 000 个人脸,人员位置相对集中,人脸并无较大遮挡,且无低头现象。 采用召回率R、准确率P和F1值作为算法评价标准。其中F1值可以看作是模型召回率和精确率的一种加权平均,可表示为

F1=2PR/(P+R)

(6)

设置滑动步长为2,调节最小人脸尺寸,R、P、F1以及运行时间如表1所示。

表 1 最小人脸参数Tab.1 The minimum face parameters

从表1可以看出,最小人脸尺寸为40时,R、P、F1值最优。设置最小人脸尺寸为40,调节滑动步长,召回率,准确率,F1以及运行时间如表2所示。

表 2 滑动步长Tab.2 The sliding step length

从表2可以看出,滑动步长为2时,F1值最大,检测效果最好。

采用上述参数,通过FDDB人脸数据库,对改进的Fust人脸检测算法与Fust、Joint Cascade[19]、ACF[20]算法性能进行对比,其中FDDB数据库包含多种不同偏转角度、表情姿态、遮挡程度的人脸图片,共计2 845张图像,5 171张人脸,随机选取其中的2 000张图像进行测试,测试结果如图3所示。

图 3 FDDB人脸数据库测试召回率曲线Fig.3 Recall curve of FDDB face database test

图3中,改进的Fust算法、Fust算法、ACF算法和Joint Cascade算法的召回率的最优值为90.18%、86.72%、83.67%和85.91%。这是因为改进的Fust算法将Fust算法顶层弱分类器进行迭代组合成新的分类器,在一定程度上增加了检测精度。

3.2 VIPLFaceNet人脸识别算法测试

针对人脸识别算法,为了综合评估模型,采用ROC特征曲线图。对样本进行排序,按此顺序逐个把把样本作为正例进行预测,每次计算出特征曲线的横坐标(RFP)、纵坐标(RTP)。特征曲线下的面积越大,则算法具有越好的检测性能。如式(7)和(8)所示。

(7)

(8)

式中:TP为识别正确的出勤学生数量;FP为是识别错误的出勤学生数量;TN为正确识别到的缺席学生数量;FN为错误识别到的缺席学生数量。

在课堂考勤场景下,经过实验测试,VIPLFaceNet的人脸识别算法识别阈值σ为0.56。在考勤系统中,利用VIPLFaceNet算法提取人脸特征,得出相似度值,若相似度值大于0.56,则认为是同一个人;若相似度值小于0.56,则认为不是一个人。

选取LFW人脸数据库进行实验测试。将VIPLFaceNet人脸识别算法与Fisher Vector Face[21]、DeepFace[22]、VGGFace[23]、AlexNet算法进行测试对比。从数据库中随机选择6 000对人脸图像,其中3 000对是同一个人的2张人脸图像,属于正样本;而另外3 000对属于不同人的2张人脸图像,属于负样本。实验过程中,通过提取输入图像和比对图像中的人脸特征,计算2个人脸特征向量之间的余弦值,即相似度值,若大于0.56则是一个人,小于0.56,则不是一个人。根据6 000对人脸测试结果即可得出人脸识别算法的识别率,测试结果如图4所示。

图 4 LFW人脸数据库测试ROC曲线Fig.4 ROC curve of LFW face database test

图4中,VIPLFaceNet算法、Fisher Vector Face算法、DeepFace算法、VGGFace算法、AlexNet算法的识别率的最优值为98.79%、93.13%、97.47%、98.85%、97.70%。虽然VIPLFaceNet算法的识别率低于VGGFace,但是VGGFace算法采用了16层的卷积神经网络,而VIPLFaceNet只包含7个卷积层和2个全连接层,而且采用了快速归一化策略提高收敛速度,所以VGGFace的计算复杂度远高于VIPLFaceNet。通过以上实验测试可得,VIPLFaceNet在计算成本与准确率之间具有最好的均衡表现,可以很好地应用于课堂考勤系统。

3.3 系统测试

选取100张在课堂中实际拍摄的学生上课场景的图像,将4种算法分别嵌入系统进行测试,图5是对同一张教室全景图测试结果。

(a) ACF算法

(b) Joint Cascade算法

(c) Fust算法

(d) 改进的Fust算法图 5 课堂场景图像4种算法结果Fig.5 Four algorithm results of classroom scene images

图5(a)、(b)、(c)3种人脸检测算法中检测效果最好的是Fust算法,因局部遮挡和姿态变化造成漏检5位同学,ACF算法和Joint Cascade算法漏检数量较多。图5(d)采用改进的Fust人脸检测算法的检测结果优于Fust算法,对于局部遮挡和姿态变化的人脸具有较好的检测结果。

课堂考勤系统中,在Android平台搭载改进的Fust人脸检测算法和VIPLFaceNet人脸识别算法,教师通过登录界面进入系统,采集课堂图像,选择班级信息进行上传识别,后端服务器处理数据信息,并将考勤结果返回前端APP。学生查看考勤结果,如果发现漏检或误检,可通过APP进行反馈,管理员可以访问服务器对考勤数据进行查询与修改。考勤界面如图6所示,考勤结果界面如图7所示。

图 6 考勤界面 图 7 数据界面Fig.6 Attendance interface Fig.7 Data interface

从图6和图7可以看出,在多人数、低分辨率、存在部分遮挡的课堂场景下,系统具有良好的检测与识别能力,能够满足课堂考勤需求。

4 结 语

基于人脸识别的无感知课堂考勤系统以Android为平台,采用Java编程和MySQL数据库设计,通过人脸检测与人脸识别进行课堂考勤。后台生成的签到表有利于后期数据的查询,以便于考察学生的出勤情况。以智能手机客户端作为考勤平台,利用人脸检测和识别算法使课堂考勤工作更加高效。本文为课堂考勤提供了一种新思路,具有一定的实践意义。

猜你喜欢

考勤人脸识别人脸
人脸识别 等
有特点的人脸
揭开人脸识别的神秘面纱
基于人脸识别技术的考勤应用研究
智能人脸识别考勤系统
三国漫——人脸解锁
便携式指纹考勤信息管理系统设计
基于类独立核稀疏表示的鲁棒人脸识别
马面部与人脸相似度惊人
长得象人脸的十种动物