基于树莓派和安卓智能手机的人脸识别安全房间门禁系统开发

摘要

安全问题是日常生活的重要组成部分。安全链中的关键环节是进入房间的用户识别。本文描述了一种基于人脸识别的安全房间门禁控制系统原型。该系统包括用于人脸检测的网络摄像头和用于进入房间的电磁门锁。网络摄像头检测到的每个用户都将与系统中的数据库进行匹配检查。如果该用户具有访问权限,则电磁门锁将打开,允许用户进入房间。否则,数据将通过安装了特定应用程序的基于安卓的智能手机发送给主用户。如果主用户确认该用户身份,则通过智能手机发送信号打开电磁门锁。然而,如果用户未被识别,则蜂鸣器将发出警报。该系统的主控电路为树莓派。所使用的软件为OpenCV库,可用于显示和处理网络摄像头生成的图像。本文采用Haar级联分类器对用户面部进行图像处理,以实现高精度的人脸检测。

1 引言

如今,安全问题在生活的许多领域都至关重要。隐私因素也影响着安全系统的重要性。电子技术的进步有助于开发出可靠的安全系统。安全链中的关键环节是进入房间的用户识别。本文介绍了一种基于人脸识别的安全房间门禁控制系统原型。人脸识别一直是计算机视觉和生物识别技术中的热门研究领域,因为识别人脸图像在表情变化、遮挡、伪装和光照条件不同的情况下是一项具有挑战性的任务[1]。

与指纹匹配和眼底视网膜匹配一起,它们成为生物识别技术中的重要方法[2]。

人脸识别的任务是将查询人脸与数据库中的多个人脸进行比较,以确定该人脸是否属于数据库中的某个人[3]。在某些识别应用中,需要找出最相似的人脸。在更高级的应用中,不仅需要找出最相似的人脸,还需要获取与检测到的人员相关的数据,以及通过显示可疑人员来实现通知系统。在人脸识别系统中,面部检测是捕获用户图像以供处理的第一步。面部检测通常使用由光电二极管组件构成的光接近传感器。然而,这些传感器只能检测与光线水平方向对齐的人脸。为了获得更宽广的人脸图像视角,使用网络摄像头比接近传感器具备更强的能力。所提出的系统使用网络摄像头捕获面部图像。然后,该图像将通过特定算法进行进一步处理以获得最佳结果。

在安全系统中,该图像将与系统中的用户数据库进行比对。如果进入房间的用户被系统识别,则门锁将自动打开,用户可以进入房间。否则,门锁保持关闭状态,除非主用户因特定情况决定开启门锁。此类机制旨在确保只有授权用户才能进入房间,从而提升安全性能。

所提出的系统采用树莓派作为主控单元,OpenCV作为开源库来处理网络摄像头生成的图像。树莓派是一种功能强大且为信用卡大小的单板计算机,因其功能性、小巧的尺寸以及对物联网系统的扩展支持,可用于多种应用。Pal et al. [4]采用树莓派控制共形波束转向天线,以在散射和低信噪比(SNR)环境中优化吞吐量。Filhoet al . [5]利用树莓派实现了NPi‐集群,这是一种具有能量比例性的低功耗集群架构,能够根据当前处理需求自动调整运行机器的数量。Pasolini et al . [6]开发了基于树莓派的信号处理教育平台。在人脸识别方面,Gupta et al . [7]探讨了使用传统人脸检测实现基于树莓派的人脸识别系统的可行性识别技术。后者与我们论文中所描述的所提出的系统一致。尽管OpenCV是一个主要面向实时计算机视觉的编程函数库[8]。它最初由英特尔开发,近年来已成为图像处理领域的平台库,因为它可以根据用户需求进行定制。一些关于OpenCV在图像处理中应用的相关研究包括Green[9], Shen等[10], Sharma 和 Shah[11], Mustafa 和 Khairul[12],以及Emami 和 Suciu[13],等。Green[9]扩展了OpenCV中的库,以实现中值滤波用于图像去噪。Shen等[10]对OpenCV中的人脸识别算法进行了基准测试,旨在实现稀疏表示分类,从而在智能手机上准确高效地进行人脸识别。Sharma 和 Shah[11]利用OpenCV库实现了一种简单且低成本的方法,用于高速公路上的动物自动检测,以防止动物与车辆碰撞。Mustafa 和 Khairul[12]将OpenCV库安装到树莓派上,通过识别颜色和大小来精确分类水果成熟度。而Emami 和 Suciu[13]描述了OpenCV中的人脸识别,其使用一种称为Haar级联分类器的人脸检测方法。

本文的其余部分结构如下。第2节分别描述了所提出系统的框架,包括框图、流程图和原理图。实验结果与讨论在第3节中给出。最后,第4节总结了一些结论以及对未来研究的进一步建议。

2 系统框架

安全房间门禁系统的框架如图1所示。当房间用户想要进入房间时,安装在房门上的网络摄像头将捕捉该用户的面部图像。如果面部被识别成功,则树莓派会通过继电器发送指令,打开连接在房门上的电磁门锁。然而,如果面部未被识别,主控制器将向蜂鸣器发出指令,触发警报,并将该面部图像发送至安装在安卓智能手机上的Telegram。Telegram是一款基于云的移动和桌面消息应用程序,在安全性、速度以及与其他接口的连接性方面具有特定性能。该应用程序在人与人之间的通信中非常流行,近年来也被广泛用于人机之间的通信。如果房间的主用户能够通过 Telegram识别所发送的面部图像,则主用户可向电磁门锁发送指令信号以打开房门。一旦用户进入房间后,电磁门锁将自动关闭房门。

而所提出的系统中采用的流程图如图2所示。如图2所示,进入房间的用户识别包括两个步骤。如果用户被确认为授权用户,则电磁门锁将开启,允许用户进入房间。相反,如果某人未被确认为授权用户随后蜂鸣器将报警。这种情况可能发生在授权用户身上,原因是系统在面部检测不完整、光线强度不足等方面无法完成识别。为解决此类情况,人脸图像将通过Telegram发送给主用户。随后,主用户根据对人脸图像的识别决定是否开启或关闭门锁。如果识别成功,主用户将发送信号关闭蜂鸣器并打开门锁;否则,蜂鸣器将持续报警一段时间,门锁保持初始状态。

示意图0

示意图1

所提出的系统的原理图如图3所示。该系统包括网络摄像头、树莓派、电磁门锁和安装了 Telegram应用程序的智能手机。网络摄像头通常是一种摄像机,可用于捕捉、传输和实时流式传输进入房间的用户的图像。捕获到的面部图像将被发送到树莓派,并与数据库中存储的面部图像进行比对。树莓派使用在OpenCV库中编译的算法处理面部数据。OpenCV中的面部检测方法基于Viola和Jones提出的Haar级联分类器[14]。该方法通过提取图像特征而非逐像素进行图像处理,从而实现高效的图像处理并达到较高的检测率。

示意图2

为了在树莓派上使用已安装的OpenCV库实现人脸识别,第一步是收集并记录所有用户的图像到数据库中。在此步骤中,我们采集15张图像,并标注每张图像对应的身份信息。我们使用一种名为 Geany程序员编辑器的编辑器将记录的图像与树莓派连接。此步骤如图4所示。

示意图3

完成上一步的编译后,我们可以得到如图5所示的结果。

示意图4

对于存储在数据库中的每个用户,我们分别采集15张面部图像。这些图像代表了面部表情、周围环境的光线条件、面部的大部分区域等。与同一用户相关的每张图像都存储在数据库中,并为其分配一个身份标识,该标识将随图像一起显示在监视器上。

根据图2所示的流程图,如果由树莓派进一步处理的捕获的图像与数据库中记录的授权用户匹配,则电磁门锁将打开门。否则,捕获的图像将被发送到智能手机,并由主用户通过Telegram进行验证。

Telegram是由俄罗斯企业家帕维尔·杜罗夫开发的基于云的即时通讯和网络语音服务,与其他通信服务相比具有诸多优势[15]。如今,许多应用已利用 Telegram的优势开发出来,包括水培智能农业系统监控[16], 、数字取证分析[17], 、基于物联网的应用 [18],等。由于Telegram提供机器人(bot)功能——一种能够通过特定文本命令触发并返回预设格式回复的自动应答账号[15, 19],因此可实现Telegram与其他硬件(如树莓派)的集成。

3 结果与讨论

在实验中,我们注册了九名授权用户,他们的面部图像存储在数据库中。对于每位用户,我们采集了15张不同姿态和表情的面部图像。实验通过在若干条件下拍摄用户来进行,包括正常情况、低光照强度、倾斜面部和遮挡面部。正常情况指面部正对摄像头,使得面部所有部分都能被清晰捕捉。第二种情况下,用户周围的光照强度较低,导致图像偏暗。第三种姿态中,每位用户将头部沿Y轴倾斜约15度。最后一种情况下,在用户面部前方放置一个物体,从而造成面部被遮挡。这些授权用户分别为阿里夫、乔迪、艾哈迈德、蒂亚拉、特迪、妮宁、伊布、特·尼萨和泰·能。

示意图5

表1显示了所提出的系统在正常情况下的人脸识别结果。由于捕获的图像清晰,所提出的系统能够识别所有授权用户以及未授权用户。用户的身份证信息可以被准确分类,与其在数据库中的存储信息一致。当检测到授权用户时,电磁门锁将打开。

表1. 正常情况下的人脸识别

No User 数据库 捕获的图像
1 Arif
2 Jodi
3 艾哈迈德
4 蒂亚拉
5 Tedi
6 妮宁
7 Ibu
8 Teh nisa
9 Teh neng
10 Mr X 未授权 user (tidak dikenal)

第二次实验的结果列于表2中。在本实验中,用户周围的光照强度较低,捕获的图像比正常情况更暗。在这种情况下,OpenCV中的分类器能够对部分捕获的图像进行分类和识别。然而,存在一些对用户的错误识别。这可能是由于某些捕获图像的特征不再与相关数据库匹配所致。为了减轻光照变化对人脸识别的影响,我们可以采用方向性光照估计的方法,从面部图像中提取方向性光照不变集,如Cheng et al.[20]所提出的。该方法中的方向性光照不变集不仅更好地保留了人脸的基本特征,而且显著减少了快速光照变化带来的不利影响。

表2. 光照强度较弱时的人脸识别

No User 数据库 捕获的图像
1 Arif
2 Jodi
3 艾哈迈德
4 蒂亚拉
5 Tedi
6 妮宁
7 Ibu
8 特·尼萨
9 Teh neng
10 Mr X 未授权 user (tidak dikenal)

另一项实验针对倾斜面部和遮挡面部进行。部分结果如表3和表4所示。与之前的结果类似,嵌入OpenCV的Haar级联分类器能够识别部分捕获的图像。对于遮挡面部,识别效果更差,这是由于用户面部部分不完整所致,情况较为直观。在此情况下,应通过先进技术改进和增强捕获图像的特征,以优化图像特征,例如Kasim et al. [21]描述的局部二值模式或Rahim et al. [22]提出的费希尔线性判别。

表3. 倾斜面部的人脸识别

No User 数据库 捕获的图像
1 Arif
2 Jodi
3 Tedi
4 Ibu
5 Teh Nisa

表4. 遮挡面部的人脸识别

No User 数据库 捕获的图像
1 Arif
2 蒂亚拉
3 Tedi
4 Ibu
5 Teh Nisa

4 结论与展望

安全房间门禁系统可以通过结合网络摄像头、树莓派、继电器、电磁门锁、蜂鸣器以及安装了Telegram的安卓智能手机来实现。该系统采用Haar级联分类器方法来检测和识别用户的面部。实验结果表明,使用Haar级联分类器进行人脸检测和识别处理的敏感性较低,因为它依赖于相似度、光照强度、面部角度以及捕获图像的完整性。在一定程度上,我们可以得出结论:在用户面部的图像处理中,Haar级联分类器能够以高精度实现人脸检测。然而,我们可以在后续研究中应用一些如[21–22]所述的先进技术,以提升Haar级联分类器的性能。

更多推荐