基于人脸识别的智能课堂点名系统

2017-06-30 19:20荆洲权伟唐杰晏寒
软件工程 2017年5期
关键词:人脸识别编程

荆洲++权伟++唐杰++晏寒

摘 要:为解决传统课堂点名方式所带来的耗时长、效率低、可靠性差等问题,本文分析并设计了一种基于人脸识别(FRT)的智能课堂点名系统。系统采用B/S结构,综合使用Access数据库技术、Web网页设计技术,以及C#编程技术,统一了客户端,将系统功能实现的核心部分集中到服务器上。本文对系统进行了总体流程规划,为保证实现系统功能,设计出人脸检测程序、数据库、网页三个模块。实验结果表明,系统实用性强、便捷性好,较传统点名方式签到准确率和课堂效率均得到明显提高。

关键词:人脸识别;智能课堂点名系统;Web开发;C#编程

中图分类号:TP391 文献标识码:A

1 引言(Introduction)

上课点名是教师督促学生学习、提高学生自觉性的一种基本方法,并能作为评定学生平时成绩的依据之一。但传统课堂纸质点名方式既占用课堂时间;又影响教师教学积极性和学生求知热情,降低课堂质量。

本文分析并设计了一种基于人脸识别(FRT)的智能课堂点名系统。系统采用B/S结构[浏览器(Browser)/服务器(Server)结构]。B/S结构的用户界面是通过浏览器来实现的,并且浏览器界面只承担少量逻辑运算,大部分指令逻辑交由服务器完成。在这种模式下,减少了浏览器界面的运行负荷,有利于系统维护和升级改造[1]。浏览器通过Web Server同Access数据库进行数据交互,Access既可以用于小型数据库系统开发,又可以作为大中型数据库应用系统的辅助数据库或组成部分。Access将数据库信息与Web结合,可以更方便地共享跨越各种平台和不同用户级别的数据[2]。本文采用Asp.net开发平台进行Web设计。Asp.net在执行的过程中,能够使用VB和C#等多种编程语言,并能够将其编译成能够被解释的MSIL程序语言,这就为中层语言的执行功能提供了多种语言的使用权限,大大增强了其使用优势[3]。

上课点名是学校教学管理中必不可少的手段之一,随着科技的进步和发展,不少高校采用新的方式或系统进行点名。美国佛罗里达的一所学校通过扫描指纹的方式点名,英国郡伊利市的一所社区学院通过用红外线扫描学生人脸进行识别的方式点名;国内有的学校将RFID即无线射频识别技术与SMART CARD结合进行点名,有的学校通过短信猫接收学生短信进行点名等。这些点名方式或系统都借助了专有设备进行点名,不仅成本高,推广难,操作流程也十分不便[4]。为解决上述问题,本文综合应用人脸识别技术、图形处理技术、汇编语言技术、网站制作技术等,设计出人脸检测程序、数据库、网页并将三者互联,形成一个完整系統。本系统的研发可上课时间得到更加充分的利用,便于教师授课,节省宝贵的课堂时间,提升课堂效率。系统操作界面方便、检索信息迅速、查找方便、可靠性高、易推广。

2 智能课堂点名系统方案设计(Design of the

intelligent student attendance system)

现有的课堂智能点名系统结构形式都很简单,主要突出了对sttuts的应用和替签现象的解决,在数据库方面没有完全达到“智能”[5]。本文所设计的基于人脸识别的智能课堂点名系统是一种结构严谨、逻辑性强的系统,其方案流程为:

教师或摄像头拍摄课堂照片并上传至系统网站。网站中的人脸识别程序利用大小可变的矩形框框定照片中人脸图像,将其提取、存档至以时间命名的文件夹中,同时更新数据库的对应内容。学生登录系统,跳转至学生签到界面,依据学期、课程代码和签到次数进行查询,检索出本次签到的人脸图像表。学生在呈现的表格中识别自己的人脸图像,选定图像后提交,网页将自动依据GridView中被选定的按钮对应行的人脸图像地址捕捉,通过登录页面传递的各项基准信息,利用update语句更新相应数据库表格中学生的签到图片地址。当学生误选人脸图像时,可再次选择人脸图像;当学生发现自己实到却无自己人脸图像,可前往查询页面查询本次点名大图,观察人脸识别程序是否切割出其人脸;当学生误选人脸图像并发现自己实到却无自己人脸图像,可通过重置按钮清空数据库对应内容后前往查询页面查询。出现上述几类情况时,学生可向教师留言报错;同时,教师在收到学生报错的留言后,可进入查询页面查看大图进行判断,告知留言学生签到情况无误或确定其出勤。教师通过查看学生选定的人脸图像结果和该生对应的教务图像信息,根据二者是否一致,判断签到者是否为学生本人,勾选确定按钮,最终提交更新,以此作为评定学生平时成绩的依据。管理员根据情况定期维护。

具体的系统流程图如图1所示。

3 系统软件的设计和实现(Design and implementation

of system software)

3.1 人脸识别程序设计

作为系统的核心部分,人脸识别程序的研发显得尤为重要。通常所说的人脸检测就是从给定的图像或视频中判定人脸的数目、位置和大小[6]。人脸检测系统输入可能包含人脸的图片,输出在图片切割出的人脸图像信息。

在实际人脸图像处理过程中,人脸图像的遮挡会经常出现,如头发、口罩、围巾等,而遮挡对人脸识别有很大的影响。如何准确、自动地检测人脸遮挡区域成为遮挡人脸识别处理的关键问题之一[7]。

实现人脸识别的方法多种多样,我们选择基于Emgu CV的环境利用熟知的C#语言进行设计、开发。Emgu CV是一个跨平台的、封装Open CV的图像处理库,因其可靠性高、易于配置被广泛应用。人脸识别程序设计过程为:在Visual Studio操作界面中适配Emgu CV环境,调用haarcascade_frontalface_default.xml图形库进行识别,利用大小可变的矩形框体框定照片中人脸图像,如图2所示,将其提取、存档至以时间命名的文件夹中,同时更新数据库的对应内容。

3.2 数据库设计

本文根据课堂实际点名情况,在access数据库中建立6个基本信息表格,具体内容如表1所示。

表1 数据库表

Tab.1 Database table

表格名称 表格内容

签到记录表

(tb_CheckInRecords) 本表记录了学生签到和对应的教师确认信息,以学生学号为主键对应的学期、课程代码、选定的人脸图像信息和双方的留言等内容

人脸图像存储表

(tb_Course2Images) 为保存每次课堂由人脸识别程序提取出的图像信息,制作本表保存对应的提取图像和其所在课程、学期、点名次数的大图

课程信息表(tb_Courses) 本四张表格分别登记和记录课程信息,学生基本信息和登录账户,教师基本信息和登录账户,以及管理员登录账户,便于网页设置权限和定期维护

学生信息表(tb_Students)

教师信息表(tb_Teacher)

管理员信息表(tb_Users)

3.3 网页设计

网页前端设计采用html5+css3技术,创建了基于bootstrap的扁平化网页,其界面美观,动画效果流程,有质感。html5具有以下优点:(1)提高可用性和改进用户的友好体验;(2)可移植性好。css3可以使用新的定制设计的选择器和属性,这些变化改进不但使得以往特定效果需要实现的代码得到了显著优化,还可以设计出众多新式的客户端特效[8]。网页后端设计采用Asp.net技术,Asp.net完全基于模块与组件,其可扩展性好、可定制性强,采用Asp.net技术开发可有效缩短Web应用程序的开发时间。

由于网页访问频率很高,如每次访问都要重新动态生成,严重影响其访问的效率。如果采用数据缓存技术,将全部或部分数据暂时存放在内存中(或硬盘缓存区),页面上不变的数据可以直接从缓存中取用,这样就可以大大提高数据访问的效率[9]。

3.3.1 登录页面

登录人员输入账号密码,选定身份类型登录;网页调用数据库判断是否跳转,并通过账号密码为基准调用登录人员的检索信息,如学号或工号,作为其他网页互联的数据基准,存入网页缓存区。

3.3.2 学生签到页面

登录人员为学生时,网页自动跳转至本页面。学生依据学期、课程代码和签到次数查询,检索出本次签到的人脸图像表。后台实现过程为:通过Selcet语句(Select语句是SQL中的数据查询命令,具有非常强大的数据查询功能,在access中可以使用Select语句来实现数据的查询操作[10]),在tb_Course2Images表格中筛选相应人脸图像表列,呈现在网页中,如图3所示。

学生在呈现的表列中识别自己的人脸图像,选定图像并提交,网页将自动依据GridView中按下的选定按钮所在行对应的人脸图像地址捕捉,依据登录页面传递的各项基准信息,利用update语句更新tb_CheckInRecords表格中该生签到图片地址,等候教师登录确认。

当提交有误时,学生可直接选择正确的人脸图像,按下提交按钮;或通过重置按钮直接清空对应单元格中的地址信息,再次选择。当学生发现自己实到却无自己人脸图像时,若已误选,可通过重置按钮清空对应单元格中地址信息后,前往查询页面查询本次点名大图,观察是否人脸识别程序未切割出人脸,或者教师误拍;出现此类情况时,学生可向教师留言报错,教师可根据实际情况进行回复和更改。

3.3.3 教师确认页面

在学生签到选择这一环节完成后,教师登录到本页面,依据学期、课程代码和签到次数进行查询,网页通过调用数据库tb_CheckInRecords表格,将查询生成的表格反馈到本页面呈现,如图4所示。教师通过查看学生选定的人脸图像结果和该生对应的教务图像信息,根据二者是否一致,判断签到者是否为学生本人,进行逐个确认,最终提交更新,作为评定学生平时成绩的依据。

为应对两种特殊情况(a.同一人脸图像被多个学生勾选;b.收到学生留言),设计者为本页面添加了回复按钮。按下回复按钮时,网页向tb_CheckInRecords表中的TeacherMsg列中写入信息,用于教师告知相应学生误勾,并提示该生登录学生签到页面重新勾选;同时,教师在收到学生报错留言后,可选择进入查询页面,查看大图进行判断,告知留言学生签到情况无误或确定其出勤。回复按钮实现了教师、学生在网页上的交互,凸显了系统人性化、智能化特色。

3.3.4 查询页面

本页面分为兩个部分,分别对应学生查询和教师查询。

当学生需了解自己的签到信息时,可根据自己想查询的内容在Textbox中输入相应查询条件,网页根据Textbox的返回值和登录页面保存的该生基准数据生成对应的SQL语句,与后台数据库管理系统建立连接、提取数据、断开连接,最后将检索结果以二维数组的形式返回给调用者[11],显示在GridView中。同时,学生查询页面中包含查看大图选项,对应于学生签到页面的报错查询,保证签到的准确性,如图5所示。

当教师收到学生留言时,可进入教师查询页面,查出该生的基本信息和他反馈的相应签到信息,如该次签到大图。查看大图后,教师可跳转到教师确认页面对此进行回复。若教师想了解课程相关签到信息,在输入查询条件后,网页根据缓存的教师基准信息查询数据库,调出相关信息显示于GridView控件中呈现给教师,如教师可查询出他所教授的某门课程下所有学生的签到信息。

图5 查询页面

Fig.5 Query page

3.3.5 管理员页面

管理员可以通过自身的最高权限,修改学生信息资料。如学生姓名、学生照片、学生性别和学生所在班级等。管理员输入学生学号进行查询,即可看到完整的学生信息表格。

在学生信息表末端,点击编辑按钮,网页将学生信息置入各文本标签,选中任意一个标签,即可在此标签中修改相应信息;为保护学生安全,管理员不能修改学生登录密码,其他信息均可以修改,又由于查询条件(学生学号)属性被设为只读,故管理员只可修改除学生学号和学生登录密码以外的信息。修改相应信息后更新,后台会将网页信息读入数据库,完成信息的更新。点击删除按钮,可直接在网页删除数据库中的相应学生信息。

4 结论(Conclusion)

智能课堂点名系统充分结合了智能识别技术、计算機技术和网络技术,可有效提高高校教务管理的智能化与信息化水平。课题所涉及的人脸识别、网页开发技术是智能识别系统研究的热点,所采用的技术成熟、应用性和移植性强;系统开发基于流行的软件架构,利于实现;系统结构和设计清晰,功能明确,操作简单。本课题的研究和设计成果可为高校管理的智能化和信息化建设提供有益的借鉴和参考。但是本文设计的人脸识别程序在实际使用时,识别准确率还有待提高。考虑到实际需要,需在原有基础上随时做出调整,实现难度较大,部分软件版权要求高,使用上还存在一定困难。

从全文分析可看出:通过人脸识别程序、数据库、网页的综合开发,科学、高效处理课堂点名的各类问题,系统将逐步改变传统点名方式的格局,响应大数据时代的背景。如今,管理智能化、信息化已成为一种潮流,必须以大数据的思维,才能充分利用大数据的优势,使教务教学系统良性发展,提高课堂效率、增强教学质量。

参考文献(References)

[1] Ji Huiwen.Analysis for B/S and C/S Structures[J].Electronic technology & Software engineering,2017:202.

[2] Zhang Tian,Li Xuefei.Development and application of the database of four row cylindrical roller bearing based on access[J].Bearing,2017,3:60-63.

[3] Hu erxidaimu·Yi Miti.Analysis and comparison of ASP and ASP.NET[J].China Computer&Communication,

2015,18:69-70.

[4] 王竹君.基于人脸检测的移动点名系统研究与实现[D].云南:云南大学,2014.

[5] 王姗.课堂智能点名系统[D].南阳:南阳理工学院,2011.

[6] 王攀,李少波.基于肤色和FBLBP算法的人脸检测[J].计算机与发展,2017,27(1):44-47.

[7] 王志一,杨大利.人脸识别中发型遮挡检测方法研究[J].微型机与应用,2016,35(2):32-34.

[8] 白蕾,郭清菊.HTML5与CSS3的设计模式[J].智能计算机与应用,2015,6(2):104-109.

[9] 张卫明.ASP_NET2_0缓存技术在动态网页设计中的应用[J].软件导刊,2010,9(12):138-139.

[10] 李凌春.浅谈Access中Select语句的应用[J].湖北经济学院学报(人文社会科学版),2012,9(7):133-134.

[11] 梅炳夫.基于ASP的通用网页查询函数的设计[J].现代计算机(专业版),2008:131-132.

作者简介:

荆 洲(1996-),男,本科生.研究领域:电气工程及其自动化.

权 伟(1982-),男,博士,讲师.研究领域:控制科学与工程. 本文通讯作者.

唐 杰(1997-),男,本科生.研究领域:电气工程及其自动化.

晏 寒(1995-),男,本科生.研究领域:电气工程及其自动化.

猜你喜欢
人脸识别编程
人脸识别 等
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
揭开人脸识别的神秘面纱
纺织机上诞生的编程
基于(2D)2PCA-LBP 的人脸识别方法的研究
人脸识别在高校安全防范中的应用
基于类独立核稀疏表示的鲁棒人脸识别
宏程序编程的几种应用