基于FaceNet的智能自习室的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子产品世界
设计应用
esign & Application
嵌入式设计
基于FaceNet的智能自习室的设计与实现
*
Design and implementation of intelligent study room based on FaceNet
董 涛,周旭辉,张 浩 (郑州工商学院信息工程学院,郑州 451400)
摘 要:本项目从郑州GS学院公共自习室的实际情况出发,通过分时段调研本校图书馆公共自习室的座位使用情况和管理状况,发现自习室存在学生占座、高峰时段拥挤、人工管理效率低等情况。为了解决公共自习室的困境,本文提出一种基于互联网预约+人工智能管理的解决方案。运用微信小程序实现公共自习室使用状态查看和网络预约功能,并借助人脸识别和物联网实现了无人化和智能化管理。关键词:座位预约管理;FaceNet模型;人脸识别;物联网Led
*基金项目:郑州工商学院科研创新项目,项目编号:2022-KYDXS-10
随着近些年高校的扩招,不断增加的学生数量使校园的公共资源陷入资源紧张和管理混乱的局面。很多高校共自习室的使用和管理中都面临着“长期占座”或者“高峰抢座”等问题的困境。本文以郑州GS 学院的图书馆公共自习室实际应用为研究背景,设计研发一款基于微信小程序前端以及人脸识别技术的公共自习室座位预约及管理系统。从而帮助学生更合理有效地安排自习时间,并帮助学校缓解公共自习室资源紧缺问题。
1 系统总体设计
研究生扩招,在考研热潮之下宽敞明亮、学习氛围浓郁的公共自习室无疑是考研族学习的最佳场所。引入公共自习室座位座位预约及管理系统,希望实现座位共享,提高座位的利用率,缓解座位紧张的问题。本系统共包含了四大功能模块,如图1
所示:
图1 公共自习室管理系统框架
1)微信小程序模块:本模块主要负责提供学生用户访问系统的交互UI 。学生仅需在手机端关注图书馆微信公众号即可进入公共自习室在线预约系统。通往微信小程序学生能够以可视化的方式查看图书馆公共自习室座位的使用情况。同时还可通过微信小程序实现自习室座位的在线预约。
2)后端服务模块:后端服务包含了座位预约信息的管理;人脸识别模块中人脸图库的管理;学生学习记录统计;物联网模块逻辑控制,以及其他信息管理功能。该模块是公共自习室智能化管理的中枢模块,负责各个模块中的消息转发工作。
3)人脸识别模块:本模块是实现公共自习室智能化无人化管理的核心功能模块。首先系统通过控制自习室入口处的摄像头,采集学生的面部图片,然后运用FaceNet 模型实现人脸特征提取,随后比对并将结果传送给后端服务模块。在由后端服务程序把控制信号传输给物联网模块。
4)物联网模块:实现智能化管理的硬件实施模块,根据后端服务模块传递的控制信号,分别控制自习室门口的出入闸机和放置在自习室座位上的物联网LED 小灯。
电子产品世界
2 微信小程序模块设计与实现
微信小程序作为腾讯公司推出的一款基于微信平台的移动APP ,具有简单易用、跨平台、即走即用等特点。因此本系统的用户UI 交互系统采用了微信小程序进行开发设计。主要实现了郑州GS 学院图书馆公共自习室座位使用情况的实时可视化的信息展示,包含当前座位的状态及本座位已有的预约信息。
自习室中有8张大桌子,每张桌子上可安排8个自习座位,每个方块就代表一个自习座位。白色方块代表该座位为空闲状态,无人预约,单击此方块则可以进入预约信息填写界面。红色方块则表示该座位已经被预约或正在使用,点击此方块则可以产看座位具体的使用信息,包括预约的开始时间和结束时间以及预约人的基本信息。具体流程如下图所示:
图3 预约流程
3 后端服务设计与实现
后端服务主要采用了SpringBoot 框架,实现了整个系统的数据传递和业务逻辑控制。主要的数据交互流程包括个人信息,座位信息,控制信号几部分。首先前端复制接收用户控制信号或者收集用户的数据,提交到基
于SpringBoot 框架的服务器程序进行逻辑处理和数据交互。例如登录模块由SpringBoot 的control 层接收预约请求,并接收传入的用户名、座位编号、预约时间等数据。然后由service 层负责对收集的数据进行非空或者字符集转换等加工处理。座位预约数据信息的存储需要通过Mapper 层的Java 接口调用项应的Mapper 文件,完成Java 接口和SQL 语句之间的映射。而本系统的数据底层采用MySQL 数据库实现。整个后端服务采用SpringBoot 框架能有利于这个程序的后期维护。
4 人脸识别模块的设计实现
4.1 RetinaFace网络
RetinaFace 是一种用于人脸检测和人脸识别的深度学习网络模型,由中国科学院自动化研究所的陈泽民等人在2019年提出。它采用了一种新颖的多任务损失函数,可以同时预测人脸的边界框、人脸关键点、人脸的姿态和人脸的人种信息,具有较高的检测精度和速度。
RetinaFace 模型的基本思路是通过将人脸检测问题转化为一个回归问题,预测每个人脸的边界框、关键点、姿态和人种信息。模型主要由两部分组成:特征提取网络和人脸检测头。
特征提取网络采用了ResNet -50作为骨干网络,通
过提取特征图来表征不同尺度的特征。检测头采用了一种类似于RetinaNet 的方法,对于不同尺度的特征图,使用多个分支来预测不同大小的人脸边界框和关键点。此外,检测头还使用了一种人种分类分支,可以用于预测人脸的人种信息。
4.2 FaceNet模型介绍
图4 FaceNet网络结构
本文使用MobileNet 作为FaceNet 网络的主干特征提取网络,MobileNet 网络是专注于移动端或者嵌入式设备中的轻量级CNN ,相比于传统卷积神经网络,在准确率小幅度降低的前提下大大减少模型参数与运算量。