曾水新 黄日胜
(河源职业技术学院 广东省河源市 517000)
考勤活动是高校最基本的日常管理事务之一,考勤系统是高校智慧教室的重要组成模块。中小学由于座位固定,教师容易发现缺席的学生,因此采取纸质考勤或者教师人工录入信息的方式即可;企业考勤的特点是场地固定、人员少,通常在入口加一个考勤机即可。高校的考勤有其特殊性:教室不固定、时间不固定、学生人数多,因此高校考勤如果采用人工点名的方式会效率低下,影响上课;如果采用信息化系统,它的需求比普通的考勤系统更多:高效率、低成本、地点识别、防代签等。
基于IC 卡、RFID 卡(Radio Frequency Identification,射频识别)技术的考勤机广泛应用于企业考勤。二者的原理是一样的,即将用户与卡片识别码绑定,考勤机读取、验证卡片后,新增一项刷卡记录[1]。
打卡考勤机的优点是直观、简单、便捷、正确率高。很多企业将门禁卡和考勤卡合二为一,开门即考勤。IC 卡须接触才能被读取,RFID 卡须近距离才能被读取,因此打卡记录里隐含了地点信息,地点信息对于高校考勤系统非常重要,因为教室ID 是考勤记录的一个关键字段。
打卡考勤机的缺点,一是容易被代签到,一个用户可以拿多张卡替他人签到,要避免可通过人工监督或者人脸识别系统实现。二是建设成本高,打卡机需要外接电源、数据连接(有线接入或无线接入)。在企业,只需在入口安装一部考勤机即可,建设成本和运行效率仍可接受,换在高校,每个教室须安装一部考勤机,施工和材料成本则太高。三是效率低,学生需要在教室门口排队依次打卡,占用正常上课时间;四是学生卡丢失或忘记带卡时会影响考勤。
基于指纹识别、人脸识别的考勤机都是利用了人的生物特征去识别,只要将手指、人脸放在或面向读头即可识别,非常方便。生物特征考勤机将指纹识别、人脸识别算法固化在机器内部,识别成功后,将识别结果发送到服务器[2]。
生物特征考勤机的优点是,很大程度可以防止代签到现象,且由于不需要卡片作为载体,用户使用方便。生物特征考勤机的相关技术已经相当成熟,在企业被广泛使用。
与刷卡考勤机类似,它同样存在建设成本高、效率低的缺点。此外,有的机器型号出于成本考虑仅支持指纹识别不支持人脸识别,用户可以很容易在网上购买硅胶指模具,成功欺骗考勤机通过验证。
图1:系统硬件架构图
图2:签到流程图
很多电子教室软件都附带了签到功能[3],教师可以发起签到活动,学生在电脑端输入自己的姓名,即可完成签到考勤。这类考勤系统所有学生可以并发签到,因此速度快、效率高,且不需要额外安装硬件,降低了成本。但这类考勤系统几乎没有防代签到机制,学生多打开一台电脑,输入另一个学生的姓名即可代替其他学生签到,并且这类考勤系统仅适用于机房,传统教室无法使用。
基于手机定位的考勤系统的解决方案有两类:
第一类是调用手机的位置服务API[4]。手机的位置服务是通过特定的定位技术来获取移动手机或终端用户的位置信息(经纬度坐标),在电子地图上标出被定位对象的位置的技术或服务。定位技术有三种:
(1)接收卫星定位系统(如GPS、北斗系统)的信号,计算手机所处的位置。
(2)基于移动运营网的基站的定位,利用基站对手机的距离的测算距离来确定手机位置,精度很大程度依赖于基站的分布及覆盖范围的大小,误差会超过一公里。
(3)利用Wi-Fi 信号确定位置,原理是位置服务商建立一个无线信号的数据库,根据其全球唯一的MAC 地址,映射终端所处位置,因此严格地说第三种方式不是手机本身提供的服务。通常手机的位置服务会综合利用这几种技术,提高位置的精度。
调用位置服务API 的考勤系统,不容易定位到具体某教室,因为教室里卫星信号非常弱,其精度也不够。即使在卫星信号充足的情况下,学生还可以使用位置模拟软件绕过检测。
第二类是在教室安装无线AP(Access Point)[5],由于每个无线AP 的位置是已知的,并且每个无线AP 的接入范围是有限的,终端连接时会自动选择信号最好的连接,可以实现室内对终端的精确定位。这类方案的难点在于,AP 信号的强弱受环境(如障碍物、距离)的影响较大,有可能旁边教室的AP 信号更强,造成识别教室错误;再者,虽然全国的高校逐步铺设无线校园网,但是做到一教室一AP 的方案耗费的硬件成本和实施成本都比较高。
基于二维码的考勤系统的实现思路是,在教室的每个课桌贴上携带教室座位信息的二维码,学生入座后,使用智能手机扫描座位二维码,即完成点名[6]。从成本和管理的角度考虑,这类考勤系统是理想的,但是学生可以将二维码拍下照片,发给不在教室的学生,轻松绕过考勤系统。
签到系统要满足两个关键条件,才能确保签到数据是可信任的:一是签到介质(如卡片、手机、电脑等)是否在现场,二是使用介质的是否本人。上文介绍的常见的几类考勤系统中,只有人脸识别考勤机能较好地同时满足两个条件,但建设成本较高。本文提出的基于iBeacon 及人脸识别双重认证的高校智慧教室考勤系统,既可以满足两个条件,并且实施成本低。
iBeacon 是苹果公司推出的一项室内定位技术,可以让附近的手持电子设备检测到由一个iBeacon 信号发射器发出的蓝牙信号,通过软件和硬件的结合,从而大大提高室内精度,从原来的几百米、几十米,提高到一米以内的定位精度,它采用了基于蓝牙4.0 的低功耗蓝牙技术(Bluetooth Low Energy,BLE),主要是用作辅助室内定位的功能。
iBeacon 在工作时,是由iBeacon 设备在三个广播信道按一定的时间间隔(一般为300ms、500ms 或900ms)向外广播数据包。数据包中包含UUID、Major、Minor 三个信息,UUID、major 和minor 值提供iBeacon 的标识信息。一般来说,该信息本质上是分层的,主要字段和次要字段允许对UUID 建立的标识进行细分。当手机或网关接收iBeacon 信号时,除自身所带的信息外,还带有RSSI(Received Signal Strength Indication,信号强度)信息,在作为定位应用时,通常采用RSSI 值的大小来确定两个设备距离的远近。
iBeacon发射器的优点有:价格便宜,30~70元左右;设备小巧(直径5CM 左右);内置电池,不需外接电源或网线;安装方便,用自粘胶或一枚小螺丝即可安装。
本系统要求在每一个教室安装iBeacon 发射器,发射器的最佳安装位置是教室天花板的中央,这样不仅减少了发射器与手机之间的障碍,并且减少了距离。iBeacon 信号的穿透性不强,任何物理阻碍物包括人体都会阻碍iBeacon 的信号的传播,隔墙衰减严重。这个“弱点”反而成为本系统的优势,手机可以根据RSSI 的差异较容易识别本教室的iBeacon 信号。
iBeacon 发射器安装之后,还需要对其进行设置:
(1)修改Major、Minor 字段,这两个字段是可以自定义的,我们将Major 作为教学楼的编号、Minor 作为教室编号;
(2)绑定iBeacon 的UUID、Major、Minor 信息,使之与教室ID 关联。系统的硬件架构如图1所示。
iBeacon发射器按一定的时间间隔发出携带着标识信息的信号,学生手机根据算法选择本教室的iBeacon;学生手机进行人脸识别,成功后将信息通过互联网发送到服务器进行下一步处理。
3.1.1 微信小程序
微信小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。对于开发者而言,微信小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用。
本系统的用户是高校里上万甚至几万的学生,使用的手机五花八门,如果采用原生APP 开发,需要同时开发至少IOS 及Android两个版本,并且Android 手机的厂商分散,造成了Android 严重的碎片化,因此考虑到开发成本太重,我们放弃了这个技术路线。
微信作为一个超级APP,几乎已成为智能手机的标配,本系统采用微信小程序作为学生端的入口,只需开发维护一个版本,所有安装了微信的手机都可使用。
3.1.2 Face++
Face++是北京旷视科技有限公司旗下的视觉服务平台,Face++平台通过提供云端API、离线SDK、以及面向用户的自主研发产品形式,将人脸识别技术广泛应用到互联网及移动应用场景中。Face++同时提供云端REST API 以及本地API(涵盖Android,iOS,Linux,Windows,Mac OS),并且提供定制化及企业级视觉服务。通过Face++,可以搭建云端身份认证,用户兴趣挖掘,移动体感交互,社交娱乐分享等多类型应用。
Face++技术服务的形式分三类:人脸检测、人脸分析、人脸识别。使用Face++ Compare API 能够将两个人脸进行比对,来判断是否为同一个人,返回比对结果置信度和不同误识率下的阈值。支持传入图片或 face_token 进行比对。使用图片时会自动选取图片中检测到人脸尺寸最大的一个人脸。
签到流程如图2所示。
(1)微信小程序登录。学生通过扫描二维码或搜索小程序后,打开考勤小程序进行登录。小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。微信小程序有一套完善的登录流程,涉及三端:微信小程序、开发者服务器、微信服务器。用户触发登录操作后,三端通过一系列的信息交互后,考勤小程序会获得一个openid,openid 用来标识当前这个唯一的微信用户,也就是说,一个微信用户相对于一个公众号(主体)的openid 是唯一的,是不会变的。
(2)绑定用户。openid 是一串乱序的字符,需要与校务信息系统的用户进行绑定,以便识别正在访问的微信用户是哪个学生。上一步骤获取到openid后,发送到校务系统服务器(开发者服务器),如果该用户未绑定,则跳转到校务系统登录界面,学生需输入校务系统的用户名、密码进行关联操作。
(3)获取用户信息。已绑定的用户,教务系统根据openid 返回学生信息。用户即可以使用考勤小程序的所有功能,如查看课程表、查看考勤记录、签到、请假等。
(4)学生签到。如果教师端在这节课发起了签到活动,学生可点击“签到”按钮,开启后续的签到流程。
(5)自动选择iBeacon。学生的手机需要开启蓝牙,小程序有一系列iBeacon 相关的API。考勤小程序调用wx.startBeaconDiscovery() 搜索附近的iBeacon 设备,注册wx.onBeaconUpdate()的监听,回调函数提供了IbeaconInfo 数组。IbeaconInfo 对象包含了uuid(iBeacon 设备广播的uuid)、major(主id)、minor(次id)、accuracy(iBeacon 设备的距离)、rssi(表示设备的信号强度)等属性。考勤小程序在iBeacon 列表中选择信号最强的设备,获取它的IbeaconInfo 对象。
(6)获取教室ID。小程序发送IbeaconInfo 对象里的major、minor 字段到服务器,服务器根据之前登记的iBeacon 信息,返回对应的教室信息。
(7)手动选择教室。由于iBeacon 信号穿透性不强,大多数情况下,本教室的iBeacon 信号远强于列表中的其他设备,但也可能出现一些极端的情况,例如本教室的iBeacon 设备安装地不够理想,在一些边角处障碍物太多,以致相邻教室的信号反而更通畅。当系统检测到多个信号、并且最强的两个信号差值不到10%时,允许用户手动选择信号列表中的对应教室。
(8)人脸识别。人脸识别使用旷视的人工智能开放平台的API。旷视科技官网提供了各种语言的API 接入工具如Java、Python、OC、C++、JS、PHP,接入工具仅仅是对API 调用进行封装,并不包括任何图像识别或者其他AI 能力。人脸识别能力包括“人脸检测”、“人脸对比”、“人脸搜索”,我们需要用到的是“人脸对比”能力,即计算两张脸的相似程度,并给出相似度评分,以便分析属于一个人的可能性。
学生需要事先上传自己的照片,Face++从照片中提取人脸特征,人脸特征上传到服务器后,形成FaceSet(人脸集合),FaceSet 是用来存放face_token 的数据结构。将人脸存入FaceSet 可以进行人脸搜索操作,在指定的人脸集合中寻找与指定人脸可以判断为同一人的人脸。我们需要用到的有FaceSet 系列API、Compare API。
Compare API 的返回结果,最重要的两个字段是confidence 和thresholds。confidence 是比对结果置信度,范围为[0,100],小数点后3 位有效数字,数字越大表示两个人脸越可能是同一个人。Thresholds 是一组用于参考的置信度阈值,包含三个字段。每个字段的值为一个[0,100]的浮点数,小数点后3 位有效数字。
如果传入图片但图片中未检测到人脸,则无法进行比对,本字段不返回。比对后的返回信息有我们设置的阈值(thresholds),可以根据自身的需求选择其中一个阈值,当相似度(confidence)高于这个阈值时就可以认为是同一个人。阈值的字段是thresholds,跟业务场景严格等级相关,业务场景等级越严格阈值选用越高,返之越低。
考勤小程序开启摄像头,拍摄学生脸部照片,如果识别成功,则进入下一步,否则结束考勤流程。
(9)考勤信息入库。iBeacon 认证可以确保手机在场、人脸认证可以确保学生本人在使用手机,经过了双重认证之后,我们可以认为该考勤行为是可信的,此时考勤小程序将信息发送到服务器并入库。
(1)iBeacon 管理。管理iBeacon 设备的信息,如UUID、Major、Minor,以及关联的教室ID 等;负责将考勤小程序发送的UUID 列表映射为教室名称列表;iBeacon 电池耗尽或有故障时,通过此模块进行报废处理。
(2)教室管理。维护教室信息如地点、座位数量、设备等;对外提供教室查询服务,如查询某时间段是否有课程;根据教师的上课需求(时段、人数、机房、多媒体设备等条件)查询是否符合上课条件。
(3)学生管理。管理学生的基本信息如姓名、学号、性别、联系方式等。
(4)班级管理。管理班级信息,维护学生的入学、转班级、转学、退学等操作。
(5)教师管理。管理教师的档案信息。
(6)课程管理。管理各学期的课程,关联班级、教师信息。
(7)考勤管理。管理考勤报表、学生请假、教师批假;如有未带手机或手机不能正常使用的学生,允许教师手动添加考勤信息。
本文提出的基于iBeacon 及人脸识别的双重认证高校智慧教室考勤系统,有以下创新点:
(1)双重认证,防止考勤作弊。考勤系统最重要的是数据准确,如前文所述,目前市面上的很多考勤系统,或不能实现地点真实,或不能防止他人代签到。
(2)设备成本低。与其他解决方案的需要使用的打卡机、AP比较,本方案需要安装的iBeacon 设备价格有较大的优势,尤其对于资金不充裕的学校有非常大的吸引力。
(3)实施简单。iBeacon 设备无需外置电源、无需网线,施工难度极低,且维护简单。
(4)通用性好。使用微信小程序作为客户端,学生不需单独下载APP,同时也降低了开发和维护软件系统的成本。