基于人脸识别和RFID智能门禁考勤系统
2021-04-25李明昆钟丽辉戴正权
李明昆 钟丽辉 戴正权
摘要:随着信息技术的发展及学习生活节奏加快,教室、宿舍等场所智能化管理需求日益增加。本文在Linux平台下基于OpenCV、Face Recognition等开源算法开发人脸识别和RFID门禁考勤系统,一方面解决教师、学生进入宿舍、教室需要钥匙的不便以及教室钥匙管理的烦琐;另一方面可以快速地对上课和夜间归宿情况考勤记录,实现了教室宿舍的智能化管理。
关键词:Linux;人脸识别;门禁;考勤;RFID
中图分类号: TP18 文献标识码:A
文章编号:1009-3044(2021)09-0183-02
开放科学(资源服务)标识码(OSID):
校园教室、宿舍管理一直都是学校管理工作的重难点,以往传统的管理方式依赖于人工,需要消耗大量的人力物力,且安全性和实时性也不能得到很好的保证,随着电子信息技术发展,校园的很多设施都趋向自动化、智能化发展,但在教室、宿舍管理方面的信息化应用还不够普遍。
人脸识别[1]应用已经十分广泛,而且安全性也日益提高,即使在支付、认证这类高要求场合也能胜任。人脸识别[2,3]具有便捷、速度较快、非接触、非侵入性、适应性强、可并发等特点,非常适用于考勤与门禁,而RFID[4](无线射频识别)技术具有抗干扰、速度快、容量大、体积小、成本低、实现容易等特点,在校园卡、地铁公交、高速计费等很多场合都有应用。
该系统的教室门禁功能可以根据教室安排分配不同教师及学生的权限,让学生课前无须等待及时进入教室准备学习;教室考勤功能利用學生进教室时快速识别,考勤信息自动上传教务系统,将节省宝贵的课堂时间。该系统的宿舍门禁功能可以方便学生进入寝室同时保障了宿舍财产安全;宿舍考勤功能可以记录学生回寝时间,夜间考勤信息及时上传,保障学生安全[5,6]。
1 系统总体设计
本系统以BCM2711处理器作为主控,运行嵌入式linux系统,配置Python-OpenCV、Face Recognition环境,首先通过摄像头实时采集图像,并对图像进行人脸检测、人脸区域裁剪、灰度变换、直方图均衡化等预处理[7];其次通过Face Recognition与之前学习的人脸数据比对,返回匹配的人脸ID;再次把相应信息上传服务器;最后服务器判断是否有开门权限后下达指令,并进行考勤统计、整理、存档,以Web界面的方式进行展示和管理,信息与教务系统[8]共享。RFID与人脸识别互补,增加了系统的灵活性。本文系统总体设计的框图如图1所示。
2 系统硬件设计
2.1 核心模块
系统选用了高性能BCM2711处理器,该处理器为四核Cortex-A72架构,主频1.5GHz,保障系统稳定流畅运行,集成工作频率为500Mhz的Video core VI GPU,为人脸识别并行运算提供硬件加速,支持4K 60FPS HEVC视频解码,芯片工艺为28纳米,有利于系统低功耗、低发热设计。内存采用的是LPDDR4内存芯片,容量2G,满足系统运行需求,Flash为外扩16G MicroSD卡。
2.2 图像采集
系统选用的摄像头为OV5647,它是500万像素的cmos图像传感器,具有低电压、高性能的特点,图像分辨率最高可达2592*1944,为系统准确人脸识别提供基础保障,通过CSI接口与处理器连接,减少I/O占用。视角为65°,适合近距离采集人像,在1080P分辨率下,FPS可以达到30,满足系统要求。本文选用的图像采集摄像头的功能块描述如图2所示。
2.3 射频识别
系统选用的射频识别芯片为MFRC522,它工作在13.56MHZ,支持协议多、低功耗、低成本, 传输速率高达424Kbit/s,与处理器使用SPI协议通信。13.56MHZ是目前RFID使用最为广泛的频率,许多校园卡、公交卡、门禁、手机NFC都使用此频率,因此还可添加支持NFC功能的手机、手环等作为认证设备,该频率兼顾了速度和安全性,通信距离一般不超过10cm。该系统选用的卡片是Mifare S50,该卡片有1K的存储容量,满足系统要求,遵守ISO14443A标准,具有安全、防干扰、速度快、价格低等优点。对全扇区进行加密,防止复制,加强系统的安全性。
2.4 以太网通信
系统的以太网选用常见的RJ45接口,驱动芯片为BCM54213PE,它是一款三速1000BASE-T / 100BASE-TX / 10BASE-T千兆以太网收发器,完全符合RGMII标准,支持IEEE 802.3az标准,与处理器使用RGMII接口连接,可与标准的以太网交换机、路由器相连,兼容性好,方便系统安装。
2.5 电控门锁
电控门锁采用电磁锁,当通电时,电磁铁产生巨大吸力吸住铁板,达到把门锁住的效果,当电源断开,磁力消失,门即可打开。同时电磁锁可以方便实现闭环检测,当有暴力开门时,可以发出报警信号,且当断电时,门为常开状态,符合消防安全规范。
3 系统软件设计
3.1 客户端软件设计
客户端安装linux系统,移植部署OpenCV、Face Recognition,主程序为Python编写,客户端软件设计流程图如图3所示。客户端运行时先从服务器更新已经处理好的已知人员的面部编码,并从摄像头采集图像,使用OpenCV检测、裁剪人脸,然后进行灰度变换,减少后期运算量,加快识别速度;并进行直方图均衡化处理,弱化光线的影响,接着使用face_recognition.face_encodings对当前人脸进行编码,将结果使用face_recognition.face_distance得出与已知人员面部编码的欧拉距离,通过欧氏距离判断该人脸是否属于已知人脸,并得出与哪一个人脸最匹配。最后,将识别结果上传服务器,由服务器记录考勤信息并判断当前个人是否有开门权限后下达开门指令,RFID作为备份,当检测到正确的卡片,执行开门操作的同时上传服务器记录。
3.2 服务器软件设计
服务器端基于Flask框架,客户端与服务器使用HTTPS协议通信,安全可靠。后台WEB管理界面后端使用Python/Node.js编写,实现考勤统计,权限判断,前端使用HTML/JavaScript編写,绘制交互界面。服务器从客户端获得识别的人脸并根据教务系统课表教室分配信息,得到是否有开门权限并将结果下发客户端,同时整理记录考勤信息。
4 实验测试
实验在室内一般光照环境下进行,分别测试了:没有录入人脸数据、已录入人脸数据但该时间地点无权限和已录入人脸数据且该时间地点有权限三种情况,系统均正确运行,识别平均速度在1.4s。使用有权限的IC卡能正常开门,响应速度快。登录进入Web界面,可以查询到开门及考勤记录,并可进行权限设置。系统运行稳定,功能基本正常,满足预期设计要求。
5 结论
本系统以人脸识别为主,RFID为辅,应用于宿舍教室的门禁考勤,防止学生逃课、代课现象,节约课堂时间,具有一定实用性,能解决当前的考勤工作、教室管理、校园智能化、学风建设等问题。后续,不仅可以应用到校园的教室和宿舍,也可应用到企业、政府等场合,具有很大的普适性。在实验中发现,系统的人脸识别算法的速度有待优化,web管理界面功能还需扩充,以增加系统的实用性。
参考文献:
[1] 刘卫凯,郝雅倩,郑晗,等.人脸识别综述[J].信息记录材料,2018,19(7):13-14.
[2] 张一夫,陈天飞,张建松.基于树莓派的在线人脸识别考勤系统[J].电子设计工程,2019,27(22):152-156.
[3] 师阳,闫丽丽,文韬,等.基于OpenCV的人脸识别应用[J].电脑编程技巧与维护,2018(7):140-141,144.
[4] 张殿东.无线射频识别(RFID)技术[J].电信技术,2005(2):86-88.
[5] 张金霞.HTML网页设计参考手册[M].北京:清华大学出版社,2006.
[6] 朱杰.使用HTTP协议传输数据的几种方式的比较[J].信息与电脑(理论版),2014(16):191-192.
[7] 秦小文,温志芳,乔维维.基于OpenCV的图像处理[J].电子测试,2011(7):39-41.
[8] 雷亮辉,鄂旭,杨芳,等.基于开源框架Flask的教务系统的设计与实现[J].信息与电脑(理论版),2016(20):107-109.
【通联编辑:唐一东】