基于树莓派的自动门控制系统

摘要

本研究论文描述了一种使用基于云的移动应用的安全门解锁系统的工作原理。无论时间和空间如何,均可通过远程方式轻松控制家庭钥匙的访问。该应用专门设计用于通过物联网范式和OpenCV(图像处理)实现生物特征人脸识别初始化,以进行家庭门解锁。该应用的主要目标是在业主不在场时保障住所的安全与控制。本系统的用户界面设计简洁,使普通家庭能够理解相关术语和使用方法。

关键词

人脸识别,API,数据库,移动应用,OpenCV,基于云,图像处理

一. 引言

人脸识别系统通常通过视频源或图像捕捉来验证或识别图像。目前有多种先进的方法被提出用于人脸识别。本研究基于生物特征人工智能的应用,可用于识别面部纹理和不同形状。它通常用作安全系统中的访问控制,并可与其他生物特征识别系统(如指纹或虹膜识别)进行比较[1]。自动门开启系统广泛应用于商店、大学、公司和购物中心等场所。当检测到人员面部时,门将自动打开并随后关闭。该系统由树莓派和传感器实现,并使用OpenCV进行设计。当有人靠近门时,摄像头会检测其面部,并与数据库中的信息进行比对,完成验证后门将自动开启[2]。

II. 相关工作

已提出多种使用开源计算机视觉的方法。这些系统的主要缺点是人脸识别系统在某些银行有时会失败。而其他系统采用虹膜扫描、视网膜和指纹系统,虽然能完成工作,但安全性不高,且存在数据丢失或被自动清除的问题。本系统速度快,采用Haar级联算法可清晰捕捉图像,并通过 API确认人员身份,从而打开门禁。随后,图像将被发送至云存储。我们可以访问云账户,需要时可随时下载图像。该方法非常简便且安全。

Ardinintya Diva Setyadi 等人 [1] 提出了利用面部识别人类特征的系统。该系统包含两个方面的处理过程,其中包括训练和运行。双方执行了相同类型的操作。在人脸检测过程中,他们提取了人脸的各个部分,如两只眼睛、鼻子和嘴巴。为了识别这些部分,将人脸图像划分为四个部分:图像的左上部分、图像的右上部分、图像的中心部分以及图像的下部。通过图像的左上部分和右上部分分别提取左右眼睛。鼻子部分从图像的中心部分获取。最后,嘴巴部分从图像的下部提取。该项目的第二个模块是特征提取计算。该模块采用Canny边缘检测实现。通过图像裁剪,可以从该模块中分别提取出人脸的每个部分。他们使用人工神经网络(ANN)来识别人脸图像。通过人工神经网络(ANN),捕获人格类型。

赫沙姆·A·阿拉巴西等人[2]提出了一种专用的人脸检测系统。该系统通过提取人脸图像中肤色部分的颜色来实现人脸检测。利用肤色可以避免大范围搜索以检测人脸图像。在该肤色模型中,使用RGB分量来定位图像中的人脸区域。首先,将原始图像调整为160*120像素。随后并行执行Canny边缘检测和分割操作。对图像进行腐蚀处理,并用白色填充图像中的孔洞。最后,通过边界框技术从原始图像中提取出人脸区域。在分割过程中,作者使用了两种颜色模型:HSV和RGB。他们在日光和闪光灯两种光照条件下对图像进行了训练。通过形态学操作来识别人脸图像的边界。

吉格内什·J·帕托利亚等人[3]提出了一种基于嵌入式 Linux平台的基于人脸检测的ATM安全系统。作者基于嵌入式树莓派开发板实现了他们的项目。该开发板包含一张SD卡用于存储数据。整个项目包括SD卡、Pi摄像头、液晶显示屏、扬声器、GSM模块和矩阵键盘。最后,还使用了一个步进电机来控制ATM室门的开关。要打开门,需要通过手机发送的一次性密码(OTP),这是通过 GSM模块实现的。如果摄像头未检测到人脸,则会显示 “未检测到人脸”的消息。最终,作者通过识别人脸的方式为系统提供了最高级别的安全性。

贾廷·夏尔马等人[4]指出了一些关于使用树莓派控制轮椅的重要研究。该技术可通过检测虹膜运动实现。他们提出了用于检测运动的阈值算法。作者记录了多种方法这类系统。每种方法基于图像的不同部分和不同技术进行操作。他们使用不同的参数分析了各种技术。每种方法都有其独特性以及一些微小的缺陷。

李翠梅等人[6]提出了一种用于检测人脸的独特算法。该算法结合了Haar级联分类器和另外三个分类器。为了检测面部图像的各个部分,创建了不同的实现层级。从每一层中,将面部图像的每个部分从完整面部图像中分离出来。为实现面部图像部分的分离,使用直方图匹配来识别人脸肤色。最后,他们通过所提出的系统在人脸检测方面达到了98.01%的成功率。

Mohamed Heshmat 等人[7]提出了一种在视频流中识别人脸的方法。该方法包含三个模块:皮肤检测步骤、人脸检测步骤和人脸识别验证步骤。在第一个模块中,他们以视频中的图像作为输入。可以根据人类视觉系统考虑图像的颜色。此处,他们采用了三维颜色空间。他们使用了两种类型的图像:16位图像和32位图像。16位图像未被系统集成。只有32位图像与系统匹配。在此模块中,他们实现了从图像中检测皮肤。接下来,他们使用基于轮廓和肤色的人脸检测模块。他们提出了用于人脸检测的算法。检测人脸轮廓的过程包括多个步骤。他们使用了多种滤波器,如低通滤波器、形态学滤波器。通过应用有限阈值,去除了过长和过短的轮廓。他们通过在人脸周围绘制矩形来标记人脸。此过程可一直重复直到视频的最后一帧。最后一步是人脸识别验证方法。为了验证视频中的人脸,需要一个数据库。这可以通过 RGB图像的三个分量实现,即红色(R)、绿色(G)和蓝色(B)。针对人脸验证所提出的算法,他们运用了多种数学公式,如方差、欧氏距离和最小距离。最终,他们展示了最匹配的图像。

萨拉瓦南·阿拉加尔萨米等人[9]利用蝙蝠算法来提取输入图像和输出图像中存在的相似性特征。根据这些特征,通过相似像素将具有相似特征的不同图像的人脸在数据库中进行匹配。

Shubham Mathur 等人 [12] 使用树莓派实现了人体检测。为了识别人员,作者基于方向梯度直方图(HOG)构建了系统。该系统使用了一个传感器,用于检测人员的进入和离开,并通过一个计数器对在场人数进行记录和更新。在项目开发完成后,作者对超过 100 名人员进行了测试。最终,采用 HOG 算法提高了系统的效率。

特维莎·帕特尔等人[17]指出了用于识别人脸图像的各种特征提取技术。他们还提到了自动人脸标注的步骤,包括面部图像、面部特征提取、分类、相似性度量、具有最小距离的检索图像以及最终的面部标注。本文中,作者还介绍了多种特征提取技术,涵盖SURF、SIFT、卷积神经网络、伽博尔小波变换、特征脸和局部二值模式。在这些技术中,可以从图像中分离出各种特征。

III. 系统架构

在本系统中,完整的系统架构应用于Windows 7。树莓派与摄像头连接。该连接系统将与OpenCV和数据库一起使用。本研究中,系统使用了实时摄像头进行实时操作。我们采用了实时技术。控制流图如下所示。

示意图0

IV. 实验设置与结果

A. 人脸识别

在当今现代社会,我们使用了许多技术。其中,安全目的 [10] 占据了重要角色。我们有多种安全方式,如生物识别系统、指纹传感器、眼视网膜和虹膜扫描技术。如今,安全性变得非常稀少,因为黑客能够轻易获取信息,导致他人盗取并滥用这些个人信息 [11]。最近,生物识别系统已应用于银行、购物中心以及某些信息存储在特定柜子等场所。因此,我们需要保护个人信息 [12]。目前,面部识别是工业、家庭和银行等领域中的主要技术之一,相比其他生物识别方式更加简便。该系统采用树莓派实现。

输入图像 Pre-处理 特征提取 分类
输入图像 Pre-处理 特征提取 分类
数据库 特征提取
数据库 特征提取

示意图1

B. 数据库

在数据库中,我们可以存储任何格式的信息,这些信息可以被第三方用户访问。这些操作都通过服务器 [16] 完成。我们可以从人脸数据库创建独立的存储空间。它可以通过服务器访问数据。每个用户都可以拥有一个独立的存储设备。这是一个离线存储服务器。与将数据存储在计算机硬盘或其他本地存储设备不同,借助互联网连接,需要使用数据库 [17]。例如,如果你将数据存储在云存储系统中,就可以通过互联网访问特定驱动器或硬盘中的数据。你无需随身携带任何物理存储设备来传输信息。通过合适的存储系统,你可以允许其他人访问数据,使数据成为协作的成果。

C. 云与数据库

CLOUD 是“用户数据控制丢失”(Control Lost Over User Data)的缩写。假设一个摄像头位于固定房间 [5] 中。当摄像头启动框架后,每一个文件都可以存储在云数据库 [8] 中。这些个人数据存储在一种账户中。当我们需要这些数据时,可以访问云服务器,之后下载并参考这些数据 [9]。

示意图2

云存储具有多种功能。图像被上传至云存储后,我们再检索并下载这些图像 [13]。谁进入了该房间?我们可以通过以下方式查看:摄像头会捕捉包含日期和时间的图像。数据无需存储在特定硬盘中,而是可以由所有者访问 [14]。互联网实现连接与数据库之间的通信。

D. 移动应用

在这种情况下,我们首先有一个用于访问认证密钥 [15] 的安全 PIN码。这意味着当有人进入实验室时,摄像头会捕获图像,并将图像发送到云数据库。之后,我们已经通过云物联网平台应用为 IBM Watson 创建了一个 API。当图像传送到我们的手机时,会收到一条小的提醒消息。
在此应用中非常简单。它们有一个小的界面,像两个选项,一个是允许,另一个是不允许。捕获的图像应为420*1200尺寸。

示意图3

E. OpenCV

OpenCV(开源计算机视觉)是一个几乎可以在所有编程语言(如Python、C、Java等)中导入的库。它包含经过优化的图像处理工具,可以作为numpy包导入并引入 cv2文件。在图像处理中,它以numpy包的形式进行处理。安装OpenCV的命令行为pip install opencv。在安装 Anaconda Spyder包中的OpenCV后,图像的视觉控制将每一时刻的数据存储到云数据库中。

F. 树莓派

树莓派是一款小型单板计算机。它们被用作树莓派 3型号。它具有40个通用输入输出引脚。该产品于2016年发布。嵌入式系统使用它来控制数据。树莓派3+采用博通BCM2837B0系统级芯片,配备1.4 GHz 64位四核 ARM Cortex‐A53处理器,带有512 KB共享L2缓存。

示意图4

G. 树莓派相机

树莓派摄像头连接了Pi相机。该摄像头于2012年2月12日发布,具有800万像素,总重量为3克,支持1080p、720p、480p等格式。通过该摄像头可以观察每一个视频帧。

示意图5

H. NodeMcu

它是一款开源Esp86670芯片,于2013年12月13日发布,对项目非常有用。在本研究中,主要使用的是Node Mcu,数据通过云数据库进行传输。它具有16个通用输入输出引脚。在2015年,他们放弃了该项目,转而使用Arduino Uno和树莓派。他们的代码像C/C++/Python一样安装在Git Hub上。他们拥有固件项目和独立贡献者团队。

示意图6

示意图7

我们将启动摄像头。人员可以站在办公室或家庭门前。摄像头会拍摄照片并发送至API。主人可以自行决定是否允许该人员进入或离开。

示意图8

表I. EXPERIMENTAL TESTING RESULTS

图像s 传输10‐20 米 传输20‐30 米 传输30‐40 米 传输40‐50 米
Img 1 Yes Yes Yes yes
Img 2 Yes Yes Yes No
图像 3 Yes Yes No No
图像 4 Yes No No No
图像 5 Slow No No No

这些表格标识了图像从摄像头传输到手机API所需的时间。如果图像传输时间很短,意味着图像清晰。

V. 结论

在这项研究工作中,我们创建了一种用于家庭安全的面部生物识别系统。所提出的技术的优点在于,该设备可以从任何地方访问,以控制我们的家庭或办公室。因此,它非常可靠、兼容性快且安全。未来,该系统可通过学习模块和自动化在我国任何家庭或办公室中初始化。未来我们将引入人脸识别系统,这将使其速度更快,并能有效区分远距离图像。这项研究工作将对办公室、学校、银行等场所有所帮助。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐