李欣颖 童宣科
摘要:为了提高安全性和便捷性,尤其是在疫情背景下,应避免使用者因接触门把手而造成交疾病的叉污染。本文设计了一种非接触式的虚拟门把手,可用来代替传统门把手在现实生活中的作用。该虚拟门把手采用树莓派作为主控芯片,通过摄像头采集实时画面和用户手势,门锁模块用于实现开锁和反锁的功能;该虚拟门把手还具有人脸识别功能,保障用户的安全和隐私。测试结果表明,该虚拟门把手能够实现人脸识别,并在用户做出指定手势时实现开锁或反锁的功能,达到了预期的设计目标。
关键词:人脸识别;手势识别;树莓派;卷积神经网络
据调查显示,高校的公共设施存在不同程度的微生物污染,门把手上的污染最为严重,其中大肠菌群有可能造成肠道外感染或急性腹泻[1];2020年2月,广州市疾病预防控制中心在一名确诊患者家中门把手上发现了新型冠状病毒的核酸,专家提醒我们日常家居细节中,有许多可能造成病毒间接传播的途径,容易为人所忽略。对于普通社区居民,风险更多来自于间接接触:如果病毒附着在物体表面,自己的手触摸到被污染的物体表面后进食、揉眼睛等动作,可能会造成自己感染[2]。
门把手作为日常中使用频繁的设施,通常与门锁结合以实现开门、关门和反锁的功能。传统的门把手需要与人员发生手部接触,因此细菌病毒等会附着在门把手上,造成交叉感染。为了防止细菌病毒通过门把手传播,降低人民群众的感染风险,本项目设计了一款基于机器学习的虚拟门把手,可通过开关门手势实现开门、关门和反锁的功能,避免人员与门把手的直接接触。此外,本项目设计的虚拟门把手有人脸识别功能,通过与磁吸式门锁结合,保障了用户的隐私与安全,更具有方便快捷、操作方法简单等优点。
1设计思路
对本项目的需求进行分析后,画出了该系统的原理框图,如图1所示。本项目采用了模块化的思想,方便结构搭建和测试。其中,摄像头模块用于采集获取用户的实时画面图像信息,并将图像信息传输给嵌入式主控板,以进行人脸识别和手势判断。门锁模块用于实现开门、关门和反锁的功能,当用户进入摄像头区域内唤醒主控,点亮显示屏并人脸识别成功后,用户可做出开关门的手势,门锁模块可以做出相应的反应,即能够完成非接触式开门和关门的动作,降低了因接触门把手而感染细菌病毒的风险;执行反锁手势指令后,只能通过用户在门的这一侧做出开锁的手势来打开门锁,而在门的另一侧无法打开。显示模块用于显示实时画面和提示信息,用户根据显示模块上的提示完成指定手势,避免因手势不规范或超出检测范围而发生手势识别错误。电源模块用于对整套装置供电,保证装置正常运行。
2方案选择
本设计主控采用高速微处理器第三代树莓派计算模块,拥有1 GB RAM(随机存取存储器,RandomAccess Memory),1.2 GHz 主频的博通BCM2837 处理器。其体积微小,板载外设接口丰富,包括4个USB(通用串行总线,Universal Serial Bus)端口、DSI (显示串行接口,Display Serial Interface)显示、HDMI(高清多媒体接,High Definition Multimedia Interface)、以及40个GPIO(通用输入输出端口,General Purpose Input/Output Port)接口,是一款运算能力强劲的基于Linux 的微型计算机。
开门、关门功能通过门锁模块实现。常用的门锁有插芯式门锁和电磁门锁两种。插芯式门锁有单设按钮插芯门锁和双舌插芯门锁等分类,安装复杂,不便于控制。电磁门锁利用电磁铁的原理,依靠电力产生磁力,拉住门锁,具有安装简单,易于控制的优点。因此,本设计中采用的是常闭式电磁门锁,通过磁力使门锁闭合,收到单片机控制信号后门锁打开。本设计选用的磁吸式门锁具有280 kg直线拉力,吸力稳定,且配备220 V交流转12 V直流供电,电源装配简单。
采集用户面部和手部信息通过摄像头模块实现。本项目中,摄像头模块选用1 080 P高清摄像头,并具有130°广角,可以充分满足信息采集需要。兼容树莓派和Windows等多种系统,采集到的图像数据通过USB 接口能够直接传递给树莓派主控芯片。
显示模块采用4.3″IPS (横向电场效应显示技术)显示屏,分辨率为800×480像素,具有MIPI(移动产业处理器接口,Mobile Industry Processor Interface)DSI 接口,与树莓派模块相匹配。3.3 V电源供电时,功耗300 mW,是一款低功耗显示屏。显示模块用于显示摄像头拍到的实时画面和提示信息,形成良好的人机交互。
3方案实施
3.1主程序流程
如图2所示,该系统由电磁门锁、摄像头和显示屏组成。电磁门锁用于控制门的开关,摄像头固定于门上,S1为用户到摄像头的距离。
图3是主程序流程图。当有用户进入检测区域时,首先对其进行人脸识别,判断是否为合法用户,若为非法用户,则在显示屏上显示非法操作;若判断为合法用户,则等待其手势指令,如开门或反锁指令。
3.2人脸识别和手势识别
通过摄像头拍摄实时画面,对用户进行人脸识别和手势识别。
人脸识别采用了OpenCV(开源计算机视觉)自带的人脸特征分类器haarcascade_frontalface_alt2.xml。首先录入合法用户的人脸照片信息并保存,接着直接调用人脸特征分类器进行人脸识别。
手势识别采用了自制数据集和自制训练模型。自制数据集邀请了4位不同手形大小的实验参与者采集其做出的手势,每人做出3种手势,每种手势录入240张64×64×3的RGB(红绿蓝)图像,共2 880张图像。打乱顺序后,随机抽取2 160张图像作为训练集,其余720张图像作为测试集。为了增加样本数量,增强模型的泛化性,項目中采用了数据增强,降低了过拟合的风险。建立好每张图片对应的标签后,构建CNN(卷积神经网络,Convolutional Neural Network)网络。本项目的CNN网络模型如图3所示,模型顺序连接,四次卷积池化,再接一个全连接隐藏层和一个输出层。其中两次卷积核均为3×3像素,使用ReLU激活函数,两次池化均采用最大池化。全连接隐藏层使用ReLU激活函数,输出层采用softmax激活函数,由于本项目种共有3种手势需要识别,所以输出层神经元个数为3。
为了防止其他未知的手势引起识别错误,程序对进行手势判断做出了改进。得益于softmax激活函数,使得模型预测的三个输出值都在0到1之间,且三个输出值相加等于1。于是只需判断预测结果中的输出值是否大于某个规定值,若大于才能被判断为有效手势,若为无效手势,则不执行操作。
3.3门锁开锁和反锁
门锁的开锁与反锁由树莓派主控芯片控制电磁门锁实现。
图5为门锁电源接线示意图。电磁门锁的正、负极分别连接NC和COM端,在此连接方式下,门锁为常闭状态。门打开后,两磁铁靠近自动吸合关闭。树莓派主控芯片控制门锁IO口接到PUSH端,用于控制门锁打开或反锁。执行开锁指令时,控制IO口输出高电平,经过变压器升压后达到12 V,控制门锁打开。接收到反锁命令后,程序记录反锁标志位,从另一侧开门时若反锁标志位为1,则不能打开门。
4调试与测试
在训练自制模型的过程中,使用一台处理器为Intel Core i7-1065G7、主频1.30 GHz,机带RAM为32.0 GB的计算机。图4给出了模型训练时的参数变化,从中可以看出,15轮内模型训练集和测试集的准确率都达到95%以上,损失率均为15%以下。
在基于树莓派计算模块的系统功能测试中,邀请了5位同学在不同背景、不同光照环境下对系统进行了测试。测试结果表明,本系统能够实现对用户的手势识别和人脸识别,当S1在30cm~50 cm之间时识别效果最好,人脸识别成功率为95%,手势识别成功率为93%,手势解锁指令识别成功后,门锁解锁时间为1s。
5结语
本项目基于树莓派单片机和卷积神经网络,实现了可以用手势控制的虚拟门把手功能。经过测试,该虚拟门把手具有人脸识别、手势识别的功能,可以根据用户的手势执行指令,完成对门锁的控制。未来将收集更多手部图像作为训练数据集以进一步提高模型准确率,提高系统在不同环境下的适应能力,并尝试用电插芯门锁代替电磁门锁,以完善门锁的安全性问题。
参考文献:
[1]白靖.济南市某高校公共设施和公共用品微生物污染状况调查[J].科技视界,2017,(34):22+15.
[2]乔靖芳,王楠.门把手上检测出病毒![N].健康时报,2020-02- 07(002).
[3]RS Components和Allied Electronics现可供货树莓派3计算模块[J].单片机与嵌入式系统应用,2017,17(03):74.
[4]邵晓康,张恒,田春子,等.OpenCV算法的人臉识别在课堂签到系统上的分析与研究[J].电子世界,2021(23):31-32.
[5]王强宇.基于深度神经网络的动态手势识别技术研究[D].徐州:中国矿业大学,2019.