使用Python进行人脸识别(第1部分)-600学习网
600学习网终身会员188,所有资源无秘无压缩-购买会员
在本文中,我将详细解释如何使用机器学习(ML)算法来制作人脸识别锁系统。
该项目的目的:该项目旨在使用人脸识别技术进入受限的私人房间或私人保险箱,仅限于那些被允许进入的人。
如果要开门的人已在系统中注册,并且系统识别出该人,则门将被打开;如果想开门的人没有被识别出来,系统将不会开门,电子邮件将自动发送,其中包含”陌生人想开门”字样和门卫的照片。
注:本项目使用覆盆子派3 B+型板.电磁锁.5V继电器板.U你好摄像头和12V电池。
使用5V继电器板和12V电池将电磁门锁连接到树莓派。因为复盆子派GPIO引脚可以输出3.3V,但电磁锁需要7-12V才能工作。因此,我们需要使用外部电源和继电器来操作。
系统总体结构:
U你好摄像头连接到覆盆子馅饼板。
覆盆子馅饼与电源相连。
在我们自己的计算机上进行必要的安装后,复盆子馅饼与VNC Viewer连接。
人脸识别系统操作所需的Python代码是在Raspbian操作系统上编写的。
1.人脸检测和数据采集过程在软件中完成。
2.训练我们的模型。训练后,模型将能够检测人脸。
3.模型训练后,编写人脸识别代码,识别之前学习的人脸,并打印人脸名称。
4.编写代码,让模型在发现陌生人时发送电子邮件。
5.模型为它认识的人解锁,但不为陌生人解锁,并通过从相机拍摄此人的图像发送电子邮件。
系统工作原理
继电器模块有六个引脚,一侧三个,另一侧三个。底部有三个引脚,信号.5V和接地。我们把这些引脚连接到树莓派上。另一侧是5V继电器的NC.COM和NO输出引脚。在那里,我们将在12V电磁锁中连接输出设备。
VCC连接到覆盆子馅饼上的5V引脚。
GND连接到覆盆子馅饼上的接地引脚。
IN引脚连接到覆盆子派GPIO26引脚。
继电器.电池和电磁锁连接
现在我们将跳过这一部分,因为我将在下一篇文章中解释树莓派操作系统的安装过程:)
我们将使用Python的openCV和numpy库。
1.打开CV
OpenCV(开源计算机视觉)是一个开源图像处理库。
OpenCV库中有2500多种图像处理和机器学习算法。
Numpy库可以轻松执行矩阵运算,通常是继OpenCV库之后的第二个最佳选择。
2.无聊
NumPy是Python中科学计算的基本包。它是一个Python库,提供多维数组对象.各种派生对象(如矩阵)和一组例程,包括数学.逻辑.形状操作.排序和I/O,用于对数组进行快速操作。
3.HAAR级联分类器
Haar Cascade是一种目标检测算法。
在最基本的意义上,首先,你想根据某种算法找到的对象被引入计算机,然后对模型进行训练。然后,它被用于检测其他图像中的对象。
OpenCV提供预先训练的Haar Cascade算法,这些算法根据训练的图像被组织成类别(面部.眼睛等)。
4.TP(简单邮件传输协议)
它是用于在服务器之间发送和接收电子邮件的TCP/IP协议。
服务器是专门设计用于响应互联网环境中的请求计算机的计算机。发送请求的计算机
GPIO引脚的GPIO编号和物理顺序
添加GPIO库;
将RPi.GPIO导入为GPIO
设置GPIO引脚阵列;
树莓派的GPIO引脚以两个不同的序列命名,即BCM序列和BOARD序列。
BCM阵列由分配给引脚的GPIO编号组成。这些不是序列号。
BOARD数组是引脚的物理编号。它由从1到40的连续数字组成。
编程GPIO引脚时,我们必须首先设置GPIO引脚阵列。
以下代码用于此目的:
GPIO.设置模式(GPIO.BCM)
或
GPIO.设置模式(GPIO.BOARD)
将引脚设置为输入或输出
GPIO.setup(pin_numarasi,GPIO.IN)##girišpiniGPIO.set(pin _ numaras,GPIO.OUT)#
使引脚逻辑-1或逻辑-0
GPIO.输出(引脚_ numarasi,真)
到目前为止,已经详细解释了安装和定义。
让我们在下一篇文章中学习最令人兴奋的部分,”人脸识别”代码!
600学习网 » 使用Python进行人脸识别(第1部分)-600学习网